@layer base{*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);font-size:var(--t-base);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;line-height:1.45;overflow:hidden}#app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.view{will-change:transform;flex-direction:column;flex:1;min-height:0;display:none}.view.active{animation:view-in .2s var(--ease-out);display:flex}@keyframes view-in{0%{opacity:0;transform:scale(.985)}}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin:0}b,strong{font-weight:700}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:rgb(var(--acc-rgb) / .3)}.scroll-y{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff29 transparent;overflow-y:auto}.scroll-y::-webkit-scrollbar{width:6px}.scroll-y::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:#ffffff29}.hidden{display:none!important}.tnum{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.glass{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.glass-strong{background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.ico{flex:none;width:20px;height:20px;display:block}.btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-pill);padding:10px var(--s-4);color:var(--text);font-size:var(--t-sm);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:background var(--d-fast) var(--ease), transform var(--d-fast) var(--ease), opacity var(--d-fast) var(--ease);background:#ffffff17;border:0;font-weight:650;display:inline-flex}.btn:hover{background:#ffffff26}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.42;cursor:default;transform:none}.btn-primary{background:var(--acc);color:var(--acc-ink);font-weight:750}.btn-primary:hover{background:var(--acc);filter:brightness(1.08)}.btn-ghost{background:0 0}.btn-ghost:hover{background:#ffffff1a}.btn-sm{padding:6px var(--s-3);font-size:var(--t-xs)}.btn-lg{padding:14px var(--s-5);font-size:var(--t-md);font-weight:700}.btn.danger{color:var(--danger);background:#ff7a851f}.btn.danger:hover{background:#ff7a8533}.btn.armed{background:var(--danger);color:#2a0c0e;font-weight:750}.btn[aria-pressed=true]{background:var(--acc);color:var(--acc-ink);font-weight:750}.chip{min-width:0;height:38px;padding:0 var(--s-3);border-radius:var(--r-pill);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text-dim);font-size:var(--t-xs);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background var(--d-fast) var(--ease), color var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);border:0;font-weight:650;overflow:hidden}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:var(--acc);color:var(--acc-ink);font-weight:750}.chip.loading{color:var(--text-faint);animation:1.1s ease-in-out infinite chip-pulse}@keyframes chip-pulse{50%{opacity:.5}}.icon-btn{background:var(--glass);width:42px;height:42px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text);cursor:pointer;transition:background var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-btn:hover{background:#ffffff29}.icon-btn:active{transform:scale(.92)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.icon-btn.on{background:var(--acc);color:var(--acc-ink)}.seg{border-radius:var(--r-pill);background:#ffffff12;border:0;gap:2px;padding:3px;display:inline-flex;overflow:visible}.seg-btn{border-radius:var(--r-pill);padding:7px var(--s-3);color:var(--text-dim);font-size:var(--t-xs);cursor:pointer;transition:background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);background:0 0;border:0;font-weight:650}.seg-btn+.seg-btn{border-left:0}.seg-btn:hover{color:var(--text)}.seg-btn.active{background:var(--acc);color:var(--acc-ink);font-weight:750}.hero-num{font-family:var(--font-display);font-size:var(--t-hero);letter-spacing:var(--track-hero);font-variant-numeric:tabular-nums;text-shadow:0 2px 26px #00000059;font-weight:800;line-height:.86}.hero-num .unit{letter-spacing:-.02em;opacity:.9;font-size:.38em;font-weight:700}.micro{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-dim);font-weight:800}.micro.on{color:var(--acc);text-shadow:var(--glow-acc)}.micro.off{color:var(--warn);text-shadow:var(--glow-warn)}.card,.dash-card,.kpi{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-4);border:0}.card:empty,.dash-card:empty{display:none}.card-title,.dash-card-title{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-3);font-weight:800}.dash-note{font-size:var(--t-xs);color:var(--text-dim);margin:0 0 var(--s-3);line-height:1.5}.dash-note.error{color:var(--danger)}.kpi-value{font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.04}.kpi-label{font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-faint);margin-top:var(--s-1);font-weight:800}.kpi-sub{font-size:var(--t-xs);color:var(--text-dim)}.delta{font-size:var(--t-xs);color:var(--acc);font-variant-numeric:tabular-nums;font-weight:800}.delta.down{color:var(--warn)}.tag{border-radius:var(--r-pill);color:var(--text-dim);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;background:#ffffff17;align-items:center;padding:3px 9px;font-weight:800;display:inline-flex}.tag.acc{background:rgb(var(--acc-rgb) / .18);color:var(--acc)}.tag.warn{background:rgb(var(--warn-rgb) / .18);color:var(--warn)}.badge{border-radius:var(--r-pill);background:var(--acc);min-width:18px;height:18px;color:var(--acc-ink);font-size:var(--t-micro);text-align:center;padding:0 5px;font-weight:800;line-height:18px;position:absolute;top:-4px;right:-4px}.account-dot{background:var(--text-faint);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.account-dot.on{background:var(--acc);box-shadow:var(--glow-acc)}.account-dot.pending{background:var(--warn);box-shadow:var(--glow-warn)}.field{gap:var(--s-1);flex-direction:column;display:flex}.field>span{font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-faint);font-weight:800}.field-row{gap:var(--s-2);align-items:stretch;display:flex}.field input,.field select,.field textarea,.admin-search,.join-input{border-radius:var(--r-sm);width:100%;color:var(--text);padding:11px var(--s-3);transition:background var(--d-fast) var(--ease), box-shadow var(--d-fast) var(--ease);background:#ffffff12;border:0;font-family:inherit;font-size:16px}.field textarea{resize:vertical;line-height:1.4}.field input:focus,.field select:focus,.field textarea:focus,.admin-search:focus,.join-input:focus{box-shadow:inset 0 0 0 1.5px var(--acc);background:#ffffff1c;outline:0}.field input::placeholder,.field textarea::placeholder,.admin-search::placeholder{color:var(--text-faint)}.settings-overlay{z-index:50;padding:calc(env(safe-area-inset-top) + var(--s-4)) var(--s-3) calc(env(safe-area-inset-bottom) + var(--s-3));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in var(--d-med) var(--ease-out);background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=700px){.settings-overlay{align-items:center}}.settings-panel,.auth-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:var(--r-xl);width:min(460px,100%);max-height:100%;padding:0 var(--s-4) var(--s-5);box-shadow:var(--e-3);animation:sheet-in var(--d-med) var(--ease-out);border:0;overflow-y:auto}.settings-head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) 0 var(--s-3);z-index:1;background:var(--surface);display:flex;position:sticky;top:0}.settings-head h2{font-size:var(--t-md);letter-spacing:var(--track-tight);font-weight:750}.settings-head .btn-sm{min-width:40px;min-height:40px}.settings-section{padding-top:var(--s-4)}.settings-section-title{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--acc);font-weight:800}.settings-note{margin:var(--s-2) 0 var(--s-3);font-size:var(--t-xs);color:var(--text-dim);line-height:1.5}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}}.toast-host{z-index:200;left:50%;bottom:calc(var(--s-5) + env(safe-area-inset-bottom));gap:var(--s-2);pointer-events:none;flex-direction:column;width:min(420px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--t-sm);color:var(--text);box-shadow:var(--e-2);cursor:pointer;animation:toast-in var(--d-med) var(--ease-out);border:0;line-height:1.4}.toast-ok{box-shadow:var(--e-2), inset 3px 0 0 var(--acc)}.toast-error{box-shadow:var(--e-2), inset 3px 0 0 var(--danger)}.toast.out{opacity:0;transition:all var(--d-med) var(--ease);transform:translateY(6px)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.update-bar{z-index:210;left:50%;top:calc(env(safe-area-inset-top) + 10px);align-items:center;gap:var(--s-3);width:min(460px,100vw - 24px);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-size:var(--t-sm);box-shadow:var(--e-2), inset 0 0 0 1px rgb(var(--acc-rgb) / .4);animation:toast-in var(--d-med) var(--ease-out);border:0;display:flex;position:fixed;transform:translate(-50%)}.update-bar span{flex:1}.status:empty{display:none}.status{font-size:var(--t-xs);color:var(--text-dim)}.status.error{color:var(--danger)}.busy-overlay{z-index:220;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--s-5);background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.busy-box{align-items:center;gap:var(--s-3);text-align:center;flex-direction:column;max-width:320px;display:flex}.busy-spinner{border:3px solid #ffffff24;border-top-color:var(--acc);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite busy-spin}@keyframes busy-spin{to{transform:rotate(360deg)}}.busy-label{font-size:var(--t-md);letter-spacing:var(--track-tight);font-weight:750}.busy-sub{font-size:var(--t-sm);color:var(--text-dim);min-height:1.4em;line-height:1.45}.busy-check{width:44px;height:44px;color:var(--acc-ink);background:var(--acc);box-shadow:var(--glow-acc);animation:busy-pop var(--d-med) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex}.busy-check svg{width:24px;height:24px}@keyframes busy-pop{0%{opacity:0;transform:scale(.7)}}.busy-actions{justify-content:center;gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;width:100%;display:flex}.busy-actions:empty{display:none}.busy-actions .btn-primary{width:100%}}@layer views{#capture-view{--cap-bottom-h:190px;position:relative}#capture-view .stage{background:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}#preview{object-fit:contain;background:#000;width:100%;height:100%}.overlay-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cap-top{z-index:20;align-items:center;gap:var(--s-2);padding:calc(env(safe-area-inset-top) + 10px) var(--s-3) var(--s-3);pointer-events:none;background:linear-gradient(#0000008c,#0000);display:flex;position:absolute;top:0;left:0;right:0}.cap-top>*,.cap-top button{pointer-events:auto}.cap-top-mid{align-items:center;gap:var(--s-2);flex-direction:column;flex:1;min-width:0;display:flex}.cap-top-right{gap:var(--s-2);flex:none;display:flex}.zoom-chip{min-width:46px;height:42px;padding:0 var(--s-3);border-radius:var(--r-pill);color:var(--text);font-family:var(--font-display);font-size:var(--t-sm);letter-spacing:-.02em;cursor:pointer;transition:background var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);border:0;flex:none;font-weight:800}.zoom-chip:active{transform:scale(.94)}.zoom-chip.on{background:var(--acc);color:var(--acc-ink)}.quick-panel{top:calc(env(safe-area-inset-top) + 62px);left:var(--s-3);right:var(--s-3);z-index:32;max-width:360px;padding:var(--s-3);border-radius:var(--r-xl);box-shadow:var(--e-3);animation:quick-in var(--d-med) var(--ease-out);position:absolute}@keyframes quick-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.quick-title{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-faint);padding:var(--s-2) var(--s-2) var(--s-1);font-weight:800}.quick-title+.quick-title,.quick-row+.quick-title{margin-top:var(--s-2)}.quick-row{align-items:center;gap:2px var(--s-3);width:100%;padding:9px var(--s-2);border-radius:var(--r-md);color:var(--text);text-align:left;cursor:pointer;transition:background var(--d-fast) var(--ease);background:0 0;border:0;grid-template-columns:1fr auto;display:grid}.quick-row:hover{background:#ffffff12}.quick-name{font-size:var(--t-sm);font-weight:650}.quick-sub{font-size:var(--t-xs);color:var(--text-dim);grid-column:1}.quick-switch{border-radius:var(--r-pill);width:42px;height:24px;transition:background var(--d-fast) var(--ease);background:#ffffff2e;grid-area:1/2/3;position:relative}.quick-switch:after{content:"";width:18px;height:18px;transition:transform var(--d-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.quick-row[aria-pressed=true] .quick-switch{background:var(--acc)}.quick-row[aria-pressed=true] .quick-switch:after{transform:translate(18px)}.quick-row.loading .quick-switch{animation:1.1s ease-in-out infinite chip-pulse}.quick-cam{padding:var(--s-1) var(--s-2) var(--s-2);font-size:var(--t-xs);color:var(--text-dim);line-height:1.5}.quick-cam b{color:var(--text);font-weight:650}.quick-more{width:100%;margin-top:var(--s-1)}.rec-pill{align-items:center;gap:var(--s-2);height:42px;padding:0 var(--s-4);border-radius:var(--r-pill);font-size:var(--t-sm);font-variant-numeric:tabular-nums;animation:pill-in var(--d-med) var(--ease-out);font-weight:700;display:flex}.rec-pill .dot{background:var(--rec);width:8px;height:8px;box-shadow:0 0 10px var(--rec);border-radius:50%;animation:1.1s infinite rec-blink}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes pill-in{0%{opacity:0;transform:translateY(-6px)}}.cap-msg{max-width:min(92vw,460px);padding:7px var(--s-3);border-radius:var(--r-pill);text-align:center;line-height:1.35}.pro-hud{text-align:center;z-index:15;pointer-events:none;animation:hud-in var(--d-med) var(--ease-out);position:absolute;top:34%;left:0;right:0}.pro-hud .micro{margin-top:var(--s-3)}.pro-diag{top:var(--s-2);left:var(--s-2);z-index:30;color:#fff;white-space:pre;pointer-events:none;background:#0009;border-radius:8px;margin:0;padding:6px 8px;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute}@keyframes hud-in{0%{opacity:0;transform:scale(.94)}}.pro-hud.active .hero-num{color:var(--acc);text-shadow:0 2px 26px #0006, var(--glow-acc)}.cap-left{left:var(--s-3);bottom:calc(var(--cap-bottom-h) + var(--s-2));z-index:16;align-items:flex-start;gap:var(--s-2);flex-direction:column;display:flex;position:absolute}.facing-fab{align-items:center;gap:var(--s-2);padding:8px var(--s-3);border-radius:var(--r-pill);color:var(--text);cursor:pointer;transition:background var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);border:0;display:inline-flex}.facing-fab:active{transform:scale(.95)}.facing-icon{width:30px;height:22px;transition:transform var(--d-med) var(--ease);flex:none}.facing-fab.face-left .facing-icon{transform:scaleX(-1)}.facing-fab .micro{color:var(--acc)}.facing-fab.is-auto .micro{color:var(--text-dim)}.best-card{padding:10px var(--s-3) 11px;border-radius:var(--r-lg);flex-direction:column;gap:2px;display:flex}.best-card b{font-family:var(--font-display);font-size:var(--t-lg);letter-spacing:var(--track-tight);font-weight:750;line-height:1}.best-actions{gap:var(--s-1);margin-top:var(--s-2);display:flex}.best-act{width:28px;height:28px;color:var(--text-dim);cursor:pointer;transition:background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);background:#ffffff1a;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.best-act:hover{color:var(--text);background:#ffffff2e}.best-act svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.best-act.muted{color:var(--text-faint);text-decoration:line-through}.gesture-hint{right:var(--s-3);bottom:calc(var(--cap-bottom-h) + var(--s-2));z-index:16;align-items:flex-end;gap:var(--s-2);max-width:min(340px, calc(100% - 172px - var(--s-3) * 2));animation:hud-in var(--d-med) var(--ease-out);flex-direction:column;display:flex;position:absolute}.gesture-card{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4) var(--s-2) var(--s-3);border-radius:var(--r-pill);display:flex}.gesture-fig{fill:none;stroke:#ffffffbf;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:30px;height:33px}.gesture-fig circle{fill:#ffffffbf;stroke:none}.gesture-fig .arms{stroke-width:3.5px}.gesture-fig .arms-start{stroke:var(--acc)}.gesture-fig .arms-stop{stroke:var(--rec)}.gesture-fig .arms-discard{stroke:var(--warn)}.gesture-card-txt{flex-direction:column;line-height:1.25;display:flex}.gesture-card-txt b{font-size:var(--t-xs);font-weight:700}.gesture-card-txt span{font-size:var(--t-micro);color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:700}.cap-bottom{z-index:20;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-3) calc(env(safe-area-inset-bottom) + var(--s-2));background:linear-gradient(#0000,#0000009e);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.shutter{cursor:pointer;width:72px;height:72px;transition:transform var(--d-fast) var(--ease);background:0 0;border:4px solid #ffffffeb;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.shutter:active{transform:scale(.94)}.shutter .rec-icon{background:var(--rec);width:54px;height:54px;transition:border-radius var(--d-med) var(--ease), transform var(--d-med) var(--ease);border-radius:50%}.shutter.recording .rec-icon{border-radius:8px;transform:scale(.56)}.shutter .rec-label{display:none}.mode-strip{align-items:center;gap:var(--s-1);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;max-width:440px;padding:0 40%;display:flex;overflow-x:auto}.mode-strip::-webkit-scrollbar{display:none}.mode-item{scroll-snap-align:center;border-radius:var(--r-pill);padding:6px var(--s-3);color:#ffffff80;font-family:var(--font-display);font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-shadow:0 1px 6px #00000080;transition:color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);background:0 0;border:0;flex:none;font-weight:800}.mode-item:hover{color:#fffc}.mode-item.active{background:var(--acc);color:var(--acc-ink);letter-spacing:.13em;text-shadow:none}.mode-strip.locked{pointer-events:none;opacity:.5}.disc-suggest{left:var(--s-4);right:var(--s-4);bottom:calc(var(--cap-bottom-h) + var(--s-4));z-index:24;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-lg);font-size:var(--t-sm);animation:hud-in var(--d-med) var(--ease-out);font-weight:650;line-height:1.35;display:flex;position:absolute}.disc-suggest span{flex:1}.disc-suggest b{color:var(--acc)}.recent-drawer{flex-direction:column;align-items:center;width:100%;max-width:440px;display:flex}.recent-drawer.empty{display:none}.drawer-handle{justify-content:center;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-1) 0 2px;color:#ffffffbf;font-size:var(--t-xs);cursor:pointer;background:0 0;border:0;font-weight:650;display:flex}.drawer-grip{border-radius:var(--r-pill);background:#ffffff59;width:38px;height:4px}.drawer-label:before{content:"▲ ";font-size:9px}.recent-drawer.open .drawer-label:before{content:"▼ "}.recent-strip{gap:var(--s-2);width:100%;max-height:0;transition:max-height var(--d-med) var(--ease);flex-direction:column;display:flex;overflow:hidden}.recent-drawer.open .recent-strip{max-height:42vh;margin-top:var(--s-2);overflow-y:auto}.recent-card{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-size:var(--t-xs);display:flex}.recent-thumb{object-fit:cover;border-radius:var(--r-sm);cursor:pointer;background:#000;flex:none;width:56px;height:40px;display:block}.recent-meta{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.3;display:flex}.recent-meta .rc-title{font-weight:650}.recent-meta .rc-sub{color:var(--text-dim);font-variant-numeric:tabular-nums}.recent-actions{gap:var(--s-1);flex:none;display:flex}.recent-actions button{border-radius:var(--r-sm);color:var(--text);font-size:var(--t-xs);cursor:pointer;background:#ffffff1a;border:0;padding:5px 9px}.recent-actions button:hover{background:#ffffff2e}.recent-actions button svg{width:15px;height:15px;display:block}.recent-actions button.row-delete:hover,.recent-actions button:last-child:hover{color:var(--danger);background:#ff7a8538}.cap-top,.cap-bottom{transition:opacity var(--d-slow) var(--ease)}#capture-view.hud-idle .cap-top,#capture-view.hud-idle .cap-bottom{opacity:.34}@media (width>=900px){.cap-bottom{justify-content:center;gap:var(--s-5);padding-bottom:var(--s-5);flex-direction:row}.recent-drawer{width:auto;max-width:320px}.gesture-hint{flex-direction:row}}.ed-top{align-items:center;gap:var(--s-2);padding:calc(env(safe-area-inset-top) + 10px) var(--s-3) var(--s-3);background:var(--bg);display:flex}.ed-layers{align-items:center;gap:var(--s-2);flex:none;display:flex}.ed-layers .chip{padding:0 var(--s-4);flex:none}.ed-actions{align-items:center;gap:var(--s-2);flex:none;margin-left:auto;display:flex}.ed-actions .act-ico{flex:none;width:16px;height:16px}.ed-stage{background:#000;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}#edit-video{object-fit:contain;background:#000;width:100%;height:100%}.hold-hud{top:var(--s-3);right:var(--s-3);z-index:10;padding:10px var(--s-4) 12px;border-radius:var(--r-lg);text-align:right;min-width:104px;position:absolute}.prog-hud{top:var(--s-3);left:var(--s-3);z-index:10;padding:10px var(--s-4) 12px;border-radius:var(--r-lg);text-align:left;max-width:46%;position:absolute}.prog-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:19px;font-weight:800;line-height:1.05}.prog-hud .micro{margin-top:var(--s-2)}.prog-hud.counting{box-shadow:0 0 0 1.5px var(--acc), var(--glow-acc)}.prog-hud.counting .prog-name,.prog-hud.counting .micro{color:var(--acc)}.prog-hud.idle{opacity:.55}.hold-num{font-family:var(--font-display);letter-spacing:var(--track-hero);font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:.92}.hold-num .unit{opacity:.85;font-size:.42em;font-weight:700}.hold-hud .micro{margin-top:var(--s-2)}.hold-overlay.counting,.hold-hud.counting{box-shadow:0 0 0 1.5px var(--acc), var(--glow-acc)}.hold-hud.counting .hold-num,.hold-hud.counting .micro{color:var(--acc)}.hold-hud.idle{opacity:.55}.hold-hud.idle .unit{display:none}.ed-msg{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);z-index:10;padding:8px var(--s-3);border-radius:var(--r-pill);text-align:center;position:absolute}.save-fab{bottom:var(--s-5);z-index:12;box-shadow:var(--e-2), var(--glow-acc);animation:fab-in var(--d-med) var(--ease-out);position:absolute;left:50%;transform:translate(-50%)}.save-fab:active{transform:translate(-50%)scale(.96)}@keyframes fab-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}}.timeline-wrap{padding:var(--s-4) 22px calc(env(safe-area-inset-bottom) + var(--s-4));background:var(--bg);overflow-x:clip}.timeline{height:64px;margin-bottom:var(--s-2);border-radius:var(--r-md);background:var(--surface);-webkit-user-select:none;user-select:none;touch-action:none;position:relative}.tl-clip{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tl-selection{background:rgb(var(--acc-rgb) / .14);box-shadow:inset 2px 0 0 var(--acc), inset -2px 0 0 var(--acc);position:absolute;top:0;bottom:0}.tl-handle{background:var(--acc);border-radius:var(--r-sm);cursor:ew-resize;touch-action:none;z-index:9;width:20px;position:absolute;top:-3px;bottom:-3px;transform:translate(-50%);box-shadow:0 2px 8px #00000073}.tl-handle:before{content:"";width:44px;position:absolute;top:-6px;bottom:-6px;left:50%;transform:translate(-50%)}.tl-handle:after{content:"";background:#1b05128c;border-radius:2px;width:2px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:4px 0 #1b05128c,-4px 0 #1b05128c}.tl-handle:active{box-shadow:0 2px 8px #00000073, var(--glow-acc)}.tl-playhead{pointer-events:none;z-index:7;background:#fff;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 8px #fff9}.hold-segments{pointer-events:none;position:absolute;inset:0}.hold-seg{background:rgb(var(--acc-rgb) / .16);cursor:pointer;pointer-events:auto;z-index:2;transition:background var(--d-fast) var(--ease);position:absolute;top:0;bottom:0}.hold-seg:hover{background:rgb(var(--acc-rgb) / .26)}.hold-seg.active{background:rgb(var(--acc-rgb) / .3);box-shadow:inset 0 0 0 1.5px rgb(var(--acc-rgb) / .75)}.hold-seg.manual{background:repeating-linear-gradient(-45deg, rgb(var(--acc-rgb) / .26) 0 6px, rgb(var(--acc-rgb) / .1) 6px 12px)}.hold-seg-flag{border-radius:var(--r-pill);color:var(--acc);font-size:var(--t-micro);white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;background:#000000b8;padding:2px 6px;font-weight:800;position:absolute;top:4px;left:50%;transform:translate(-50%)}.hold-marker{cursor:grab;touch-action:none;z-index:7;width:0;position:absolute;top:0;bottom:0}.hold-marker:before{content:"";width:32px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.hold-marker:active{cursor:grabbing}.hold-line{background:var(--acc);width:2px;box-shadow:var(--glow-acc);position:absolute;top:0;bottom:0;left:0;transform:translate(-1px)}.hold-flag{border-radius:var(--r-pill);background:var(--acc);color:var(--acc-ink);font-size:var(--t-micro);white-space:nowrap;font-variant-numeric:tabular-nums;padding:3px 8px;font-weight:800;position:absolute;top:-1px;left:0;transform:translate(-50%)}.hold-marker--end .hold-line{opacity:.85}.hold-marker--end:after{content:"";background:var(--acc);border-radius:0 0 6px;width:8px;height:8px;position:absolute;top:0;left:-1px}.mode-reps .hold-marker,.mode-reps .hold-num .unit,.mode-reps .hint-hold,.hint-reps{display:none}.mode-reps .hint-reps{display:inline}.rep-mark{background:var(--acc);width:2px;box-shadow:var(--glow-acc);pointer-events:none;z-index:3;position:absolute;top:0;bottom:0;transform:translate(-1px)}.rep-mark-n{font-family:var(--font-display);color:var(--acc);text-shadow:0 1px 4px #000c;font-size:9px;font-weight:800;position:absolute;top:5px;left:50%;transform:translate(-50%)}.timeline-labels{font-size:var(--t-xs);color:var(--text-dim);justify-content:space-between;display:flex}.editor-hint{margin-top:var(--s-3);font-size:var(--t-xs);color:var(--text-dim);align-items:center;gap:var(--s-3);flex-wrap:wrap;line-height:1.5;display:flex}.editor-hint b{color:var(--acc)}@media (width<=640px){.ed-top{row-gap:var(--s-2);flex-wrap:wrap}.ed-layers{flex-basis:100%;order:3}.editor-hint{display:none}.ed-layers .chip{padding:0 var(--s-3);font-size:var(--t-micro)}.ed-actions .act-txt{display:none}.hold-hud{padding:8px var(--s-3) 10px;min-width:88px}.hold-num{font-size:30px}.timeline{height:56px}}.topbar{justify-content:space-between;align-items:center;gap:var(--s-4);padding:calc(env(safe-area-inset-top) + var(--s-3)) var(--s-4) var(--s-3);background:var(--bg);display:flex}.brand{align-items:center;gap:var(--s-3);min-width:0;font-family:var(--font-display);font-size:var(--t-lg);letter-spacing:var(--track-tight);flex:1;font-weight:750;display:flex}.brand>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-actions{gap:var(--s-2);flex:none;margin-left:auto;display:inline-flex}.brand-btn{width:40px;height:40px;color:var(--text);font-size:var(--t-md);cursor:pointer;transition:background var(--d-fast) var(--ease);background:#ffffff14;border:0;border-radius:50%;place-items:center;display:inline-grid;position:relative}.brand-btn:hover{background:#ffffff29}.brand-badge{border-radius:var(--r-pill);background:var(--acc);min-width:18px;height:18px;color:var(--acc-ink);font-size:var(--t-micro);text-align:center;padding:0 5px;font-weight:800;line-height:18px;position:absolute;top:-3px;right:-3px}.dash-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--s-4) var(--s-4) var(--s-7);gap:var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}#dash-content,.dash-progress{gap:var(--s-4);flex-direction:column;display:flex}.dash-empty{text-align:center;color:var(--text-dim);padding:var(--s-7) var(--s-5);align-items:center;gap:var(--s-3);flex-direction:column;display:flex}.dash-empty h2{color:var(--text);font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:var(--track-tight);font-weight:800;line-height:1.1}.dash-empty p{max-width:34ch;line-height:1.55}.disc-seg{scrollbar-width:none;align-self:flex-start;max-width:100%;overflow-x:auto}.disc-seg::-webkit-scrollbar{display:none}.disc-seg .seg-btn{flex:none}.disc-only{margin:0}.disc-only b{color:var(--text)}.kpi-grid{gap:var(--s-3);grid-template-columns:repeat(2,1fr);display:grid}.focus-item+.focus-item{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--hairline)}.focus-title{font-weight:700;font-size:var(--t-base);color:var(--acc)}.focus-detail{font-size:var(--t-sm);color:var(--text-dim);margin-top:3px;line-height:1.5}.focus-card{box-shadow:inset 3px 0 0 var(--acc)}.history-list{flex-direction:column;display:flex}.history-when{font-weight:650}.history-row{gap:var(--s-3);padding:var(--s-3) 0;font-size:var(--t-sm);grid-template-columns:1fr auto auto;align-items:center;display:grid}.history-row+.history-row{border-top:1px solid var(--hairline)}.history-meta{color:var(--text-dim);font-size:var(--t-xs)}.history-best{font-variant-numeric:tabular-nums;font-weight:750}.recap-banner{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:linear-gradient(120deg, rgb(var(--acc-rgb) / .2), rgb(var(--acc-rgb) / .05));display:flex}.recap-banner-title,.notif-banner-title{letter-spacing:var(--track-tight);font-weight:750}.recap-banner-sub,.notif-banner-sub{font-size:var(--t-xs);color:var(--text-dim);margin-top:2px}.notif-banner-actions{gap:var(--s-2);flex-shrink:0;display:flex}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--hairline);stroke-width:1px}.chart-axis{fill:var(--text-faint);font-size:9px;font-weight:700}.chart-pr{fill:var(--acc);font-size:10px;font-weight:800}.chart-empty{color:var(--text-dim);font-size:var(--t-xs);padding:var(--s-3) 0;margin:0}.chart-heatmap{min-width:322px}.heatmap-wrap{overflow-x:auto}.heatmap-wrap .chart-heatmap{width:100%;max-width:430px}.hm{fill:#ffffff0f}.hm-1{fill:rgb(var(--acc-rgb) / .28)}.hm-2{fill:rgb(var(--acc-rgb) / .5)}.hm-3{fill:rgb(var(--acc-rgb) / .74)}.hm-4{fill:var(--acc)}#recap-view{background:linear-gradient(160deg, #1d0f19, var(--bg))}.recap-slides{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.recap-slides::-webkit-scrollbar{display:none}.recap-slide{scroll-snap-align:center;text-align:center;padding:var(--s-6) var(--s-5);justify-content:center;align-items:center;gap:var(--s-3);flex-direction:column;flex:0 0 100%;display:flex}.recap-kicker{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--acc);font-weight:800}.recap-headline{font-family:var(--font-display);letter-spacing:var(--track-hero);font-size:clamp(38px,13vw,76px);font-weight:800;line-height:1}.recap-sub{font-size:var(--t-base);color:var(--text-dim);max-width:30ch;line-height:1.55}.recap-focus .recap-headline{color:var(--acc);font-size:clamp(28px,8vw,46px)}.recap-bar{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));display:flex}.recap-dots{gap:var(--s-1);display:flex}.recap-dot{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.recap-dot.on{background:var(--acc);box-shadow:var(--glow-acc)}.auth-step{gap:var(--s-3);flex-direction:column;display:flex}.auth-cta{width:100%;font-size:var(--t-base);padding:13px}.auth-paste{align-self:center;gap:var(--s-2)}.auth-modes{border-radius:var(--r-md);background:var(--glass);grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.auth-mode{border-radius:var(--r-sm);color:var(--text-dim);font:inherit;cursor:pointer;transition:color var(--d-fast) var(--ease), background var(--d-fast) var(--ease);background:0 0;border:0;padding:9px 8px;font-weight:650}.auth-mode.is-on{background:var(--acc);color:var(--acc-ink)}.auth-nocode{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);background:var(--glass);flex-direction:column;display:flex}.auth-nocode-title{color:var(--text);margin:0;font-weight:700}.auth-nocode .settings-note{margin:0}.auth-nocode b{color:var(--text);word-break:break-all}.auth-confirm-email{padding:var(--s-3);border-radius:var(--r-md);background:var(--glass);color:var(--text);font-size:var(--t-lg);text-align:center;word-break:break-all;margin:0;font-weight:700}.auth-paste .act-ico{flex:none;width:15px;height:15px}.auth-code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-weight:750;font-size:26px!important}.auth-plan{border-radius:var(--r-md);padding:var(--s-3);font-size:var(--t-sm);color:var(--text-dim);background:#ffffff0f}.auth-panel .status,.dash-card .status,.coach-pane .status{text-align:left;max-width:none;margin-top:var(--s-2);position:static}.account-row{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.account-email{font-weight:650;font-size:var(--t-sm);word-break:break-all}.account-plan{font-size:var(--t-xs);color:var(--text-dim);margin-top:2px}.account-build,.dash-footer-ver{font-size:var(--t-xs);color:var(--text-faint);font-family:var(--font-mono);margin-top:var(--s-2)}.account-tools,.dash-footer-actions{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.dash-footer{align-items:center;gap:var(--s-2);padding:var(--s-2) 0 var(--s-1);flex-direction:column;display:flex}.dash-footer-actions{justify-content:center}.notif-row{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.notif-state{font-weight:650;font-size:var(--t-sm)}.notif-steps{margin:var(--s-3) 0 0;padding-left:var(--s-5);color:var(--text-dim);font-size:var(--t-sm);line-height:1.75}.notif-steps b{color:var(--text)}.ios-share{color:var(--acc);font-weight:700;display:inline-block;transform:translateY(1px)}.coach-linked{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.join-row{gap:var(--s-2);align-items:stretch;display:flex}.join-input{letter-spacing:.35em;text-align:center;text-transform:uppercase;min-width:0;font-size:18px;font-weight:750;font-family:var(--font-mono);flex:1 1 0}.join-row .btn{flex:none}@media (width>=640px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.dash-scroll{padding:var(--s-5) var(--s-5) var(--s-7);width:100%;max-width:900px;margin:0 auto}}.coach-tabs{gap:var(--s-1);padding:0 var(--s-4);scrollbar-width:none;display:flex;overflow-x:auto}.coach-tabs::-webkit-scrollbar{display:none}.coach-tab,.admin-tab{color:var(--text-dim);font-size:var(--t-sm);padding:var(--s-3) var(--s-3);cursor:pointer;white-space:nowrap;align-items:center;gap:var(--s-2);transition:color var(--d-fast) var(--ease);background:0 0;border:0;font-weight:650;display:inline-flex;position:relative}.coach-tab:hover,.admin-tab:hover,.coach-tab.active,.admin-tab.active{color:var(--text)}.coach-tab.active:after,.admin-tab.active:after{content:"";left:var(--s-3);right:var(--s-3);border-radius:var(--r-pill);background:var(--acc);height:3px;box-shadow:var(--glow-acc);position:absolute;bottom:0}.admin-tools{gap:var(--s-2);padding:var(--s-3) var(--s-4) 0;flex-wrap:wrap;display:flex}.admin-tools .btn{text-decoration:none}.tab-badge{border-radius:var(--r-pill);background:var(--acc);min-width:18px;height:18px;color:var(--acc-ink);font-size:var(--t-micro);justify-content:center;align-items:center;padding:0 5px;font-weight:800;line-height:1;display:inline-flex}.coach-scroll{overscroll-behavior:contain;padding:var(--s-4);flex:1;overflow-y:auto}.coach-pane{gap:var(--s-4);flex-direction:column;display:flex}.inbox-filter{align-self:flex-start}.inbox-list,.athlete-list,.invite-list{gap:var(--s-2);flex-direction:column;display:flex}.inbox-row,.athlete-row,.admin-row,.invite-row{justify-content:space-between;align-items:center;gap:var(--s-3);text-align:left;border-radius:var(--r-lg);background:var(--surface);width:100%;padding:var(--s-3) var(--s-4);color:var(--text);transition:background var(--d-fast) var(--ease);border:0;display:flex}.inbox-row{cursor:pointer}.inbox-row:hover,.athlete-row:hover,.admin-row:hover{background:var(--surface-2)}.inbox-row.stale{box-shadow:inset 3px 0 0 var(--warn)}.inbox-main{min-width:0}.inbox-who{align-items:center;gap:var(--s-2);font-weight:700;display:flex}.inbox-sub{font-size:var(--t-xs);color:var(--text-dim);margin-top:2px}.inbox-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.inbox-ago{font-size:var(--t-micro);color:var(--text-faint)}.inbox-vid{font-size:var(--t-sm);color:var(--text-faint);align-items:center;display:inline-flex}.inbox-vid .ico{width:15px;height:15px}.inbox-status{font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-pill);color:var(--text-dim);background:#ffffff14;padding:3px 8px;font-weight:800}.inbox-status.s-requested{background:rgb(var(--warn-rgb) / .18);color:var(--warn)}.inbox-status.s-answered{background:rgb(var(--acc-rgb) / .18);color:var(--acc)}.inbox-athlete-row{gap:var(--s-2);align-items:center;display:flex}.inbox-athlete-row .admin-search{flex:1;min-width:0}.inbox-athlete-row .btn{flex:none}.feedback-item{align-items:stretch;gap:var(--s-2);display:flex}.feedback-item .inbox-row{flex:1;min-width:0}.feedback-item .row-delete{flex:none;align-self:center}.athlete-name{font-weight:700}.athlete-sub{font-size:var(--t-xs);color:var(--text-dim);margin-top:2px}.athlete-stats{align-items:center;gap:var(--s-2);display:flex}.athlete-best{font-family:var(--font-display);font-weight:800;font-size:var(--t-md);font-variant-numeric:tabular-nums}.athlete-remove{flex:none}.invite-row{align-items:stretch;gap:var(--s-2);flex-direction:column}.invite-head{align-items:baseline;gap:var(--s-3);display:flex}.invite-code{font-family:var(--font-mono);font-size:var(--t-lg);letter-spacing:.28em;color:var(--acc);font-weight:800}.invite-uses{font-size:var(--t-xs);color:var(--text-dim);margin-left:auto}.invite-url{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-dim);border-radius:var(--r-sm);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0f;padding:8px 10px;overflow:hidden}.invite-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.invite-foreign{box-shadow:inset 0 0 0 1px var(--hairline);background:0 0}.invite-owner{font-size:var(--t-micro);color:var(--text-dim);border-radius:var(--r-pill);text-overflow:ellipsis;white-space:nowrap;background:#ffffff14;max-width:40%;padding:3px 9px;font-weight:800;overflow:hidden}.review-row{justify-content:space-between;align-items:center;gap:var(--s-3);text-align:left;border:0;border-top:1px solid var(--hairline);width:100%;padding:var(--s-3) 0;color:var(--text);cursor:pointer;background:0 0;display:flex}.review-row:first-of-type{border-top:0}.review-row-title{font-weight:650;font-size:var(--t-sm)}.review-row-sub{font-size:var(--t-xs);color:var(--text-dim)}.admin-search{width:100%}.admin-row{flex-wrap:wrap}.admin-who{flex:1;min-width:0}.admin-you{font-size:var(--t-micro);text-transform:uppercase;background:var(--acc);color:var(--acc-ink);border-radius:var(--r-pill);padding:2px 8px;font-weight:800}.admin-actions{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.admin-chk{align-items:center;gap:var(--s-1);font-size:var(--t-xs);color:var(--text-dim);display:flex}.admin-chk input{accent-color:var(--acc)}.admin-chk input:disabled,.admin-chk input:disabled+*{opacity:.45}.admin-plan{border-radius:var(--r-sm);color:var(--text);font-size:var(--t-sm);background:#ffffff12;border:0;padding:7px 9px}#admin-users .error,#admin-pane-notify .status{text-align:left;max-width:none;position:static}@media (width>=900px){.coach-scroll,.coach-tabs{width:100%;max-width:900px;margin:0 auto}}.review-layout{flex-direction:column;flex:1;min-height:0;display:flex}.review-stage{background:#000;flex-direction:column;flex:none;min-height:0;display:flex}.review-video-wrap{background:#000;flex:none;position:relative}#review-video{object-fit:contain;width:100%;max-height:34vh;display:block}.review-timeline,.review-controls{flex:none}.review-noclip{padding:var(--s-7) var(--s-5);text-align:center;color:var(--text-dim);font-size:var(--t-sm)}.review-timeline{background:var(--surface);cursor:pointer;touch-action:none;height:30px;position:relative}.review-progress{background:rgb(var(--acc-rgb) / .32);width:0;position:absolute;inset:0 auto 0 0}.review-marks{pointer-events:none;position:absolute;inset:0}.review-mark{border:2px solid var(--bg);background:var(--acc);width:13px;height:13px;box-shadow:var(--glow-acc);cursor:pointer;pointer-events:auto;transition:transform var(--d-fast) var(--ease);border-radius:50%;margin:-6.5px 0 0 -6.5px;padding:0;position:absolute;top:50%}.review-mark:hover{transform:scale(1.25)}.review-controls{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--bg);flex-wrap:wrap;display:flex}.review-layers{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3) 0;background:var(--bg);flex-wrap:wrap;flex:none;display:flex}.review-layer-chips{align-items:center;gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.review-layers .chip{padding:0 var(--s-3);font-size:var(--t-micro);flex:none}.review-save{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.review-save .ico{width:14px;height:14px}.speed-seg .seg-btn{font-size:var(--t-micro);padding:6px 10px}.review-time{font-variant-numeric:tabular-nums;font-size:var(--t-sm);color:var(--text-dim);margin-left:auto}.review-side{min-height:0;padding:var(--s-3);gap:var(--s-2);flex-direction:column;flex:1;display:flex}.review-meta{font-size:var(--t-sm);color:var(--text-dim);flex:none}.review-meta-row b{color:var(--text);text-transform:capitalize}.review-ask{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:0 var(--r-sm) var(--r-sm) 0;box-shadow:inset 2px 0 0 var(--acc);background:var(--surface);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-style:italic;display:-webkit-box;overflow:hidden}.review-comments-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--text-faint);flex:none;font-weight:800;display:flex}.review-more{color:var(--acc);letter-spacing:.04em;text-transform:none;align-items:center;gap:4px;font-weight:700;display:inline-flex}.review-more .ico{width:13px;height:13px}.review-comments{overscroll-behavior:contain;gap:var(--s-2);flex-direction:column;flex:auto;min-height:180px;padding-right:2px;display:flex;overflow-y:auto}.review-comments.has-more{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(0deg,#000 calc(100% - 26px),#0000)}.comment{background:var(--surface);border-radius:var(--r-md) var(--r-md) var(--r-md) var(--s-1);max-width:86%;padding:var(--s-2) var(--s-3) 10px;border:0;align-self:flex-start}.comment.mine{background:rgb(var(--acc-rgb) / .16);border-radius:var(--r-md) var(--r-md) var(--s-1) var(--r-md);align-self:flex-end}.comment-head{align-items:center;gap:var(--s-2);min-height:0;margin-bottom:3px;display:flex}.comment.mine .comment-head{justify-content:flex-end}.comment-t{border-radius:var(--r-pill);background:rgb(var(--acc-rgb) / .18);color:var(--acc);font-size:var(--t-micro);cursor:pointer;font-variant-numeric:tabular-nums;border:0;padding:3px 9px;font-weight:800}.comment-t.general{color:var(--text-dim);cursor:default;background:#ffffff14}.comment-who{font-size:var(--t-micro);color:var(--text-faint);margin-right:auto}.comment-del{color:var(--text-faint);cursor:pointer;font-size:var(--t-xs);background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.comment-del .ico{width:14px;height:14px}.comment-del:hover{color:var(--danger)}.comment-body{font-size:var(--t-sm);white-space:pre-wrap;line-height:1.5}.review-compose{gap:var(--s-2);flex-direction:column;flex:none;display:flex}.review-compose-row{align-items:flex-end;gap:var(--s-2);display:flex}.review-compose textarea{resize:none;border-radius:var(--r-md);min-width:0;min-height:42px;max-height:42px;color:var(--text);padding:10px var(--s-3);transition:max-height var(--d-fast) var(--ease), background var(--d-fast) var(--ease);background:#ffffff12;border:0;flex:1;font-family:inherit;font-size:16px;line-height:1.35}.review-compose textarea:focus{min-height:78px;max-height:112px;box-shadow:inset 0 0 0 1.5px var(--acc);background:#ffffff1c;outline:0}.review-compose-row .btn{flex:none;height:42px}.review-anchor{align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--text-dim);display:flex}.review-anchor input{accent-color:var(--acc)}.review-anchor b{color:var(--acc);font-variant-numeric:tabular-nums}@media (width>=900px){.review-layout{flex-direction:row}.review-stage{flex:auto;min-width:0;min-height:0}.review-video-wrap{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}#review-video{width:auto;max-width:100%;height:auto;max-height:100%}.review-side{border-left:1px solid var(--hairline);flex:0 0 380px;width:380px}}.settings-section{gap:var(--s-3);flex-direction:column;display:flex}.settings-section+.settings-section{margin-top:var(--s-5)}.settings-section .settings-note{margin:0}.setting-row{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;display:flex}.setting-label{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-name{font-size:var(--t-sm);font-weight:650}.setting-sub{font-size:var(--t-xs);color:var(--text-dim)}.cam-count{color:var(--acc);font-variant-numeric:tabular-nums;font-weight:700}.range-val{color:var(--acc);letter-spacing:0;margin-left:var(--s-1);font-weight:800}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:#ffffff1f;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--acc);width:22px;height:22px;box-shadow:var(--glow-acc);border:0;border-radius:50%;margin-top:-8px}input[type=range]::-moz-range-track{border-radius:var(--r-pill);background:#ffffff1f;height:6px}input[type=range]::-moz-range-thumb{background:var(--acc);width:22px;height:22px;box-shadow:var(--glow-acc);border:0;border-radius:50%}.res-group{gap:var(--s-2);display:flex}.res-btn{min-width:0;padding:10px var(--s-1);border-radius:var(--r-md);color:var(--text);font-size:var(--t-sm);cursor:pointer;transition:background var(--d-fast) var(--ease);background:#ffffff12;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;font-weight:700;display:flex}.res-btn:hover{background:#ffffff21}.res-btn span{font-size:var(--t-micro);letter-spacing:.04em;color:var(--text-faint);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.res-btn.active{background:var(--acc);color:var(--acc-ink)}.res-btn.active span{color:#1b0512b8}.stepper{border-radius:var(--r-pill);background:#ffffff12;flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.stepper-btn{width:34px;height:34px;color:var(--text);cursor:pointer;transition:background var(--d-fast) var(--ease);background:0 0;border:0;border-radius:50%;font-size:20px;font-weight:700;line-height:1}.stepper-btn:hover{background:#ffffff1f}.stepper-btn:disabled{opacity:.3;cursor:default}.stepper-val{text-align:center;min-width:52px;font-size:var(--t-base);font-weight:750}.onboarding{z-index:300;background:linear-gradient(165deg, #1d0f19, var(--bg) 60%);animation:fade-in var(--d-med) var(--ease-out);flex-direction:column;display:flex;position:fixed;inset:0}.onboarding.out{opacity:0;transition:opacity var(--d-med) var(--ease)}.ob-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;display:flex;overflow:auto hidden}.ob-track::-webkit-scrollbar{display:none}.ob-slide{scroll-snap-align:center;justify-content:center;gap:var(--s-3);width:100%;padding-block:calc(env(safe-area-inset-top) + var(--s-5)) var(--s-3);padding-inline:max(var(--s-5), calc((100% - 460px) / 2));flex-direction:column;flex:0 0 100%;display:flex;overflow-y:auto}.ob-kicker{font-family:var(--font-display);font-size:var(--t-micro);letter-spacing:var(--track-micro);text-transform:uppercase;color:var(--acc);font-weight:800}.ob-head{font-family:var(--font-display);letter-spacing:var(--track-hero);font-size:clamp(26px,8vw,34px);font-weight:800;line-height:1.08}.ob-head.small{font-size:clamp(21px,6.2vw,26px)}.ob-gearhead{align-items:center;gap:var(--s-3);display:flex}.ob-gear{background:#ffffff1a;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.ob-gear svg{width:18px;height:18px}.ob-lead{font-size:var(--t-sm);color:var(--text-dim);line-height:1.55}.ob-lead b{color:var(--text);font-weight:700}.ob-foot{margin-top:var(--s-2);padding-top:var(--s-3);border-top:1px solid var(--hairline);font-size:var(--t-xs);color:var(--text-faint);line-height:1.5}.ob-foot b{color:var(--text-dim);font-weight:700}.ob-items{gap:var(--s-3);flex-direction:column;display:flex}.ob-item{gap:var(--s-3);font-size:var(--t-xs);color:var(--text-dim);align-items:flex-start;line-height:1.45;display:flex}.ob-item svg{fill:none;width:19px;height:19px;stroke:var(--acc);stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:1px}.ob-item b{color:var(--text);margin-bottom:1px;font-weight:700;display:block}.ob-poses{gap:var(--s-4);display:flex}.ob-pose{text-align:center;color:#fffc;flex:1}.ob-pose svg{width:100%;height:62px}.ob-pose .ob-arms{stroke:var(--acc);stroke-width:3.5px}.ob-pose b{font-family:var(--font-display);font-size:var(--t-xs);letter-spacing:.14em;color:var(--text);margin-top:var(--s-1);font-weight:800;display:block}.ob-pose span{font-size:var(--t-micro);color:var(--text-dim);display:block}.ob-rows{flex-direction:column;gap:3px;display:flex}.ob-row{align-items:center;gap:1px var(--s-3);padding:9px var(--s-3);border-radius:var(--r-md);background:#ffffff0d;grid-template-columns:1fr auto;display:grid}.ob-rn{font-size:var(--t-sm);font-weight:700}.ob-rs{font-size:var(--t-xs);color:var(--text-dim);grid-column:1;line-height:1.4}.ob-sw{border-radius:var(--r-pill);background:var(--acc);grid-area:1/2/3;width:38px;height:22px;position:relative}.ob-sw:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:19px}.ob-chat{gap:var(--s-2);flex-direction:column;display:flex}.ob-bub{max-width:86%;padding:var(--s-2) var(--s-3) 10px;border-radius:var(--r-md) var(--r-md) var(--r-md) var(--s-1);font-size:var(--t-xs);background:#ffffff12;align-self:flex-start;line-height:1.45}.ob-bub.mine{border-radius:var(--r-md) var(--r-md) var(--s-1) var(--r-md);background:rgb(var(--acc-rgb) / .16);align-self:flex-end}.ob-stamp{margin-right:var(--s-2);border-radius:var(--r-pill);background:rgb(var(--acc-rgb) / .22);color:var(--acc);font-size:var(--t-micro);font-variant-numeric:tabular-nums;padding:2px 8px;font-weight:800;display:inline-block}.ob-bar{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5) calc(env(safe-area-inset-bottom) + var(--s-5));width:100%;max-width:460px;margin:0 auto;display:flex}.ob-skip{color:var(--text-faint);font-size:var(--t-sm);cursor:pointer;background:0 0;border:0}.ob-dots{gap:var(--s-1);display:flex}.ob-dots i{width:6px;height:6px;transition:background var(--d-fast) var(--ease);background:#ffffff47;border-radius:50%;display:block}.ob-dots i.on{background:var(--acc);box-shadow:var(--glow-acc)}.hint-host{z-index:260;pointer-events:none;position:fixed;inset:0}.hint{pointer-events:auto;animation:fade-in var(--d-med) var(--ease-out);background:#08050794;position:absolute;inset:0}.hint.out{opacity:0;transition:opacity var(--d-fast) var(--ease)}.hint-art{pointer-events:none;position:absolute;inset:0}.hint-art svg{width:100%;height:100%}.hint-card{left:var(--s-3);right:var(--s-3);bottom:calc(env(safe-area-inset-bottom) + 96px);max-width:420px;padding:var(--s-4);border-radius:var(--r-xl);box-shadow:var(--e-3);animation:hud-in var(--d-med) var(--ease-out);margin:0 auto;position:absolute}.hint-card h5{font-size:var(--t-md);letter-spacing:var(--track-tight);margin-bottom:var(--s-1);font-weight:750}.hint-card p{font-size:var(--t-sm);color:var(--text-dim);line-height:1.5}.hint-ok{width:100%;margin-top:var(--s-3)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--acc:#ff2d9b;--acc-rgb:255 45 155;--acc-ink:#1b0512;--warn:#ffd23d;--warn-rgb:255 210 61;--warn-ink:#2a2000;--rec:#ff4d4d;--danger:#ff7a85;--bg:#0e0a0d;--surface:#171016;--surface-2:#201722;--hairline:#ffffff14;--glass:#170d13b8;--glass-strong:#0e080ce0;--glass-blur:blur(18px) saturate(1.3);--text:#fff;--text-dim:#ffffff8c;--text-faint:#ffffff61;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--t-hero:clamp(64px, 22vw, 104px);--t-xl:34px;--t-lg:22px;--t-md:17px;--t-base:15px;--t-sm:13px;--t-xs:11.5px;--t-micro:10px;--track-micro:.3em;--track-tight:-.03em;--track-hero:-.055em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--e-1:0 2px 10px #00000059;--e-2:0 8px 26px #00000073;--e-3:0 20px 60px #0000008c;--glow-acc:0 0 22px rgb(var(--acc-rgb) / .45);--glow-warn:0 0 22px rgb(var(--warn-rgb) / .45);--d-fast:.12s;--d-med:.22s;--d-slow:.42s;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(0, .6, .2, 1);--skel-mode:halo;--skel-core:#fff;--skel-core-w:2.5;--skel-glow-w:5.5;--skel-blur:10;--skel-joint:3.6;--skel-idle:#ffffff57;--topbar-h:96px;--panel:var(--surface);--panel-2:var(--surface-2);--line:var(--hairline);--accent:var(--acc);--good:var(--acc);--muted:var(--text-dim);--radius:var(--r-md)}
