:root{--bg:#f4f6f5;--surface:#fff;--fg:#16201d;--muted:#5b6b66;--line:#dfe5e2;--accent:#0f6e56;--accent-soft:#e1f5ee;--on-accent:#fff;--skin:#e9bb98;--skin-far:#cc9a77;--shirt:#1d9e75;--shirt-far:#0f6e56;--shorts:#33475b;--shorts-far:#26364a;--shoe:#f4f4f1;--shoe-far:#d3d3cd;--hair:#4a3426;--ear:#cf9f7e;--fig-floor:#b4b2a9;--fig-shadow:#dde3e0;--fig-weight:#3a4642;--fig-weight-core:#9aa8a3;--radius:14px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1412;--surface:#17201d;--fg:#e8efec;--muted:#93a39e;--line:#26322e;--accent:#5dcaa5;--accent-soft:#10342a;--on-accent:#04342c;--skin:#e2b08c;--skin-far:#b98a6a;--shirt:#5dcaa5;--shirt-far:#2f8a70;--shorts:#7d93ab;--shorts-far:#5f758c;--shoe:#eceae4;--shoe-far:#b9b7b0;--hair:#6a4c38;--ear:#c79878;--fig-floor:#5f5e5a;--fig-shadow:#222c29;--fig-weight:#c9d6d1;--fig-weight-core:#3a4642;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);flex-direction:column;gap:16px;margin:0 auto;display:flex}.screen{flex-direction:column;gap:16px;padding-bottom:76px;display:flex}.muted{color:var(--muted);margin:0;font-size:14px}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px;display:block}.segmented{background:var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{background:0 0;border:0;border-radius:9px;flex:1;min-height:44px;font-weight:500}.segmented button.active{background:var(--surface);color:var(--accent)}.segmented.small button{min-height:38px;font-size:14px}.stage{background:var(--surface);border-radius:var(--radius);padding:12px 12px 16px}.mannequin{width:100%;height:auto;display:block}.fig-skin{fill:var(--skin)}.fig-shirt{fill:var(--shirt)}.fig-shorts{fill:var(--shorts)}.fig-shoe{fill:var(--shoe)}.fig-hair{fill:var(--hair)}.fig-ear{fill:var(--ear)}.fig-eye{fill:var(--hair)}.fig-round{stroke:var(--shirt);stroke-width:6px;stroke-linejoin:round}.fig-far-side .fig-skin{fill:var(--skin-far)}.fig-far-side .fig-shirt{fill:var(--shirt-far)}.fig-far-side .fig-shorts{fill:var(--shorts-far)}.fig-far-side .fig-shoe{fill:var(--shoe-far)}.fig-floor{stroke:var(--fig-floor);stroke-width:1px}.fig-shadow{fill:var(--fig-shadow)}.stage-meta{justify-content:space-between;align-items:flex-end;padding:4px 4px 0;display:flex}.reps{font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1.1}.reps small{color:var(--muted);font-size:18px;font-weight:500}.controls{flex-direction:column;gap:8px;display:flex}.cues h2{margin:0;font-size:20px}.cues ul{gap:6px;margin:12px 0 0;padding-left:20px;display:grid}.fig-weight{fill:var(--fig-weight)}.fig-weight-core{fill:var(--fig-weight-core)}h1,h2{letter-spacing:-.01em;margin:0}h1{font-size:26px;font-weight:700}h2{font-size:20px}ul{margin:0;padding:0;list-style:none}.cues ul{padding-left:20px;list-style:outside}.btn{background:var(--accent);min-width:96px;min-height:48px;color:var(--on-accent);border:0;border-radius:24px;padding:0 20px;font-weight:600}.btn.small{min-width:0;min-height:44px;padding:0 16px;font-size:15px}.btn.wide{width:100%}.btn.ghost{background:var(--accent-soft);color:var(--accent)}.btn.danger{color:#c0392b;border:1px solid var(--line);background:0 0}.btn:disabled,.icon-btn:disabled{opacity:.4;cursor:default}.big-btn{border-radius:30px;min-height:60px;margin-top:auto;font-size:20px}.icon-btn{width:44px;height:44px;color:var(--accent);background:0 0;border:0;border-radius:22px;font-size:24px;line-height:1}.icon-btn.danger{color:#c0392b;font-size:18px}.icon-btn-spacer{width:44px;height:44px}.topbar{align-items:center;gap:4px;min-height:44px;display:flex}.topbar h1{flex:1;font-size:24px}.topbar .icon-btn{margin-left:-12px}.topbar .icon-btn-spacer{display:none}.topbar-right{gap:8px;display:flex}.list{gap:10px;display:grid}.row{text-align:left;border-radius:var(--radius);background:var(--surface);border:0;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 12px 8px 8px;display:flex}.row.plain{background:0 0;min-height:44px;padding:0}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-text .muted{font-size:13px}.chev{color:var(--muted);font-size:22px}.thumb{background:var(--bg);border-radius:10px;flex:none;width:72px;overflow:hidden}.thumb svg{width:100%;height:auto;display:block}.empty{text-align:center;color:var(--muted);margin:0;padding:24px 0}.center-text{text-align:center}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card{background:var(--surface);border-radius:var(--radius);gap:10px;padding:14px;display:grid}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-head p{margin-top:2px}.icon-row{display:flex}.icon-row .icon-btn{width:40px}.field{gap:6px;display:grid}.field input{min-height:48px;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 14px}.field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.steppers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stepper{gap:4px;display:grid}.stepper-ctl{background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;display:flex}.stepper-ctl button{width:44px;height:44px;color:var(--accent);background:0 0;border:0;font-size:22px}.stepper-ctl button:disabled{opacity:.3}.stepper-val{font-variant-numeric:tabular-nums;text-align:center;font-weight:600}.stepper-val small{color:var(--muted);font-weight:400}.tabbar{z-index:5;max-width:480px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--line);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:56px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex}.tabbar button span{font-size:20px;line-height:1}.tabbar button.active{color:var(--accent);font-weight:600}.player{flex-direction:column;flex:1;gap:14px;display:flex}.player.center{text-align:center;justify-content:center;align-items:center;gap:12px}.player-head{justify-content:space-between;align-items:center;display:flex}.player-info{text-align:center;justify-items:center;gap:4px;display:grid}.player-info .stepper{width:100%;max-width:220px;margin-top:8px}.player-actions,.player-nav{gap:10px;display:flex}.player-actions .btn,.player-nav .btn{flex:1}.player-actions .btn:last-child{flex:2}.player-nav{margin-top:auto}.counter .big{font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;line-height:1.1}.counter small{color:var(--muted);font-size:22px;font-weight:500}.progress{gap:2px;display:flex}.progress span{background:var(--line);border-radius:2px;flex:1;height:4px}.progress span.rest{flex:.4}.progress span.past{background:var(--accent)}.progress span.now{background:var(--accent);opacity:.55}.stage.small{opacity:.9;padding:4px}.stage.small .mannequin{max-height:150px}.rest-box{justify-items:center;gap:6px;padding:12px 0 4px;display:grid}.rest-time{font-variant-numeric:tabular-nums;color:var(--accent);font-size:72px;font-weight:700;line-height:1}.done-mark{background:var(--accent);width:88px;height:88px;color:var(--on-accent);border-radius:44px;place-items:center;font-size:48px;display:grid}.stats{gap:32px;margin:12px 0 20px;display:flex}.stats>div{display:grid}.stats .big{font-size:32px;font-weight:700}.sheet-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:480px;padding:20px 16px calc(env(safe-area-inset-bottom,0px) + 16px);border-radius:20px 20px 0 0;gap:10px;display:grid}.week-nav{justify-content:space-between;align-items:center;display:flex}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day{justify-items:center;gap:4px;display:grid}.day.today .label{color:var(--accent);font-weight:700}.dot{border:2px solid var(--line);border-radius:18px;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.dot.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.detail{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.detail li{justify-content:space-between;gap:12px;padding:3px 0;font-size:15px;display:flex}.detail .btn{justify-self:start}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.photo-stage{aspect-ratio:3/2;background:var(--bg);border-radius:10px;width:100%;position:relative;overflow:hidden}.photo-stage img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.photo-stage img.on{opacity:1}@media (prefers-reduced-motion:reduce){.photo-stage img{transition:none}}.thumb img{aspect-ratio:340/336;object-fit:cover;width:100%;display:block}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:22px;flex:none;min-height:44px;padding:0 14px;font-size:14px}.chips button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.field input[type=search]{appearance:none}.badges{flex-wrap:wrap;gap:6px;display:flex}.badges span{background:var(--accent-soft);color:var(--accent);border-radius:12px;padding:4px 10px;font-size:13px}.notice{background:var(--accent-soft);color:var(--accent);border-radius:12px;margin:0;padding:10px 14px}.source{margin-top:12px;font-size:12px}.error-text{color:#c0392b;margin:0;font-size:14px}.card-form{gap:12px;display:grid}.card h2{font-size:18px}
