@import "https://fonts.googleapis.com/css2?family=Outfit:wght@200;300;400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0f0;--surface:#f7f8f8;--glass:#ffffff9e;--line:#dcdfde;--ink:#26292d;--text:#26292d;--muted:#8b9094;--dim:#a9adb0;--sage:#7d9c8c;--sand:#ada38d;--red:#d0453b;--green:var(--sage);--amber:var(--sand);--radius:28px;--radius-sm:16px;--font:"Outfit", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}h1{margin:0;font-size:22px;font-weight:600}p{margin:0}a{color:inherit}main{flex-direction:column;height:100dvh;display:flex}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dem8-logo{width:88px;height:auto;display:block}.center{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.grow{flex:1;min-height:0}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:14px;width:min(100%,420px);padding:20px;display:grid}.muted{color:var(--muted)}.small{font-size:13px}.error,.notice{border-radius:8px;padding:10px 12px;font-size:14px}.error{color:var(--red);background:#d0453b14}.notice{color:#7a6f55;background:#ada38d29}button,.button{border:1px solid var(--line);min-height:44px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}button:disabled{opacity:.4;cursor:default}.primary{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:500}.icon{width:44px;padding:0}.icon[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.hero{border-radius:16px;min-height:64px;padding:0 32px;font-size:18px}label{color:var(--muted);gap:6px;font-size:13px;display:grid}input,select{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;color:var(--text);font:inherit;background:#fff;padding:0 12px}.spinner{border:2px solid var(--line);border-top-color:var(--ink);vertical-align:-2px;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.page{flex-direction:column;gap:12px;width:min(100%,960px);margin:0 auto;padding:16px;display:flex}.scanner{flex:1;min-height:0}.scanner-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.page.narrow{width:min(100%,600px)}.saved{flex:1;justify-content:center;gap:20px}.stats{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.stat{background:#f3f4f4;border-radius:20px;gap:4px;padding:16px;display:grid}.stat b{letter-spacing:-.03em;font-size:40px;font-weight:300;line-height:1}.stat-note{color:var(--muted);font-size:12px}.stat.strong{background:var(--ink);color:#fff}.stat.strong .caps,.stat.strong .stat-note{color:#fff9}button.capture-cta{font:inherit;border:0;font-weight:500}button.capture-link{border:0;min-height:0}.capture-title{letter-spacing:-.045em;margin-top:6px;font-size:clamp(40px,11vw,60px);font-weight:300;line-height:.95}.capture-title .dim{font-weight:200}.capture{flex:1;grid-template-rows:1fr auto auto;gap:14px;min-height:0;display:grid}.viewfinder{border-radius:var(--radius);background:linear-gradient(var(--ink), var(--ink)) top 18px left 18px / 26px 1.5px, linear-gradient(var(--ink), var(--ink)) top 18px left 18px / 1.5px 26px, linear-gradient(var(--ink), var(--ink)) top 18px right 18px / 26px 1.5px, linear-gradient(var(--ink), var(--ink)) top 18px right 18px / 1.5px 26px, linear-gradient(var(--ink), var(--ink)) bottom 18px left 18px / 26px 1.5px, linear-gradient(var(--ink), var(--ink)) bottom 18px left 18px / 1.5px 26px, linear-gradient(var(--ink), var(--ink)) bottom 18px right 18px / 26px 1.5px, linear-gradient(var(--ink), var(--ink)) bottom 18px right 18px / 1.5px 26px, #f3f4f4;background-repeat:no-repeat;place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.viewfinder-art{height:78%;max-height:360px}.pair{justify-content:center;align-items:flex-start;gap:clamp(20px,7vw,40px);display:flex}.pair figure{opacity:.7;justify-items:center;gap:12px;margin:0;transition:opacity .2s;display:grid}.pair figure.current{opacity:1}.pair-sheet{filter:drop-shadow(0 16px 24px #26292d2e);height:min(30vh,250px,72vw - 79.2px);min-height:140px;display:block}.pair figure:not(.current) .pair-sheet{filter:none}.pair figcaption{justify-items:center;gap:2px;display:grid}.pair-state{font-size:14px;font-weight:500}.pair figure:not(.current) .pair-state{color:var(--muted);font-weight:400}.viewfinder-status{color:var(--muted);-webkit-backdrop-filter:blur(10px);background:#fffc;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex;position:absolute;bottom:28px}.tips{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.tips li{background:#f3f4f4;border-radius:16px;gap:2px;padding:12px 14px;display:grid}.tips b{font-size:14px;font-weight:500}.tips span{color:var(--muted);font-size:12px}.capture-actions{justify-items:center;gap:10px;display:grid}.capture-cta{background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:100%;height:64px;font-size:16px;font-weight:500;display:flex;position:relative}.capture-knob{width:52px;height:52px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;left:6px}.capture-link{color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:inline-flex}.capture-cta.disabled,.capture-link.disabled{opacity:.4;pointer-events:none}.live{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:8px;display:grid}.live-row{background:#f3f4f4;border-radius:18px;grid-template-columns:repeat(3,1fr);padding:0 4px;display:grid}.live-row .live-stat+.live-stat{border-left:1px solid var(--line)}.live-stat{align-content:center;gap:2px;min-width:0;padding:10px 12px;display:grid}.live-stat .caps{font-size:10px}.live-stat p{white-space:nowrap;align-items:baseline;gap:3px;display:flex}.live-stat b{letter-spacing:-.02em;font-size:22px;font-weight:300;line-height:1.1}.live-stat p span,.live-note{color:var(--muted);font-size:11px}.live-stat.strong{background:var(--ink);color:#fff;border-radius:18px}.live-stat.strong b{font-size:30px}.live-stat.strong .caps,.live-stat.strong p span,.live-stat.strong .live-note{color:#fff9}.live-stat.warn b{color:var(--sand)}@media (max-width:480px){.live{grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:6px}.live-stat{padding:8px 9px}.live-stat b{font-size:19px}.live-stat.strong b{font-size:24px}.live-stat .caps{letter-spacing:.1em;font-size:9px}}.shot.dimmed{opacity:.35;pointer-events:none}.group-hull{fill:none;stroke:#ffffffb3;stroke-linejoin:round}.loss{fill:var(--sand);stroke:#26292db3;paint-order:stroke;font-weight:500}.stage{border-radius:var(--radius);background:#f3f4f4;flex-direction:column;flex:1;min-height:300px;display:flex;position:relative;overflow:hidden}.stage svg{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;width:100%;min-height:0}.shot>circle:not(.shot-ripple){transform-box:fill-box;transform-origin:50%;animation:shot-land .55s cubic-bezier(.2, .9, .3, 1.35) var(--d,0s) both}.shot .loss{animation:fade-in .4s ease calc(var(--d,0s) + .3s) both}.shot-ripple{fill:none;stroke:#fff;transform-box:fill-box;transform-origin:50%;animation:shot-ripple .9s ease-out var(--d,0s) both}@keyframes shot-land{0%{opacity:0;transform:scale(2.4)}}@keyframes shot-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.group-hull{animation:fade-in .8s ease var(--d,0s) both}.loupe{animation:.28s cubic-bezier(.2,.9,.3,1.3) both loupe-in}@keyframes loupe-in{0%{opacity:0;transform:scale(.6)}}.scan-beam{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scan-beam:before{content:"";filter:drop-shadow(0 2px 6px #ffffffb3);background:linear-gradient(#0000,#ffffff0f 60%,#ffffff4d 97%,#fff 99%,#0000);height:22%;animation:1.6s cubic-bezier(.45,0,.55,1) infinite scan-sweep;position:absolute;left:0;right:0}@keyframes scan-sweep{0%{transform:translateY(-100%)}to{transform:translateY(460%)}}@media (prefers-reduced-motion:reduce){.shot>circle,.shot .loss,.group-hull,.loupe,.scan-beam:before{animation:none}.shot-ripple{display:none}}.stage .handle{cursor:grab}.stage-zoom{gap:6px;display:grid;position:absolute;top:10px;right:10px}.stage-zoom .icon,.review-actions .icon{-webkit-backdrop-filter:blur(10px);background:#ffffffd1;border:0;width:40px;min-height:40px;box-shadow:0 4px 12px #26292d1f}.stage-zoom .icon[aria-pressed=true]{background:var(--ink);color:#fff}.mode-pill{background:#ffffffd1;border-radius:999px;align-self:center;gap:4px;padding:5px;display:flex;box-shadow:0 10px 30px -10px #26292d59}.mode-pill button{min-height:40px;color:var(--muted);border:0;padding:0 14px;font-size:14px}.mode-pill button[aria-pressed=true]{background:var(--ink);color:#fff}.detector-note{text-align:center}.review-actions{align-items:center;gap:8px;display:flex}.review-actions .icon{box-shadow:none;background:#f3f4f4}.save-cta{background:var(--ink);color:#fff;border:0;flex:1;min-height:56px;font-size:16px;font-weight:500}.controls{gap:12px;display:grid}.fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.caps{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.dim{color:var(--dim)}.title{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:500}.glass{border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(1.2);border:1px solid #ffffffb3;box-shadow:0 24px 60px -30px #26292d40}.signin{background:radial-gradient(120% 70% at 50% 0%, #fbfcfc 0%, var(--bg) 60%);align-content:start;gap:16px;height:auto;min-height:100dvh;padding:16px;display:grid;overflow-x:hidden}.signin-hero{grid-template-rows:auto 1fr;min-height:min(44dvh,400px);padding:8px 4px 12px;display:grid;position:relative}.signin-top,.slogan{z-index:1;position:relative}.signin-top .dem8-logo{width:120px}.slogan{letter-spacing:-.045em;align-self:end;margin:0;font-size:clamp(46px,13.5vw,64px);font-weight:300;line-height:.94;display:grid}.slogan .dim{padding-left:.9em;font-weight:200}.word{vertical-align:top;margin-bottom:-.14em;padding-bottom:.14em;display:inline-block;overflow:hidden}.word+.word{margin-left:.24em}.word>span{animation:1.1s cubic-bezier(.16,1,.3,1) both word-rise;animation-delay:calc(.15s + var(--i) * .12s);display:inline-block}@keyframes word-rise{0%{transform:translateY(110%)rotate(4deg)}}.signin-top{animation:1s both fade-in}.signin-form{animation:1s cubic-bezier(.16,1,.3,1) .45s both form-rise}@keyframes fade-in{0%{opacity:0}}@keyframes form-rise{0%{opacity:0;transform:translateY(28px)}}.signin:not(.ready) .slogan .word>span,.signin:not(.ready) .signin-top,.signin:not(.ready) .signin-form,.signin:not(.ready) .sonar{animation-play-state:paused}.signin.intro .signin-top .dem8-logo{visibility:hidden}.splash{z-index:90;background:#fff;place-items:center;transition:background-color 1.1s cubic-bezier(.65,0,.35,1);display:grid;position:fixed;inset:0}.splash.flying{pointer-events:none;background-color:#0000}.splash-logo{transform-origin:0 0;width:min(78vw,560px);transition:transform 1.1s cubic-bezier(.65,0,.35,1);animation:1.9s cubic-bezier(.22,1,.36,1) .2s both logo-focus}@keyframes logo-focus{0%{opacity:0;filter:blur(14px)}}.glyph{animation:2.2s cubic-bezier(.22,1,.36,1) .2s both glyph-in}@keyframes glyph-in{0%{transform:translateX(var(--dx))}}.splash-shot{fill:var(--sand);transform-box:fill-box;transform-origin:50%;animation:.9s cubic-bezier(.22,1,.36,1) 2.1s both shot-soft}@keyframes shot-soft{0%{opacity:0;transform:scale(1.6)}}.splash-ripple{fill:none;stroke:var(--sand);stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:1.8s cubic-bezier(.22,1,.36,1) 2.1s both splash-ripple}@keyframes splash-ripple{0%{opacity:0}1%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(10)}}.iris{z-index:100;background:var(--bg);clip-path:circle(0 at var(--x) var(--y));animation:.65s cubic-bezier(.7,0,.2,1) forwards iris;position:fixed;inset:0}@keyframes iris{to{clip-path:circle(150vmax at var(--x) var(--y))}}.sonar{aspect-ratio:1;width:max(118vw,440px);transform:translate(-50%, -50%) translate(calc(var(--px,0) * -28px), calc(var(--py,0) * -28px));pointer-events:none;transition:transform .8s cubic-bezier(.16,1,.3,1);animation:1.6s both fade-in;position:absolute;top:44%;left:74%}.sonar-ping{fill:none;stroke:var(--ink);stroke-width:.6px;transform-box:fill-box;transform-origin:50%;animation:4.8s cubic-bezier(.2,.6,.3,1) 1s infinite both ping}@keyframes ping{0%{stroke-opacity:.5;transform:scale(.06)}to{stroke-opacity:0;transform:scale(1)}}.sonar svg{width:100%;height:100%;overflow:visible}.sonar-rings{opacity:.55}.group{transition:opacity .6s}.group.clearing{opacity:0}.impact{fill:var(--sand);animation:.45s cubic-bezier(.2,.9,.3,1.3) both impact}.impact-ripple{fill:none;stroke:var(--sand);animation:1.4s ease-out both ripple}@keyframes impact{0%{opacity:0;transform:scale(2.2)}}@keyframes ripple{0%{stroke-opacity:.6;transform:scale(1)}to{stroke-opacity:0;transform:scale(9)}}@media (prefers-reduced-motion:reduce){.impact,.impact-ripple,.slogan .word>span,.signin-top,.signin-form,.sonar,.swipe-label{animation:none}.sonar-ping,.impact-ripple{display:none}}.signin-form{gap:14px;padding:22px;display:grid}.pill-switch{background:#26292d0f;border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.pill-switch button{min-height:40px;color:var(--muted);border:0;font-size:14px}.pill-switch button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 2px 8px #26292d14}.field span{color:var(--muted);padding-left:4px;font-size:12px}.field input{min-height:52px;box-shadow:inset 0 0 0 1px var(--line);border-color:#0000;padding:0 18px;font-size:16px}.field input:focus{box-shadow:inset 0 0 0 1.5px var(--ink);outline:none}.field input::placeholder{color:var(--dim)}.swipe{background:var(--ink);color:#fff;-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:default;border:0;border-radius:999px;justify-content:center;align-items:center;height:64px;margin-top:4px;padding:0 64px;font-size:16px;font-weight:500;display:flex;position:relative;overflow:hidden}.swipe:disabled{opacity:1}.swipe:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.swipe-fill{pointer-events:none;background:linear-gradient(90deg,#ffffff08,#ffffff29);border-radius:999px;transition:width .35s cubic-bezier(.2,.9,.3,1.2);position:absolute;top:0;bottom:0;left:0}.swipe.dragging .swipe-fill{transition:none}.swipe-label{pointer-events:none;background:linear-gradient(100deg,#ffffff8c 40%,#fff 50%,#ffffff8c 60%) 0 0/250% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:2.8s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}.swipe-chevrons{color:#ffffff59;letter-spacing:2px;pointer-events:none;animation:1.8s ease-in-out infinite chevrons;position:absolute;right:22px}@keyframes chevrons{50%{color:#ffffffb3}}.swipe-knob{width:52px;height:52px;color:var(--ink);cursor:grab;touch-action:none;background:#fff;border-radius:50%;place-items:center;transition:transform .35s cubic-bezier(.2,.9,.3,1.2);display:grid;position:absolute;top:6px;left:6px;box-shadow:0 4px 14px #00000040}.swipe.dragging .swipe-knob{cursor:grabbing;transition:scale .25s cubic-bezier(.2,.9,.3,1.4)}.swipe.armed .swipe-knob{scale:1.08;box-shadow:0 0 0 7px #ffffff24,0 4px 14px #00000040}.swipe.busy .swipe-chevrons{display:none}.spinner.light{border-color:#26292d33;border-top-color:var(--ink)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.signin-note{text-align:center}@media (min-width:900px){.signin{grid-template-columns:1.25fr 1fr;align-content:stretch;align-items:stretch;height:100dvh;overflow:hidden}.signin-hero{border-radius:var(--radius);background:#e4e7e7;min-height:0;padding:40px 44px 48px;overflow:hidden}.signin-top .dem8-logo{width:150px}.slogan{font-size:clamp(72px,7.4vw,124px)}.sonar{width:max(110%,820px);top:38%;left:76%}.signin-form{place-self:center;width:min(100%,420px);padding:32px}}.home header{border-bottom:0;padding:16px 20px 0}.home header .dem8-logo{width:136px}@media (min-width:900px){.home header .dem8-logo{width:168px}}.dashboard{align-content:start;gap:20px;width:min(100%,1120px);margin:0 auto;padding:20px 16px 24px;display:grid}.dashboard-head{gap:6px;padding:0 4px;display:grid}.headline{letter-spacing:-.045em;font-size:clamp(40px,11vw,72px);font-weight:300;line-height:.95}.headline .dim{font-weight:200}.disciplines{gap:12px;display:grid}.discipline{border-radius:var(--radius);text-align:left;isolation:isolate;grid-template-rows:auto 1fr auto;grid-template-columns:1fr;place-content:stretch;place-items:start;gap:12px;min-height:260px;padding:24px;display:grid;position:relative;overflow:hidden}.discipline>:not(.discipline-art){z-index:1;position:relative}.home{background:#fff}.discipline.dark{background:var(--ink);color:#fff;cursor:pointer;border:0;transition:scale .2s}.discipline.dark:active{scale:.985}.discipline.light{background:#eef0f0;border:0}.discipline-art{z-index:0;filter:blur(.6px);pointer-events:none;height:150%;position:absolute;top:50%;right:-22%;transform:translateY(-50%)}.discipline-title{letter-spacing:-.04em;align-self:end;margin:0;font-size:44px;font-weight:300;line-height:.95}.discipline-title .dim{font-weight:200}.discipline-foot{justify-content:space-between;align-items:center;width:100%;display:flex}.knob{width:52px;height:52px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid}.distances{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.distances button{min-height:60px;color:var(--ink);letter-spacing:-.02em;background:#fff;border:0;font-size:24px;font-weight:400;transition:background .15s,color .15s;box-shadow:0 10px 24px -16px #26292d59}.distances button small{color:var(--muted);margin-left:2px;font-size:13px}.distances button:hover,.distances button:active{background:var(--ink);color:#fff}.distances button:hover small,.distances button:active small{color:#fff9}.discipline.dark .dim{color:#ffffff73}.discipline.dark .caps{color:#ffffff8c}@media (min-width:900px){.dashboard{padding-top:40px}.disciplines{grid-template-columns:1fr 1fr;gap:16px}.discipline{min-height:440px;padding:36px}.discipline-title{font-size:72px}}.reveal{animation:.9s cubic-bezier(.22,1,.36,1) both reveal;animation-delay:calc(.1s + var(--i,0) * 90ms)}@keyframes reveal{0%{opacity:0;translate:0 26px}}.distances button{animation:.8s cubic-bezier(.22,1,.36,1) both reveal}.distances button:first-child{animation-delay:.5s}.distances button:nth-child(2){animation-delay:.57s}.distances button:nth-child(3){animation-delay:.64s}.discipline:after{content:"";z-index:0;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #ffffff29, transparent 45%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.discipline.light:after{background:radial-gradient(circle at var(--mx,50%) var(--my,50%), #ffffffbf, transparent 50%)}@media (hover:hover){.discipline{transform:perspective(1100px) rotateX(calc(var(--ty,0) * -5deg)) rotateY(calc(var(--tx,0) * 7deg));transition:transform .7s cubic-bezier(.22,1,.36,1),scale .2s}.discipline:hover:after{opacity:1}.discipline-art{translate:calc(var(--tx,0) * -18px) calc(var(--ty,0) * -14px);transition:translate .7s cubic-bezier(.22,1,.36,1)}.discipline.dark:hover .knob svg{animation:1.2s ease-in-out infinite nudge}}@keyframes nudge{50%{translate:4px}}.ticker{margin:-6px -16px 0;animation:1.2s .4s both fade-in;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ticker-track{width:max-content;animation:48s linear infinite ticker;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:14px;padding-right:14px;font-size:12px;display:inline-flex}.ticker span:after{content:"";background:var(--sand);border-radius:50%;width:6px;height:6px}@keyframes ticker{to{translate:-50%}}.home header{view-transition-name:app-header}::view-transition-old(root){animation:.2s both fade-out}::view-transition-new(root){animation:.55s cubic-bezier(.22,1,.36,1) both view-in}::view-transition-old(tab-pill){display:none}::view-transition-new(tab-pill){animation:none}@keyframes fade-out{to{opacity:0}}@keyframes view-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.reveal,.distances button,.word>span,.ticker,.ticker-track{animation:none}.discipline,.discipline-art,.tab-indicator{transition:none}}.trend-line{stroke-dasharray:1;animation:1.6s cubic-bezier(.65,0,.35,1) .4s both draw-line}@keyframes draw-line{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.trend-dot{transform-box:fill-box;transform-origin:50%;animation:dot-pop .5s cubic-bezier(.2, .9, .3, 1.5) var(--d) both}@keyframes dot-pop{0%{opacity:0;transform:scale(0)}}.zones-bar span,.series-bar span{transform-origin:0;animation:1.1s cubic-bezier(.22,1,.36,1) .35s both grow}@keyframes grow{0%{transform:scaleX(0)}}@supports (animation-timeline:view()){.scroll-in{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 70%}}@media (prefers-reduced-motion:reduce){.trend-line,.trend-dot,.zones-bar span,.series-bar span,.scroll-in{animation:none}}.caliber-pill.match-pill{background:var(--ink);color:#fff}.match-tag{color:var(--sand);font-weight:600}.kind-field{color:var(--muted);gap:6px;font-size:13px;display:grid}.duplicate{background:#fbf6ea;border-radius:20px;gap:12px;padding:16px 18px;font-size:15px;line-height:1.45;animation:.5s cubic-bezier(.22,1,.36,1) both reveal;display:grid;box-shadow:inset 0 0 0 1px #ada38d73}.duplicate p{margin:0}.duplicate-actions{flex-wrap:wrap;gap:8px;display:flex}.duplicate-actions button{min-height:40px;padding:0 18px}.coach-bar{width:100%;min-height:0;color:var(--ink);text-align:left;background:#f3f4f4;border:0;border-radius:22px;align-items:center;gap:14px;padding:12px 16px 12px 12px;transition:background-color .2s,scale .2s;display:flex}.coach-bar:hover{background:#eceeee}.coach-bar:active{scale:.99}.coach-bar>svg:last-child{color:var(--muted);flex-shrink:0}.coach-bar-text{flex:1;gap:2px;min-width:0;display:grid}.coach-bar-text b{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:400;overflow:hidden}.coach-bar-sub{color:var(--muted);font-size:13px}.goal-ring{flex-shrink:0;width:44px;height:44px}.goal-track,.goal-fill{fill:none;stroke-width:3.5px}.goal-track{stroke:#e0e3e3}.goal-fill{stroke:var(--ink);stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset 1.2s cubic-bezier(.22,1,.36,1);animation:1.4s cubic-bezier(.22,1,.36,1) .3s both ring-in}@keyframes ring-in{0%{stroke-dashoffset:1px}}.coach-dot{fill:var(--sand);transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite coach-pulse}@keyframes coach-pulse{50%{opacity:.55;transform:scale(1.5)}}.sheet-layer{z-index:60;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);background:#26292d4d;border:0;border-radius:0;width:100%;min-height:0;padding:0;animation:.3s both fade-in;position:absolute;inset:0}.sheet{width:min(100%,560px);max-height:88dvh;padding:10px 22px calc(26px + env(safe-area-inset-bottom));color:var(--ink);background:#fff;border:0;border-radius:30px 30px 0 0;gap:18px;margin:0 auto;animation:.5s cubic-bezier(.22,1,.36,1) both sheet-up;display:grid;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 60px -20px #26292d59}@keyframes sheet-up{0%{translate:0 100%}}@media (min-width:700px){.sheet{border-radius:30px;bottom:24px}}.sheet-handle{background:#dfe2e2;border-radius:2px;justify-self:center;width:38px;height:4px}.sheet-head{align-items:center;gap:10px;display:flex}.sheet-head>.caps{flex:1}.coach-switch{gap:4px;display:flex}.coach-switch button{min-height:30px;color:var(--muted);background:#f3f4f4;border:0;padding:0 12px;font-size:12px}.coach-switch button[aria-selected=true]{background:var(--ink);color:#fff}.source-toggle{background:#f3f4f4;border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.source-toggle button{min-height:38px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:14px;display:inline-flex}.source-toggle button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 2px 8px #26292d1a}.coach-body{gap:14px;animation:.6s cubic-bezier(.22,1,.36,1) both reveal;display:grid}.coach-title{color:var(--sand);margin:0}.coach-text{letter-spacing:-.02em;margin:0;font-size:clamp(21px,5.6vw,26px);font-weight:300;line-height:1.25}.coach-drill{background:#f3f4f4;border-radius:18px;gap:12px;padding:14px 16px;font-size:15px;line-height:1.45;display:flex}.coach-drill>span{gap:4px;display:grid}.coach-drill svg{color:var(--sand);flex-shrink:0;margin-top:2px}.coach-source{margin:0}.coach-safety{background:#fbf6ea;border-radius:18px;gap:12px;margin:0;padding:12px 16px;font-size:14px;line-height:1.45;display:flex;box-shadow:inset 0 0 0 1px #ada38d73}.coach-safety svg{color:var(--sand);flex-shrink:0;margin-top:1px}.coach-body .goal-set{justify-self:start}.coach-thinking{flex-wrap:wrap;align-items:center;gap:6px;min-height:120px;display:flex}.coach-thinking>span{background:var(--sand);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite coach-pulse}.coach-thinking>span:nth-child(2){animation-delay:.15s}.coach-thinking>span:nth-child(3){animation-delay:.3s}.coach-thinking p{flex-basis:100%;margin:4px 0 0}.coach-hand{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.coach-hand button,.goal-set{background:var(--ink);color:#fff;border:0;min-height:38px;padding:0 16px;font-size:13px}.coach-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.goal{align-items:center;gap:12px;display:flex}.goal-text{gap:3px;display:grid}.goal-text b{font-size:17px;font-weight:400}.coach-hand-toggle{background:0 0;border:0;min-height:0;padding:4px 2px}@media (prefers-reduced-motion:reduce){.coach-body,.sheet,.sheet-backdrop,.coach-dot,.coach-thinking>span,.goal-fill{animation:none}}.coach-focus{align-items:baseline;gap:8px;margin:10px 0 0;font-size:15px;display:flex}.coach-focus .caps,.coach-note .caps{color:var(--sand)}.coach-note{margin:6px 0 0;font-size:18px;font-weight:300;line-height:1.35;animation:.8s cubic-bezier(.22,1,.36,1) .6s both reveal}@media (prefers-reduced-motion:reduce){.coach-text,.coach-note,.goal-fill{animation:none}}.analysis{align-content:start;gap:16px;width:min(100%,980px);margin:0 auto;padding:20px 16px 110px;display:grid}.period{background:#f3f4f4;border-radius:999px;justify-self:start;gap:4px;padding:4px;display:flex}.period button{min-height:34px;color:var(--muted);background:0 0;border:0;padding:0 14px;font-size:13px}.period button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 2px 8px #26292d1a}.empty-analysis{padding:30px 0}.analysis-grid{gap:12px;display:grid}.analysis-col{align-content:start;gap:12px;min-width:0;display:grid}@media (min-width:760px){.analysis-grid{grid-template-columns:1fr 1fr;align-items:start}}.insight-card{border-radius:var(--radius);background:#f3f4f4;align-content:start;gap:12px;min-width:0;padding:20px;display:grid}.insight-card.wide{grid-column:1/-1}.card-note{margin:0;font-size:15px;line-height:1.45}.trend-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.trend-chart,.strip{width:100%;height:auto;overflow:visible}.goal-line line{stroke:var(--ink);stroke-opacity:.35;stroke-dasharray:4 6}.goal-line text,.strip text{fill:var(--muted);font-size:12px}.norm-line,.strip-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:1.6s cubic-bezier(.65,0,.35,1) .3s both draw-line}.norm-line{fill:none;stroke:var(--sand);stroke-width:2px;stroke-dasharray:5 5;animation:1s 1.2s both fade-in}.value-line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;animation:1.6s cubic-bezier(.65,0,.35,1) .3s both draw-line}.strip-line{stroke:var(--sand)}.trend-point{fill:#fff;stroke:var(--ink);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:dot-pop .5s cubic-bezier(.2, .9, .3, 1.5) var(--d) both}.norm-area{animation:1.2s .6s both fade-in}.bests{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;display:grid}.best{gap:4px;display:grid}.best p{margin:0}.best b{letter-spacing:-.03em;font-size:30px;font-weight:300}.best-when{color:var(--muted);font-size:13px}.map-toggle{justify-self:start}.shot-map{aspect-ratio:1;background:#fff;border-radius:18px;width:100%;height:auto}.zones circle,.zones rect,.zones line{fill:none;stroke:var(--ink);stroke-opacity:.14;stroke-width:1px}.zones .bull{fill:var(--ink);fill-opacity:.07;stroke:none}.heat circle{fill:var(--sand);fill-opacity:.42}.heat{animation:1.4s .3s both fade-in}.hits circle{fill:var(--ink);fill-opacity:.55}.cep{fill:none;stroke:var(--red);stroke-width:1.5px;stroke-dasharray:4 4}.mpi line{stroke:var(--red);stroke-width:2px}.rose{justify-self:center;width:min(100%,260px);height:auto;overflow:visible}.rose-ring{fill:none;stroke:var(--ink);stroke-opacity:.08}.petal{fill:var(--ink);fill-opacity:.14;transform-origin:0 0;animation:petal .8s cubic-bezier(.22, 1, .36, 1) var(--d) both}.petal.lead{fill:var(--sand);fill-opacity:1}@keyframes petal{0%{opacity:0;transform:scale(.25)}}.rose text{fill:var(--muted);font-size:11px}.strip-dot{fill:var(--ink);fill-opacity:.18}.strip-grid line{stroke:var(--ink);stroke-opacity:.07}.strip-grid text,.strip-axis{fill:var(--muted);font-size:11px}.strip-mean{fill:#fff;stroke:var(--sand);stroke-width:2.5px}.strip-value{fill:var(--ink);font-size:13px;font-weight:500}.strip-caption{text-align:center;margin:-6px 0 0}.distance-rows{gap:14px;display:grid}.distance-row{grid-template-columns:58px 1fr 76px;align-items:center;gap:10px;display:grid}.distance-track{background:#fff;border-radius:13px;height:26px;position:relative}.distance-track i{background:var(--ink);opacity:.28;border-radius:50%;width:8px;height:8px;margin:-4px;position:absolute;top:50%}.distance-track b{background:var(--sand);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:4px;bottom:4px}.distance-value{text-align:right;font-size:19px;font-weight:300}.distance-value small{color:var(--muted);font-size:11px}.volume{gap:6px;display:flex}.week{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1;align-items:stretch;min-width:0;height:140px;padding:0;display:flex}.week-count{height:18px;color:var(--muted);text-align:center;font-size:11px}.week .bar{height:calc(var(--h) * 96px + 3px);transform-origin:bottom;animation:grow-up .9s cubic-bezier(.22, 1, .36, 1) var(--d) both;background:#dcdfdf;border-radius:7px 7px 3px 3px;margin-top:auto}.week.now .bar{background:var(--sand)}.week:disabled{cursor:default;opacity:1}.week:not(:disabled):hover .bar{background:#c9cdcd}.week.now:not(:disabled):hover .bar{background:var(--sand)}.week.picked .bar,.week.picked:hover .bar{background:var(--ink)}.week.picked .week-count{color:var(--ink);font-weight:600}.period .picked{align-items:center;gap:8px;display:inline-flex}.trend-point.picked{fill:var(--sand);stroke:var(--ink);stroke-width:2px}.week.now .week-count{color:var(--ink);font-weight:500}.week-label{height:18px;color:var(--muted);white-space:nowrap;padding-top:6px;font-size:11px;overflow:visible}@keyframes grow-up{0%{transform:scaleY(0)}}@media (max-width:480px){.tab-pill button{gap:6px;padding:0 14px}}@media (prefers-reduced-motion:reduce){.norm-line,.strip-line,.trend-point,.norm-area,.heat,.petal,.week .bar,.value-line{animation:none}}.figure-xl{letter-spacing:-.04em;margin:0;font-size:44px;font-weight:300;line-height:1}.figure-xl .dim{letter-spacing:0;font-size:15px}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart-empty{place-items:center;margin:0;display:grid;position:absolute;inset:0}.trend-label{fill:var(--ink);font-size:13px;font-weight:500}.trend-axis{fill:var(--muted);font-size:11px}.goal-line text{font-size:11px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:12px;display:flex}.legend .key{flex-shrink:0;margin-left:6px;display:inline-block}.legend .key:first-child{margin-left:0}.key.line{background:var(--ink);width:16px;height:2px}.key.dash{border-top:2px dashed var(--sand);width:16px;height:0}.key.dot{border-top:2px dotted var(--ink);width:16px;height:0}.key.hit{background:var(--ink);border-radius:50%;width:6px;height:6px}.key.cross{background:linear-gradient(var(--red), var(--red)) center / 100% 2px no-repeat, linear-gradient(var(--red), var(--red)) center / 2px 100% no-repeat;width:10px;height:10px}.key.ring{border:1.5px dashed var(--red);border-radius:50%;width:11px;height:11px}.legend-note{margin-left:auto}.stat-row{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;display:grid}.mini-stat{gap:4px;display:grid}.mini-stat b{letter-spacing:-.03em;white-space:nowrap;font-size:26px;font-weight:300}.mini-stat small{color:var(--muted);letter-spacing:0;font-size:13px}.best b{font-size:30px}.distance-name{gap:2px;display:grid}.distance-name small{color:var(--muted);font-size:11px}.tab-pill{bottom:max(16px, env(safe-area-inset-bottom));z-index:10;view-transition-name:tab-pill;-webkit-backdrop-filter:blur(16px);background:#ffffffdb;border-radius:999px;grid-template-columns:repeat(3,1fr);padding:5px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 34px -14px #26292d73}.tab-pill button{z-index:1;min-height:44px;color:var(--muted);background:0 0;border:0;padding:0 20px;transition:color .35s;position:relative}.tab-pill button[aria-pressed=true]{color:#fff;background:0 0}.tab-indicator{background:var(--ink);width:calc(33.3333% - 3.33333px);translate:calc(var(--tab,0) * 100%) 0;border-radius:999px;transition:translate .55s cubic-bezier(.3,1.35,.5,1);position:absolute;top:5px;bottom:5px;left:5px}.home .dashboard{padding-bottom:96px}.history{align-content:start;gap:16px;width:min(100%,720px);margin:0 auto;padding:20px 16px 110px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{background:#f3f4f4;border:0;min-height:38px;padding:0 14px;font-size:14px}.chips button[aria-selected=true]{background:var(--ink);color:#fff}.big{letter-spacing:-.03em;font-size:30px;font-weight:300;line-height:1}.big .dim{letter-spacing:0;font-size:13px}.big.xl{font-size:46px}.trend{border-radius:var(--radius-sm);background:#f3f4f4;gap:8px;padding:16px;display:grid}.trend-head{justify-content:space-between;align-items:flex-start;display:flex}.trend-head .big{margin-top:6px}.trend svg{width:100%;height:110px}.delta{color:var(--muted);font-size:13px}.delta.good{color:var(--sage)}.details{border-radius:var(--radius);background:#f3f4f4;gap:14px;padding:18px;display:grid}.details-head{align-items:center;gap:10px;display:flex}.details-main{flex:1;gap:2px;min-width:0;display:grid}.details-title{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:26px;font-weight:300;overflow:hidden}.caliber-pill{background:#fff;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:14px}.details .details-note{color:var(--muted);white-space:pre-wrap;font-size:15px}.details .icon{background:#fff;border:0;flex-shrink:0;width:40px;min-height:40px}.details.editing{grid-template-columns:1fr 1fr;display:grid}.details .wide{grid-column:1/-1}.details textarea{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;resize:vertical;background:#fff;padding:10px 12px}.details-actions{justify-content:flex-end;gap:8px;display:flex}.month{display:grid}.month-head{justify-content:space-between;padding:4px 2px 6px;display:flex}.session-row,.series-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;min-height:0;padding:12px 2px;display:flex}.session-text{flex:1;gap:3px;min-width:0;font-size:15px;display:grid}.figure{text-align:right;justify-items:end;display:grid}.figure b{letter-spacing:-.03em;font-size:24px;font-weight:300;line-height:1}.figure span{color:var(--muted);font-size:11px}.load-more{justify-self:center;margin-top:4px}.empty-history{text-align:center;justify-items:center;gap:12px;padding:40px 0;display:grid}.view-head{justify-content:space-between;align-items:center;display:flex}.session-kpis{flex:1;gap:12px;display:grid}.kpi-row{gap:18px;display:flex}.kpi-row p{font-size:18px}.kpi-row .dim{font-size:12px}.zones-card{border-radius:var(--radius-sm);background:#f3f4f4;gap:8px;padding:14px 16px;display:grid}.zones-bar{background:#e2e5e5;border-radius:5px;height:10px;display:flex;overflow:hidden}.zones-legend{justify-content:space-between;display:flex}.thumb{background:0 0;border:0;border-radius:6px;min-height:0;padding:0}.thumb svg{display:block}.thumb.empty{border:1px dashed var(--line);width:46px;height:67px}.target-stage{border-radius:var(--radius);background:#f3f4f4;place-items:center;min-height:360px;padding:16px 16px 64px;display:grid;position:relative;overflow:hidden}.target-photo{width:100%;max-height:60dvh}.pill-toggle{background:#ffffffe0;border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;bottom:12px}.pill-toggle button{min-height:34px;color:var(--muted);border:0;padding:0 14px;font-size:13px}.pill-toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.shot-chips{flex-wrap:wrap;gap:6px;display:flex}.shot-chips .chip{background:#f3f4f4;border-radius:999px;place-items:center;min-width:34px;height:34px;font-size:14px;display:grid}.shot-chips .chip.miss{color:var(--red)}.short{color:#c9594f;letter-spacing:0;vertical-align:.55em;font-size:.5em;font-style:normal;font-weight:400}.gear-photos{grid-template-columns:repeat(2,minmax(0,104px));gap:10px;display:grid}.gear-tile{aspect-ratio:1;width:100%;min-height:0;color:var(--ink);text-align:center;cursor:pointer;background:#fff;border:0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;display:flex;position:relative;overflow:hidden}.gear-tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gear-tile:not(.empty) .caps{color:var(--ink);-webkit-backdrop-filter:blur(8px);background:#ffffffdb;border-radius:999px;padding:4px 10px;position:absolute;bottom:8px;left:8px}.gear-tile.empty{box-shadow:inset 0 0 0 1px var(--line);background:#fff9}.gear-tile.empty .caps{color:var(--ink)}.gear-hint{color:var(--muted);font-size:12px}.gear-error{grid-column:1/-1}.lightbox{z-index:20;-webkit-backdrop-filter:blur(22px)saturate(1.2);background:#eef0f0c7;border:0;align-content:center;place-items:center;gap:18px;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:24px 16px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);max-width:min(100%,720px);max-height:70dvh;box-shadow:0 30px 60px -30px #26292d73}.lightbox-actions{background:#ffffffe6;border-radius:999px;gap:4px;padding:5px;display:flex;box-shadow:0 14px 34px -14px #26292d66}.lightbox-actions button,.lightbox-actions .button{min-height:42px;color:var(--ink);background:0 0;border:0}.lightbox-actions .button{background:var(--ink);color:#fff}main.home{height:auto;min-height:100dvh}.session-hero{border-radius:var(--radius);background:#f3f4f4;align-items:center;gap:24px;padding:20px;display:flex}.session-print{filter:drop-shadow(0 18px 26px #26292d38);flex-shrink:0;width:clamp(120px,34vw,190px);height:auto}.session-kpis{gap:18px}.hero-figure{letter-spacing:-.05em;font-size:clamp(56px,16vw,88px)}.hero-figure .short{vertical-align:1.6em;font-size:.32em}.kpi-row{flex-wrap:wrap;gap:8px 22px}.kpi-row p{font-size:22px;font-weight:300}.series-row{gap:10px}.series-bar{background:#e6e8e8;border-radius:2px;flex:1;height:4px;margin:0 8px;overflow:hidden}.series-bar span{background:var(--ink);border-radius:2px;height:100%;display:block}.view-head.pinned{z-index:5;margin:-8px -16px 0;padding:8px 16px;transition:background-color .3s,box-shadow .3s;position:sticky;top:0}.view-head.pinned.compact{box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(16px);background:#ffffffdb}.pinned-title{text-align:center;justify-items:center;min-width:0;display:grid}.pinned-title b{letter-spacing:-.01em;opacity:0;max-height:0;font-size:17px;font-weight:400;transition:max-height .35s,opacity .35s,translate .45s cubic-bezier(.22,1,.36,1);overflow:hidden;translate:0 6px}.view-head.compact .pinned-title b{opacity:1;max-height:26px;translate:0}.target-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (min-width:600px){.target-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.target-tile{min-height:0;color:var(--ink);text-align:left;background:#f3f4f4;border:0;border-radius:18px;gap:6px;padding:10px 10px 12px;transition:scale .2s,background-color .2s;display:grid}.target-tile:hover{background:#eceeee}.target-tile:active{scale:.97}.target-tile svg{width:100%;height:auto}.tile-top{justify-content:space-between;display:flex}.tile-figure{align-items:baseline;gap:4px;display:flex}.tile-figure b{letter-spacing:-.03em;font-size:22px;font-weight:300;line-height:1}.target-tile svg>rect:first-child{fill:#0000}.target-tile.best{box-shadow:inset 0 0 0 2px var(--sand)}.target-tile.best .tile-top .caps:last-child{color:var(--sand);font-weight:600}.chip-count{opacity:.55;margin-left:2px}.target-nav{z-index:2;background:#ffffffd1;position:absolute;top:50%;translate:0 -50%}.target-nav.prev{left:10px}.target-nav.next{right:10px}.target-nav:disabled{opacity:.25}.target-stage{touch-action:pan-y}.stat-hover{position:relative}.hinted{display:inline-block}.hint-label{cursor:help;text-underline-offset:3px;background:0 0;border:0;border-radius:0;min-height:0;padding:0;-webkit-text-decoration:underline dotted #8b909480;text-decoration:underline dotted #8b909480}.strong .hint-label{text-decoration-color:#fff6}.hint{z-index:15;background:var(--ink);color:#fff;letter-spacing:0;text-transform:none;white-space:normal;pointer-events:none;border-radius:14px;width:max-content;max-width:min(260px,80vw);padding:10px 12px;font-size:13px;font-weight:400;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 14px 30px -14px #26292d8c}.stat-hover:hover .hint,.hinted:focus-within .hint{display:block}.live-row .stat-hover:last-child .hint,.kpi-row .stat-hover:last-child .hint{left:auto;right:0}main.home.scanning{height:100dvh;min-height:0;overflow-y:auto}.scanner .stage{min-height:240px}@media (max-width:600px){.scanner .stage{flex:none;height:68dvh}input,select,textarea{font-size:16px}}.fields input,.fields select{width:100%;min-width:0}@media (max-width:480px){.fields label:last-child:nth-child(odd){grid-column:1/-1}}
