:root{color-scheme:light;--bg:#f8f9fc;--surface:#fff;--text:#202431;--muted:#707887;--line:#e6e9f0;--soft:#f1f3f8;--accent:#3155e7;--accent-soft:#edf0ff;--tick:#dce1ec;--shadow:0 8px 36px #26386805;--ring:#edf0f6}
[data-theme=dark]{color-scheme:dark;--bg:#14161b;--surface:#1b1e25;--text:#eceef4;--muted:#969eaf;--line:#2d323d;--soft:#242832;--accent:#91a5ff;--accent-soft:#2b3353;--tick:#3b4354;--shadow:none;--ring:#2b303b}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{transition:background .16s,transform .16s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.app{max-width:1192px;margin:auto;padding:0 40px}header{height:112px;display:flex;align-items:center;border-bottom:1px solid var(--line);justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:32px;font-weight:720;letter-spacing:-1.5px;text-decoration:none;color:var(--text)}.brand-period{color:var(--accent);margin-left:-10px}.brand svg{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:2.7;stroke-linecap:round;transform:rotate(-12deg)}nav{display:flex;gap:6px;padding:4px;background:var(--soft);border-radius:12px}.nav{padding:10px 23px;border-radius:9px;font-size:14px;font-weight:560;color:var(--muted)}.nav.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000009}.header-actions{display:flex;gap:8px}.icon-button{height:40px;width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--muted);flex-shrink:0}.icon-button:hover,.quiet-button:hover{background:var(--soft);color:var(--text)}svg.icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}span[data-icon]{display:inline-flex}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:38px 0 30px}.eyebrow,.tiny-label{font-size:12px;letter-spacing:1.9px;font-weight:650;color:var(--muted);margin:0 0 10px}.tiny-label{font-size:12px;letter-spacing:1.4px}h1{font-size:30px;letter-spacing:-1.1px;font-weight:560;margin:0}h2{font-size:16px;font-weight:600;letter-spacing:-.25px;margin:0}.quiet-button{font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border-radius:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:24px}.timer-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;min-height:572px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;padding:25px 30px 0}.mode-tabs{display:flex;gap:3px;background:var(--soft);padding:4px;border-radius:11px}.mode-tabs button{border-radius:8px;font-size:14px;white-space:nowrap;padding:10px 16px;color:var(--muted)}.mode-tabs .selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #00000008;font-weight:600}.dial{width:358px;max-width:100%;aspect-ratio:1;position:relative;margin:10px auto 0}.dial-svg{width:100%;height:100%;overflow:visible}.ring-track{fill:none;stroke:var(--ring);stroke-width:3}#progress{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-dasharray:100 100;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .5s}#ticks line{stroke:var(--tick);stroke-width:1.5}#ticks line.major{stroke:var(--muted);opacity:.7}.dial-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.dial-content .eyebrow{color:var(--accent);font-size:12px;letter-spacing:2px;margin:13px 0 6px}#time{font-size:76px;font-weight:350;letter-spacing:-4px;font-variant-numeric:tabular-nums;line-height:1.2}#finish-time{font-size:14px;color:var(--muted);margin:10px 0 0}.timer-controls{display:flex;align-items:center;gap:21px;margin-top:-1px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:11px;color:#fff;background:#3155e7;padding:15px 26px;border-radius:12px;min-width:172px;font-size:15px;font-weight:560}.primary:hover{background:#2345ce}.primary svg{width:17px;height:17px}.cycle{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:20px 0 26px}#cycle-dots{display:flex;gap:5px;margin-right:4px}#cycle-dots i{height:6px;width:6px;border-radius:50%;background:var(--line)}#cycle-dots i.current{border:1.5px solid var(--accent);background:none}#cycle-dots i.done{background:var(--accent)}.separator{color:var(--tick)}.current-task{border-top:1px solid var(--line);width:100%;min-height:75px;display:flex;align-items:center;gap:13px}.current-task .tiny-label{margin:0;white-space:nowrap}.current-task input{background:none;border:0;color:var(--text);min-width:0;width:100%;font-size:14px;text-overflow:ellipsis;padding:12px 0}.current-task input::placeholder{color:var(--muted)}.current-task svg{width:14px;color:var(--muted)}.side-panel{display:flex;flex-direction:column;gap:24px}.today,.tasks{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.stats{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 23px}.stats>div{display:flex;flex-direction:column;gap:7px}.stats>div+div{border-left:1px solid var(--line);padding-left:24px}.stats strong{font-size:34px;letter-spacing:-1.4px;font-weight:500;font-variant-numeric:tabular-nums}.stats strong span{font-size:17px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:3px}.stats>div>span{font-size:12px;color:var(--muted)}.goal-track{height:4px;border-radius:4px;background:var(--soft);overflow:hidden}.goal-track span{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}.today p{font-size:12px;margin:12px 0 0}.tasks{flex:1;min-height:260px}.count{background:var(--soft);font-size:12px;min-width:22px;height:22px;text-align:center;line-height:22px;border-radius:6px;color:var(--muted)}#task-form{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;margin-top:20px;padding-left:11px}#new-task{width:100%;min-width:0;border:0;background:none;color:var(--text);font-size:14px;padding:10px 0}#new-task::placeholder{color:var(--muted)}#task-form .icon-button{width:34px;height:36px}.empty-task{text-align:center;padding:24px 0 2px;color:var(--muted)}.empty-task svg{width:24px;height:24px;opacity:.6}.empty-task p{font-size:14px;margin:10px 0 6px;color:var(--text)}.empty-task>span:last-child{font-size:12px;line-height:1.6}.task-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-check{width:17px;height:17px;flex-shrink:0;border:1.5px solid var(--tick);border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0}.task-row.done .task-check{background:var(--accent);color:var(--surface);border-color:var(--accent)}.task-check svg{width:12px;height:12px}.task-name{font-size:14px;padding:3px 0;text-align:left;flex:1;overflow-wrap:anywhere;line-height:1.5}.task-row.active .task-name{color:var(--accent)}.task-row.done .task-name{text-decoration:line-through;color:var(--muted)}.task-delete{width:22px;height:26px}.task-delete svg{width:13px}.side-note{display:flex;align-items:center;gap:13px;padding:0 10px}.small-mark{font-size:25px;color:var(--accent)}.side-note p{font-size:12px;line-height:1.7;margin:0}.side-note p span{color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;padding:23px 2px 28px;color:var(--muted);font-size:12px;gap:14px}footer>span:first-child{display:flex;align-items:center;gap:7px}.local-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.6}kbd{font:12px -apple-system,BlinkMacSystemFont,sans-serif;padding:2px 5px;border:1px solid var(--line);border-radius:4px;margin:0 4px;background:var(--surface)}.footer-divider{margin:0 10px;color:var(--line)}footer .quiet-button{font-size:12px;padding:4px}footer svg.icon{width:15px;height:15px}.activity-panel{background:var(--surface);border:1px solid var(--line);padding:28px;border-radius:18px;margin-bottom:24px}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:22px;margin-top:34px}.chart-column{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.chart-well{height:140px;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid var(--line);justify-content:center}.chart-bar{width:38px;max-width:100%;background:var(--accent);border-radius:5px 5px 0 0;min-height:2px;opacity:.7}.chart-column.today-column .chart-bar{opacity:1}.chart-column.today-column>span:last-child{color:var(--accent);font-weight:600}.session-row{display:flex;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);gap:20px}.session-row:last-child{border:0}.session-row .session-name{flex:1;font-size:14px;overflow-wrap:anywhere}.session-row small{display:block;color:var(--muted);margin-top:5px;font-size:12px}.session-duration{color:var(--accent);font-size:14px;white-space:nowrap}.activity-empty{text-align:center;padding:50px 20px;color:var(--muted);font-size:14px;line-height:1.8}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);padding:28px;border-radius:20px;max-width:480px;width:calc(100% - 32px);box-shadow:0 24px 100px #0003}dialog::backdrop{background:#0b10226b}dialog h2{font-size:22px;letter-spacing:-.6px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin:25px 0}.settings-grid label{font-size:12px;color:var(--muted)}.input-unit{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;padding:0 12px;margin-top:8px;font-size:12px;height:44px}.input-unit input{width:100%;min-width:0;border:0;background:none;color:var(--text);outline-offset:0;font-size:15px}select{height:44px;margin-top:8px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:0 10px;width:100%;font-size:14px}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:14px 0;border-top:1px solid var(--line);gap:14px}.switch-row small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}.switch-row input{accent-color:var(--accent);width:18px;height:18px}.notification-button{font-size:14px;color:var(--accent);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:13px;width:100%;margin:9px 0}.settings-note{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0}.full{width:100%}.confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);max-width:90vw;padding:14px 22px;border:1px solid var(--line);background:var(--surface);box-shadow:0 6px 25px #0001;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20}#toast.visible{opacity:1;transform:translate(-50%,0)}body.zen header,body.zen .page-heading,body.zen .side-panel,body.zen footer{display:none}body.zen .workspace{display:block}body.zen .timer-panel{border:0;background:none;box-shadow:none;padding-top:8vh;min-height:90vh}body.zen .dial{width:min(52vh,480px);margin-top:28px}body.zen #time{font-size:clamp(68px,12vh,104px)}body.zen .current-task{max-width:440px}#exit-zen{position:fixed;right:24px;top:20px}
@media(min-width:1400px){.app{padding-top:20px}.page-heading{padding-top:44px}.timer-panel{min-height:620px}.dial{width:394px}}
@media(max-width:950px){.app{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.timer-panel{padding-left:20px;padding-right:20px}.today,.tasks{padding:20px}.mode-tabs button{padding:10px 12px}.dial{width:330px}.keyboard-hint{display:none}.cycle{font-size:12px;gap:6px}.current-task{gap:8px}.current-task .tiny-label{font-size:12px}}
@media(max-width:720px){.app{padding:0 20px}header{height:86px}.brand{font-size:28px;gap:7px}.brand svg{width:27px}.nav{padding:9px 13px}.header-actions{gap:1px}.header-actions .icon-button{width:34px}.page-heading{padding:28px 0 22px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:12px}.page-heading .quiet-button{font-size:0;gap:0}.workspace{grid-template-columns:1fr}.timer-panel{min-height:545px;padding-top:22px}.dial{width:330px}.side-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.today,.tasks{padding:18px}.tasks{min-height:240px}.side-note{grid-column:1/-1}.stats{grid-template-columns:1fr;gap:14px;margin:20px 0}.stats>div{gap:2px}.stats>div+div{padding:0;border:0}.stats strong{font-size:28px}.today .section-heading{align-items:flex-start;gap:6px;flex-direction:column}.side-panel h2{font-size:14px}footer{padding-top:20px}.week-chart{gap:9px}.activity-panel{padding:20px}.section-heading .muted{font-size:12px}.session-row{gap:12px}}
@media(max-width:400px){.app{padding:0 14px}.brand{font-size:25px}nav{gap:0}.nav{padding:8px 10px}.mode-tabs button{padding:9px 12px}.timer-panel{padding-left:16px;padding-right:16px}.dial{width:300px}.side-panel{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats>div+div{padding-left:20px;border-left:1px solid var(--line)}.today .section-heading{flex-direction:row}.timer-panel{min-height:520px}.tasks{min-height:220px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
