@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--paper: #edeeeb;--surface: #f4f5f2;--surface-sunken: #f1f2ef;--control-bg: #edeeeb;--nav-track: #e3e5df;--nav-active: #f7f8f5;--ink: #191a18;--ink-secondary: #4d5049;--ink-muted: #5f6259;--hairline: #e0e2db;--border: #d6d8d1;--border-strong: #c8cac2;--border-dashed: #cfd1ca;--accent: #9c4b2c;--accent-hover: #8a4126;--accent-ink: #5e2c19;--accent-on: #fbf4ef;--accent-wash: #f0e4dd;--accent-wash-border: #e3c9bc;--accent-wash-ink: #6b463a;--cat-1: #9c4b2c;--cat-2: #b0603a;--cat-3: #c1794f;--cat-4: #d0946e;--cat-5: #dcb094;--cat-6: #e8cdb9;--cat-other: #cdcfc7;--font-sans: "Instrument Sans", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-hero: clamp(48px, 12vw, 76px);--text-h1: clamp(24px, 6vw, 30px);--text-figure: 15px;--text-figure-lg: 17px;--text-body: 15px;--text-small: 14px;--text-meta: 13px;--text-mono-meta: 12px;--text-tag: 11px;--r-pill: 999px;--r-panel: 20px;--r-card: 16px;--r-control: 12px;--r-swatch: 3px;--gutter: clamp(16px, 4vw, 28px);--page-top: clamp(24px, 5vw, 44px);--measure: 680px;--shadow-pill: 0 1px 2px rgba(94, 44, 25, .1);--motion: .16s ease}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink)}body{font-family:var(--font-sans)}a{color:inherit}.page{max-width:var(--measure);margin:0 auto;padding:var(--page-top) var(--gutter) 72px}header.site-nav{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--border)}header.site-nav .nav-row{max-width:var(--measure);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.wordmark{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.pill-nav{display:flex;background:var(--nav-track);border-radius:var(--r-pill);padding:3px;flex-grow:1;flex-shrink:0;flex-basis:320px}.pill-nav a{flex:1;min-height:34px;padding:7px 10px;border-radius:var(--r-pill);font-size:13px;font-weight:400;color:var(--ink-muted);text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center}.pill-nav a:hover{color:var(--ink)}.pill-nav a.active{background:var(--nav-active);color:var(--accent-ink);font-weight:500;box-shadow:var(--shadow-pill)}h1{font-size:var(--text-h1);font-weight:500;letter-spacing:-.025em;margin:0 0 8px}h2{font-size:15px;font-weight:500;margin:0 0 12px}.intro{font-size:14px;line-height:1.6;color:var(--ink-muted);max-width:52ch;margin:0 0 28px}.muted{color:var(--ink-muted)}.section-divider{height:1px;background:var(--border);border:none;margin:32px 0 22px}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.btn-primary,.btn-secondary{display:inline-block;text-decoration:none;text-align:center}.btn-primary{background:var(--accent);color:var(--accent-on);border:none;border-radius:var(--r-control);padding:11px 20px;font-size:14px;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:transparent;color:var(--accent-ink);border:1px solid #d9bdae;border-radius:var(--r-control);padding:10px 18px;font-size:14px;font-weight:500}.btn-secondary:hover:not(:disabled){background:#f3e4dc}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select{font-family:inherit;font-size:14px;color:var(--ink);background:var(--control-bg);border:1px solid var(--border-strong);border-radius:var(--r-control);padding:11px 13px}.select-wrap{position:relative;display:inline-block;flex:1}.select-wrap select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px}.select-wrap:after{content:"";position:absolute;width:7px;height:7px;right:13px;top:50%;transform:translateY(-60%) rotate(45deg);border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);pointer-events:none}.input-payday{font-family:var(--font-mono);font-size:16px;width:96px}label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.card{background:var(--surface);border:1px solid #dfe1da;border-radius:var(--r-card);padding:16px}.card-dashed{border:1px dashed var(--border-dashed);border-radius:var(--r-card);padding:18px}.panel-empty{text-align:center;background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--r-panel);padding:56px 20px 60px}.panel-empty .panel-title{font-size:20px;font-weight:500;margin:0 0 8px}.panel-empty p{font-size:14px;line-height:1.6;color:var(--ink-muted);max-width:40ch;margin:0 auto}.panel-error{text-align:left;background:#f9efe9;border:1px solid var(--accent-wash-border);border-radius:var(--r-panel);padding:28px}.panel-error .panel-title{font-size:20px;font-weight:500;color:var(--accent-ink);margin:0 0 8px}.panel-error p{font-size:14px;line-height:1.6;color:var(--accent-wash-ink);max-width:46ch;margin:0 0 16px}.panel-error .panel-actions{display:flex;gap:10px;flex-wrap:wrap}.banner-confirm{background:var(--accent-wash);color:var(--accent-ink);border-radius:var(--r-control);padding:11px 14px;font-size:13px;margin-top:14px}.error{color:var(--accent-ink)}.tag-pill{display:inline-block;font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.04em;color:var(--accent);background:var(--accent-wash);border-radius:var(--r-pill);padding:5px 11px}.toggle-row{width:100%;background:transparent;border:none;padding:0;font-size:13px;color:var(--ink-secondary);display:flex;justify-content:space-between;align-items:center;gap:12px}.toggle-track{width:38px;height:21px;border-radius:var(--r-pill);background:#d3d5cd;position:relative;flex-shrink:0;transition:background var(--motion)}.toggle-track.on{background:var(--accent)}.toggle-knob{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#8d9086;transition:left var(--motion),background var(--motion)}.toggle-knob.on{left:20px;background:#f4f5f2}.swatch{width:9px;height:9px;border-radius:var(--r-swatch);display:inline-block;flex-shrink:0}.stack-bar{display:flex;height:12px;gap:2px;margin-bottom:22px}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important}}
