:root{--color-bg:#0c0e13;--color-surface-1:#14171f;--color-surface-2:#181c26;--color-surface-3:#1f2430;--color-border:#2a2f3c;--color-border-control:#626a7e;--color-text-primary:#f4f6fb;--color-text-secondary:#c3c9d5;--color-text-muted:#8c95a8;--color-accent:#2ee6a2;--color-accent-strong:#14c98a;--color-on-accent:#04130d;--color-warning:#ffb23e;--color-danger:#ff6b6b;--color-info:#6ea8ff;--tint-accent:#2ee6a21a;--tint-warning:#ffb23e1f;--tint-danger:#ff6b6b1f;--tint-info:#6ea8ff1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:999px;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--content-max:1120px;--form-max:560px;--tabbar-h:64px;--bg:var(--color-bg);--bg-soft:var(--color-surface-1);--panel:var(--color-surface-2);--panel-2:var(--color-surface-3);--border:var(--color-border);--text:var(--color-text-secondary);--text-h:var(--color-text-primary);--muted:var(--color-text-muted);--accent:var(--color-accent);--accent-2:var(--color-accent-strong);--warn:var(--color-warning);--error:var(--color-danger);--radius:var(--radius-lg);--shadow:0 18px 40px -18px #000000b3;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;font:15px/1.47 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text-secondary);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 50% -10%, #2ee6a214, transparent 60%), var(--bg);min-height:100svh;margin:0}#root{width:100%;min-height:100svh}h1,h2{color:var(--text-h);letter-spacing:-.02em;margin:0;font-weight:700}p{margin:0}button,input,select,textarea{font-family:inherit}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-slow:0s}}.app{flex-direction:column;gap:18px;width:100%;max-width:980px;min-height:100svh;margin:0 auto;padding:18px 18px 40px;display:flex}.app__header{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand__mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#04130d;letter-spacing:-.04em;border-radius:12px;place-items:center;width:40px;height:40px;font-size:16px;font-weight:800;display:grid}.brand__name{color:var(--text);font-size:20px;font-weight:600}.brand__name strong{color:var(--text-h);font-weight:800}.app__main{flex-direction:column;gap:18px;display:flex}.court{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);background:#05070b;position:relative;overflow:hidden}.stage,.stage__mirror{position:absolute;inset:0}.stage__mirror{transform:scaleX(-1)}.stage__video,.stage__canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__canvas{pointer-events:none}.hud{pointer-events:none;flex-direction:column;padding:18px;display:flex;position:absolute;inset:0}.hud__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.hud__set,.hud__angle{letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-h);background:#080b118c;border:1px solid #ffffff14;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}.hud__angle{font-variant-numeric:tabular-nums;color:var(--accent)}.hud__rep{text-shadow:0 4px 18px #0009;align-items:baseline;gap:8px;margin-top:auto;display:flex}.hud__rep-num{color:var(--text-h);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(56px,14vw,120px);font-weight:800;line-height:.9}.hud__rep-target{color:var(--muted);font-size:clamp(20px,4vw,34px);font-weight:700}.hud__feedback{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b1199;border:1px solid #ffffff14;border-radius:999px;align-self:flex-start;margin-top:12px;padding:10px 16px;font-size:15px;font-weight:700;transition:color .15s,border-color .15s}.hud__feedback[data-tone=good]{color:var(--accent);border-color:#2ee6a280}.hud__feedback[data-tone=warn]{color:var(--warn);border-color:#ffb23e80}.hud__feedback[data-tone=error]{color:var(--error);border-color:#ff5d5d99}.hud__feedback[data-tone=idle]{color:var(--muted)}.gauge{pointer-events:none;background:#ffffff1a;border-radius:999px;width:8px;height:42%;position:absolute;top:50%;right:16px;overflow:hidden;transform:translateY(-50%)}.gauge__fill{background:linear-gradient(to top, var(--accent-2), var(--accent));width:100%;height:0%;transition:height 80ms linear;position:absolute;bottom:0;left:0}.overlay{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#07090ed1;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.overlay__kicker{letter-spacing:.22em;color:var(--accent);font-size:13px;font-weight:800}.overlay__title{color:var(--text-h);font-size:26px;font-weight:800}.overlay__sub{color:var(--text)}.overlay__hint{color:var(--muted);max-width:320px;font-size:13px}.overlay__count{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:clamp(80px,22vw,160px);font-weight:800;line-height:1}.overlay--error .overlay__title{color:var(--error)}.summary{gap:28px;margin:6px 0 8px;display:flex}.summary__stat{flex-direction:column;gap:2px;display:flex}.summary__num{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.summary__lbl{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:600}.spinner{border:3px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.setup{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:18px;padding:24px;display:flex}.setup__title{font-size:24px}.setup__cue{color:var(--muted);margin-top:-8px;font-size:14px}.picker{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.picker__card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;transition:transform .12s,border-color .12s,background .12s;display:flex}.picker__card:hover{border-color:var(--muted);transform:translateY(-2px)}.picker__card.is-active{border-color:var(--accent);color:var(--text-h);background:#2ee6a21a}.picker__icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.picker__name{font-size:13px;font-weight:700}.setup__config{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stepper{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.stepper__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.stepper__controls{justify-content:space-between;align-items:center;display:flex}.stepper__btn{border:1px solid var(--border);background:var(--panel);width:36px;height:36px;color:var(--text-h);cursor:pointer;border-radius:10px;font-size:20px;font-weight:700;transition:border-color .12s,background .12s}.stepper__btn:hover{border-color:var(--accent);background:#2ee6a21a}.stepper__value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.stepper__value small{color:var(--muted);margin-left:2px;font-size:13px;font-weight:600}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:12px 20px;font-size:15px;font-weight:700;transition:transform .1s,opacity .12s,background .12s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#04130d}.btn--primary:hover:not(:disabled){filter:brightness(1.05)}.btn--lg{border-radius:14px;padding:16px 24px;font-size:17px}.btn--ghost{color:var(--text-h);border-color:var(--border);background:#ffffff0f}.btn--ghost:hover{border-color:var(--muted)}.btn--sm{padding:8px 14px;font-size:13px}.plist{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.pcard{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;flex-direction:column;gap:6px;padding:16px;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative}.pcard:hover{border-color:var(--muted);transform:translateY(-2px)}.pcard.is-active{border-color:var(--accent);background:#2ee6a21a}.pcard__head{align-items:center;gap:8px;display:flex}.pcard__icon{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pcard__name{color:var(--text-h);font-size:15px;font-weight:800}.pcard__tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid #2ee6a266;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:800}.pcard__desc{color:var(--muted);font-size:13px;line-height:1.35}.pcard__meta{color:var(--text);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px;font-weight:600;display:flex}.pcard__actions{gap:14px;margin-top:6px;display:flex}.pcard__act{color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.pcard__act:hover{color:var(--text-h)}.pcard__act--danger:hover{color:var(--error)}.pcard--new{text-align:center;background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:4px}.pcard__plus{color:var(--accent);justify-content:center;align-items:center;line-height:1;display:inline-flex}.poverview{flex-direction:column;gap:14px;display:flex}.poverview__summary{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.poverview__stat{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:2px;padding:12px;display:flex}.poverview__num{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.poverview__lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.poverview__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.poverview__item{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:10px 12px;display:flex}.poverview__idx{background:var(--panel);width:22px;height:22px;color:var(--muted);border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.poverview__ex-icon{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.poverview__ex-name{color:var(--text-h);font-weight:700}.poverview__ex-vol{color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.poverview__ex-rest{color:var(--muted);text-align:right;min-width:92px;font-size:12px}.builder{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:24px;display:flex}.builder__head{justify-content:space-between;align-items:center;display:flex}.builder__name{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text-h);padding:12px 14px;font-size:15px;font-weight:600}.builder__name:focus{border-color:var(--accent);outline:none}.builder__blocks{flex-direction:column;gap:12px;display:flex}.bblock{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);flex-direction:column;gap:12px;padding:14px;display:flex}.bblock__top{align-items:center;gap:8px;display:flex}.bblock__idx{background:var(--panel);width:24px;height:24px;color:var(--muted);border-radius:7px;place-items:center;font-size:12px;font-weight:800;display:grid}.bblock__reorder{gap:4px;display:flex}.bblock__top .iconbtn--danger{margin-left:auto}.iconbtn{border:1px solid var(--border);background:var(--panel);width:30px;height:30px;color:var(--text-h);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:border-color .12s,background .12s,opacity .12s;display:inline-flex}.iconbtn:hover:not(:disabled){border-color:var(--accent)}.iconbtn:disabled{opacity:.35;cursor:not-allowed}.iconbtn--danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}.bblock__ex{flex-wrap:wrap;gap:8px;display:flex}.bblock__groups{flex-direction:column;gap:10px;display:flex}.exgroup{flex-direction:column;gap:6px;display:flex}.exgroup__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.exgroup__chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.chip.is-active{border-color:var(--accent);color:var(--text-h);background:#2ee6a21f}.bblock__cfg{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.builder__add{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.builder__foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.builder__stat{color:var(--muted);font-size:13px;font-weight:600}.stats{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding-top:18px;display:flex}.stats__top{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stats__stat{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:12px;display:flex}.stats__num{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.stats__lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.stats__title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.stats__pr-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.prpill{border:1px solid var(--border);background:var(--panel-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.prpill__name{color:var(--text);font-weight:600}.prpill strong{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:800}.stats__recent{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recent__row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.recent__date{color:var(--muted);min-width:52px;font-weight:600}.recent__name{color:var(--text-h);font-weight:700}.recent__reps{color:var(--text);margin-left:auto}.recent__score{color:var(--accent);text-align:right;min-width:42px;font-weight:800}.overlay--switch .switch__ex{align-items:center;gap:12px;display:flex}.switch__icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.switch__count{color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(56px,14vw,96px);font-weight:800;line-height:1}.summary__breakdown{flex-direction:column;gap:8px;width:min(420px,90%);margin:4px 0 8px;padding:0;list-style:none;display:flex}.brow{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff0d;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.brow__icon{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.brow__name{color:var(--text-h);font-weight:700}.brow__vol{color:var(--muted);margin-left:auto;font-size:12px}.brow__score{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;min-width:42px;font-weight:800}.brow__pr{color:var(--warn);align-items:center;gap:3px;font-size:11px;font-weight:800;display:inline-flex}@media (width<=560px){.app{padding:12px 12px 28px}.picker{grid-template-columns:repeat(2,1fr)}.plist{grid-template-columns:1fr}.poverview__summary{grid-template-columns:repeat(2,1fr)}.bblock__cfg,.setup__config{grid-template-columns:1fr}.hud__feedback{font-size:13px}}.profile-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.profile-chip:hover{border-color:var(--accent);background:var(--panel-2)}.profile-chip__icon{color:var(--accent);align-items:center;display:inline-flex}.ob{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:560px;box-shadow:var(--shadow);flex-direction:column;gap:22px;margin:0 auto;padding:28px;display:flex}.ob__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ob__kicker{letter-spacing:.14em;color:var(--accent);margin-bottom:6px;font-size:12px;font-weight:700}.ob__title{font-size:26px}.ob__dots{gap:8px;display:flex}.ob__dot{background:var(--border);border-radius:999px;flex:1;height:4px;transition:background .25s}.ob__dot.is-done{background:var(--accent)}.ob__choices{flex-direction:column;gap:10px;display:flex}.ob__choice{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s,transform .15s;display:flex}.ob__choice:hover{border-color:var(--muted);transform:translateY(-1px)}.ob__choice.is-active{border-color:var(--accent);background:#2ee6a214}.ob__choice-icon{width:36px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ob__choice-body{flex-direction:column;gap:2px;display:flex}.ob__choice-name{color:var(--text-h);font-weight:700}.ob__choice-desc{color:var(--muted);font-size:13px}.ob__body{flex-direction:column;gap:12px;display:flex}.ob__bmi{border-radius:var(--radius-md);border:1px dashed var(--border);background:var(--bg-soft);align-items:baseline;gap:10px;padding:14px 18px;display:flex}.ob__bmi-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:12px}.ob__bmi-value{color:var(--text-h);font-size:24px;font-weight:800}.ob__bmi[data-tone=good] .ob__bmi-cat{color:var(--accent)}.ob__bmi[data-tone=warn] .ob__bmi-cat{color:var(--warn)}.ob__bmi-cat{font-size:13px;font-weight:600}.ob__summary{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.ob__nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.plib{flex-direction:column;gap:14px;display:flex}.ptabs{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.ptabs::-webkit-scrollbar{display:none}.ptab{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.ptab:hover{border-color:var(--muted)}.ptab.is-active{border-color:var(--accent);color:var(--text-h);background:#2ee6a21a}.pcard__tag--rec{color:var(--accent);background:#2ee6a224;border-color:#2ee6a259}.hud__form{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05070ba6;border-radius:999px;align-items:baseline;gap:6px;padding:4px 12px;display:inline-flex}.hud__form small{letter-spacing:.14em;color:var(--muted);font-size:10px}.hud__form-score{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.hud__form-score[data-tone=good]{color:var(--accent)}.hud__form-score[data-tone=warn]{color:var(--warn)}.hud__form-score[data-tone=error]{color:var(--error)}.restform{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);flex-direction:column;align-items:center;gap:2px;padding:10px 22px;display:flex}.restform__pct{font-size:20px;font-weight:800}.restform[data-tone=good] .restform__pct{color:var(--accent)}.restform[data-tone=warn] .restform__pct{color:var(--warn)}.restform[data-tone=error] .restform__pct{color:var(--error)}.restform__detail{color:var(--muted);font-size:12px}.setup__scaled{color:var(--accent);text-align:center;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.setup__scaled strong{color:var(--text-h)}@media (width<=560px){.ob{padding:20px 16px}.ob__title{font-size:22px}.hud__form-score{font-size:14px}}.demo{aspect-ratio:4/3;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;flex-shrink:0;width:100%;max-width:260px;position:relative;overflow:hidden}.demo__frame{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.demo__frame--alt{animation:2.4s ease-in-out infinite demo-fade}.demo__badge{width:22px;height:22px;color:var(--accent);background:#0c0e13cc;border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;bottom:8px;right:8px}.demo__badge--alt{animation:2.4s ease-in-out infinite demo-fade}@keyframes demo-fade{0%,40%{opacity:0}50%,90%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.demo__frame--alt,.demo__badge--alt{opacity:.5;animation:none}}.switch__teach{align-items:center;gap:18px;width:100%;max-width:620px;padding:0 16px;display:flex}.switch__steps{color:var(--text);text-align:left;flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13px;display:flex}.switch__steps li::marker{color:var(--accent);font-weight:700}@media (width<=560px){.switch__teach{flex-direction:column;gap:10px}.demo{max-width:200px}}.gmodal__backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05070bb8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.gmodal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:640px;max-height:86svh;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:22px;display:flex;overflow-y:auto}.gmodal__head{align-items:center;gap:12px;display:flex}.gmodal__icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.gmodal__title{flex:1;font-size:22px}.gmodal__close{border:1px solid var(--border);background:var(--panel-2);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.gmodal__close:hover{border-color:var(--error);color:var(--error)}.gmodal__body{align-items:flex-start;gap:18px;display:flex}.gmodal__text{flex-direction:column;gap:8px;min-width:0;display:flex}.gmodal__sub{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:800}.gmodal__sub--warn{color:var(--warn);margin-top:8px}.gmodal__steps{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;display:flex}.gmodal__steps li::marker{color:var(--accent);font-weight:700}.gmodal__mistakes{color:var(--text);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.gmodal__mistakes li::marker{color:var(--warn)}.gmodal__note{color:var(--muted);font-size:12px;font-style:italic}.gmodal__hint{color:var(--muted);border-radius:var(--radius-md);background:var(--bg-soft);border:1px dashed var(--border);margin-top:6px;padding:10px 12px;font-size:13px}.gmodal__fallback{color:var(--text)}@media (width<=560px){.gmodal__body{flex-direction:column;align-items:center}}.poverview__list li{display:contents}button.poverview__item{width:100%;font:inherit;color:inherit;text-align:left;cursor:default}button.poverview__item--link{cursor:pointer;transition:border-color .15s}button.poverview__item--link:hover{border-color:var(--accent)}.poverview__howto{color:var(--accent);white-space:nowrap;font-size:12px;font-weight:700}.overlay--switch{gap:10px;overflow-y:auto}.overlay--switch>:first-child{margin-top:auto}.overlay--switch>:last-child{margin-bottom:auto}.overlay--switch .switch__count{font-size:clamp(36px,8vw,64px)}.icon{flex-shrink:0;display:block}.gmodal__hint-icon{vertical-align:-2px;color:var(--accent);margin-right:2px;display:inline-block}.court__skip{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;bottom:14px;right:14px}.freework__wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.freework__summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px;font-size:13px;font-weight:700;list-style-position:inside}.freework__summary:hover{color:var(--text-h)}.freework{flex-direction:column;gap:12px;padding:4px 16px 16px;display:flex}.chip__mode{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid #2ee6a266;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.practice-note{border-radius:var(--radius-md);color:var(--accent);background:#2ee6a214;border:1px solid #2ee6a266;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.practice-note strong{color:var(--text-h)}.practice-note__close{border:1px solid var(--border);width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.practice-note__close:hover{border-color:var(--error);color:var(--error)}.pgen{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:20px;padding:24px;display:flex}.pgen__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pgen__title{font-size:24px}.pgen__sub{color:var(--muted);margin-top:4px;font-size:13px}.pgen__grid{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.pgen__form{flex-direction:column;gap:18px;display:flex}.pgen__field{flex-direction:column;gap:8px;display:flex}.pgen__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.pgen__chips{flex-wrap:wrap;gap:8px;display:flex}.pgen__hint{color:var(--muted);font-size:12px;line-height:1.4}.pgen__preview{flex-direction:column;gap:12px;min-width:0;display:flex}.pgen__total{color:var(--text);font-size:13px}.pgen__total strong{color:var(--text-h)}.pgen__days{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pgen__why{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-soft)}.pgen__why summary{color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px;font-size:13px;font-weight:700}.pgen__why ul{color:var(--text);flex-direction:column;gap:6px;margin:0;padding:0 16px 14px 32px;font-size:13px;line-height:1.4;display:flex}.pgen__foot{justify-content:flex-end;gap:10px;display:flex}.pgen__foot .btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.pday{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.pday__head{align-items:center;gap:10px;min-width:0;display:flex}.pday__day{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid #2ee6a266;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:800}.pday__title{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:800;overflow:hidden}.pday__meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:12px;font-weight:600}.pday__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;margin:0;padding:0;list-style:none;display:grid}.pday__ex{justify-content:space-between;gap:8px;min-width:0;font-size:13px;display:flex}.pday__ex-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pday__ex-vol{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.wstrip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.wstrip__cell{text-align:center;border:1px dashed var(--border);color:var(--muted);border-radius:10px;padding:8px 0;font-size:12px;font-weight:700}.wstrip__cell.is-on{color:var(--text-h);background:#2ee6a21a;border-style:solid;border-color:#2ee6a280}.wplan{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel-2);flex-direction:column;gap:12px;padding:16px;display:flex}.wplan__head{align-items:center;gap:10px;display:flex}.wplan__icon{color:var(--accent);flex-shrink:0;display:inline-flex}.wplan__titles{flex-direction:column;gap:1px;min-width:0;margin-right:auto;display:flex}.wplan__title{color:var(--text-h);font-size:15px;font-weight:800}.wplan__progress{color:var(--muted);font-size:12px}.wplan__week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.wday{border:1px solid var(--border);background:var(--panel);min-height:64px;color:var(--text);text-align:center;font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:10px 4px;transition:border-color .12s,background .12s;display:flex}button.wday:hover{border-color:var(--muted)}.wday__label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:3px;font-size:11px;font-weight:800;display:inline-flex}.wday__name{color:var(--text-h);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.wday--rest{cursor:default;background:0 0;border-style:dashed}.wday--rest .wday__name{color:var(--muted);font-weight:600}.wday.is-today .wday__label{color:var(--accent)}.wday.is-today{box-shadow:inset 0 -2px 0 var(--accent)}.wday.is-active{border-color:var(--accent);background:#2ee6a21a}.wday.is-done .wday__label .icon{color:var(--accent)}.wplan__today{color:var(--text);font-size:13px}.wplan__today strong{color:var(--text-h)}.wplan--cta{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:#2ee6a20d;border-style:dashed;border-color:#2ee6a273;flex-direction:row;align-items:center;gap:14px;transition:border-color .12s,background .12s}.wplan--cta:hover{border-color:var(--accent);background:#2ee6a217}.wplan__cta-icon{color:var(--accent);flex-shrink:0;display:inline-flex}.wplan__cta-body{flex-direction:column;gap:2px;min-width:0;display:flex}.wplan__cta-title{color:var(--text-h);font-size:15px;font-weight:800}.wplan__cta-desc{color:var(--muted);font-size:13px}.wplan__cta-arrow{color:var(--accent);flex-shrink:0;margin-left:auto;transform:rotate(-90deg)}@media (width<=860px){.pgen__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.pgen{gap:18px;padding:18px 16px}.pgen__title{font-size:21px}.pday__list{grid-template-columns:minmax(0,1fr)}.pgen__foot .btn{flex:1;padding-inline:12px}.wplan{padding:14px 12px}.wplan__week,.wstrip{gap:4px}.wday{min-height:58px;padding:8px 2px}.wday__label{font-size:10px}.wday__name{font-size:10.5px}}.restissue{border-radius:var(--radius-md);border:1px solid var(--border);max-width:420px;color:var(--text-h);text-align:center;background:#00000059;padding:10px 14px;font-size:13px;line-height:1.4}.restissue[data-tone=error]{border-color:#ff5d5d73}.restissue[data-tone=warn]{border-color:#ffb23e73}.restissue[data-tone=good]{color:var(--accent);border-color:#2ee6a266}.restissue__count{color:var(--muted);font-variant-numeric:tabular-nums}.brow__issue{color:var(--warn);flex-basis:100%;padding-left:26px;font-size:12px;line-height:1.35}.brow__issue[data-tone=error]{color:var(--error)}.wday__name--short{display:none}@media (width<=560px){.wday__name--long{display:none}.wday__name--short{white-space:nowrap;font-size:11px;display:block}.poverview__item{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"idx icon name vol"". .rest howto";align-items:center;gap:2px 10px;display:grid}.poverview__idx{grid-area:idx}.poverview__ex-icon{grid-area:icon}.poverview__ex-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.poverview__ex-vol{grid-area:vol;margin-left:0}.poverview__ex-rest{text-align:left;grid-area:rest;min-width:0}.poverview__howto{grid-area:howto}}.hud__form-score[data-tone=idle]{color:var(--muted)}.hud__form-detail{font-variant-numeric:tabular-nums;margin-left:6px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.15}.h1{letter-spacing:-.015em;color:var(--color-text-primary);margin:0;font-size:24px;font-weight:700;line-height:32px}.h2{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700;line-height:28px}.h3{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600;line-height:24px}.lead{color:var(--color-text-secondary);font-size:17px;line-height:26px}.small{font-size:13px;line-height:18px}.muted{color:var(--color-text-muted)}.overline,.label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700;line-height:16px}.overline{color:var(--color-accent)}.hint{color:var(--color-text-muted);font-size:13px;line-height:18px}.tabular,.hud-num{font-variant-numeric:tabular-nums}.stack{gap:var(--space-3);flex-direction:column;display:flex}a.btn{justify-content:center;align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:44px;transition:transform var(--motion-fast) ease, background var(--motion-fast) ease, border-color var(--motion-fast) ease;display:inline-flex}.btn--sm{min-height:36px}.btn--lg{min-height:52px}.btn--xl{min-height:56px;padding:14px 28px;font-size:17px}.btn--text{color:var(--color-text-secondary);padding-inline:var(--space-3);background:0 0;border-color:#0000}.btn--text:hover{color:var(--color-text-primary)}.btn--danger{background:var(--color-danger);color:#1a0505}.btn--danger-text{color:var(--color-danger)}.btn:focus-visible,.chip:focus-visible,.choice:focus-visible,a:focus-visible,[role=switch]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chips--scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chips--scroll::-webkit-scrollbar{display:none}.chip{border-color:var(--color-border-control);flex-shrink:0;min-height:36px;text-decoration:none}.chip--lg{min-height:44px;padding:10px 16px;font-size:15px}.choices{gap:var(--space-3);flex-direction:column;display:flex}.choice{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-control);background:var(--color-surface-3);min-height:64px;color:var(--color-text-secondary);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--motion-base) ease, background var(--motion-base) ease;display:flex}.choice:hover{border-color:var(--color-text-muted)}.choice.is-active{border-color:var(--color-accent);background:var(--tint-accent)}.choice__icon{color:var(--color-accent);flex-shrink:0;display:inline-flex}.choice__body{flex-direction:column;gap:2px;display:flex}.choice__name{color:var(--color-text-primary);font-weight:600}.choice__desc{color:var(--color-text-muted);font-size:13px;line-height:18px}.note{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-primary);flex-wrap:wrap;font-size:14px;line-height:20px;display:flex}.note>span{flex:200px}.note>.icon{flex-shrink:0}.note--warning{background:var(--tint-warning);border-color:#ffb23e66}.note--warning>.icon{color:var(--color-warning)}.note--info{background:var(--tint-info);border-color:#6ea8ff66}.note--info>.icon{color:var(--color-info)}.badge{border-radius:var(--radius-full);border:1px solid var(--color-border-control);color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;line-height:16px;display:inline-flex}.badge--warning{background:var(--tint-warning);color:var(--color-warning);border-color:#ffb23e80}.zsum{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;margin:0;padding:6px 12px;font-size:13px;display:inline-flex}.zsum.is-active{color:var(--color-text-secondary);border-color:#2ee6a259}.zsum>.icon{color:var(--color-accent)}.zsum__link{color:var(--color-accent);font-weight:600;text-decoration:none}.zsum__link:hover{text-decoration:underline}.shell{flex-direction:column;min-height:100svh;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-6);height:64px;padding:0 max(var(--space-4), calc((100% - var(--content-max)) / 2));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#0c0e13e0;display:flex;position:sticky;top:0}.brand{text-decoration:none}.topnav{gap:var(--space-1);display:none}.topnav__link{border-radius:var(--radius-full);color:var(--color-text-secondary);padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.topnav__link:hover{color:var(--color-text-primary)}.topnav__link.is-active{color:var(--color-text-primary);background:var(--color-surface-3)}.page{width:100%;max-width:calc(var(--content-max) + 2 * var(--space-4));padding:var(--space-5) var(--space-4) calc(var(--tabbar-h) + var(--space-6) + env(safe-area-inset-bottom));flex:1;margin:0 auto}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border);background:#14171ff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar__link{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tabbar__link.is-active{color:var(--color-accent)}.focus{min-height:100svh}.page-loading{place-items:center;min-height:60svh;display:grid}.spinner--sm{border-width:2px;width:16px;height:16px}@media (width>=1024px){.topnav{display:flex}.tabbar{display:none}.page{padding-bottom:var(--space-7)}}.screen{gap:var(--space-5);flex-direction:column;display:flex}.screen--narrow{width:100%;max-width:720px;margin:0 auto}.screen__head{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.screen__head>div{gap:var(--space-1);flex-direction:column;display:flex}.grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.col-main,.col-side{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}@media (width>=1024px){.grid{gap:var(--space-5);grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex}.field{gap:var(--space-2);flex-direction:column;display:flex}.welcome{max-width:960px;min-height:100svh;padding:var(--space-6) var(--space-4) var(--space-7);gap:var(--space-7);flex-direction:column;margin:0 auto;display:flex}.welcome__brand{align-items:center;gap:var(--space-3);display:flex}.welcome__hero{gap:var(--space-4);flex-direction:column;max-width:620px;display:flex}.welcome__cta{align-self:flex-start;min-width:200px}.welcome__steps{gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.welcome__step{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex;position:relative}.welcome__step-icon{color:var(--color-accent);display:inline-flex}.welcome__step-no{top:var(--space-5);right:var(--space-5);color:var(--color-text-muted);font-size:13px;font-weight:700;position:absolute}.welcome__privacy{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:13px;display:flex}.welcome__privacy .icon{color:var(--color-accent);flex-shrink:0}.welcome__consent{margin:calc(-1 * var(--space-2)) 0 0;max-width:44ch;color:var(--color-text-muted);font-size:13px;line-height:18px}.welcome__consent a,.legal-links a{color:var(--color-text-secondary);text-underline-offset:3px;text-decoration:underline}.legal-links{gap:0 var(--space-4);flex-wrap:wrap;font-size:13px;display:flex}.legal-links a{align-items:center;min-height:44px;display:inline-flex}@media (width>=600px){.welcome__steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.wizard{width:100%;max-width:var(--form-max);min-height:100svh;padding:var(--space-6) var(--space-4) 0;gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.wizard--wide{max-width:var(--content-max)}.wizard__head{gap:var(--space-2);flex-direction:column;display:flex}.wizard__head-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.wizard__head .zsum{align-self:flex-start}.progress{gap:var(--space-2);margin-top:var(--space-2);display:flex}.progress__seg{border-radius:var(--radius-full);background:var(--color-border);height:4px;transition:background var(--motion-slow) ease;flex:1}.progress__seg.is-done{background:var(--color-accent)}.wizard__body{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.wizard__foot{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--color-bg) 70%, transparent);display:flex;position:sticky;bottom:0}.wizard__foot-right{align-items:center;gap:var(--space-2);display:flex}.bmi{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--color-border);margin:0;display:flex}.bmi strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:22px}.bmi[data-tone=good]>span:last-child{color:var(--color-accent)}.bmi[data-tone=warn]>span:last-child{color:var(--color-warning)}.zones{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.zones__map{justify-self:center;width:100%;max-width:220px;height:auto}.zones__figure{fill:none;stroke:var(--color-border-control);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.zones__figure circle,.zones__figure rect{stroke-width:3px;fill:var(--color-surface-3)}.zones__spot{cursor:pointer}.zones__spot circle{fill:var(--color-surface-2);stroke:var(--color-text-muted);stroke-width:2px;transition:fill var(--motion-base) ease, stroke var(--motion-base) ease}.zones__spot:hover circle{stroke:var(--color-text-primary)}.zones__spot.is-on circle{fill:#ffb23e59;stroke:var(--color-warning)}.zones__list{gap:var(--space-4);flex-direction:column;display:flex}.zones__none{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-control);background:var(--color-surface-3);color:var(--color-text-primary);font:inherit;cursor:pointer;font-weight:600;display:inline-flex}.zones__none.is-active{border-color:var(--color-accent);background:var(--tint-accent)}.zones__none .icon{color:var(--color-accent)}.zones__chips .chip.is-active{border-color:var(--color-warning);background:var(--tint-warning)}.zones__chips .chip.is-active .icon{color:var(--color-warning)}@media (width>=600px){.zones{grid-template-columns:200px minmax(0,1fr)}}.dialog__backdrop{z-index:50;padding:var(--space-4);background:#05070bb8;place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);box-shadow:var(--shadow);flex-direction:column;display:flex}.dialog__title{font-size:18px;line-height:26px}.dialog__body{color:var(--color-text-secondary)}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.toggle{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:48px;display:flex}.toggle__text{flex-direction:column;display:flex}.toggle__label{color:var(--color-text-primary);font-weight:600}.toggle__desc{color:var(--color-text-muted);font-size:13px}.toggle__switch{border-radius:var(--radius-full);border:1px solid var(--color-border-control);background:var(--color-surface-3);cursor:pointer;width:48px;height:28px;transition:background var(--motion-base) ease;flex-shrink:0;position:relative}.toggle__thumb{background:var(--color-text-muted);width:20px;height:20px;transition:transform var(--motion-base) ease, background var(--motion-base) ease;border-radius:50%;position:absolute;top:3px;left:3px}.toggle__switch.is-on{background:var(--tint-accent);border-color:var(--color-accent)}.toggle__switch.is-on .toggle__thumb{background:var(--color-accent);transform:translate(20px)}.savebar{bottom:calc(var(--tabbar-h) + var(--space-3) + env(safe-area-inset-bottom));z-index:10;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-control);background:var(--color-surface-3);box-shadow:var(--shadow);display:flex;position:sticky}.savebar>.small{flex:1}@media (width>=1024px){.savebar{bottom:var(--space-4)}}.hero-card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:radial-gradient(600px 220px at 100% 0%, #2ee6a21a, transparent 70%), var(--color-surface-2);border:1px solid #2ee6a259;flex-direction:column;display:flex}.hero-card__meta{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.hero-card__list{color:var(--color-text-muted);font-size:13px}.hero-card__cta{margin-top:var(--space-2)}@media (width>=600px){.hero-card__cta{align-self:flex-start;min-width:200px}}.quick-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.prompt-card,.empty-card,.link-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);display:flex}.prompt-card__icon,.empty-card>.icon,.link-card>.icon:first-child{color:var(--color-accent);flex-shrink:0}.prompt-card__body{gap:var(--space-1);flex-direction:column;display:flex}.prompt-card__actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.link-card{color:var(--color-text-primary);align-items:center;font-size:14px;font-weight:600;text-decoration:none}.link-card>span{flex:1}.link-card:hover{border-color:var(--color-text-muted)}.empty-state{align-items:center;gap:var(--space-3);max-width:440px;margin:var(--space-7) auto;text-align:center;flex-direction:column;display:flex}.empty-state>.icon{color:var(--color-accent)}.empty-inline{padding:var(--space-6) 0;text-align:center}.pbuild{gap:var(--space-5);flex:1;grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.pbuild__form{gap:var(--space-5);flex-direction:column;display:flex}.pbuild__preview{gap:var(--space-3);flex-direction:column;min-width:0;display:none}.pbuild[data-final=true] .pbuild__preview{display:flex}@media (width>=1024px){.pbuild{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.pbuild__preview{display:flex}}.week{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}@media (width>=600px){.week{gap:var(--space-2)}}.week .wday{font:inherit}.week .wday--rest{cursor:pointer}.dayview{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.dayview--rest{font-size:14px}.dayview__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dayview__list{gap:var(--space-2) var(--space-5);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.dayview__list li{justify-content:space-between;gap:var(--space-2);font-size:14px;display:flex}.dayview__list li .tabular{color:var(--color-text-muted);font-weight:700}@media (width>=600px){.dayview__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.tiles{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex}.tile__value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:32px}.tile__label{color:var(--color-text-muted);font-size:12px}.trend{margin:0}.trend__svg{width:100%;height:auto;overflow:visible}.trend__grid{stroke:var(--color-border);stroke-width:1px}.trend__tick{fill:var(--color-text-muted);font-size:11px}.trend__line{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend__hit{fill:#0000;cursor:pointer}.trend__dot{fill:var(--color-accent);stroke:var(--color-surface-2);stroke-width:2px}.trend__last{fill:var(--color-text-primary);font-size:12px;font-weight:700}.trend__tip rect{fill:var(--color-surface-3);stroke:var(--color-border-control)}.trend__tip-label{fill:var(--color-text-muted);font-size:11px}.trend__tip-value{fill:var(--color-text-primary);font-size:12px;font-weight:700}.insights{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.insight{gap:var(--space-3);align-items:flex-start;display:flex}.insight>.icon{color:var(--color-warning);flex-shrink:0;margin-top:3px}.insight[data-tone=error]>.icon{color:var(--color-danger)}.insight__text{flex-direction:column;gap:2px;display:flex}.insight__text strong{color:var(--color-text-primary);font-weight:600}.setting-card{padding:var(--space-4);gap:var(--space-2)}.setting-card__head{justify-content:space-between;align-items:center;display:flex}.notes{gap:var(--space-2);flex-direction:column;margin:0;padding-left:18px;font-size:13px;line-height:18px;display:flex}.segmented{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-1);align-self:flex-start;padding:4px;display:inline-flex}.segmented button{border-radius:var(--radius-full);min-height:36px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 18px;font-weight:600}.segmented button.is-active{background:var(--color-surface-3);color:var(--color-text-primary)}.filters{gap:var(--space-3);flex-direction:column;display:flex}.search{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-control);background:var(--color-surface-1);color:var(--color-text-muted);display:flex}.search:focus-within{border-color:var(--color-accent)}.search input{min-width:0;color:var(--color-text-primary);background:0 0;border:0;outline:none;flex:1;font-size:16px}.filters>.chip{align-self:flex-start}.exgrid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));margin:0;padding:0;list-style:none;display:grid}.excard{gap:var(--space-3);height:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:inherit;transition:border-color var(--motion-fast) ease;text-decoration:none;display:flex}.excard:hover{border-color:var(--color-text-muted)}.excard__media{border-radius:var(--radius-sm);background:var(--color-surface-3);width:72px;height:72px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.excard__media img{object-fit:cover;width:100%;height:100%}.excard__body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.excard__name{color:var(--color-text-primary);font-weight:600}.excard__meta{color:var(--color-text-muted);font-size:12px}.excard__diff{gap:3px;display:inline-flex}.excard__diff span{background:var(--color-border);border-radius:2px;width:14px;height:4px}.excard__diff span.is-on{background:var(--color-accent)}.plist2{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin:0;padding:0;list-style:none;display:grid}.pcard2{gap:var(--space-2);height:100%;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex}.pcard2__main{align-items:flex-start;gap:var(--space-1);color:inherit;flex-direction:column;text-decoration:none;display:flex}.pcard2__head{align-items:center;gap:var(--space-2);color:var(--color-accent);display:flex}.pcard2__name{color:var(--color-text-primary);font-weight:600}.pcard2__actions{gap:var(--space-1);margin-left:-12px;display:flex}.pcard2--new{min-height:120px;color:var(--color-accent);text-align:center;background:0 0;border-style:dashed;justify-content:center;align-items:center;text-decoration:none}.backlink{align-items:center;gap:var(--space-2);min-height:36px;color:var(--color-text-secondary);align-self:flex-start;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.detail__head{gap:var(--space-1);flex-direction:column;display:flex}.detail__stats{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.detail__stats div{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2)}.detail__stats dt{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.detail__stats dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;margin:2px 0 0;font-size:18px;font-weight:800}.detail__camera{align-items:center;gap:var(--space-2);display:flex}.exlist{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.exrow{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);display:flex}.exrow.is-unsafe{border-color:#ffb23e73}.exrow__idx{border-radius:var(--radius-sm);background:var(--color-surface-3);width:28px;height:28px;color:var(--color-text-muted);flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.exrow__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.exrow__name{align-items:center;gap:var(--space-2);color:var(--color-text-primary);flex-wrap:wrap;font-weight:600;display:flex}.exrow__meta{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.exrow__warn{color:var(--color-warning);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.exrow__warn[data-tone=error]{color:var(--color-danger)}.exrow__warn .btn--text{min-height:28px;color:var(--color-accent);padding:0 6px}.exrow>.btn--text{color:var(--color-accent);flex-shrink:0}.stickybar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:10;padding:var(--space-3) 0;background:linear-gradient(to top, var(--color-bg) 70%, transparent);position:sticky}.stickybar__cta{width:100%}@media (width>=1024px){.stickybar{bottom:0}}@media (width<=599px){.detail__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.exrow{flex-wrap:wrap}.exrow>.btn--text{margin-left:40px;padding-left:0}}.flow{width:100%;max-width:calc(var(--content-max) + 2 * var(--space-4));min-height:100svh;padding:0 var(--space-4) var(--space-5);flex-direction:column;margin:0 auto;display:flex}.flowbar{z-index:15;align-items:center;gap:var(--space-3);height:56px;margin:0 calc(-1 * var(--space-4)) var(--space-4);padding:0 var(--space-4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#0c0e13eb;display:flex;position:sticky;top:0}.flowbar__exit{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.flowbar__title{flex-direction:column;flex:1;min-width:0;display:flex}.flowbar__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.flowbar__step{color:var(--color-text-muted);font-size:12px}.flowbar__steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.flowbar__steps li{border-radius:var(--radius-full);background:var(--color-border);width:20px;height:4px}.flowbar__steps li.is-current{background:var(--color-accent)}.prep{gap:var(--space-5);flex-direction:column;flex:1;display:flex}.substeps{gap:var(--space-2);color:var(--color-text-muted);margin:0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.substeps li{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border);flex:1;display:flex}.substeps li.is-current{color:var(--color-text-primary);border-color:var(--color-accent)}.substeps li.is-done{border-color:#2ee6a266}.substeps__no{background:var(--color-surface-3);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.substeps li.is-current .substeps__no,.substeps li.is-done .substeps__no{background:var(--color-accent);color:var(--color-on-accent)}.prep__body{flex:1}.prep__body--split{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.prep__body--split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.steps,.mistakes{gap:var(--space-2);flex-direction:column;margin:0;padding-left:22px;line-height:22px;display:flex}.steps li::marker{color:var(--color-accent);font-weight:700}.mistakes li::marker{color:var(--color-warning)}.others{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.others summary{cursor:pointer;color:var(--color-text-primary);font-weight:600}.others ul{margin:var(--space-3) 0 var(--space-2);gap:var(--space-2);flex-direction:column;padding-left:18px;font-size:14px;display:flex}.angle-card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex}.angle{width:100%;height:auto}.angle__cam{fill:var(--color-surface-3);stroke:var(--color-text-muted);stroke-width:1.5px}.angle__lens{fill:none;stroke:var(--color-accent);stroke-width:2px}.angle__ray{stroke:var(--color-text-muted);stroke-width:1.5px}.angle__body{fill:var(--tint-accent);stroke:var(--color-accent);stroke-width:2px}.angle__face{stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round}.angle__text{fill:var(--color-text-muted);font-size:11px}.checklist{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist li{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);line-height:22px;display:flex}.checklist li>.icon{color:var(--color-accent);flex-shrink:0;margin-top:2px}.checklist__note{border-color:#ffb23e66!important}.checklist__note>.icon{color:var(--color-warning)!important}.prep__permission{align-items:center;gap:var(--space-3);max-width:480px;margin:var(--space-6) auto 0;text-align:center;flex-direction:column;display:flex}.prep__permission-icon{background:var(--tint-accent);width:64px;height:64px;color:var(--color-accent);border-radius:50%;place-items:center;display:grid}.model-status{color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.model-status[data-status=ready]{color:var(--color-accent)}.prep__permission-actions{align-items:stretch;gap:var(--space-2);width:100%;max-width:320px;margin-top:var(--space-3);flex-direction:column;display:flex}.setup-state{align-items:center;gap:var(--space-3);max-width:480px;margin:var(--space-7) auto 0;text-align:center;flex-direction:column;display:flex}.setup-state__icon{background:var(--tint-warning);width:64px;height:64px;color:var(--color-warning);border-radius:50%;place-items:center;display:grid}.setup-state__actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calib{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.calib__stage,.live__stage{aspect-ratio:16/9;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#05070b;position:relative;overflow:hidden}.calib__silhouette{pointer-events:none;fill:none;stroke-linejoin:round;stroke-linecap:round;width:100%;height:92%;position:absolute;inset:4% 0}.calib__silhouette-halo{stroke:#05070b99;stroke-width:6px}.calib__silhouette-line{fill:#f4f6fb12;stroke:#fffffff2;stroke-width:2.5px;stroke-dasharray:9 7;transition:stroke var(--motion-base) ease, fill var(--motion-base) ease}.calib__silhouette-halo>*,.calib__silhouette-line>*{vector-effect:non-scaling-stroke}.calib__count{color:var(--color-text-primary);font-variant-numeric:tabular-nums;background:#05070b73;place-items:center;font-size:clamp(64px,14vw,140px);font-weight:800;display:grid;position:absolute;inset:0}.calib__silhouette[data-phase=hold] .calib__silhouette-line,.calib__silhouette[data-phase=countdown] .calib__silhouette-line{stroke:var(--color-accent);stroke-dasharray:none;fill:#2ee6a21a}.calib__silhouette[data-phase=paused] .calib__silhouette-line{stroke:var(--color-warning)}.vp{width:100%;height:auto}.vp__cam{fill:var(--color-surface-3);stroke:var(--color-text-muted);stroke-width:1.5px}.vp__lens{fill:none;stroke:var(--color-accent);stroke-width:2px}.vp__ray{stroke:var(--color-text-muted);stroke-width:1.5px}.vp__shoulders{fill:var(--tint-accent);stroke:var(--color-accent);stroke-width:2px}.vp__head{fill:var(--color-surface-2);stroke:var(--color-accent);stroke-width:2px}.vp__nose{fill:var(--color-accent)}.vp__text{fill:var(--color-text-muted);font-size:11px}.vp__arrow{fill:none;stroke:var(--color-warning);stroke-width:2.5px;stroke-linecap:round;marker-end:none;opacity:.9}.vp__ok{fill:none;stroke:var(--color-accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:2.6s ease-in-out infinite vp-ok}.vp__turn{transform:rotate(var(--vp-from));animation:2.6s ease-in-out infinite vp-turn}@keyframes vp-turn{0%,18%{transform:rotate(var(--vp-from))}45%,85%{transform:rotate(var(--vp-to))}to{transform:rotate(var(--vp-from))}}@keyframes vp-ok{0%,45%{opacity:0}55%,85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.vp__turn{transform:rotate(var(--vp-to));animation:none}.vp__ok{opacity:1;animation:none}}.turnhint{z-index:3;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);pointer-events:none;text-align:center;background:#05070b9e;flex-direction:column;display:flex;position:absolute;inset:0}.turnhint[hidden],.stage__turn[hidden]{display:none}.stage__turn{z-index:3;pointer-events:none;position:absolute;inset:0}.turnhint .vp--turn{width:min(70%,380px)}.turnhint__text{color:var(--color-text-primary);flex-direction:column;gap:4px;margin:0;display:flex}.turnhint__text strong{font-size:clamp(24px,4.2vw,44px);font-weight:800;line-height:1.1}.turnhint__text span{color:var(--color-text-secondary);font-size:clamp(14px,1.8vw,20px)}.calib__count[data-paused]{color:var(--color-warning);opacity:.55}.calib__status{bottom:var(--space-3);z-index:2;border-radius:var(--radius-lg);width:min(92%,560px);color:var(--color-text-primary);text-align:center;background:#05070bd1;border:1px solid #ffb23e8c;flex-direction:column;align-items:center;gap:2px;padding:10px 18px 12px;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.calib__status[data-tone=good]{border-color:#2ee6a299}.calib__status strong{font-size:clamp(18px,2.6vw,28px);font-weight:800;line-height:1.15}.calib__status span{color:var(--color-text-secondary);font-size:clamp(13px,1.5vw,16px)}.calib__status .calib__bar{background:var(--color-accent);transform-origin:0;width:100%;height:4px;animation:calib-hold var(--calib-hold,1.5s) linear forwards;position:absolute;bottom:0;left:0}@keyframes calib-hold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.calib__status .calib__bar{opacity:.6;animation-duration:1ms}}.calib__model{left:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-2);border-radius:var(--radius-full);background:#05070bcc;padding:6px 12px;font-size:13px;display:flex;position:absolute}.calib__panel{gap:var(--space-3);flex-direction:column;display:flex}.fchecks{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fcheck{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--tint-warning);color:var(--color-text-primary);transition:background var(--motion-base) ease, border-color var(--motion-base) ease;border:1px solid #ffb23e66;font-weight:600;display:flex}.fcheck>.icon{color:var(--color-warning)}.fcheck.is-ok{background:var(--tint-accent);border-color:#2ee6a280}.fcheck.is-ok>.icon{color:var(--color-accent)}.fcheck.is-pending{border-color:var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);font-weight:500}.fcheck.is-pending>.icon{color:var(--color-text-muted)}.calib__escape{animation:vcaption-in var(--motion-base) ease}@media (width>=1024px){.calib{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start}}.live{gap:var(--space-3);grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""controls";display:grid}.live__stage{grid-area:stage}.live__panel{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;grid-area:panel;display:none}.live__controls{justify-content:center;gap:var(--space-2);grid-area:controls;display:flex}.ctrl{min-width:96px;min-height:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-primary);font:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.ctrl:hover{border-color:var(--color-text-muted)}.setdots{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.setdots li{border-radius:var(--radius-full);background:var(--color-border);flex:1;height:6px}.setdots li.is-done{background:var(--color-accent)}.setdots li.is-current{background:#2ee6a273}.overlay__actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.overlay--pause{gap:var(--space-4)}.switch__view{max-width:420px}.camless{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center;background:var(--color-surface-1);flex-direction:column;display:flex;position:absolute;inset:0}.camless__cue{max-width:420px}.camless__count{align-items:baseline;gap:var(--space-2);display:flex}.camless__count .hud-num{color:var(--color-text-primary);font-size:clamp(64px,12vw,120px);font-weight:800;line-height:1}.camless__target{color:var(--color-text-muted);font-size:22px;font-weight:700}@media (width>=1024px){.live{grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-template-areas:"stage panel""controls panel"}.live__panel{display:flex}}@media (width<=599px){.flow--canli .live__stage,.flow--kurulum .calib__stage{aspect-ratio:auto;height:min(70svh, calc(100svh - 56px - 96px - 2 * var(--space-4)))}.ctrl{flex:1;min-width:0}}.summary-page{gap:var(--space-4);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.summary-page__actions{margin-top:var(--space-2);display:flex}.summary-page__actions .btn{flex:1}@media (width>=600px){.summary-page__actions .btn{flex:none;min-width:240px}}.pbuild__preview-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pbuild__preview-head .btn--text{color:var(--color-accent)}@media (width<=599px){.hud__set{white-space:nowrap;text-overflow:ellipsis;max-width:52%;font-size:11px;overflow:hidden}}.vcaption{z-index:4;align-items:center;gap:var(--space-2);max-width:calc(100% - 2 * var(--space-4));border-radius:var(--radius-full);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;animation:vcaption-in var(--motion-base) ease;background:#05070bc7;border:1px solid #ffffff1f;margin:0;padding:8px 16px;font-size:15px;font-weight:600;display:inline-flex;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}.vcaption .icon{color:var(--color-accent);flex-shrink:0}@keyframes vcaption-in{0%{opacity:0;transform:translate(-50%,-4px)}}.voicetest{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.voicetest__row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.voicetest__status{padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-left:3px solid;border-radius:8px;margin:0;font-size:13px;line-height:1.45}.voicetest__status--muted{color:var(--color-text-muted)}.voicetest__status--ok{color:var(--color-accent-strong)}.voicetest__status--err{color:var(--color-danger)}@media (width<=599px){.vcaption{font-size:13px;top:52px}}.stall{inset-inline:var(--space-3);bottom:var(--space-3);z-index:4;gap:var(--space-2);max-width:560px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-warning);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);animation:stall-in var(--motion-slow) ease-out both;background:#0c0e13eb;flex-direction:column;margin-inline:auto;display:flex;position:absolute}.stall__title{color:var(--color-text-primary);margin:0;font-size:clamp(20px,2.6vw,26px);font-weight:800;line-height:1.2}.stall__body{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.45}.stall__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}@keyframes stall-in{0%{opacity:0;transform:translateY(12px)}}@media (width<=599px){.stall{inset-inline:var(--space-2);bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.stall__actions>.btn{flex:100%}}@media (prefers-reduced-motion:reduce){.stall{animation:none}}.nextfocus{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--tint-accent);border:1px solid #2ee6a266;flex-direction:column;display:flex}.nextfocus .overline{color:var(--color-accent);margin:0}.nextfocus__title{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:800;line-height:1.3}.nextfocus__cue{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);margin:0;display:flex}.nextfocus__cue .icon{color:var(--color-accent);flex-shrink:0}.xreports{gap:var(--space-3);flex-direction:column;display:flex}.xreport{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);flex-direction:column;display:flex}.xreport__head{align-items:center;gap:var(--space-3);display:flex}.xreport__title{flex:1;min-width:0}.xreport__title .exrow__name{margin:0;font-size:16px}.xreport__title .exrow__meta{margin:2px 0 0}.xreport__score{font-variant-numeric:tabular-nums;color:var(--color-text-primary);flex-direction:column;align-items:flex-end;font-size:22px;font-weight:800;line-height:1;display:flex}.xreport__score small{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-top:2px;font-size:11px;font-weight:700}.xreport__score[data-tone=good]{color:var(--color-accent)}.xreport__score[data-tone=warn]{color:var(--color-warning)}.xreport__score[data-tone=error]{color:var(--color-danger)}.xreport__chips{gap:var(--space-1);flex-wrap:wrap;margin:0;display:flex}.xreport__trend,.xreport__clean{align-items:flex-start;gap:var(--space-2);margin:0;font-size:14px;line-height:1.45;display:flex}.xreport__trend{color:var(--color-warning)}.xreport__clean{color:var(--color-accent)}.xreport__trend .icon,.xreport__clean .icon{flex-shrink:0;margin-top:3px}.xreport__more{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.xreport__more>summary{cursor:pointer;min-height:32px;color:var(--color-text-secondary);font-size:14px}.xreport__more[open]>summary{margin-bottom:var(--space-3)}.fix{gap:var(--space-3);padding-left:var(--space-3);border-left:3px solid var(--color-warning);flex-direction:column;display:flex}.fix[data-tone=error]{border-left-color:var(--color-danger)}.fix__head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.fix__part{border-radius:var(--radius-full);background:var(--tint-warning);color:var(--color-warning);padding:2px 8px;font-size:12px;font-weight:700}.fix[data-tone=error] .fix__part{background:var(--tint-danger);color:var(--color-danger)}.fix__title{color:var(--color-text-primary);flex:200px;font-size:16px;line-height:1.3}.fix__freq{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.fix__compare{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;display:grid}.fix__fig{gap:var(--space-1);flex-direction:column;min-width:0;margin:0;display:flex}.fix__fig>.posethumb,.fix__fig>.demo,.fix__fig>.fix__video{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;max-width:none}.posethumb{background:#05070b;display:block}.fix__video{object-fit:cover;background:#fff}.fix__fig figcaption{color:var(--color-danger);align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.fix__fig--ok figcaption{color:var(--color-accent)}.fix__why{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.fix__cues{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fix__cues li{align-items:flex-start;gap:var(--space-2);color:var(--color-text-primary);font-size:14px;line-height:1.45;display:flex}.fix__cues .icon{color:var(--color-accent);flex-shrink:0;margin-top:3px}@media (width<=599px){.xreport{padding:var(--space-3)}}.insights{gap:var(--space-4);flex-direction:column;display:flex}.insights__back{align-items:center;gap:4px;min-height:32px;text-decoration:none;display:inline-flex}.insights__actions{gap:var(--space-2);flex-flow:wrap}.funnel{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.funnel__row{align-items:baseline;gap:6px var(--space-2);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"label value drop""track track track";display:grid}.funnel__label{color:var(--color-text-primary);grid-area:label;font-size:14px}.funnel__value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;grid-area:value;font-size:14px;font-weight:700}.funnel__value small{color:var(--color-text-muted);font-weight:500}.funnel__drop{min-width:44px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;grid-area:drop;justify-content:flex-end;align-items:center;gap:3px;font-size:12px;font-weight:700;display:inline-flex}.funnel__drop.is-worst{color:var(--color-warning)}.funnel__track{background:var(--color-surface-3);border-radius:4px;grid-area:track;height:10px;overflow:hidden}.funnel__bar{background:var(--color-accent);height:100%;transition:width var(--motion-slow) ease-out;border-radius:0 4px 4px 0;display:block}@media (prefers-reduced-motion:reduce){.funnel__bar{transition:none}}.ilist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ilist__row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);display:flex}.ilist__row:first-child{border-top:0;padding-top:0}.ilist__main{min-width:0;color:var(--color-text-primary);flex-direction:column;flex:1;gap:4px;font-size:14px;display:flex}.ilist__row:not(.ilist__row--ex) .ilist__main{display:block}.ilist__meta{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.ilist__chips{flex-wrap:wrap;gap:4px;display:flex}.ilist__chips:empty{display:none}.ilist__num{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.kv{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.kv dt{color:var(--color-text-muted);font-size:12px}.kv dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:15px;font-weight:700}@media (width<=599px){.kv{grid-template-columns:minmax(0,1fr)}}.recs{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recs li{align-items:flex-start;gap:var(--space-2);color:var(--color-text-primary);font-size:14px;line-height:1.5;display:flex}.recs .icon{color:var(--color-accent);flex-shrink:0;margin-top:3px}
