:root{color-scheme:dark;font-family:JetBrains Mono,SFMono-Regular,Cascadia Code,Consolas,monospace;color:#c0caf5;background:#1a1b26;font-synthesis:none;--bg: #1a1b26;--panel: #202230;--surface: #24283b;--border: #3b4261;--fg: #c0caf5;--dim: #737da8;--accent: #7aa2f7;--work: #9ece6a;--rest: #e0af68;--magenta: #bb9af7;--red: #f7768e;--cyan: #7dcfff}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 80% 0%,#222842 0,var(--bg) 35rem)}button,input,textarea,select{font:inherit}button{border:1px solid var(--accent);border-radius:6px;padding:.55rem .85rem;color:var(--bg);background:var(--accent);cursor:pointer;font-weight:700}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{color:var(--accent);background:transparent;border-color:var(--border)}button.danger,.danger{color:var(--red)!important}a{color:var(--cyan)}kbd{color:var(--cyan);font:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.5rem,4vw,2.3rem)}h2{font-size:1rem;color:var(--magenta)}.muted{color:var(--dim)}.eyebrow{color:var(--magenta);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}.panel{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 18px 60px #090b1280}.center-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.login{width:min(430px,100%);padding:2rem;border-color:var(--accent)}.login h1{color:var(--fg);font-size:2.2rem;letter-spacing:.08em}.login label{display:grid;gap:.5rem;color:var(--dim);margin:1.5rem 0 1rem}.login button{width:100%;margin-top:.5rem}input,textarea,select{width:100%;color:var(--fg);background:#161720;border:1px solid var(--border);border-radius:5px;padding:.7rem;outline:0}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #7aa2f722}textarea{resize:vertical;line-height:1.55}.field-error,.error-banner{color:var(--red)}.app-shell{min-height:100vh;padding-bottom:3.25rem}.action-bar{min-height:3.4rem;display:flex;align-items:center;gap:1.5rem;padding:.65rem 1.2rem;border-bottom:1px solid var(--accent);background:#171822eb;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-weight:800;letter-spacing:.08em;white-space:nowrap}.brand span{color:var(--dim);font-weight:500;letter-spacing:0}.action-bar nav{display:flex;gap:.35rem;flex:1}.action-bar nav a{color:var(--dim);text-decoration:none;padding:.4rem .65rem;border-radius:4px;font-size:.82rem}.action-bar nav a:hover,.action-bar nav a.active{color:var(--bg);background:var(--accent)}.action-bar nav a.active kbd{color:var(--bg)}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.2rem;background:#3a1d2a;border-bottom:1px solid var(--red);position:sticky;top:3.4rem;z-index:19}.error-banner button{color:var(--red);background:transparent;border:0;font-size:1.2rem;padding:0}main{max-width:1280px;margin:auto}.page{padding:clamp(1rem,3vw,2rem)}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}.page-heading p{margin-bottom:0;max-width:680px;font-size:.82rem}.heading-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:end}.toggle{display:inline-flex;align-items:center;gap:.45rem;color:var(--dim);font-size:.78rem;white-space:nowrap}.toggle input{width:auto;accent-color:var(--accent)}.focus-button{border-color:var(--work);background:var(--work)}.empty{text-align:center;padding:3rem 1rem;color:var(--dim)}.empty>div{font-size:2rem;color:var(--accent)}.task-tree{padding:.7rem;overflow:hidden}.task-level{margin-left:1.65rem;border-left:1px dashed #3b426188}.task-level.roots{margin-left:0;border-left:0}.task-node{position:relative}.task-node.dragging{z-index:5;opacity:.65}.task-row{min-height:3.15rem;display:flex;align-items:center;gap:.25rem;margin:.16rem;padding:.25rem .35rem;border:1px solid transparent;border-radius:6px}.task-row:hover{background:var(--surface);border-color:var(--border)}.task-row.done{opacity:.52}.task-row.done .task-title{text-decoration:line-through}.drag-handle,.expand,.task-check,.task-title,.task-actions button,.icon-button{color:var(--dim);background:transparent;border:0;padding:.32rem}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.expand:disabled{opacity:1}.task-check{color:var(--work);font-size:1.05rem}.task-title{color:var(--fg);text-align:left;flex:1;font-weight:600}.task-actions{display:flex;gap:.15rem;opacity:0;transition:opacity .15s}.task-actions button{width:2.15rem;height:2.15rem;padding:.35rem;border:1px solid transparent;border-radius:5px;font-size:1rem}.task-actions button:hover{border-color:var(--border);background:#2b3047}.task-row:hover .task-actions,.task-row:focus-within .task-actions{opacity:1}.badge{color:var(--magenta);background:#bb9af718;border-color:#bb9af744;padding:.2rem .4rem;font-size:.62rem;text-decoration:none}.badge.pr{color:var(--cyan)}.task-details{margin:0 .5rem .6rem 3.2rem;padding:.8rem 1rem;border-left:2px solid var(--accent);background:#191b27;font-size:.8rem}.markdown{line-height:1.5}.markdown+.markdown{margin-top:.9rem}.markdown p:last-child{margin-bottom:0}.markdown code,.task-details>code{color:var(--cyan);background:var(--surface);padding:.15rem .3rem}.link-list{display:flex;gap:.8rem;flex-wrap:wrap;margin:.7rem 0}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#090a10d9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;padding:1rem;overflow-y:auto}.task-editor{width:min(820px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem;border-color:var(--accent)}.modal-head,.section-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.modal-head h2{margin-bottom:.5rem;font-size:1.25rem}.icon-button{font-size:1.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.form-grid label,.setting{display:grid;gap:.4rem;color:var(--dim);font-size:.76rem}.form-grid label>span{float:right;color:var(--dim);font-size:.65rem}.span-2{grid-column:span 2}.links-editor{margin-top:1.25rem}.links-editor h3{margin:.6rem 0}.link-fields{display:grid;grid-template-columns:1fr 2fr auto;gap:.5rem;margin:.5rem 0}.form-actions{display:flex;justify-content:end;align-items:center;gap:.6rem;margin-top:1.3rem}.saved{color:var(--work);margin-right:auto}.timer-strip{position:fixed;z-index:50;inset:auto 0 0;min-height:3.2rem;display:flex;align-items:center;gap:1rem;padding:.65rem 1.2rem;color:var(--fg);background:#24283bf5;border-top:1px solid var(--accent);box-shadow:0 -10px 40px #090b1266;cursor:pointer}.timer-strip>button{margin-left:auto}.timer-strip strong{color:var(--accent);font-size:1.15rem}.timer-strip.focus strong,.timer-strip.focus .status-dot{color:var(--work);background:var(--work)}.timer-strip.break strong,.timer-strip.break .status-dot{color:var(--rest);background:var(--rest)}.status-dot{display:inline-block;width:.52rem;height:.52rem;margin-right:.35rem;border-radius:50%;background:var(--accent);box-shadow:0 0 12px currentColor}.status-dot.idle{background:var(--dim);box-shadow:none}.push{margin-left:auto}.focus-panel{width:min(900px,100%);min-height:min(690px,calc(100vh - 2rem));padding:1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--work);border-radius:12px;background:radial-gradient(circle at center,#242b36 0,#171923 65%);box-shadow:0 24px 100px #000}.focus-panel.break{border-color:var(--rest)}.focus-panel.prepare{border-color:var(--accent)}.focus-panel .modal-head{position:absolute;top:2rem;width:min(820px,calc(100% - 4rem))}.phase-kicker{color:var(--work);font-weight:800;text-transform:uppercase;letter-spacing:.17em}.focus-panel.break .phase-kicker{color:var(--rest)}.focus-panel.prepare .phase-kicker{color:var(--accent)}.big-clock{margin:1.6rem 0 1rem;color:var(--work);font-size:clamp(4rem,14vw,9rem);font-weight:800;line-height:1;letter-spacing:-.08em;font-variant-numeric:tabular-nums;text-shadow:0 0 45px #9ece6a22}.break .big-clock{color:var(--rest)}.prepare .big-clock{color:var(--accent)}.big-clock.overtime{color:var(--red);text-shadow:0 0 45px #f7768e28}.progress{width:min(560px,90%);height:8px;overflow:hidden;border:1px solid var(--border);background:#11121a}.progress span{display:block;height:100%;background:var(--work)}.break .progress span{background:var(--rest)}.prepare .progress span{background:var(--accent)}.attention{margin:1rem 0;color:var(--red);font-size:.78rem}.task-switcher{width:min(480px,90%);margin-top:1rem;text-align:center}.cycle-dots{margin:1.2rem;color:var(--dim);letter-spacing:.5em}.cycle-dots .done{color:var(--work)}.cycle-dots .current{color:var(--accent)}.focus-controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;justify-content:center}.focus-controls .continue{color:var(--bg);background:var(--work);border-color:var(--work);flex-basis:100%}.focus-stats{display:flex;gap:2rem;margin-top:1.5rem;color:var(--dim);font-size:.76rem}.focus-stats b{display:block;color:var(--fg);margin-top:.25rem}.date-range{display:flex;gap:.5rem}.date-range label{color:var(--dim);font-size:.68rem}.date-range input{margin-top:.25rem}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem}.stat-card{padding:1rem 1.2rem;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.stat-card span{display:block;color:var(--dim);font-size:.68rem}.stat-card strong{display:block;margin-top:.35rem;font-size:1.35rem}.chart{padding:1rem;margin-bottom:1.5rem}.section-head h2{margin-bottom:.7rem}.section-head>span{font-size:.68rem}.bars{height:230px;display:flex;gap:clamp(3px,1vw,12px);align-items:end;overflow-x:auto;padding-top:1rem}.bar-column{flex:1 0 62px;min-width:62px;height:100%;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--dim);font-size:.62rem}.bar-value{height:1rem;color:var(--fg);font-weight:700;white-space:nowrap}.bar-track{position:relative;flex:1;width:70%;background:#161720;border:1px solid #2d324a}.bar-track i{position:absolute;inset:auto 0 0;background:linear-gradient(var(--cyan),var(--accent));box-shadow:0 0 18px #7aa2f744}.session-list>.section-head{margin-bottom:.5rem}.session{margin-bottom:.55rem;overflow:hidden}.session-summary{width:100%;display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(180px,1.6fr) repeat(3,80px) auto;gap:1rem;align-items:center;color:var(--fg);background:transparent;border:0;text-align:left;padding:.85rem 1rem}.session-summary:hover{background:var(--surface);filter:none!important}.session-summary small,.archive-row small{display:block;color:var(--dim);margin-top:.25rem;font-weight:400}.session-status{width:.55rem;height:.55rem;border-radius:50%;background:var(--accent)}.session-status.completed{background:var(--work)}.session-status.ended_early{background:var(--red)}.session-tasks{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric small{display:block;color:var(--dim)}.metric b{color:var(--fg);font-size:.8rem}.session-detail{border-top:1px solid var(--border);padding:1rem;background:#191b27}.phase-grid{display:flex;gap:.5rem;overflow-x:auto}.phase-card{min-width:150px;padding:.7rem;border:1px solid var(--border);border-top:2px solid var(--accent)}.phase-card.focus{border-top-color:var(--work)}.phase-card.break{border-top-color:var(--rest)}.phase-card span,.phase-card small{display:block;color:var(--dim);font-size:.65rem}.phase-card b{display:block;margin:.25rem 0}.segment-table{margin-top:1rem}.segment-row{display:grid;grid-template-columns:180px 1fr 1fr 80px;gap:1rem;padding:.55rem;border-top:1px solid #2d324a;font-size:.72rem}.segment-row.head{color:var(--dim);border:0}.settings-form{padding:1.2rem}.security-form,.danger-zone{margin-top:1rem}.security-form>.muted,.danger-zone>.muted{font-size:.76rem;max-width:760px;margin-bottom:0}.danger-zone{border-color:#f7768e66}.confirmation-panel{width:min(520px,100%);padding:1.5rem;border-color:var(--red)}.confirmation-panel p{color:var(--dim)}.confirmation-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.5rem}.danger-confirm{color:var(--bg)!important;background:var(--red);border-color:var(--red)}.password-grid{grid-template-columns:1fr}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.5rem}.setting{grid-template-columns:1fr minmax(150px,1fr);align-items:center;padding:.75rem 0;border-bottom:1px solid #2d324a}.setting small{display:block;color:var(--dim);margin-top:.25rem}.number-input{position:relative}.number-input input{padding-right:5.5rem}.number-input i{position:absolute;right:.7rem;top:.75rem;color:var(--dim);font-style:normal;font-size:.68rem}.switches{display:flex;gap:1.5rem;margin:1rem 0}.archive-list{overflow:hidden}.archive-row{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.archive-row:last-child{border:0}.archive-row>span{color:var(--red)}@media(max-width:850px){.action-bar{flex-wrap:wrap;gap:.5rem}.action-bar nav{order:3;width:100%;overflow-x:auto}.action-bar>.ghost{margin-left:auto}.action-bar nav a{flex:1;text-align:center}.page-heading{align-items:stretch;flex-direction:column;gap:1rem}.heading-actions{justify-content:start}.session-summary{grid-template-columns:auto 1fr auto}.session-tasks{grid-column:2 / -1}.metric{display:none}.segment-row{grid-template-columns:1fr 1fr 70px}.segment-row>:nth-child(3){display:none}.timer-strip .push{display:none}}@media(max-width:600px){.page{padding:1rem .6rem}.brand span,.action-bar>.ghost,.timer-strip .muted{display:none}.form-grid,.settings-grid,.history-summary{grid-template-columns:1fr}.span-2{grid-column:auto}.link-fields{grid-template-columns:1fr auto}.link-fields input:nth-child(2){grid-column:1}.link-fields button{grid-row:1 / span 2;grid-column:2}.task-tree{padding:.35rem}.task-level{margin-left:.75rem}.task-actions{opacity:1}.badge{display:none}.task-details{margin-left:1.7rem}.date-range{width:100%}.date-range label{flex:1}.bars{height:180px}.focus-stats{gap:.8rem}.focus-panel{min-height:calc(100vh - 1rem);padding:.7rem}.focus-panel .modal-head{top:1rem;width:calc(100% - 2rem)}.big-clock{font-size:20vw}.switches{flex-direction:column}.setting{grid-template-columns:1fr}}
