:root{--ground:#0a1811;--panel:#0f2117;--raised:#162c1e;--line:#21402e;--ink:#e9f2ea;--muted:#93ac9c;--faint:#5f7c6b;--accent:#67e48b;--accent-2:#b6f36a;--accent-ink:#06180d;--good:#4ade80;--warn:#e8b44c;--crit:#f07a6a;--sans:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--c1:#67e48b;--c2:#2e9d5c;--c3:#b6f36a;--c4:#93ac9c;--c5:#e8b44c}*{box-sizing:border-box}html{background:var(--ground)}body{background:var(--ground);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.55}.wrap{max-width:1160px;margin:0 auto;padding:0 24px 96px}header.shell{border-bottom:1px solid var(--line);padding:18px 0 14px}.shell-top{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.logo{object-fit:cover;border:1.5px solid var(--accent);background:conic-gradient(from 210deg, var(--accent-2), var(--accent) 55%, #1d7a44);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:flex}.wordmark{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);align-items:center;gap:12px;font-size:15.5px;font-weight:800;text-decoration:none;display:flex}.wordmark .flag{color:var(--faint);letter-spacing:.14em;font-size:10.5px;font-weight:600}.shell-spacer{flex:1}.who{align-items:center;gap:16px;display:flex}.hgreet{text-align:left;flex-direction:column;line-height:1.25;display:flex}.hgreet-line{font-size:15px;font-weight:700}.hgreet-date{font-family:var(--mono);color:var(--muted);font-size:11px}@media (max-width:560px){.hgreet{display:none}}.avatar{border:2px solid var(--accent);object-fit:cover;background:var(--raised);width:36px;height:36px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.logout button,.btn{appearance:none;border:1px solid var(--line);color:var(--ink);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:12px;padding:9px 18px;font-size:13.5px;font-weight:700;text-decoration:none}.logout button:hover,.btn:hover{border-color:var(--accent);color:var(--accent)}.logout button:focus-visible,.btn:focus-visible{outline:2px solid var(--accent)}nav.tabs{gap:6px;margin-top:14px;display:flex;overflow-x:auto}nav.tabs a{color:var(--muted);white-space:nowrap;border-radius:11px;padding:8px 16px;font-size:13.5px;font-weight:700;text-decoration:none}nav.tabs a:hover{color:var(--ink);background:var(--raised)}nav.tabs a:focus-visible{outline:2px solid var(--accent)}nav.tabs a[aria-current=page]{background:linear-gradient(92deg, var(--accent-2), var(--accent));color:var(--accent-ink)}main{padding-top:30px}h1{letter-spacing:-.01em;text-wrap:balance;margin:0 0 4px;font-size:27px;font-weight:800}h2{letter-spacing:-.01em;text-wrap:balance;margin:0 0 4px;font-size:22px;font-weight:800}h3{margin:0 0 10px;font-size:15.5px;font-weight:700}.sub{color:var(--muted);max-width:62ch;margin:0 0 22px;font-size:13px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:9px;margin:30px 0 12px;font-size:11px;font-weight:800;display:flex}.eyebrow:before{content:"";background:var(--accent);border-radius:2px;width:18px;height:2px}.grid2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px}.card+.card{margin-top:16px}.card h3{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card h3 .tag{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10.5px;font-weight:700}.stack{flex-direction:column;gap:16px;display:flex}.strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:24px;display:grid}.strip-cell{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 18px}.strip-cell .k{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10.5px;font-weight:700}.strip-cell .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:27px;font-weight:800}.strip-cell .s{color:var(--muted);margin-top:2px;font-size:11.5px}.v.pos{color:var(--good)}.v.neg{color:var(--crit)}.nw-figure{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(46px,7vw,68px);font-weight:800;line-height:1}.nw-label{max-width:340px;color:var(--muted);font-size:13px}.nw-label strong{color:var(--ink);font-weight:700}.networth{flex-wrap:wrap;align-items:baseline;gap:22px;margin-top:10px;display:flex}table{border-collapse:collapse;width:100%;font-size:13.5px}.tablewrap{overflow-x:auto}th{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-align:left;border-bottom:1px solid var(--line);padding:6px 10px 6px 0;font-size:10.5px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px 9px 0}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}td .note{color:var(--muted);font-size:11.5px;font-family:var(--sans);margin-top:1px;display:block}tr.total td{border-top:1px solid var(--line);color:var(--accent);font-weight:800;font-family:var(--sans)}.dim-val{color:var(--faint)}.crit-val{color:var(--crit)}.pill{letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:99px;padding:2px 9px;font-size:10.5px;font-weight:800;display:inline-block}.pill.good{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent)}.pill.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.pill.crit{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 45%, transparent)}.pill.dim{color:var(--muted);border-color:var(--line)}.alert{border:1px solid var(--line);border-left:3px solid var(--muted);background:var(--panel);border-radius:12px;gap:14px;margin-bottom:10px;padding:15px 18px;display:flex}.alert.crit{border-left-color:var(--crit)}.alert.warn{border-left-color:var(--warn)}.alert.good{border-left-color:var(--good)}.alert .a-body{flex:1;min-width:0}.alert .a-title{font-size:14px;font-weight:700}.alert .a-text{color:var(--muted);max-width:70ch;margin-top:2px;font-size:13px}.alert .a-text strong{color:var(--ink);font-weight:700}.alert .a-go{align-self:center}.alert .a-go a{background:var(--raised);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:10px;padding:7px 14px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.alert .a-go a:hover{border-color:var(--accent);color:var(--accent)}.alert .a-go a:focus-visible{outline:2px solid var(--accent)}.gauge{margin:14px 0 4px}.gauge .g-head{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.gauge .g-head b{font-weight:700}.gauge .g-head .g-val{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.gauge .g-bar{background:var(--raised);border-radius:99px;height:8px;overflow:hidden}.gauge .g-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:99px;min-width:3px;height:100%}.gauge .g-note{color:var(--faint);margin-top:5px;font-size:11.5px}details.drill{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-bottom:8px}details.drill summary{cursor:pointer;align-items:baseline;gap:12px;padding:13px 18px;list-style:none;display:flex}details.drill summary::-webkit-details-marker{display:none}details.drill summary:focus-visible{outline:2px solid var(--accent);border-radius:14px}details.drill summary .d-caret{color:var(--faint);font-size:11px;transition:transform .15s}@media (prefers-reduced-motion:reduce){details.drill summary .d-caret{transition:none}}details.drill[open] summary .d-caret{transform:rotate(90deg)}details.drill summary .d-name{flex:1;font-size:14px;font-weight:700}details.drill summary .d-name .note{color:var(--muted);font-size:12px;font-weight:400;display:block}details.drill summary .d-val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}details.drill .d-body{color:var(--muted);padding:4px 18px 16px 41px;font-size:13.5px}details.drill .d-body p{max-width:70ch;margin:8px 0}details.drill .d-body strong{color:var(--ink)}details.drill .d-body table{margin-top:6px}.q{color:var(--accent);font-size:15.5px;font-style:italic;font-weight:700}.alloc{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.alloc svg{flex:none}.alloc .legend{flex:1;min-width:220px;font-size:13px}.legend .lg-row{align-items:baseline;gap:9px;padding:4px 0;display:flex}.legend .sw{border-radius:3px;flex:none;width:10px;height:10px;transform:translateY(1px)}.legend .lg-name{flex:1}.legend .lg-val{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.rule{border-bottom:1px solid var(--line);gap:14px;padding:13px 0;display:flex}.rule:last-child{border-bottom:none}.rule .r-no{color:var(--accent);flex:0 0 22px;font-size:15px;font-weight:800}.rule .r-text{flex:1;font-size:14px}.rule .r-text .note{color:var(--muted);max-width:68ch;margin-top:3px;font-size:12.5px;display:block}.rule .r-status{flex:none}.memo{border-left:3px solid var(--accent);margin:18px 0;padding:2px 0 2px 18px}.memo p{max-width:66ch;margin:8px 0;font-size:14.5px}.checklist .ck{border-bottom:1px solid var(--line);gap:12px;padding:9px 0;font-size:13.5px;display:flex}.checklist .ck:last-child{border-bottom:none}.checklist .ck .box{border:1.5px solid var(--faint);border-radius:4px;flex:0 0 14px;height:14px;margin-top:3px}.checklist .ck.done .box{border-color:var(--good);background:color-mix(in srgb, var(--good) 25%, transparent)}.checklist .ck .ck-text .note{color:var(--muted);font-size:12px;display:block}.ondeck{border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}.trow{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:10px 0;display:flex}.trow:last-child{border-bottom:none}.tdot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.tdot.crit{background:var(--crit)}.tdot.warn{background:var(--warn)}.tdot.dim{background:var(--faint)}.tmain{flex:1;min-width:0}.ttitle{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}a.ttitle:hover{color:var(--accent)}.tmain .note{color:var(--muted);white-space:pre-wrap;margin-top:1px;font-size:12px;display:block}.titlerow{align-items:baseline;gap:7px;display:flex}.tchev{appearance:none;cursor:pointer;color:var(--faint);background:0 0;border:none;flex:none;padding:0;font-size:10px;line-height:1}.tchev:hover{color:var(--accent)}.tchev:focus-visible{outline:2px solid var(--accent);border-radius:3px}.tchev-caret{transition:transform .14s;display:inline-block}.tchev-caret.open{transform:rotate(90deg)}.tnotes{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch;margin-top:8px;margin-left:17px;font-size:12.5px;line-height:1.55}.tnote-link{color:var(--accent);font-weight:600;text-decoration:none}.tnote-link:hover{text-decoration:underline}.tnotes-link{color:var(--accent);margin-top:8px;font-size:11.5px;text-decoration:none;display:block}.tnotes-link:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.tchev-caret{transition:none}}.tmeta{color:var(--faint);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.tmeta .tdue{color:var(--muted)}.empty{color:var(--faint);margin:4px 0 0;font-size:13px;font-style:italic}.subdivider{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border-top:1px solid var(--line);margin:14px 0 2px;padding-top:12px;font-size:10.5px;font-weight:700}.timeline{flex-direction:column;display:flex}.tl-row{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:9px 0;display:flex}.tl-row:last-child{border-bottom:none}.tl-time{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;width:62px;font-size:12px}.tl-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.tl-name{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}a.tl-name:hover{color:var(--accent)}.tl-name .note{color:var(--muted);font-size:12px;font-weight:400;display:block}.pulse-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.pulse-cell{padding:4px 0}.pulse-cell .k{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:700}.pulse-cell .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:3px;font-size:20px;font-weight:800}.barlist{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:128px 1fr auto;align-items:center;gap:12px;display:grid}.bar-label{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.bar-track{background:var(--raised);border-radius:99px;height:12px;overflow:hidden}.bar-fill{border-radius:99px;min-width:3px;height:100%}.bar-val{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:13px}.bar-val .bar-pct{color:var(--faint);margin-left:8px;font-size:11px}@media (max-width:520px){.bar-row{grid-template-columns:92px 1fr auto}}.brief{border-left:3px solid var(--accent);margin:18px 0 4px;padding:6px 0 6px 16px}.brief p{color:var(--ink);max-width:72ch;margin:0;font-size:15.5px;line-height:1.62}.brief .brief-loading{color:var(--faint);font-size:14px;font-style:italic}.market-strip{gap:12px;margin:18px 0 6px;padding-bottom:4px;display:flex;overflow-x:auto}.market-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex:none;min-width:158px;padding:12px 14px}.market-card.skeleton{opacity:.5;background:linear-gradient(100deg, var(--panel) 30%, var(--raised) 50%, var(--panel) 70%);background-size:200% 100%;border-style:dashed;min-width:158px;height:108px;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.market-card.skeleton{animation:none}}.mc-head{align-items:baseline;gap:7px;display:flex}.mc-sym{letter-spacing:.02em;font-size:14px;font-weight:800}.mc-name{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10.5px}.mc-price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:5px 0 6px;font-size:22px;font-weight:800}.mc-foot{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.mc-chg{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}.mc-chg.up{color:var(--good)}.mc-chg.down{color:var(--crit)}.taskcheck{appearance:none;border:2px solid var(--faint);cursor:pointer;background:0 0;border-radius:5px;flex:none;width:18px;height:18px;margin-top:1px;transition:border-color .12s,background .12s}.taskcheck:hover{border-color:var(--accent)}.taskcheck:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.taskcheck.done{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306180d' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 12px no-repeat}.taskcheck:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.taskcheck{transition:none}}.addtask .addrow{flex-wrap:wrap;gap:8px;display:flex}.tinput,.tselect,.tdate{background:var(--raised);border:1px solid var(--line);color:var(--ink);font-family:var(--sans);border-radius:10px;padding:9px 12px;font-size:14px}.tinput{flex:1;min-width:200px}.tinput::placeholder{color:var(--faint)}.tselect,.tdate{color:var(--ink)}.tinput:focus,.tselect:focus,.tdate:focus{border-color:var(--accent);outline:none}.tdate-field{align-items:center;gap:8px;display:inline-flex}.tdate-field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:700}.tadd{appearance:none;cursor:pointer;background:linear-gradient(92deg, var(--accent-2), var(--accent));color:var(--accent-ink);font-family:var(--sans);border:none;border-radius:10px;padding:9px 20px;font-size:14px;font-weight:800}.tadd:hover{filter:brightness(1.06)}.tadd:disabled{opacity:.5;cursor:default;filter:none}.tadd:focus-visible{outline:2px solid var(--ink)}.smallprint{color:var(--faint);border-top:1px solid var(--line);max-width:78ch;margin-top:40px;padding-top:14px;font-size:11.5px}.gatepage{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:20px;width:100%;max-width:420px;padding:44px 36px}.gate .logo{width:52px;height:52px;margin:0 auto 18px;font-size:26px}.gate-avatar{object-fit:cover;border:2px solid var(--accent);width:84px;height:84px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:50%;margin:0 auto 18px;display:block}.gate .gate-title{letter-spacing:-.01em;margin:0 0 2px;font-size:24px;font-weight:800}.gate .gate-brand{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:11px;font-weight:800}.gate p{color:var(--muted);margin:0 0 8px;font-size:13.5px}.gate button{appearance:none;cursor:pointer;background:linear-gradient(92deg, var(--accent-2), var(--accent));color:var(--accent-ink);font-family:var(--sans);border:none;border-radius:12px;width:100%;margin-top:16px;padding:12px 26px;font-size:14.5px;font-weight:800}.gate button:hover{filter:brightness(1.06)}.gate button:focus-visible{outline:2px solid var(--ink)}.gate code{font-family:var(--mono);color:var(--ink);background:var(--raised);border-radius:4px;padding:1px 6px;font-size:12px}.devbanner{background:color-mix(in srgb, var(--warn) 14%, transparent);border-bottom:1px solid color-mix(in srgb, var(--warn) 35%, transparent);color:var(--warn);text-align:center;padding:5px 12px;font-size:12px}
