@charset "UTF-8";
:root{--bg:#101b20;--panel:#142329;--line:#314249;--text:#f1efe5;--soft:#adbfbe;--mint:#bbf1d4;--peach:#ffbd9e;--serif:Georgia,'Times New Roman',serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--peach);outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.skip{position:absolute;left:1rem;top:-5rem;z-index:5;background:var(--mint);color:var(--bg);padding:.7rem}.skip:focus{top:1rem}.top,main,footer{max-width:1256px;margin:auto;padding-left:48px;padding-right:48px}.top{min-height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:2rem}.wordmark{font:11px var(--mono);letter-spacing:2px;text-decoration:none;color:var(--mint)}nav{display:flex;gap:30px;font-size:13px}nav a{text-decoration:none;color:var(--soft)}nav a:hover{color:var(--text)}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:16px;padding:82px 0 70px}.eyebrow,.mini{font:10px/1.6 var(--mono);letter-spacing:1.8px;color:var(--mint)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.6px;line-height:1.03}h1{font-size:clamp(49px,5.8vw,76px);margin:24px 0 30px}h1 em,h2 em{font-weight:400;color:var(--mint)}.lead{font-size:19px;line-height:1.6}.hero-note{color:var(--soft);font-size:14px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:28px 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 18px;border:1px solid var(--line);font-size:13px;border-radius:4px;text-decoration:none}.primary{background:var(--mint);color:#15251d;border-color:var(--mint)}.secondary{background:transparent;color:var(--text)}.primary:hover{background:#d3f9e3}.secondary:hover{border-color:var(--mint)}.quiet-link{font-size:13px;color:var(--mint)}.signature{font:italic 17px var(--serif);color:var(--peach)}.signature span{color:var(--soft);font-size:13px}.hero-art svg{width:100%;height:auto;display:block;animation:arrive 1.2s ease-out}.thesis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:10px/1.7 var(--mono);letter-spacing:1px;color:var(--soft)}.section{padding:96px 0;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:28px}.section-heading>p{max-width:415px;color:var(--soft);font-size:15px}.section h2{font-size:clamp(37px,4.4vw,54px);margin:16px 0 12px}.notice{border-left:2px solid var(--peach);padding:8px 16px;color:var(--soft);font-size:12px;line-height:1.7;max-width:860px;margin-bottom:32px}.field-layout{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.field{background:radial-gradient(ellipse at 50% 45%,#1c3637 0,transparent 67%),var(--panel);min-width:0}.field-top{display:flex;justify-content:space-between;gap:12px;padding:20px 22px}.field-top .mini{color:var(--soft);font-size:9px}.tag{font:9px var(--mono);border:1px solid #3d6155;color:var(--mint);border-radius:20px;padding:4px 8px;white-space:nowrap}#field-svg{display:block;width:100%;height:auto}.seat-circle{fill:#17282e;stroke:var(--mint);stroke-width:1.2}.seat-label{fill:var(--text);font:12px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-anchor:middle}.seat-mark{fill:var(--mint);font:18px var(--serif);text-anchor:middle}.geometry-edge{fill:none;stroke:var(--mint);stroke-width:1.5;opacity:.7}.geometry-edge.boundary{stroke:var(--peach);stroke-dasharray:5 5}.centre-title{fill:var(--soft);text-anchor:middle;font:italic 19px var(--serif)}.centre-sub{fill:var(--soft);text-anchor:middle;font:9px var(--mono);letter-spacing:1px}.field-controls{padding:4px 24px 24px}.field-controls label{font-size:12px;display:flex;justify-content:space-between}.field-controls output{color:var(--mint);font-family:var(--mono)}input[type=range]{width:100%;accent-color:var(--mint);margin:17px 0 9px;min-height:24px}.field-controls p,.caption{font-size:12px;color:var(--soft);line-height:1.7}.field-controls p{margin-bottom:0}.field-reading{padding:26px 28px;min-width:0}.scenario-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}.scenario-buttons button{padding:6px 10px;font-size:11px;background:transparent;border:1px solid var(--line);color:var(--soft);border-radius:3px}.scenario-buttons button[aria-pressed=true]{border-color:var(--mint);background:#213b36;color:var(--mint)}h3{font-size:20px;line-height:1.35;font-weight:500}.field-reading h3{font:29px/1.15 var(--serif)}.field-reading>div p:not(.eyebrow){font-size:13px;color:var(--soft)}.lesson{border-left:1px solid var(--mint);padding-left:12px;margin:20px 0}.bearings{list-style:none;padding:0;max-height:280px;overflow:auto;margin:20px 0 24px}.bearings li{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.bearings small{display:block;color:var(--soft);margin-top:2px;font-size:11px}.field-reading .button{width:100%}details{margin-top:24px;font-size:12px;color:var(--soft)}summary{cursor:pointer;color:var(--text);padding:6px 0}details p{margin:15px 0}code{font:12px/1.6 var(--mono)}.digest{display:block;overflow-wrap:anywhere;margin-bottom:15px;font-size:10px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:42px 0 26px}.symbol{display:block;color:var(--peach);font:54px var(--serif);height:82px}.principles h3{font:26px var(--serif)}.principles p{font-size:14px;color:var(--soft)}.principles .engineering{border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--mint)}.architecture-list{padding:0;list-style:none;margin:38px 0 26px}.architecture-list li{display:grid;grid-template-columns:50px 1fr 230px;gap:24px;border-top:1px solid var(--line);padding:25px 0;align-items:start}.step{font:16px var(--mono);color:var(--peach);padding-top:6px}.architecture-list h3{font:25px var(--serif);margin-bottom:8px}.architecture-list p{color:var(--soft);font-size:14px;max-width:690px;margin-bottom:8px}.architecture-list a{color:var(--mint);font-size:11px}.architecture-list .boundary{font:10px/1.6 var(--mono);letter-spacing:.7px;text-align:right;color:var(--soft);padding-top:7px}.rehearsal-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:40px}.flow-status{display:flex;justify-content:space-between;gap:20px;font:11px var(--mono);margin-bottom:18px;align-items:center}#flow-state{background:#263f36;color:var(--mint);border:1px solid #476657;border-radius:20px;padding:7px 12px}#flow-budget{color:var(--soft)}#flow-message{min-height:84px;font:22px/1.4 var(--serif)}.flow-buttons{display:flex;gap:8px;flex-wrap:wrap}.flow-buttons button{font-size:12px;min-height:40px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--text);padding:8px 12px}.flow-buttons button:hover{border-color:var(--mint)}.flow-buttons .stop{color:var(--peach);border-color:#6d4b3c}.flow-buttons .reset{color:var(--soft);background:transparent}.trace{border:1px solid var(--line);border-radius:6px;padding:20px;background:var(--panel)}.trace ol{padding-left:20px;margin-bottom:0;max-height:290px;overflow:auto;font-size:12px;color:var(--soft)}.trace li{margin:0 0 13px;padding-left:5px}.take-home>p:not(.eyebrow){max-width:760px;color:var(--soft)}.downloads{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:28px 0}pre{max-width:680px;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:20px;overflow:auto;color:var(--mint)}.source-links{display:flex;flex-wrap:wrap;gap:24px;font-size:12px;color:var(--soft);margin-top:32px}footer{padding-top:45px;padding-bottom:45px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--soft)}footer p{font:italic 20px var(--serif);margin:0 auto 0 0;color:var(--peach)}footer a{margin-left:auto}#load-error{padding:20px;border:1px solid var(--peach);color:var(--peach);margin-bottom:20px}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-art svg{animation:none}}@media(max-width:1000px){.top,main,footer{padding-left:28px;padding-right:28px}.hero{gap:0;padding-top:60px}.hero-actions{gap:17px}.field-layout{grid-template-columns:1.2fr 1fr}.field-reading{padding:22px 20px}.section-heading{gap:35px}.architecture-list li{grid-template-columns:35px 1fr}.architecture-list .boundary{grid-column:2;text-align:left;padding:0}.principles{gap:24px}}@media(max-width:720px){.top,main,footer{padding-left:22px;padding-right:22px}.top{min-height:85px;align-items:flex-start;justify-content:center;flex-direction:column;gap:10px;padding-top:18px;padding-bottom:16px}nav{gap:20px;font-size:11px}.wordmark{font-size:10px}.hero{grid-template-columns:1fr;padding:48px 0 28px}.hero-art{max-width:460px;margin:0 auto;width:100%}h1{font-size:clamp(40px,13vw,55px);letter-spacing:-2px}.hero-copy{min-width:0}.hero-note{font-size:13px}.hero-actions{margin-bottom:24px}.signature{margin-bottom:0}.thesis{flex-direction:column;gap:8px;font-size:9px;padding:17px 0}.section{padding:64px 0}.section-heading{grid-template-columns:1fr;gap:15px}.section-heading>p{margin:0}.section h2{font-size:40px;letter-spacing:-1.6px}.field-layout{grid-template-columns:1fr}.field-reading{padding:25px}.field-top{padding:18px 15px}.field-top .mini{font-size:8px;letter-spacing:1px}.principles{grid-template-columns:1fr;gap:24px}.symbol{height:65px}.principles article{padding-bottom:8px}.architecture-list li{gap:12px}.rehearsal-layout{grid-template-columns:1fr;gap:24px}.flow-status{font-size:10px}footer{display:block}footer p,footer span,footer a{display:block;margin:0 0 12px}.downloads{align-items:stretch;flex-direction:column}.downloads .quiet-link{padding:8px 0}}
