:root{--bg-0:#121110;--bg-1:#1a1917;--bg-2:#232120;--bg-3:#2c2a28;--bg-4:#363330;--inset:#0d0c0b;--line:#2b2825;--line-2:#3d3934;--ink:#ece7dd;--ink-2:#a8a196;--ink-3:#6f6961;--brass:#e2b25a;--brass-ink:#1a1508;--brass-wash:#e2b25a1f;--ember:#e07a5f;--ember-wash:#e07a5f24;--moss:#86b57e;--moss-wash:#86b57e24;--sky:#6fa3c4;--h-rose:#d97a8f;--h-peach:#e3a36f;--h-lemon:#d9c46a;--h-lime:#a3c06d;--h-mint:#6cc0a1;--h-teal:#5fb1b8;--h-sky:#6fa3c4;--h-iris:#8d8fd6;--h-plum:#b784c9;--h-clay:#b8907a;--h-stone:#8f8b85;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-xs:11px;--fs-sm:12.5px;--fs:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r1:4px;--r2:8px;--r3:12px;--bar-h:52px;--fast:.12s;--med:.2s;--shadow:0 8px 28px #00000073}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg-0);color:var(--ink);font:var(--fs)/1.45 var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--brass-wash)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:500}h1{font-size:var(--fs-xl);line-height:1.15}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--serif);font-size:var(--fs-sm);color:var(--ink-2);letter-spacing:.01em;font-style:italic}.label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:var(--fs-sm)}.bar{height:var(--bar-h);align-items:center;gap:var(--s4);padding:0 var(--s5);background:var(--bg-2);border-bottom:1px solid var(--line-2);z-index:20;flex:none;display:flex;position:sticky;top:0}.bar .brand{font-family:var(--serif);font-size:var(--fs-md);color:var(--brass);margin-right:var(--s2)}.bar nav{gap:2px;display:flex}.bar nav a{border-radius:var(--r1);color:var(--ink-2);font-size:var(--fs-sm);padding:6px 10px}.bar nav a:hover{background:var(--bg-3);color:var(--ink)}.bar nav a.on{background:var(--bg-4);color:var(--ink)}.bar .spacer{flex:1}.bar .pnav{align-items:center;gap:2px;display:flex}.bar .pnav .lbl{font-family:var(--serif);font-size:var(--fs-md);padding:0 var(--s3);text-align:center;min-width:140px}.bar .qleft{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3);padding:0 var(--s3);border-left:1px solid var(--line)}main{flex:1;min-height:0;display:flex}.page{min-width:0;padding:var(--s5);flex:1;overflow:auto}.page.tight{padding:0}.rail{background:var(--inset);border-left:1px solid var(--line-2);flex:none;width:300px;overflow:auto}.rail.wide{width:420px}.btn{border-radius:var(--r1);background:var(--bg-3);color:var(--ink);font-size:var(--fs-sm);border:1px solid var(--line-2);transition:background var(--fast);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.btn:hover{background:var(--bg-4)}.btn.primary{background:var(--brass);color:var(--brass-ink);border-color:var(--brass);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-3);color:var(--ink)}.btn.sm{font-size:var(--fs-xs);padding:3px 8px}.btn.danger{color:var(--ember)}.btn.pulse{border-color:var(--brass);animation:1.6s ease-in-out infinite pulse}.btn.pulse.late{--pulse:var(--ember);border-color:var(--ember);color:var(--ember);animation-duration:.9s}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--pulse,var(--brass))}50%{box-shadow:0 0 0 5px #0000}}@media (prefers-reduced-motion:reduce){.btn.pulse,.railstep.pulsing .mk{animation:none}}.seg{background:var(--inset);border:1px solid var(--line);border-radius:var(--r1);padding:2px;display:inline-flex}.seg button{font-size:var(--fs-xs);color:var(--ink-2);border-radius:3px;padding:3px 10px}.seg button.on{background:var(--bg-3);color:var(--ink)}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r2)}.card>header{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);display:flex}.card>header h2,.card>header h3{flex:1}.card .body{padding:var(--s4)}.chip{font-size:var(--fs-xs);background:var(--bg-3);color:var(--ink-2);border:1px solid var(--line-2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;max-width:180px;padding:1px 7px;display:inline-flex;overflow:hidden}.chip.goal{border-color:var(--brass);color:var(--brass);background:var(--brass-wash)}.chip.proj{border-color:var(--sky);color:var(--sky)}.chip.none{color:var(--ink-3);border-style:dashed}.chip.warn{border-color:var(--ember);color:var(--ember);background:var(--ember-wash)}.chip.ok{border-color:var(--moss);color:var(--moss);background:var(--moss-wash)}.count{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3)}input.line,textarea.line,select.line{background:var(--inset);border:1px solid var(--line);border-radius:var(--r1);width:100%;color:var(--ink);outline:none;padding:7px 10px}input.line:focus,textarea.line:focus,select.line:focus{border-color:var(--brass)}textarea.line{resize:vertical;min-height:72px;line-height:1.45}input.bare{width:100%;color:var(--ink);background:0 0;border:0;outline:none;padding:0}input.bare::placeholder,input.line::placeholder,textarea.line::placeholder{color:var(--ink-3)}.tick{border:1.5px solid var(--line-2);color:#0000;background:0 0;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;font-size:11px;display:inline-grid}.tick.on{background:var(--moss);border-color:var(--moss);color:var(--bg-0)}.tick.round{border-radius:50%}.row{align-items:center;gap:var(--s2);padding:7px var(--s3);border-bottom:1px solid var(--line);display:flex}.row:last-child{border-bottom:0}.row:hover{background:var(--bg-3)}.row .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row.done .t{color:var(--ink-3);text-decoration:line-through}.row .grip{color:var(--ink-3);cursor:grab;opacity:0;font-size:12px}.row:hover .grip{opacity:1}.row.ghost{opacity:.6}.row.ghost .t:before{content:"↻ ";color:var(--brass)}.row.drop{outline:1px dashed var(--brass);background:var(--brass-wash)}.warnline{font-size:var(--fs-sm);color:var(--ember);padding:6px var(--s3);background:var(--ember-wash);border-radius:var(--r1)}.empty{color:var(--ink-3);font-style:italic;font-family:var(--serif);padding:var(--s3)}.pop{z-index:50;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r2);box-shadow:var(--shadow);min-width:220px;padding:var(--s2);position:absolute}.pop .item{gap:var(--s2);text-align:left;border-radius:var(--r1);width:100%;font-size:var(--fs-sm);align-items:center;padding:6px 8px;display:flex}.pop .item:hover{background:var(--bg-3)}.pop .item .k{font-family:var(--mono);color:var(--ink-3);width:18px;font-size:10px}.pop .item.danger{color:var(--ember)}.pop hr{border:0;border-top:1px solid var(--line);margin:var(--s1) 0}.pop .field{padding:4px 8px}.scrim{z-index:40;position:fixed;inset:0}.modal{z-index:60;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.modal .box{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r3);box-shadow:var(--shadow);width:460px;max-width:94vw}.modal .box header{padding:var(--s4);border-bottom:1px solid var(--line)}.modal .box .body{padding:var(--s4);gap:var(--s3);display:grid}.modal .box footer{padding:var(--s3) var(--s4);gap:var(--s2);border-top:1px solid var(--line);justify-content:flex-end;display:flex}.toast{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r2);font-size:var(--fs-sm);box-shadow:var(--shadow);z-index:70;gap:var(--s3);align-items:center;padding:8px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast button{color:var(--brass);font-weight:600}.railhead{padding:var(--s4);border-bottom:1px solid var(--line-2);align-items:center;gap:var(--s2);background:var(--inset);display:flex;position:sticky;top:0}.railhead h2{font-size:var(--fs-md);flex:1}.railsteps{padding:var(--s2) 0;border-bottom:1px solid var(--line)}.railstep{gap:var(--s3);padding:6px var(--s4);text-align:left;align-items:flex-start;width:100%;display:flex}.railstep:hover{background:var(--bg-1)}.railstep .mk{border:1px solid var(--line-2);width:20px;height:20px;font-family:var(--mono);color:var(--ink-3);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:10px;display:grid}.railstep.on .mk{border-color:var(--brass);color:var(--brass)}.railstep.done .mk{background:var(--moss);border-color:var(--moss);color:var(--bg-0)}.railstep.done .tx,.railstep.dismissed .mk{color:var(--ink-3)}.railstep.dismissed .tx{color:var(--ink-3);opacity:.7}.railstep .tx{font-size:var(--fs-sm);flex:1}.railstep .tx .d{color:var(--ink-3);font-size:var(--fs-xs)}.railstep.pulsing .mk{animation:1.6s ease-in-out infinite pulse}.railbody{padding:var(--s4);gap:var(--s3);display:grid}.railbody .railq{font-family:var(--serif);font-size:var(--fs-md)}.railbody .hint{font-size:var(--fs-sm);color:var(--ink-2)}.railfoot{padding:var(--s3) var(--s4);gap:var(--s2);border-top:1px solid var(--line);background:var(--inset);display:flex;position:sticky;bottom:0}.slider{gap:var(--s2);grid-template-columns:1fr 44px;align-items:center;display:grid}.slider input[type=range]{width:100%;accent-color:var(--brass)}.grid2{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.stack{gap:var(--s3);display:grid}.hstack{align-items:center;gap:var(--s2);display:flex}.right{margin-left:auto}.pagehead{align-items:baseline;gap:var(--s4);margin-bottom:var(--s5);display:flex}.pagehead h1{flex:1}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-3);border-radius:3px;padding:0 4px;font-size:10px}.bar .navmenu,.bar .pnav .lbl.short{display:none}@media (width<=719px){.bar{padding:0 var(--s3);gap:var(--s2)}.bar .brand{margin-right:0}.bar nav,.bar .qleft,.bar .setup{display:none}.bar .navmenu{display:inline-flex}.bar .pnav .lbl{min-width:0;padding:0 var(--s1);font-size:var(--fs-sm)}.bar .pnav .lbl.long{display:none}.bar .pnav .lbl.short{display:block}.bar .pnav .btn.sm{padding:8px}.page{padding:var(--s3)}.rail,.rail.wide{border-left:0;width:100%!important}.rail.ladder{display:none}main:has(>.rail:not(.ladder))>:not(.rail){display:none}.grid2{grid-template-columns:1fr}.pagehead{gap:var(--s2) var(--s3);flex-wrap:wrap}.pagehead h1{flex:100%}.modal .box{border-radius:var(--r3) var(--r3) 0 0;align-self:end;width:100%;max-width:100%}.modal{place-items:end center}.tick,.note .mk{position:relative}.tick:after,.note .mk:after{content:"";position:absolute;inset:-12px}.bar .btn,.bar .lbl{white-space:nowrap}.row{padding:11px var(--s3);row-gap:var(--s1);flex-wrap:wrap}.row .t{white-space:normal;flex:50%}.row>.chip,.row>.btn.sm:not(:last-child){order:2}.row>.chip{max-width:100%;margin-left:24px}.row .grip{opacity:1}.btn.sm{padding:8px 10px}.pop .item{font-size:var(--fs);padding:11px 8px}.railstep{padding:10px var(--s4)}.chip{max-width:120px}}.rail.ladder{width:280px}.ladder .railbody{padding-bottom:0}.ladder .railsteps{margin:0;list-style:none}.ladder .acts{margin-top:var(--s1)}.ladder .reopen{margin-top:2px}.rail .row{padding-left:0;padding-right:0}.rail .row .chip{margin-left:6px}.rail .lift{text-align:left;width:100%;display:block}.rail .slotcard{padding:8px 12px}.login{width:320px;margin:var(--s7) auto}.login form{gap:var(--s3);display:grid}.iw{flex:1;grid-template-columns:minmax(0,1fr) 280px;min-width:0;min-height:0;display:grid}.iw .main{padding:var(--s4);flex-direction:column;min-width:0;display:flex;overflow:auto}.iw .side{border-left:1px solid var(--line);padding:var(--s4);gap:var(--s4);background:var(--bg-1);align-content:start;min-width:0;display:grid;overflow:auto}.iw .pagehead{margin-bottom:var(--s3);gap:var(--s2);align-items:center}.iw .pagehead h1{white-space:nowrap;flex:none}.iw .grid{-webkit-user-select:none;user-select:none;flex:1;grid-template-columns:44px repeat(7,minmax(0,1fr));display:grid}.iw .grid>*{min-width:0}.iw .hd{font-size:var(--fs-xs);color:var(--ink-3);text-align:center;border-bottom:1px solid var(--line-2);text-transform:uppercase;letter-spacing:.06em;padding:4px}.iw .hd .tot{font-family:var(--mono);color:var(--ink-2);text-transform:none;letter-spacing:0;display:block}.iw .times{position:relative}.iw .times span{font-family:var(--mono);color:var(--ink-3);font-size:10px;position:absolute;right:6px;transform:translateY(-6px)}.iw .day{border-left:1px solid var(--line);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--ink) 4%, transparent) 1px, transparent 1px);position:relative}.iw .day.we{background-color:var(--inset)}.iw .blk{font-size:var(--fs-xs);color:var(--bg-0);opacity:.85;cursor:grab;border-radius:3px;padding:2px 6px;position:absolute;left:2px;right:2px;overflow:hidden}.iw .blk:hover{opacity:1}.iw .blk.lifted{opacity:.3}.iw .blk .rs{cursor:ns-resize;height:6px;position:absolute;bottom:0;left:0;right:0}.iw .paint{border:1px dashed var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent);pointer-events:none;border-radius:3px;position:absolute;left:2px;right:2px}.iw .cat{align-items:center;gap:var(--s2);padding:6px var(--s3);border-bottom:1px solid var(--line);cursor:pointer;display:flex}.iw .cat:last-child{border-bottom:0}.iw .cat.on{background:var(--bg-3)}.iw .cat input.bare{min-width:0;font-size:var(--fs-sm);flex:1}.iw .cat .tot{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.iw .cat.none .tot{color:var(--ember)}.iw .cat .sw.next{border:1px dashed var(--line-2)}.iw .cat.sub{padding-left:26px}.iw .cat.sub .sw{width:8px;height:8px;margin:0 3px}.iw .cat.add{cursor:default}.iw .cat.sub.add .sw{opacity:.45}@media (width<=719px){.iw{display:block;overflow:auto}.iw .main,.iw .side{overflow:visible}.iw .side{border-left:0;border-top:1px solid var(--line)}.iw .grid{grid-template-columns:32px repeat(7,minmax(0,1fr))}.iw .pagehead>.small{flex:100%}.iw .pagehead .btn{white-space:nowrap}}.life{width:100%;max-width:1200px;margin:0 auto}.life .legacy{margin-bottom:var(--s5)}.life .legacy .body{gap:var(--s1);display:grid}.wheel{margin-bottom:var(--s5);grid-template-columns:repeat(10,1fr);gap:6px;display:grid}.wheel>div{text-align:center;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r1);min-width:0;padding:8px 4px}.wheel b{font-family:var(--serif);font-size:var(--fs-lg);font-weight:500;display:block}.wheel span{font-size:var(--fs-xs);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wheel .bar{background:var(--bg-3);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.wheel .bar i{background:var(--brass);height:100%;display:block}.wheel .low b{color:var(--ember)}.wheel .low .bar i{background:var(--ember)}.life .cards{gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dcard>header{gap:var(--s3)}.dcard>header h3{min-width:0}.dcard>header h3 input.bare{font:inherit}.dcard .score{font-family:var(--serif);font-size:var(--fs-xl);text-align:center;width:44px;color:var(--brass)}.dcard .score.low{color:var(--ember)}.life .hist{align-items:flex-end;gap:2px;height:24px;display:flex}.life .hist i{background:var(--line-2);border-radius:1px;width:6px;display:block}.life .hist i:last-child{background:var(--brass)}.fields{gap:var(--s3);padding:var(--s4);grid-template-columns:1fr 1fr;display:grid}.fields label{gap:var(--s1);min-width:0;display:grid}.fields textarea{min-height:64px;font-size:var(--fs-sm)}.dcard .goals{padding:0 var(--s4) var(--s3);flex-wrap:wrap;gap:6px;display:flex}.take{gap:var(--s2);display:grid}.take .r{gap:var(--s2);grid-template-columns:110px 1fr 30px;align-items:center;display:grid}.take .r>*{min-width:0}.take input[type=range]{accent-color:var(--brass)}@media (width<=719px){.life .cards,.fields{grid-template-columns:1fr}.wheel{grid-template-columns:repeat(5,1fr)}}.rituals{width:100%;max-width:1100px;margin:0 auto}.rituals .cards{gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rituals .rc>header h3{min-width:0}.rituals .rc>header h3 input.bare{font:inherit}.rituals .act{gap:var(--s2);padding:6px var(--s4);border-bottom:1px solid var(--line);grid-template-columns:20px minmax(0,1fr) 70px 28px;align-items:center;display:grid}.rituals .act>*{min-width:0}.rituals .act .grip{color:var(--ink-3);cursor:grab;opacity:0}.rituals .act:hover .grip{opacity:1}.rituals .act.drag{opacity:.4}.rituals .act.drop{outline:1px dashed var(--brass);background:var(--brass-wash)}.rituals .act input[type=number]{text-align:right;font-family:var(--mono);font-size:var(--fs-sm);background:var(--inset);border:1px solid var(--line);border-radius:var(--r1);width:70px;color:var(--ink-2);padding:3px 6px}.rituals .act.head{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.rituals .total{justify-content:flex-end;gap:var(--s2);padding:8px var(--s4);font-family:var(--mono);font-size:var(--fs-sm);color:var(--ink-2);display:flex}.rituals .hist{padding:0 var(--s4) var(--s3);align-items:center;gap:3px;display:flex}.rituals .hist i{border-radius:3px;width:14px;height:14px;display:block}.rituals .hist i.pending{background:var(--bg-3)}.rituals .hist i.done{background:var(--moss)}.rituals .hist i.off{background:var(--bg-2);opacity:.5}.rituals .hist i.missed{border:1px solid var(--line-2);background:0 0}@media (width<=719px){.rituals .cards{grid-template-columns:1fr}}.settings{width:100%;max-width:820px;margin:0 auto}.settings .card{margin-bottom:var(--s4)}.settings .srow{gap:var(--s4);padding:10px var(--s4);border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;align-items:center;display:grid}.settings .srow:last-child{border-bottom:0}.settings .srow .k{font-size:var(--fs-sm)}.settings .srow .k .d{color:var(--ink-3);font-size:var(--fs-xs);display:block}.settings .srow select.line,.settings .srow input.line{width:auto;min-width:140px}.settings .feed{gap:var(--s2);padding:8px var(--s4);border-bottom:1px solid var(--line);grid-template-columns:20px 140px 1fr 80px 32px 32px;align-items:center;display:grid}.settings .feed>*{min-width:0}.settings .feed .url{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings .feed .st{font-size:var(--fs-xs)}.settings .feed .st.bad{color:var(--ember)}.settings .feed .st.ok{color:var(--moss)}.settings .addfeed{padding:10px var(--s4);align-items:center;gap:var(--s2);border-bottom:1px solid var(--line);display:flex}.settings .huelist>div{align-items:center;gap:var(--s3);padding:6px var(--s4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);display:flex}.settings .huelist>div:last-child{border-bottom:0}.settings .huelist>div>*{min-width:0}.settings .huelist .n{width:64px;color:var(--ink-2)}.settings .huelist .who{color:var(--ink-2)}.settings .huelist .who.free{color:var(--ink-3)}.settings .kinds{gap:var(--s2);flex-wrap:wrap;display:flex}.settings .kinds button{align-items:center;gap:6px;display:flex}.settings .doms{flex:1;grid-template-columns:repeat(5,1fr);gap:6px;min-width:0;display:grid}.settings .doms input.line{width:100%;min-width:0}@media (width<=719px){.settings .srow{gap:var(--s2);grid-template-columns:1fr}.settings .feed{flex-wrap:wrap;display:flex}.settings .feed .url{flex:100%}.settings .doms{grid-template-columns:repeat(2,1fr)}}.calendar{flex:1;grid-template-columns:minmax(0,1fr) 300px;min-width:0;min-height:0;display:grid}.calendar .main{padding:var(--s4);gap:var(--s3);flex-direction:column;min-width:0;display:flex;overflow:auto}.calendar .side{border-left:1px solid var(--line);padding:var(--s4);gap:var(--s4);background:var(--bg-1);align-content:start;min-width:0;display:grid;overflow:auto}.calendar .side .hstack{margin-bottom:6px}.calendar .layers{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.calendar .layers .faint{margin-left:var(--s2)}.calendar .month{background:var(--line);border:1px solid var(--line);border-radius:var(--r2);flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar .month .wd{background:var(--bg-2);font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:6px}.calendar .cell{background:var(--bg-1);flex-direction:column;gap:2px;min-width:0;min-height:92px;padding:4px 6px;display:flex;position:relative}.calendar .cell.out{background:var(--bg-0);color:var(--ink-3)}.calendar .cell .n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3)}.calendar .cell.today .n{color:var(--brass);font-weight:600}.calendar .cell:hover{background:var(--bg-3)}.calendar .cell.drop{outline:1px dashed var(--brass)}.calendar .cell .add{opacity:0;position:absolute;top:2px;right:4px}.calendar .cell:hover .add,.calendar .cell .add:focus-visible{opacity:1}.calendar .item{text-align:left;width:100%;font-size:var(--fs-xs);background:var(--bg-2);text-overflow:ellipsis;white-space:nowrap;cursor:grab;border-left:3px solid;border-radius:3px;padding:1px 6px;display:block;overflow:hidden}.calendar .item.auto{cursor:default;opacity:.85;border-left-style:dashed}.calendar .item.feed{opacity:.7;cursor:default;border-left-style:dotted}.calendar .nore{font-size:var(--fs-sm);color:var(--ember)}.calendar .minis{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.calendar .minimonth{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s3);min-width:0}.calendar .minimonth h3{margin-bottom:var(--s2)}.calendar .minimonth .grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar .minimonth .wd{text-align:center;font-family:var(--mono);color:var(--ink-3);font-size:10px}.calendar .minimonth .day{aspect-ratio:1;font-family:var(--mono);color:var(--ink-3);border-radius:3px;place-items:center;font-size:10px;display:grid;position:relative}.calendar .minimonth .day:hover{background:var(--bg-3)}.calendar .minimonth .day.out{opacity:.25}.calendar .minimonth .day.today{outline:1px solid var(--brass);color:var(--brass)}.calendar .pips{gap:1px;display:flex;position:absolute;bottom:2px}.calendar .pips i{border-radius:50%;width:4px;height:4px;display:block}.calendar .minimonth .list{margin-top:var(--s2);font-size:var(--fs-xs);gap:2px;display:grid}.calendar .minimonth .list>div{align-items:center;gap:6px;min-width:0;display:flex}.calendar .minimonth .list .d{font-family:var(--mono);color:var(--ink-3);flex:none;width:24px}.calendar .minimonth .list .t{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;overflow:hidden}.calendar .prow{gap:var(--s2);padding:6px var(--s3);border-bottom:1px solid var(--line);font-size:var(--fs-sm);align-items:center;min-width:0;display:flex}.calendar .prow:last-child{border-bottom:0}.calendar .prow[draggable=true]{cursor:grab}.calendar .prow .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.calendar .prow.done .t{color:var(--ink-3);text-decoration:line-through}.calendar .prow .count.warn{color:var(--ember)}@media (width<=719px){.calendar{display:block;overflow:auto}.calendar .main,.calendar .side{overflow:visible}.calendar .side{border-left:0;border-top:1px solid var(--line)}.calendar .cell{min-height:56px}.calendar .cell .add{opacity:1}.calendar .minis{grid-template-columns:1fr}}.daywrap{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.strip{background:var(--bg-1);border-bottom:1px solid var(--line-2);flex:none;height:36px;display:flex}.strip .wk{padding:0 var(--s4);background:var(--bg-2);border-right:1px solid var(--line);place-items:center;display:grid}.strip .cell{font-size:var(--fs-xs);color:var(--ink-3);border-right:1px solid var(--line);flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.strip .cell:hover{background:var(--bg-3);color:var(--ink-2)}.strip .cell .n{font-family:var(--mono);color:var(--ink-2)}.strip .cell.sel{background:var(--brass-wash);color:var(--ink);box-shadow:inset 0 -2px 0 var(--brass)}.strip .cell.today:not(.sel){box-shadow:inset 0 -2px 0 var(--line-2)}.strip .cell.today .n{color:var(--brass)}.wkrail{gap:var(--s2);padding:var(--s2) var(--s4);background:var(--bg-1);border-bottom:1px solid var(--line);flex:none;align-items:center;display:flex}.wkrail .slot{background:var(--bg-2);border-radius:var(--r1);border-left:2px solid var(--brass);font-size:var(--fs-sm);align-items:center;gap:6px;max-width:320px;padding:3px 10px;display:flex}.wkrail .slot.empty{border-left-style:dashed;border-left-color:var(--line-2);color:var(--ink-3)}.wkrail .slot .mono{color:var(--ink-3)}.wkrail .chip.right{max-width:none}.panes{flex:1;grid-template-columns:300px minmax(0,1fr) 380px;min-height:0;display:grid}.pswitch{display:none}@media (width<=719px){.pswitch{margin:var(--s2) var(--s3) 0;display:flex}.pswitch button{font-size:var(--fs-sm);flex:1;padding:8px 6px}.panes{grid-template-columns:minmax(0,1fr)}.panes>.pane{border-right:0}.panes>.pane:not(.show){display:none}.strip{height:44px}.strip .wk{padding:0 var(--s2)}.strip .cell{flex-direction:column;gap:3px;line-height:1.1}.strip .cell .count{display:none}.wkrail{gap:var(--s1) var(--s2);flex-wrap:wrap}.wkrail .slot{flex:100%;max-width:100%}.wkrail .chip.right{margin-left:0}.sec header{flex-wrap:wrap}.slot3{row-gap:var(--s1);flex-wrap:wrap}.slot3 .t{flex:50%}.slot3>.chip{order:2;max-width:100%;margin-left:26px}.carried .row>.chip{margin-left:30px}}.pane{padding:var(--s4);border-right:1px solid var(--line);gap:var(--s4);align-content:start;display:grid;overflow:auto}.pane:last-child{border-right:0}.sec header{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.sec header h3{flex:1}.big3{gap:var(--s2);display:grid}.slot3{align-items:center;gap:var(--s2);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r2);min-height:44px;padding:10px 12px;display:flex}.slot3.empty{color:var(--ink-3);background:0 0;border-style:dashed}.slot3 .n{font-family:var(--serif);font-size:var(--fs-lg);color:var(--brass);width:18px}.slot3.empty .n{color:var(--ink-3)}.slot3 .t{flex:1}.slot3.done .t{color:var(--ink-3);text-decoration:line-through}.slot3.drop{border-color:var(--brass);background:var(--brass-wash)}.carried{border:1px solid var(--ember);border-radius:var(--r2);background:var(--ember-wash)}.carried .row{border-color:color-mix(in srgb, var(--ember) 25%, transparent)}.carried .head{padding:8px 12px}.carried .head .label,.carried .head .count{color:var(--ember)}.carried .age{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ember)}.carried .row.old{background:var(--ember-wash)}.addrow{gap:var(--s2);padding:6px var(--s3);color:var(--ink-3);display:flex}.addrow input{flex:1}.daywrap .layers{gap:var(--s2);flex-wrap:wrap;display:flex}.allday{gap:var(--s1);flex-wrap:wrap;display:flex}.tcol{border-left:1px solid var(--line);margin-left:44px;position:relative}.tcol .hr{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-3);font-size:10px;position:absolute;left:0;right:0}.tcol .hr span{text-align:right;width:38px;position:absolute;top:-7px;left:-44px}.tcol .blk{opacity:.35;color:var(--bg-0);border-radius:3px;padding:2px 5px;font-size:10px;position:absolute;right:4px;overflow:hidden}.tcol .ev{border:1px solid var(--line-2);background:var(--bg-2);white-space:nowrap;text-overflow:ellipsis;border-left-width:3px;border-radius:3px;padding:2px 6px;font-size:11px;position:absolute;right:4px;overflow:hidden}.tcol .ev:hover{box-shadow:var(--shadow);z-index:99!important}.tcol .now{z-index:10;border-top:2px solid var(--brass);position:absolute;left:-4px;right:0}.tcol .now:before{content:"";background:var(--brass);border-radius:50%;width:6px;height:6px;position:absolute;top:-4px;left:-3px}.rit,.habit{align-items:center;gap:var(--s2);padding:7px var(--s3);border-bottom:1px solid var(--line);display:flex}.rit .t,.habit .t{flex:1;min-width:0}.rit .t{text-align:left}.rit.off .t,.habit.off .t{color:var(--ink-3)}.tick.off{opacity:.5;border-style:dashed}.rit .notdue{color:var(--ink-3);font-size:var(--fs-xs)}.rit .acts{font-size:var(--fs-xs);color:var(--ink-3);padding-left:24px;display:none}.rit.open .acts{display:block}.habit .streak{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-3)}.note{gap:var(--s2);padding:6px var(--s3);border-bottom:1px solid var(--line);align-items:flex-start;display:flex}.note .mk{border:1px solid var(--line-2);width:20px;height:20px;color:var(--ink-3);border-radius:4px;flex:none;place-items:center;font-size:11px;display:grid}.note .mk.todo{border-color:var(--moss);color:var(--moss)}.note .mk.delegate{border-color:var(--sky);color:var(--sky)}.note .mk.important{border-color:var(--brass);color:var(--brass)}.note .mk.question{border-color:var(--h-plum);color:var(--h-plum)}.note .tx{white-space:pre-wrap;flex:1;min-width:0}.note .tx:focus{outline:none}.note .chip{margin-left:6px}.noteadd{padding:8px 12px}.notesin{width:100%}.goal-detail{width:100%;max-width:1100px;margin:0 auto}.goal-detail .back{margin-bottom:var(--s2)}.goal-detail h1{margin-bottom:var(--s3)}.goal-detail h1 input.bare{font:inherit}.goal-detail .head{margin-bottom:var(--s5);flex-wrap:wrap}.goal-detail .head input[type=date]{width:auto;padding:3px 8px}.goal-detail .wrap{gap:var(--s5);grid-template-columns:minmax(0,1fr) 340px;display:grid}.goal-detail .wrap>*{min-width:0}.goal-detail .sec{margin-bottom:var(--s5)}.goal-detail .sec .eyebrow{margin-bottom:6px;display:block}.goal-detail .sec .sub{font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:var(--s2)}.goal-detail .mot,.goal-detail .step{align-items:center;gap:var(--s2);border-bottom:1px solid var(--line);padding:6px 0;display:flex}.goal-detail .mot .n{font-family:var(--serif);color:var(--brass);width:20px}.goal-detail .mot .grip{color:var(--ink-3);cursor:grab}.goal-detail .mot.drag{opacity:.4}.goal-detail .mot input,.goal-detail .step input.bare{flex:1;min-width:0}.goal-detail .step.done input.bare{color:var(--ink-3);text-decoration:line-through}.goal-detail .step .tick.blank{opacity:.3}.goal-detail .measure{grid-template-columns:80px 20px 80px 1fr;align-items:center;gap:6px;display:grid}.goal-detail .measure>*{min-width:0}.goal-detail .measure .of{text-align:center}.goal-detail .pbar{background:var(--bg-3);border-radius:4px;flex:1;height:8px;overflow:hidden}.goal-detail .pbar i{background:var(--moss);height:100%;display:block}.goal-detail input.perweek{width:70px}.goal-detail .stat{gap:var(--s4);display:flex}.goal-detail .stat div{text-align:center}.goal-detail .stat b{font-family:var(--serif);font-size:var(--fs-xl);font-weight:500;display:block}.goal-detail .stat span{font-size:var(--fs-xs);color:var(--ink-3)}.goal-detail .gridwrap{gap:6px;display:flex}.goal-detail .wd{font-family:var(--mono);color:var(--ink-3);flex:none;grid-template-rows:repeat(7,12px);gap:3px;font-size:9px;display:grid}.goal-detail .wd span{line-height:12px}.goal-detail .grid{grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:3px;min-width:0;display:grid;overflow-x:auto}.goal-detail .grid>*{background:var(--bg-3);border:0;border-radius:2px;width:12px;height:12px;padding:0;display:block}.goal-detail .grid>button:disabled{cursor:default}.goal-detail .grid>.off{background:var(--bg-2);opacity:.5}.goal-detail .grid>.done{background:var(--moss)}.goal-detail .grid>.missed{border:1px solid var(--line-2);background:0 0}.goal-detail .grid>.today{outline:1px solid var(--brass)}.goal-detail .grid>.a1{background:color-mix(in srgb, var(--moss) 40%, transparent)}.goal-detail .grid>.a2{background:color-mix(in srgb, var(--moss) 70%, transparent)}.goal-detail .grid>.a3{background:var(--moss)}.goal-detail .side .row .tick{pointer-events:none}.goal-detail .side>.btn{margin-top:var(--s2)}.modal textarea.prompt{font-family:var(--mono);font-size:var(--fs-sm)}@media (width<=719px){.goal-detail .wrap{grid-template-columns:minmax(0,1fr)}}.goals{width:100%;max-width:1100px;margin:0 auto;container-type:inline-size}.goals .warnline{margin-bottom:var(--s3)}.goals .wrap{gap:var(--s5);grid-template-columns:minmax(0,1fr) 260px;display:grid}@container (width<=860px){.goals .wrap{grid-template-columns:minmax(0,1fr)}.goals .side{gap:var(--s3);grid-template-columns:1fr 1fr 1fr;display:grid}}.grow{align-items:center;gap:var(--s3);padding:9px var(--s3);border-bottom:1px solid var(--line);grid-template-columns:24px 28px minmax(140px,1fr) 100px 110px 60px 80px 28px;display:grid}.grow:hover{background:var(--bg-3)}.grow.head{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.grow.add{grid-template-columns:24px 28px 1fr}.grow .rank{font-family:var(--serif);color:var(--ink-3);text-align:right}.grow .kind{font-size:var(--fs-xs);color:var(--ink-3)}.grow .t{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.grow.done .t{color:var(--ink-3);text-decoration:line-through}.grow .grip{color:var(--ink-3);cursor:grab;opacity:0}.grow:hover .grip{opacity:1}.grow.drag{opacity:.4}.grp{padding:10px var(--s3) 4px;font-family:var(--serif);color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--bg-2);gap:var(--s2);align-items:baseline;display:flex}.grp.empty{color:var(--ink-3);font-style:italic}.qc{font-family:var(--mono);font-size:var(--fs-xs);border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;padding:2px 8px}.qc.none{color:var(--ink-3);border-style:dashed}.qc.next{border-color:var(--brass);color:var(--brass)}.bar2{background:var(--bg-3);border-radius:2px;height:4px;overflow:hidden}.bar2 i{background:var(--moss);height:100%;display:block}.goals .side .card{margin-bottom:var(--s4)}.goals .side .row{padding:6px var(--s3);font-size:var(--fs-sm)}.goals .side .score{font-family:var(--mono);text-align:right;width:20px;color:var(--ember)}.goals .side .pick{margin-top:var(--s2)}.qcount{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.qcount div{text-align:center;background:var(--bg-2);border-radius:var(--r1);font-family:var(--mono);font-size:var(--fs-sm);padding:6px}.qcount div.over{color:var(--ember)}.qcount div.on{outline:1px solid var(--brass)}@media (width<=719px){.goals .side{grid-template-columns:1fr;display:grid}.grow{gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.grow .t,.grow input.bare{flex:60%;min-width:0}.grow .t{white-space:normal}.grow.head{display:none}.qcount{grid-template-columns:repeat(2,1fr)}}.projects{width:100%;max-width:960px;margin:0 auto}.projects .prow{gap:var(--s3);padding:9px var(--s3);border-bottom:1px solid var(--line);grid-template-columns:28px 28px 20px minmax(120px,1fr) 180px 150px 32px;align-items:center;display:grid}.projects .prow>*{min-width:0}.projects .prow:hover{background:var(--bg-3)}.projects .prow.head{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.projects .prow.add{grid-template-columns:28px 28px 20px 1fr}.projects .prow .grip{color:var(--ink-3);cursor:grab;opacity:0}.projects .prow:hover .grip{opacity:1}.projects .prow.drag{opacity:.4}.projects .prow .rank{font-family:var(--serif);color:var(--ink-3);text-align:right}.projects .prow input.bare{font-size:var(--fs-md)}.projects .prow.done input.bare{color:var(--ink-3);text-decoration:line-through}.projects .prow input[type=date]{background:var(--inset);border:1px solid var(--line);border-radius:var(--r1);font-size:var(--fs-sm);color:var(--ink-2);padding:3px 8px}.projects .prow .soon{color:var(--ember)}.projects .foot{margin-top:var(--s3)}@media (width<=719px){.projects .prow{gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.projects .prow input.bare{flex:60%}.projects .prow.head{display:none}}.week{flex:1;grid-template-columns:280px minmax(0,1fr);min-width:0;min-height:0;display:grid}.week .left{border-right:1px solid var(--line);padding:var(--s4);gap:var(--s4);background:var(--bg-1);order:-1;align-content:start;min-width:0;display:grid;overflow:auto}.week .main{padding:var(--s4);gap:var(--s4);align-content:start;min-width:0;display:grid;overflow:auto}.week .pagehead{margin-bottom:0}.b3top{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.b3top .card{min-width:0;padding:10px 12px}.b3top .card.drop{border-color:var(--brass);background:var(--brass-wash)}.cols{gap:var(--s2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.col{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r2);flex-direction:column;min-width:0;min-height:320px;display:flex}.col.today{border-color:var(--brass)}.col.drop{background:var(--brass-wash)}.col header{border-bottom:1px solid var(--line);align-items:baseline;gap:6px;padding:8px 10px;display:flex}.col header .d{font-family:var(--mono);color:var(--ink-2)}.col.today header .d{color:var(--brass)}.col header a{color:var(--ink-2);font-size:var(--fs-sm)}.col header a:hover{color:var(--ink)}.col .b3{border-bottom:1px solid var(--line);gap:4px;padding:6px 8px;display:grid}.mini{border-radius:var(--r1);background:var(--bg-2);font-size:var(--fs-sm);cursor:grab;align-items:center;gap:6px;padding:4px 6px;display:flex}.mini.empty{border:1px dashed var(--line-2);color:var(--ink-3);cursor:default;background:0 0}.mini .n{font-family:var(--serif);color:var(--brass);width:12px}.mini.empty .n{color:var(--ink-3)}.mini .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mini.done .t{color:var(--ink-3);text-decoration:line-through}.mini.ghost{opacity:.6;cursor:pointer}.mini .dot{background:var(--line-2);width:6px;height:6px}.mini .dot.serves{background:var(--brass)}.col .rest{flex:1;align-content:start;gap:3px;padding:6px 8px;display:grid}.col .add{border-top:1px solid var(--line);padding:6px 8px}.col .add input{font-size:var(--fs-sm)}.ov{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.selfcare{gap:var(--s2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.week .box{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r2);padding:var(--s3);font-size:var(--fs-sm);white-space:pre-wrap;min-width:0;min-height:60px}.week .box .label{margin-bottom:4px;display:block}.pool .hstack{margin-bottom:6px}.pool .row{cursor:grab}.pool .card.drop{background:var(--brass-wash)}.pool .dot.goal{background:var(--brass)}.pool .dot.proj{background:var(--sky)}@media (width<=719px){.week{display:block;overflow:auto}.week .main,.week .left{overflow:visible}.week .left{border-right:0;border-top:1px solid var(--line)}.cols,.selfcare{grid-template-columns:minmax(0,1fr)}.col{min-height:0}.col header{padding:10px 12px}.mini{padding:8px}.b3top,.ov{grid-template-columns:minmax(0,1fr)}}
