:root{--surface-base:#edeff1;--surface-raised:#fff;--surface-sunken:#e2e5e8;--line:#d2d6da;--line-strong:#b9bec3;--text-primary:#16181a;--text-secondary:#4a4f54;--text-disabled:#7b8085;--accent:#16181a;--accent-hover:#000;--accent-contrast:#fff;--brand:#e4002b;--state-measuring:#4a4f54;--state-ok:#0f7b54;--state-warning:#b45309;--state-error:#c8102e;--mark-face:#ff0;--mark-code:#ff8a1f;--mark-halo:#16181a8c;--font-display:"IBM Plex Sans", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--touch-min:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius:5px;--radius-sm:4px;--radius-md:var(--radius);--radius-lg:var(--radius);--shadow-sm:0 1px 2px #16181a0d;--shadow-md:0 8px 24px #16181a24;--overlay:#16181a99;--stage-max:1024px;--content-max:600px;--step-title-size:48px}@media (width<=900px){:root{--space-3:10px;--space-4:12px;--space-5:14px;--space-6:16px;--space-8:20px;--step-title-size:40px}}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--surface-base);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-body);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;overflow:hidden}input,textarea,select,[contenteditable=true],.selectable-log,.selectable{-webkit-user-select:text;user-select:text}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@keyframes breathingPulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.top{height:56px;padding:0 var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;display:flex}.top .mark{letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.top .mark .dot{background:var(--brand);border-radius:50%;flex:none;width:10px;height:10px}.top .mark small{color:var(--text-disabled);font-size:13px;font-weight:400}.top .spacer{flex:1}.chip{color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--line);white-space:nowrap;border-radius:100px;align-items:center;gap:7px;padding:4px 11px;font-size:12.5px;display:inline-flex}.led{background:var(--text-disabled);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.led.ok{background:var(--state-ok)}.led.warn{background:var(--state-warning)}.led.err{background:var(--state-error)}.led.busy{background:var(--state-measuring)}.chip.mono{font-family:var(--font-mono);font-size:12px}.btn{min-height:var(--touch-min);padding:0 var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-sunken)}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{border-color:var(--state-error);background:var(--state-error);color:var(--accent-contrast)}.btn.block{width:100%}.btn:disabled{border-color:var(--line);background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.update-bar{align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding-left:var(--space-5);background:var(--accent);color:var(--accent-contrast);flex:none;font-size:14px;font-weight:500;display:flex}.update-bar span{flex:1;min-width:0}.update-bar .btn{border:none;border-radius:0;align-self:stretch}.store-bar{align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:0 var(--space-5);background:var(--state-warning);color:var(--accent-contrast);flex:none;font-size:14px;font-weight:500;display:flex}.store-bar span{flex:1;min-width:0}.store-bar .btn{margin-right:calc(-1 * var(--space-5));border:none;border-radius:0;align-self:stretch}.store-bar.save-failed{background:var(--state-error)}.iconbtn{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.iconbtn:hover{background:var(--surface-sunken)}.iconbtn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.rail{box-sizing:border-box;width:240px;height:100%;padding:var(--space-4);background:var(--surface-raised);border-right:1px solid var(--line);justify-content:space-between;gap:var(--space-3);flex-direction:column;flex:none;display:flex;overflow:hidden}.sechead{letter-spacing:.09em;text-transform:uppercase;color:var(--text-disabled);font-size:11px;font-weight:600}.steps{margin:var(--space-3) 0 0;flex-direction:column;gap:2px;min-height:0;padding:0;list-style:none;display:flex}.steps li{color:var(--text-disabled);white-space:nowrap;align-items:center;gap:11px;padding:5px 0;font-size:14px;display:flex;overflow:hidden}.steps .num{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--text-disabled);background:var(--surface-raised);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.steps .label{text-overflow:ellipsis;overflow:hidden}.steps li.is-done .num,.steps li.is-now .num{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.steps li.is-done{color:var(--text-secondary)}.steps li.is-now{color:var(--text-primary);font-weight:600}.rail-foot{gap:var(--space-2);flex-direction:column;display:flex}.rail-foot .chip{justify-content:flex-start}.rail-buttons{gap:var(--space-2);display:flex;position:relative}.subnav{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0;background:var(--surface-base);flex:none;display:flex}.subnav .right{margin-left:auto}.subnav button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-height:34px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:0 12px 0 8px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.subnav button:hover{background:var(--surface-sunken)}.subnav button:disabled{opacity:.45;cursor:default}.subnav button:disabled:hover{background:var(--surface-raised)}.share-note{align-items:flex-start;gap:var(--space-3);margin:var(--space-2) var(--space-4) 0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);flex:none;font-size:13px;line-height:1.45;display:flex}.share-note.warn{border-color:var(--state-warning)}.share-note span{overflow-wrap:anywhere;flex:1;min-width:0;padding-top:4px}.share-note button{border-radius:var(--radius);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=900px){.top{gap:10px;height:46px;padding:0 14px}.rail{width:180px;padding:12px}.steps li{gap:9px;padding:3px 0;font-size:13px}.steps .num{width:20px;height:20px;font-size:10px}.top .mark small{display:none}}.app-shell{width:100%;height:100vh;padding-top:env(safe-area-inset-top,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0)}@supports (height:100dvh){.app-shell{height:100dvh}}.record-screen{background:var(--surface-base);flex:1;min-height:0;display:flex}.list{background:var(--surface-raised);border-right:1px solid var(--line);flex-direction:column;flex:none;width:300px;min-height:0;display:flex}.list-head{padding:var(--space-4);gap:var(--space-3);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.list-search{align-items:center;display:flex;position:relative}.list-search>svg{color:var(--text-disabled);pointer-events:none;position:absolute;left:11px}.list-search input{width:100%;min-height:var(--touch-min);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text-primary);font:inherit;padding:0 12px 0 34px;font-size:14px}.list-items{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.client-row{width:100%;padding:10px var(--space-4);border:0;border-bottom:1px solid var(--line);background:var(--surface-raised);text-align:left;font:inherit;cursor:pointer;border-left:3px solid #0000;align-items:center;gap:11px;display:flex}.client-row:hover{background:var(--surface-sunken)}.client-row.is-active{background:var(--surface-sunken);border-left-color:var(--brand)}.client-row .who{flex:1;min-width:0}.client-row .who b{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.client-row .who span{color:var(--text-secondary);font-size:12.5px}.client-row .when{color:var(--text-disabled);white-space:nowrap;font-size:12px}.avatar{background:var(--surface-sunken);border:1px solid var(--line);width:34px;height:34px;color:var(--text-secondary);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.avatar.big{width:56px;height:56px;font-size:18px}.client-row.is-active .avatar{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.avatar.has-photo{background:var(--surface-sunken);overflow:hidden}.avatar img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block}.avatar.form-photo{width:64px;height:64px}.record{min-width:0;min-height:0;padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.rechead{column-gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar who acts""avatar badges badges";align-items:start;row-gap:7px;display:grid}.rechead>.avatar{grid-area:avatar}.rechead .who{grid-area:who;min-width:0}.rechead h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.2}.rechead .sub{color:var(--text-secondary);margin-top:2px;font-size:13px}.rechead-acts{align-items:flex-start;gap:var(--space-2);grid-area:acts;display:flex}.badges{flex-wrap:wrap;grid-area:badges;gap:6px;min-width:0;display:flex}.chip.empty{color:var(--text-disabled);background:0 0;border-style:dashed}.chip.coaches{white-space:normal;border-radius:12px;max-width:100%;line-height:1.35}.chip.warn{color:var(--text-primary);border-color:var(--state-warning);box-shadow:inset 3px 0 0 var(--state-warning)}.list-tabs{background:var(--surface-sunken);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.list-tabs button{border-radius:calc(var(--radius) - 2px);min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.list-tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-strong)}.list-search .go{width:var(--touch-min);min-height:var(--touch-min);flex:none;margin-left:6px;padding:0}.list-search input{flex:1;min-width:0}.client-row:disabled{cursor:not-allowed;opacity:.6}.list-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.list-foot .btn{flex-wrap:wrap;row-gap:0}.list-foot .count{color:var(--text-secondary);font-size:12px;font-weight:500}.modal .box.sync{max-width:520px;max-height:calc(100% - 2 * var(--space-3));overflow-y:auto}.sync-sec{gap:var(--space-2);flex-direction:column;display:flex}.sync-sec h4{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.sync-sec ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sync-sec label,.sync-remove{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:9px;font-size:14px;display:flex}.sync-sec input[type=checkbox],.sync-sec input[type=radio],.sync-remove input[type=checkbox]{flex:none;width:20px;height:20px;margin:0}.sync-choice{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;display:flex}.sync-tag{border:1px solid var(--line-strong);color:var(--text-secondary);white-space:nowrap;border-radius:100px;margin-left:6px;padding:0 7px;font-size:11.5px;font-style:normal;line-height:18px;display:inline-block}.sync-ask{gap:var(--space-2);flex-direction:column;margin-top:4px;display:flex}.sync-ask p{margin:0;font-size:13.5px;line-height:1.4}.sync-diff{border-collapse:collapse;width:100%;font-size:13px}.sync-diff th,.sync-diff td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:4px 6px}.sync-diff thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);font-size:11px;font-weight:600}.sync-diff tbody th{color:var(--text-secondary);white-space:nowrap;font-weight:500}ul.plain{color:var(--text-secondary);margin:0;padding:0;font-size:13.5px;line-height:1.5;list-style:none}ul.plain b{color:var(--text-primary);font-weight:600}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius)}.grid4{gap:14px var(--space-5);padding:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.field .label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);font-size:11px;font-weight:600}.field .val{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:14px;overflow:hidden}.field .val.mono{font-family:var(--font-mono);font-size:13px}.field .val.empty{color:var(--text-disabled)}.hist .hd{align-items:center;gap:var(--space-3);padding:11px var(--space-4);border-bottom:1px solid var(--line);display:flex}.hist .delta{font-family:var(--font-mono);color:var(--text-secondary);font-size:12.5px}.hist table{border-collapse:collapse;width:100%}.hist th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);padding:9px var(--space-4);border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.hist td{padding:11px var(--space-4);border-bottom:1px solid var(--line);color:var(--text-primary);font-size:14px}.hist tbody tr:last-child td{border-bottom:0}.hist tbody tr[role=button]{cursor:pointer}.hist tbody tr[role=button]:hover td{background:var(--surface-sunken)}.hist tbody tr.from-mdb td{color:var(--text-secondary)}.hist .num{font-family:var(--font-mono)}.hist .hint{padding:9px var(--space-4);border-top:1px solid var(--line);background:var(--surface-sunken);border-radius:0 0 var(--radius) var(--radius);color:var(--text-secondary);font-size:12.5px}.hist .empty{padding:var(--space-5) var(--space-4);color:var(--text-disabled);font-size:14px}.record-empty{padding:var(--space-5);color:var(--text-disabled);text-align:center;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=900px){.list{width:238px}.grid4{gap:10px var(--space-4);grid-template-columns:repeat(2,1fr)}.hideOnPi{display:none!important}.rechead h2{font-size:19px}.avatar.big{width:44px;height:44px;font-size:16px}.edit-client .label{display:none}.edit-client{padding:0 var(--space-3)}.record .hist tbody tr:nth-child(n+4){display:none}.record .hist th,.record .hist td{padding-left:10px;padding-right:10px}}.list-head .btn.checkin-open{white-space:normal;text-wrap:balance;padding:6px var(--space-3);text-align:center;line-height:1.25}.btn.checkin-open svg{flex:none}.list-note{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.35}.modal .box.checkin{max-width:480px;max-height:calc(100vh - 2 * var(--space-5));overflow-y:auto}.checkin-head{align-items:center;gap:var(--space-3);display:flex}.checkin-head h3{flex:1;min-width:0}.checkin-head .btn{width:var(--touch-min);flex:none;padding:0}.checkin-cam{gap:var(--space-2);flex-direction:column;display:flex}.modal .checkin-cam .st-camera{aspect-ratio:3/4;width:100%;height:auto;max-height:52vh}@media (orientation:landscape){.modal .checkin-cam .st-camera{aspect-ratio:4/3}}.modal .checkin-cam .st-camera.unavailable{aspect-ratio:auto;min-height:160px}.checkin-who{align-items:center;gap:var(--space-4);display:flex}.checkin-who>div{flex-direction:column;gap:4px;min-width:0;display:flex}.checkin-who b{color:var(--text-primary);font-size:18px}.checkin-who span{color:var(--text-secondary);font-size:14px}.avatar.checkin-photo{width:96px;height:96px;font-size:30px}.similar-check{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--surface-sunken);flex-direction:column;font-size:13.5px;line-height:1.4;display:flex}.similar-check.muted{align-items:center;gap:var(--space-3);color:var(--text-secondary);flex-flow:wrap}.similar-check.found{border-left:3px solid var(--state-warning);color:var(--text-primary)}.similar-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;font-weight:600;display:flex}.similar-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.similar-list li{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;display:grid}.similar-list .who{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.similar-list .who span{color:var(--text-secondary)}.similar-list .note{grid-column:1/-1}.tiles{gap:var(--space-3);grid-template-columns:1.4fr 1fr 1fr 1fr;display:grid}.tile{padding:var(--space-3) var(--space-4);flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.tile .num{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:27px;font-weight:700;line-height:1.1}.tile .num .u{color:var(--text-secondary);margin-left:4px;font-size:.5em;font-weight:600}.tile.hero .num{font-size:46px}.tile .foot{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.lower{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.comp,.trend{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.comp .bar{background:var(--surface-sunken);border:1px solid var(--line);border-radius:100px;height:14px;display:flex;overflow:hidden}.comp .bar .fat{background:var(--brand);height:100%}.comp .legend{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.comp .legend span{align-items:center;gap:8px;display:flex}.comp .legend b{font-family:var(--font-mono);color:var(--text-primary);margin-left:auto;font-size:12.5px}.comp .legend i{border-radius:2px;flex:none;width:9px;height:9px}.comp .legend i.fat{background:var(--brand)}.comp .legend i.lean{background:var(--line-strong)}.trend-scope{color:var(--text-secondary);margin:-6px 0 0;font-size:12px;line-height:1.35}.trend svg{width:100%;height:auto;color:var(--text-primary)}.trend-empty{color:var(--text-disabled);margin:0;font-size:13px;line-height:1.45}.rhead{align-items:flex-start;gap:var(--space-3);display:flex}.rhead h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.2}.rhead .sub{color:var(--text-secondary);margin-top:2px;font-size:12.5px}.rfoot{align-items:center;gap:var(--space-3);padding-top:var(--space-3);flex-wrap:wrap;margin-top:auto;display:flex}@media (width<=900px){.tiles{grid-template-columns:repeat(2,1fr)}.tile .num{font-size:24px}.tile.hero .num{font-size:40px}.comp,.trend{padding:var(--space-3)}.rhead h2{font-size:19px}}.evo-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:-4px;font-size:12px;display:flex}.evo-legend span{align-items:center;gap:6px;display:inline-flex}.evo-legend .unit{font-family:var(--font-mono);margin-left:auto}.evo-legend i{border-radius:2px;flex:none;width:9px;height:9px}.evo-legend i.fat{background:var(--brand)}.evo-legend i.lean{background:var(--line-strong)}.evo-legend i.other{background:linear-gradient(90deg, var(--brand) 50%, var(--line-strong) 50%);opacity:.5}.evo svg{align-self:center;max-width:440px}.evo svg text{font-family:var(--font-mono)}.evo .evo-weight{fill:currentColor;font-size:10.5px;font-weight:600}.evo .evo-fat{fill:#fff;font-size:8.5px;font-weight:600}.evo .evo-day{fill:var(--text-secondary);font-size:9px}.evo .evo-year{fill:var(--text-disabled);font-size:8.5px}.instr{text-align:center;min-height:0;padding:var(--space-4) 0;flex-direction:column;flex:1;justify-content:safe center;align-items:center;gap:6px;display:flex}.instr figure{width:100%;max-width:300px;min-height:0;color:var(--text-primary);flex:0 auto;margin:0}.instr figure svg{width:100%;height:100%;display:block}.instr h2{letter-spacing:-.02em;color:var(--text-primary);margin:10px 0 0;font-size:40px;font-weight:700;line-height:1.1}.instr p{max-width:460px;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.5}@media (width<=900px){.instr figure{max-width:230px}.instr h2{font-size:30px}.instr p{max-width:420px;font-size:13px}}.panel{min-height:0;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--surface-base);flex:1;overflow-y:auto}.panel-col{gap:var(--space-4);flex-direction:column;width:100%;max-width:780px;margin:0 auto;display:flex}.panel-title{color:var(--text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.2}.panel-grid{align-items:start;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.panel-grid>.wide{grid-column:1/-1}@media (width<=640px){.panel-grid{grid-template-columns:minmax(0,1fr)}}.panel-sec{gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex}.panel-sec>h3,.panel-sec .stations>h3{letter-spacing:.09em;text-transform:uppercase;color:var(--text-disabled);margin:0;font-size:11px;font-weight:600}.panel-sec>p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.panel-sec.is-off{opacity:.65}.panel-sec>.btn{align-self:flex-start}.panel-sec .sublabel{letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);font-size:11px;font-weight:600}.btn-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.btn-row.nav .btn{padding:0 var(--space-4);justify-content:space-between}.kv{flex-direction:column;display:flex}.kv>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--line);padding:7px 0;font-size:13.5px;display:flex}.kv>div:last-child{border-bottom:0;padding-bottom:0}.kv .k{color:var(--text-secondary);white-space:nowrap}.kv .v{min-width:0;color:var(--text-primary);text-align:right;text-overflow:ellipsis;font-weight:600;overflow:hidden}.kv .v .led{width:9px;height:9px;margin-right:7px}.kv .v.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.note{padding:9px var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:flex-start;gap:9px;font-size:13px;line-height:1.4;display:flex}.note svg{flex:none;margin-top:1px}.note.warn,.note.err,.note.ok{border-left:3px solid var(--line-strong);color:var(--text-primary)}.note.warn{border-left-color:var(--state-warning)}.note.err{border-left-color:var(--state-error)}.note.ok{border-left-color:var(--state-ok)}.note.busy{animation:1.5s ease-in-out infinite breathingPulse}.note b{font-weight:700;display:block}.note .raw{font-family:var(--font-mono);color:var(--text-secondary);word-break:break-all;margin-top:3px;font-size:11px;display:block}.linkish{min-height:36px;color:var(--text-secondary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0 2px;font-size:13px;text-decoration:underline}.linkish:hover{color:var(--text-primary)}.seg{gap:var(--space-2);display:grid}.seg[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.seg[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.seg button{min-height:var(--touch-min);padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-base);color:var(--text-primary);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.seg button:hover:not(:disabled):not(.is-on){background:var(--surface-sunken)}.seg button.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:inset 0 0 0 1px var(--accent)}.seg button:disabled{cursor:not-allowed;color:var(--text-disabled)}.picks{gap:var(--space-2);flex-direction:column;display:flex}.pick{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);text-align:left;font:inherit;cursor:pointer;flex-direction:column;gap:3px;display:flex}.pick:hover:not(:disabled){background:var(--surface-sunken)}.pick.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pick:disabled{cursor:not-allowed}.pick:disabled .name,.pick:disabled .desc{color:var(--text-disabled)}.pick.is-on:disabled .name{color:var(--text-primary)}.pick .name{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:14.5px;font-weight:600;display:flex}.pick .name .dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;margin-left:auto}.pick .desc{color:var(--text-secondary);font-size:12.5px;line-height:1.35}.pick .why{color:var(--state-error);margin-top:2px;font-size:12px;font-weight:600}.counts{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.counts>div{padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm)}.counts .k{letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);font-size:11px;font-weight:600}.counts .n{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;margin-top:1px;font-size:26px;font-weight:700;line-height:1.1}.counts .n.pending{color:var(--state-warning)}.hist-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hist-bar .count{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.hist-bar .spacer{flex:1}.hist-bar b{color:var(--text-primary);font-size:14px;font-weight:600;display:block}.hist-bar .sub{color:var(--text-secondary);margin-top:1px;font-size:12.5px;display:block}select.field-select{min-height:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);max-width:260px;color:var(--text-primary);font:inherit;cursor:pointer;padding:0 10px;font-size:14px;font-weight:600}.hist .who{color:var(--text-secondary);margin-top:1px;font-size:12px;display:block}.hist .who .anon{color:var(--text-disabled)}.hist td.act{width:1%;padding-right:var(--space-3);text-align:right}.hist td.act .iconbtn{width:32px;height:32px}.hist td.act .iconbtn:hover{border-color:var(--state-error);color:var(--state-error)}.modal{z-index:320;padding:var(--space-5);background:var(--overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal .box{gap:var(--space-4);width:100%;max-width:440px;padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.modal h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.modal p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.45}.modal .acts{gap:var(--space-3);justify-content:flex-end;display:flex}.modal .box.qr{align-items:center;gap:var(--space-5);flex-direction:row;max-width:600px}.modal .box.qr svg{flex:none}.modal .box.qr .side{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.modal .box.qr .ssid{font-family:var(--font-mono);color:var(--text-primary);overflow-wrap:anywhere;font-size:15px;font-weight:600}@media (width<=640px){.modal .box.qr{flex-direction:column}}.drawer{z-index:300;background:var(--surface-raised);border-left:1px solid var(--line);width:min(440px,100vw);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);flex:none;display:flex}.drawer-head h2{min-width:0;color:var(--text-primary);flex:1;margin:0;font-size:15px;font-weight:700}.drawer-head .iconbtn{width:40px;height:40px}.drawer-body{min-height:0;padding:var(--space-3);background:var(--surface-sunken);font-family:var(--font-mono);color:var(--text-primary);flex:1;font-size:12px;line-height:1.5;overflow-y:auto}.drawer-body div{white-space:pre-wrap;word-break:break-all}.drawer-body .empty{color:var(--text-secondary)}.drawer-foot{gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--line);background:var(--surface-raised);flex-direction:column;flex:none;display:flex}.keys{flex-wrap:wrap;gap:6px;display:flex}.keys button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-base);min-height:36px;color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;padding:0 10px;font-size:12px;font-weight:600}.keys button:hover:not(:disabled){background:var(--surface-sunken)}.keys button:disabled{cursor:not-allowed;color:var(--text-disabled)}.drawer-foot form{gap:6px;display:flex}.drawer-foot input{min-width:0;min-height:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-primary);font-family:var(--font-mono);flex:1;padding:0 10px;font-size:13px}@media (width<=900px){.panel{padding:var(--space-3) var(--space-4) var(--space-4)}.panel-title{font-size:18px}.panel-sec{padding:var(--space-3);gap:var(--space-2)}.drawer{width:min(400px,100vw)}}input.field{width:100%;max-width:320px;min-height:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;padding:0 10px;font-size:15px}input.field:disabled{background:var(--surface-sunken);color:var(--text-disabled)}.panel-sec .hint{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:12.5px;line-height:1.45}.panel-sec .hint.err{color:var(--state-error)}.panel-sec .btn-row .hint{align-self:center;margin:0}.panel-sec .stations{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.station-list{gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);flex-wrap:wrap;display:flex}.station-code{min-width:80px;min-height:var(--touch-min);padding:0 var(--space-4);font-family:var(--font-mono);color:var(--text-primary);border:1px solid var(--line-strong);background:var(--surface-raised);cursor:pointer;border-radius:999px;font-size:15px;font-weight:600}.station-code.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-sunken)}.station-code:disabled{cursor:default;color:var(--text-disabled)}.station-code.is-on:disabled{color:var(--text-primary)}.station-add{gap:var(--space-2);display:flex}.station-add input.field{text-transform:uppercase;max-width:160px}.note .raw{-webkit-user-select:text;user-select:text}.note .raw.long{white-space:pre-wrap;word-break:normal;background:var(--surface-sunken);border-radius:var(--radius-sm);max-height:180px;padding:4px 6px;overflow:auto}.help{min-height:0;padding:var(--space-4) var(--space-4) var(--space-8);flex:1;overflow-y:auto}.help>*{max-width:820px;margin-inline:auto}.help h2{letter-spacing:-.01em;margin:0 0 var(--space-1);font-size:20px;font-weight:600}.help .lede{color:var(--text-secondary);margin:0 0 var(--space-5)}.help-case{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-4)}.help-case>h3{align-items:baseline;gap:var(--space-2);margin:0 0 2px;font-size:15px;font-weight:600;display:flex}.help-num{background:var(--accent);width:22px;height:22px;color:var(--accent-contrast);text-align:center;border-radius:999px;flex:none;align-self:flex-start;font-size:12px;line-height:22px}.help-who{color:var(--text-secondary);margin:0 0 var(--space-3) 30px}.help-chain{align-items:stretch;gap:var(--space-2);margin:var(--space-3) 0;display:flex}.help-node{text-align:center;min-width:0;padding:var(--space-3) var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;display:flex}.help-node.soft{background:var(--surface-sunken)}.help-node.ghost{background:0 0;border-style:dashed}.help-node b{font-size:13px;font-weight:500}.help-node span{color:var(--text-secondary);font-size:11px;line-height:1.3}.help-node .dev-dot{background:var(--brand);border-radius:999px;width:7px;height:7px;margin-bottom:2px}.help-group{min-width:0;padding:var(--space-2);border:1px dashed var(--line-strong);border-radius:var(--radius-md);flex-direction:column;flex:2 1 0;gap:2px;display:flex}.help-group>.label{color:var(--text-secondary);font-size:11px;line-height:1.2}.help-group>.help-chain{flex:1;margin:0}.help-hop{min-width:42px;color:var(--text-secondary);text-align:center;flex-direction:column;flex:0 96px;justify-content:center;align-items:center;gap:1px;font-size:11px;line-height:1.2;display:flex}.help-hop .arrow{color:var(--text-secondary);font-size:15px;line-height:1}.help-facts{gap:var(--space-2) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);grid-template-columns:124px 1fr;margin:0;display:grid}.help-facts dt{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding-top:2px;font-size:11px}.help-facts dd{overflow-wrap:anywhere;margin:0}.help-facts dd p,.help-facts dd ul{margin:0 0 var(--space-2)}.help-facts dd>:last-child{margin-bottom:0}.help-facts dd ul{padding-left:18px}.help-facts dd li+li{margin-top:var(--space-1)}.help-case.help-steps .help-who{margin-left:0}.help code{font-family:var(--font-mono);background:var(--surface-sunken);overflow-wrap:anywhere;border-radius:3px;padding:1px 4px;font-size:12px}.help .no{color:var(--state-error)}.help-rule{background:var(--surface-raised);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4)}.help-rule p{margin:0 0 var(--space-2)}.help-rule p:last-child{margin:0}.help-chip{border:1px solid var(--line-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:1px 9px 1px 7px;font-size:12px;display:inline-flex}.help-chip:before{content:"";background:var(--state-ok);border-radius:999px;width:7px;height:7px}.help-chip.sim:before{background:var(--state-warning)}.help h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:var(--space-6) 0 var(--space-2);font-size:12px;font-weight:600}.help table{border-collapse:collapse;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);width:100%}.help th,.help td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 10px}.help th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:11px;font-weight:500}.help tbody tr:last-child td{border-bottom:none}.help-also{color:var(--text-secondary);margin:0}@media (width<=620px){.help-chain{flex-direction:column}.help-hop{gap:var(--space-2);flex-direction:row;flex:none;min-height:34px}.help-hop .arrow{transform:rotate(90deg)}.help-group{flex-direction:column}.help-facts{grid-template-columns:1fr;gap:0}.help-facts dd{margin-bottom:var(--space-3)}}.login{z-index:800;padding:var(--space-4);background:var(--surface-sunken);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.login-card{gap:var(--space-5);width:100%;max-width:720px;padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=640px){.login-card{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}.login-side,.login-form{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.login-form{justify-content:center}.login-mark{letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.login-mark .dot{background:var(--brand);border-radius:50%;flex:none;width:10px;height:10px}.login-mark small{color:var(--text-disabled);font-size:13px;font-weight:400}.login-title{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.login-sub{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.login-form .sublabel{letter-spacing:.04em;text-transform:uppercase;color:var(--text-disabled);margin-bottom:calc(-1 * var(--space-2));font-size:11px;font-weight:600}.login-form input.field{max-width:none}.login-langs{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.login-langs button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);min-width:36px;height:30px;color:var(--text-secondary);font:inherit;font-family:var(--font-mono);cursor:pointer;padding:0 6px;font-size:12px}.login-langs button[aria-pressed=true]{color:var(--text-primary);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chip.user{flex-shrink:1;min-width:0;max-width:150px}.chip.user span{text-overflow:ellipsis;overflow:hidden}.account-name{color:var(--text-primary);overflow-wrap:anywhere;font-size:16px;font-weight:600}.st-shell{background:var(--surface-base);height:100%;min-height:0;color:var(--text-primary);flex-direction:column;display:flex}.st-top{align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--line);flex:none;display:flex}.st-top .mark,.st-brand{white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.st-top .mark .dot,.st-brand .dot{background:var(--brand);border-radius:50%;flex:none;width:10px;height:10px}.st-progress{justify-content:center;gap:var(--space-2);flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex}.st-progress li{color:var(--text-disabled);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.st-progress li+li:before{content:"";background:var(--line-strong);width:14px;height:1px;margin-right:2px}.st-progress .n{border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:inline-flex}.st-progress li.done{color:var(--text-secondary)}.st-progress li.done .n{background:var(--surface-sunken)}.st-progress li.current{color:var(--text-primary);font-weight:600}.st-progress li.current .n{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}@media (width<=860px){.st-progress li:not(.current) .l{display:none}}.st-stop{flex:none}.st-body{min-height:0;padding:var(--space-5) var(--space-6);flex-direction:column;flex:1;display:flex;overflow:auto}.st-big{min-height:56px;padding:0 var(--space-6);font-size:18px;font-weight:600}.st-muted{color:var(--text-secondary);margin:var(--space-2) 0 0;font-size:16px;line-height:1.35}.st-ok{color:var(--state-ok);font-size:15px;font-weight:600}.st-error{min-height:22px;margin:var(--space-2) 0 0;color:var(--state-error);font-size:15px;font-weight:600}.st-actions{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);margin-top:auto;display:flex}.st-art{color:var(--text-primary);margin:0}.st-art svg{width:100%;height:auto;display:block}.st-shell h1{margin:0 0 var(--space-3);letter-spacing:-.01em;font-size:26px;line-height:1.2}.st-shell h2{margin:0 0 var(--space-2);font-size:22px}.st-checkin{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.st-checkin .st-brand{font-size:17px}.st-checkin-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.st-service{width:44px;height:44px}.st-langs{gap:var(--space-2);flex-wrap:wrap;display:flex}.st-langs button{min-height:44px;padding:0 var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;cursor:pointer;font-size:15px}.st-langs button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.st-hero{gap:var(--space-6);flex:1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;display:grid}.st-hero h1{font-size:34px}.st-hero p{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:20px;line-height:1.4}.st-hero p.st-wait{font-size:17px;line-height:1.35}.st-wait b{color:var(--text-primary)}.st-starts{gap:var(--space-3);max-width:380px;display:grid}.st-start{width:100%;min-height:64px;padding:0 var(--space-4);font-size:21px;line-height:1.2}.st-form{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.st-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.st-row .st-narrow{max-width:220px}.st-lead{margin:calc(-1 * var(--space-2)) 0 0}.st-form.st-account-step{gap:var(--space-5);grid-template-columns:auto minmax(0,1fr);align-items:stretch;display:grid}.st-qr{gap:var(--space-2);flex-direction:column;display:flex}.st-account-main{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.st-account-main>p{margin:0;font-size:16px;line-height:1.3}.st-account-form{gap:var(--space-3);flex-direction:column;display:flex}.st-camera{--cam-w:252px;--cam-h:336px;width:var(--cam-w);height:var(--cam-h);border-radius:var(--radius);background:var(--text-primary);position:relative;overflow:hidden}.st-camera video,.st-camera img{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.st-camera .st-mark{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;transform:scaleX(-1)}.st-mark polygon{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.st-mark polygon.halo{stroke:var(--mark-halo);stroke-width:8px}.st-mark polygon:not(.halo){stroke-width:4px}.st-mark.face polygon:not(.halo){stroke:var(--mark-face);stroke-width:3px}.st-mark.code polygon:not(.halo){stroke:var(--mark-code)}.st-camera.video img,.st-camera.station video{display:none}.st-camera.rot90 video,.st-camera.rot90 img,.st-camera.rot90 .st-mark,.st-camera.rot270 video,.st-camera.rot270 img,.st-camera.rot270 .st-mark{width:var(--cam-h);height:var(--cam-w);position:absolute;top:50%;left:50%}.st-camera.rot90 video,.st-camera.rot90 img,.st-camera.rot90 .st-mark{transform:translate(-50%,-50%)scaleX(-1)rotate(90deg)}.st-camera.rot180 video,.st-camera.rot180 img,.st-camera.rot180 .st-mark{transform:scaleX(-1)rotate(180deg)}.st-camera.rot270 video,.st-camera.rot270 img,.st-camera.rot270 .st-mark{transform:translate(-50%,-50%)scaleX(-1)rotate(270deg)}.st-camera.no-mirror video,.st-camera.no-mirror img,.st-camera.no-mirror .st-mark{transform:none}.st-camera.preview{--cam-w:216px;--cam-h:288px}.st-camera.preview.unavailable{height:var(--cam-h)}.st-camera.unavailable{height:calc(var(--cam-h) + var(--space-2) + var(--touch-min));padding:var(--space-4);background:var(--surface-sunken);border:1px dashed var(--line-strong);justify-content:center;align-items:center;display:flex}.st-camera.unavailable video,.st-camera.unavailable img{display:none}.st-camera p{text-align:center;color:var(--text-secondary);margin:0;font-size:16px}.st-face{width:100%;font-size:16px;font-weight:600}.st-face.working,.st-face.working:disabled{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:progress}.st-face-pulse{background:currentColor;border-radius:50%;flex:none;width:10px;height:10px;animation:1.6s ease-in-out infinite breathingPulse}.st-camera small{margin-top:var(--space-2);color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;font-size:11px;line-height:1.3;display:block}.st-camera .st-camera-busy{padding:var(--space-2);background:var(--overlay);color:var(--accent-contrast);font-weight:600;position:absolute;inset:auto 0 0}@media (width<=640px){.st-form.st-account-step{grid-template-columns:1fr}}.st-hello{gap:var(--space-6);flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.st-hello h1{margin-bottom:var(--space-3);font-size:34px}.avatar.st-hello-photo{width:232px;height:232px;font-size:72px}.st-welcome-details{gap:var(--space-3);flex-direction:column;display:flex}.st-hello.st-welcome h1{font-size:26px}.st-welcome .st-row{grid-template-columns:minmax(0,1fr) 220px}.st-notyou{color:var(--text-secondary);margin:0;font-size:20px;font-weight:600;line-height:1.4}.st-known{gap:var(--space-2);grid-template-columns:1fr 1fr;align-self:end;margin:0;display:grid}.st-known div{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised)}.st-known dt{color:var(--text-secondary);font-size:13px}.st-known dd{margin:2px 0 0;font-size:18px;font-weight:600}.st-field{flex-direction:column;gap:6px;font-size:15px;font-weight:600;display:flex}.st-field small{color:var(--text-secondary);font-size:15px;font-weight:400}.st-shell .linkish{min-height:44px;font-size:17px}.st-shell input:not([type=checkbox]){width:100%;height:52px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:19px;font-weight:500}.st-shell input:not([type=checkbox]):focus{outline:2px solid var(--accent);outline-offset:1px}.st-consent{align-items:flex-start;gap:var(--space-3);color:var(--text-secondary);cursor:pointer;font-size:15px;line-height:1.25;display:flex}.st-consent input{width:26px;height:26px;accent-color:var(--accent);flex:none;margin:0}.st-choice{gap:var(--space-3);display:flex}.st-choice button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);min-width:160px;min-height:56px;color:var(--text-primary);font:inherit;cursor:pointer;font-size:19px}.st-choice button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.st-split{gap:var(--space-6);flex:1;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;display:grid}.st-weigh{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.st-weigh p{color:var(--text-secondary);margin:0;font-size:19px;line-height:1.35}.st-live{font-family:var(--font-mono);color:var(--text-secondary);font-size:44px;font-weight:500;line-height:1.1}.st-live.ok{color:var(--text-primary)}.st-bar{background:var(--surface-sunken);border-radius:3px;width:100%;max-width:320px;height:6px;overflow:hidden}.st-bar i{background:var(--accent);height:100%;transition:width .3s;display:block}.st-split.st-split-shoes{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.st-shoes-pick{gap:var(--space-3);flex-direction:column;display:flex}.st-shoes-hint{color:var(--text-secondary);margin:0;font-size:19px;line-height:1.35}.st-shoes{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.st-shoes button{padding:var(--space-2) var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:6px;font-size:21px;line-height:1.2;display:flex;position:relative}.st-shoes button svg{width:100%;height:auto;max-height:106px;display:block}.st-shoes button.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);font-weight:600}.st-shoes button.on:after{content:"";background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px no-repeat;border-radius:50%;width:30px;height:30px;position:absolute;top:8px;right:8px}.st-weigh p.st-shoes-note{min-height:1.4em;font-size:18px}.st-stage{gap:var(--space-6);flex:1;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;display:grid}.st-stage.st-place{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}.st-stage-text{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.st-stage-text p{color:var(--text-secondary);margin:0;font-size:21px;line-height:1.4}.st-stage.busy h1:after{content:"";background:var(--state-measuring);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-left:10px;animation:1.6s ease-in-out infinite breathingPulse;display:inline-block}.st-steps{flex-direction:column;gap:6px;margin:0;padding-left:1.3em;font-size:19px;line-height:1.3;display:flex}.st-steps b{color:var(--text-primary)}.st-fallback{align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:17px;line-height:1.3;display:flex}.st-fallback span{flex:1 1 0;min-width:0}.st-fallback .btn{flex:none}.st-stage .st-actions{width:100%}.st-result{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.st-result-main{gap:var(--space-6);grid-template-columns:auto 1fr;align-items:center;display:grid}.st-fat{flex-direction:column;display:flex}.st-fat .k{color:var(--text-secondary);font-size:15px;font-weight:600}.st-fat .v{font-family:var(--font-mono);font-size:84px;font-weight:500;line-height:1}.st-fat .v small{margin-left:4px;font-size:36px}.st-tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.st-tiles div{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised)}.st-tiles dt{color:var(--text-secondary);font-size:13px}.st-tiles dd{font-family:var(--font-mono);margin:2px 0 0;font-size:20px;font-weight:500}.st-note{color:var(--text-secondary);margin:0;font-size:17px;line-height:1.4}.st-result-actions{flex-wrap:wrap}.st-privacy{font-size:14px}.st-report{gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex}.st-report-bar{justify-content:space-between;align-items:center;display:flex}.st-report-bar h1{margin:0}.st-report iframe{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);flex:1;width:100%;min-height:0}.st-idle{z-index:600;background:var(--overlay);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.login~.st-idle{z-index:850}.st-idle-card{max-width:460px;padding:var(--space-6);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-md);text-align:center}.st-idle-card p{color:var(--text-secondary);margin:0 0 var(--space-5);font-size:19px;line-height:1.4}@media (width<=640px){.st-hero,.st-split,.st-split.st-split-shoes,.st-stage,.st-stage.st-place,.st-row{grid-template-columns:1fr}.st-art{max-width:260px}.st-shoes{max-width:320px}}.ht{z-index:500;background:var(--surface-base);color:var(--text-primary);flex-direction:column;display:flex;position:absolute;inset:0}.ht-top{justify-content:space-between;align-items:center;gap:var(--space-4);height:56px;padding:0 var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--line);flex:none;display:flex}.ht-top h2{align-items:center;gap:9px;min-width:0;margin:0;font-size:19px;font-weight:600;display:flex}.ht-top h2 .dot{background:var(--brand);border-radius:50%;flex:none;width:10px;height:10px}.ht-top .btn{flex:none}.ht-body{gap:var(--space-6);min-height:0;padding:var(--space-4) var(--space-6) 0;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.ht-stage{justify-content:center;align-items:center;height:100%;min-height:0;margin:0;display:flex}.ht-stage svg{width:100%;height:100%;display:block}.ht-text{gap:var(--space-3);flex-direction:column;display:flex}.ht-count{letter-spacing:.04em;color:var(--text-secondary);font-size:15px;font-weight:600}.ht-text h1{margin:0;font-size:27px;line-height:1.2}.ht-text p{color:var(--text-secondary);margin:0;font-size:21px;line-height:1.4}.ht-text.fresh{animation:.35s ease-out both ht-text-in}@keyframes ht-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ht-foot{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6) var(--space-3);flex:none;display:flex}.ht-segs{flex:1;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.ht-segs li{flex:1;min-width:0}.ht-segs button{cursor:pointer;background:0 0;border:0;align-items:center;width:100%;height:44px;padding:0;display:flex}.ht-segs span{background:var(--surface-sunken);border-radius:3px;width:100%;height:6px;display:block;overflow:hidden}.ht-segs i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.ht-segs .done i{transform:none}.ht-segs .current i{animation:ht-seg var(--seg) linear both}@keyframes ht-seg{0%{transform:scaleX(0)}to{transform:none}}.st-howto{gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.st-howto svg.ht-art{width:100%;height:auto;display:block}.st-howto-label{align-items:center;gap:var(--space-3);min-height:40px;font-size:20px;font-weight:600;line-height:1.2;display:flex}.st-howto-play{background:var(--accent);width:40px;height:40px;color:var(--accent-contrast);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ht-art .ht-ripple,.ht-art .ht-click,.ht-art .ht-btn-ring,.ht-art .ht-ok,.ht-art .ht-spin,.ht-art .ht-detect{transform-box:fill-box;transform-origin:50%}.ht-fx .ht-ripple{animation:1.6s ease-out infinite ht-ripple;animation-delay:var(--fx-delay,0s)}.ht-fx .ht-ripple.ht-later{animation-delay:calc(var(--fx-delay,0s) + .8s)}@keyframes ht-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.ht-play.ht-scale{--fx-delay:calc(var(--d) * .62)}.ht-play.ht-scale .ht-foot-l{animation:ht-scale-foot-l var(--d) ease-out both}.ht-play.ht-scale .ht-foot-r{animation:ht-scale-foot-r var(--d) ease-out both}@keyframes ht-scale-foot-l{0%,12%{opacity:0;transform:translateY(-14px)}24%,to{opacity:1;transform:none}}@keyframes ht-scale-foot-r{0%,28%{opacity:0;transform:translateY(-14px)}40%,to{opacity:1;transform:none}}.ht-scale .ht-ok,.ht-scale .ht-mark{opacity:1}.ht-play.ht-scale .ht-ok{animation:ht-scale-ok var(--d) ease-out both}@keyframes ht-scale-ok{0%,46%{opacity:0;transform:scale(.5)}54%,to{opacity:1;transform:none}}.ht-play.ht-scale .ht-mark{animation:ht-scale-mark var(--d) both}@keyframes ht-scale-mark{0%,58%{opacity:0}64%,to{opacity:1}}.ht-fx.ht-check .ht-busy{opacity:1}.ht-fx .ht-spin{animation:1.1s linear infinite ht-spin}@keyframes ht-spin{to{transform:rotate(360deg)}}.ht-play.ht-check .ht-busy{animation:ht-check-busy var(--d) both}@keyframes ht-check-busy{0%,76%{opacity:1}82%,to{opacity:0}}.ht-play.ht-check .ht-ok{animation:ht-check-ok var(--d) ease-out both}@keyframes ht-check-ok{0%,78%{opacity:0;transform:scale(.6)}88%,to{opacity:1;transform:none}}.ht-play.ht-place .ht-site{animation:ht-place-site var(--d) both}@keyframes ht-place-site{0%,6%{opacity:0}14%,54%{opacity:1}62%,to{opacity:0}}.ht-play.ht-place .ht-reach{animation:ht-place-reach var(--d) ease-in-out both}@keyframes ht-place-reach{0%,20%{opacity:0;transform:translate(64px,30px)}28%{opacity:1;transform:translate(64px,30px)}60%,to{opacity:1;transform:none}}.ht-fx .ht-rays{animation:2s ease-in-out infinite breathingPulse}.ht-play.ht-press .ht-thumb{animation:ht-press-thumb var(--d) ease-in-out both}@keyframes ht-press-thumb{0%,8%{transform:translate(18px,-3px)}14%{transform:none}19%{transform:translate(-4px)}25%,to{transform:none}}.ht-play.ht-press .ht-btn-ring{animation:ht-press-ring var(--d) ease-in-out both}@keyframes ht-press-ring{0%{opacity:0;transform:scale(1.4)}4%{opacity:1;transform:none}8%{opacity:.45;transform:scale(1.15)}12%{opacity:1;transform:none}17%,to{opacity:0;transform:none}}.ht-play.ht-press .ht-btn{animation:ht-press-btn var(--d) ease-in-out both}@keyframes ht-press-btn{0%,14%{transform:none}19%{transform:translateY(2.5px)}25%,to{transform:none}}.ht-play.ht-press .ht-click{animation:ht-press-click var(--d) ease-out both}@keyframes ht-press-click{0%,18%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:none}38%,to{opacity:0;transform:scale(2.4)}}.ht-play.ht-press .ht-rays{animation:ht-press-rays var(--d) both}@keyframes ht-press-rays{0%,24%{opacity:0}30%{opacity:1}44%{opacity:.35}58%{opacity:1}72%{opacity:.35}86%,to{opacity:1}}.ht-play.ht-press .ht-dots{opacity:1}.ht-play.ht-press .ht-dot{animation:.3s ease-out both ht-dot-on;animation-delay:calc(var(--d) * .26 + var(--i) * 1s)}@keyframes ht-dot-on{0%{opacity:.16}to{opacity:1}}.ht-play.ht-again .ht-lift{animation:ht-again-lift var(--d) ease-in-out both}@keyframes ht-again-lift{0%,10%{transform:none}28%,44%{transform:translate(76px,-18px)}60%,to{transform:none}}.ht-play.ht-again .ht-site{animation:ht-again-site var(--d) both}@keyframes ht-again-site{0%,18%{opacity:0}26%,54%{opacity:1}60%,to{opacity:0}}.ht-play.ht-again .ht-btn-ring{animation:ht-again-ring var(--d) ease-in-out both}@keyframes ht-again-ring{0%,57%{opacity:0;transform:scale(1.4)}61%{opacity:1;transform:none}66%,to{opacity:0;transform:none}}.ht-play.ht-again .ht-thumb{animation:ht-again-thumb var(--d) ease-in-out both}@keyframes ht-again-thumb{0%,62%{transform:none}67%{transform:translate(-4px)}73%,to{transform:none}}.ht-play.ht-again .ht-btn{animation:ht-again-btn var(--d) ease-in-out both}@keyframes ht-again-btn{0%,62%{transform:none}67%{transform:translateY(2.5px)}73%,to{transform:none}}.ht-play.ht-again .ht-click{animation:ht-again-click var(--d) ease-out both}@keyframes ht-again-click{0%,66%{opacity:0;transform:scale(.6)}68%{opacity:1;transform:none}84%,to{opacity:0;transform:scale(2.4)}}.ht-play.ht-again .ht-rays{animation:ht-again-rays var(--d) both}@keyframes ht-again-rays{0%,74%{opacity:0}80%{opacity:1}90%{opacity:.35}to{opacity:1}}.ht-play.ht-light{--fx-delay:calc(var(--d) * .66)}.ht-play.ht-light .ht-label{animation:.5s ease-out both ht-label;animation-delay:calc(.2s + var(--i) * .35s)}@keyframes ht-label{0%{opacity:0;transform:translate(-8px)}to{opacity:.7;transform:none}}.ht-play.ht-light .ht-beam{animation:ht-light-beam var(--d) both}@keyframes ht-light-beam{0%,50%{opacity:0}62%,to{opacity:1}}.ht-fx .ht-detect{animation:1.8s ease-in-out infinite breathingPulse;animation-delay:var(--fx-delay,0s)}.ht-fx .ht-photon{animation:1.8s linear infinite ht-photon;animation-delay:calc(var(--fx-delay,0s) + var(--i) * .45s)}@keyframes ht-photon{0%{opacity:0;transform:translate(215px,114px)}5%{opacity:1;transform:translate(216px,119px)}25%{opacity:.7;transform:translate(227px,178px)}50%{opacity:.7;transform:translate(240px,246px)}75%{opacity:.65;transform:translate(253px,178px)}95%{opacity:.3;transform:translate(264px,119px)}to{opacity:0;transform:translate(265px,114px)}}.ht-play.ht-done .ht-dock{animation:ht-done-dock var(--d) ease-in-out both}@keyframes ht-done-dock{0%,6%{opacity:0;transform:translate(150px,-120px)}14%{opacity:1;transform:translate(150px,-120px)}44%,to{opacity:1;transform:none}}.ht-done .ht-wait{opacity:0}.ht-done .ht-result{opacity:1}.ht-fx.ht-done .ht-wait circle{animation:1.2s ease-in-out infinite breathingPulse;animation-delay:calc(var(--i) * .2s)}.ht-play.ht-done .ht-wait{animation:ht-done-wait var(--d) both}@keyframes ht-done-wait{0%,50%{opacity:1}56%,to{opacity:0}}.ht-play.ht-done .ht-result{animation:ht-done-result var(--d) ease-out both}@keyframes ht-done-result{0%,54%{opacity:0;transform:translateY(10px)}66%,to{opacity:1;transform:none}}@media (width<=640px){.ht-body{grid-template-columns:1fr;align-content:start}.ht-stage{height:auto}}
