/* Long-form engine article; the rest of the exhibits retain their layout. */
.engine-intro{max-width:1250px;margin:auto;padding-top:65px}.engine-intro h1{max-width:900px;font-size:clamp(45px,6vw,86px)}.engine-intro .deck{font-size:clamp(18px,2vw,22px);max-width:780px}.engine-meta{font:12px/1.7 ui-sans-serif,system-ui;letter-spacing:.025em;color:var(--muted)}
.engine-hero{max-width:1180px;margin:15px auto 45px;padding:0 35px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.engine-hero img{display:block;width:100%;height:auto;image-rendering:pixelated;background:#111e29}.engine-hero figcaption{grid-column:1/-1;color:var(--muted);font:13px/1.7 system-ui;margin-top:-8px}
.engine-layout{max-width:1370px;grid-template-columns:225px minmax(0,860px);gap:55px}.engine-layout .contents{max-height:calc(100dvh - 60px);overflow:auto;padding-right:10px}.engine-layout .contents a{display:block;padding:5px 0}.engine-article{min-width:0;font-size:19px}.engine-article h2{margin-top:82px}.engine-article>p{max-width:75ch}.engine-article strong{font-weight:700}.engine-article code{font: .84em/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:rgba(100,120,120,.09);padding:.1em .22em;border-radius:3px;overflow-wrap:anywhere}.engine-article pre{padding:22px 25px;background:#111e29;color:#e1e9e6;border-left:3px solid #88cdbd;overflow-x:auto;font:14px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}.engine-article pre code{font:inherit;padding:0;background:none;white-space:pre;overflow-wrap:normal}.engine-article .pixel-art{image-rendering:pixelated;max-width:640px;display:block;margin:auto}
.engine-equation{margin:30px 0;padding:22px 28px;border:1px solid var(--line);font:20px/1.8 ui-monospace,Consolas,monospace;text-align:center;overflow-x:auto;white-space:nowrap}.engine-pipeline{background:#111e29;color:#e6eceb;padding:28px 30px;margin:35px 0}.engine-pipeline ol{list-style:none;counter-reset:stages;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:25px 34px}.engine-pipeline li{counter-increment:stages;position:relative;padding-left:35px;font:14px/1.6 system-ui}.engine-pipeline li:before{content:counter(stages,decimal-leading-zero);position:absolute;left:0;top:0;color:#edca82;font:15px/1.5 ui-monospace,monospace}.engine-pipeline strong{display:block;font-size:17px;margin-bottom:6px}.engine-pipeline span{color:#bac9ce}.engine-article .engine-source{font:13px/1.85 ui-sans-serif,system-ui;color:var(--muted);border-left:2px solid var(--line);padding:4px 0 4px 16px;margin:26px 0 42px}
.engine-article figure{margin:40px 0}.engine-article figure img{height:auto;display:block}.engine-article figcaption{font:13px/1.75 ui-sans-serif,system-ui;margin-top:12px}.engine-article .engine-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.engine-pair img{image-rendering:pixelated}.engine-pair span{font:12px/1.6 system-ui;color:var(--muted)}.engine-pair figcaption{grid-column:1/-1;margin-top:0}
.engine-table{overflow-x:auto;border:1px solid var(--line);margin:30px 0}.engine-table table{width:100%;border-collapse:collapse;font:14px/1.65 ui-sans-serif,system-ui;text-align:left}.engine-table th{font-weight:650;background:rgba(90,120,120,.09)}.engine-table th,.engine-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}.engine-table tr:last-child td{border-bottom:0}.engine-table td:first-child{min-width:100px}.engine-table:focus-visible{outline-offset:2px}
.engine-colour-flow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:35px 0;padding:22px;border:1px solid var(--line);font:14px/1.7 system-ui}.engine-colour-flow span{text-align:center}.engine-colour-flow b{color:var(--teal);font-size:24px}.engine-colour-flow strong{font-size:15px}
.engine-demo canvas{width:100%;display:block;border-radius:3px 3px 0 0}.demo-controls{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;padding:17px 20px;background:#1b2c37;color:#e6eceb;font:14px/1.6 ui-sans-serif,system-ui;border-radius:0 0 3px 3px;color-scheme:dark}.demo-controls label{display:flex;align-items:center;gap:12px}.demo-controls output{font-family:ui-monospace,monospace;color:#edca82;min-width:28px}.demo-controls select{padding:7px;background:#111e29;color:#e6eceb;border:1px solid #6c868e;max-width:100%;font-size:14px}.demo-controls input[type=range]{flex:1 1 170px;accent-color:#edca82;min-height:32px;min-width:0}.demo-controls .demo-readout{font:13px/1.65 system-ui;flex-basis:100%;margin:0;color:#c4d0d4}.engine-reading{margin-top:60px;padding:25px 30px;background:rgba(95,130,120,.1)}.engine-reading h3{margin-top:0}.engine-reading ul{padding-left:23px;font:16px/1.8 system-ui}.engine-reading li{margin:12px 0}
@media(max-width:1100px){.engine-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}}
@media(max-width:900px){.engine-layout{grid-template-columns:1fr}.engine-layout .contents{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.engine-layout .contents>strong{grid-column:1/-1}.engine-hero{padding:0 6vw}.engine-intro{padding-top:36px}.engine-article{font-size:18px}}
@media(max-width:600px){.engine-layout .contents{display:block}.engine-pipeline{padding:24px 20px}.engine-pipeline ol{grid-template-columns:1fr;gap:20px}.engine-hero{grid-template-columns:1fr;gap:15px}.engine-hero img+img{display:none}.engine-article pre{padding:18px 15px;font-size:12px}.engine-equation{font-size:15px;padding:17px 12px}.engine-article .engine-pair{grid-template-columns:1fr}.engine-colour-flow{font-size:11px;gap:7px;padding:15px 10px}.engine-colour-flow strong{font-size:12px}.engine-article h2{margin-top:60px}.engine-table th,.engine-table td{padding:11px 12px;font-size:13px}.demo-controls{padding:15px 12px;gap:10px}.demo-controls label{flex-wrap:wrap;gap:6px}.engine-article figcaption{font-size:12px}.engine-reading{padding:20px}}
@media print{.contents,.demo-controls,.topbar,.footer{display:none!important}.engine-layout{display:block}.engine-demo canvas{display:none!important}.engine-demo .demo-fallback{display:block!important}.engine-article{font-size:11pt}.engine-article h2{break-after:avoid}figure{break-inside:avoid}.engine-hero{display:none}.engine-article .engine-source{font-size:9pt}}

.engine-intro p.eyebrow{font-size:11px;line-height:1.7;letter-spacing:.16em}.engine-intro p.engine-meta{font:12px/1.7 ui-sans-serif,system-ui;letter-spacing:.025em}
