:root{--ink: #0e131c;--raised: #151c29;--soft: #1a2231;--line: #242e40;--line-strong: #33405a;--brass: #c8952f;--brass-dim: #8a6720;--signal: #4fb3a5;--violet: #8b7bc7;--alarm: #d2564b;--sky: #5d93c4;--paper: #e9ebef;--dim: #8792a6;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--sans: "IBM Plex Sans", -apple-system, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:2px}.shell{display:grid;grid-template-columns:212px 1fr;min-height:100vh}.rail{border-right:1px solid var(--line);padding:26px 0 18px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.brand{padding:0 20px 18px;border-bottom:1px solid var(--line)}.brand .word{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.34em;color:var(--paper)}.brand .word b{color:var(--brass);font-weight:600}.brand .kick{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-top:5px}.nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1}.nav button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;padding:8px 10px 8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer}.nav button:hover{color:var(--paper);background:var(--raised)}.nav button.active{color:var(--brass);border-left-color:var(--brass);background:var(--raised)}.nav button .later{margin-left:auto;font-size:8.5px;letter-spacing:.1em;color:var(--line-strong)}.nav .navsep{margin:10px 14px 8px;border-top:1px solid var(--line)}.rail .railfoot{padding:12px 20px 0;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--line-strong)}.main{min-width:0}.view{max-width:780px;margin:0 auto;padding:40px 24px 90px}.vhead{margin-bottom:24px}.vhead .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass)}.vhead h1{margin:6px 0 4px;font-size:24px;font-weight:600;letter-spacing:-.01em}.vhead .sub{color:var(--dim);font-size:13.5px;margin:0}.vhead .sub .latenote{color:var(--brass)}.card{background:var(--raised);border:1px solid var(--line);padding:16px 18px;margin-bottom:14px}.card.accent{border-left:2px solid var(--brass)}.sechead{display:flex;align-items:baseline;gap:10px;margin:26px 0 10px}.sechead h2{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:500;margin:0}.sechead .count{font-family:var(--mono);font-size:10.5px;color:var(--dim)}.sechead .spacer{flex:1}.empty{border:1px dashed var(--line);color:var(--dim);font-size:13.5px;padding:18px;text-align:center}.btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--dim);border:1px solid var(--line);padding:6px 12px;cursor:pointer;white-space:nowrap}.btn:hover{color:var(--paper);border-color:var(--line-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.on-done{background:var(--brass);border-color:var(--brass);color:#0e131c;font-weight:600}.btn.on-skip{background:none;border-color:var(--signal);color:var(--signal)}.btn.brass{border-color:var(--brass-dim);color:var(--brass)}.btn.brass:hover{border-color:var(--brass)}.btn.danger{border-color:var(--line);color:var(--dim)}.btn.danger:hover{border-color:var(--alarm);color:var(--alarm)}.btn.small{padding:3px 8px;font-size:9.5px}.linkish{background:none;border:none;padding:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);cursor:pointer}.linkish:hover{color:var(--brass)}.rowlist{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row .dot{width:8px;height:8px;border-radius:50%;flex:none}.row .dot.none{background:none;border:1px solid var(--line-strong)}.row .rtitle{flex:1;min-width:0}.row .rtitle .t{font-size:14.5px}.row.paused .rtitle .t,.row.muted .rtitle .t{color:var(--dim)}.row .rtitle .m{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.04em;margin-top:1px}.row .rtitle .m .warn{color:var(--alarm)}.row .rtitle .m .okc{color:var(--signal)}.row .acts{display:flex;gap:6px;flex:none}.runchip{font-family:var(--mono);font-size:10px;color:var(--dim);border:1px solid var(--line);padding:2px 7px;white-space:nowrap}.runchip.hot{color:var(--brass);border-color:var(--brass-dim)}.chip{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}.chip.full{color:var(--brass);border-color:var(--brass)}.chip.part{color:var(--brass-dim);border-color:var(--brass-dim)}.chip.miss{color:var(--alarm);border-color:var(--alarm)}.chip.rest{color:var(--signal);border-color:var(--signal)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}input[type=text],input[type=date],input[type=number],input[type=password],textarea,select{background:var(--ink);border:1px solid var(--line);color:var(--paper);font-family:var(--sans);font-size:14px;padding:8px 10px;width:100%}input[type=date]{font-family:var(--mono);font-size:12.5px;color-scheme:dark}select{font-family:var(--mono);font-size:12px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brass)}::placeholder{color:var(--line-strong)}.formrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.formrow .grow{flex:1;min-width:160px}.seg{display:inline-flex;border:1px solid var(--line)}.seg button{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;color:var(--dim);padding:6px 11px;cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:none}.seg button.active{background:var(--soft);color:var(--brass)}.daypick{display:flex;gap:4px}.daypick button{width:30px;height:28px;font-family:var(--mono);font-size:10px;background:var(--ink);border:1px solid var(--line);color:var(--dim);cursor:pointer}.daypick button.on{background:var(--soft);border-color:var(--brass);color:var(--brass)}.swatches{display:flex;gap:6px}.swatches button{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatches button.on{border-color:var(--paper)}input[type=range]{width:100%;accent-color:var(--brass)}.bar{display:flex;align-items:center;gap:10px}.bar .track{flex:1;height:6px;background:var(--soft);border-radius:3px;overflow:hidden}.bar .fill{height:100%;border-radius:3px}.bar .pct{font-family:var(--mono);font-size:11px;color:var(--paper);min-width:38px;text-align:right}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tile{background:var(--raised);border:1px solid var(--line);padding:14px 16px}.tile .n{font-family:var(--mono);font-size:30px;font-weight:600;color:var(--paper);line-height:1.1}.tile .n .unit{font-size:13px;color:var(--dim);font-weight:400;margin-left:4px}.tile .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:5px}.tile.hero{border-left:2px solid var(--brass)}.tile.hero .n{color:var(--brass)}.calwrap{overflow-x:auto}.cal{border-collapse:separate;border-spacing:3px}.cal th{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--dim);font-weight:400;padding:0 0 4px;text-align:center}.cal td.wk{font-family:var(--mono);font-size:9px;color:var(--line-strong);padding-right:7px;white-space:nowrap;text-align:right}.cell{width:20px;height:20px;background:var(--soft);position:relative}.cell.c-void{background:none}.cell.c-none{background:var(--soft)}.cell.c-full{background:var(--brass)}.cell.c-part{background:linear-gradient(to top,var(--brass) 50%,var(--soft) 50%)}.cell.c-miss{background:var(--soft);box-shadow:inset 0 0 0 1px var(--alarm)}.cell.c-miss:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 44%,var(--alarm) 44%,var(--alarm) 56%,transparent 56%)}.cell.c-rest{background:var(--soft)}.cell.c-rest:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:var(--signal)}.cell.c-today{box-shadow:inset 0 0 0 1px var(--paper)}.callegend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-family:var(--mono);font-size:10px;color:var(--dim);align-items:center}.callegend .item{display:flex;align-items:center;gap:6px}.callegend .cell{width:14px;height:14px}.tablewrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:500;padding:8px 12px 8px 0;border-bottom:1px solid var(--line)}table.data td{padding:9px 12px 9px 0;border-bottom:1px solid var(--line);vertical-align:middle}table.data tr:last-child td{border-bottom:none}.goal{border-left:2px solid var(--line)}.goal .ghead{display:flex;align-items:baseline;gap:10px}.goal .ghead h3{margin:0;font-size:16.5px;font-weight:600;flex:1;min-width:0}.goal .deadline{font-family:var(--mono);font-size:10.5px;color:var(--dim);white-space:nowrap}.goal .deadline.overdue{color:var(--alarm)}.goal .why{color:var(--dim);font-size:13px;margin:4px 0 12px}.goal .modetag{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);padding:1px 6px}.goal .glinks{display:flex;gap:14px;margin-top:10px;font-family:var(--mono);font-size:10px;color:var(--dim);flex-wrap:wrap}.goal .gbody{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.mslist{display:flex;flex-direction:column}.msrow{display:flex;align-items:center;gap:10px;padding:6px 0}button.tick{width:16px;height:16px;flex:none;border:1px solid var(--line-strong);background:var(--ink);cursor:pointer;padding:0;position:relative}button.tick.on{background:var(--brass);border-color:var(--brass)}button.tick.on:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #0e131c;border-width:0 2px 2px 0;transform:rotate(45deg)}.msrow .mtitle{flex:1;font-size:13.5px}.msrow .mtitle.done{color:var(--dim);text-decoration:line-through}.placeholder{border:1px dashed var(--line-strong);padding:22px 24px;color:var(--dim);font-size:14px}.placeholder .slice{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:8px}.placeholder p{margin:0 0 8px;max-width:58ch}.placeholder .kept{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--signal)}.capbox textarea{resize:vertical;min-height:110px;line-height:1.6}.btn.listening{border-color:var(--signal);color:var(--signal);animation:cap-pulse 1.2s ease-in-out infinite}@keyframes cap-pulse{50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.btn.listening{animation:none}}.mono-note{font-family:var(--mono);font-size:11px;color:var(--dim);line-height:1.7}.mono-note b{color:var(--paper);font-weight:500}.importbox{margin-top:10px}.filepick{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.iosummary{margin-top:12px;border:1px solid var(--line);background:var(--ink);padding:12px 14px;font-family:var(--mono);font-size:11px;color:var(--dim);line-height:1.8}.iosummary .ok{color:var(--signal)}.iosummary .err{color:var(--alarm)}@media (max-width: 760px){.shell{display:block}.rail{position:sticky;top:0;height:auto;border-right:none;border-bottom:1px solid var(--line);background:var(--ink);z-index:20;padding:12px 0 0}.brand{padding:0 16px 10px;border-bottom:none;display:flex;align-items:baseline;gap:12px}.brand .kick{margin-top:0}.nav{flex-direction:row;overflow-x:auto;padding:0 8px;gap:0;border-top:1px solid var(--line)}.nav button{border-left:none;border-bottom:2px solid transparent;padding:10px;white-space:nowrap;width:auto}.nav button.active{border-bottom-color:var(--brass);background:none}.nav button .later,.nav .navsep,.railfoot{display:none}.view{padding:26px 16px 70px}.row{flex-wrap:wrap}.row .acts{margin-left:auto}}
