:root{--paper:#f6f2ea;--paper2:#fffdf9;--paper3:#efe7da;--ink:#1b2430;--soft:#465260;--muted:#6f7a86;--accent:#315a77;--line:#d6cec0;--line2:#bfd0dd;--code:#16202a;--coderule:#293747;--codetext:#ebf0f4;--ok:#1f6b46;--warn:#8f6517;--bad:#8c3a30;--serif:"Source Serif 4",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",Consolas,monospace;--shadow:0 16px 40px rgba(27,36,48,.05)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)),url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.55;z-index:0}a{color:var(--accent)}code,pre{font-family:var(--mono)}.nav,.heroin,.shell,.footin{width:min(100% - 2rem,1120px);margin:0 auto;position:relative;z-index:1}.top{position:sticky;top:0;z-index:20;background:rgba(246,242,234,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(190,180,163,.65)}.nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:68px}.navlinks{display:flex;flex-wrap:wrap;gap:1rem}.brand,.back,.navlinks a{text-decoration:none}.brand{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink)}.back,.eyebrow,.label,.toc h2,.meta span,.faq h3,.table caption,.navlinks a,.footlink,.flowhead,.kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase}.back,.navlinks a,.footlink{font-size:.72rem;color:var(--muted)}.navlinks a.active,.navlinks a:hover,.back:hover{color:var(--ink)}.hero{padding:5.5rem 0 2.5rem;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero::before{content:var(--hero-word,"Essay");position:absolute;top:2rem;right:min(3vw,2rem);font-family:var(--serif);font-size:clamp(4rem,15vw,12rem);color:rgba(49,90,119,.05);letter-spacing:-.06em;line-height:.9;pointer-events:none}.hero-grid,.shell{display:grid;gap:2rem}.hero-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:end}.eyebrow{font-size:.74rem;color:var(--accent);margin:0 0 1rem}h1{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,6vw,5rem);line-height:.97;letter-spacing:-.04em;max-width:12.5ch}.sub{max-width:60ch;margin:1.25rem 0 0;font-size:1.08rem;color:var(--soft)}.meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.meta span{font-size:.66rem;color:var(--accent);padding:.32rem .55rem;border:1px solid rgba(49,90,119,.18);background:rgba(232,238,243,.9);border-radius:999px}.note,.toc,.stat,.card,.faqitem,.rel,.callout,.cta-block{background:rgba(255,253,249,.82);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.note{padding:1.15rem}.note p{margin:.55rem 0 0;color:var(--soft);font-size:.92rem}.label,.kicker,.flowhead{font-size:.64rem;color:var(--accent)}.shell{grid-template-columns:minmax(0,760px) 260px;padding:2.75rem 0 5rem;width:min(100% - 2rem,1120px);margin:0 auto;position:relative;z-index:1}.shell.single{grid-template-columns:minmax(0,760px)}.toc{position:sticky;top:88px;align-self:start;padding:1rem 1.05rem 1.1rem}.toc h2{font-size:.65rem;color:var(--accent);margin:0 0 .85rem}.toc ol{margin:0;padding-left:1rem}.toc li+li{margin-top:.5rem}.toc a{text-decoration:none;color:var(--soft);font-size:.93rem}.content p,.content ul{font-size:1.02rem;color:var(--soft)}.content p{margin:1.1rem 0 0}.content ul{margin:1rem 0 0;padding-left:1.2rem}.content li+li{margin-top:.5rem}.lede{font-size:1.16rem;color:var(--ink)}.bridge{display:grid;gap:1rem;margin:2rem 0 2.5rem;padding:1.3rem 1.4rem;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(180deg,rgba(232,238,243,.7),rgba(255,253,249,.95))}h2.section{margin:3.75rem 0 .85rem;font-family:var(--serif);font-size:clamp(2rem,3vw,2.6rem);line-height:1.05;font-weight:500;letter-spacing:-.03em;color:var(--ink)}h3.subhead{margin:2.3rem 0 .6rem;font-weight:600;font-size:1rem;color:var(--ink)}strong{color:var(--ink);font-weight:600}p code,li code,td code{background:var(--paper3);border:1px solid var(--line);border-radius:6px;padding:.08rem .32rem;font-size:.88em;color:var(--ink)}.stats,.concepts,.closing,.related{display:grid;gap:1rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:2rem 0}.stat{padding:1.1rem 1rem}.stat strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;margin-bottom:.4rem}.stat span{display:block;font-size:.86rem;color:var(--muted);line-height:1.5}blockquote{margin:2rem 0;padding:.45rem 0 .45rem 1.35rem;border-left:3px solid var(--accent)}blockquote p{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.5;color:var(--soft)}.table,.codebox,.diagram,.patentnote,.faq,.relwrap,.flow,.figureframe{margin-top:1.9rem}.table{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,249,.9);box-shadow:var(--shadow)}.table table{width:100%;border-collapse:collapse;min-width:700px}.table caption{text-align:left;padding:1rem 1.1rem .4rem;font-size:.66rem;color:var(--accent)}.table th{text-align:left;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);background:var(--paper3);padding:.85rem 1rem;border-bottom:1px solid var(--line)}.table td{padding:.95rem 1rem;vertical-align:top;border-bottom:1px solid rgba(214,206,192,.75);font-size:.95rem;color:var(--soft)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.hl td{background:rgba(232,238,243,.78)}.table tbody tr.hl td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.ok,.saved{color:var(--ok);font-weight:600}.warn{color:var(--warn);font-weight:600}.bad{color:var(--bad);font-weight:600}.ratio{color:var(--accent);font-weight:600}.zero{color:var(--muted)}.concepts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.6rem}.card,.faqitem,.rel,.callout{padding:1.05rem 1.1rem}.card strong,.rel strong{display:block;margin-bottom:.4rem;font-size:.98rem}.card p,.rel p{margin:0;font-size:.94rem}figure{margin:1.8rem 0}figcaption,.caption{margin-top:.7rem;color:var(--muted);font-size:.88rem}.codebox,.diagram,pre.figureframe{border-radius:14px;overflow:auto;border:1px solid var(--coderule);background:var(--code);box-shadow:0 14px 34px rgba(22,32,42,.18)}.codetitle{padding:.78rem 1rem;border-bottom:1px solid rgba(235,240,244,.08);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#95b4cb;background:rgba(255,255,255,.03)}pre{margin:0;overflow-x:auto;padding:1.15rem 1rem 1.25rem;color:var(--codetext);font-size:.8rem;line-height:1.75;white-space:pre}.callout{border-left:4px solid var(--accent);border-radius:0 14px 14px 0;background:linear-gradient(180deg,rgba(232,238,243,.85),rgba(255,253,249,.95))}.callout p{margin:.55rem 0 0}.callout.insight{border-left-color:var(--ok)}.callout.warn{border-left-color:var(--warn)}.flow{padding:1.05rem 1rem 1.1rem;overflow-x:auto}.flow-steps{display:flex;align-items:center;gap:0;min-width:max-content}.flow-step{text-align:center;padding:12px 16px}.flow-step .step-num{font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-family:var(--mono)}.flow-step .step-label{font-size:12px;color:var(--ink);white-space:nowrap;background:var(--paper2);border:1px solid var(--line);padding:6px 12px;border-radius:8px}.flow-step.highlight .step-label{border-color:var(--accent);color:var(--accent);background:rgba(232,238,243,.78)}.flow-arrow{color:var(--muted);font-size:16px;padding:0 4px;flex-shrink:0}.patentnote{padding:1.15rem 1.2rem;border:1px solid var(--line2);border-left:4px solid var(--accent);border-radius:0 14px 14px 0;background:linear-gradient(180deg,rgba(232,238,243,.85),rgba(255,253,249,.95))}hr{border:0;border-top:1px solid var(--line);margin:3rem 0 0}.closing{grid-template-columns:repeat(3,minmax(0,1fr))}.faq{display:grid;gap:1rem}.faq h3{margin:0 0 .4rem;font-size:.72rem;color:var(--accent)}.faq p{margin:0;font-size:.95rem}.related{grid-template-columns:repeat(3,minmax(0,1fr))}.rel{text-decoration:none;color:inherit}.rel span{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.rel strong{margin:.45rem 0;font-size:1rem;line-height:1.3}.cta-block{text-align:center}.cta-block h3{margin:0;font-family:var(--serif);font-size:1.85rem;font-weight:500;color:var(--ink)}.cta-block p{max-width:40ch;margin:.65rem auto 0}.cta-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .2s;cursor:pointer;border:1px solid var(--line)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#25465d;border-color:#25465d}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.foot{border-top:1px solid var(--line);padding:1.35rem 0 2rem}.footin{display:flex;justify-content:space-between;align-items:center;gap:1rem}.footcopy{font-family:var(--serif);font-size:1.05rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:none}#progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--accent),#8aa1b2);z-index:30;transition:width .1s linear}@media (max-width:1024px){.hero-grid,.shell{grid-template-columns:1fr}.toc{position:static;order:-1}.stats,.closing,.related{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.nav,.heroin,.shell,.footin{width:min(100% - 1.25rem,1120px)}.nav{align-items:flex-start;flex-direction:column;padding:.8rem 0}.hero{padding-top:4.2rem}h1{max-width:none;font-size:2.55rem}.sub,.content p,.content ul{font-size:.98rem}.stats,.concepts,.closing,.related{grid-template-columns:1fr}.footin{flex-direction:column;align-items:flex-start}}
