:root{--wine:#6f163c;--deep:#36091f;--paper:#fff;--pale:#fdf1f6;--bg:#faf6f8;--text:#2c1a25;--muted:#725e68;--line:#ebd5df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--wine)}header.hero{background:linear-gradient(120deg,#2d081d,#6f163c,#a54773);padding:35px max(20px,calc((100% - 1080px)/2));color:white}header.hero h1{font-size:clamp(26px,3.8vw,41px);margin:4px 0 12px;line-height:1.14}header.hero p{color:#f8dce8;max-width:880px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#f6c4d7;font-size:12px}.hero a{color:#fff}main{max-width:1080px;margin:auto;padding:14px 20px 60px}nav.toc{position:sticky;top:0;z-index:4;background:#faf6f8f5;padding:10px 0;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}nav.toc a{font-size:12px;text-decoration:none;border:1px solid #d5acbc;background:#fff;padding:6px 9px;border-radius:9px;font-weight:700}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;margin:20px 0;box-shadow:0 2px 15px #3a0c2209;scroll-margin-top:68px}h2{font-size:22px;margin:0 0 10px}h3{font-size:17px;margin:19px 0 7px}h4{font-size:15px;margin:13px 0 5px}p{margin:9px 0}.small{font-size:13px;color:var(--muted)}.analogy{background:#fff1f6;border-left:4px solid #9c3d67;border-radius:10px;padding:14px 16px;margin:12px 0}.limit{border-left:3px solid #977a89;padding:9px 13px;color:#664b5a;background:#faf6f8;font-size:13px;margin:10px 0}.formula{background:#faedf3;border:1px solid #ead2dd;border-radius:11px;padding:18px;text-align:center;overflow:auto;margin:13px 0}.diagram{padding:14px;border:1px solid #efd9e3;border-radius:12px;overflow-x:auto;background:#fffafc}.steps{display:flex;align-items:center;gap:9px;justify-content:space-between;flex-wrap:wrap}.node{background:#fff3f8;color:#50122f;border:2px solid #b67e99;border-radius:11px;padding:12px;min-width:100px;text-align:center;flex:1 1 130px}.node strong,.node small{display:block}.arrow{color:#8c2a52;font-size:25px;font-weight:bold}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.controls{background:#fffafb;border:1px solid #ead3de;padding:16px;border-radius:10px;margin:14px 0}.controls label{display:block;margin:10px 0;font-weight:650}.controls input[type=range]{width:100%;accent-color:var(--wine)}.value{color:var(--wine);font-weight:800}.bar{height:28px;border-radius:8px;background:#eddce5;display:flex;overflow:hidden;margin:9px 0}.bar span{display:block;height:100%;transition:width .25s}.btn,button{background:white;color:var(--wine);border:1px solid #cf9cb4;padding:9px 13px;border-radius:9px;font:inherit;cursor:pointer;font-weight:700}.btn:hover,button:hover{background:var(--wine);color:#fff}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.result{font-size:14px;padding:12px;background:#fdf1f6;border-radius:9px;margin:10px 0}.shape{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;background:#f7e4ed;color:#6d2343;border-radius:5px;padding:3px 5px}.plot{min-height:120px;border:1px solid #efdbe5;border-radius:12px;background:white;padding:10px}pre{background:#21151e;color:#f9deec;border-radius:11px;padding:19px;overflow:auto;font:13px/1.62 ui-monospace,Menlo,monospace;white-space:pre;tab-size:4}code{font-family:ui-monospace,Menlo,monospace}details{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0}summary{cursor:pointer;font-weight:700}ul{padding-left:24px}li{margin:6px 0}.inlinecheck{font-weight:700}.inlinecheck input{accent-color:var(--wine)}.badge{display:inline-block;background:#f6e2ec;color:#6f163c;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:750}.figcap{font-size:12px;color:var(--muted);margin:5px 0}.micro{min-height:110px}.meter{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.cell{height:34px;background:#f1e4eb;border-radius:4px;border:1px solid #ead0de;transition:background .25s}.cell.active{background:#9b3e69}.progress{height:8px;background:#ebdce5;border-radius:10px;overflow:hidden}.progress span{height:100%;background:#8d2c56;display:block}strong{font-weight:750}@media(max-width:750px){.twocol{grid-template-columns:1fr}main{padding:12px}.card{padding:16px}.arrow{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}