@font-face{font-family:Nunito;src:url(/fonts/nunito-var.woff2)format("woff2-variations");font-weight:200 1000;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Nunito;src:url(/fonts/nunito-var-ext.woff2)format("woff2-variations");font-weight:200 1000;font-display:swap;unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB}@font-face{font-family:"Baloo 2";src:url(/fonts/baloo2-var.woff2)format("woff2-variations");font-weight:400 800;font-display:swap}:root{--paper:#f7f4ee;--card:#fffdf9;--card-sunk:#f0ece3;--ink:#241f1a;--ink-soft:#5b5248;--ink-faint:#948a7d;--line:#e2dcd0;--accent:#2f6f6b;--accent-bg:#e2efed;--accent-warm:#b26a12;--accent-warm-bg:#fbeedb;--warn:#a4402c;--warn-bg:#fbe6e1;--good:#3d6b34;--good-bg:#e6f0e2;--shadow:0 1px 2px #241f1a0d, 0 6px 18px #241f1a0d;--control-h:44px;--gap-block:12px;--gap-tight:6px;--radius:16px;--radius-sm:12px;--radius-xs:8px;--font-display:"Baloo 2", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-ui:"Nunito", ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", monospace;--ease:cubic-bezier(.16, 1, .3, 1);--tabbar-h:46px;--dock-h:0px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#16130f;--card:#201c17;--card-sunk:#2a251f;--ink:#f2ece2;--ink-soft:#b8ada0;--ink-faint:#7e7367;--line:#332d26;--accent:#7fc9c2;--accent-bg:#1c2f2e;--accent-warm:#e8a94b;--accent-warm-bg:#322515;--warn:#e88b74;--warn-bg:#331e19;--good:#97c98a;--good-bg:#1e2a1b;--shadow:0 1px 2px #0000003d, 0 8px 24px #00000038}}*{box-sizing:border-box}html,body,#root{height:100%}body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}select option{background-color:var(--card);color:var(--ink)}:where(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}:where(button):active{transform:scale(.98)}.shell{max-width:620px;padding:0 16px calc(var(--dock-h) + var(--tabbar-h) + 24px + env(safe-area-inset-bottom));min-height:100%;margin:0 auto}.shell.with-fab{padding-bottom:calc(var(--dock-h) + var(--tabbar-h) + 88px + env(safe-area-inset-bottom))}.topbar{padding:calc(18px + env(safe-area-inset-top)) 0 10px}.greeting{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 4px;font-size:28px;font-weight:600;line-height:1.3}.datestamp{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:13.5px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 var(--gap-block);padding:17px 18px}.card-title{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:650}.meter-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.meter-big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:21px;font-weight:600}.meter-sub{color:var(--ink-faint);font-size:13px}.meter-track{background:var(--card-sunk);border-radius:999px;height:9px;display:flex;overflow:hidden}.meter-fill{height:100%}.meter-fill.filled{background:var(--cat-teal)}.meter-fill.over{background:var(--warn)}.note{border-radius:var(--radius);margin:0 0 var(--gap-block);border:1px solid #0000;padding:12px 14px}.note h4{letter-spacing:-.01em;margin:0 0 3px;font-size:15px;font-weight:650}.note p{color:var(--ink-soft);margin:0;font-size:14px}.note.warn{background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 22%, transparent)}.note.warn h4{color:var(--warn)}.note.info{background:var(--card-sunk);border-color:var(--line)}.note.good{background:var(--good-bg);border-color:color-mix(in srgb, var(--good) 22%, transparent)}.note.good h4{color:var(--good)}.note.offer{background:var(--card);border-color:color-mix(in srgb, var(--accent) 38%, transparent)}.note.offer h4{color:var(--accent)}.offer-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.offer-actions .btn{flex:none}.slot{align-items:center;gap:14px;display:flex}.slot-ring{font-variant-numeric:tabular-nums;width:54px;height:54px;color:var(--accent-warm);background:var(--accent-warm-bg);border:2px solid color-mix(in srgb, var(--accent-warm) 35%, transparent);border-radius:50%;flex:0 0 54px;place-items:center;font-size:13px;font-weight:700;display:grid}.slot-ring.met{background:var(--accent-warm);color:var(--card);border-color:var(--accent-warm)}.slot-copy{min-width:0}.slot-copy strong{font-size:15px;font-weight:650;display:block}.slot-copy span{color:var(--ink-soft);font-size:13px}.section-head{margin:var(--gap-block) 0 var(--gap-tight);align-items:center;gap:8px;display:flex}.section-head h2,.section-head h3{text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:13px;font-weight:700}.section-head .count{font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11.5px}.tasks{background:color-mix(in srgb, var(--card) 62%, transparent);border:1px solid color-mix(in srgb, var(--line) 55%, transparent);border-radius:var(--radius);margin:0;padding:2px 10px;list-style:none}.card .tasks{background:0 0;border:none;border-radius:0;padding:0}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 4px 8px 12px;display:flex;position:relative}.tasks>.task:last-child{border-bottom:none}.task.running{background:color-mix(in srgb, var(--accent) 11%, transparent);border-radius:var(--radius-sm)}.task.running .kind-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.task.done{opacity:.5}.card>.tasks>.task{padding-left:10px}.check{border:2px solid var(--line);width:24px;height:24px;color:var(--card);background:0 0;border-radius:50%;flex:0 0 24px;place-items:center;margin-top:1px;padding:0;transition:background .15s,border-color .15s;display:grid;position:relative}.check:after{content:"";position:absolute;inset:-10px}.check:hover{border-color:var(--ink-faint)}.check.on{background:var(--good);border-color:var(--good)}.check svg{display:block}.task-main{flex:auto;min-width:0}.task-title{text-align:left;width:100%;font:inherit;word-break:break-word;color:inherit;background:0 0;border:none;padding:5px 0;font-size:15px;line-height:1.35;display:block}.task.done .task-title{text-decoration:line-through}.task-title-input{border:none;border-bottom:1px solid var(--accent);background:0 0;outline:none;width:100%;padding:0 0 2px;font-size:15px}.chips{flex-wrap:wrap;gap:5px;display:flex}.task-actions{align-self:center}.task>.task-main>.chips{margin-top:4px}.task>.task-main>.chips:empty{display:none}.chip{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.05em;background:var(--card-sunk);color:var(--ink-faint);white-space:nowrap;border:none;border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:600}.chip.est{color:var(--ink-faint);background:0 0;padding-left:0}.task:hover .chip.est,.task:focus-within .chip.est{color:var(--ink-soft)}.chip.over{background:var(--warn-bg);color:var(--warn)}.chip.under{background:var(--good-bg);color:var(--good)}.chip.tappable{transition:color .16s var(--ease);position:relative}.chip.tappable:after{content:"";position:absolute;inset:-9px 0}.chip.tappable:hover{color:var(--ink)}.task-actions{flex:none;align-self:center;gap:2px;display:flex}.icon-btn.row-more{color:var(--ink-faint);opacity:.55;transition:opacity .16s var(--ease);font-size:17px;line-height:1}.task:hover .icon-btn.row-more,.task:focus-within .icon-btn.row-more{opacity:1}.task.selected{background:color-mix(in srgb, var(--card) 70%, transparent);border-radius:var(--radius-sm)}.task-main{cursor:default}.icon-btn{border-radius:var(--radius-sm);width:34px;min-width:34px;height:34px;color:var(--ink-faint);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--card-sunk);color:var(--ink)}.icon-btn.play{color:var(--accent)}.icon-btn.danger{color:var(--ink-faint)}.icon-btn.danger:hover{background:var(--warn-bg);color:var(--warn)}.empty{color:var(--ink-faint);margin:0;padding:10px 2px 4px;font-size:14px}.quickadd{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:8px;width:100%;max-width:588px;margin:0 auto;padding:8px 9px;display:flex}.qa-row{align-items:center;gap:7px;display:flex}.qa-row.secondary{border-top:1px solid var(--line);padding-top:2px}.quickadd input[type=text]{background:0 0;border:none;outline:none;flex:auto;min-width:0;padding:5px 4px;font-size:16px}.quickadd input[type=text]::placeholder{color:var(--ink-faint)}.quickadd input[type=number]{border:1px solid var(--line);background:var(--card-sunk);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;border-radius:8px;outline:none;flex:0 0 58px;width:58px;padding:5px 6px;font-size:13.5px}.quickadd input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quickadd input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.add-btn{background:var(--ink);color:var(--paper);border:none;border-radius:999px;flex:none;padding:7px 13px;font-size:14px;font-weight:650}.add-btn:disabled{opacity:.35;cursor:default}.dock{left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:20;pointer-events:none;background:var(--paper);flex-direction:column;gap:8px;padding:12px 16px 8px;display:flex;position:fixed}.dock:before{content:"";background:linear-gradient(to bottom, transparent, var(--paper));pointer-events:none;height:28px;position:absolute;bottom:100%;left:0;right:0}.dock>*{pointer-events:auto}.dock:empty{display:none}.timerbar{justify-content:center;display:flex}.toast-slot:empty{display:none}.toast{background:var(--ink);width:100%;max-width:588px;color:var(--paper);border-radius:var(--radius-sm);animation:reveal-up .22s var(--ease) both;align-items:center;gap:10px;margin:0 auto;padding:10px 10px 10px 14px;display:flex}.toast-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13.5px;overflow:hidden}.toast-action{border:1px solid color-mix(in srgb, var(--paper) 45%, transparent);color:var(--paper);border-radius:var(--radius-xs);background:0 0;flex:none;padding:6px 12px;font-size:13px;font-weight:650}.timerbar-inner{background:var(--accent);color:#fff;border-radius:var(--radius);align-items:center;gap:11px;width:100%;max-width:588px;padding:10px 12px;display:flex;box-shadow:0 8px 24px #00000038}.timer-main{flex-direction:column;flex:auto;gap:5px;min-width:0;display:flex}.timer-line{align-items:center;gap:8px;min-width:0;display:flex}.timer-task-name{opacity:.92;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;overflow:hidden}.timer-of{font-family:var(--font-mono);font-variant-numeric:tabular-nums;opacity:.85;flex:none;font-size:10.5px}.timer-track{background:#ffffff38;border-radius:999px;flex:auto;min-width:0;height:4px;display:flex;overflow:hidden}.timer-fill{background:#fff;height:100%;transition:width .7s linear}.timer-fill.over{background:var(--warn)}.timerbar-inner.over{background:color-mix(in srgb, var(--warn) 62%, var(--accent))}.timer-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:none;font-size:19px;font-weight:600}.timer-task{opacity:.92;flex:auto;min-width:0;font-size:13.5px}.timer-task span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.timer-ask{font-size:13px;font-weight:620}.timer-btn{color:#fff;background:#ffffff24;border:1px solid #ffffff73;border-radius:999px;flex:none;padding:6px 11px;font-size:13px;font-weight:650}.timer-btn.icon{place-items:center;width:34px;height:32px;padding:0;display:grid}.timer-btn.solid{color:var(--accent);background:#fff;border-color:#fff}.tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:2px;max-width:520px;margin:0 auto;padding:0 8px;display:flex;position:fixed;box-shadow:0 1px 2px #00000014,0 10px 30px #0000002e}.tabbar button{min-width:0;min-height:44px;color:var(--ink-faint);transition:color .18s var(--ease);background:0 0;border:none;flex:1;justify-content:center;align-self:stretch;align-items:center;padding:0;display:flex}.tab-ind{width:100%;max-width:56px;height:34px;transition:background .2s var(--ease);background:0 0;border-radius:999px;place-items:center;display:grid}.tabbar button svg{width:20px;height:20px}.tabbar button.on{color:var(--ink)}.tabbar button.on .tab-ind{background:color-mix(in srgb, var(--accent) 26%, transparent)}.tabbar button.on svg{stroke-width:2.1px}.tabbar button:active .tab-ind{transform:scale(.94)}.fab{right:16px;bottom:calc(var(--tabbar-h) + var(--dock-h) + 22px + env(safe-area-inset-bottom));z-index:25;border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 90%, var(--paper));width:50px;height:50px;color:var(--paper);box-shadow:0 2px 6px color-mix(in srgb, var(--accent) 22%, transparent), 0 8px 22px #00000038;transition:transform .16s var(--ease), box-shadow .16s var(--ease);border-radius:999px;place-items:center;display:grid;position:fixed}.fab svg{stroke-width:2.3px;width:22px;height:22px}.fab:active{box-shadow:0 1px 3px color-mix(in srgb, var(--accent) 26%, transparent);transform:scale(.93)}.stat-grid{margin-bottom:var(--gap-block);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px}.stat .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:24px;font-weight:600;line-height:1.15}.stat .lbl{color:var(--ink-faint);margin-top:3px;font-size:12px}.stat .val.warn{color:var(--warn)}.stat .val.good{color:var(--good)}.bars{align-items:flex-end;gap:4px;height:110px;margin:4px 0 6px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;gap:2px;height:100%;display:flex}.bar{min-height:2px}.bar-col>.bar:first-child{border-radius:3px 3px 0 0}.bar-col>.bar:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.bar.work{background:var(--accent)}.bar.personal{background:var(--accent-warm);border-radius:0 0 3px 3px}.bar-empty{background:var(--card-sunk);border-radius:3px;flex:1;align-self:flex-end;height:3px}.bar-axis{color:var(--ink-faint);font-variant-numeric:tabular-nums;gap:4px;font-size:9.5px;display:flex}.bar-axis span{text-align:center;flex:1}.legend{color:var(--ink-soft);gap:14px;margin-top:8px;font-size:12px;display:flex}.legend i{border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.legend i.work{background:var(--accent)}.legend i.personal{background:var(--accent-warm)}.field{margin-bottom:14px}.field label{margin-bottom:5px;font-size:13px;font-weight:620;display:block}.hint{color:var(--ink-faint);margin:4px 0 0;font-size:12.5px;line-height:1.5}.field .row{align-items:center;gap:8px;display:flex}.field .row .unit{color:var(--ink-faint);flex:none;font-size:13.5px}.field .row input{flex:auto;min-width:0}.field input[type=text],.field input[type=number]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-sunk);outline:none;width:100%;padding:9px 11px;font-size:15px}.field input:focus{border-color:var(--accent)}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--card-sunk);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:620}.btn:hover{border-color:var(--ink-faint)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.ghost{background:0 0}.btn.danger{color:var(--warn)}.status{color:var(--ink-soft);margin:9px 0 0;font-size:13px}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:40px;font-weight:600;line-height:1.25}.slogan{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent-warm);margin:0 0 20px;font-size:10.5px;font-weight:600}.signature{text-align:center;opacity:.75;padding:22px 0 10px}.signature .wordmark{margin-bottom:4px;font-size:26px}.signature .slogan{margin-bottom:8px}.signature .hint{margin:0}.onboard{place-items:center;min-height:100%;padding:24px;display:grid}.onboard-inner{text-align:center;width:100%;max-width:380px}.onboard h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:40px;font-weight:600;line-height:1.25}.onboard p{color:var(--ink-soft);margin:0 0 20px;font-size:15px}.onboard input{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);outline:none;width:100%;margin-bottom:12px;padding:12px;font-size:17px}.onboard input:focus{border-color:var(--accent-warm)}.crumbs{margin:0 0 var(--gap-block);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.crumbs button{background:var(--card-sunk);color:var(--ink-soft);border:none;border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:620}.crumbs button.on{background:var(--ink);color:var(--paper)}.crumbs .sep{color:var(--ink-faint);font-size:13px}.period-bar{margin:0 0 var(--gap-block);align-items:center;gap:4px;display:flex}.period-bar .icon-btn{border:1px solid var(--line);background:var(--card);font-size:21px;line-height:1}.period-title{text-align:center;flex:auto;min-width:0}.period-title strong{letter-spacing:-.01em;font-size:16px;font-weight:650}.today-jump{padding:6px 11px;font-size:12.5px}.goals{margin:0 0 4px;padding:0;list-style:none}.goal{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:11px;padding:9px 0;display:flex}.goal:first-child{border-top:none;padding-top:2px}.goal.done{opacity:.55}.goal-main{flex:1 1 0;min-width:0}.goal-title{text-align:left;width:100%;font:inherit;word-break:break-word;color:inherit;background:0 0;border:none;padding:0;font-size:15px;font-weight:560;line-height:1.35;display:block}.goal.done .goal-title{text-decoration:line-through}.kind-dot{vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.goal-meter{background:var(--card-sunk);border-radius:999px;height:5px;margin:7px 0 2px;overflow:hidden}.goal-meter-fill{transform-origin:0;width:100%;height:100%;transition:transform .35s var(--ease)}.parent-select,.goal-chip-select{appearance:none;background:var(--card-sunk);color:var(--ink-soft);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;border:none;border-radius:999px;max-width:100%;margin-top:6px;padding:3px 7px;font-size:10.5px;font-weight:600;overflow:hidden}.goal-chip-select{margin-top:0}.parent-select.inline{flex:90px;min-width:0;margin-top:0}.goal-add{border-top:1px solid var(--line);margin-top:4px;padding-top:10px}.goal-add>input[type=text]{background:0 0;border:none;outline:none;width:100%;padding:2px 0 8px;font-size:15px}.goal-add>input[type=text]::placeholder{color:var(--ink-faint)}.goal-add-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.goal-add-row .add-btn{margin-left:auto}.goal-add-row .mins{border:1px solid var(--line);background:var(--card-sunk);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;border-radius:8px;outline:none;flex:0 0 56px;width:56px;padding:5px 6px;font-size:13.5px}.goal-add-row .mins::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.goal-add-row .mins::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.month{margin-bottom:var(--gap-block)}.month-head,.month-row{grid-template-columns:26px repeat(7,minmax(0,1fr));gap:3px;display:grid}.month-head{margin-bottom:var(--gap-tight)}.month-row{margin-bottom:3px}.weekday{text-align:center;letter-spacing:.04em;color:var(--ink-faint);font-size:10.5px;font-weight:700}.week-gutter{color:var(--ink-faint);background:0 0;border:none;border-radius:6px;place-items:center;padding:0;font-size:9.5px;font-weight:700;display:grid}.week-gutter.tappable:hover{background:var(--card-sunk);color:var(--ink)}.goal-pip{border:1px solid var(--accent-warm);border-radius:50%;width:5px;height:5px}.goal-pip.done{background:var(--accent-warm)}.weekstrip{margin:0 0 var(--gap-block);padding:0;list-style:none}.weekstrip li:last-child .weekrow{margin-bottom:0}.weekrow{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;width:100%;margin-bottom:7px;padding:11px 12px;display:flex}.weekrow:hover{border-color:var(--ink-faint)}.weekrow.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.weekrow.quiet{opacity:.55}.weekrow-day{flex:0 0 96px;align-items:baseline;gap:7px;display:flex}.weekrow-day strong{font-size:14.5px;font-weight:620}.weekrow-day span{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px}.weekrow-meta{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:5px;display:flex}.day-add{margin-top:var(--gap-block)}.sheet-input,.day-add>input[type=text]{border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;margin-bottom:10px;padding:2px 0 9px;font-size:16px}.day-add>input[type=text]::placeholder{color:var(--ink-faint)}@media (width<=379px){.tabbar button{font-size:9.5px}}:root{--cat-teal:#2f6f6b;--cat-amber:#b26a12;--cat-violet:#6b4b9a;--cat-rose:#a63d5e;--cat-green:#3d6b34;--cat-blue:#2e5c8a;--cat-clay:#9a5433;--cat-slate:#4a5560}@media (prefers-color-scheme:dark){:root{--cat-teal:#7fc9c2;--cat-amber:#e8a94b;--cat-violet:#b79ae8;--cat-rose:#eb92ae;--cat-green:#97c98a;--cat-blue:#8fb8e0;--cat-clay:#dda17a;--cat-slate:#a4b2be}}.cat-chips{scrollbar-width:none;flex:auto;gap:5px;min-width:0;margin:0 -1px;padding:1px;display:flex;overflow-x:auto}.cat-chips::-webkit-scrollbar{display:none}.cat-chip{border:1px solid var(--line);background:var(--card-sunk);color:var(--ink-soft);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;font-weight:620;display:inline-flex}.cat-chip i{background:var(--chip-color,var(--ink-faint));border-radius:50%;flex:0 0 7px;width:7px;height:7px}.cat-chip.on{background:var(--chip-color);border-color:var(--chip-color);color:var(--paper)}.cat-chip.on i{background:var(--paper);opacity:.8}.cat-select{appearance:none;background:var(--card-sunk);color:var(--chip-color,var(--ink-soft));font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;border:none;border-radius:999px;max-width:120px;padding:3px 7px;font-size:10.5px;font-weight:600}.targets{flex-direction:column;gap:9px;display:flex}.target-row{align-items:center;gap:11px;display:flex}.target-ring{width:46px;height:46px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ring-color);background:color-mix(in srgb, var(--ring-color) 14%, transparent);border:2px solid color-mix(in srgb, var(--ring-color) 38%, transparent);border-radius:50%;flex:0 0 46px;place-items:center;font-size:11.5px;font-weight:600;display:grid}.target-ring.met{background:var(--ring-color);border-color:var(--ring-color);color:var(--paper)}.target-copy{flex:auto;min-width:0}.target-copy strong{font-size:14.5px;font-weight:620;display:block}.target-copy span{color:var(--ink-soft);font-size:12.5px}.cat-admin{margin:0 0 12px;padding:0;list-style:none}.cat-admin li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;padding:10px 0;display:flex}.cat-admin li:first-child{border-top:none}.cat-admin .name{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-sunk);outline:none;flex:110px;min-width:0;padding:7px 10px;font-size:14.5px}.cat-admin .target{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-sunk);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;outline:none;flex:0 0 62px;width:62px;padding:7px 6px;font-size:13.5px}.cat-admin .target::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cat-admin .target::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cat-admin .unit{color:var(--ink-faint);font-size:11.5px}.cat-admin li.paused{opacity:.55}.routine-main{flex-direction:column;flex:130px;gap:2px;min-width:0;display:flex}.routine-main strong{font-size:14.5px;font-weight:620}.routine-main .hint{margin:0}.btn.ghost.danger{color:var(--warn)}.swatches{flex:auto;gap:4px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.swatch.on{border-color:var(--ink)}.split-row{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.split-name{align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.split-name i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.split-val{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.split-val em{color:var(--ink-faint);margin-left:7px;font-style:normal}.week-gutter.has-goals{color:var(--ink);font-weight:800}.week-gutter.has-goals:after{content:"";background:var(--cat-amber);border-radius:50%;width:4px;height:4px;margin-top:2px;display:block}@keyframes reveal-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal[data-revealed]{animation:reveal-up .38s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms)}.card,.note,.weekrow,.heat-cell,.cat-chip,.btn,.add-btn{transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal[data-revealed]{opacity:1;animation:none}:where(button):active{transform:none}}.timeline{margin:0 0 var(--gap-block);flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.tl-gutter{flex:0 0 30px;width:30px;padding-top:0}.tl-hour-label{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:10.5px;line-height:1;transform:translateY(-5px)}.tl-grid{border-top:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:2px;flex:auto;min-width:0;position:relative}.tl-hour{border-bottom:1px solid var(--line);position:relative}.tl-half{border-top:1px dashed color-mix(in srgb, var(--line) 65%, transparent);position:absolute;top:50%;left:0;right:0}.tl-now{border-top:2px solid var(--accent-warm);z-index:3;pointer-events:none;height:0;position:absolute;left:-4px;right:0}.tl-now:before{content:"";background:var(--accent-warm);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.tl-block{z-index:2;border-radius:var(--radius-xs);background:color-mix(in srgb, var(--block-color) 17%, var(--card));border:1px solid color-mix(in srgb, var(--block-color) 42%, transparent);flex-direction:column;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.tl-block.done{opacity:.5}.tl-block.editing{z-index:8;overflow:visible}.tl-block.selected{z-index:4;box-shadow:0 0 0 2px color-mix(in srgb, var(--block-color) 45%, transparent)}.tl-block-face{text-align:left;background:0 0;border:none;flex-direction:column;flex:auto;justify-content:flex-start;gap:1px;min-height:0;padding:4px 7px;display:flex;overflow:hidden}.tl-block-title{cursor:text;color:color-mix(in srgb, var(--block-color) 62%, var(--ink));text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:620;line-height:1.2;overflow:hidden}.tl-block.done .tl-block-title{text-decoration:line-through}.tl-block-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:10px}.tl-block.compact .tl-block-face{justify-content:center;padding:2px 7px}.tl-popover{z-index:7;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;gap:5px;padding:7px 8px;display:flex;position:absolute;left:2px;right:2px;box-shadow:0 6px 20px #0000003d}.tl-popover button{border:1px solid var(--line);background:var(--card-sunk);width:36px;height:32px;color:var(--ink-soft);border-radius:var(--radius-xs);place-items:center;padding:0;display:grid}.tl-popover button:hover{color:var(--ink);border-color:var(--ink-faint);border-color:var(--ink-faint)}.tl-draft{z-index:5;border-radius:var(--radius-xs);background:color-mix(in srgb, var(--accent) 22%, transparent);border:1px dashed var(--accent);pointer-events:none;place-items:center;display:grid;position:absolute;left:2px;right:2px}.tl-draft span{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.tl-draft.committed{background:color-mix(in srgb, var(--accent) 14%, transparent);z-index:6;border-style:solid}.tl-composer{z-index:8;background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--radius-sm);scroll-margin-bottom:calc(var(--dock-h) + var(--tabbar-h) + 20px + env(safe-area-inset-bottom));padding:10px;scroll-margin-top:12px;position:absolute;left:2px;right:2px;box-shadow:0 8px 24px #0000004d}.tl-composer .composer-when{margin-bottom:8px}.tl-composer .sheet-input{width:100%;margin-bottom:8px;padding:6px 0;font-size:14.5px}.tl-composer .goal-add-row{gap:6px}.tl-composer .parent-select.inline{max-width:108px}.tl-hint{color:var(--ink-faint);flex:100%;margin:8px 0 0;font-size:11.5px}.tl-range{margin:0 0 var(--gap-block);justify-content:center;display:flex}.free-head{margin:var(--gap-block) 0 var(--gap-tight);align-items:baseline;gap:8px;display:flex}.free-head h2{text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:13px;font-weight:700}.sheet-scrim{z-index:60;background:color-mix(in srgb, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:588px;max-height:88vh;padding:20px 18px calc(18px + env(safe-area-inset-bottom));animation:reveal-up .26s var(--ease) both;overflow-y:auto;box-shadow:0 -2px 40px #0000002e}.sheet h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:600;line-height:1.2}.sheet .sheet-sub{color:var(--ink-soft);margin:0 0 16px;font-size:13.5px}.sheet-step{border-top:1px solid var(--line);padding:14px 0}.sheet-step:first-of-type{border-top:none;padding-top:0}.sheet-step h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin:0 0 8px;font-size:12px;font-weight:700}.sheet-actions{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:flex}.sheet-actions .btn{text-align:center;flex:auto}.carry-list{margin:0;padding:0;list-style:none}.carry-list li{align-items:center;gap:9px;padding:7px 0;font-size:14px;display:flex}.carry-list .chip{margin-left:auto}.goal-side{flex:none;gap:2px;display:flex}.goal-side .icon-btn{font-size:17px;line-height:1}.goal-details{background:var(--card-sunk);border-radius:var(--radius-sm);flex-direction:column;flex:100%;gap:9px;width:100%;min-width:0;margin:8px 0 2px 35px;padding:10px 12px;display:flex}.gd-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gd-row>span:first-child{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);flex:0 0 44px;font-size:11px;font-weight:700}.gd-row input[type=number]{text-align:center;flex:0 0 62px;width:62px}.gd-row input[type=text]{flex:80px;min-width:0}.gd-row input[type=time]{flex:116px;min-width:0}.gd-row input{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--card);font-variant-numeric:tabular-nums;outline:none;padding:6px 8px;font-size:13.5px}.gd-row input:focus{border-color:var(--accent)}.cat-admin li.routine{flex-flow:column;align-items:stretch;gap:6px;padding:9px 0}.rt-head{align-items:center;gap:8px;display:flex}.rt-head .routine-main{flex:auto}.gd-days{flex:none;gap:3px;display:flex}.gd-day{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-xs);width:32px;height:24px;color:var(--ink-faint);flex:0 0 32px;font-size:11.5px;font-weight:650}.gd-day.on{background:color-mix(in srgb, var(--ink) 15%, transparent);color:var(--ink);border-color:color-mix(in srgb, var(--ink) 32%, transparent)}.tl-block{touch-action:none;cursor:grab}.tl-block.dragging{cursor:grabbing;z-index:6;box-shadow:0 6px 18px #00000047}.tl-block.done{cursor:default}.tl-resize{z-index:2;cursor:ns-resize;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;left:0;right:0}.tl-resize.top{top:-2px}.tl-resize.bottom{bottom:-2px}.tl-resize:after{content:"";background:color-mix(in srgb, var(--block-color) 70%, transparent);opacity:0;width:26px;height:3px;transition:opacity .16s var(--ease);border-radius:999px}.tl-block:hover .tl-resize:after,.tl-block.selected .tl-resize:after,.tl-block.dragging .tl-resize:after{opacity:1}.tl-title-input{z-index:9;width:auto;height:24px;color:var(--ink);background:var(--card);border:1px solid var(--block-color);border-radius:var(--radius-xs);outline:none;padding:2px 5px;font-family:inherit;font-size:12.5px;font-weight:620;position:absolute;top:calc(50% - 12px);left:2px;right:2px}.tl-popover button.danger{color:var(--warn)}:root{--dot:#241f1a0e;--glyph:#241f1a13}@media (prefers-color-scheme:dark){:root{--dot:#f2ece20b;--glyph:#f2ece210}}body{background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.2px);background-position:-1px -1px;background-size:22px 22px;background-attachment:fixed}.backdrop{z-index:0;pointer-events:none;color:var(--glyph);position:fixed;inset:0;overflow:hidden}.shell,.onboard{z-index:1;position:relative}.bd-glyph{display:block;position:absolute}@media (width<=439px){.bd-glyph{scale:.78}}.done-fold{border-top:1px solid var(--line);padding:6px 0 6px 12px;display:flex}.tasks>.done-fold:first-child{border-top:none}.done-fold button{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);background:0 0;border:none;padding:2px 0;font-size:10.5px;font-weight:600}.done-fold button:hover{color:var(--ink-soft)}.nowcard{border:1px solid color-mix(in srgb, var(--now-color) 26%, var(--line));border-radius:var(--radius);background:var(--card);align-items:center;gap:12px;margin:0 0 16px;padding:12px 12px 12px 15px;display:flex;position:relative;overflow:hidden}.nowcard-wash{background:linear-gradient(to right, color-mix(in srgb, var(--now-color) 15%, transparent), transparent);pointer-events:none;transition:width .9s linear;position:absolute;inset:0 auto 0 0}.nowcard-bar{background:color-mix(in srgb, var(--now-color) 14%, transparent);pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}.nowcard-bar>span{background:var(--now-color);border-radius:0 999px 999px 0;height:100%;transition:width .9s linear;display:block}.nowcard-body{flex:auto;min-width:0;position:relative}.nowcard-kicker{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 1px;display:flex}.nowcard-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--now-color);font-size:9.5px;font-weight:700}.nowcard-when{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);background:0 0;border:none;padding:0;font-size:10.5px}.nowcard-when:hover{color:var(--ink-soft)}.nowcard-title{font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:600;line-height:1.2;overflow:hidden}.nowcard-actions{flex:none;align-items:center;gap:6px;display:flex;position:relative}.nowcard-go,.nowcard-done{border-radius:14px;place-items:center;width:38px;height:38px;padding:0;display:grid}.nowcard-go{background:var(--now-color);color:var(--paper);border:none}.nowcard-done{border:1px solid var(--line);background:var(--card-sunk);color:var(--ink-soft)}.nowcard-done:hover{color:var(--ink);border-color:var(--ink-faint)}.nowcard-go svg{width:18px;height:18px}.nowcard-done svg{width:15px;height:15px}.nowcard-live-dot{background:var(--now-color);border-radius:50%;width:9px;height:9px;margin:0 6px}.daystrip{margin:0 0 var(--gap-block);padding:0 2px}.ds-line{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.ds-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:17px;font-weight:600}.ds-figure em{color:var(--ink-faint);font-style:normal;font-weight:500}.ds-note{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11.5px}.ds-track{background:var(--card-sunk);border-radius:999px;height:4px;display:flex;overflow:hidden}.ds-fill{background:var(--accent);height:100%}.ds-fill.over{background:var(--warn)}.ds-targets{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.ds-target{color:var(--ink-soft);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.ds-target b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:10.5px;font-weight:600}.ds-target.met b{color:var(--t-color)}.ds-target i{background:conic-gradient(var(--t-color) var(--p), color-mix(in srgb, var(--t-color) 20%, transparent) 0);border-radius:50%;flex:0 0 11px;width:11px;height:11px}.sheet.add-sheet{padding-top:16px}.add-sheet .sheet-input{border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;margin-bottom:12px;padding:4px 2px 12px;font-size:17px}.add-sheet .sheet-input::placeholder{color:var(--ink-faint)}.add-sheet .sheet-actions{margin-top:14px}.composer-when{align-items:center;gap:8px;margin-bottom:12px;display:flex}.composer-when input[type=time]{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--card-sunk);min-width:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;outline:none;flex:1 1 0;padding:5px 7px;font-size:13px}.composer-when input[type=time]:focus{border-color:var(--accent)}.composer-dash{color:var(--ink-faint)}.composer-len{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-left:auto;font-size:10.5px;font-weight:600}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;overflow:hidden}.seg button{border:none;border-right:1px solid var(--line);min-width:0;color:var(--ink-soft);white-space:nowrap;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;flex:1 1 0;padding:9px 4px;font-size:13px;font-weight:620}.seg button:last-child{border-right:none}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--ink);color:var(--paper)}.ask-time{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;padding-top:7px;display:flex}.ask-time-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:10.5px;font-weight:600}.ask-time .chip{border:1px solid var(--line);background:var(--card-sunk);color:var(--ink-soft)}.ask-time .chip:hover{border-color:var(--accent);color:var(--ink)}.ask-time-skip{margin-left:auto}.review-count{color:var(--ink-soft);margin:0;font-size:15px}.review-count strong{color:var(--ink);font-weight:650}.review-list{margin:0 0 10px;padding:0;list-style:none}.review-list li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:7px 0;display:flex}.review-list li:first-child{border-top:none}.review-list.compact li{padding:5px 0}.review-name{flex:140px;align-items:center;gap:7px;min-width:0;font-size:14.5px;display:flex}.review-picks{flex-wrap:wrap;gap:4px;display:flex}.review-picks .chip{border:1px solid var(--line);background:var(--card-sunk);color:var(--ink-soft)}.review-picks .chip:hover{border-color:var(--accent);color:var(--ink)}.review-takeaway{border-radius:var(--radius-sm);background:var(--card-sunk);color:var(--ink);border-left:none;margin:0;padding:10px 12px;font-size:14.5px;line-height:1.45}.chip.suggest{color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, transparent);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent)}.chip.suggest:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.digest-dates{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);margin:-4px 0 8px;font-size:11px}.digest-head{color:var(--ink-soft);margin:0 0 8px;font-size:15px}.digest-head strong{color:var(--ink);font-weight:650}.digest-up{color:var(--good);margin:0 0 8px;font-size:13.5px;font-weight:620}.digest-bars{flex-direction:column;gap:7px;margin-top:10px;display:flex}.digest-row{align-items:center;gap:9px;display:flex}.digest-name{color:var(--ink-soft);flex:0 0 96px;align-items:center;gap:6px;min-width:0;font-size:13.5px;display:flex}.digest-track{background:var(--card-sunk);border-radius:999px;flex:auto;min-width:0;height:6px;overflow:hidden}.digest-fill{border-radius:999px;height:100%;display:block}.digest-min{font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.milestones{margin:0;padding:0;list-style:none}.milestones li{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:8px 0;display:flex}.milestones li:first-child{border-top:none}.milestones strong{font-size:14.5px;font-weight:650}.milestones .hint{margin:0}.milestone-note h4{font-size:16px}.heat-head{align-items:center;gap:8px;margin:8px 0 2px;display:flex}.heat-nav{align-items:center;gap:2px;display:flex}.heat-summary{font-size:14px;margin:0 0 0 auto!important}.heat-nav .icon-btn{width:30px;min-width:30px;height:30px;font-size:18px;line-height:1}.heat-nav .icon-btn:disabled{opacity:.3}.heat-month{text-align:center;min-width:62px;font-size:13px;font-weight:620}.heat-grid{flex-direction:column;gap:4px;margin-top:10px;display:flex}.heat-row{gap:4px;display:flex}.month-row{align-items:stretch;gap:4px;margin-bottom:4px;display:flex}.month-head{margin-bottom:var(--gap-tight);gap:4px;display:flex}.month-head .weekday{text-align:center;font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.04em;flex:1 1 0;font-size:10px}.heat-cell .goal-pip{border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.heat-cell.outside{opacity:.35}.heat-weekday{text-align:center;font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.04em;flex:1 1 0;font-size:10px}.heat-cell{aspect-ratio:1;border-radius:var(--radius-xs);font-variant-numeric:tabular-nums;min-width:0;color:var(--ink);border:none;flex:1 1 0;place-items:center;padding:0;font-size:12px;font-weight:600;display:grid;position:relative}button.heat-cell{cursor:pointer}.heat-num{line-height:1}.heat-cell.pad{background:0 0}.heat-cell.blank{background:color-mix(in srgb, var(--ink) 5%, transparent);color:var(--ink-faint)}.heat-cell.future{color:color-mix(in srgb, var(--ink) 18%, transparent);background:0 0}.heat-cell.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.heat-swatch{border-radius:3px;flex:none;width:11px;height:11px;display:block}.actgrid-key{flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;display:flex}.actgrid-key .hint{margin:0;font-size:11.5px}.actgrid-note{margin-left:auto!important}.routine-list{margin:0 0 14px;padding:0;list-style:none}.routine-list li{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.routine-list li:first-child{border-top:none}.routine-list li.paused{opacity:.55}.rt-foot{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.rt-next{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-right:auto;font-size:10.5px;font-weight:600}.rt-new{border-top:1px solid var(--line);padding-top:12px}.rt-new .sheet-input{width:100%;margin-bottom:10px}.rt-new .cat-chips{margin-bottom:10px}.rt-presets{margin-bottom:8px}.rt-presets button{padding:8px 4px;font-size:12.5px}.rt-custom-toggle{border:1px solid var(--line);margin-bottom:10px;padding:5px 10px}.rt-custom{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-sunk);flex-direction:column;gap:9px;margin-bottom:10px;padding:10px;display:flex}.rt-custom .gd-row>span:first-child{flex:none;min-width:42px}.rt-custom input[type=number]{text-align:center;flex:0 0 58px;width:58px}.rt-summary{color:var(--ink);margin:0 0 3px;font-size:14.5px;font-weight:620}.rt-preview{color:var(--ink-faint);margin:0 0 12px;font-size:13px}.rt-preview.warn{color:var(--warn)}.crumbs .crumb-asides{gap:5px;margin-left:auto;display:flex}.crumbs .crumb-aside{border:1px solid var(--line)}.card.verdict{border-color:color-mix(in srgb, var(--ink) 16%, transparent);background:var(--card-sunk)}.verdict-line{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;font-size:20px;font-weight:600;line-height:1.25}.verdict-action{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.45}.stat strong.warn{color:var(--warn)}.set-group{font-family:var(--font-display);letter-spacing:-.01em;margin:22px 0 var(--gap-tight);color:var(--ink);font-size:19px;font-weight:600}.set-group:first-of-type{margin-top:4px}.set-group-note{margin:-4px 0 var(--gap-block);color:var(--ink-faint);max-width:54ch;font-size:13.5px}.settings-card input[type=text],.settings-card input[type=number],.settings-card select,.settings-card .btn,.settings-card .add-btn{min-height:var(--control-h)}.settings-card .btn,.settings-card .add-btn{align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}.settings-card .icon-btn{width:var(--control-h);height:var(--control-h);min-width:var(--control-h)}.btn.destructive{border-color:color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn)}.btn.destructive:hover{background:var(--warn-bg);border-color:var(--warn)}.rm-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rm-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.rm-card.on{border-color:color-mix(in srgb, var(--accent) 34%, transparent)}.rm-head{text-align:left;background:0 0;border:none;flex-direction:column;gap:3px;width:100%;padding:14px 15px;display:flex}.rm-title{color:var(--ink);font-size:16px;font-weight:650}.rm-blurb{color:var(--ink-soft);font-size:13.5px}.rm-meta{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:2px;font-size:10.5px}.rm-track{background:var(--card-sunk);border-radius:999px;height:3px;margin-top:7px;display:block;overflow:hidden}.rm-track i{background:var(--accent);border-radius:999px;height:100%;display:block}.rm-body{border-top:1px solid var(--line);padding:0 15px 15px}.rm-why{color:var(--ink-soft);max-width:56ch;margin:12px 0;font-size:14.5px;line-height:1.5}.rm-steps{flex-direction:column;gap:16px;margin:0 0 14px;padding-left:0;list-style:none;display:flex}.rm-steps>li{flex-direction:column;gap:4px;display:flex}.rm-step-title{color:var(--ink);margin:0;font-size:14.5px;font-weight:640}.rm-step-sum{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.45}.rm-sittings{flex-direction:column;gap:5px;margin:6px 0 0;padding:0;list-style:none;display:flex}.rm-sitting{border-radius:var(--radius-xs);background:var(--card-sunk);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:8px 10px;display:flex}.rm-sitting>label,.rm-sitting>.rm-sitting-line{cursor:pointer;min-width:0;color:var(--ink);flex:100%;align-items:center;gap:9px;font-size:14px;display:flex}.rm-sitting>.rm-sitting-line{cursor:default}.rm-sitting input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex:none;margin:0}.rm-sitting input:disabled{cursor:default}.rm-sitting-title{flex:auto;min-width:0}.rm-sitting-min{font-family:var(--font-mono);color:var(--ink-faint);flex:none;font-size:11px}.rm-sitting-done{color:var(--ink-faint);flex:100%;padding-left:26px;font-size:12.5px;line-height:1.4}.rm-sitting.added{opacity:.72}.rm-sitting.done .rm-sitting-title{color:var(--ink-faint);text-decoration:line-through}.rm-tag{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-left:26px;font-size:10px}.rm-track,.rm-bar{background:var(--card-sunk);border-radius:999px;height:3px;margin-top:7px;display:block;overflow:hidden}.rm-track i,.rm-bar i{background:var(--accent);border-radius:999px;height:100%;display:block}.rm-pace{color:var(--ink-soft);margin:0;padding:0 15px 13px;font-size:13px;line-height:1.45}.rm-start{flex-direction:column;gap:10px;display:flex}.rm-start-q{color:var(--ink);margin:0;font-size:13.5px;font-weight:620}.rm-pick{flex-direction:column;gap:10px;display:flex}.rm-pick-count{color:var(--ink-faint);margin:0;font-size:13px}.rm-res{flex-wrap:wrap;gap:8px;margin:3px 0 0;padding:0;list-style:none;display:flex}.rm-res a,.rm-res span{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent);font-size:12px;text-decoration:none}.rm-res a:hover{border-bottom-color:var(--accent)}.rm-form{flex-direction:column;display:flex}.rm-form>label{margin-bottom:6px;font-size:13px;font-weight:620}.rm-promise{border-radius:var(--radius-sm);background:var(--card-sunk);color:var(--ink-soft);margin:12px 0;padding:10px 12px;font-size:13.5px;line-height:1.45}.rm-eta{color:var(--ink-soft);border-radius:var(--radius-sm);background:var(--card-sunk);margin:0 0 12px;padding:9px 11px;font-size:13.5px}.rm-step-min{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);font-size:10.5px}.rm-warn{border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid color-mix(in srgb, var(--warn) 24%, transparent);color:var(--ink-soft);margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45}.rm-promise strong{color:var(--ink);margin-top:6px;display:block}.rm-confirm{border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid color-mix(in srgb, var(--warn) 24%, transparent);padding:11px 12px}.rm-confirm p{color:var(--ink-soft);margin:0 0 10px;font-size:13.5px;line-height:1.45}.rm-editor-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.rm-editor-head .icon-btn{margin-left:auto}.rm-editor textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);width:100%;color:var(--ink);resize:vertical;outline:none;padding:10px 11px;font-family:inherit;font-size:14px;line-height:1.5}.rm-editor textarea:focus{border-color:var(--accent)}.rm-prompt{font-family:ui-monospace,SF Mono,Menlo,monospace!important;font-size:12.5px!important;line-height:1.55!important}.rm-editor textarea[readonly]{background:var(--card-sunk);color:var(--ink-soft)}.rm-editor input[type=text]{width:100%}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tour{--z-stage:40;--z-card:45}.tour.away{opacity:0;pointer-events:none;transition:opacity .14s var(--ease)}.tour-stage{z-index:var(--z-stage);pointer-events:none;position:fixed;inset:0}:root{--tour-veil:#241f1a;--tour-veil-point:.2;--tour-veil-intro:.34;--tour-lift:transparent}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tour-veil:#f2ece2;--tour-veil-point:0;--tour-veil-intro:.08;--tour-lift:#f2ece212}}:root[data-theme=dark]{--tour-veil:#f2ece2;--tour-veil-point:0;--tour-veil-intro:.08;--tour-lift:#f2ece212}.tour-stage path{fill:var(--tour-veil);fill-opacity:var(--tour-veil-point);transition:fill-opacity .24s var(--ease)}.tour.showing .tour-stage path{fill-opacity:0}.tour.intro .tour-stage path{fill-opacity:var(--tour-veil-intro)}.tour-ring{z-index:var(--z-stage);pointer-events:none;background:var(--tour-lift);box-shadow:0 0 0 2px var(--accent), 0 0 0 5px color-mix(in srgb, var(--accent) 24%, transparent);transition:top .22s var(--ease), left .22s var(--ease), width .22s var(--ease), height .22s var(--ease);position:fixed}.tour-card{width:auto;max-width:460px;z-index:var(--z-card);background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));border-radius:var(--radius);animation:tour-in .2s var(--ease) both;transition:top .24s var(--ease);margin-inline:auto;padding:11px 13px 10px;position:fixed;left:12px;right:12px;box-shadow:0 6px 22px #00000061}@keyframes tour-in{0%{opacity:0}to{opacity:1}}.tour-card.centred{max-width:330px;padding:16px 16px 14px}.tour-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tour-head .icon-btn{margin-left:auto}.tour-dots{align-items:center;gap:6px;display:flex}.tour-dots i{background:var(--line);width:6px;height:6px;transition:width .2s var(--ease), background .2s var(--ease);border-radius:999px}.tour-dots i.past{background:color-mix(in srgb, var(--accent) 45%, transparent)}.tour-dots i.on{background:var(--accent);width:18px}.tour-card h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.25}.tour-card.hello h2{background:linear-gradient(100deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 55%, var(--ink)) 62%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:25px}.tour-line{color:var(--ink-soft);margin:0 0 10px;font-size:13.5px;line-height:1.5}.tour-line.faint{color:var(--ink-faint);font-size:13px}.tour-quote{border-left:2px solid color-mix(in srgb, var(--accent) 45%, transparent);font-family:var(--font-display);color:var(--ink);margin:0 0 10px;padding:9px 0 0 11px;font-size:14.5px;line-height:1.4}.tour-quote cite{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:5px;font-size:10.5px;font-style:normal;display:block}.tour-line:last-of-type{margin-bottom:12px}.tour-actions{border-top:1px solid var(--line);align-items:center;gap:8px;min-height:38px;padding-top:9px;display:flex}.tour-made{color:var(--ink-faint);margin:0 0 8px;font-size:12.5px;line-height:1.45}.tour-actions .btn{flex:none}.tour-card.hello .tour-actions .btn,.tour-actions .btn.primary:only-child{text-align:center;flex:auto}.tour-waiting{color:var(--ink-faint);flex:auto;font-size:12px}.tour-ack{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px}.btn.small{min-height:34px;padding:0 12px;font-size:13px}@media (prefers-reduced-motion:reduce){.tour-dots i,.tour-ring{transition:none}.tour-card{animation:none}}
