@font-face{font-family:Geist;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/geist-latin-BgDaEnEv.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/archivo-latin-DY7AcnAa.woff2) format("woff2")}:root{--bg: #01070E;--surface-1: #071420;--surface-2: #0C1E2D;--surface-3: #12283A;--line: #173246;--ink: #F7F8F8;--ink-2: #9DB3C2;--ink-3: #7890A2;--accent: #02FEFE;--grad-a: #01ADEC;--grad-b: #21FB8C;--grad: linear-gradient(135deg, var(--grad-a), var(--accent) 50%, var(--grad-b));--green: var(--grad-a);--green-2: var(--grad-b);--green-glow: color-mix(in oklab, var(--accent) 28%, transparent);--gold: #3DE7FF;--gold-2: var(--grad-a);--plate: color-mix(in oklab, var(--accent) 9%, var(--surface-1));--glow: 0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent), 0 0 18px -2px color-mix(in oklab, var(--accent) 30%, transparent);--glow-strong: -10px 0 24px -6px color-mix(in oklab, var(--grad-a) 60%, transparent), 10px 0 24px -6px color-mix(in oklab, var(--grad-b) 55%, transparent);--ok: #21FB8C;--bad: #FF8587;--warn: #FFB547;--radius-s: 8px;--radius-m: 14px;--radius-l: 18px;--dur-fast: .12s;--dur-med: .2s;--dur-slow: .48s;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--font-display: "Archivo", "Geist", system-ui, sans-serif;--font-body: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--tap: 44px;--gutter: 16px;--tabbar-h: 64px;--rise: 10px;color-scheme:dark}@media(min-width:600px){:root{--gutter: 24px}}@media(prefers-reduced-motion:reduce){:root{--rise: 0px}}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3{margin:0;font-weight:700;text-wrap:balance;font-stretch:106%;letter-spacing:-.02em}h1{font:700 32px/1.08 var(--font-display);font-stretch:106%;letter-spacing:-.022em}h2{font:700 24px/1.15 var(--font-display)}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-s)}::selection{background:var(--green-glow)}.muted{color:var(--ink-3)}.center{text-align:center}.serial{font:500 13px/1.3 var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise))}}@keyframes fade{0%{opacity:0}}.page{animation:fade .2s var(--ease-out) backwards}.rise{animation:rise .32s var(--ease-out) both}.stagger>*{animation:rise .32s var(--ease-out) both}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(n+6){animation-delay:.18s}.rows>li{animation:rise .3s var(--ease-out) both;animation-delay:calc(80ms + min(var(--i, 0),12)*25ms)}.press,.btn,.row,.chip,.tab,.row-link,.back,.note-cta{transition:transform var(--dur-fast) var(--ease-out)}.press:active,.btn:active:not(:disabled),.row:active:not(:disabled),.chip:active,.row-link:active,.back:active{transform:scale(.97)}.tab:active{transform:scale(.92)}.row,.chip,.tile,.row-link,.tab,.note{position:relative;overflow:hidden}.ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:currentColor;opacity:0}::view-transition-old(root){animation:vt-out .14s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:vt-in .22s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:scale(.985)}}@keyframes vt-in{0%{opacity:0;transform:translate(24px)}}.boot{display:grid;place-items:center;min-height:100dvh}.page{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 20px) calc(env(safe-area-inset-right) + var(--gutter)) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 32px) calc(env(safe-area-inset-left) + var(--gutter))}.stagger,.reveal{display:flex;flex-direction:column;gap:16px}:root[data-immersive] .tabbar{display:none}:root[data-immersive] .page{padding:0;max-width:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0 auto;max-width:560px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:8px calc(env(safe-area-inset-right) + 8px) calc(env(safe-area-inset-bottom) + 8px) calc(env(safe-area-inset-left) + 8px);background:var(--surface-1);border-top:1px solid var(--line)}@media(min-width:561px){.tabbar{border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-l) var(--radius-l) 0 0}}.tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;color:var(--ink-3);font-size:11.5px;font-weight:600;letter-spacing:.01em;transition:color var(--dur-fast) ease}.tab[aria-current=page]{color:var(--gold)}.tab[aria-current=page] .icon{animation:tab-pop .32s var(--ease-spring) both}@keyframes tab-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:none}}.tab-pill{position:absolute;left:0;top:8px;height:48px;border-radius:var(--radius-m);background:color-mix(in oklab,var(--accent) 12%,var(--surface-1));box-shadow:var(--glow);opacity:0;will-change:transform}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.page-head{display:flex;align-items:center;gap:8px;min-height:var(--tap)}.page-head h1{flex:1;min-width:0;overflow-wrap:anywhere}.page-head-actions{display:flex;gap:8px}.back{display:grid;place-items:center;width:var(--tap);height:var(--tap);margin-left:-10px;border-radius:50%}.back svg{width:24px;height:24px;fill:none;stroke:var(--ink-2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lede{color:var(--ink-2);font-size:17px}.section-title{font-size:22px;margin-top:12px;display:flex;align-items:baseline;gap:10px}.count{font:500 14px var(--font-mono);color:var(--ink-3)}.notes{color:var(--ink-2);white-space:pre-wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 22px;border:0;border-radius:999px;font-weight:650;font-size:16px;white-space:nowrap}.btn>span{display:inline-flex;align-items:center;gap:8px}.btn{position:relative;isolation:isolate;overflow:hidden}.btn-primary{background:var(--ink);color:var(--bg);box-shadow:var(--glow-strong)}.btn-gold{background:var(--grad);color:var(--bg)}.btn-primary:before,.btn-gold:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--grad);opacity:0;transition:opacity var(--dur-med) var(--ease-out)}.btn-primary:active:not(:disabled):before{opacity:.35}.btn-ghost{background:var(--surface-2);color:var(--ink)}.btn-danger{background:color-mix(in oklab,var(--bad) 22%,var(--surface-1));color:var(--bad)}.btn-sm{min-height:40px;padding:0 16px 0 12px;font-size:15px}.btn-sm .icon{width:18px;height:18px}.btn-block{width:100%;min-height:52px}.btn:disabled{opacity:.55;cursor:not-allowed}@media(hover:hover)and (pointer:fine){.btn-primary:hover:before{opacity:.22}.btn-ghost:hover{background:var(--surface-3)}}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions>.btn{flex:1 1 140px}.spinner{width:18px;height:18px;border-radius:50%;flex:none;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 0;color:var(--ink-2)}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:14px;font-weight:600;color:var(--ink-2)}.field-hint{font-size:13px;color:var(--ink-3)}.field input,.field select,.search{min-height:50px;width:100%;padding:0 14px;border-radius:var(--radius-s);background:var(--surface-2);border:1px solid var(--line);font-size:16px;transition:border-color var(--dur-fast) ease}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(-45deg,transparent 50%,var(--ink-3) 50%);background-position:right 20px center,right 14px center;background-size:6px 6px;background-repeat:no-repeat}.field input,.field select,.search{transition:border-color var(--dur-med) ease,box-shadow var(--dur-med) ease}.field input:focus,.field select:focus,.search:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow)}.field input::placeholder,.search::placeholder{color:var(--ink-3)}.switch{display:flex;align-items:center;gap:12px;min-height:var(--tap);font-weight:600}.switch input{width:22px;height:22px;accent-color:var(--bad)}.notice{padding:12px 14px;border-radius:var(--radius-s);font-size:15px}.notice-bad{background:color-mix(in oklab,var(--bad) 20%,var(--surface-1));color:var(--bad)}.notice-warn{background:color-mix(in oklab,var(--warn) 18%,var(--surface-1));color:var(--warn)}.notice-ok{background:color-mix(in oklab,var(--ok) 12%,var(--surface-1));color:var(--ok)}.card{background:var(--surface-1);border-radius:var(--radius-m);padding:16px}.braid{display:block;width:100%;height:22px;color:var(--gold);opacity:.55}.braid-flip{transform:scaleY(-1)}.login{min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:32px;padding:calc(env(safe-area-inset-top) + 24px) var(--gutter) calc(env(safe-area-inset-bottom) + 24px)}.login-plate{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;text-align:center}.login-mark{position:relative;margin-top:18px;filter:drop-shadow(0 0 22px color-mix(in oklab,var(--accent) 35%,transparent))}.wordmark img{height:1em;width:auto}.wordmark{display:flex;flex-direction:column;align-items:center;gap:6px}.wordmark span,.home-brand span{font:600 13px/1 var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}.home-brand{display:flex;align-items:center;gap:10px}.home-brand span{padding-top:2px}.login-rosette{position:absolute;width:340px;top:50%;left:50%;margin:-170px 0 0 -170px;color:var(--green-2);opacity:.24;animation:turn 90s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}@keyframes mark-drift{to{transform:translate3d(-10px,6px,0) rotate(-6deg) scale(1.04)}}.wordmark{position:relative;font-size:clamp(44px,14vw,60px);line-height:1;margin-top:4px}.login-sub{position:relative;color:var(--ink-2);margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:14px}.greet{font-size:clamp(32px,9.5vw,42px);line-height:1.05;color:var(--ink-2);padding-top:8px}.greet span{color:var(--ink)}.note{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:14px 18px;border-radius:var(--radius-l);background:var(--plate);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 22%,transparent);min-height:300px}.note-rosette{position:absolute;width:230px;right:-70px;top:18px;opacity:.5;animation:mark-drift 9s var(--ease-in-out) infinite alternate;transition:transform .9s var(--ease-out);-webkit-mask-image:linear-gradient(to right,transparent 45%,#000 70%);mask-image:linear-gradient(to right,transparent 45%,#000 70%)}.note:active .note-rosette{transform:rotate(40deg)}.note-cta:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 2px var(--accent),0 0 22px var(--accent);opacity:0;animation:cta-pulse 2.8s var(--ease-in-out) 1.2s infinite;pointer-events:none}@keyframes cta-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.55;transform:scale(1.035)}}.note-body{position:relative;display:flex;flex-direction:column;gap:8px;margin-top:auto;max-width:78%}.note-title{font:700 clamp(40px,12.5vw,54px)/1 var(--font-display);letter-spacing:-.015em}.note-sub{color:var(--ink-2);font-size:16px}.note-cta{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px 0 16px;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:700;box-shadow:var(--glow-strong)}.home-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{display:flex;flex-direction:column;gap:4px;min-height:148px;padding:16px;border-radius:var(--radius-m);background:var(--surface-1)}.tile-icon{width:28px;height:28px;color:var(--gold);margin-bottom:auto}.tile-num{font:700 44px/1 var(--font-display);color:var(--gold);margin-bottom:auto;font-variant-numeric:tabular-nums}.tile-title{font-weight:650;font-size:16px}.tile-sub{color:var(--ink-3);font-size:14px;line-height:1.35;min-height:2.7em}.row-link{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;border-radius:var(--radius-m);background:var(--surface-1);font-weight:600}.row-link .icon:first-child{color:var(--gold)}.chev{margin-left:auto;color:var(--ink-3);width:18px;height:18px}.list-tools{display:flex;gap:8px}.search{flex:1;min-height:46px}.chip{min-height:46px;padding:0 16px;border-radius:999px;border:0;background:var(--surface-2);color:var(--ink-2);font-weight:600}.chip.is-on{background:color-mix(in oklab,var(--gold) 18%,var(--surface-1));color:var(--gold)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.row{width:100%;display:flex;align-items:center;gap:12px;min-height:68px;padding:8px 12px 8px 8px;text-align:left;border:0;border-radius:var(--radius-m);background:var(--surface-1)}.row:disabled{cursor:default;opacity:1}.row:disabled:active{transform:none}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{color:var(--ink-3);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub .serial{font-size:12.5px;color:var(--ink-3)}.rows>li>.form{margin-top:8px}.thumb{width:52px;height:52px;border-radius:var(--radius-s);object-fit:cover;background:var(--surface-3);flex:none}.thumb-lg{width:120px;height:120px;border-radius:var(--radius-m)}.thumb-none{background:var(--surface-2) radial-gradient(circle at 50% 50%,transparent 38%,var(--line) 39%,var(--line) 41%,transparent 42%)}.avatar{display:grid;place-items:center;width:44px;height:44px;margin-left:4px;border-radius:50%;background:var(--surface-3);font:700 20px var(--font-display);color:var(--gold);flex:none}.badge{flex:none;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:650;background:var(--surface-3);color:var(--ink-2)}.badge-enrolled{background:color-mix(in oklab,var(--ok) 15%,var(--surface-1));color:var(--ok)}.badge-draft{background:color-mix(in oklab,var(--warn) 18%,var(--surface-1));color:var(--warn)}.badge-role-super_admin{background:color-mix(in oklab,var(--gold) 20%,var(--surface-1));color:var(--gold)}.badge-role-admin{background:color-mix(in oklab,var(--green-2) 18%,var(--surface-1));color:var(--green-2)}.badge-off{opacity:.5;text-decoration:line-through}.empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 8px;text-align:center}.empty p{color:var(--ink-2)}.detail-hero{display:flex;gap:16px;align-items:center}.detail-facts{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:14px}.facts{list-style:none;margin:0;padding:0;border-radius:var(--radius-m);background:var(--surface-1)}.facts li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 16px}.facts li+li{box-shadow:0 -1px 0 var(--line)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px;vertical-align:1px;background:var(--ink-3)}.dot-match{background:var(--ok)}.dot-no_match{background:var(--bad)}.dot-retake{background:var(--warn)}.profile-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:24px 20px}.profile-rosette{position:absolute;width:200px;right:-50px;top:-40px;color:var(--gold);opacity:.22}.profile-name{font:700 30px/1.1 var(--font-display)}.profile-meta{display:flex;align-items:center;gap:12px;margin-top:12px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ev{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:start;padding:12px 0;box-shadow:0 1px color-mix(in oklab,var(--line) 60%,transparent)}.ev-dot{width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--ink-3)}.ev-ok .ev-dot{background:var(--ok)}.ev-bad .ev-dot{background:var(--bad)}.ev-warn .ev-dot{background:var(--warn)}.ev-title{font-weight:600}.ev-subject{font-weight:400;color:var(--ink-2)}.ev-sub{color:var(--ink-3);font-size:14px}.ev time{padding-top:3px;font-size:12px;color:var(--ink-3);white-space:nowrap}.shots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shots li{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-m);background:var(--surface-1);color:var(--ink-3);font-size:13px;font-weight:600;transition:background-color var(--dur-med) ease,color var(--dur-med) ease}.shot-num{font:700 30px/1 var(--font-display);color:var(--ink-2)}.shots .is-done{background:color-mix(in oklab,var(--ok) 13%,var(--surface-1));color:var(--ok)}.shots .is-done .shot-num{color:var(--ok)}.shots .is-active{background:color-mix(in oklab,var(--gold) 14%,var(--surface-1));color:var(--gold)}.shots .is-active .shot-num{color:var(--gold)}.flow-msg{display:flex;flex-direction:column;gap:14px;padding-top:8px}.page>.flow-msg{padding-top:40px}.enrolled{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-top:8px}.enrolled .actions{width:100%;margin-top:8px}.uploading{display:flex;flex-direction:column;gap:14px}.page>.uploading{padding-top:24px}.scan{position:relative;overflow:hidden;border-radius:var(--radius-m);background:var(--surface-1)}.scan img{width:100%;max-height:52dvh;object-fit:cover;opacity:.85}.scan-line{position:absolute;inset:0;animation:scan 1.8s var(--ease-in-out) infinite alternate;background:linear-gradient(to bottom,transparent 70%,color-mix(in oklab,var(--gold) 22%,transparent) 99%,var(--gold) 99.4%,transparent)}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.progress{height:4px;border-radius:4px;background:var(--surface-3);overflow:hidden}.progress span{display:block;height:100%;background:var(--gold);transform-origin:left;transition:transform .2s linear}.uploading-label{display:flex;justify-content:space-between;color:var(--ink-2)}.page>.reveal{padding-top:12px;gap:18px}.reveal-note{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--radius-l);background:var(--plate);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 22%,transparent);text-align:center}.seal-wrap{width:min(64vw,240px);aspect-ratio:1;color:var(--gold);margin-top:8px}.seal-small{width:min(44vw,160px)}.seal{width:100%;height:100%;overflow:visible;animation:stamp .64s var(--ease-out) .12s both}.seal-text{font:500 10.5px var(--font-mono);letter-spacing:.08em}.seal-outer,.seal-inner,.seal-check{transform-box:fill-box;transform-origin:center}.seal-outer{animation:unwind 1.8s var(--ease-out) .12s both}.seal-inner{animation:unwind-back 1.8s var(--ease-out) .12s both}.seal-check{animation:check-in .38s var(--ease-spring) .62s both}@keyframes stamp{0%{opacity:0;transform:scale(1.55) rotate(-16deg)}45%{opacity:1;transform:scale(.95) rotate(1.5deg)}70%{transform:scale(1.02) rotate(-.5deg)}to{transform:none}}@keyframes unwind{0%{transform:rotate(-90deg)}}@keyframes unwind-back{0%{transform:rotate(70deg)}}@keyframes check-in{0%{opacity:0;transform:scale(.6)}}.sweep{position:absolute;inset:0;pointer-events:none;transform:translate(-110%);background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--gold) 28%,transparent) 48%,color-mix(in oklab,white 30%,transparent) 50%,color-mix(in oklab,var(--gold) 28%,transparent) 52%,transparent 70%);animation:sweep 1.1s var(--ease-in-out) .56s both}@keyframes sweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}.reveal-kicker{font:700 22px var(--font-display);color:var(--gold);animation:rise .42s var(--ease-out) .64s both}.reveal-title{font-size:clamp(30px,9vw,40px);animation:rise .46s var(--ease-out) .72s both;overflow-wrap:anywhere}.reveal-meta{display:flex;gap:16px;justify-content:center;margin-bottom:8px;animation:rise .46s var(--ease-out) .8s both}.reveal-actions{animation:rise .46s var(--ease-out) .9s both}.verdict-panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:28px 20px;border-radius:var(--radius-l);animation:rise .36s var(--ease-out) both}.verdict-panel h1{font-size:40px}.verdict-panel p{color:var(--ink-2);font-size:17px}.verdict-mark{width:64px;height:64px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;animation:fade .3s ease .12s both}.reveal-nomatch .verdict-panel{background:color-mix(in oklab,var(--bad) 22%,var(--surface-1))}.reveal-nomatch .verdict-mark,.reveal-nomatch h1{stroke:var(--bad);color:var(--bad)}.reveal-retake .verdict-panel{background:color-mix(in oklab,var(--warn) 14%,var(--surface-1))}.reveal-retake .verdict-mark,.reveal-retake h1{stroke:var(--warn);color:var(--warn)}.reveal-nomatch .actions,.reveal-retake .actions{animation:rise .36s var(--ease-out) .16s both}.tips{margin:4px 0 0;padding-left:20px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}@media(prefers-reduced-motion:reduce){.rise,.stagger>*,.rows>li,.seal,.seal-check,.reveal-kicker,.reveal-title,.reveal-meta,.reveal-actions,.verdict-panel,.reveal-nomatch .actions,.reveal-retake .actions{animation-name:fade;animation-duration:.2s}.seal-outer,.seal-inner,.login-rosette,.scan-line{animation:none}.sweep{display:none}.note-cta:after,.ripple{display:none}.tab[aria-current=page] .icon{animation:none}::view-transition-old(root),::view-transition-new(root){animation:fade .16s ease both}.press:active,.btn:active:not(:disabled){transform:none}.note:active .note-rosette{transform:none}.note-rosette{animation:none}}.sheet-scrim{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;background:#01070eb8;animation:fade var(--dur-med) var(--ease-out) both}.sheet{position:relative;overflow:hidden auto;width:100%;max-width:560px;max-height:100dvh;display:flex;flex-direction:column;gap:12px;padding:28px calc(env(safe-area-inset-right) + var(--gutter)) calc(env(safe-area-inset-bottom) + 20px) calc(env(safe-area-inset-left) + var(--gutter));background:var(--surface-1);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-l) var(--radius-l) 0 0}.sheet h2{max-width:20ch}.sheet .actions{margin-top:8px}.sheet-kicker{font:500 12px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.sheet-rosette{position:absolute;right:-40px;top:-40px;width:180px;height:180px;opacity:.18;color:var(--gold);pointer-events:none}.chkr-mark{display:block;margin-inline:auto;flex:none;height:auto}.chkr-lockup{display:inline-flex;align-items:center;gap:8px}.chkr-lockup .chkr-mark{margin:0}.chkr-lockup img{display:block}.mark-in{overflow:visible}.mark-in .pc{transform-box:view-box;transform-origin:280px 320px;animation:chkr-piece .48s var(--ease-out) both;animation-delay:calc(var(--n)*42ms)}.mark-in .whole{animation:chkr-fade .32s var(--ease-out) both;animation-delay:1.08s}.mark-in .halo{filter:blur(18px);opacity:.28;animation:chkr-halo 1.4s var(--ease-out) both;animation-delay:1.05s}@keyframes chkr-piece{0%{opacity:0;transform:scale(1.22) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes chkr-fade{0%{opacity:0}}@keyframes chkr-halo{0%{opacity:0}40%{opacity:.75}to{opacity:.28}}@media(prefers-reduced-motion:reduce){.mark-in .pc,.mark-in .whole,.mark-in .halo{animation:none}}.cap{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#000;color:var(--ink);font-family:var(--font-body);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.cap--held{inset:0 auto auto;transform:rotate(90deg);transform-origin:0 0}.cap-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px}.cap-title{display:flex;flex-direction:column;align-items:center;font-family:var(--font-display);font-size:1.15rem;color:var(--gold);letter-spacing:.02em}.cap-diag{font:500 11px/1.2 var(--font-mono);color:var(--ink-2)}.cap-size{font-family:var(--font-mono, monospace);font-size:.65rem;opacity:.5}.cap-btn{min-width:var(--tap);min-height:var(--tap);border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--ink);font-size:1.1rem;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.cap-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cap-btn--blank{visibility:hidden}.cap-btn--on{background:var(--gold);color:var(--bg);border-color:var(--gold-2)}.cap-stage{position:relative;flex:1;min-height:0}.cap-video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cap-video--shown{opacity:1;object-fit:fill}.cap-preview{position:absolute}.cap-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cap-ring{--cap-ramp: 0;position:absolute;border-radius:var(--radius-m);pointer-events:none;opacity:calc(.25 + .75 * var(--cap-ramp));transition:opacity var(--dur-fast) linear;will-change:opacity,transform}.cap-ring:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 32px 7px var(--green-glow)}.cap--armed .cap-ring{animation:cap-breathe 1.1s var(--ease-out) infinite alternate}.cap--good .cap-ring{outline:2px solid var(--ok);outline-offset:6px}@keyframes cap-breathe{0%{transform:scale(1)}to{transform:scale(1.015)}}.cap-error{position:absolute;inset:0;display:grid;place-content:center;gap:16px;padding:24px;text-align:center;background:color-mix(in srgb,var(--bg) 92%,transparent)}.cap-error p{margin:0;color:var(--ink-2);max-width:32ch}.cap-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 16px calc(env(safe-area-inset-bottom) + 16px)}.cap-note{margin:0;min-height:1.4em;font-size:1.05rem;font-weight:600;text-align:center;color:var(--ink)}.cap--good .cap-note{color:var(--ok)}.cap-hint{margin:0;font-size:.8rem;color:var(--ink-3);text-align:center}.cap-lenses{display:flex;gap:8px}.cap-pill{min-height:var(--tap);padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:600 .85rem var(--font-body)}.cap-pill--on{color:var(--bg);background:var(--gold);border-color:var(--gold-2)}.cap-shutter{width:76px;height:76px;margin-top:4px;border-radius:50%;border:3px solid var(--gold);background:transparent;padding:5px;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-med) var(--ease-out)}.cap-shutter span{display:block;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,var(--gold),var(--gold-2));transition:transform var(--dur-med) var(--ease-spring),background var(--dur-med) var(--ease-out)}.cap-shutter:active{transform:scale(.94)}.cap--armed .cap-shutter span{transform:scale(.55);border-radius:30%;background:var(--gold)}.cap--armed.cap--good .cap-shutter{border-color:var(--green)}.cap--armed.cap--good .cap-shutter span{background:var(--green)}.cap-shutter:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.cap-ring,.cap-shutter,.cap-shutter span,.cap-btn{transition:none}.cap--armed .cap-ring{animation:none}}.pt{position:fixed;inset:0;z-index:1001;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(120% 70% at 50% 0%,var(--surface-1),var(--bg) 70%);color:var(--ink);padding:calc(env(safe-area-inset-top) + 28px) calc(env(safe-area-inset-right) + var(--gutter)) calc(env(safe-area-inset-bottom) + 28px) calc(env(safe-area-inset-left) + var(--gutter));display:flex;flex-direction:column;align-items:center;gap:14px;animation:pt-in var(--dur-med) var(--ease-out) both}.pt>*{width:100%;max-width:460px}@keyframes pt-in{0%{opacity:0}}@keyframes pt-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pt-fade{0%{opacity:0}}.pt-fade{animation:pt-fade var(--dur-med) var(--ease-out) both}.pt-ring{position:relative;width:min(56vw,220px);aspect-ratio:1;flex:none;animation:pt-ring-in var(--dur-slow) var(--ease-out) backwards}@keyframes pt-ring-in{0%{opacity:0;transform:scale(.94)}}.pt-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pt-ring g{transform-box:view-box;transform-origin:120px 120px}.pt-guilloche{fill:none;stroke:var(--green);stroke-width:.45;opacity:.55}.pt-guilloche-in{stroke:var(--gold-2);opacity:.32}.pt-turn{animation:pt-turn 48s linear infinite}.pt-turn-back{animation-duration:72s;animation-direction:reverse}@keyframes pt-turn{to{transform:rotate(360deg)}}.pt-track{fill:none;stroke:var(--line);stroke-width:3}.pt-arc{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:120px 120px;transition:stroke-dashoffset .42s var(--ease-out),stroke var(--dur-med) ease}.pt-comet{opacity:0;transition:opacity var(--dur-med) ease;animation:pt-turn 1.3s linear infinite}.pt-comet.is-on{opacity:1}.pt-comet circle{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;opacity:.5}.pt-bead-turn{transition:transform .42s var(--ease-out)}.pt-bead{fill:var(--gold)}.pt-ring.is-ok .pt-arc{stroke:var(--ok)}.pt-ring.is-ok .pt-bead{fill:var(--ok)}.pt-ring.is-complete{animation:pt-seal .52s var(--ease-out) both}@keyframes pt-seal{0%{transform:scale(1)}40%{transform:scale(1.045)}to{transform:scale(1)}}.pt-ring.is-failed .pt-arc{stroke:var(--bad)}.pt-ring.is-failed .pt-bead{fill:var(--bad)}.pt-ring.is-failed .pt-turn{animation-play-state:paused}.pt-full.pt-has-failed .pt-ring{transform:scale(.72);margin-block:calc(min(56vw,220px)*-.14);transition:transform var(--dur-slow) var(--ease-out),margin var(--dur-slow) var(--ease-out)}.pt-center{position:absolute;inset:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}.pt-readout{display:flex;align-items:baseline;gap:3px}.pt-num{font:500 clamp(40px,13vw,52px)/1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.pt-unit{font:500 15px var(--font-mono);color:var(--gold)}.pt-count{font:500 12px/1.3 var(--font-mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}.pt-now{text-align:center;min-height:40px;animation:pt-rise .46s var(--ease-out) 60ms both}.pt-title{font:400 clamp(26px,8vw,32px)/1.1 var(--font-display)}.pt-slow{color:var(--warn);font-size:15px;margin-top:4px}.pt-line{min-height:1.45em;margin-top:4px;font-size:15px;line-height:1.45;color:var(--ink-2)}.pt-line.pt-slow{color:var(--warn)}.pt-fail-line{color:var(--bad)}.pt-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pt-step{position:relative;overflow:hidden;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;padding:9px 12px;border-radius:var(--radius-m);animation:pt-rise .42s var(--ease-out) backwards;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.pt-step.is-pending{opacity:.45}.pt-step.is-done{opacity:.78;transform:scale(.985)}.pt-step.is-active{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line)}.pt-step.is-failed{background:color-mix(in srgb,var(--bad) 14%,var(--surface-1));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad) 40%,transparent)}.pt-step.is-active:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--gold) 16%,transparent) 50%,transparent 70%);transform:translate(-100%);animation:pt-sheen 2.2s var(--ease-in-out) infinite}@keyframes pt-sheen{0%{transform:translate(-100%)}70%,to{transform:translate(100%)}}.pt-icon{width:28px;height:28px;overflow:visible}.pt-icon-ring{fill:none;stroke:var(--line);stroke-width:1.5}.is-active .pt-icon-ring{stroke:var(--gold)}.pt-icon-dot{fill:var(--gold);transform-box:fill-box;transform-origin:center;animation:pt-pulse 1.1s var(--ease-in-out) infinite alternate}@keyframes pt-pulse{0%{transform:scale(.6);opacity:.55}to{transform:scale(1);opacity:1}}.is-done .pt-icon-ring{fill:color-mix(in oklab,var(--ok) 18%,transparent);stroke:var(--ok)}.pt-icon-check{fill:none;stroke:var(--ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:pt-draw .36s var(--ease-out) 60ms forwards}@keyframes pt-draw{to{stroke-dashoffset:0}}.is-failed .pt-icon-ring{stroke:var(--bad)}.pt-icon-bang{stroke:var(--bad);stroke-width:2.4;stroke-linecap:round}.pt-step-body{min-width:0;padding-top:2px}.pt-step-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.pt-step-title{font-weight:600;font-size:17px}.is-pending .pt-step-title{font-weight:400;color:var(--ink-2)}.pt-time{font:500 13px var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.is-active .pt-time{color:var(--gold)}.pt-detail{font:400 14px/1.4 var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:2px}.is-done .pt-detail{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;color:var(--ink-3)}.is-failed .pt-detail{color:var(--bad);font-family:var(--font-body);font-size:15px}.pt-hint{font-size:14px;color:var(--ink-2);margin-top:4px}.pt-note{font-size:14px;color:var(--ink-3);text-align:center}.pt-actions{display:flex;flex-wrap:wrap;gap:10px;animation:pt-rise .36s var(--ease-out) both}.pt-actions>*{flex:1 1 140px}.pt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pt-compact{justify-content:center}@media(prefers-reduced-motion:reduce){.pt-turn,.pt-comet,.pt-step.is-active:after,.pt-icon-dot{animation:none}.pt-step.is-active:after{display:none}.pt-comet circle{stroke-dasharray:2 8;opacity:.35}.pt-ring,.pt-ring.is-complete,.pt-now,.pt-step,.pt-actions{animation-name:pt-fade}.pt-step.is-done{transform:none}.pt-arc,.pt-bead-turn{transition-duration:0ms}.pt-icon-check{animation:none;stroke-dashoffset:0}}
