.budget{display:grid;gap:20px;padding:clamp(16px,3vw,36px);padding-bottom:8px}.budget-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 24px}.budget-count{display:flex;align-items:baseline;gap:14px;font-size:var(--step-1)}.budget-count strong{min-width:1.2ch;color:var(--accent);font:400 var(--step-5) / .8 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.budget-pool{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;max-width:640px}.care{position:relative;aspect-ratio:1;background:var(--accent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .2s var(--ease-out)}.care[data-dragging]{z-index:5;cursor:grabbing;transition:none}.care[data-spent]{background:none;box-shadow:inset 0 0 0 3px var(--v-dim);cursor:default;touch-action:auto}.budget-status{min-height:1.55em;font-weight:600}.budget-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:28px 48px;align-items:start}@media(min-width:761px){.budget-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.budget-groups h2{margin:0 0 10px;font:400 var(--step-1) / 1.1 var(--font-display);letter-spacing:-.01em}.budget-groups ul{display:grid;gap:4px}.thing{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:4px}.thing-give,.thing-take{border:0;border-radius:0;background:var(--surface-2);color:var(--ink);font:600 var(--step-0) / 1.2 var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),background-color .14s ease,color .14s ease}.thing-give{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;min-height:52px;padding:8px 14px;text-align:left}.thing-give:active{transform:scale(.985)}.thing-take{font-size:var(--step-2);line-height:1}.thing-take:active{transform:scale(.94)}.thing-take:disabled{opacity:.35;cursor:default;transform:none}.thing-slots{display:flex;gap:4px}.slot{width:22px;height:22px;box-shadow:inset 0 0 0 3px var(--v-dim);transition:background-color .16s ease}.slot[data-full]{background:var(--accent);box-shadow:none}.budget-big .thing-give{min-height:72px}.budget-big .slot{width:30px;height:30px}@media(min-width:761px){.budget-big .thing-give{min-height:164px}.budget-big .slot{width:44px;height:44px}}.budget[data-starved] .budget-big .slot:not([data-full]){box-shadow:inset 0 0 0 3px var(--accent)}@media(hover:hover)and (pointer:fine){.thing-give:hover,.thing-take:hover:not(:disabled){background:var(--ink);color:var(--ground)}}@media(prefers-reduced-motion:reduce){.thing-give:active,.thing-take:active{transform:none}}:root{--black: #0a0a0a;--paper: #f4f1ea;--accent: #ff4d1a;--font-display: "Archivo Black", "Arial Black", Impact, sans-serif;--font-body: "Archivo", "Segoe UI", system-ui, sans-serif;--step--1: .85rem;--step-0: 1.0625rem;--step-1: 1.33rem;--step-2: 1.66rem;--step-3: clamp(1.9rem, 3.4vw, 2.6rem);--step-4: clamp(2.3rem, 5.2vw, 4.2rem);--step-5: clamp(2.5rem, 9.4vw, 7.5rem);--gutter: 32px;--ease-out: cubic-bezier(.23, 1, .32, 1);color-scheme:dark;--ground: var(--black);--ink: var(--paper);--dim: #aaa69c;--surface: #191918;--surface-2: #2a2a28;--focus: var(--accent);--v-dim: #77736b}@media(max-width:760px){:root{--gutter: 16px}}*,*:before,*:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font:400 var(--step-0) / 1.55 var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;min-height:100dvh}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1;letter-spacing:-.02em;text-wrap:balance}a{color:inherit}cite{font-style:italic}::selection{background:var(--accent);color:var(--black)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}main:focus{outline:none}.wrap{width:min(100% - 2 * var(--gutter),1240px);margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--gutter);top:8px;z-index:10;padding:10px 14px;background:var(--accent);color:var(--black);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}.lede{font-size:var(--step-1);line-height:1.4;max-width:34ch;text-wrap:pretty}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:0;font:600 var(--step-0) / 1.2 var(--font-body);text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),background-color .14s ease,color .14s ease}.button:active{transform:scale(.97)}.button:disabled{opacity:.45;cursor:default;transform:none}.button-accent{background:var(--accent);color:var(--black)}.button-ink{background:var(--ink);color:var(--ground)}.button-quiet{background:var(--surface-2);color:var(--ink)}@media(hover:hover)and (pointer:fine){.button-accent:hover{background:var(--ink);color:var(--ground)}.button-ink:hover:not(:disabled),.button-quiet:hover{background:var(--accent);color:var(--black)}}.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}.wordmark{font:400 var(--step-1) / 1 var(--font-display);letter-spacing:-.02em;text-decoration:none;padding-block:12px}.wordmark span{font:400 var(--step-0) / 1 var(--font-body);letter-spacing:0;color:var(--dim)}.bar nav{display:flex;gap:4px}.bar nav a{display:grid;place-items:center;min-height:44px;padding:0 14px;font-weight:600;text-decoration:none;transition:background-color .14s ease,color .14s ease}.bar nav a[aria-current=page]{background:var(--ink);color:var(--ground)}@media(hover:hover)and (pointer:fine){.bar nav a:hover:not([aria-current]){background:var(--surface-2)}}@media(max-width:480px){.wordmark span{display:none}}.hero{padding-block:clamp(32px,7vw,96px) clamp(56px,8vw,112px)}.hero h1{font-size:var(--step-5);line-height:.92;letter-spacing:-.04em}.hero-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;align-items:end;margin-top:clamp(32px,5vw,64px)}.hero-progress{display:grid;gap:24px;justify-items:start}.progress{width:100%}.progress-blocks{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.progress-blocks span{height:36px;background:var(--surface-2);transition:background-color .24s ease}.progress-blocks span[data-read]{background:var(--accent)}.progress-count{margin-top:12px;color:var(--dim);font-variant-numeric:tabular-nums}.progress-count strong{color:var(--ink);font-weight:600}.section-title{font-size:var(--step-3);margin-bottom:24px}.chapter-list{display:grid;gap:4px}.chapter-row{display:grid;grid-template-columns:4rem minmax(0,5fr) minmax(0,6fr) 7.5rem;gap:8px 24px;align-items:baseline;padding:22px 24px;background:var(--surface);text-decoration:none;transition:background-color .14s ease,color .14s ease}.chapter-row-n,.chapter-row-title{font:400 var(--step-3) / 1.05 var(--font-display);letter-spacing:-.02em}.chapter-row-n{color:var(--accent);font-variant-numeric:tabular-nums}.chapter-row-line,.chapter-row-state{color:var(--dim)}.chapter-row-state{text-align:right;white-space:nowrap}.chapter-row:active{background:var(--surface-2)}@media(hover:hover)and (pointer:fine){.chapter-row:hover,.chapter-row:hover *{background:var(--accent);color:var(--black)}}@media(max-width:900px){.hero-foot{grid-template-columns:minmax(0,1fr)}.chapter-row{grid-template-columns:2.6rem minmax(0,1fr);padding:18px 16px}.chapter-row-line,.chapter-row-state{grid-column:2;text-align:left}}.chapter{display:grid;gap:4px;padding-block:clamp(24px,5vw,56px) 96px}.chapter-head{display:grid;grid-template-columns:minmax(0,1fr);gap:20px 32px;justify-items:start;margin-bottom:clamp(24px,4vw,44px)}.chapter-title{display:grid;gap:12px;min-width:0}.chapter-head h1{font-size:var(--step-3);line-height:.98;letter-spacing:-.03em;overflow-wrap:break-word}.chapter-head .lede{max-width:44ch}.numeral{display:grid;place-items:center;min-width:1.5em;height:1.5em;padding:0 .3em;background:var(--accent);color:var(--black);font:400 var(--step-4) / 1 var(--font-display)}@media(min-width:761px){.chapter-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.chapter-head h1{font-size:var(--step-4)}.chapter-head>.button{align-self:end}.chapter-title:first-child{grid-column:1 / -1}}.figures{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.figures>*{grid-column:span 6}@media(min-width:621px)and (max-width:980px){.figures>*{grid-column:span 3}.figures>:last-child:nth-child(odd){grid-column:span 6}}@media(min-width:981px){.figures>*{grid-column:span 2}.figures>:only-child,.figures>:first-child:nth-last-child(2),.figures>:first-child:nth-last-child(2)~*,.figures>:first-child:nth-last-child(4),.figures>:first-child:nth-last-child(4)~*,.figures>:first-child:nth-last-child(5)~:nth-child(n+4){grid-column:span 3}}.empty{display:grid;gap:20px;justify-items:start;padding:32px;background:var(--surface)}.empty h2{font-size:var(--step-2)}.pager{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;margin-top:44px}.pager a{display:grid;gap:4px;align-content:start;padding:20px;background:var(--ink);color:var(--ground);text-decoration:none;transition:background-color .14s ease,color .14s ease}.pager a:last-child{text-align:right}.pager span{font-size:var(--step--1)}.pager strong{font:400 var(--step-1) / 1.15 var(--font-display);letter-spacing:-.01em}.pager a:active{background:var(--accent);color:var(--black)}@media(hover:hover)and (pointer:fine){.pager a:hover{background:var(--accent);color:var(--black)}}@media(max-width:560px){.pager{grid-template-columns:minmax(0,1fr)}.pager a:last-child{text-align:left}}.site-foot{padding-block:48px 40px;color:var(--dim);font-size:var(--step--1)}.site-foot p{max-width:72ch}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.button:active{transform:none}}.v{display:block;width:100%;height:auto}.ln{fill:none;stroke-width:6;stroke-linecap:square;stroke-linejoin:miter}.s-ink{stroke:var(--ink)}.s-dim{stroke:var(--v-dim)}.s-point{stroke:var(--accent)}.f-ink{fill:var(--ink)}.f-dim{fill:var(--v-dim)}.f-point{fill:var(--accent)}.f-ground{fill:var(--black)}.lb{font-family:var(--font-display);letter-spacing:-.01em}.lb-l{font-size:22px}.lb-s{font-size:17px}.figure{display:grid;grid-template-rows:auto 1fr;min-width:0;margin:0;background:var(--surface)}.figure-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:start;padding:16px 20px 20px}.figure-foot p{max-width:44ch;text-wrap:pretty}.figure-main .figure-foot p{font-size:var(--step-1);line-height:1.35}.figure-tools{display:flex;flex-wrap:wrap;justify-content:end;gap:4px}.save,.figure-origin{display:inline-grid;place-items:center;min-height:44px;padding:0 14px;border:0;border-radius:0;background:var(--surface-2);color:var(--ink);font:600 var(--step--1) / 1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),background-color .14s ease,color .14s ease}.save:active{transform:scale(.97)}.save[data-saved]{background:var(--accent);color:var(--black)}@media(hover:hover)and (pointer:fine){.save:hover,.figure-origin:hover{background:var(--ink);color:var(--ground)}}@media(max-width:420px){.figure-foot{grid-template-columns:minmax(0,1fr)}.figure-tools{justify-content:start}}
