:root{color-scheme:light dark;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--bg: #f7f6f2;--surface: #eeede6;--surface-hover: #e6e5dc;--border: #e1dfd6;--border-strong: #cfcdc2;--text: #191a16;--muted: #70736a;--accent: #c7e83f;--accent-hover: #bbdd2a;--on-accent: #14170c;--danger: #b03a28;--danger-soft: #f1e2de;--live: #6d8d12;--radius: 10px;--radius-sm: 8px;--tap: 44px}@media(prefers-color-scheme:dark){:root{--bg: #121310;--surface: #1c1d18;--surface-hover: #24251f;--border: #2b2d26;--border-strong: #3b3d34;--text: #ecebe2;--muted: #8f9288;--accent: #c7e83f;--accent-hover: #d5f256;--on-accent: #14170c;--danger: #f08070;--danger-soft: #2e201d;--live: #b7d93c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2{margin:0;font-weight:700;letter-spacing:-.02em}h1{font-size:1.45rem}.tnum{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.container{width:100%;max-width:620px;margin:0 auto;padding:0 18px}main.container{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:calc(48px + env(safe-area-inset-bottom))}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin-bottom:8px}.page-head.bare{justify-content:flex-end}.head-actions{display:flex;align-items:center;gap:8px;flex:none}.section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:30px 0 0}.list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:26px 0 0;border-bottom:1px solid var(--border)}.list-head .head-buttons{display:flex;gap:6px;margin-bottom:8px}.tabs{display:flex;gap:20px}.tab{font:inherit;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0 8px;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text)}.session-head{display:flex;align-items:center;gap:10px;min-height:44px}.session-head h1{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;min-width:0;overflow-wrap:anywhere}.session-head .auth{margin-left:auto}.chip{flex:none;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface);border-radius:4px;padding:3px 7px}.btn{font:inherit;font-weight:600;border-radius:var(--radius-sm);border:1px solid transparent;padding:10px 16px;min-height:var(--tap);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn.small{min-height:34px;padding:5px 11px;font-size:.82rem}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.ghost:hover:not(:disabled){background:var(--surface-hover)}.btn.danger{background:transparent;border-color:var(--border-strong);color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-soft)}.btn:disabled{opacity:.5;cursor:default}.icon-btn{font:inherit;font-size:.95rem;line-height:1;background:transparent;border:none;color:var(--muted);border-radius:var(--radius-sm);width:40px;height:40px;display:grid;place-items:center;cursor:pointer;flex:none}.icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn.auth{width:44px;height:44px;margin-right:-10px}.icon-btn.auth.unlocked{color:var(--text)}:where(button,a,input,textarea):focus-visible{outline:2px solid var(--live);outline-offset:2px}.hero{display:flex;flex-direction:column;gap:2px;margin:18px 0 20px}.hero-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.hero-time{font-size:clamp(2.9rem,17vw,4.2rem);font-weight:400;letter-spacing:-.02em;line-height:1.05}.hero-days{margin-right:.18em}.hero-days .unit{font-size:.5em;vertical-align:.34em;color:var(--muted);margin-left:.03em}.hero-time .sep{color:var(--muted);opacity:.5;padding:0 .04em}.scores{display:flex;gap:22px;margin-top:10px}.score{display:inline-flex;align-items:baseline;gap:6px}.score-value{font-size:1.5rem;font-weight:500;line-height:1}.score.good .score-value{color:var(--live)}.score.bad .score-value{color:var(--danger)}.score-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.toggle{font:inherit;width:100%;min-height:58px;display:flex;align-items:center;gap:12px;padding:0 18px;border:none;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);cursor:pointer;transition:background-color .15s ease}.toggle:hover:not(:disabled){background:var(--accent-hover)}.toggle:disabled{opacity:.55;cursor:default}.toggle-glyph{font-size:.8rem;line-height:1;flex:none}.toggle-label{flex:1 0 auto;text-align:start;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.toggle-time{font-size:1.15rem;font-weight:500;flex:none}.plan-hint{display:inline-flex;align-items:baseline;gap:7px;font-size:.9rem;min-width:0}.plan-hint .tnum{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-hint+.value,.plan-hint+.toggle-time{margin-left:8px}.plan-hint-label{flex:none;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.65}@media(max-width:360px){.plan-hint-label{display:none}}.readout{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border-radius:var(--radius);background:var(--surface)}.readout .label{flex:1 0 auto;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.readout .value{font-size:1.15rem;font-weight:500;flex:none}.readout .value.window{font-size:1rem}.session-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.session-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 2px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.session-card:hover{background:var(--surface-hover)}.session-card-main{display:flex;flex-direction:column;gap:2px;min-width:0}.session-name{font-weight:600;overflow-wrap:anywhere}.session-total{font-size:1.05rem;flex:none}.running-badge{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--live)}.dot{width:7px;height:7px;border-radius:50%;background:var(--live);flex:none;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.dot{animation:none}}.entries{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--border)}.list-head+.entries{margin-top:0;border-top:none}.entry{display:flex;align-items:center;gap:10px;padding:11px 2px;min-height:56px;border-bottom:1px solid var(--border)}.entry.past{opacity:.55}.entry-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.entry-date{display:inline-flex;align-items:center;gap:7px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.badge{background:var(--accent);color:var(--on-accent);border-radius:3px;padding:1px 5px;letter-spacing:.08em}.entry-range{font-size:.95rem;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.entry-range em{font-family:var(--font);font-style:normal;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--live)}.arrow{color:var(--muted)}.entry-note{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}.entry-note.lead{font-size:.95rem;color:var(--text)}.entry-duration{font-size:1rem;flex:none}.entry-delta{display:inline-flex;align-items:baseline;gap:5px;font-size:1rem;flex:none}.entry-delta.good{color:var(--live)}.entry-delta.bad{color:var(--danger)}.entry-kind{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;opacity:.75}.entry-actions{display:flex;gap:2px;flex:none;margin-left:2px}.manage{margin-top:36px}.manage-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.overlay{position:fixed;inset:0;z-index:50;background:#0a0a0873;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:560px){.overlay{align-items:center;padding:24px}}.modal{width:100%;max-width:460px;background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));max-height:92vh;overflow-y:auto}@media(min-width:560px){.modal{border-radius:var(--radius);padding-bottom:18px}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{font-size:1.1rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.field small{color:var(--muted);font-size:.78rem}.field input{font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid transparent;border-radius:var(--radius-sm);padding:11px 12px;min-height:var(--tap);width:100%}.field input:focus{outline:none;border-color:var(--border-strong)}.field input:focus-visible{outline:2px solid var(--live);outline-offset:1px}.segmented{display:flex;gap:6px}.segmented button{font:inherit;font-size:.88rem;font-weight:600;flex:1;min-height:var(--tap);padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--text);border-color:var(--text);color:var(--bg)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal-actions .btn{flex:1}@media(min-width:560px){.modal-actions .btn{flex:none;min-width:110px}}.error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem;margin:14px 0 0}.empty{padding:32px 2px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.empty p{margin:0}
