:root{--ground: #ece3cf;--panel: #f8f2e3;--ink: #16231b;--ink-soft: #515c4d;--line: #ddd1b7;--accent: #0b3d2e;--accent-2: #14664a;--accent-ink: #f8f2e3;--chip: #e3d9c1;--good: #276b43;--warn: #7a4f0b;--warn-bg: #f3e2c2;--radius: 14px;--focus: #14664a}@media (prefers-color-scheme: dark){:root{--ground: #0e140f;--panel: #16201a;--ink: #eee6d2;--ink-soft: #a4b09d;--line: #273128;--accent: #4f9e7a;--accent-2: #6fbf95;--accent-ink: #0e140f;--chip: #20291f;--good: #4cba76;--warn: #e0a64b;--warn-bg: #2a2313;--focus: #6fbf95}}*{box-sizing:border-box}html,body{margin:0;background:var(--ground);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45}.screen{max-width:480px;margin:0 auto;padding:20px 16px 40px;display:flex;flex-direction:column;gap:16px}.app-head{display:flex;align-items:center;gap:10px}.app-head h1{font-size:24px;letter-spacing:-.02em;margin:0}.head-compact{font-size:19px}.logomark{width:30px;height:30px;border-radius:9px;background:var(--accent);position:relative;flex:0 0 auto}.logomark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:13px;height:13px;border:3px solid var(--accent-ink);border-radius:50%;border-right-color:transparent;transform:rotate(35deg)}.link-btn{margin-left:auto;background:none;border:none;color:var(--accent-2);font:inherit;font-weight:600;cursor:pointer;padding:8px;border-radius:8px;min-height:44px}.kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0}.account-bar{max-width:480px;margin:0 auto;padding:10px 16px 0;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}.account-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-wrap{max-width:480px;margin:0 auto;padding:8px 16px 0}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.card-stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label,.field-label{font-size:13px;font-weight:600;color:var(--ink)}.field input,.field select{font:inherit;padding:12px;min-height:46px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink)}.hint{font-size:12px;color:var(--ink-soft);margin:0}.hint-warn{color:var(--warn)}.seg{display:flex;gap:6px;background:var(--chip);border-radius:var(--radius);padding:4px}.seg button{flex:1;font:inherit;font-weight:600;font-size:13px;min-height:44px;border:none;border-radius:10px;background:transparent;color:var(--ink-soft);cursor:pointer}.seg button.on{background:var(--accent);color:var(--accent-ink)}.cta{font:inherit;font-weight:700;font-size:16px;padding:15px;min-height:50px;border:none;border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);cursor:pointer;margin-top:4px}.cta:disabled{opacity:.5;cursor:not-allowed}.cta-secondary{background:var(--panel);color:var(--ink);border:1px solid var(--line)}.banner{border-radius:var(--radius);padding:13px 14px;font-size:14px}.banner-warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn)}.notes{margin:0;padding-left:18px;color:var(--ink-soft);font-size:13px;display:flex;flex-direction:column;gap:4px}.weeks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.week{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 13px}.week-deload{border-style:dashed}.week-top{display:flex;align-items:center;gap:8px}.week-num{font-weight:700}.week-summary{margin:4px 0 10px;font-size:14px;color:var(--ink-soft)}.chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px}.chip-deload{background:var(--chip);color:var(--ink-soft)}.chip-done{background:color-mix(in srgb,var(--good) 22%,transparent);color:var(--good);margin-left:auto}.sessions{display:flex;flex-direction:column;gap:6px}.session-btn{display:flex;align-items:center;gap:8px;text-align:left;font:inherit;width:100%;min-height:46px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--ground);color:var(--ink);cursor:pointer}.session-btn.done{border-color:var(--good)}.session-kind{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);font-weight:700;flex:0 0 auto;width:62px}.session-desc{font-size:13px}.session-detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.session-detail-kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2);font-weight:700;margin:0 0 6px}.session-detail-desc{font-size:18px;font-weight:600;margin:0}.card-soft{background:var(--chip);border-radius:var(--radius);padding:12px 14px;font-size:13px;color:var(--ink-soft);line-height:1.6}.timer{display:flex;flex-direction:column;gap:12px}.timer-face{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);padding:20px 16px;text-align:center}.timer-face.timer-run{background:color-mix(in srgb,var(--accent) 14%,var(--panel));border-color:var(--accent-2)}.timer-face.timer-walk{background:var(--chip)}.timer-step{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.timer-count{margin:4px 0;font-size:52px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.timer-next{margin:0;font-size:13px;color:var(--ink-soft)}.timer-bar{height:6px;border-radius:99px;background:var(--chip);overflow:hidden}.timer-bar-fill{display:block;height:100%;background:var(--accent);transition:width .3s linear}.timer-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.timer-cta{flex:1 1 auto;margin-top:0;min-width:96px}.timer-mute{margin-left:auto;flex:0 0 auto}.rpe-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.rpe-btn{font:inherit;font-weight:700;min-height:48px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);cursor:pointer}.rpe-btn.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
