:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#121214;--surface2:#1a1a1d;--surface3:#242428;--line:#2b2b30;--text:#fafafa;--muted:#a1a1aa;--faint:#66666e;--lime:#c6f84e;--lime-ink:#0b0d06;--blue:#60c5ff;--warn:#ff9f43;--bad:#ff5f5f;--good:#c6f84e;--fill:var(--lime);--fill-ink:var(--lime-ink);--display:"Archivo", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--r:16px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}:root[data-theme=rainbow]{--bg:#0a0a0d;--solid:#141418;--surface:#141419cc;--surface2:#1e1e24d9;--surface3:#26262c;--line:#ffffff17;--text:#f6f6f8;--muted:#a1a1aa;--faint:#6b6b74;--lime:#ff8a2a;--lime-ink:#0a0a0d;--blue:#22d3e6;--warn:#ffd83d;--bad:#ff5c7a;--good:#c8e632;--on-strong:#0a0a0d;--fill:#ff8a2a;--fill-ink:#0a0a0d;--glow1:#ff8a2a4d;--glow2:#22d3e638;--glow3:#ff5c7a24;--rainbow:linear-gradient(90deg, #ff5c7a 0%, #ff8a2a 25%, #ffd83d 50%, #c8e632 72%, #22d3e6 100%)}:root[data-theme=rainbow-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fffbf5;--solid:#fff;--surface:#ffffffc7;--surface2:#fff4e8e6;--surface3:#f6e7d5;--line:#efdfcb;--text:#1c1917;--muted:#6b625c;--faint:#a8a29e;--lime:#1c1917;--lime-ink:#fff;--fill:linear-gradient(100deg, #ff4d6d 0%, #ff7a1a 30%, #ffd23f 55%, #b8d92b 78%, #14c4d6 100%);--fill-ink:#1c1917;--blue:#0e7490;--warn:#b45309;--bad:#be123c;--good:#4d7c0f;--on-strong:#fff;--glow1:#ff7a1a38;--glow2:#14c4d62e;--glow3:#ff4d6d1f;--rainbow:linear-gradient(90deg, #ff4d6d 0%, #ff7a1a 25%, #ffd23f 50%, #b8d92b 72%, #14c4d6 100%)}:root[data-theme=lime-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f2;--solid:#fff;--surface:#fff;--surface2:#f0f2ea;--surface3:#e5e8dc;--line:#dfe3d4;--text:#15170f;--muted:#5f6655;--faint:#9aa18e;--lime:#3f6212;--lime-ink:#fff;--fill:#c6f84e;--fill-ink:#15170f;--blue:#0e7490;--warn:#b45309;--bad:#be123c;--good:#4d7c0f;--on-strong:#fff}:root[data-theme=lime-light] .badge,:root[data-theme=lime-light] .filter-tabs .attention .count:not(.zero),:root[data-theme=lime-light] .resolve-btn.on{color:#fff}:root[data-theme=lime-light] .scrim{background:#15170f59}:root[data-theme=lime-light] .tabbar a.active{background:#eef9d2}:root[data-theme=lime-light] .sdot.green,:root[data-theme=lime-light] .session-dot.complete{background:var(--good);color:#fff}:root[data-theme=lime-light] .pill.lime{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good)}:root[data-theme=rainbow-light] .tabbar a.active svg,:root[data-theme=rainbow-light] .hub-icon svg,:root[data-theme=rainbow-light] .resource-icon svg{stroke:url(#mk-rainbow)}:root[data-theme=rainbow-light] .tabbar a.active{color:var(--text);font-weight:600}:root[data-theme=rainbow-light] .ex-num{color:var(--muted)}:root[data-theme=rainbow-light] .btn.primary,:root[data-theme=rainbow-light] .seg button.on,:root[data-theme=rainbow-light] .chip.on,:root[data-theme=rainbow-light] .client-sub a.on,:root[data-theme=rainbow-light] .num-dot,:root[data-theme=rainbow-light] .pose-slot.done .pose-label{background:linear-gradient(#fff, #fff) padding-box, var(--rainbow) border-box;color:var(--text);border:2px solid #0000}:root[data-theme=rainbow-light] .btn.primary:disabled{opacity:.5}:root[data-theme=rainbow-light][data-variant="2"]{--bg:#fff;--solid:#fff;--surface:#fff;--surface2:#f5f6fa;--surface3:#eceef4;--line:#e8e9ef;--muted:#5b5866;--faint:#a09cab;background:#fff}:root[data-theme=rainbow-light][data-variant="2"]:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(36vmax 28vmax at 18% 14%,#ff966480,#0000 70%),radial-gradient(34vmax 28vmax at 84% 16%,#46d7eb7a,#0000 70%),radial-gradient(30vmax 24vmax at 52% 36%,#ffdc6457,#0000 70%),radial-gradient(34vmax 26vmax at 14% 56%,#ff78aa61,#0000 70%),radial-gradient(34vmax 26vmax at 88% 60%,#a082ff61,#0000 70%),radial-gradient(36vmax 26vmax at 34% 86%,#82dc8c61,#0000 70%),radial-gradient(30vmax 24vmax at 80% 90%,#ffaa6e57,#0000 70%);animation:38s ease-in-out infinite alternate mk-float;position:fixed;inset:-20%}@keyframes mk-float{0%{transform:translate(0,0)rotate(0)}50%{transform:translate(2%,-2%)rotate(4deg)}to{transform:translate(-2%,2%)rotate(-3deg)}}:root[data-theme=rainbow-light][data-variant="2"] .card,:root[data-theme=rainbow-light][data-variant="2"] .resource,:root[data-theme=rainbow-light][data-variant="2"] .ex,:root[data-theme=rainbow-light][data-variant="2"] .ed-session{background:#fff;border:1px solid #1e1e3c0f;box-shadow:0 6px 22px #28285012,0 1px 2px #2828500a}:root[data-theme=rainbow-light][data-variant="2"] .stat{background:#f7f8fb}:root[data-theme=rainbow-light][data-variant="2"] .input,:root[data-theme=rainbow-light][data-variant="2"] .select,:root[data-theme=rainbow-light][data-variant="2"] .textarea,:root[data-theme=rainbow-light][data-variant="2"] .set-in{background:#fbfbfd}:root[data-theme=rainbow-light][data-variant="2"] .tabbar{background:#ffffffe6}:root[data-theme=rainbow-light][data-variant="2"] .notice{background:#ffffffd9;border:1px solid #1e1e3c0f}:root[data-theme=rainbow-light][data-variant="2"] .welcome-step{box-shadow:0 4px 16px #2828500f}:root[data-theme=rainbow][data-variant="2"] .btn.primary,:root[data-theme=rainbow][data-variant="2"] .seg button.on,:root[data-theme=rainbow][data-variant="2"] .chip.on,:root[data-theme=rainbow][data-variant="2"] .client-sub a.on,:root[data-theme=rainbow][data-variant="2"] .num-dot,:root[data-theme=rainbow][data-variant="2"] .pose-slot.done .pose-label{background:linear-gradient(var(--solid), var(--solid)) padding-box, var(--rainbow) border-box;color:var(--text);border:2px solid #0000}:root[data-theme=rainbow][data-variant="2"] .btn.primary:disabled{opacity:.5}:root[data-theme=rainbow][data-variant="2"] .dot.ready{background:var(--rainbow)}:root[data-theme=rainbow][data-variant="2"] .tabbar a.active svg,:root[data-theme=rainbow][data-variant="2"] .hub-icon svg,:root[data-theme=rainbow][data-variant="2"] .resource-icon svg{stroke:url(#mk-rainbow-dark)}:root[data-theme=rainbow][data-variant="2"] .tabbar a.active{color:var(--text);font-weight:600}:root[data-theme=rainbow][data-variant="2"] .ex-num{color:var(--muted)}:root[data-theme=lime-light] .hub-icon,:root[data-theme=lime-light] .resource-icon{color:#c6f84e;background:#15170f}:root[data-theme=lime-light] .client-shell h2{text-underline-offset:7px;-webkit-text-decoration:underline #c6f84e;text-decoration:underline #c6f84e;text-decoration-thickness:4px}:root[data-theme=lime-light] .tabbar a.active svg{color:#15170f}:root[data-theme=lime-light] .tabbar a.active{color:#15170f;background:#c6f84e}:root[data-theme^=rainbow]{background:radial-gradient(60vmax 42vmax at 12% -8%, var(--glow1), transparent 62%), radial-gradient(55vmax 40vmax at 92% -4%, var(--glow2), transparent 62%), radial-gradient(50vmax 36vmax at 50% 112%, var(--glow3), transparent 66%), var(--bg);background-attachment:fixed;min-height:100%}:root[data-theme^=rainbow] body{background:0 0}:root[data-theme^=rainbow] .sheet,:root[data-theme^=rainbow] .rest-bar,:root[data-theme^=rainbow] .undo-bar{background-color:var(--solid)}:root[data-theme^=rainbow] .bar>i{background:var(--rainbow)}:root[data-theme^=rainbow] .sdot.green,:root[data-theme^=rainbow] .session-dot.complete{background:var(--good);color:var(--on-strong)}:root[data-theme^=rainbow] .pill.lime{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good)}:root[data-theme^=rainbow] .tabbar{border-image:var(--rainbow) 1;border-top-width:1px}:root[data-theme=rainbow-light] .badge,:root[data-theme=rainbow-light] .filter-tabs .attention .count:not(.zero),:root[data-theme=rainbow-light] .resolve-btn.on{color:#fff}:root[data-theme=rainbow-light] .scrim{background:#1c191759}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}html{min-height:100%}body,#root{min-height:100dvh}body{font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}h1{font-size:26px;font-weight:800}h2{font-size:20px;font-weight:700}h3{font-size:16px;font-weight:700}p{margin:0}a{color:var(--lime)}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13px}.tiny{font-size:12px}.num{font-variant-numeric:tabular-nums}.label{font:600 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:24px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1;min-width:0}.center{place-items:center;min-height:60vh;display:grid}.wordmark{font-family:var(--display);letter-spacing:.03em;white-space:nowrap;font-size:18px}.wordmark b{font-weight:800}.wordmark span{font-weight:500}.btn{cursor:pointer;white-space:nowrap;background:var(--surface3);color:var(--text);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .12s,filter .15s,background .15s;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default;filter:none;transform:none}.btn:focus-visible,.chip:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tap:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.btn.primary{background:var(--fill);color:var(--fill-ink)}.btn.big{font-size:16px;font-family:var(--display);padding:15px 30px;font-weight:700}.btn.small{padding:8px 14px;font-size:13px}.btn.ghost{color:var(--muted);background:0 0}.btn.ghost:hover{color:var(--text)}.btn.danger{color:var(--bad);background:0 0}.btn.dashed{border:1px dashed var(--line);color:var(--muted);background:0 0;font-weight:500}.btn.full{width:100%}.icon-btn{border-radius:50%;width:34px;height:34px;padding:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;transition:transform .12s,background .15s}.chip:active{transform:scale(.95)}.chip.on{background:var(--fill);color:var(--fill-ink);border-color:#0000}.pill{font:600 11px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;background:var(--surface3);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.pill.lime{background:color-mix(in srgb, var(--lime) 16%, transparent);color:var(--lime)}.pill.blue{background:color-mix(in srgb, var(--blue) 16%, transparent);color:var(--blue)}.pill.warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb, var(--bad) 16%, transparent);color:var(--bad)}.input,.select,.textarea{background:var(--surface2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:12px;padding:11px 13px;font-size:16px}.back-btn{color:var(--lime)!important}.pw-wrap{display:block;position:relative}.pw-wrap .input{padding-right:48px}.pw-eye{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-eye:hover{color:var(--text)}.textarea{resize:vertical;min-height:84px}.textarea.memo{min-height:460px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--faint)}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--lime);flex:none;margin-top:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.card.tight{padding:14px}.tap{cursor:pointer;color:inherit;text-decoration:none;transition:transform .12s,border-color .15s;display:block}.tap.row{display:flex}.tap:hover{border-color:var(--faint)}.tap:active{transform:scale(.985)}.divider{background:var(--line);border:0;height:1px;margin:0}.notice{background:var(--surface2);border-radius:14px;padding:12px 14px;font-size:14px}.notice.blue{background:color-mix(in srgb, var(--blue) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--blue) 35%, transparent)}.notice.bad{background:color-mix(in srgb, var(--bad) 10%, var(--surface));color:var(--bad)}.error{color:var(--bad);font-size:14px}.dot{border:2px solid var(--faint);border-radius:50%;flex:none;width:14px;height:14px}.dot.ready{background:var(--fill);border-color:#0000}.sdot{border:0;border-radius:50%;flex:none;width:10px;height:10px;padding:0}.sdot.red{background:var(--bad)}.sdot.yellow{background:var(--warn)}.sdot.green{background:var(--lime)}.bar{background:var(--surface3);border-radius:999px;height:8px;overflow:hidden}.bar>i{background:var(--fill);border-radius:999px;height:100%;display:block}.scrim{z-index:50;background:#0009;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border:1px solid var(--line);width:100%;max-width:560px;max-height:88vh;padding:22px 20px calc(22px + var(--safe-b));border-radius:24px 24px 0 0;flex-direction:column;gap:14px;animation:.2s up;display:flex;overflow-y:auto}@media (width>=700px){.scrim{align-items:center}.sheet{border-radius:24px}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.info-btn{border:1px solid var(--faint);width:20px;height:20px;color:var(--muted);font:600 11px/1 var(--body);cursor:pointer;vertical-align:1px;background:0 0;border-radius:50%;place-items:center;margin-left:6px;padding:0;display:inline-grid}.pop{background:var(--surface2);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;font-size:14px;display:flex}.client-shell{max-width:600px;min-height:100dvh;padding:calc(12px + var(--safe-t)) 16px calc(84px + var(--safe-b));margin:0 auto}.input[type=date]{appearance:none;min-width:0;max-width:100%;min-height:46px;display:block}.input[type=date]::-webkit-date-and-time-value{text-align:left}.topbar{justify-content:space-between;align-items:center;padding-block:8px 18px;display:flex}.tabbar{z-index:40;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 12px max(6px, calc(var(--safe-b) - 16px));position:fixed;bottom:0;left:0;right:0}.tabbar nav{grid-template-columns:repeat(4,1fr);gap:4px;max-width:600px;margin:0 auto;display:grid}.tabbar a{color:var(--muted);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:7px;font-size:12px;font-weight:500;text-decoration:none;transition:transform .12s;display:flex}.tabbar a:active{transform:scale(.94)}.tabbar a.active{color:var(--lime);background:var(--surface)}.tabbar svg{width:22px;height:22px}.welcome-step{color:var(--text);background:color-mix(in srgb, #c6f84e 6%, var(--surface));border:1.5px solid #c6f84e;border-radius:16px;align-items:flex-start;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .12s,background .15s;display:flex}.welcome-step:hover{background:color-mix(in srgb, #c6f84e 12%, var(--surface))}.welcome-step:active{transform:scale(.98)}:root[data-theme=lime-light] .welcome-step{border-color:#9ccc2a}:root[data-theme^=rainbow] .welcome-step{background:linear-gradient(var(--solid), var(--solid)) padding-box, var(--rainbow) border-box;border-color:#0000}.num-dot{background:var(--fill);width:26px;height:26px;color:var(--fill-ink);font:700 13px/1 var(--body);border-radius:50%;flex:none;place-items:center;display:grid}.session-card{align-items:center;gap:14px;display:flex}.session-card .day{background:var(--surface2);width:48px;height:48px;font:700 13px/1 var(--display);color:var(--muted);border-radius:14px;flex:none;place-items:center;display:grid}.week-row{flex-direction:column;gap:10px;display:flex}.week-row.locked{opacity:.5}.day-chip{background:var(--surface2);border-radius:10px;padding:6px 10px;font-size:13px}.day-chip b{color:var(--muted);margin-right:6px;font-weight:600}.ex{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}.ex.done{border-color:color-mix(in srgb, var(--lime) 35%, var(--line))}.ex-head{cursor:pointer;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.ex-num{font:600 11px/1 var(--body);letter-spacing:.1em;color:var(--lime)}.ex-body{flex-direction:column;gap:16px;padding:0 18px 18px;display:flex}.chev{color:var(--muted);flex:none;margin-top:4px;transition:transform .2s}.ex.open .chev{transform:rotate(180deg)}.sets{flex-direction:column;gap:8px;display:flex}.set-row{font-variant-numeric:tabular-nums;grid-template-columns:26px minmax(0,1.25fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.8fr);align-items:center;gap:7px;display:grid}.set-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.set-row .goal{color:var(--muted);font-size:14px;line-height:1.2}.set-row .goal b{color:var(--text);font-size:16px;font-weight:600}.set-in{background:var(--surface2);border:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;border-radius:11px;width:100%;padding:10px 6px;font-size:16px}.set-in::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-in.filled{border-color:color-mix(in srgb, var(--lime) 50%, transparent)}.set-in::placeholder{color:var(--faint)}.bw{color:var(--muted);text-align:center;font-size:12px}.save-state{color:var(--muted);font-size:12px}.rest-fab{right:16px;bottom:calc(18px + var(--safe-b));z-index:40;border:1px solid var(--line);background:var(--surface2);width:52px;height:52px;color:var(--lime);cursor:pointer;border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:fixed;box-shadow:0 6px 20px #0006}.rest-fab:active{transform:scale(.92)}.rest-bar{left:12px;right:12px;bottom:calc(12px + var(--safe-b));z-index:40;background:var(--surface2);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:10px;max-width:576px;margin:0 auto;padding:12px 14px;animation:.2s up;display:flex;position:fixed;box-shadow:0 10px 30px #00000080}.rest-bar.finished{border-color:var(--lime)}.rest-progress{background:var(--surface3);border-radius:999px;height:4px;overflow:hidden}.rest-progress>i{background:var(--fill);height:100%;transition:width .25s linear;display:block}.rest-time{color:var(--text);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:0;display:flex}.rest-time b{font:800 26px/1 var(--display)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.photo-grid button{background:var(--surface2);aspect-ratio:3/4;cursor:pointer;border:0;border-radius:12px;padding:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.photo-grid .tag{position:absolute;bottom:6px;left:6px}.pose-slots{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pose-slot{border:1.5px dashed var(--line);aspect-ratio:3/4;background:var(--surface2);cursor:pointer;border-radius:14px;padding:0;transition:transform .12s,border-color .15s;position:relative;overflow:hidden}.pose-slot:active{transform:scale(.96)}.pose-slot:hover{border-color:var(--faint)}.pose-slot.done{border-style:solid;border-color:color-mix(in srgb, var(--lime) 55%, var(--line))}.pose-slot svg,.pose-slot img{object-fit:cover;width:100%;height:100%;display:block}.pose-slot:not(.done) svg{opacity:.8}.pose-label{color:#fff;font:600 12px/1 var(--body);background:#0009;border-radius:999px;align-items:center;gap:4px;padding:5px 9px;display:inline-flex;position:absolute;bottom:6px;left:6px}.pose-slot.done .pose-label{background:var(--fill);color:var(--fill-ink)}.bin-tile{aspect-ratio:3/4;background:var(--surface2);border-radius:12px;position:relative;overflow:hidden}.bin-tile img{object-fit:cover;opacity:.45;width:100%;height:100%;display:block}.bin-actions{flex-direction:column;gap:4px;display:flex;position:absolute;inset:auto 6px 6px}.bin-actions .btn{background:var(--surface3);padding:6px 8px;font-size:12px}.lightbox{z-index:60;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:16px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:12px;max-width:100%;max-height:80vh}.dropzone{border:1.5px dashed var(--line);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:26px 18px;display:flex}.chart{width:100%;height:auto;display:block}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat{background:var(--surface2);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.stat b{font:700 20px/1.1 var(--display);font-variant-numeric:tabular-nums}.install{padding-bottom:calc(40px + var(--safe-b))}.seg{background:var(--surface2);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px;font-weight:600;transition:transform .12s,background .15s}.seg button:active{transform:scale(.96)}.seg button.on{background:var(--fill);color:var(--fill-ink)}.seg.seg-3{grid-template-columns:repeat(3,1fr)}.theme-seg{border-radius:18px;grid-template-columns:1fr 1fr}.theme-seg button{border-radius:14px;padding:9px 6px;font-size:13px;line-height:1.15}.install-fast{border-color:color-mix(in srgb, var(--lime) 40%, var(--line))}.inapp{border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.step-card{flex-direction:column;gap:16px;animation:.28s step-in;display:flex}@keyframes step-in{0%{opacity:0;transform:translate(18px)}}.step-dots{gap:6px;display:flex}.step-dots i{background:var(--surface3);border-radius:999px;width:8px;height:8px;transition:width .2s,background .2s}.step-dots i.past{background:color-mix(in srgb, var(--lime) 45%, var(--surface3))}.step-dots i.on{background:var(--fill);width:22px}.phone-wrap{background:radial-gradient(closest-side, color-mix(in srgb, var(--lime) 10%, transparent), transparent);place-items:center;padding:6px 0;display:grid}.phone{width:min(200px,56vw);height:auto;display:block}.phone .ph-body{fill:var(--surface3)}.phone .ph-screen{fill:var(--bg)}.phone .ph-bar{fill:var(--surface2)}.phone .ph-faint,.phone .ph-app{fill:var(--surface3)}.phone .ph-dim{fill:#0000008c}.phone .ph-sheet{fill:var(--surface2)}.phone .ph-row{fill:var(--surface3)}.phone .ph-row-on{fill:color-mix(in srgb, var(--lime) 18%, var(--surface3));stroke:var(--lime);stroke-width:1.2px}.phone .ph-ink{fill:var(--text);stroke:var(--text)}.phone g.ph-ink[fill=none]{fill:none}.phone .ph-ink-faint{stroke:var(--faint)}.phone .ph-lime-stroke{stroke:var(--lime)}.phone .ph-lime-fill{fill:var(--lime)}.phone .ph-knob{fill:var(--lime-ink)}.phone text{font:600 10px var(--body)}.phone .ph-text{fill:var(--muted)}.phone .ph-text-b{fill:var(--text);font-weight:700}.phone .ph-text-on{fill:var(--lime);font-weight:700}.phone .ph-text-ink{fill:var(--lime-ink);font-weight:700}.phone .ph-tiny{fill:var(--text);font-size:7px}.phone .ph-ring{fill:none;stroke:var(--lime);stroke-width:2.5px}.phone .ph-pulse{fill:none;stroke:var(--lime);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:1.4s ease-out infinite ph-pulse}@keyframes ph-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2)}}.phone .ph-swipe{stroke:var(--lime);animation:1.2s ease-in-out infinite ph-swipe}@keyframes ph-swipe{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.phone .ph-pop{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.3,1.6,.5,1) .15s both ph-pop}@keyframes ph-pop{0%{opacity:0;transform:scale(.4)}}.celebrate{text-align:center;align-items:center;gap:14px;padding:40px 8px 8px;position:relative}.celebrate-icon img{box-shadow:0 0 0 6px color-mix(in srgb, var(--lime) 18%, transparent);border-radius:22px;animation:.6s cubic-bezier(.3,1.6,.5,1) both ph-pop;display:block}.confetti{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{to{transform:translateY(105vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.install-banner{align-items:center;gap:12px;margin-bottom:18px;display:flex}.install-banner img{border-radius:10px;flex:none}.tab-icon{display:inline-flex;position:relative}.client-sub{gap:4px;padding:2px 4px 6px 22px;display:none}.client-item:hover .client-sub,.client-item:focus-within .client-sub,.client-item.current .client-sub{display:flex}.client-sub a{color:var(--muted);white-space:nowrap;background:var(--surface2);border-radius:999px;padding:5px 9px;font-size:12px;text-decoration:none;transition:transform .12s}.client-sub a:hover{color:var(--text);background:var(--surface3)}.client-sub a:active{transform:scale(.95)}.client-sub a.on{color:var(--fill-ink);background:var(--fill)}.tab-icon .badge{position:absolute;top:-5px;right:-10px}.message.new{border-color:color-mix(in srgb, var(--lime) 45%, var(--line))}.resource{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;display:flex}.resource-main{border-radius:18px;align-items:flex-start;gap:12px;padding:14px;display:flex}.resource-main[aria-disabled=true]{opacity:.6;pointer-events:none}.resource-icon{background:var(--surface2);width:40px;height:40px;color:var(--lime);border-radius:12px;flex:none;place-items:center;display:grid}.resource-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.share-row{background:var(--surface2);border-radius:12px;min-height:48px;padding:8px 12px}.pick-list{flex-direction:column;gap:10px;max-height:220px;padding:4px 2px;display:flex;overflow-y:auto}.chip.small-chip{padding:6px 12px;font-size:13px}.swap-bubble{border:1px solid color-mix(in srgb, var(--blue) 45%, var(--line));background:color-mix(in srgb, var(--blue) 10%, transparent);color:var(--blue);font:600 12px/1.2 var(--body);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;transition:transform .12s;display:inline-flex}.swap-bubble:active{transform:scale(.96)}.swap-bubble:disabled{cursor:default;transform:none}.swap-bubble.subtle{border-color:var(--line);color:var(--muted);background:0 0}.goal-verdict{border:1px solid;border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.goal-verdict.good{border-color:color-mix(in srgb, var(--good) 45%, transparent);background:color-mix(in srgb, var(--good) 8%, transparent)}.goal-verdict.good b:first-child{color:var(--good)}.goal-verdict.warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}.goal-verdict.warn b:first-child{color:var(--warn)}.goal-verdict.bad{border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:color-mix(in srgb, var(--bad) 8%, transparent)}.goal-verdict.bad b:first-child{color:var(--bad)}.hub-card{align-items:center;gap:14px;display:flex}.hub-icon{background:var(--surface2);width:46px;height:46px;color:var(--lime);border-radius:14px;flex:none;place-items:center;display:grid}.session-dot{width:26px;height:26px;font:600 10px/1 var(--body);background:var(--surface3);color:var(--muted);border-radius:50%;flex:none;place-items:center;display:inline-grid}.session-dot.complete{background:var(--lime);color:var(--lime-ink)}.session-dot.in_progress{background:color-mix(in srgb, var(--blue) 30%, var(--surface3));color:var(--blue)}.session-dot.skipped{background:color-mix(in srgb, var(--warn) 25%, var(--surface3));color:var(--warn)}.row>.session-dot:empty,.small>.session-dot:empty{width:14px;height:14px}.coach-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-link{color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface2)}.client-link{color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;text-decoration:none;display:flex}.client-link:hover{background:var(--surface2)}.client-link.active{background:var(--surface3)}.client-link small{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.badge{background:var(--bad);color:#1a0606;font:700 11px/1 var(--body);border-radius:999px;padding:3px 6px}.coach-main{width:100%;max-width:1200px;padding:26px 32px 80px}.mobile-bar{display:none}.mobile-only{display:none!important}@media (width<=860px){.coach-shell{grid-template-columns:1fr}.sidebar{z-index:45;width:290px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:0 0 0 100vmax #00000080}.mobile-bar{padding:calc(10px + var(--safe-t)) 16px 10px;border-bottom:1px solid var(--line);background:var(--bg);z-index:30;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.coach-main{padding:18px 16px 80px}.mobile-only{display:inline-flex!important}}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-weight:500;transition:transform .12s}.tabs button:active{transform:scale(.96)}.tabs button.on{background:var(--text);color:var(--bg);border-color:var(--text)}.two-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.alert-row{background:var(--surface2);border-radius:14px;align-items:flex-start;gap:12px;padding:11px 13px;display:flex}.alert-row .grow p{font-size:14px}.fyi .alert-row{background:var(--surface)}.fyi .alert-row .grow b,.fyi .alert-row .grow p{color:var(--faint)}.resolve-btn{border:1.5px solid var(--line);color:var(--faint);background:0 0}.resolve-btn:hover{color:var(--text);border-color:var(--faint)}.resolve-btn.on{background:var(--good);border-color:var(--good);color:#0b0d06}.resolved .alert-row{background:color-mix(in srgb, var(--good) 6%, var(--surface))}.resolved .pill.lime{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good)}.resolved .alert-row .grow b,.resolved .alert-row .grow p{color:var(--muted)}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:transform .12s;display:inline-flex}.filter-tabs button:active{transform:scale(.96)}.filter-tabs button.on{background:var(--surface2);color:var(--text);border-color:var(--faint)}.filter-tabs button.attention.on{border-color:var(--bad)}.filter-tabs .count{font:600 12px/1 var(--body);background:var(--surface3);color:var(--text);border-radius:999px;padding:3px 7px}.filter-tabs .attention .count{background:var(--bad);color:#1a0606}.filter-tabs .attention .count.zero{background:var(--surface3);color:var(--muted)}.undo-bar{z-index:70;background:var(--surface3);border:1px solid var(--line);border-radius:999px;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;font-size:14px;animation:.2s up;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073}.undo-bar kbd{font:600 11px/1 var(--body);background:var(--surface2);color:var(--muted);border-radius:6px;padding:3px 5px}.editor{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1000px){.editor{grid-template-columns:1fr}}.week-list{flex-direction:column;gap:14px;display:flex;position:sticky;top:90px}@media (width<=1000px){.week-list{position:static}}.week-btn{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:9px;width:100%;padding:9px 11px;font-size:14px;display:flex}.week-btn:hover{background:var(--surface2)}.week-btn.on{background:var(--surface2);border-color:var(--line)}.savebar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px 0;display:flex;position:sticky;top:0}@media (width<=860px){.savebar{top:57px}}.ed-session{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.focus-flash{outline:2px solid var(--lime);outline-offset:3px;animation:1.2s 2 focus-flash}@keyframes focus-flash{50%{outline-color:#0000}}.ed-ex{background:var(--surface2);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.half-picker{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:14px}.last-time{background:color-mix(in srgb, var(--blue) 6%, transparent);border:1px dashed color-mix(in srgb, var(--blue) 35%, var(--line));border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;display:flex}.lt-head{font:600 11px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.lt-main{color:var(--text)}.lt-flag{font:600 12px/1 var(--body);background:var(--surface3);color:var(--muted);border-radius:999px;padding:5px 9px}.lt-flag.good{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good)}.lt-flag.warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.lt-flag.bad{background:color-mix(in srgb, var(--bad) 16%, transparent);color:var(--bad)}.lt-note{color:var(--muted);font-style:italic}.ed-sets{font-variant-numeric:tabular-nums;grid-template-columns:34px 80px 90px minmax(120px,1fr) minmax(110px,1.2fr) 34px;align-items:center;gap:6px;font-size:14px;display:grid}.ed-sets .h{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.ed-sets .input,.ed-sets .select,.ed-ex .input,.ed-ex .select,.ed-session .input,.ed-session .select{border-radius:10px;padding:8px 10px;font-size:14px}.result{color:var(--muted);font-size:13px}.result b{color:var(--lime);font-weight:600}.table-wrap{overflow-x:auto}table.list{border-collapse:collapse;width:100%;font-size:14px}table.list th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}table.list td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
