:root{--paper:#f2f0e8;--ink:#222e33;--muted:#596969;--line:#d2d8ce;--accent:#32665d;--gold:#dbb66e;--night:#101b23;--panel:#172630;color-scheme:light dark;font:16px/1.65 system-ui,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%;height:auto}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,select,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd8845;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:var(--paper);padding:12px}.skip:focus{top:15px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 4vw;border-bottom:1px solid var(--line);position:relative;z-index:3;background:var(--paper)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);line-height:1.15;font-size:17px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-top:5px}.brand img{width:37px;height:37px}.nav-links{display:flex;gap:24px;font-size:13px;align-items:center}.nav-links a{color:var(--ink);text-decoration:none}.nav-links a[aria-current],.nav-links a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:7px}.menu-toggle{display:none;border:1px solid var(--line);background:none;color:var(--ink);padding:8px 14px}
.eyebrow{font-size:11px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px}.hero{background:var(--night);color:#e4e9e1;display:grid;grid-template-columns:1fr 1.18fr;gap:5vw;align-items:center;padding:70px 6vw 50px;min-height:660px}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-weight:400}.hero h1{font:400 clamp(56px,5.6vw,92px)/1.02 Georgia,serif;letter-spacing:-.045em;margin:25px 0}.hero h1 span{display:block;color:var(--gold)}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:470px;color:#c8d4d4}.hero figure{margin:0;min-width:0}.hero figure img{display:block;width:100%;image-rendering:pixelated;border:1px solid #4d5a5d}.hero figcaption{color:#a8babf;font-size:11px;margin-top:12px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 20px}.button{display:inline-block;padding:12px 20px;text-decoration:none;border:1px solid #829393;color:#e1e8df;font-size:13px}.button.primary{background:var(--gold);border-color:var(--gold);color:#1b252c}.button:hover{background:#32454e}.button.primary:hover{background:#edcb89}
.intro{display:grid;grid-template-columns:1fr 1.6fr;gap:5vw;max-width:1250px;padding:75px 6vw 35px;margin:auto}.intro h2{font:38px/1.2 Georgia,serif;margin:0;letter-spacing:-.02em}.intro p{margin:0 0 18px;font-size:17px}.section{padding:38px 6vw 65px;max-width:1500px;margin:auto}.section h2{font:38px/1.2 Georgia,serif;margin:0 0 26px}.exhibits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.exhibit{min-width:0}.exhibit>a{display:block;overflow:hidden;background:#0a1015}.exhibit img{display:block;width:100%;aspect-ratio:1.45;object-fit:contain}.exhibit h3{font:28px/1.2 Georgia,serif;margin:19px 0 12px}.exhibit h3 a{color:var(--ink);text-decoration:none}.exhibit p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.exhibit .tag{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:20px 0 -9px;display:block}.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:center;border-top:1px solid var(--line);padding-top:55px;margin-top:15px}.feature img{width:100%;display:block;background:var(--night)}.feature h2{font:40px/1.16 Georgia,serif;margin:12px 0 24px}.feature p{color:var(--muted)}.link-arrow{text-decoration:none;font-size:14px;font-weight:600}.feature.reverse{grid-template-columns:1fr 1.15fr}.footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:36px 6vw;font-size:12px;line-height:1.9;color:var(--muted)}.footer p{margin:0}.footer nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-content:start;max-width:450px}.footer a{color:inherit}
.page-intro{padding:60px 6vw 35px;max-width:1220px;margin:auto}.page-intro h1{font:clamp(36px,4vw,65px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 23px}.page-intro>p:not(.eyebrow){font-size:17px;max-width:800px;color:var(--muted)}.story-layout{display:grid;grid-template-columns:215px minmax(0,760px);gap:65px;max-width:1160px;padding:25px 4vw 85px;margin:auto}.contents{position:sticky;top:30px;align-self:start;font-size:12px;line-height:1.8}.contents ol{padding-left:16px}.contents li{margin:13px 0}.contents a{color:var(--muted);text-decoration:none}.article{font:18px/1.9 Georgia,serif;min-width:0}.article p{margin:0 0 25px}.article h2{font:37px/1.18 Georgia,serif;letter-spacing:-.025em;margin:60px 0 25px;scroll-margin-top:25px}.article h2:first-child{margin-top:0}.article h3{font:600 19px/1.4 system-ui;margin:30px 0 18px}.article figure{margin:36px 0}.article figure img{width:100%;display:block;background:#0a1015}.article figcaption{font:12px/1.8 system-ui;color:var(--muted);margin-top:12px}.pixel{image-rendering:pixelated}.article code{font:13px ui-monospace,monospace;background:#e2e6dc;padding:3px 4px;overflow-wrap:anywhere}.article li{margin-bottom:13px}.article ul{padding-left:23px}.process-flow{display:flex;align-items:center;gap:10px;font:14px/1.6 system-ui}.process-flow span{flex:1;padding:18px 12px;border:1px solid var(--line);background:#e5e9df;min-width:0}.process-flow small{display:block;font-size:11px;color:var(--muted)}.process-flow strong{font-family:ui-monospace,monospace}.research-article{max-width:850px;padding:0 6vw 80px;margin:auto}.note{border-left:3px solid var(--gold);padding:10px 22px;margin:30px 0;font:14px/1.8 system-ui}.viewer-note{padding:20px 5vw 40px;margin:0;font-size:13px;color:#acbcc4;max-width:1150px}.tour-links{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 5px}.tour-links a{display:block;padding:7px 13px;border:1px solid #3a505a;color:#e2c789;font-size:12px;text-decoration:none}.tour-links a:hover{background:#263d45}
.dark-page{background:#0e1820;color:#dce5e7;--paper:#101b23;--ink:#dce5e7;--muted:#adbdc4;--line:#344750;--accent:#c9b67f}.dark-page .page-intro{padding:35px 4vw 20px;max-width:none}.dark-page .page-intro h1{font-size:42px}.dark-page .page-intro p{max-width:900px}.dark-page .eyebrow{color:var(--gold)}.viewer{padding:12px 4vw 35px;font:14px/1.55 system-ui;overflow:hidden}.viewer h2{font-size:22px;margin:0 0 10px;font-weight:550}.viewer h3{font-size:17px;font-weight:550}.viewer a{color:#add3dc}.viewer .muted,.viewer small{color:#a3b6bf}.viewer small{display:block;font-size:11px}.viewer input,.viewer select,.viewer button{background:#1d303b;color:#e0e8e9;border:1px solid #4e6872;border-radius:2px;padding:6px 8px;max-width:100%;font:13px system-ui}.viewer input[type=range]{padding:0;accent-color:var(--gold);max-width:190px}.viewer button:hover{background:#304b57}.viewer label{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.viewer .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.viewer .split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px}.viewer .split>*,.viewer .layout>*{min-width:0}.viewer .list{max-height:84vh;overflow:auto}.viewer table{width:100%;border-collapse:collapse;font-size:13px}.viewer th,.viewer td{padding:9px 8px;text-align:left;border-bottom:1px solid #293c46}.viewer th{background:#182933;position:sticky;top:0;z-index:1}.viewer tr[role=button]{cursor:pointer}.viewer tr:hover{background:#1c303b}.viewer tr.selected,.viewer button.selected{background:#294651}.viewer .rowbutton{background:none;border:0;padding:0;text-align:left;width:100%;font-weight:550}.viewer .thumb{width:96px;height:70px;object-fit:contain;max-width:none;background:#0a1015}.viewer .variants{display:flex;flex-wrap:wrap;gap:8px}.viewer .variants button{display:grid;font-size:11px;gap:6px;max-width:150px}.viewer .variants img{width:115px;height:86px;object-fit:contain}.viewer canvas{max-width:100%;background:#0a1015}.viewer details{margin:16px 0}.viewer details>summary{color:#c9d5d9;font-size:13px;border-bottom:1px solid #293e48;padding:8px 0}.viewer details p{font-size:13px}.viewer pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;background:#15232d;padding:15px;font-size:11px}.viewer .status{font-size:12px;color:#bacad0;padding:10px 14px;background:#172933}.viewer #mounts{gap:10px}.viewer #mounts select{max-width:200px}.viewer #source{font-size:11px}.viewer #sceneWrap{position:relative}.viewer #labels{pointer-events:none}.viewer #info,.viewer #stats{font-size:12px}.viewer #metadata{margin-top:15px}.viewer .columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px}.viewer #sky{width:100%;image-rendering:pixelated}.viewer #texture{image-rendering:pixelated}.viewer #ramp{width:100%;image-rendering:pixelated}.viewer .colours,.viewer .range{display:flex}.viewer .colours{height:30px}.viewer .range{height:22px}.viewer .colours span,.viewer .range i{flex:1}.viewer [id=load-error]{padding:15px;background:#632d30;color:#fff}.viewer .layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px}.viewer #frame:not(input){max-width:100%;height:auto}.viewer .section td{font-weight:650;background:#1a2b35}.viewer #plot{touch-action:pan-y}.viewer #input{min-height:230px}.noscript{padding:20px 4vw;background:#3e3021;color:#ffe2a4}
@media(prefers-color-scheme:dark){:root{--paper:#152028;--ink:#dce4e3;--muted:#afc0c5;--line:#3b4a4e;--accent:#a8cbbd}.article code{background:#263740}.process-flow span{background:#1c3039}}
@media(min-width:1600px){.viewer .split{grid-template-columns:350px minmax(0,1fr)}.hero{padding-left:9vw;padding-right:9vw}}
@media(max-width:1100px){.topbar{padding:18px 4vw}.nav-links{gap:16px;font-size:12px}.hero{gap:4vw;padding:55px 5vw;min-height:560px}.hero h1{font-size:65px}.viewer .split{grid-template-columns:250px minmax(0,1fr)}.story-layout{gap:35px;grid-template-columns:180px minmax(0,1fr)}.exhibits{gap:22px}.viewer .thumb{width:72px;height:56px}.viewer #mounts label{flex-wrap:wrap}}
@media(max-width:850px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:start;gap:20px;background:var(--paper);padding:25px 5vw;border-bottom:1px solid var(--line);font-size:15px}.nav-links.open{display:flex}.hero{grid-template-columns:1fr;padding:50px 6vw}.hero-copy>p:not(.eyebrow){max-width:650px}.hero h1{font-size:72px}.hero figure{max-width:650px}.intro{grid-template-columns:1fr;gap:24px;padding-top:45px}.exhibits{grid-template-columns:repeat(2,minmax(0,1fr))}.story-layout{display:block;padding-left:6vw;padding-right:6vw}.contents{position:static;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:40px}.contents ol{columns:2;column-gap:35px}.contents li{break-inside:avoid}.feature,.feature.reverse{grid-template-columns:1fr;gap:25px}.feature.reverse>div{order:2}.viewer .split,.viewer .layout,.viewer .columns{display:block!important}.viewer .list{max-height:270px;margin-bottom:25px}.viewer #view{min-height:300px!important;max-height:600px}.viewer .preview{margin-top:22px}.viewer #sky{max-width:700px}.footer{display:block}.footer nav{margin-top:20px}.page-intro{padding-top:40px}.viewer #rows canvas{width:120px;height:90px}.viewer[data-viewer=cockpits] .list{max-height:180px}.viewer[data-viewer=cockpits] #rows{display:flex;width:max-content}.viewer[data-viewer=cockpits] .list table{width:max-content}.viewer #mounts label{flex-wrap:nowrap}}
@media(max-width:520px){.hero h1{font-size:59px}.hero{padding-top:35px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-actions .button{padding:10px 14px}.exhibits{grid-template-columns:1fr;gap:36px}.exhibit img{aspect-ratio:1.5}.section{padding-bottom:40px}.intro h2,.section h2,.feature h2{font-size:32px}.page-intro h1,.dark-page .page-intro h1{font-size:36px}.page-intro>p:not(.eyebrow){font-size:15px}.article{font-size:17px;line-height:1.85}.article h2{font-size:30px}.process-flow{display:block}.process-flow span{display:block}.process-flow b{display:block;transform:rotate(90deg);text-align:center;padding:3px}.contents ol{columns:1}.viewer{padding-left:4vw;padding-right:4vw}.viewer .toolbar{gap:10px}.viewer .toolbar label{flex-wrap:wrap}.viewer select{min-width:0;max-width:88vw}.viewer #palette,.viewer #bank{max-width:78vw}.viewer #mounts select{max-width:65vw}.viewer #view{height:340px!important;min-height:260px!important}.viewer[data-viewer=cockpits] #view{height:auto!important;min-height:0!important}.viewer #frame{min-width:0}.viewer #actorList{overflow:auto}.viewer th,.viewer td{padding:7px 5px}.footer{padding:28px 6vw}.viewer .columns{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.article table{display:block;overflow:auto;max-width:100%;border-collapse:collapse;font:13px/1.6 system-ui;margin:28px 0}.article th,.article td{padding:11px 9px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.article th{font-weight:650}.article pre{font:12px/1.7 ui-monospace,monospace;overflow:auto;padding:18px;background:#e4e8df;max-width:100%}.article pre code{background:none;padding:0}.article .source-note{font:13px/1.7 system-ui}.article h4{font:600 16px/1.6 system-ui}.article h1{font:40px/1.15 Georgia,serif}.research-article{overflow-wrap:anywhere}@media(prefers-color-scheme:dark){.article pre{background:#22333e}}
