@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--paper-edge:#efefee;--sidebar:#f7f7f5;--card:#fff;--line:#e9e9e7;--line-strong:#dcdcda;--ink:#37352f;--ink-soft:#787774;--ink-faint:#9b9a97;--gold:#1a6fc4;--gold-bright:#2383e2;--gold-wash:#e7f1fb;--gain:#448361;--loss:#c4554d;--cat-food:#e07a5f;--cat-groceries:#3d9970;--cat-transport:#2383e2;--cat-bills:#8e7cc3;--cat-shopping:#e0a63f;--cat-leisure:#d94f8a;--cat-other:#9aa0a6;--cat-income:#2f6f57;--cat-savings:#448361;--radius:6px;--radius-sm:4px;--shadow:0 1px 2px #0f0f0f0a;--font-display:var(--cx-text), "Work Sans", system-ui, sans-serif;--font-body:var(--cx-text), "Work Sans", system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SF Mono", monospace;--wrap:980px;--sidebar-w:240px;--sidebar-w-collapsed:56px}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-size:15px;line-height:1.55;display:flex}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:3px}.eyebrow,.section-label{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink-soft);font-size:.72rem;font-weight:500}.section-label{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topnav{z-index:40;background:var(--sidebar);border-bottom:1px solid var(--line);position:sticky;top:0}.topnav-inner{width:100%;max-width:var(--wrap);align-items:center;gap:clamp(.8rem,3vw,1.8rem);margin:0 auto;padding:.5rem clamp(1.1rem,4vw,2.4rem);display:flex}.topnav-brand{font-family:var(--font-display);color:var(--ink);flex:none;font-size:1.2rem;font-weight:500}.topnav-nav{scrollbar-width:none;align-items:center;gap:.15rem;min-width:0;display:flex;overflow-x:auto}.topnav-nav::-webkit-scrollbar{display:none}.topnav-link{border-radius:var(--radius-sm);color:var(--ink-soft);white-space:nowrap;flex:none;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.9rem;line-height:1.2;display:inline-flex}.topnav-link:hover{background:var(--paper-edge)}.topnav-link[data-active=true]{background:var(--paper-edge);color:var(--ink);font-weight:500}.topnav-ico{font-size:.95rem}@media (max-width:560px){.topnav-inner{gap:.6rem}.topnav-label{font-size:.85rem}}.page{width:100%;max-width:var(--wrap);margin:0 auto;padding:clamp(.3rem,.8vw,.55rem) clamp(1.1rem,4vw,2.4rem) 5rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.8rem;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:500;line-height:1.05}.delta.gain{color:var(--gain)}.delta.loss{color:var(--loss)}.pulse{font-family:var(--font-mono);align-items:center;gap:.45rem;font-size:1.05rem;display:inline-flex}.pulse:before{content:"";background:var(--ink-faint);border-radius:50%;width:8px;height:8px}.pulse[data-live=true]:before{background:var(--gain);animation:2.2s ease-out infinite ping;box-shadow:0 0 #4c7a4680}@keyframes ping{0%{box-shadow:0 0 #4c7a4673}70%{box-shadow:0 0 0 7px #4c7a4600}to{box-shadow:0 0 #4c7a4600}}section{margin-top:2.6rem}.stack{flex-direction:column;gap:clamp(1.2rem,3vw,1.8rem);margin-top:clamp(1.8rem,4vw,2.6rem);display:flex}.stack>section,.stack>.grid-2{margin-top:0}.grid-2{grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(1.2rem,3vw,1.8rem);display:grid}.grid-2>section{margin-top:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.2rem,3vw,1.6rem) clamp(1.2rem,3vw,1.7rem)}.grid-2>.card{height:100%}.card .empty{text-align:left;background:0 0;border:none;padding:1.2rem 0 .4rem}.bignum{font-family:var(--font-display);letter-spacing:-.02em;font-size:2.6rem;font-weight:480;line-height:1}.bignum span{font-family:var(--font-body);color:var(--ink-soft);margin-left:.4rem;font-size:.95rem}.ledger{border-collapse:collapse;width:100%}.ledger thead th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);text-align:left;border-bottom:1px solid var(--line);padding:0 0 .7rem;font-size:.66rem;font-weight:500}.ledger thead th.r{text-align:right}.ledger tbody td{border-bottom:1px solid var(--line);vertical-align:baseline;padding:.7rem 0;font-size:.9rem}.ledger tbody tr:last-child td{border-bottom:none}.ledger .when{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:.8rem}.ledger .reason{color:var(--ink)}.ledger .delta,.ledger .bal{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger .delta.gain{color:var(--gain)}.ledger .delta.loss{color:var(--loss)}.ledger .bal{color:var(--ink-faint)}.ledger.wide td.detail{color:var(--ink)}.feed{flex-direction:column;list-style:none;display:flex}.feed li{border-bottom:1px solid var(--line);grid-template-columns:5rem auto 1fr;align-items:baseline;gap:.9rem;padding:.7rem 0;display:grid}.feed li:last-child{border-bottom:none}.feed .t{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:.78rem}.feed .desc{color:var(--ink)}.done-btn{cursor:pointer;border:1px solid var(--line-strong);background:var(--card);width:26px;height:26px;color:var(--ink-faint);border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;font-size:.8rem;line-height:1;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.done-btn:hover{border-color:var(--gold-bright);background:var(--gold-wash);color:var(--gold)}.done-undo-note{color:var(--gain);font-family:var(--font-mono);font-size:.82rem}.done-undo-btn{cursor:pointer;font-family:var(--font-mono);color:var(--gold);text-underline-offset:2px;background:0 0;border:0;padding:2px 6px;font-size:.8rem;text-decoration:underline}.done-undo-btn:hover{color:var(--gold-bright)}.track-saving{color:var(--ink-soft);font-family:var(--font-mono);font-size:.82rem}.meal-cancel{cursor:pointer;color:var(--ink-faint);background:0 0;border:0;padding:2px 4px;font-size:.9rem}.meal-cancel:hover{color:var(--loss)}.done-strike{color:var(--ink-faint);text-decoration:line-through}.plan-add{cursor:pointer;color:var(--gold);font-family:var(--font-mono);background:0 0;border:0;padding:4px 0;font-size:.8rem}.plan-add:hover{color:var(--gold-bright)}.plan-add-form{align-items:center;gap:6px;margin-top:.4rem;display:flex}.plan-add-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:0;font-family:var(--font-body);background:var(--card);color:var(--ink);flex:1;padding:5px 9px;font-size:.88rem}.planner-board{flex-direction:column;gap:.9rem;display:flex}.planner-workspace{margin:1.5rem 0}.planner-cal{min-width:0}.planner-cal .calendar{margin-bottom:0}.board-pool{flex-direction:row;align-items:flex-start;gap:.6rem;display:flex}.board-pool-col{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-edge);flex-direction:column;flex:1 1 0;gap:.4rem;min-width:0;min-height:4rem;padding:.6rem .7rem .7rem;display:flex}.board-pool-col[data-over=true]{border-color:var(--gold-bright);background:var(--gold-wash);box-shadow:inset 0 0 0 2px var(--gold-bright)}.board-pool-col-head{align-items:center;gap:.5rem;display:flex}.board-pool-count{font-family:var(--font-mono);color:var(--ink-faint);margin-left:auto;font-size:.7rem}.board-pool-col-tasks{flex-direction:column;gap:.3rem;display:flex}@media (max-width:720px){.board-pool{flex-direction:column}}.board-hint{font-family:var(--font-mono);color:var(--ink-soft);margin-bottom:.7rem;font-size:.76rem}.board-empty{font-family:var(--font-mono);color:var(--ink-faint);padding:.3rem 0;font-size:.76rem}.board-task{cursor:grab;align-items:center;gap:.4rem;padding:.3rem 0;display:flex;position:relative}.board-task:active{cursor:grabbing}.board-task-pending{cursor:default;justify-content:space-between}.board-grip{cursor:pointer;color:var(--ink-faint);background:0 0;border:0;padding:0 2px;font-size:.95rem;line-height:1}.board-grip:hover{color:var(--gold)}.board-task-title{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1;font-size:.86rem;line-height:1.3}.board-task .done-btn{width:22px;height:22px;font-size:.72rem}.day-picker{z-index:20;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);gap:3px;min-width:168px;margin-top:4px;padding:5px;display:grid;position:absolute;top:100%;left:0}.day-pick{cursor:pointer;background:var(--paper);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink);border-radius:6px;padding:4px 6px;font-size:.72rem}.day-pick:hover{border-color:var(--gold-bright);background:var(--gold-wash);color:var(--gold)}.day-pick-unschedule{color:var(--loss);grid-column:1/-1}.day-pick-stage{background:var(--gold-wash)}.day-pick-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);grid-column:1/-1;padding:3px 2px 0;font-size:.6rem}.modal-backdrop{z-index:50;background:#0f0f0f66;justify-content:center;align-items:flex-start;padding:clamp(1rem,8vh,5rem) 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:min(560px,100%);box-shadow:var(--shadow);padding:clamp(1.1rem,3vw,1.6rem)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{font-family:var(--font-display);color:var(--ink);font-size:1.25rem}.planner-day-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.4rem;display:flex}.planner-dow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem}.planner-daynum{font-family:var(--font-display);color:var(--ink);font-size:1rem}.chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-edge);white-space:nowrap;border-radius:999px;justify-self:start;padding:.15rem .55rem;font-size:.66rem}.filters{flex-wrap:wrap;gap:.5rem;display:flex}.filter{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;font-size:.74rem;transition:all .14s}.filter:hover{border-color:var(--line-strong);color:var(--ink)}.filter[data-active=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter .c{opacity:.6;margin-left:.35rem}.spark{align-items:flex-end;gap:3px;height:120px;margin-top:1.2rem;display:flex}.spark .bar{background:var(--gold-bright);border-radius:3px 3px 0 0;flex:1;min-width:4px;min-height:3px;transition:opacity .14s}.spark .bar:hover{opacity:.75}.cards-list{flex-direction:column;gap:.75rem;margin-top:1.2rem;list-style:none;display:flex}.cards-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1rem;display:flex}.cards-list .k{font-family:var(--font-mono);font-size:.82rem}.cards-list .meta{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;white-space:nowrap;font-size:.76rem}.runs{flex-direction:column;margin-top:1.2rem;list-style:none;display:flex}.runs li{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:.8rem;padding:.7rem 0;display:grid}.runs li:last-child{border-bottom:none}.runs .sdot{border-radius:50%;align-self:center;width:8px;height:8px}.runs .sdot.ok{background:var(--gain)}.runs .sdot.error{background:var(--loss)}.runs .job{font-size:.88rem}.runs .job .note{color:var(--ink-soft)}.runs .ran{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:.76rem}.empty{text-align:center;color:var(--ink-soft);border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fdfbf680;padding:2.2rem 1.4rem}.empty strong{color:var(--ink);font-family:var(--font-display);margin-bottom:.3rem;font-size:1.1rem;font-weight:500;display:block}.auth{flex:1;place-items:center;padding:2rem 1.2rem;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);padding:2.2rem 2rem}.auth-title{font-family:var(--font-display);letter-spacing:-.02em;margin:.4rem 0 .3rem;font-size:1.9rem;font-weight:480}.auth-sub{color:var(--ink-soft);margin-bottom:1.5rem;font-size:.9rem}.auth-error{color:var(--loss);margin-bottom:1rem;font-size:.85rem}.field{width:100%;font-family:var(--font-body);color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin-bottom:.8rem;padding:.7rem .85rem;font-size:.95rem}.field:focus{border-color:var(--gold-bright);outline:none;box-shadow:0 0 0 3px #2383e22e}.btn{width:100%;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.7rem;font-size:.82rem;transition:background .15s}.btn:hover{background:#2f2d27}@media (max-width:720px){.grid-2{grid-template-columns:1fr}.feed li{grid-template-columns:4.2rem auto}.feed .desc{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.headline{border:1px solid var(--line);border-left:3px solid var(--gold-bright);border-radius:var(--radius-sm);background:var(--card);flex-wrap:wrap;align-items:baseline;gap:.9rem;margin:0 0 2rem;padding:1.1rem 1.3rem;display:flex}.dots{flex-wrap:wrap;gap:5px;margin:.7rem 0;display:flex}.dot{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.dot[data-status=done]{background:var(--gold-bright)}.dot[data-status=in_progress]{background:var(--gold)}.dot[data-current=true]{box-shadow:0 0 0 3px var(--gold-wash)}.focus .empty{padding-top:0}.card[data-good=true]{border-left:3px solid var(--gain)}.upload-form{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.6rem;display:flex}.upload-form .inp{font-family:var(--font-body);color:var(--ink,#211e17);background:var(--paper,#f4efe4);border:1px solid var(--line-strong,#d6cab1);border-radius:var(--radius-sm,8px);padding:.55rem .8rem;font-size:.88rem}.upload-form .btn{width:auto}.btn-ghost{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft,#6f6656);border:1px solid var(--line-strong,#d6cab1);border-radius:var(--radius-sm,8px);cursor:pointer;background:0 0;padding:.4rem .85rem;font-size:.78rem;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--loss);color:var(--loss)}.btn-ghost:disabled{opacity:.6;cursor:default}.fin-banner{border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:1rem;padding:.7rem .95rem;font-size:.9rem}.fin-banner.ok{background:var(--gold-wash);border-color:var(--line-strong);color:var(--ink)}.fin-banner.err{color:var(--loss);background:#c4554d1a;border-color:#c4554d59}.fin-upload{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1rem 1.1rem}.fin-file,.fin-pw{flex-direction:column;flex:220px;gap:.35rem;display:flex}.fin-file>span,.fin-pw>span{color:var(--ink-soft);letter-spacing:.01em;font-size:.78rem;font-weight:600}.fin-file>span em,.fin-pw>span em{color:var(--ink-faint);font-style:normal;font-weight:400}.fin-upload input{font-family:var(--font-body);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);padding:.5rem .6rem;font-size:.88rem}.fin-upload input[type=file]{padding:.4rem}.fin-submit{font-family:var(--font-body);border-radius:var(--radius-sm);background:var(--gold);color:#fff;cursor:pointer;border:none;flex:none;padding:.55rem 1.3rem;font-size:.88rem;font-weight:600}.fin-submit:hover{background:var(--gold-bright)}.fin-hint{color:var(--ink-faint);margin:.7rem 0 0;font-size:.78rem}.fin-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1.5rem 2.4rem;margin-bottom:.5rem;padding:.9rem .2rem 1.1rem;display:flex}.fin-strip>div{flex-direction:column;gap:.15rem;display:flex}.fin-strip-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.15rem}.fin-strip-v.gain{color:var(--gain)}.fin-strip-v.loss{color:var(--loss)}.fin-strip-k{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.72rem}.fin-cats-total{font-family:var(--font-mono);color:var(--loss);font-size:.95rem}.fin-catfilter{margin-bottom:1rem}.chip.cat{background:var(--paper-edge);color:var(--ink-soft)}.chip.cat[data-cat=internal],.chip.cat[data-cat=income]{opacity:.6}.fin-toggle{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.fin-toggle button{background:var(--card);color:var(--ink-soft);cursor:pointer;border:none;padding:.3rem .7rem;font-size:.8rem}.fin-toggle button[data-active=true]{background:var(--gold-bright);color:#fff}.fin-cats-actions{margin:1rem 0 0}.fin-donut{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1rem 1.1rem 1.15rem}.fin-donut-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.fin-donut-head .section-label{align-items:baseline;gap:.6rem;margin:0;display:flex}.fin-donut-body{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:.75rem;display:flex}.fin-donut-svg{flex:none;width:200px;height:200px}.fin-donut-seg{transition:opacity .12s}.fin-donut-seg[data-dim=true]{opacity:.25}.fin-donut-c-v{font-family:var(--font-mono);fill:var(--ink);font-size:15px;font-weight:600}.fin-donut-c-k{fill:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.fin-donut-list{flex:260px;min-width:240px;margin:0;padding:0;list-style:none}.fin-donut-row{grid-template-columns:12px 1fr auto auto;align-items:center;gap:.5rem;padding:.28rem 0;font-size:.85rem;transition:opacity .12s;display:grid}.fin-donut-row[data-dim=true]{opacity:.4}.fin-donut-dot{border-radius:3px;width:10px;height:10px}.fin-donut-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fin-donut-pct{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.78rem}.fin-donut-amt{font-family:var(--font-mono);color:var(--ink-soft);font-variant-numeric:tabular-nums}.fin-flow{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1rem 1.1rem 1.15rem}.fin-flow-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.fin-flow-head .section-label{margin:0}.fin-flow-scroll{overflow-x:auto}.fin-flow-svg{width:100%;min-width:640px;height:auto}.fin-flow-link{opacity:.42;transition:opacity .12s}.fin-flow-link:hover{opacity:.72}.fin-flow-link[data-dim=true]{opacity:.1}.fin-flow-node{transition:opacity .12s}.fin-flow-node[data-dim=true]{opacity:.3}.fin-flow-lbl{fill:var(--ink);font-size:11px}.fin-flow-amt{fill:var(--ink-faint);font-family:var(--font-mono);font-size:10px}.fin-flow-pl{border-collapse:collapse;width:100%;font-size:.88rem}.fin-flow-pl td{border-bottom:1px solid var(--line);padding:.3rem .5rem}.fin-flow-pl td.r{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fin-flow-pl .fin-pl-h th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;padding:.6rem .5rem .3rem;font-size:.8rem}.fin-flow-pl .fin-pl-net td{border-top:2px solid var(--line);border-bottom:none;font-weight:600}.fin-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.fin-subnav{flex-direction:column;gap:.15rem;display:flex;position:sticky;top:1rem}.fin-subnav-link{color:var(--ink-soft);border-radius:8px;align-items:center;gap:.55rem;padding:.5rem .7rem;font-size:.92rem;text-decoration:none;display:flex}.fin-subnav-link:hover{background:var(--paper-edge);color:var(--ink)}.fin-subnav-link[data-active=true]{background:var(--gold-wash);color:var(--gold);font-weight:600}.fin-subnav-ico{font-size:1rem;line-height:1}.fin-body{min-width:0}.fin-empty-note{color:var(--ink-faint);padding:1.5rem 0;font-size:.9rem}@media (max-width:720px){.fin-layout{grid-template-columns:1fr;gap:.75rem}.fin-subnav{-webkit-overflow-scrolling:touch;flex-direction:row;gap:.35rem;padding-bottom:.25rem;position:static;overflow-x:auto}.fin-subnav-link{white-space:nowrap;flex:none}.fin-subnav-label{display:inline}}.cat-select{font-family:var(--font-body);border:1px solid var(--line-strong);background:var(--paper-edge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236f6656' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .5rem center;color:var(--ink-soft);cursor:pointer;appearance:none;border-radius:999px;padding:.2rem 1.4rem .2rem .5rem;font-size:.76rem}.cat-select:hover{border-color:var(--gold)}.cat-select[data-override=true]{border-color:var(--gold);background-color:var(--gold-wash);color:var(--ink);font-weight:600}.fin-months{margin-bottom:1.1rem}.fin-months-row{flex-wrap:wrap;gap:.7rem;display:flex}.fin-month{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:.2rem;min-width:8rem;padding:.7rem 1rem;display:flex}.fin-month[data-current=true]{border-color:var(--gold);background:var(--gold-wash)}.fin-month-v{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.2rem}.fin-month-k{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:.72rem}.fin-ai{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.fin-ai-msg{color:var(--ink-soft);font-size:.82rem}.fin-cov{margin-bottom:1.1rem}.fin-cov .section-label{align-items:baseline;gap:.6rem;display:flex}.fin-cov-flag{border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.fin-cov-flag.miss{color:var(--loss);background:#c4554d1f}.fin-cov-flag.ok{background:var(--gold-wash);color:var(--gain)}.fin-cov-scroll{overflow-x:auto}.fin-cov-grid{border-collapse:collapse;font-size:.8rem}.fin-cov-grid th,.fin-cov-grid td{text-align:center;white-space:nowrap;padding:.35rem .55rem}.fin-cov-grid thead th{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.fin-cov-grid tbody th{text-align:right;color:var(--ink-soft);font-weight:500}.fin-cov-corner{background:0 0}.fin-cov-grid td{font-family:var(--font-mono);border-radius:var(--radius-sm)}.fin-cov-grid td[data-state=present]{color:var(--gain)}.fin-cov-grid td[data-state=missing]{color:var(--loss);background:#c4554d1f;font-weight:700}.fin-cov-grid td[data-state=before]{color:var(--line-strong)}.fin-overview{flex-wrap:wrap;align-items:flex-start;gap:clamp(1.4rem,4vw,3rem);margin-bottom:1.1rem;display:flex}.fin-overview>section{margin:0}.fin-overview .fin-cov{flex:0 auto}.fin-overview .fin-months{flex:280px}.fin-head-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.fin-upload-btn{font-family:var(--font-body);background:var(--gold);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.45rem 1rem;font-size:.82rem;font-weight:600}.fin-upload-btn:hover{background:var(--gold-bright)}.fin-modal{border-radius:var(--radius);background:var(--card);width:calc(100vw - 2rem);max-width:440px;color:var(--ink);border:none;padding:0;box-shadow:0 24px 60px -20px #0f0f0f2e}.fin-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f0f0f59}.fin-modal .fin-upload{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:.85rem;margin:0;padding:1.3rem 1.4rem;display:flex}.fin-modal-title{font-family:var(--font-display);font-size:1.15rem}.fin-modal-actions{justify-content:flex-end;gap:.7rem;margin-top:.3rem;display:flex}.fin-clear{font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--gold);margin-left:auto;font-size:.72rem}.fin-clear:hover{text-decoration:underline}.fin-month{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s}.fin-month:hover{border-color:var(--gold)}.fin-month[data-active=true]{border-color:var(--gold);background:var(--gold-wash);box-shadow:inset 0 0 0 1px var(--gold)}.fin-analysis{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1.1rem 1.2rem 1.3rem}.fin-analysis .section-label{align-items:baseline;gap:.6rem;display:flex}.fin-an-time{font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--ink-faint);margin-left:auto;font-size:.72rem}.fin-an-stats{flex-wrap:wrap;gap:1.4rem 2.2rem;margin:.2rem 0 1rem;display:flex}.fin-an-stat{flex-direction:column;gap:.15rem;display:flex}.fin-an-v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.1rem}.fin-an-v.gain{color:var(--gain)}.fin-an-v.loss{color:var(--loss)}.fin-an-k{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:.7rem}.fin-an-body{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1rem}.fin-an-summary{color:var(--ink);margin-bottom:1.1rem;font-size:.98rem;line-height:1.6}.fin-an-cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;display:grid}.fin-an-col h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.72rem}.fin-an-col.notice h4{color:var(--loss)}.fin-an-col.leave h4{color:var(--gain)}.fin-an-col.sugg h4{color:var(--gold)}.fin-an-col ul{flex-direction:column;gap:.5rem;list-style:none;display:flex}.fin-an-col li{color:var(--ink-soft);padding-left:.9rem;font-size:.86rem;line-height:1.5;position:relative}.fin-an-col li:before{content:"›";color:var(--ink-faint);position:absolute;left:0}.detail-desc{display:block}.note-add,.note-text{font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:.25rem;padding:0;font-size:.76rem;display:inline-block}.note-add{color:var(--ink-faint)}.note-add:hover{color:var(--gold)}.note-text{color:var(--gold);max-width:340px;font-style:italic}.note-text:hover{text-decoration:underline}.note-input{width:100%;max-width:340px;font-family:var(--font-body);border:1px solid var(--gold);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);margin-top:.25rem;padding:.3rem .5rem;font-size:.8rem}.fin-sort{cursor:pointer;color:var(--ink-faint);font:inherit;align-items:center;gap:.25rem;display:inline-flex}.fin-sort:hover{color:var(--ink)}.fin-sort[data-active=true]{color:var(--gold)}.fin-nw-sec,.fin-usual,.fin-recur{margin:1.2rem 0}.fin-nw-head{align-items:baseline;gap:.6rem;margin-bottom:.4rem;display:flex}.fin-nw-v{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.3rem}.fin-nw-k{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:.72rem}.fin-nw-svg{width:100%;height:auto;display:block}.fin-nw-area{fill:var(--gold-wash)}.fin-nw-line{fill:none;stroke:var(--gold);stroke-width:2px}.fin-nw-zero{stroke:var(--line);stroke-dasharray:3 3}.fin-nw-dot{fill:var(--gold)}.fin-nw-dot.est{fill:var(--card);stroke:var(--gold);stroke-width:1.5px}.fin-nw-xlbl{fill:var(--ink-faint);font-size:11px;font-family:var(--font-mono)}.fin-usual-list,.fin-recur-list{flex-direction:column;gap:.15rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.fin-usual-mo,.fin-recur-total{color:var(--ink-faint);margin-left:.6rem;font-size:.75rem;font-weight:400}.fin-usual-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;padding:.5rem .2rem;display:grid}.fin-usual-name{color:var(--ink)}.fin-usual-nums{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.fin-usual-actual{color:var(--ink)}.fin-usual-usual{color:var(--ink-faint);font-size:.72rem}.fin-usual-delta{font-family:var(--font-mono);text-align:right;min-width:4rem;color:var(--ink-faint)}.fin-usual-delta.gain{color:var(--gain)}.fin-usual-delta.loss{color:var(--loss)}.fin-recur-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:center;gap:.8rem;padding:.5rem .2rem;display:grid}.fin-recur-row[data-ended=true]{opacity:.5}.fin-recur-name{color:var(--ink);align-items:center;gap:.5rem;display:flex}.fin-recur-ended{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--line);border-radius:999px;padding:.05rem .4rem;font-size:.65rem}.fin-recur-mo{color:var(--ink-faint);font-size:.72rem}.fin-recur-amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:5rem}.goal-new{flex-direction:column;gap:.75rem;margin:1rem 0 2rem;display:flex}.goal-new-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.goal-input{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:12rem;font:inherit;background:var(--card);color:inherit;flex:1;padding:.5rem .7rem}.goal-link-btn{color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:none;padding:.25rem;text-decoration:underline}.goal-icon-btn{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;font:inherit;border-radius:6px;padding:.25rem .45rem}.goal-icon-btn:disabled{opacity:.35;cursor:default}.goal-steps-edit{flex-direction:column;gap:.5rem;display:flex}.goal-step-edit{align-items:center;gap:.4rem;display:flex}.goal-step-num{text-align:center;width:1.5rem;color:var(--ink-soft)}.goal-msg{color:var(--ink-soft);font-size:.9rem}.goal-activate{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-sm);cursor:pointer;font:inherit;margin-top:.7rem;padding:.35rem .7rem}.calendar{margin-bottom:1.5rem}.cal-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.cal-title{font-size:1.05rem;font-weight:600}.cal-nav{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:.15rem .6rem;text-decoration:none}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-dow{color:var(--ink-soft);text-align:center;padding:.2rem 0;font-size:.7rem}.cal-cell{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;min-height:76px;padding:4px;display:flex;overflow:hidden}.cal-cell[data-in-month=false]{opacity:.4}.cal-cell[data-today=true]{border-color:var(--gold-bright)}.cal-cell[data-tomorrow=true]{box-shadow:inset 0 0 0 1px var(--gold-bright)}.cal-cell[data-selected=true]{outline:2px solid var(--gold-bright)}.cal-cell[data-over=true]{border-color:var(--gold-bright);background:var(--gold-wash);box-shadow:inset 0 0 0 2px var(--gold-bright)}.cal-daynum{color:var(--ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.75rem;font-weight:600}.cal-daynum:hover{color:var(--gold)}.cal-chips{flex-direction:column;align-items:stretch;gap:2px;display:flex}.cal-chip{text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:1px 2px;font-size:.65rem;display:block;overflow:hidden}.cal-chip:hover{background:var(--paper-edge);color:var(--ink)}.cal-chip[data-done=true]{opacity:.6;text-decoration:line-through}.cal-chip-time{font-family:var(--font-mono);color:var(--gold)}.cal-more{text-align:left;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:.6rem;display:block}.cal-more:hover{color:var(--ink)}.cal-pop-backdrop{z-index:60;position:fixed;inset:0}.cal-pop{z-index:61;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);width:240px;padding:.7rem .8rem .8rem;position:fixed;box-shadow:0 6px 24px #0f0f0f24}.cal-pop-close{cursor:pointer;color:var(--ink-faint);background:0 0;border:0;font-size:.8rem;line-height:1;position:absolute;top:.35rem;right:.45rem}.cal-pop-close:hover{color:var(--ink)}.cal-pop-kind{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem}.cal-pop-title{color:var(--ink);overflow-wrap:anywhere;margin:.15rem 0 .35rem;font-size:.95rem;font-weight:600;line-height:1.25}.cal-pop-title[data-done=true]{color:var(--ink-soft);text-decoration:line-through}.cal-pop-when{color:var(--ink-soft);font-size:.8rem}.cal-pop-loc{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:.1rem;font-size:.8rem}.cal-pop-actions{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.cal-pop-btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--paper-edge);color:var(--ink);cursor:pointer;padding:.3rem .7rem;font-size:.78rem}.cal-pop-btn:hover{background:var(--gold-wash);border-color:var(--gold-bright);color:var(--gold)}.cal-pop-btn[data-kind=event]:hover{border-color:var(--loss);color:var(--loss);background:#fbeceb}.cal-pop-btn-ghost{border-color:var(--line);color:var(--ink-soft);background:0 0}.cal-pop-btn-ghost:hover{background:var(--paper-edge);border-color:var(--line-strong);color:var(--ink)}.cal-detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem}.cal-detail-title{margin-bottom:.4rem;font-size:.85rem;font-weight:600}.cal-detail-empty{color:var(--ink-soft);font-size:.8rem}.cal-detail-list{flex-direction:column;gap:.35rem;display:flex}.cal-detail-item{gap:.6rem;font-size:.85rem;display:flex}.cal-detail-item[data-done=true]{opacity:.6;text-decoration:line-through}.cal-detail-when{color:var(--ink-soft);min-width:4.5rem}@media (max-width:640px){.cal-cell{min-height:60px}.cal-chip{font-size:.6rem}}.projects-head{align-items:center;margin-bottom:1.1rem}.venture-group{margin-bottom:2.4rem}.venture-group+.venture-group{border-top:1px solid var(--line-strong);padding-top:1.6rem}.venture-head{font-family:var(--font-display);color:var(--ink);border-bottom:2px solid var(--ink);align-items:center;gap:.6rem;margin-bottom:.85rem;padding-bottom:.5rem;font-size:1.45rem;font-weight:600;display:flex}.venture-count{font-family:var(--font-body);color:var(--ink-soft);background:var(--paper-edge);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:500}.project-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.55rem;display:grid}.project-card{text-align:left;border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;flex-direction:column;gap:.35rem;padding:.55rem .7rem;display:flex}.project-card:hover{border-color:var(--gold-bright)}.project-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.project-name{font-weight:600}.project-badge{color:#4338ca;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.project-badge[data-status=Blocked],.project-badge[data-status="Waiting on action"]{background:var(--brand-wash);color:var(--brand)}.project-badge[data-status=Done]{color:#047857;background:#ecfdf5}.project-badge[data-status=Pending\ testing]{color:#b45309;background:#fffbeb}.project-card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.project-area{background:#f3f4f6;border-radius:6px;padding:.05rem .35rem}.project-stale{color:var(--brand);font-weight:600}.view-toggle{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.view-toggle-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.3rem .75rem;font-size:.78rem}.view-toggle-btn[data-on=true]{color:#4338ca;background:#eef2ff;font-weight:600}.project-rows{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.project-row{text-align:left;background:var(--card);border:0;border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:.55rem;width:100%;padding:.45rem .7rem;font-size:.82rem;display:flex}.project-row:first-child{border-top:0}.project-row:hover{background:var(--paper-edge)}.project-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.project-row-who,.project-row-due{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.venture-done{margin-top:.6rem}.proj-backdrop{padding:0;overflow:hidden}.modal.project-modal{border:0;border-radius:0;flex-direction:column;width:100vw;max-width:none;height:100dvh;padding:0;display:flex}.proj-head{border-bottom:1px solid var(--line);margin:0;padding:.9rem clamp(1rem,4vw,2.5rem)}.proj-body{flex:1;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-content:start;gap:2rem;width:100%;max-width:1400px;min-height:0;margin:0 auto;padding:1.4rem clamp(1rem,4vw,2.5rem);display:grid;overflow-y:auto}.project-modal[data-mode=create] .proj-body{grid-template-columns:minmax(0,1fr);max-width:760px}.proj-main,.proj-side{flex-direction:column;gap:.9rem;min-width:0;display:flex}.proj-side{border-left:1px solid var(--line);padding-left:2rem}.proj-name-input{font-size:1.1rem;font-weight:600}.proj-hint{color:var(--ink-faint);margin-left:.4rem;font-size:.7rem;font-style:normal}@media (max-width:860px){.proj-body{grid-template-columns:minmax(0,1fr);gap:1.4rem}.proj-side{border-left:0;border-top:1px solid var(--line);padding-top:1.2rem;padding-left:0}.proj-row{flex-direction:column}}.proj-btn{font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap;padding:.45rem .9rem;font-size:.82rem;font-weight:500}.proj-btn:hover:not(:disabled){background:var(--paper-edge)}.proj-btn:disabled{opacity:.5;cursor:default}.proj-btn-danger{color:var(--brand);border-color:var(--brand-wash-line)}.proj-btn-danger:hover:not(:disabled){background:#fef2f2}.proj-kbd{font-family:var(--font-mono);opacity:.75;margin-left:.25rem;font-size:.75rem}.proj-msg{margin:0}.proj-field{flex-direction:column;gap:.25rem;font-size:.8rem;display:flex}.proj-field>span{color:var(--ink-soft)}.proj-row{gap:.75rem;display:flex}.proj-row .proj-field{flex:1}.proj-note{resize:vertical;font-family:inherit}.proj-areas{flex-wrap:wrap;gap:.35rem;display:flex}.proj-chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.proj-chip[data-on=true]{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.proj-actions{border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem clamp(1rem,4vw,2.5rem);display:flex}.proj-actions-spacer{flex:1}.project-latest{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.project-cmt{color:var(--ink);font-weight:600}.proj-comment-add{align-items:center;gap:.4rem;display:flex}.proj-comment-add .goal-input{flex:1}.proj-thread{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.proj-thread-item{border-left:2px solid var(--line);flex-direction:column;gap:.1rem;padding-left:.5rem;display:flex}.proj-thread-meta{color:var(--ink-faint);font-size:.68rem}.proj-thread-text{white-space:pre-wrap;font-size:.82rem}.proj-thread-empty{color:var(--ink-faint);font-size:.75rem}.proj-atts{flex-direction:column;gap:.25rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.proj-atts-empty{color:var(--ink-faint);font-size:.85rem}.proj-att{align-items:center;gap:.5rem;display:flex}.proj-att-link{color:inherit;flex:1;align-items:center;gap:.4rem;min-width:0;text-decoration:none;display:flex}.proj-att-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proj-att-rm{cursor:pointer;color:var(--ink-faint);background:0 0;border:none}.proj-att-add{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.proj-att-linkform{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}
:root{--ink:#0b1420;--ink-hover:#1c2a3d;--ink-soft:#5b6472;--ink-faint:#8a929e;--paper:#f4f5f7;--paper-edge:#eceef2;--card:#fff;--line:#e1e4e9;--line-strong:#cfd4db;--brand:#9d0b0d;--brand-deep:#6f0709;--brand-wash:#fbeeee;--brand-wash-line:#efc9c9;--ok:#15803d;--ok-deep:#166534;--ok-wash:#f2fbf5;--warn:#c2850c;--info:#2f5fd0;--gain:var(--ok);--loss:var(--brand);--glass-yellow:linear-gradient(180deg, #ffec99bf, #ffdd6673);--glass-yellow-hover:linear-gradient(180deg, #ffec99e6, #fd69);--font-display:var(--cx-text), "Work Sans", system-ui, sans-serif;--font-body:var(--cx-text), "Work Sans", system-ui, sans-serif;--radius-lg:16px;--radius:14px;--radius-sm:10px;--radius-xs:8px;--pill:999px;--shadow:0 1px 2px #0b14200a;--shadow-lift:0 26px 34px -14px #0b142052;--ring:0 0 0 3px #0b142014;--item-size:.85rem;--item-weight:400;--item-leading:1.45;--sidebar:var(--paper);--gold:var(--ink);--gold-bright:var(--brand);--gold-wash:var(--brand-wash);--cx-ground:var(--paper);--cx-surface:var(--card);--cx-ink:var(--ink);--cx-muted:var(--ink-soft);--cx-faint:var(--ink-faint);--cx-line:var(--line);--cx-line-2:var(--line-strong);--cx-red:var(--brand);--cx-green:var(--ok);--cx-amber:var(--warn);--cx-blue:var(--info);--cx-r:var(--radius)}.page,.topnav-inner{max-width:none}body{background:var(--paper);font-family:var(--font-body)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h2,h3{font-family:var(--font-display)}.page-head{align-items:flex-end;gap:1rem}.cx-head-text{flex-direction:column;gap:.25rem;min-width:0;display:flex}.page-title,.cx-h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1}.section-label,.eyebrow,.cx-eyebrow{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-size:.72rem;font-weight:600}.cx-eyebrow{margin:0}.sw-letters>span{white-space:pre;opacity:0;animation:.5s cubic-bezier(.2,.8,.2,1) forwards sw-letter-rise;display:inline-block;transform:translateY(.45em)}@keyframes sw-letter-rise{to{opacity:1;transform:none}}.card{background:var(--card);border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.empty{border-radius:var(--radius)}.chip{font-family:var(--font-display);letter-spacing:.08em;font-weight:600}.goal-input{border-color:var(--line-strong);border-radius:var(--radius-xs);background:var(--card);color:var(--ink);font-family:var(--font-body)}.goal-input:focus{border-color:var(--ink);box-shadow:var(--ring);outline:none}.fin-submit,.cbtn,.filter,.view-toggle,.venture-sort{border-radius:var(--pill)}.fin-submit,.cbtn{position:relative;overflow:hidden}.fin-submit{font-family:var(--font-display);letter-spacing:.03em;background:var(--ink);font-size:.98rem;font-weight:700}.fin-submit:hover{background:var(--ink-hover)}.cbtn{font-family:var(--font-display);letter-spacing:.03em;white-space:nowrap;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);cursor:pointer;justify-content:center;align-items:center;gap:.3rem;padding:.5rem 1rem;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.cbtn:hover{border-color:var(--ink-soft)}.cbtn:disabled{opacity:.5;cursor:default}.cbtn[data-on=true]{background:var(--ink);border-color:var(--ink);color:#fff}.cbtn[data-variant=go]{background:var(--ok);border-color:var(--ok);color:#fff}.cbtn[data-variant=go]:hover{background:var(--ok-deep)}.cbtn[data-variant=danger]{color:var(--brand);border-color:var(--brand-wash-line);background:var(--card)}.cbtn[data-variant=danger]:hover{background:var(--brand-wash);border-color:var(--brand)}.filter{border-color:var(--line-strong);background:var(--card);font-family:var(--font-display);letter-spacing:.04em;font-weight:600}.filter[data-active=true],.view-toggle-btn[data-on=true],.venture-sort-btn[data-on=true]{background:var(--ink);border-color:var(--ink);color:#fff}.view-toggle{border-color:var(--line-strong);background:var(--card)}.view-toggle-btn{font-family:var(--font-display);letter-spacing:.03em;font-size:.9rem;font-weight:600}.fin-submit:before,.cbtn:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff57 50%,#0000 100%);width:45%;position:absolute;top:0;bottom:0;left:0;transform:translate(-130%)skew(-18deg)}.cbtn:not([data-variant=go]):not([data-on=true]):before{background:linear-gradient(100deg,#0000 0%,#9d0b0d24 50%,#0000 100%)}.fin-submit:hover:before,.cbtn:hover:before{transition:transform .8s;transform:translate(330%)skew(-18deg)}.goal-link-btn,.cal-more,.proj-att-link,.cx-inbox-hint,.cfile-lightbox-bar a:not(.cbtn){background-image:linear-gradient(var(--brand), var(--brand));background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;text-decoration:none;transition:background-size .3s}.goal-link-btn:hover,.cal-more:hover,.proj-att-link:hover,.cx-inbox-toggle:hover .cx-inbox-hint{background-size:100% 2px;text-decoration:none}.content-card,.project-card,.pk-card,.cfile{transition:transform .25s,box-shadow .25s,background .2s,border-color .2s,opacity .16s}.content-card:hover,.project-card:hover,.pk-card:hover,.cfile:hover{box-shadow:var(--shadow-lift);transform:translateY(-7px)}.project-card[data-flag=true],.project-row[data-flag=true],.pk-card[data-flag=true]{background:var(--brand-wash);border:1px solid var(--brand-wash-line)}.project-card[data-flag=true]:hover,.pk-card[data-flag=true]:hover{background:#fbe7e7;border-color:#e9a3a3}.project-row[data-flag=true]{border-width:1px 0 0}.topnav{z-index:40;-webkit-backdrop-filter:saturate(160%)blur(14px);background:#ffffff9e;border-bottom:1px solid #0b14200f;position:sticky;top:0}.topnav-brand{font-family:var(--font-display);letter-spacing:.02em;font-weight:700}.topnav-link{font-family:var(--font-display);letter-spacing:.02em;font-weight:600}.topnav-link[data-active=true]{background:var(--glass-yellow);color:var(--ink);-webkit-backdrop-filter:blur(6px);font-weight:700;box-shadow:inset 0 0 0 1px #d6aa1e59,0 1px 4px #d6aa1e2e}.topnav-link[data-active=true]:hover{background:var(--glass-yellow-hover)}.cx-legend{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;margin:0 0 .7rem;padding:0;font-size:.8rem;list-style:none;display:flex}.cx-legend li{align-items:center;gap:.45rem;display:inline-flex}.cx-legend-note{color:var(--ink-faint);margin-left:auto;font-size:.8rem}.cx-legend li[data-status]:before,.content-status:before{content:"";flex:none;width:9px;height:9px;display:inline-block}:is(.cx-legend li,.content-status)[data-status=idea]:before{border:2px solid var(--ink-soft);border-radius:var(--pill);width:8px!important;height:8px!important}:is(.cx-legend li,.content-status)[data-status=draft]:before{background:var(--brand);border-radius:var(--pill)}:is(.cx-legend li,.content-status)[data-status=approved]:before{background:var(--ok);border-radius:2px}:is(.cx-legend li,.content-status)[data-status=scheduled]:before{background:var(--warn);border-radius:1px;transform:rotate(45deg)}:is(.cx-legend li,.content-status)[data-status=posted]:before{background:var(--info);border-radius:2px}:is(.cx-legend li,.content-status)[data-status=dropped]:before{background:var(--ink-faint);border-radius:var(--pill)}.cx-page{max-width:none;color:var(--ink)}.cx-page .page-head{margin-bottom:1rem}.content-head-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.content-weeknav{align-items:center;gap:.4rem;display:inline-flex}.content-page .content-head{flex-wrap:nowrap;align-items:center;gap:1rem;margin-bottom:.7rem}.content-page .content-head .cx-head-text,.content-page .content-head .content-head-actions{flex:none}.cx-strip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex:auto;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;display:grid;overflow:hidden}.cx-strip-cell{flex-wrap:wrap;align-items:center;gap:.15rem .6rem;padding:.4rem .75rem .45rem;display:flex}.cx-strip-cell+.cx-strip-cell{border-left:1px solid var(--line)}.cx-strip-title{font-family:var(--font-display);color:var(--ink);align-items:center;gap:.5rem;font-size:.92rem;font-weight:700;display:flex}.cx-swatch{background:var(--stream);border-radius:3px;flex:none;width:10px;height:10px}.cx-strip-sub{color:var(--ink-soft);margin-left:auto;font-size:.78rem}.cx-strip-bar{border-radius:var(--pill);background:#eef0f3;flex-basis:100%;height:3px;margin-top:.1rem;overflow:hidden}.cx-strip-bar>span{border-radius:inherit;background:var(--stream);height:100%;display:block}.cx-strip-cell[data-met=true] .cx-strip-sub{color:var(--ok)}.cx-strip-cell[data-met=true] .cx-strip-bar>span{background:var(--ok)}@media (max-width:1100px){.content-page .content-head{flex-wrap:wrap}.content-page .content-head .cx-strip{flex-basis:100%;order:3}}.content-grid{grid-template-columns:minmax(200px,240px) 1fr;align-items:start;gap:.9rem;display:grid}.content-grid>section,.content-days>.content-day{margin-top:0}.content-days{grid-template-columns:repeat(7,minmax(130px,1fr));gap:.6rem;display:grid;overflow-x:auto}.content-inbox{border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:0 0;flex-direction:column;gap:.55rem;padding:.9rem;display:flex}.content-inbox[data-expanded=true]{background:var(--card);border-style:solid;border-color:var(--line)}.cx-inbox-toggle{cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:.5rem;width:100%;margin:0;padding:0;display:flex}.cx-inbox-toggle>span:first-child{font-family:var(--font-display);color:var(--ink);font-size:1.25rem;font-weight:700}.cx-inbox-toggle .venture-count{color:var(--ink-soft);font-size:.8rem;font-weight:500}.cx-inbox-hint{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-left:auto;font-size:.72rem;font-weight:600}.content-quick{gap:.4rem;display:flex}.content-day{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:0;min-height:62vh;padding:0;display:flex;overflow:hidden}.content-day>:not(.planner-day-head){margin:.55rem .6rem 0}.content-day>.content-add-day{margin-bottom:.6rem}.content-day .planner-day-head{background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;display:flex}.content-day .planner-dow{background:var(--brand);color:#fff;text-align:center;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;padding:.32rem 0 .28rem;font-size:.74rem;font-weight:600;display:block}.content-day .planner-daynum{text-align:center;font-family:var(--font-display);color:var(--ink);margin:0;padding:.2rem 0 .35rem;font-size:2rem;font-weight:600;line-height:1.05;display:block}.content-day[data-today=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.content-day[data-today=true] .planner-dow{background:var(--brand-deep)}.content-day[data-today=true] .planner-daynum{color:var(--brand);font-weight:700}.content-day-empty{color:var(--ink-faint);text-align:center;padding:.4rem 0;font-size:.78rem}.content-empty,.content-guide{color:var(--ink-soft);font-size:.82rem}.content-msg{color:var(--ink);font-size:.82rem}.content-add-day{font:inherit;border:1px dashed var(--line-strong);border-radius:var(--radius-xs);color:var(--ink-faint);cursor:pointer;background:0 0;padding:.2rem}.content-add-day:hover{border-color:var(--ink);color:var(--ink)}.content-inbox[data-over=true],.content-day[data-over=true],.cx-lane[data-over=true]{border-color:var(--ok);background:var(--ok-wash)}.content-page .content-grid[data-inbox-open=true]{grid-template-columns:minmax(560px,46%) 1fr}.content-page .content-grid[data-inbox-open=true] .content-days{grid-template-columns:repeat(7,minmax(120px,1fr))}.cx-lanes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.6rem;display:grid}.cx-lane{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;min-height:50vh;padding:.55rem;display:flex}.cx-lane-head{margin:0 0 .1rem}.cx-lane-head>span{color:var(--ink-faint);letter-spacing:0;margin-left:.25rem}@media (max-width:1100px){.content-page .content-grid[data-inbox-open=true]{grid-template-columns:1fr}}@media (max-width:860px){.content-grid{grid-template-columns:1fr}.content-day{min-height:0}.cx-legend-note{margin-left:0}}.content-card{--tint:var(--stream,#94a3b8);font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:color-mix(in srgb, var(--tint) 9%, white);border:1px solid color-mix(in srgb, var(--tint) 32%, white);border-radius:var(--radius-sm);flex-direction:column;align-items:stretch;gap:.45rem;padding:.65rem .75rem .6rem;display:flex}.content-card:hover{background:color-mix(in srgb, var(--tint) 14%, white);border-color:color-mix(in srgb, var(--tint) 55%, white)}.content-card[draggable=true]{cursor:grab}.content-card[draggable=true]:active{cursor:grabbing}.content-card[data-status=posted]{opacity:.65}.content-card .content-stream-dot{display:none}.content-card-title{font-family:var(--font-body);font-weight:var(--item-weight);font-size:var(--item-size);line-height:var(--item-leading);color:var(--ink)}.content-card-meta{flex-wrap:wrap;align-items:center;gap:.35rem .7rem;display:flex}.content-status,.content-format{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:0 0;border-radius:0;align-items:center;gap:.35rem;padding:0;font-size:.72rem;font-weight:600;display:inline-flex}.content-status[data-status=draft]{color:var(--brand)}.content-status[data-status=approved]{color:var(--ok)}.content-status[data-status=scheduled]{color:var(--warn)}.content-status[data-status=posted]{color:var(--info)}.content-streams{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:.75rem;display:flex}.content-stream-row{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.5rem;display:grid}.content-stream-row textarea{grid-column:1/-1}.content-stream-row[data-active=false]{opacity:.6}.content-stream-dot{border-radius:var(--pill);flex:none;width:.6rem;height:.6rem;display:inline-block}.content-target,.content-active{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.content-target input{width:4rem}.content-page{max-width:none}.content-backdrop{align-items:stretch;padding:2vh 2vw}.content-sheet{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;height:96vh;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.content-sheet-head{background:var(--card);border-bottom:1px solid var(--line);align-items:flex-start;gap:1rem;padding:1.2rem 1.6rem 1rem;display:flex}.content-sheet-head .cx-head-text{flex:1}.content-sheet-head .meal-cancel{margin-left:auto}.cx-title-input{width:100%;font-family:var(--font-display);color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:700;line-height:1.1}.cx-title-input::placeholder{color:var(--ink-faint)}.cx-title-input:focus-visible{box-shadow:0 2px 0 var(--brand);outline:0}.content-sheet-body{background:var(--paper);flex:1;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:1.2rem;min-height:0;padding:1.2rem 1.6rem;display:grid;overflow:hidden}.content-sheet-main,.content-sheet-side{flex-direction:column;gap:.9rem;height:100%;min-height:0;padding-right:.3rem;display:flex;overflow-y:auto}.content-grow{flex-direction:column;display:flex}.content-body-input{resize:vertical;flex:1;min-height:16rem;line-height:1.55}.csec,.content-sheet-side .cfiles{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex-shrink:0;gap:.7rem;margin:0;padding:1.1rem 1.25rem 1.25rem;display:flex}.csec-head,.cfiles-head{font-family:var(--font-display);color:var(--ink);align-items:baseline;gap:.75rem;margin:0 0 .2rem;font-size:1.45rem;font-weight:700;line-height:1.1;display:flex}.csec-meta{font-family:var(--font-body);color:var(--ink-soft);margin-left:auto;font-size:.86rem;font-weight:400}.csec-meta[data-live=true]{color:var(--ok);font-weight:500}.csec[data-kind=script]{border-style:dashed;border-color:var(--line-strong)}.csec[data-kind=script] textarea{font-family:var(--font-mono);background:#fafbfc;font-size:.86rem}.csec[data-kind=caption]{border-color:#b7e2c4;box-shadow:0 1px #b7e2c4}.csec .proj-field>span,.cfiles .proj-field>span,.project-modal .proj-field>span,.ts-details .proj-field>span{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem;font-weight:600}.content-sheet-foot{background:var(--card);border-top:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.9rem 1.6rem;display:flex;overflow-x:auto}.content-sheet-foot>*{flex-shrink:0}.content-foot-spacer{flex:1}.content-sheet-foot .cbtn[data-variant=danger]{margin-left:0}.content-sched{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-sm);align-items:center;gap:.45rem;width:auto;padding:.3rem .4rem .3rem .8rem;display:inline-flex}.content-sched-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;font-size:.78rem;font-weight:600}.content-sched .goal-input{width:auto;padding-top:.35rem;padding-bottom:.35rem}@media (max-width:860px){.content-backdrop{padding:0}.content-sheet{border-radius:0;height:100vh}.content-sheet-body{grid-template-columns:1fr;padding:1rem;overflow-y:auto}.content-sheet-main,.content-sheet-side{height:auto;overflow:visible}.content-sheet-foot{flex-wrap:wrap}}.cfiles{min-height:100%}.cfiles[data-drag=true]{border-color:var(--ok);background:var(--ok-wash);border-style:dashed}.cfiles-bar{background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0;display:flex}.cfiles-bar .cbtn[data-busy=true]{opacity:.6}.cfiles-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.cfile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden}.cfile-open{cursor:zoom-in;aspect-ratio:4/5;background:#111;border:0;padding:0;display:block}.cfile-media{object-fit:cover;width:100%;height:100%;display:block}.cfile-icon{background:var(--paper-edge);width:100%;height:100%;font-family:var(--font-display);color:var(--ink-soft);place-items:center;font-size:1.1rem;font-weight:600;display:grid}.cfile-audio{background:var(--paper-edge);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;padding:.5rem;font-size:1.6rem;display:flex}.cfile-audio audio{width:100%}.cfile-cap{flex-direction:column;gap:.1rem;padding:.4rem .5rem;display:flex}.cfile-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.cfile-meta{color:var(--ink-soft);font-size:.7rem}.cfile-rm{border-radius:var(--pill);color:#fff;cursor:pointer;background:#0009;border:0;width:1.6rem;height:1.6rem;position:absolute;top:.35rem;right:.35rem}.cfile-lightbox{z-index:60;background:#0a0a0acc;justify-content:center;align-items:center;padding:3vh 3vw;display:flex;position:fixed;inset:0}.cfile-lightbox-inner{flex-direction:column;gap:.75rem;width:100%;height:100%;display:flex}.cfile-lightbox-bar{color:#fff;align-items:center;gap:.6rem;display:flex}.cfile-lightbox-bar .cfile-title{color:#fff;flex:1;font-size:.95rem}.cfile-lightbox-inner>.cfile-media,.cfile-lightbox-inner>.cfile-audio,.cfile-lightbox-inner>.cfile-icon{object-fit:contain;background:0 0;flex:1;min-height:0}.cfile-pdf{background:#fff;border:0}.projects-page .projects-head{align-items:center;margin-bottom:1rem}.projects-page .venture-group{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:1rem 1.2rem 1.15rem}.projects-page .venture-head{border-bottom:1px solid var(--line);font-family:var(--font-display);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.9rem;margin:0 0 .8rem;padding:0 0 .6rem;font-size:1.5rem;font-weight:700;display:flex}.projects-page .venture-count{font-family:var(--font-body);color:var(--ink-soft);background:0 0;margin-left:auto;padding:0;font-size:.86rem;font-weight:400}.venture-sort{background:var(--card);border:1px solid var(--line-strong);display:inline-flex;overflow:hidden}.venture-sort-btn{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.28rem .75rem;font-size:.78rem;font-weight:600;transition:background .15s,color .15s}.venture-sort-btn+.venture-sort-btn{border-left:1px solid var(--line)}.venture-sort-btn:hover{color:var(--ink)}.projects-page .project-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.projects-page .project-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .8rem}.projects-page .project-card:hover{border-color:var(--line-strong)}.projects-page .project-card-top{flex-direction:column-reverse;align-items:flex-start;gap:.3rem}.projects-page .project-name,.projects-page .project-row-name{font-family:var(--font-body);font-weight:var(--item-weight);font-size:var(--item-size);line-height:var(--item-leading);color:var(--ink)}.projects-page .project-card-meta{color:var(--ink-soft);font-size:.78rem}.projects-page .project-latest{color:var(--ink-soft);font-size:.82rem}.projects-page .project-rows{border-color:var(--line);border-radius:var(--radius-sm)}.projects-page .project-row{background:var(--card);border-top-color:var(--line)}.project-row-main{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.project-row-main .project-row-name{flex:none}.project-next{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--ink);text-align:left;font-size:.78rem;display:block;overflow:hidden}.project-card .project-next,.pk-card .project-next{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;align-self:stretch;display:-webkit-box}.project-next-day{color:var(--ink-soft)}.project-next[data-late],.project-next[data-late] .project-next-day{color:var(--brand)}.project-modal .proj-next{background:var(--brand-wash);border:1px solid var(--brand-wash-line);border-radius:var(--radius-sm);gap:.4rem;padding:.75rem .85rem .8rem}.project-modal .proj-next>span{color:var(--brand)}.proj-next-empty{color:var(--ink-soft);margin:0;font-size:.85rem}.proj-steps{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.proj-step{align-items:flex-start;gap:.6rem;display:flex}.proj-step-box{background:var(--card);border:1.5px solid var(--ink-soft);cursor:pointer;border-radius:5px;flex:none;width:18px;height:18px;margin-top:.15rem;padding:0;transition:background .15s,border-color .15s}.proj-step-box:hover:not(:disabled){border-color:var(--ok);background:var(--ok-wash)}.proj-step-text{flex-direction:column;min-width:0;display:flex}.proj-step-title{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.88rem}.proj-step[data-first] .proj-step-title{color:var(--ink);font-weight:600}.proj-step-day{color:var(--ink-soft);font-size:.76rem}.proj-step[data-late] .proj-step-day{color:var(--brand)}.proj-step[data-done] .proj-step-box{background:var(--ok);border-color:var(--ok);cursor:default}.proj-step[data-done] .proj-step-title{color:var(--ink-faint);text-decoration:line-through}.proj-step-add{gap:.4rem;margin-top:.15rem;display:flex}.proj-step-add .goal-input{background:var(--card);flex:1;min-width:0}.proj-step-add .proj-step-date{flex:0 0 9.5rem}.proj-step-donetoggle{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem}@media (max-width:640px){.proj-step-add{flex-wrap:wrap}.proj-step-add .proj-step-date{flex:8rem}}.projects-page .venture-done .goal-link-btn{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--pill);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:.35rem .7rem;font-size:.78rem;font-weight:600}.project-badge{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--info);white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:0;font-size:.7rem;font-weight:600;display:inline-flex}.project-badge:before{content:"";background:currentColor;border-radius:2px;width:8px;height:8px}.project-badge[data-status=Not\ started]{color:var(--ink-soft)}.project-badge[data-status=Not\ started]:before{border-radius:var(--pill);background:0 0;border:2px solid;width:6px;height:6px}.project-badge[data-status=Blocked],.project-badge[data-status="Waiting on action"]{color:var(--brand);background:0 0}.project-badge[data-status=Pending\ testing]{color:var(--warn);background:0 0}.project-badge[data-status=Pending\ testing]:before{transform:rotate(45deg)}.project-badge[data-status=Done]{color:var(--ok);background:0 0}.projects-page .modal-backdrop{align-items:center;padding:3vh 3vw}.projects-page .modal.project-modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;width:min(1100px,100%);max-height:94vh;padding:0;display:flex;overflow:hidden}.projects-page .project-modal .modal-head{background:var(--card);border-bottom:1px solid var(--line);margin:0;padding:1.1rem 1.5rem}.projects-page .project-modal .modal-title{font-family:var(--font-display);color:var(--ink);font-size:1.7rem;font-weight:700}.projects-page .project-modal>:not(.modal-head):not(.proj-actions):not(.goal-msg):not(.proj-lightbox){background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:.9rem 1.5rem 0;padding:1rem 1.2rem}.projects-page .modal.project-modal>.proj-body.proj-body:not(.x){box-sizing:border-box;background:0 0;border:0;border-radius:0;flex:auto;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:1rem;width:auto;min-height:0;margin:0;padding:1rem 1.5rem;overflow-y:auto}.projects-page .project-modal .proj-main,.projects-page .project-modal .proj-side{box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:1rem 1.2rem 1.1rem}.projects-page .project-modal .proj-name-input{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.projects-page .project-modal .proj-chip[data-on=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.projects-page .project-modal .proj-note{min-height:6rem}.projects-page .project-modal .proj-actions{box-sizing:border-box;background:var(--card);border-top:1px solid var(--line);flex:none;width:100%;margin:0;padding:.9rem 1.5rem}.projects-page .project-modal .goal-msg{margin:.5rem 1.5rem 1rem}.proj-att[data-image] .proj-att-link{align-items:center;gap:.6rem;display:flex}.proj-att-thumb{object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--paper);flex:none;width:56px;height:40px}.proj-pending{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.proj-pending-img{position:relative}.proj-pending-img img{object-fit:cover;border:1px solid var(--line-strong);border-radius:var(--radius-xs);width:72px;height:54px;display:block}.proj-pending-img button{border-radius:var(--pill);background:var(--ink);color:#fff;cursor:pointer;border:0;width:1.3rem;height:1.3rem;padding:0;font-size:.7rem;line-height:1;position:absolute;top:-6px;right:-6px}.proj-pending-busy{color:var(--ink-soft);font-size:.8rem}.proj-thread-imgs{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.proj-thread-imgs img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--paper);max-width:220px;max-height:160px;transition:transform .2s,box-shadow .2s;display:block}.proj-thread-link{color:var(--brand);overflow-wrap:anywhere}.proj-thread-imgs a:hover img{transform:translateY(-3px);box-shadow:0 10px 20px -10px #0b142059}button.proj-att-view{width:100%;font:inherit;text-align:left;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0}.proj-thread-imgs button{cursor:zoom-in;background:0 0;border:0;padding:0}.proj-thread-imgs button:hover img{transform:translateY(-3px);box-shadow:0 10px 20px -10px #0b142059}.proj-pending-img img{cursor:zoom-in}.proj-lightbox{z-index:80}.proj-lightbox .cfile-media{object-fit:contain;background:0 0;flex:1;min-height:0}.pk-board{grid-auto-columns:minmax(230px,1fr);grid-auto-flow:column;align-items:start;gap:.7rem;padding-bottom:.6rem;display:grid;overflow-x:auto}.pk-lane{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;min-height:70vh;margin:0;padding:.7rem;transition:background .18s,border-color .18s,box-shadow .18s;display:flex}.pk-lane[data-status=Done]{background:#f6fbf7}.pk-lane[data-over=true]{border-color:var(--ink);background:#eef2f7;box-shadow:inset 0 0 0 2px #0b14201f}.pk-lane-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:0 0 .2rem;padding-bottom:.5rem;display:flex}.pk-count{font-family:var(--font-display);color:var(--ink-soft);font-size:1rem;font-weight:700}.pk-cards{flex-direction:column;gap:.5rem;display:flex}.pk-card{font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:grab;flex-direction:column;gap:.25rem;padding:.6rem .7rem;display:flex}.pk-card:active{cursor:grabbing}.pk-card[data-dragging=true]{opacity:.35;box-shadow:none;transform:scale(.97)rotate(-1deg)}.pk-card[data-landed=true]{animation:.42s cubic-bezier(.2,.9,.3,1.25) pk-land}@keyframes pk-land{0%{opacity:.4;transform:scale(.9)translateY(-8px);box-shadow:0 14px 30px #0b14202e}60%{opacity:1;transform:scale(1.03)}to{box-shadow:none;transform:none}}.pk-venture{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-size:.66rem;font-weight:600}.pk-name{font-family:var(--font-body);font-weight:var(--item-weight);font-size:var(--item-size);line-height:var(--item-leading)}.pk-meta{color:var(--ink-soft);font-size:.76rem}.pk-empty{text-align:center;color:var(--ink-faint);border:1px dashed var(--line-strong);border-radius:var(--radius-xs);margin:0;padding:.8rem 0;font-size:.78rem}.pk-msg{color:var(--brand);margin:0 0 .6rem}.page-head:has(.pw){flex-wrap:wrap;align-items:center}.pw,.pw[data-open=true]{display:contents}.pw-toggle{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--pill);cursor:pointer;align-self:center;align-items:center;gap:.5rem;margin-left:auto;padding:.45rem .6rem .45rem .9rem;display:inline-flex}.pw-toggle:hover{border-color:var(--ink)}.pw-title{font-family:var(--font-display);margin-right:.2rem;font-size:1rem;font-weight:700}.pw-count{border-radius:var(--pill);background:var(--paper-edge);font-family:var(--font-display);letter-spacing:.04em;color:var(--ink-soft);align-items:center;gap:.35rem;padding:.15rem .3rem .15rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.pw-count b{border-radius:var(--pill);background:var(--brand);color:#fff;place-items:center;min-width:1.35rem;height:1.35rem;font-size:.74rem;display:inline-grid}.pw-count[data-col=doing] b{background:var(--ink)}.pw-count[data-zero=true] b{background:#c7ccd4}.pw-chev{color:var(--ink-soft);padding:0 .2rem;font-size:.8rem}.pw-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-basis:100%;order:10;margin-top:.7rem;padding:.9rem 1rem 1rem}.board-pool-col{--col:#64748b;--col-bg:#f3f5f8;--col-head:#e6eaf0;background:var(--col-bg);border:1px solid color-mix(in srgb, var(--col) 22%, white);border-radius:var(--radius);padding:0;overflow:hidden}.board-pool-col[data-stage=todo]{--col:#b7791f;--col-bg:#fffaf0;--col-head:#fdecc8}.board-pool-col[data-stage=doing]{--col:var(--info);--col-bg:#f4f7ff;--col-head:#dde7ff}.board-pool-col-head{background:var(--col-head);border-bottom:1px solid color-mix(in srgb, var(--col) 25%, white);justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.6rem .85rem;display:flex}.board-pool-col-head .planner-dow{font-family:var(--font-display);letter-spacing:.12em;color:var(--col);font-size:.82rem;font-weight:700}.board-pool-col-head .board-pool-count{border-radius:var(--pill);background:var(--col);color:#fff;min-width:1.5rem;height:1.5rem;font-family:var(--font-display);place-items:center;padding:0 .4rem;font-size:.78rem;font-weight:700;display:inline-grid}.board-pool-col-tasks{padding:.55rem .7rem .75rem}.cal-split{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:1rem;display:grid}.cal-split>.calendar{margin:0}.calendar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar .cal-head{background:var(--brand);color:#fff;margin:0;padding:.7rem 1rem .3rem}.calendar .cal-title{font-family:var(--font-display);color:#fff;font-size:1.6rem;font-weight:700}.calendar .cal-nav{width:2.3rem;height:2.3rem;color:var(--ink);border-radius:var(--pill);background:#fff;border:0;place-items:center;padding:0;font-size:1.25rem;font-weight:700;line-height:1;display:inline-grid;box-shadow:0 1px 3px #0b14202e}.calendar .cal-nav:hover{color:var(--brand);background:#fff}.calendar .cal-grid{background:linear-gradient(var(--brand) 0 2.1rem, var(--card) 2.1rem);gap:5px;padding:0 .6rem .6rem}.calendar .cal-dow{color:#fff;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;border:0;margin:0;padding:.35rem 0 .75rem;font-size:.72rem;font-weight:600}.calendar .cal-cell{border:1px solid var(--line);border-radius:var(--radius-sm)}.calendar .cal-cell[data-today=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.calendar .cal-daynum{font-family:var(--font-display);font-size:.95rem;font-weight:700}.calendar .cal-cell[data-today=true] .cal-daynum{color:var(--brand)}.cal-today{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);position:sticky;top:4.5rem;overflow:hidden}.cal-today .cal-detail-title{background:var(--brand);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-display);margin:0;padding:.8rem 1rem;font-size:1.15rem;font-weight:700}.cal-today .cal-detail-list,.cal-today .cal-detail-empty{padding:.7rem 1rem .9rem}.cal-today .cal-detail-item{border-bottom:1px solid var(--line);grid-template-columns:4.2rem 1fr;gap:.5rem;padding:.35rem 0;display:grid}.cal-today .cal-detail-item:last-child{border-bottom:0}.cal-today .cal-detail-when{font-family:var(--font-mono);color:var(--ink-soft);font-size:.78rem}.calendar .cal-chip{font-size:var(--item-size);line-height:var(--item-leading);color:var(--ink);padding:2px 4px}.calendar .cal-chip-time{color:var(--ink-soft)}.board-task-title{font-size:var(--item-size);line-height:var(--item-leading)}@media (max-width:640px){.calendar .cal-chip{font-size:.7rem}}.calendar .cal-chip[draggable=true]{cursor:grab}.calendar .cal-chip[draggable=true]:active{cursor:grabbing}.calendar .cal-cell[data-over]{border-color:var(--ok);background:var(--ok-wash);box-shadow:0 0 0 1px var(--ok)}.cal-msg{background:var(--brand-wash);color:var(--brand);margin:0;padding:.5rem 1rem;font-size:.85rem}.cal-today .cal-detail-list{margin:0;list-style:none}.cal-today .cal-detail-list>li{border-bottom:1px solid var(--line)}.cal-today .cal-detail-list>li:last-child{border-bottom:0}.cal-today .cal-detail-item{width:100%;font:inherit;font-size:var(--item-size);line-height:var(--item-leading);text-align:left;color:var(--ink);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;margin:.1rem -.4rem;padding:.45rem .4rem;transition:background .15s}.cal-today .cal-detail-item:hover{background:var(--paper)}.cal-today .cal-detail-item[draggable=true]{cursor:grab}.cal-pop{border-radius:var(--radius);width:270px;padding:.9rem 1rem 1rem;box-shadow:0 18px 40px -16px #0b142059}.cal-pop-kind{font-family:var(--font-display);letter-spacing:.12em;font-weight:600}.cal-pop-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.cal-pop-row{flex-direction:column;gap:.3rem;margin-top:.7rem;display:flex}.cal-pop-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:600}.cal-pop-seg{border:1px solid var(--line-strong);border-radius:var(--pill);display:flex;overflow:hidden}.cal-pop-seg button{font:inherit;font-family:var(--font-display);color:var(--ink-soft);background:var(--card);cursor:pointer;border:0;flex:1;padding:.35rem .4rem;font-size:.8rem;font-weight:600}.cal-pop-seg button+button{border-left:1px solid var(--line)}.cal-pop-seg button:hover{color:var(--ink)}.cal-pop-seg button[data-on=true]{background:var(--ink);color:#fff}.cal-pop-date{width:100%;padding:.4rem .6rem}.cal-pop-btn{border-radius:var(--pill);font-family:var(--font-display);font-weight:600}.cal-pop-btn:hover{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.cal-pop-btn[data-kind=event]:hover{background:var(--brand-wash);border-color:var(--brand);color:var(--brand)}@media (max-width:980px){.cal-split{grid-template-columns:1fr}.cal-today{position:static}.pw-toggle{flex-wrap:wrap}}.cal-today .day-item{align-items:start;min-height:44px}.cal-today .day-item .cal-detail-what{overflow-wrap:anywhere;white-space:normal;min-width:0}.cal-today .day-item[data-kind=event]{background:#f4f7ff}.cal-today .day-item[data-kind=reminder]{background:#fffaf0}.cal-today .day-item[data-kind]:hover{background:var(--paper)}.day-edit{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);flex-direction:column;gap:.65rem;margin:.4rem -.4rem;padding:.75rem .8rem .85rem;display:flex}.day-edit[data-kind=event]{background:#f4f7ff;border-color:#dde7ff}.day-edit[data-kind=reminder]{background:#fffaf0;border-color:#fdecc8}.day-edit-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.day-edit-kind{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:600}.day-edit-x{border-radius:var(--pill);min-width:36px;min-height:36px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;margin:-.4rem -.4rem -.4rem 0;font-size:.95rem}.day-edit-x:hover{color:var(--ink);background:var(--card)}.day-edit-field{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.day-edit-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:600}.day-edit-label em{text-transform:none;letter-spacing:0;color:var(--ink-faint);font-style:normal;font-weight:400}.day-edit .goal-input{box-sizing:border-box;width:100%;min-width:0;font-size:16px}.day-edit-text{resize:vertical;field-sizing:content;min-height:4.5rem;max-height:14rem;line-height:1.4}.day-edit-input{min-height:40px}.day-edit-row{flex-wrap:wrap;gap:.6rem;display:flex}.day-edit-row>.day-edit-field{flex:9rem}.day-edit-time{align-items:center;gap:.35rem;display:flex}.day-edit-clear{border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--card);min-width:40px;min-height:40px;color:var(--ink-soft);cursor:pointer;flex:none}.day-edit-clear:hover{color:var(--brand);border-color:var(--brand-wash-line);background:var(--brand-wash)}.day-edit-seg{border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--card);display:flex;overflow:hidden}.day-edit-seg button{min-height:38px;font:inherit;font-family:var(--font-display);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex:1;padding:.35rem .4rem;font-size:.85rem;font-weight:600}.day-edit-seg button+button{border-left:1px solid var(--line)}.day-edit-seg button[data-on=true]{background:var(--brand-wash);color:var(--brand)}.day-edit-msg{border-radius:var(--radius-xs);background:var(--brand-wash);color:var(--brand);margin:0;padding:.45rem .6rem;font-size:.85rem}.day-edit-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.day-edit-gap{flex:1}.day-edit-btn{border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--card);min-height:38px;color:var(--ink);font:inherit;font-family:var(--font-display);cursor:pointer;padding:.4rem .95rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.day-edit-btn:disabled{opacity:.55;cursor:default}.day-edit-btn:hover:not(:disabled){border-color:var(--ink-faint)}.day-edit-save{background:var(--brand);border-color:var(--brand);color:#fff}.day-edit-save:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep)}.day-edit-done:hover:not(:disabled){background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.day-edit-del{color:var(--brand);border-color:var(--brand-wash-line)}.day-edit-del:hover:not(:disabled){background:var(--brand-wash)}.day-edit-del[data-armed=true]{background:var(--brand-wash);border-color:var(--brand);color:var(--brand)}.cal-pop-edit{box-sizing:border-box;width:100%;min-height:36px;color:var(--brand);border:1px solid var(--brand-wash-line);background:var(--brand-wash);justify-content:center;align-items:center;margin-top:.6rem;text-decoration:none;display:inline-flex}.cal-pop-edit:hover{background:var(--brand-wash);border-color:var(--brand);color:var(--brand-deep)}.overview-page .ov-head{align-items:flex-end;margin-bottom:1rem}.ov-meta{gap:1.6rem;margin:0;display:flex}.ov-meta>div{flex-direction:column;gap:.15rem;display:flex}.ov-meta dt{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:600}.ov-meta dd{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.15rem;font-weight:700}.ov-top{grid-template-columns:minmax(260px,330px) minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.overview-page .ov-top>*,.overview-page .ov-projects{margin-top:0}.ov-today{flex-direction:column;display:flex}.ov-today .cal-detail{flex:1}.ov-today{align-self:start}.ov-today .cal-detail{background:0 0;border:0;border-radius:0;padding:0 0 .6rem}.ov-today .cal-detail-title{margin:.6rem .6rem 0;font-size:1.2rem}.ov-today .ov-post{margin:.35rem 0}.ov-week{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ov-week-head{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.ov-week-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.2rem;font-weight:700}.ov-week-hint{color:var(--ink-faint);margin-right:auto;font-size:.8rem}.ov-week-head .cbtn{padding:.35rem .85rem;font-size:.85rem}.ov-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;padding:.7rem;display:grid;overflow-x:auto}.ov-day{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;min-width:120px;min-height:340px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.ov-day[data-past=true]{background:var(--paper)}.ov-day[data-past=true] .ov-day-body{opacity:.7}.ov-day[data-today=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.ov-day[data-over]{border-color:var(--ok);background:var(--ok-wash);box-shadow:0 0 0 1px var(--ok)}.ov-day-head{border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;display:flex}.ov-dow{background:var(--brand);color:#fff;text-align:center;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;padding:.28rem 0 .24rem;font-size:.7rem;font-weight:600}.ov-day[data-today=true] .ov-dow{background:var(--brand-deep)}.ov-daynum{text-align:center;font-family:var(--font-display);color:var(--ink);padding:.15rem 0 .25rem;font-size:1.5rem;font-weight:700;line-height:1.1}.ov-day[data-today=true] .ov-daynum{color:var(--brand)}.ov-day-body{flex-direction:column;gap:.35rem;padding:.45rem;display:flex}.ov-day-empty{text-align:center;color:var(--ink-faint);padding:.5rem 0;font-size:.75rem}.ov-item{width:100%;font:inherit;text-align:left;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;flex-direction:column;gap:.05rem;padding:.35rem .45rem;transition:transform .2s,box-shadow .2s,border-color .15s;display:flex}.ov-item:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 8px 16px -10px #0b142059}.ov-item[draggable=true]{cursor:grab}.ov-item[data-done=true]{opacity:.55;text-decoration:line-through}.ov-item[data-kind=event]{background:#f4f7ff;border-color:#dde7ff}.ov-item[data-kind=reminder]{background:#fffaf0;border-color:#fdecc8}.ov-item-time{font-family:var(--font-mono);color:var(--ink-soft);font-size:.7rem}.ov-item-title{overflow-wrap:anywhere;font-size:.8rem;line-height:1.3}.ov-post{--tint:var(--stream,#94a3b8);color:var(--ink);background:color-mix(in srgb, var(--tint) 10%, white);border:1px solid color-mix(in srgb, var(--tint) 35%, white);border-radius:var(--radius-xs);flex-direction:column;gap:.15rem;padding:.4rem .5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.ov-post:hover{transform:translateY(-2px);box-shadow:0 8px 16px -10px #0b142059}.ov-post-title{font-family:var(--font-display);overflow-wrap:anywhere;font-size:.8rem;font-weight:600;line-height:1.25}.ov-post-meta{color:var(--ink-soft);font-size:.68rem}.ov-post-meta .content-status{font-size:.64rem}.ov-sub{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:.4rem;margin:.8rem 0 .2rem;font-size:.7rem;font-weight:700;display:flex}.ov-sub span{border-radius:var(--pill);background:var(--paper-edge);min-width:1.25rem;height:1.25rem;color:var(--ink-soft);letter-spacing:0;place-items:center;padding:0 .3rem;font-size:.68rem;display:inline-grid}.ov-sub-alert{color:var(--brand)}.ov-sub-alert span{background:var(--brand);color:#fff}.ov-today .cal-detail-list,.ov-today .cal-detail-empty{padding-left:1rem;padding-right:1rem}.ov-overdue .cal-detail-list{padding-left:0;padding-right:0}.ov-overdue .cal-detail-list,.ov-doing .cal-detail-list{padding-top:0;padding-bottom:.2rem}.ov-overdue{background:color-mix(in srgb, var(--brand-wash) 60%, white);border-bottom:1px solid var(--brand-wash-line);margin:.6rem 0 0;padding:0 1rem}.ov-overdue .ov-sub:first-child{margin-top:.7rem}.ov-overdue>.ov-sub:last-child{color:var(--ink-soft);margin:.6rem 0 .3rem}.ov-overdue-row{align-items:center;gap:.3rem;display:flex}.ov-overdue-row .cal-detail-item{flex:1;min-width:0}.ov-late{color:var(--brand)}.ov-quick{flex:none;gap:.25rem;display:inline-flex}.ov-quick-btn{font:inherit;font-family:var(--font-display);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--pill);cursor:pointer;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.ov-quick-btn:hover{border-color:var(--ink)}.ov-quick-btn[data-kind=done]:hover{color:var(--ok);border-color:var(--ok);background:var(--ok-wash)}.ov-doing{border-top:1px solid var(--line);padding:0 1rem .8rem}.ov-right{flex-direction:column;gap:1rem;min-width:0;display:flex}.overview-page .ov-right>*,.overview-page .ov-pair>*{margin-top:0}.ov-pair{grid-template-columns:minmax(230px,1fr) minmax(0,2.2fr);align-items:start;gap:1rem;display:grid}.ov-pair>:only-child{grid-column:1/-1}.ov-money{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem 1.1rem;display:flex}.ov-money .ov-section-title{margin:0 0 .2rem}.ov-money-item{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.35rem;padding:.55rem .75rem;font-size:.86rem;text-decoration:none;transition:border-color .15s;display:flex}.ov-money-item:hover{border-color:var(--ink)}.ov-money-item[data-alert]{color:var(--brand);background:var(--brand-wash);border-color:var(--brand-wash-line);font-weight:600}.ov-money-bills{color:var(--ink-soft);flex-direction:column;gap:.2rem;margin:0;padding:0;font-size:.76rem;list-style:none;display:flex}.ov-money-bills li{justify-content:space-between;gap:.6rem;display:flex}.ov-money-bills li span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ov-money-bills li span:last-child{flex:none}.ov-email{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1rem 1.1rem 1.1rem}.ov-mail-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ov-mail{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.65rem .8rem;display:flex}.ov-mail[data-kind=urgent]{background:var(--brand-wash);border-color:var(--brand-wash-line)}.ov-mail-text{flex-direction:column;flex:260px;gap:.2rem;min-width:0;display:flex}.ov-mail-summary{color:var(--ink);font-size:.9rem;font-weight:600}.ov-mail-meta{color:var(--ink-soft);font-size:.76rem}.ov-mail-meta a{color:inherit}.ov-mail-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ov-mail-actions .cbtn{padding:.3rem .8rem;font-size:.82rem}.ov-mail-to{color:var(--ink-soft);margin-right:.2rem;font-size:.78rem;font-weight:600}.ov-mail .ov-step-form{flex:100%;margin-top:0}.ov-mail .goal-msg{flex:100%;margin:0}.ov-proj-open{color:inherit;flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.ov-proj-late{color:var(--brand);font-size:.8rem;font-weight:600}.ov-step-btn{align-self:flex-start;margin-top:.3rem;padding:.3rem .8rem;font-size:.8rem}.ov-step-form{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.ov-step-form .goal-input:first-child{flex:100%}.ov-step-form .goal-input[type=date]{flex:auto;width:auto}.ov-step-form .fin-submit,.ov-step-form .cbtn{padding:.35rem .9rem;font-size:.85rem}.ov-projects{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1rem 1.1rem 1.1rem}.ov-section-head{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:.85rem;display:flex}.ov-section-head .ov-section-title{margin-right:auto}.ov-section-title{font-family:var(--font-display);color:var(--ink);align-items:center;gap:.5rem;margin:0 0 .7rem;font-size:1.2rem;font-weight:700;display:flex}.ov-section-head .ov-section-title{margin-bottom:0}.ov-section-head .cbtn{padding:.35rem .85rem;font-size:.85rem}.ov-count{border-radius:var(--pill);background:var(--brand);color:#fff;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;font-size:.78rem;display:inline-grid}.ov-proj-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;display:grid}.ov-proj{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.3rem;padding:.7rem .8rem;text-decoration:none;display:flex}.ov-proj-meta{flex-wrap:wrap;align-items:center;gap:.3rem .7rem;display:flex}.ov-proj-age{color:var(--ink-soft);font-size:.76rem}.ov-proj-age[data-hot]{color:var(--brand);font-weight:600}.ov-proj-latest{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.ov-empty{color:var(--ink-soft);margin:0;padding:.6rem 0;font-size:.9rem}@media (max-width:1100px){.ov-top{grid-template-columns:1fr}.ov-today{position:static}}@media (max-width:900px){.ov-pair{grid-template-columns:1fr}}@media (max-width:760px){.ov-meta{display:none}}.fin-layout{grid-template-columns:200px minmax(0,1fr);gap:1.2rem}.fin-subnav{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem;top:4.5rem}.fin-subnav-link{border-radius:var(--pill);font-family:var(--font-display);color:var(--ink-soft);padding:.5rem .75rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.fin-subnav-link:hover{background:var(--paper-edge);color:var(--ink)}.fin-subnav-link[data-active=true]{background:var(--ink);color:#fff}.fin-head-actions{gap:.6rem}.fin-upload-btn{border-radius:var(--pill);background:var(--ink);font-family:var(--font-display);letter-spacing:.03em;padding:.5rem 1.1rem;font-size:.95rem;font-weight:700;position:relative;overflow:hidden}.fin-upload-btn:hover{background:var(--ink-hover)}.fin-upload-btn:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff57 50%,#0000 100%);width:45%;position:absolute;top:0;bottom:0;left:0;transform:translate(-130%)skew(-18deg)}.fin-upload-btn:hover:before{transition:transform .8s;transform:translate(330%)skew(-18deg)}.fin-banner{border-radius:var(--radius-sm)}.fin-banner.ok{background:var(--ok-wash);border-color:#b7e2c4}.fin-banner.err{background:var(--brand-wash);border-color:var(--brand-wash-line);color:var(--brand)}.fin-cov,.fin-months,.fin-usual,.fin-recur,.fin-analysis,.fin-nw-sec,.fin-donut,.fin-flow,.fin-upload{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 1rem;padding:1rem 1.2rem 1.15rem}.fin-overview{gap:1rem;margin-bottom:1rem}.fin-overview>section{margin:0}.fin-body .section-label{margin:0 0 .75rem}.fin-hint,.fin-empty-note{color:var(--ink-soft)}.fin-strip{border:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:0 0 1rem;padding:0;display:grid}.fin-strip>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:.3rem;padding:.9rem 1.1rem}.fin-strip-v,.fin-an-v{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700}.fin-strip-k,.fin-an-k,.fin-month-k{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem;font-weight:600}.fin-months-row{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.6rem;display:grid}.fin-month{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;padding:.75rem .9rem;text-decoration:none;transition:transform .25s,box-shadow .25s}.fin-month:hover{box-shadow:var(--shadow-lift);transform:translateY(-7px)}.fin-month-v{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem;font-weight:700}.fin-month[data-current=true]{background:var(--card);border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.fin-month[data-active=true]{background:var(--ink);border-color:var(--ink)}.fin-month[data-active=true] .fin-month-v,.fin-month[data-active=true] .fin-month-k{color:#fff}.fin-cov-flag.miss{background:var(--brand-wash);color:var(--brand)}.fin-cov-flag.ok{background:var(--ok-wash);color:var(--ok)}.fin-cov-grid td[data-state=missing]{background:var(--brand-wash)}.fin-cov-grid thead th,.fin-cov-grid tbody th{font-family:var(--font-display)}.fin-toggle{border-color:var(--line-strong);border-radius:var(--pill)}.fin-toggle button{font-family:var(--font-display);font-weight:600}.fin-toggle button[data-active=true]{background:var(--ink);color:#fff}.fin-clear,.fin-sort[data-active=true]{color:var(--brand)}.fin-an-col h4{font-family:var(--font-display);font-weight:700}.fin-an-col.sugg h4{color:var(--info)}.fin-an-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;display:grid}.fin-an-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem 1rem}.ledger thead th{font-family:var(--font-display);letter-spacing:.1em;color:var(--ink-soft);font-weight:600}.ledger tbody tr{transition:background .15s}.ledger tbody tr:hover{background:var(--paper)}@media (max-width:860px){.fin-layout{grid-template-columns:1fr}.fin-subnav{flex-direction:row;position:static;overflow-x:auto}}@media (hover:none){.content-card:hover,.project-card:hover,.pk-card:hover,.cfile:hover,.mt-card:hover,.fin-month:hover,.ov-item:hover,.ov-post:hover{box-shadow:none;transform:none}.fin-submit:hover:before,.cbtn:hover:before,.fin-upload-btn:hover:before{transition:none;transform:translate(-130%)skew(-18deg)}}@media (max-width:760px){input,select,textarea,.goal-input{font-size:16px}}@media (max-width:1100px){.ov-days{grid-template-columns:repeat(7,minmax(130px,1fr))}}@media (max-width:600px){.page{padding-left:12px;padding-right:12px}.page-title,.cx-h1{font-size:1.7rem}.topnav-inner{gap:.5rem;padding-left:12px;padding-right:12px}.topnav-nav{gap:.15rem}.topnav-link{padding:.4rem .5rem}.topnav-link .topnav-label{display:none}.topnav-link[data-active=true] .topnav-label{display:inline}.topnav-ico{font-size:1.1rem}.ov-week-hint{display:none}.ov-week-head{flex-wrap:wrap}.ov-days{grid-template-columns:1fr;gap:.5rem;overflow:visible}.ov-day{flex-direction:row;min-width:0;min-height:0}.ov-day-head{border-bottom:0;border-right:1px solid var(--line);flex:0 0 64px}.ov-dow{letter-spacing:.12em;font-size:.62rem}.ov-daynum{padding:.3rem 0;font-size:1.3rem}.ov-day-body{flex:1;min-width:0}.ov-pair{grid-template-columns:1fr}.ov-section-head{gap:.5rem}.calendar .cal-head{padding:.6rem .6rem .2rem}.calendar .cal-title{font-size:1.25rem}.calendar .cal-nav{width:2rem;height:2rem;font-size:1.05rem}.calendar .cal-grid{background:linear-gradient(var(--brand) 0 1.9rem, var(--card) 1.9rem);gap:3px;padding:0 .3rem .3rem}.calendar .cal-dow{letter-spacing:.08em;font-size:.6rem}.calendar .cal-cell{border-radius:8px;min-height:58px;padding:3px}.calendar .cal-daynum{font-size:.85rem}.cal-tmr{display:none}.calendar .cal-chips{flex-flow:wrap;gap:1px}.calendar .cal-chip{text-overflow:clip;white-space:nowrap;width:1.15em;max-width:1.15em;padding:0;font-size:.85rem;overflow:hidden}.calendar .cal-more{display:none}.pw-toggle{flex-wrap:wrap;justify-content:space-between;width:100%}.content-page .content-days{grid-template-columns:1fr;overflow:visible}.content-day .planner-day-head{flex-direction:row;justify-content:space-between;align-items:center;padding:0}.content-day .planner-dow{border-radius:0 0 10px;padding:.4rem .8rem}.content-day .planner-daynum{padding:.2rem .8rem;font-size:1.3rem}.content-day-empty{text-align:left}.projects-page .modal-backdrop{align-items:stretch;padding:0}.projects-page .modal.project-modal{border-radius:0;height:100vh;max-height:100vh}.projects-page .modal.project-modal>.proj-body.proj-body:not(.x){grid-template-columns:1fr;padding:.8rem .8rem 1rem}.projects-page .project-modal .proj-actions{flex-wrap:wrap;padding:.7rem .8rem}.projects-page .project-modal .modal-head{padding:.8rem}.ledger.wide thead{display:none}.ledger.wide,.ledger.wide tbody{display:block}.ledger.wide tbody tr{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;grid-template-areas:"when amt""desc desc""acct bal""cat cat";gap:.2rem .6rem;padding:.7rem .2rem;display:grid}.ledger.wide tbody td{border:0;padding:0;display:block}.ledger.wide tbody td:first-child{grid-area:when}.ledger.wide tbody td:nth-child(2){grid-area:acct}.ledger.wide tbody td:nth-child(3){grid-area:cat}.ledger.wide tbody td:nth-child(4){overflow-wrap:anywhere;grid-area:desc}.ledger.wide tbody td:nth-child(5){grid-area:amt;font-weight:600}.ledger.wide tbody td:nth-child(6){grid-area:bal}.fin-strip,.fin-an-stats{grid-template-columns:1fr 1fr}.fin-strip-v,.fin-an-v{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.sw-letters>span{opacity:1;animation:none;transform:none}.fin-submit:before,.cbtn:before{display:none}.content-card,.project-card,.pk-card,.cfile,.pk-lane{transition:none}.content-card:hover,.project-card:hover,.pk-card:hover,.cfile:hover,.fin-month:hover,.ov-item:hover,.ov-post:hover,.pk-card[data-dragging=true]{transform:none}.fin-upload-btn:before{display:none}.pk-card[data-landed=true]{animation:none}}.mt-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.mt-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:.9rem}.mt-col-head{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;margin:0 0 .7rem;font-size:.85rem;font-weight:700;display:flex}.mt-cards{flex-direction:column;gap:.6rem;display:flex}.mt-card{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;color:var(--ink);flex-direction:column;gap:.25rem;padding:.8rem .9rem;transition:transform .25s,box-shadow .25s;display:flex}.mt-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.mt-card[data-status=open]{background:var(--brand-wash);border:1px solid var(--brand-wash-line)}.mt-card[data-status=processed]{background:var(--paper);border:1px solid var(--line);opacity:.85}.mt-card-title{font-family:var(--font-display);font-size:1.02rem;font-weight:700}.mt-card-when{color:var(--ink-soft);font-size:.8rem}.mt-card-line{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.mt-card-summary{color:var(--ink-soft);font-size:.82rem}.mt-card-summary:before{content:"✓ "}@media (max-width:720px){.mt-board{grid-template-columns:1fr}}.ts-backdrop{z-index:60;overscroll-behavior:contain;background:#0f0f0f66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ts-sheet{width:min(720px,100%);height:min(92vh, 900px, var(--vvh,100dvh));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ts-sheet:focus{outline:none}.ts-head{background:var(--card);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.ts-back{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 .3rem;font-size:1.6rem;line-height:1}.ts-title{min-width:0;font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:1.15rem;font-weight:700;overflow:hidden}.ts-status{color:var(--ink-soft);font-size:.75rem}.ts-done{font:inherit;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:600}.ts-done:disabled,.ts-back:disabled{opacity:.5}.ts-chip{font:inherit;color:var(--ink-soft);text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:none;align-items:center;gap:.5rem;margin:.6rem .8rem 0;padding:.55rem .8rem;font-size:.82rem;display:flex}.ts-chip-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ts-chip-text b{color:var(--ink);font-weight:600}.ts-details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;flex:none;gap:.7rem;max-height:45%;margin:.5rem .8rem 0;padding:.8rem;display:flex;overflow-y:auto}.ts-details .proj-row .proj-field{flex:1 1 0;min-width:0}.ts-details .goal-input{box-sizing:border-box;width:100%;min-width:0}.ts-details input[type=datetime-local]{appearance:none;text-align:left;max-width:100%;min-height:2.6rem;display:block}.ts-details input[type=datetime-local]::-webkit-date-and-time-value{text-align:left}.ts-details .mt-delete{align-self:flex-start}.ts-details .mt-delete[data-confirm=true]{background:var(--brand-wash);border-color:var(--brand-wash-line);color:var(--brand)}.ts-banner{background:var(--paper-edge,var(--card));border:1px solid var(--line);border-radius:var(--radius);flex:none;margin:.5rem .8rem 0;padding:.55rem .8rem;font-size:.85rem}.ts-thread{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:.45rem;min-height:0;padding:.8rem;display:flex;overflow-y:auto}.ts-empty{text-align:center;max-width:18rem;color:var(--ink-soft);margin:auto;font-size:.88rem}.ts-row{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.ts-bubble{max-width:82%;font:inherit;color:var(--ink);text-align:left;background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:16px 16px 4px;flex-direction:column;gap:.2rem;padding:.55rem .75rem .4rem;font-size:.95rem;line-height:1.35;display:flex}.ts-bubble[data-open=true]{border-color:var(--ink-soft)}.ts-bubble[data-pending=true]{opacity:.6}.ts-bubble[data-failed=true]{background:var(--brand-wash);border-color:var(--brand-wash-line)}.ts-text{white-space:pre-wrap;overflow-wrap:anywhere}.ts-time{color:var(--ink-soft);align-self:flex-end;align-items:center;gap:.4rem;font-size:.7rem;display:flex}.ts-photo{cursor:default;width:min(240px,82%);padding:.3rem .3rem .4rem}.ts-photo-open{width:100%;font:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:12px 12px 4px;padding:0;display:block}.ts-photo-open:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ts-photo img{aspect-ratio:4/3;object-fit:contain;background:var(--paper);border-radius:12px 12px 4px;width:100%;height:auto;display:block}.ts-photo .ts-text,.ts-photo .ts-time{padding:0 .45rem}.ts-more{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 .2rem}.ts-menu{gap:.35rem;display:flex}.ts-menu button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.ts-menu button[data-danger]{color:var(--brand);border-color:var(--brand-wash-line);background:var(--brand-wash)}.ts-msg{color:var(--brand);flex:none;margin:0 .8rem .3rem;font-size:.82rem}.ts-composer,.ts-pick{background:var(--card);border-top:1px solid var(--line);padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom));flex:none}.ts-composer-row,.ts-caption{align-items:flex-end;gap:.45rem;display:flex}.ts-editing{color:var(--ink-soft);justify-content:space-between;align-items:center;padding:0 .3rem .4rem;font-size:.78rem;display:flex}.ts-editing button,.ts-cancel{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:.8rem;text-decoration:underline}.ts-cam,.ts-send{cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:1.1rem;display:flex}.ts-cam{background:var(--card);border:1px solid var(--line)}.ts-send{background:var(--brand);color:#fff;border:0}.ts-send:disabled,.ts-cam:disabled{opacity:.4;cursor:default}.ts-input{resize:none;min-width:0;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:1.3rem;flex:1;max-height:160px;padding:.6rem .85rem;font-size:1rem;line-height:1.35}.ts-caption{align-items:center}.ts-pick{flex-direction:column;gap:.5rem;padding-top:.45rem;display:flex}.ts-sheet .ts-pick{border-top:0;flex:auto;min-height:0}.ts-thread[hidden]{display:none}.ts-pick-head{justify-content:space-between;align-items:center;padding:0 .2rem;display:flex}.ts-pick-count{color:var(--ink-soft);font-size:.82rem;font-weight:600}.ts-pick-x{width:2rem;height:2rem;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.95rem;display:grid}.ts-pick-main{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.ts-pick-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.ts-pick-strip{-webkit-overflow-scrolling:touch;gap:.45rem;padding:.35rem .1rem .15rem;display:flex;overflow-x:auto}.ts-pick-thumb{flex:none;position:relative}.ts-pick-thumb-btn{background:var(--paper);border:2px solid var(--line);cursor:pointer;border-radius:10px;width:3.4rem;height:3.4rem;padding:0;display:block;overflow:hidden}.ts-pick-thumb[data-on=true] .ts-pick-thumb-btn{border-color:var(--brand)}.ts-pick-thumb-btn img{object-fit:cover;width:100%;height:100%;display:block}.ts-pick-remove{width:1.35rem;height:1.35rem;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.65rem;line-height:1;display:grid;position:absolute;top:-.35rem;right:-.35rem}.ts-lightbox{left:0;right:0;top:var(--vvt,0px);height:var(--vvh,100dvh);z-index:70;padding:3.2rem .8rem calc(.8rem + env(safe-area-inset-bottom));overscroll-behavior:contain;background:#0f0f0fe0;justify-content:center;align-items:center;display:flex;position:fixed}.ts-lightbox-fig{flex-direction:column;justify-content:center;align-items:center;gap:.6rem;width:100%;height:100%;min-height:0;margin:0;display:flex}.ts-lightbox-img{object-fit:contain;border-radius:var(--radius-sm);background:#fff;flex:0 auto;max-width:100%;min-height:0;max-height:100%;display:block}.ts-lightbox-cap{color:#fff;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;flex:none;max-width:40rem;font-size:.92rem;line-height:1.35}.ts-lightbox-dl{color:#fff;border:1px solid #ffffff80;border-radius:999px;flex:none;padding:.4rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none}.ts-lightbox-x{top:calc(.6rem + env(safe-area-inset-top));width:2.4rem;height:2.4rem;font:inherit;color:#fff;cursor:pointer;background:#ffffff29;border:1px solid #ffffff59;border-radius:50%;place-items:center;padding:0;font-size:1.1rem;display:grid;position:absolute;right:.7rem}.ts-caption-input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:1.3rem;flex:1;padding:.55rem .8rem;font-size:1rem}@media (pointer:coarse),(max-width:720px),(max-height:500px){.ts-sheet{top:var(--vvt,0px);width:min(820px,100%);height:var(--vvh,100dvh);border-top:0;border-bottom:0;border-radius:0;position:fixed;left:50%;transform:translate(-50%)}}@media (max-width:720px),(max-height:500px){.ts-sheet{border:0;width:100%;left:0;transform:none}}@media (max-width:720px){.ts-details .proj-row{flex-direction:column}}.jb-filters{margin:0 0 .9rem}.jb-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.jb-card{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;color:var(--ink);flex-direction:column;gap:.35rem;padding:.8rem .9rem;transition:transform .25s,box-shadow .25s;display:flex}.jb-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.jb-card[data-status=new]{background:var(--brand-wash);border:1px solid var(--brand-wash-line)}.jb-card[data-status=in_progress]{background:var(--paper-edge);border:1px solid var(--line-strong)}.jb-card[data-status=done]{background:var(--paper);border:1px solid var(--line);opacity:.85}.jb-card-title{font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.02rem;font-weight:700}.jb-card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;font-size:.78rem;display:flex}.jb-chip{border-radius:var(--pill);background:var(--card);border:1px solid var(--line);font-family:var(--font-display);letter-spacing:.03em;color:var(--ink);padding:.1rem .5rem;font-weight:600}.jb-kind{font-weight:600}.jb-from{font-style:italic}.jb-older{align-self:center}.ts-details .jb-chips .proj-chip{padding:.35rem .8rem;font-size:.85rem}.ts-details .jb-chips .proj-chip[data-on=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.ts-details .jb-chips .proj-chip:disabled{cursor:default;opacity:.7}.jb-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (hover:none),(prefers-reduced-motion:reduce){.jb-card:hover{box-shadow:none;transform:none}}@media (max-width:720px){.jb-board{grid-template-columns:1fr}}.mt-grid,.jb-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:.6rem;display:grid}.mt-list,.jb-list{flex-direction:column;gap:.4rem;display:flex}.mt-row,.jb-row{width:100%;min-width:0;font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.6rem;padding:.6rem .9rem;font-size:.86rem;transition:border-color .15s;display:flex}.mt-row:hover,.jb-row:hover{border-color:var(--line-strong)}.mt-row[data-status=open],.jb-row[data-status=new]{background:var(--brand-wash);border-color:var(--brand-wash-line)}.jb-row[data-status=in_progress]{background:var(--paper-edge);border-color:var(--line-strong)}.mt-row[data-status=processed],.jb-row[data-status=done]{background:var(--paper);opacity:.85}.mt-row-title,.jb-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);flex:0 auto;font-size:.95rem;font-weight:700;overflow:hidden}.mt-row-when{white-space:nowrap;color:var(--ink-soft);flex:none;font-size:.78rem}.mt-row-sub{flex:1 1 0;align-items:center;gap:.6rem;min-width:0;display:flex}.mt-row-line{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);flex:auto;overflow:hidden}.mt-row-counts{white-space:nowrap;color:var(--ink-soft);flex:none;font-size:.78rem}.mt-row-status,.jb-row-end{white-space:nowrap;color:var(--ink-soft);flex:none;margin-left:auto;font-size:.78rem}.jb-row .jb-chip,.jb-row .jb-kind{white-space:nowrap;flex:none;font-size:.75rem}.jb-row .jb-kind{color:var(--ink-soft)}.jb-status{border-radius:var(--pill);background:var(--card);border:1px solid var(--line-strong);font-family:var(--font-display);letter-spacing:.03em;color:var(--ink-soft);padding:.1rem .5rem;font-weight:600}.jb-status[data-status=new]{color:var(--brand);border-color:var(--brand-wash-line)}.jb-status[data-status=in_progress]{color:var(--ink)}.jb-older-row{justify-content:center;margin-top:.8rem;display:flex}@media (max-width:720px){.mt-grid,.jb-grid{grid-template-columns:1fr}.mt-row,.jb-row{gap:.5rem;padding:.55rem .75rem}.jb-row-title{flex:auto}.jb-row .jb-kind{display:none}.mt-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"title title status""when sub sub";gap:.15rem .5rem;display:grid}.mt-row-title{grid-area:title}.mt-row-status{grid-area:status;margin-left:0}.mt-row-when{grid-area:when}.mt-row-sub{grid-area:sub;gap:.5rem;font-size:.8rem}}.projects-page .projects-head{flex-direction:column;align-items:stretch;gap:.9rem}.ph-row{align-items:center;gap:.6rem;min-width:0;display:flex}.ph-sections{flex:0 auto;gap:2px;min-width:0;padding:3px;display:inline-flex}.ph-section{white-space:nowrap;border-radius:var(--pill);flex:none;align-items:center;padding:.4rem .95rem;display:inline-flex}.ph-count{letter-spacing:0;opacity:.6;margin-left:.45em;font-size:.88em;font-weight:500}.ph-layouts{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex:none;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.ph-layout-btn{border-radius:var(--radius-xs);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:background .15s,color .15s;display:inline-grid}.ph-layout-btn:hover{color:var(--ink)}.ph-layout-btn[data-on=true]{background:var(--paper-edge);color:var(--ink)}.ph-new{white-space:nowrap;flex:none}.ph-fab{display:none}@media (max-width:720px){.projects-page.projects-page{padding-bottom:calc(max(28px, calc(env(safe-area-inset-bottom) + 12px)) + 70px)}.projects-page .projects-head{gap:.7rem}.ph-row{gap:6px}.ph-sections{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px;overflow-x:auto}.ph-sections::-webkit-scrollbar{display:none}.ph-section{letter-spacing:.01em;padding:6px 8px;font-size:12.5px}.ph-count{margin-left:4px}.ph-layouts{gap:1px;padding:2px}.ph-layout-btn{width:30px;height:30px}.ph-layout-btn svg{width:15px;height:15px}.ph-new{display:none}.ph-fab{right:16px;bottom:max(28px, calc(env(safe-area-inset-bottom) + 12px));z-index:40;background:var(--ink);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;width:54px;height:54px;padding:0;display:grid;position:fixed;box-shadow:0 6px 18px #0b142047}.ph-fab:active{background:var(--ink-hover)}}.files-wrap{flex-direction:column;gap:1rem;display:flex}.files-info,.files-folder{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1rem 1.1rem 1.1rem}.files-info-list{gap:.4rem;margin:0;display:grid}.files-info-row{grid-template-columns:minmax(110px,170px) 1fr;align-items:center;gap:.6rem;display:grid}.files-info-row dt{color:var(--ink-soft);font-size:.82rem}.files-info-row dd{align-items:center;gap:.4rem;min-width:0;margin:0;display:flex}.files-copy{min-width:0;font:inherit;text-align:left;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;overflow-wrap:anywhere;flex:1;justify-content:space-between;gap:.6rem;padding:.45rem .7rem;font-weight:600;display:flex}.files-copy:hover{border-color:var(--ink-soft)}.files-copy-hint{color:var(--ink-soft);flex:none;font-size:.72rem;font-weight:500}.files-icon{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.3rem .5rem}.files-label{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.files-new{justify-content:flex-start;display:flex}@media (max-width:560px){.files-info-row{grid-template-columns:1fr;gap:.2rem}}.files-expand{opacity:0;flex:100%;grid-template-rows:0fr;transition:grid-template-rows .35s,opacity .25s;display:grid}.files-expand[data-open=true]{opacity:1;grid-template-rows:1fr}.files-expand-inner{min-height:0;overflow:hidden}.files-inline{border-top:1px solid var(--line);margin-top:.4rem;padding-top:.7rem}.files-inline-bar{justify-content:flex-end;gap:.5rem;margin-bottom:.6rem;display:flex}.files-inline-bar .cbtn,.files-preview-dl{padding:.4rem .95rem;font-size:.85rem;text-decoration:none}.files-inline-body{-webkit-overflow-scrolling:touch;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:72vh;padding:.6rem;overflow:auto}.files-preview-pages{flex-direction:column;align-items:center;gap:.8rem;display:flex}.files-preview-page{border:1px solid var(--line);border-radius:var(--radius-xs);background:#fff;width:100%;height:auto}.files-preview-img{object-fit:contain;max-width:100%;max-height:68vh;margin:0 auto;display:block}.files-preview-msg{text-align:center;color:var(--ink-soft);margin:1.2rem 0}.files-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-flow:dense;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.files-row{background:var(--paper);border:1px solid var(--line);border-radius:22px;flex-direction:column;min-width:0;padding:.7rem;scroll-margin-top:4.5rem;transition:background .3s,box-shadow .3s,border-color .3s,transform .15s;display:flex;position:relative}.files-row:not([data-expanded=true]):not([data-editing=true]):active{transform:scale(.97)}.files-row[data-expiry=soon]{background:#fff7e6;border-color:#f3d39a}.files-row[data-expiry=past]{background:var(--brand-wash);border-color:var(--brand-wash-line)}.files-row[data-editing=true]{background:var(--card);border-color:var(--line-strong);grid-column:1/-1;box-shadow:0 6px 24px #0b142014}.files-row[data-expanded=true]{background:var(--brand-wash);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand), 0 6px 20px #9d0b0d29}.files-row[data-expanded=true] .files-tile-art{border-color:var(--brand-wash-line)}.files-name-row{align-items:flex-start;gap:.45rem;min-width:0;display:flex}.files-name-row .files-name{min-width:0}.files-previewing{letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:var(--card);border:1px solid var(--brand-wash-line);border-radius:var(--pill);flex:none;align-self:flex-start;margin-top:.1rem;padding:.12rem .55rem;font-size:.68rem;font-weight:700}.files-row-main{cursor:pointer;flex-direction:column;gap:.2rem;min-width:0;display:flex}.files-row-main:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:16px}.files-tile-art{aspect-ratio:4/3;background:var(--card);border:1px solid var(--line);border-radius:15px;place-items:center;margin-bottom:.35rem;display:grid;position:relative;overflow:hidden}.files-tile-icon{font-size:2.2rem;line-height:1}.files-thumb{object-fit:contain;background:#fff;width:100%;height:100%;padding:.4rem}.files-expiry-pill{color:var(--ink);border:1px solid var(--line);border-radius:var(--pill);background:#ffffffeb;padding:.12rem .45rem;font-size:.68rem;font-weight:700;position:absolute;bottom:.4rem;left:.4rem}.files-row[data-expiry=soon] .files-expiry-pill{background:#ffe9b8;border-color:#f3d39a}.files-row[data-expiry=past] .files-expiry-pill{color:#fff;background:var(--brand);border-color:var(--brand)}.files-name{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:.86rem;font-weight:700;line-height:1.25;text-decoration:none;display:-webkit-box;overflow:hidden}.files-meta{color:var(--ink-soft);font-size:.72rem}.files-detail{color:var(--ink-soft);font-size:.78rem;display:none}.files-row[data-editing=true] .files-detail{display:block}.files-row[data-editing=true] .files-name{-webkit-line-clamp:unset;font-size:.95rem}.files-row[data-editing=true] .files-tile-art{display:none}.files-row[data-expiry=past] .files-expiry{color:var(--brand);font-weight:600}.files-more{z-index:1;width:1.9rem;height:1.9rem;font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffffeb;border-radius:50%;place-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;display:grid;position:absolute;top:.45rem;right:.45rem}.files-more:hover{border-color:var(--ink-soft)}.files-edit{margin-top:.6rem}@media (max-width:560px){.files-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}@media (prefers-reduced-motion:reduce){.files-expand,.files-row{transition:none}}html[data-flip] .app-main{view-transition-name:app-main}::view-transition-group(app-main){animation-duration:.55s}::view-transition-image-pair(app-main){perspective:1400px}::view-transition-old(app-main){backface-visibility:hidden;mix-blend-mode:normal;animation-duration:.55s;animation-timing-function:cubic-bezier(.3,.7,.3,1)}::view-transition-new(app-main){backface-visibility:hidden;mix-blend-mode:normal;animation-duration:.55s;animation-timing-function:cubic-bezier(.3,.7,.3,1)}html[data-flip=next]::view-transition-old(app-main){transform-origin:0;z-index:2;animation-name:flip-out-next}html[data-flip=next]::view-transition-new(app-main){animation-name:flip-under}html[data-flip=prev]::view-transition-old(app-main){transform-origin:100%;z-index:2;animation-name:flip-out-prev}html[data-flip=prev]::view-transition-new(app-main){animation-name:flip-under}@keyframes flip-out-next{0%{filter:brightness();transform:rotateY(0)}to{filter:brightness(.75);opacity:.4;transform:rotateY(-100deg)}}@keyframes flip-out-prev{0%{filter:brightness();transform:rotateY(0)}to{filter:brightness(.75);opacity:.4;transform:rotateY(100deg)}}@keyframes flip-under{0%{opacity:.6;transform:scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html[data-flip] .app-main{view-transition-name:none}}.files-viewer{margin-top:.75rem;scroll-margin-top:4.5rem}.files-viewer-title{color:var(--ink);align-items:center;gap:.5rem;margin:0 0 .4rem;font-weight:700;display:flex}.files-viewing-tag{margin:0;position:absolute;top:.4rem;left:.4rem}
