*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--text-3xs:.625rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.375rem;--text-4xl:1.625rem;--text-5xl:1.75rem;--t-fast:.12s;--t-med:.24s;--t-slow:.4s;--ease-out:cubic-bezier(.2, .7, .3, 1);--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-7:16px;--space-8:18px}:root,[data-theme=dark]{--bg:#1a1814;--bg-card:#242118;--bg-card-hover:#2c2920;--bg-sidebar:#1e1b15;--border:#3a352a;--border-light:#4a4438;--ink:#e8e2d6;--ink-mid:#a89f8e;--ink-faint:#948b7a;--red-text:#cd7d5f;--amber-text:#d9a94f;--accent:#6b8f8b;--accent-light:#82a8a4;--accent-bg:#6b8f8b1f;--clay:#d38558;--clay-strong:#e29a70;--clay-bg:#d3855824;--green:#8a9a7b;--green-bg:#8a9a7b1f;--amber:#c49a3c;--amber-bg:#c49a3c1f;--red:#b5674a;--red-strong:#a35d43;--red-bg:#b5674a1f;--blue:#6b8e8e;--blue-bg:#6b8e8e1f;--surface:#242118;--hover:#2c2920;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 12px #0006;--shadow-1:var(--shadow);--shadow-2:0 6px 20px #00000059;--shadow-3:var(--shadow-lg);--material-1:#242118ed;--transition:.15s ease;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"SF Mono", "Fira Code", monospace}[data-theme=light]{--bg:#f4f1eb;--bg-card:#faf8f4;--bg-card-hover:#f0ede6;--bg-sidebar:#faf8f4;--border:#ddd8ce;--border-light:#ccc7bb;--ink:#3b3228;--ink-mid:#6e6758;--ink-faint:#756b5b;--red-text:#8f4a30;--amber-text:#7d5f1e;--accent:#5a7b77;--accent-light:#6b8f8b;--accent-bg:#5a7b7714;--clay:#b5613a;--clay-strong:#9a4e2c;--clay-bg:#b5613a1a;--green:#6e7f5e;--green-bg:#6e7f5e14;--amber:#a47e2e;--amber-bg:#a47e2e14;--red:#9e5539;--red-strong:#9e5539;--red-bg:#9e55390f;--blue:#5a7b7b;--blue-bg:#5a7b7b14;--surface:#faf8f4;--hover:#f0ede6;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 12px #0000001a;--shadow-1:var(--shadow);--shadow-2:0 6px 20px #0000001a;--shadow-3:var(--shadow-lg);--material-1:#faf8f4f0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:240px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);box-sizing:border-box;flex-direction:column;justify-content:center;min-height:87px;padding:20px 20px 16px;display:flex}.sidebar-brand h1{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700}.sidebar-brand .subtitle{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.nav-section{margin-bottom:16px}.nav-section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:4px;padding:0 12px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--ink-mid);cursor:pointer;font-size:var(--text-sm);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 12px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-card);color:var(--ink)}.nav-item.active{background:var(--accent-bg);color:var(--accent-light)}.nav-item .nav-icon{text-align:center;width:18px;font-size:var(--text-base);flex-shrink:0}.nav-item .nav-badge{background:var(--red);color:#fff;font-size:var(--text-xs);text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:1px 6px;font-weight:700}.sidebar-foot{border-top:1px solid var(--border);padding:12px 16px}.sidebar-user{font-size:var(--text-xs);color:var(--ink-faint);align-items:center;gap:8px;display:flex}.sidebar-user span{margin-right:auto}.main{min-height:100vh;margin-left:240px}.page-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:50;box-sizing:border-box;justify-content:space-between;align-items:center;min-height:64px;padding:20px 32px 16px;display:flex;position:sticky;top:0}.page-title{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700}.page-subtitle{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px}.page-actions{gap:8px;display:flex}.content{padding:24px 32px}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stack{flex-direction:column;gap:16px;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px;display:grid}@media (width<=900px){.sidebar{width:auto;position:static}.sidebar-nav{padding:8px}.nav-section-items{flex-wrap:wrap;gap:4px;display:flex}.main{margin-left:0}.page-header,.content{padding-left:16px;padding-right:16px}.grid-2{grid-template-columns:minmax(0,1fr)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);margin-bottom:16px;padding:20px}.card:hover{border-color:var(--border-light)}.grid-2 .card,.stack .card{margin-bottom:0}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mid);font-weight:600}.card-foot{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:16px;display:flex}.card-foot .form-input{flex:1}.stat-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-7) var(--space-8)}.stat-tile.v2{gap:var(--space-3);padding:var(--space-7) var(--space-7) var(--space-6);flex-direction:column;min-height:118px;display:flex;position:relative;overflow:hidden}.stat-tile.v2.urgent{border-color:var(--red)}.stat-tile.v2.urgent:before{content:"";background:var(--red);width:3px;position:absolute;top:0;bottom:0;left:0}.stat-tile-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stat-tile-ico{background:var(--accent-bg);width:22px;height:22px;color:var(--accent);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-tile-ico.urgent{background:var(--red-bg);color:var(--red)}.stat-tile-ico svg{width:13px;height:13px}.stat-tile.v2 .stat-label{font-size:var(--text-3xs);letter-spacing:.08em;margin-bottom:0}.stat-tile.v2 .stat-value{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-4xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.stat-tile.v2.urgent .stat-value{color:var(--red)}.stat-tile-foot{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-2xs);color:var(--ink-faint);margin-top:auto;display:flex}.stat-tile-delta{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-weight:600;display:inline-flex}.stat-tile-delta.up{color:var(--green)}.stat-tile-delta.down{color:var(--red)}.stat-tile-delta.flat{color:var(--ink-faint)}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:4px;font-weight:600}.stat-value{font-size:var(--text-5xl);letter-spacing:-.03em;color:var(--ink);font-weight:700}.stat-sub{font-size:var(--text-xs);color:var(--ink-mid);margin-top:2px}.row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.row:last-of-type{border-bottom:none}.row-task{cursor:pointer}.row-done{opacity:.45;transition:opacity var(--t-fast) var(--ease-out)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{font-size:var(--text-base);overflow-wrap:anywhere}.row-sub{font-size:var(--text-xs);color:var(--ink-faint)}.row-meta{font-size:var(--text-xs);color:var(--ink-mid);white-space:nowrap;margin-top:1px}.row-meta-red{color:var(--red-text);font-weight:600}.group-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-top:16px;margin-bottom:4px;font-weight:600}.group-label:first-child{margin-top:0}.group-label-red{color:var(--red-text)}.empty{font-size:var(--text-sm);color:var(--ink-faint);padding:12px 0}.form-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-top:12px;margin-bottom:4px;font-weight:600;display:block}.form-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);transition:border-color var(--t-fast) var(--ease-out);padding:8px 10px}.form-input:focus{border-color:var(--accent);outline:none}.form-input-inline{text-align:right;width:110px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center;gap:8px;display:grid}.form-grid-tight{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.form-grid .btn{width:max-content}.form-note{font-size:var(--text-xs);color:var(--ink-faint);margin-top:10px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;border-radius:4px;flex-shrink:0;margin-top:1px}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card-hover);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);padding:8px 14px;font-weight:600}.btn:hover{background:var(--hover);border-color:var(--border-light)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--clay);border-color:var(--clay);color:#fff}.btn-primary:hover{background:var(--clay-strong);border-color:var(--clay-strong)}.btn-ghost{color:var(--ink-faint);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);color:var(--ink)}.btn-small{font-size:var(--text-xs);padding:4px 10px}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:32px}.login-brand h1{font-size:var(--text-5xl);letter-spacing:-.02em;text-align:center;margin-bottom:20px;font-weight:700}.login-btn{width:100%;margin-top:16px}.login-status{font-size:var(--text-sm);color:var(--red-text);text-align:center;min-height:18px;margin-top:10px}.habit-grid{flex-direction:column;gap:4px;display:flex;overflow-x:auto}.habit-grid-head,.habit-grid-row{grid-template-columns:150px repeat(14,20px) 44px 40px;justify-content:start;align-items:center;gap:4px;display:grid}.habit-col-label{font-size:var(--text-3xs);color:var(--ink-faint);text-align:center}.habit-name{font-size:var(--text-sm);overflow-wrap:anywhere}.habit-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;width:20px;height:20px;transition:background var(--t-fast) var(--ease-out);padding:0}.habit-cell:hover{border-color:var(--border-light)}.habit-cell-done{background:var(--green);border-color:var(--green)}.habit-streak{font-size:var(--text-sm);color:var(--green);text-align:center;font-weight:600}.habit-week{font-size:var(--text-2xs);color:var(--amber-text);text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.habit-week-met{color:var(--green)}.modal-overlay{z-index:280;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--t-med) var(--ease-out), visibility 0s linear var(--t-med);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--t-med) var(--ease-out), visibility 0s linear}.modal-card{background:var(--material-1);-webkit-backdrop-filter:blur(10px)saturate(120%);border:1px solid var(--border-light);border-radius:var(--radius);width:min(620px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-3);transition:transform var(--t-med) var(--ease-out);overflow-y:auto;transform:scale(.96)}.modal-overlay.open .modal-card{transform:scale(1)}@media (prefers-reduced-motion:reduce){.modal-card{transition:none!important;transform:none!important}}@media (prefers-reduced-transparency:reduce){.modal-card{background:var(--bg-card);-webkit-backdrop-filter:none}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.modal-title{font-size:var(--text-lg);color:var(--ink);font-weight:700}.modal-subtitle{font-size:var(--text-xs);color:var(--ink-faint);margin-top:4px}.modal-close{color:var(--ink-mid);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.modal-body{padding:16px}.modal-actions{justify-content:flex-end;gap:8px;padding:0 16px 16px;display:flex}.modal-actions .btn-danger{margin-right:auto}.btn-danger{background:var(--red-strong);border-color:var(--red-strong);color:#fff}.btn-danger:hover{background:var(--red);border-color:var(--red)}.row-open{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}.row-open:hover .row-title{color:var(--accent-light)}.textarea-input{resize:vertical;min-height:72px}.hero-row{grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);align-items:stretch;gap:16px;margin-bottom:16px;display:grid}.hero-row .stat-row{margin-bottom:0}.hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;min-width:0;padding:20px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:var(--clay);width:3px;position:absolute;top:0;bottom:0;left:0}.hero-short:before{background:var(--red)}.hero-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:600}.hero-value{font-family:var(--font-mono);font-size:var(--text-5xl);letter-spacing:-.03em;color:var(--clay-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:700;line-height:1.05}.hero-short .hero-value{color:var(--red-text)}.hero-setup-title{font-size:var(--text-md);font-weight:600}.hero-sub{font-size:var(--text-xs);color:var(--ink-mid)}.hero-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.hero-bar span{background:var(--clay);height:100%;display:block}.hero-short .hero-bar span{background:var(--red)}.hero-key{font-size:var(--text-2xs);color:var(--ink-faint);flex-wrap:wrap;gap:4px 16px;margin-top:auto;display:flex}.key-dot{border-radius:2px;width:7px;height:7px;margin-right:6px;display:inline-block}.key-dot-out{background:var(--clay)}.key-dot-in{background:var(--accent)}@media (width<=760px){.hero-row{grid-template-columns:minmax(0,1fr)}}.setup-empty{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 0 6px;display:flex}.setup-empty-title{font-size:var(--text-md);font-weight:600}.setup-empty-body{font-size:var(--text-xs);color:var(--ink-faint);max-width:48ch;line-height:1.55}.setup-empty-actions{flex-wrap:wrap;gap:8px;display:flex}.setup-progress{flex-direction:column;gap:14px;display:flex}.setup-progress-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.setup-progress-title{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.setup-progress-sub{font-size:var(--text-xs);color:var(--ink-faint);margin-top:3px}.setup-progress-count{font-family:var(--font-mono);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;flex:none;font-weight:700;line-height:1}.setup-progress-count span{font-size:var(--text-lg);color:var(--ink-faint)}.chk-note{font-size:var(--text-xs);color:var(--ink-faint);margin:-6px 0 4px}.chk-item{border-bottom:1px solid var(--border);gap:12px;padding:14px 0;display:flex}.chk-item:last-child{border-bottom:none}.chk-mark{border:1.5px solid var(--border-light);width:18px;height:18px;color:var(--bg);border-radius:99px;flex:none;justify-content:center;align-items:center;margin-top:1px;display:flex}.chk-done .chk-mark{background:var(--green);border-color:var(--green)}.chk-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.chk-title{font-size:var(--text-md);font-weight:600}.chk-done .chk-title{color:var(--ink-mid);font-weight:500}.chk-todo{font-size:var(--text-sm);color:var(--ink-mid);max-width:62ch;line-height:1.55}.chk-status{font-size:var(--text-xs);color:var(--ink-faint)}.chk-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.prose{font-size:var(--text-sm);color:var(--ink-mid);max-width:62ch;line-height:1.6}.stat-tile .spark{margin-top:-2px;margin-bottom:2px;display:block}.timeline{grid-template-columns:48px minmax(0,1fr);align-items:start;display:grid}.tl-time{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;padding-top:13px}.tl-time.tl-now{color:var(--clay-strong);font-weight:700}.tl-item{border-left:1px solid var(--border);min-width:0;padding-left:14px;position:relative}.tl-item:before{content:"";background:var(--border-light);border-radius:99px;width:7px;height:7px;position:absolute;top:15px;left:-4px}.tl-item.tl-now:before{background:var(--clay);box-shadow:0 0 0 3px var(--clay-bg)}.tl-item .row{border-bottom:none}.week-head,.week-row{align-items:center;gap:10px;padding:7px 0;display:flex}.week-row{border-bottom:1px solid var(--border)}.week-row:last-child{border-bottom:none}.week-head{padding-bottom:2px}.week-name{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;flex:1}.week-head .week-name{flex:1}.week-cells,.week-days{flex:none;gap:3px;display:flex}.week-days span{width:20px;font-size:var(--text-3xs);color:var(--ink-faint);text-align:center;line-height:1}.week-head>span:first-child{flex:1}.week-head>span:last-child{min-width:34px}.week-row .habit-cell{flex:none}.habit-cell-missed{background:0 0;border-style:dashed}.habit-cell-today{outline:1.5px solid var(--clay);outline-offset:1px}.week-row .habit-week{text-align:right;min-width:34px}.card-note{font-size:var(--text-2xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.card.household{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px;padding:0;display:grid;overflow:hidden}.hh-cell{border-right:1px solid var(--border);min-width:0;padding:14px 16px}.hh-cell:last-child{border-right:none}.hh-who{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:6px;font-weight:700}.hh-big{font-family:var(--font-mono);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.hh-sub{font-size:var(--text-2xs);color:var(--ink-faint);margin-top:3px}.hh-sub-red{color:var(--red-text);font-weight:600}.hh-quiet{font-size:var(--text-xs);color:var(--ink-faint)}.hh-pills{flex-wrap:wrap;gap:5px;padding-top:2px;display:flex}.pill{font-size:var(--text-3xs);letter-spacing:.03em;white-space:nowrap;border-radius:99px;padding:3px 8px;font-weight:700;display:inline-block}.pill-ok{background:var(--green-bg);color:var(--green)}.pill-warn{background:var(--amber-bg);color:var(--amber-text)}.pill-away{background:var(--blue);color:#fff}@media (width<=640px){.sidebar{border-right:none;border-top:1px solid var(--border);z-index:60;width:auto;height:auto;padding:0;position:fixed;inset:auto 0 0}.sidebar-brand,.sidebar-foot,.nav-section-title,.nav-section-elsewhere{display:none}.sidebar-nav{padding:0;overflow:visible}.nav-section{margin:0}.nav-section-items{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;display:grid}.nav-item{padding:9px 2px;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px));font-size:var(--text-3xs);text-align:center;border-radius:0;flex-direction:column;justify-content:center;gap:3px}.nav-item.active{color:var(--clay-strong);background:0 0}.nav-item .nav-badge{font-size:var(--text-3xs);margin-left:0;padding:0 5px;position:absolute;transform:translate(14px,-6px)}.nav-item{position:relative}.main{margin-left:0;padding-bottom:78px}.page-header{min-height:0;padding:14px 16px 12px}.content{padding:16px}.stat-row,.hero-row{grid-template-columns:minmax(0,1fr)}.card.household{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-cell:nth-child(2n){border-right:none}.hh-cell:nth-child(-n+2){border-bottom:1px solid var(--border)}.timeline{grid-template-columns:42px minmax(0,1fr)}.week-name{font-size:var(--text-xs)}.form-grid{grid-template-columns:minmax(0,1fr)}}.main-body{grid-template-columns:minmax(0,1fr) 284px;align-items:start;display:grid}.rail{min-width:0;padding:24px 32px 24px 0}.rail .card{margin-bottom:16px}.rail .card:last-child{margin-bottom:0}@media (width<=1100px){.main-body{grid-template-columns:minmax(0,1fr)}.rail{padding:0 32px 24px}}.cal{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{font-size:var(--text-3xs);color:var(--ink-faint);text-align:center;padding:2px 0 4px}.cal-day{font-size:var(--text-2xs);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;padding:5px 0 7px;position:relative}.cal-out{color:var(--ink-faint);opacity:.45}.cal-today{background:var(--clay);color:#fff;font-weight:700}.cal-has:after{content:"";background:var(--clay);border-radius:99px;width:3px;height:3px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.cal-today.cal-has:after{background:#fff}.feed-item{border-bottom:1px solid var(--border);gap:10px;padding:8px 0;display:flex}.feed-item:last-child{border-bottom:none}.feed-stripe{background:var(--border-light);border-radius:2px;flex:none;width:2px}.feed-money .feed-stripe{background:var(--clay)}.feed-plan .feed-stripe{background:var(--blue)}.feed-task .feed-stripe{background:var(--accent)}.feed-day{font-size:var(--text-2xs);color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:2px}.feed-day-red{color:var(--red-text);font-weight:650}.hero-conf{font-size:var(--text-2xs);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:9px;padding-top:10px;display:flex}.conf-dot{border-radius:99px;flex:none;width:7px;height:7px}.conf-text{color:var(--ink-faint)}.hero-conf-fresh .conf-dot{background:var(--green)}.hero-conf-stale .conf-dot{background:var(--amber)}.hero-conf-stale .conf-text{color:var(--amber-text)}.hero-conf-cold .conf-dot{background:var(--red)}.hero-conf-cold .conf-text{color:var(--red-text);font-weight:600}.hero-conf .btn{margin-left:auto}.hero-cold:before{background:var(--border-light)}.hero-cold .hero-value{color:var(--ink-mid)}.hero-cold .hero-bar span{background:var(--ink-faint)}.goal{border-bottom:1px solid var(--border);flex-direction:column;gap:7px;padding:12px 0;display:flex}.goal:last-of-type{border-bottom:none}.goal-top{align-items:baseline;gap:10px;display:flex}.goal-name{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;flex:1;font-weight:600}.goal-num{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-mid);font-variant-numeric:tabular-nums;white-space:nowrap}.goal-del{flex:none;padding:0 4px}.goal-foot{font-size:var(--text-2xs);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:10px;display:flex}.goal-foot-right{white-space:nowrap;align-items:center;gap:8px;display:flex}.goal-foot-right .form-input-inline{width:84px}.goal-done .goal-name{color:var(--green)}.hero-bar span.bar-warn{background:var(--amber)}.step-row{font-size:var(--text-xs);color:var(--ink-mid);cursor:pointer;align-items:center;gap:9px;padding:5px 0 5px 27px;display:flex}.step-row input[type=checkbox]{flex:none;width:14px;height:14px}.step-row span{overflow-wrap:anywhere;flex:1;min-width:0}.step-done span{opacity:.5;text-decoration:line-through}.rev-step{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:15px 0;display:flex}.rev-step:last-child{border-bottom:none}.rev-n{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--clay);flex:none;width:14px;padding-top:3px;font-weight:700}.rev-body{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.rev-title{font-size:var(--text-md);font-weight:600}.rev-sub{font-size:var(--text-2xs);color:var(--ink-faint);max-width:62ch;line-height:1.5}.rev-settled{font-size:var(--text-xs);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rev-accounts{flex-direction:column;display:flex}.rev-acct,.rev-weigh{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:7px 0;display:flex}.rev-acct:last-child,.rev-weigh:last-child{border-bottom:none}.rev-acct-name{min-width:0;font-size:var(--text-sm);flex:1;align-items:baseline;gap:8px;display:flex}.rev-acct-kind{font-size:var(--text-3xs);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.rev-age{font-size:var(--text-2xs);color:var(--ink-faint);white-space:nowrap}.rev-age-stale{color:var(--amber-text)}.rev-age-cold{color:var(--red-text);font-weight:600}.rev-acct .form-input-inline,.rev-weigh .form-input-inline{width:104px}.review-done{border-color:var(--green)}.review-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}@media (width<=640px){.rail{padding:0 16px 16px}.rev-acct,.rev-weigh{flex-wrap:wrap}.rev-acct .form-input-inline,.rev-weigh .form-input-inline{width:100%}.goal-foot{flex-wrap:wrap}}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-weight:600}.form-grid-labelled{align-items:end}
