:root{--ink: #12202b;--mist: #e7ebe4;--paper: #fafbf8;--teal: #0e6e62;--teal-lt: #63b3a5;--gold: #e4a130;--muted: #55697a;--line: rgba(18, 32, 43, .14);--line-dk: rgba(231, 235, 228, .16);--good: var(--teal);--watch: #8a5a00;--bad: #9a1c14;--good-on-ink: var(--teal-lt);--watch-on-ink: var(--gold);--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--pad: clamp(20px, 5vw, 64px);--max: 1160px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--mist);color:var(--ink);font-family:var(--body);font-size:clamp(16px,1.05vw,17.5px);line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}a{color:inherit}svg{display:block}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.micro{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.masthead{background:var(--ink);color:var(--mist);border-bottom:1px solid var(--line-dk)}.masthead-in{display:flex;align-items:center;gap:.6rem 1.75rem;flex-wrap:wrap;min-height:70px;padding-block:.85rem}.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.brand svg{width:26px;height:16px;color:var(--gold);flex:none}.masthead-in nav{display:flex;gap:clamp(14px,2vw,30px);flex-wrap:wrap}.masthead-in nav a{color:#e7ebe4b8;font-size:.85rem;font-weight:500;letter-spacing:.01em;text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.masthead-in nav a:hover{color:var(--gold)}.masthead-in nav a[aria-current=page]{color:var(--gold);border-color:var(--gold)}.masthead-note{margin-left:auto;color:#e7ebe473;font-size:.66rem;letter-spacing:.16em}.summary{background:var(--ink);color:var(--mist);border-bottom:3px solid var(--gold)}.summary-in{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;width:100%;padding:clamp(1.5rem,4vw,2.8rem) 0 clamp(1.25rem,3vw,2.1rem)}.summary-label{color:var(--gold);font-size:.685rem;letter-spacing:.22em}.figure{font-family:var(--display);font-weight:700;font-variation-settings:"wdth" 92;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,9.5vw,4.7rem);letter-spacing:-.045em;line-height:1.02;color:var(--good-on-ink)}.figure[data-tone=watch]{color:var(--watch-on-ink)}.summary-hint{color:#e7ebe473;font-size:.66rem;letter-spacing:.16em}.summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem clamp(1rem,4vw,3rem);margin-top:1.15rem;padding-top:1.15rem;border-top:1px dashed var(--line-dk);width:min(46rem,100%)}.stat{display:flex;flex-direction:column;gap:.2rem}.stat .micro{color:#e7ebe480;font-size:.62rem;letter-spacing:.16em}.stat-figure{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:clamp(.95rem,2.6vw,1.35rem);letter-spacing:-.03em;overflow-wrap:anywhere}.toolbar{position:sticky;top:0;z-index:5;background:#e7ebe4f0;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.toolbar-in{display:flex;align-items:center;gap:.6rem 1.5rem;flex-wrap:wrap;padding-block:.85rem}.toolbar-label{color:var(--muted);font-size:.66rem;letter-spacing:.16em}.toolbar-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-left:auto}.button{appearance:none;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:var(--ink);cursor:pointer;font-family:var(--body);font-weight:600;font-size:.9rem;letter-spacing:-.005em;min-height:42px;padding:0 1.2rem;transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px -12px #e4a130a6}.button[aria-pressed=true]>[aria-hidden=true]{transform:rotate(90deg)}.button>[aria-hidden=true]{transition:transform .2s ease}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line);font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}.button.ghost:hover:not(:disabled){border-color:var(--ink);box-shadow:none}.button:disabled{cursor:wait;opacity:.55}.section-title{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.1rem);letter-spacing:-.04em;line-height:1.06;margin:0 0 .5rem}.section-note{margin:0 0 clamp(1.25rem,3vw,2rem);max-width:62ch;color:var(--muted);font-size:.95rem}.section-note b{color:var(--ink);font-weight:600}.panel{padding-block:clamp(1.75rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem)}.inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:1rem clamp(1rem,2.5vw,1.75rem);border-top:1px solid var(--line);padding-top:clamp(1.25rem,3vw,1.9rem)}.field{display:flex;flex-direction:column;gap:.4rem}.field>.micro{color:var(--muted);font-size:.66rem;letter-spacing:.18em}.field-note{color:var(--muted);font-size:.58rem!important;letter-spacing:.12em!important;text-transform:none;min-height:1.4em}.field-input{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);transition:border-color .2s ease}.field-input:hover{border-color:#12202b52}.field-input:focus-within{border-color:var(--ink)}.field-affix{display:flex;align-items:center;padding-inline:.75rem;background:var(--mist);border-right:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;white-space:nowrap}.field-affix--end{border-right:0;border-left:1px solid var(--line)}.field-input input{appearance:none;background:transparent;border:0;color:inherit;font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:max(1rem,16px);min-height:48px;min-width:0;padding:0 .8rem;width:100%}.field-input input:focus{outline:none}.field-input input::-webkit-outer-spin-button,.field-input input::-webkit-inner-spin-button{appearance:none;margin:0}.field-input input[type=number]{-moz-appearance:textfield}.workings{background:var(--paper);border-block:1px solid var(--line);padding-block:clamp(1.75rem,4vw,3rem)}.math-fallback{margin:0 0 1.25rem;padding:.7rem 1rem;border:1px dashed var(--line);color:var(--watch);font-size:.82rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem)}@media(max-width:1100px){.cards{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-top:3px solid var(--ink);background:#fff;padding:clamp(1.1rem,2.5vw,1.5rem);display:flex;flex-direction:column;gap:.6rem}.card--span{grid-column:1 / -1}.card--wide{grid-column:1 / -1;border-top-color:var(--gold)}.card h3{font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin:0}.card p{margin:0;font-size:.9rem;line-height:1.6;max-width:58ch}.card-caption{font-family:var(--display);font-weight:700;font-size:1.15rem!important;letter-spacing:-.03em;line-height:1.2}.card-note{color:var(--muted);font-size:.8rem!important;border-top:1px dashed var(--line);padding-top:.6rem}.formula{background:var(--mist);border-left:3px solid var(--gold);padding:.9rem 1.1rem;overflow-x:auto;overflow-y:hidden;font-size:1.02rem;min-height:3.4rem}.formula mjx-container{margin:0!important}.formula mjx-container[display=true]+mjx-container[display=true]{margin-top:.5rem!important}[data-math=off] .formula{font-family:var(--mono);font-size:.78rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.ledger{padding-block:clamp(1.75rem,4vw,3rem)}.table-hint{display:none;margin:-.75rem 0 1.25rem;color:var(--muted);font-size:.6rem;letter-spacing:.12em;text-transform:none;line-height:1.6}.table-wrap{border:1px solid var(--line);background:var(--paper);overflow-x:auto}.grid{border-collapse:collapse;width:100%;min-width:44rem;font-variant-numeric:tabular-nums}.grid thead th{background:var(--ink);color:#e7ebe4b8;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;text-align:left;padding:.75rem 1rem;white-space:nowrap}.grid .num{text-align:right;font-family:var(--mono);font-size:.82rem;white-space:nowrap}.grid tbody td,.grid tbody th{padding:.55rem 1rem;border-top:1px solid var(--line)}.grid tbody th.period{text-align:left;font-weight:400;padding:0}.row-button{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.03em;padding:.55rem 1rem;text-align:left;width:100%}.row-button--month{font-family:var(--mono);font-weight:500;font-size:.78rem;letter-spacing:.02em;padding-left:2.4rem;color:var(--muted)}.caret{display:inline-block;color:var(--gold);font-size:.7rem;transition:transform .2s ease}.row-button[aria-expanded=true] .caret{transform:rotate(90deg)}.row--year{cursor:pointer;transition:background .15s ease}.row--year:hover{background:#fff}.row--month{cursor:pointer;background:#12202b09}.row--month .num{font-size:.76rem;color:var(--muted)}.row--month:hover{background:#12202b12}.row[data-selected=true]{background:#e4a1302e;box-shadow:inset 3px 0 0 var(--gold)}.row[data-selected=true]:hover{background:#e4a1303d}.grid .strong{font-weight:700}.grid .soft{color:var(--muted)}.grid tfoot th,.grid tfoot td{border-top:2px solid var(--ink);padding:.8rem 1rem;font-family:var(--mono);font-weight:700;font-size:.82rem;background:#fff}.grid tfoot th{text-align:left;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.ad{border:1px dashed var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center;padding:1.4rem 1.1rem;min-height:100px;color:var(--muted)}.ad .micro{font-size:.62rem}.ad-note{margin:0;max-width:30ch;font-size:.8rem;line-height:1.6;color:var(--muted)}.foot{background:var(--ink);color:#e7ebe49e;margin-top:clamp(2.5rem,5vw,4.5rem);padding-block:clamp(2.75rem,5vw,4.25rem) 2rem;font-size:.9rem}.foot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem clamp(1.75rem,4vw,3rem);align-items:start}.foot-grid h4{font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;color:var(--mist);margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1px solid var(--line-dk)}.foot-grid p{margin:0;font-size:.9rem;line-height:1.62}.foot-grid b{color:var(--gold);font-weight:600}.foot-note{margin:clamp(2rem,4vw,3rem) 0 0;padding:1.1rem 1.3rem;border:1px dashed var(--line-dk);font-size:.85rem;color:#e7ebe48c;max-width:78ch}.foot-note a{color:var(--gold)}.foot-rule{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--line-dk);display:flex;justify-content:space-between;gap:.6rem 2rem;flex-wrap:wrap;color:#e7ebe46b}.foot-rule .micro{font-size:.66rem;letter-spacing:.11em}@media(max-width:900px){.foot-grid{grid-template-columns:1fr}.masthead-note,.toolbar-label{display:none}.toolbar-in{gap:.5rem}.toolbar-actions{margin-left:0;width:100%}.button{min-height:46px;flex:1 1 auto;justify-content:center}}@media(max-width:720px){.masthead-in{gap:.5rem 1.1rem}.masthead-in nav{gap:1.05rem}.masthead-in nav a{font-size:.8rem}.summary-stats{grid-template-columns:1fr;gap:.75rem;text-align:left}}@media(max-width:900px){.grid{min-width:0}.table-hint{display:block}[data-col=opening],[data-cell=opening]{display:none}}@media(max-width:700px){[data-col=contributions],[data-cell=contributions]{display:none}.formula{font-size:.82rem;padding:.8rem .85rem}.grid thead th,.grid tbody td,.grid tfoot th,.grid tfoot td{padding-inline:.6rem}.grid .num{font-size:.74rem}.row-button{font-size:.92rem;padding-inline:.6rem}.row-button--month{font-size:.7rem;padding-left:1.6rem}}@media(max-width:520px){[data-col=growth],[data-cell=growth]{display:none}.formula{font-size:.76rem}.grid thead th{font-size:.56rem;letter-spacing:.1em}}@media(max-width:400px){.formula{font-size:.7rem}}@media(hover:none){.button:hover:not(:disabled){transform:none;box-shadow:none}.row--year:hover,.row--month:hover{background:inherit}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
