:root{--bg: #f7f3ec;--paper: #fffaf2;--ink: #1e1b18;--muted: #6f655b;--line: #dfd4c6;--accent: #b05a2c;--accent2: #283a36;--soft: #eee4d6;--code: #171717;--max: 1120px;--radius: 18px;--shadow: 0 18px 50px rgba(32, 24, 18, .08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}.topbar{position:sticky;top:0;z-index:20;background:#f7f3ece6;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;letter-spacing:-.04em}.brand span{display:block;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.navlinks{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--muted)}.navlinks a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:var(--paper);box-shadow:0 6px 18px #0000000a;font-weight:700;color:var(--ink)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero{padding:78px 0 44px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800}.hero h1{font-size:clamp(42px,7vw,82px);line-height:.95;letter-spacing:-.07em;margin:16px 0 20px;max-width:920px}.lead{font-size:clamp(18px,2vw,22px);color:var(--muted);max-width:780px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}.card p{margin:0;color:var(--muted)}.card .num{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:16px}.section{padding:46px 0}.section h2{font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.055em;margin:0 0 18px}.article{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;padding:44px 0}.toc{position:sticky;top:92px;align-self:start;border-left:1px solid var(--line);padding-left:18px;font-size:14px;color:var(--muted)}.toc a{display:block;margin:0 0 10px}.toc a:hover{color:var(--ink)}.content{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:min(5vw,56px);box-shadow:var(--shadow)}.content h1{font-size:clamp(36px,5vw,64px);line-height:.98;letter-spacing:-.065em;margin:0 0 16px}.content h2{font-size:34px;line-height:1.05;letter-spacing:-.045em;margin:54px 0 16px}.content h3{font-size:23px;letter-spacing:-.025em;margin:30px 0 10px}.content p{color:#332f2a}.content .intro{font-size:20px;color:var(--muted)}.content ul{padding-left:22px}.content li{margin:6px 0}.note{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:18px 20px;color:#352f2a}.decision{border-left:4px solid var(--accent);padding:4px 0 4px 18px;background:linear-gradient(90deg,rgba(176,90,44,.08),transparent)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft);font-size:13px;text-transform:uppercase;letter-spacing:.08em}td{color:#332f2a}.mermaid{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin:24px 0;overflow:auto}code,pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace}pre{background:var(--code);color:#f5f5f5;border-radius:16px;padding:18px;overflow:auto}.footer{padding:42px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.nextprev{display:flex;justify-content:space-between;gap:16px;margin-top:48px}.nextprev a{flex:1}.tagrow{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.tag{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 10px;font-size:13px;color:var(--muted);font-weight:700}@media(max-width:900px){.grid{grid-template-columns:1fr}.article{display:block}.toc{position:relative;top:0;margin-bottom:22px}.navlinks{display:none}.content{padding:28px}.hero{padding-top:48px}}
