@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--ink:#e8ddc4;--muted:#a6b1c4;--red:#ec493e;--navy:#101b2c;--blue:#192e4a;--line:#47566c;--mono:"IBM Plex Mono",Consolas,monospace;--display:"Barlow Condensed",Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--navy);color:var(--ink);font:16px/1.7 var(--mono)}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--ink);color:var(--navy);padding:12px;z-index:20}.skip:focus{top:10px}.mast{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:27px 50px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:600 12px/1.5 var(--mono);letter-spacing:1px}.brand svg{width:34px;height:34px;fill:var(--ink);stroke:var(--navy);stroke-width:2}.brand-sub{display:block;color:var(--muted);font-size:10px}nav{display:flex;gap:35px}nav a{text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:1px}nav a:hover{color:var(--red)}.langs{display:flex;gap:6px}.langs button{background:transparent;border:1px solid transparent;color:var(--muted);font-size:11px;padding:5px 7px;cursor:pointer}.langs button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}main{max-width:1440px;margin:auto}.hero{padding:60px 50px 66px;display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:50px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 79px,#263a5228 79px 80px)}.eyebrow{font-size:11px;letter-spacing:1px;display:flex;align-items:center;gap:10px;margin:0 0 25px}.red-mark{height:8px;width:8px;background:var(--red)}h1{font-family:var(--display);font-weight:900;font-size:clamp(78px,8.5vw,132px);letter-spacing:-2px;line-height:.88;margin:0 0 27px;position:relative}h1>span:first-child{display:block;font-size:.53em;letter-spacing:2px;margin-bottom:10px}.year{position:absolute;font:12px/1 var(--mono);letter-spacing:1px;left:3px;top:50%;transform:translate(-27px,-50%) rotate(-90deg);display:none}.year span{color:var(--red)}.hero-line{font:700 34px/1.1 var(--display);margin:0 0 20px;color:var(--red);text-transform:uppercase}.hero-intro{font-size:13px;color:var(--muted);max-width:410px;margin:0 0 26px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;background:transparent;border:1px solid var(--ink);text-decoration:none;padding:15px 21px;font-size:12px;font-weight:600;letter-spacing:1px;min-height:51px;transition:background .15s,color .15s}.button.primary{background:var(--red);border-color:var(--red);color:#101b2c}.button:hover{background:var(--ink);color:var(--navy)}.button.primary:hover{background:#ff6254;border-color:#ff6254}.button span:last-child{font-size:20px;line-height:1}.spec{font-size:10px;letter-spacing:1px;margin:19px 0 0;color:var(--muted)}.spec span{padding:0 9px;color:var(--red)}figure{margin:0}img{max-width:100%;display:block;image-rendering:pixelated;height:auto}.hero-poster{position:relative;border:1px solid #75839a;padding:13px;background:#071021;transform:rotate(1.5deg);box-shadow:17px 20px 0 #071221}.hero-poster img{width:100%}.hero-poster figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted);padding:14px 2px 2px}.seal{position:absolute;right:20px;bottom:35px;border:2px solid var(--red);background:#101b2ce6;padding:13px 18px;transform:rotate(-9deg);font:600 13px/1.25 var(--mono);text-align:center;letter-spacing:2px}.seal b{color:var(--red)}.section-label{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1px}.section-label>span{background:var(--red);padding:3px 8px;color:var(--navy);font-weight:600}.section-label p{margin:0}section:not(.hero){padding:46px 50px 56px;border-top:1px solid var(--line)}h2{font:800 clamp(34px,4vw,54px)/1.03 var(--display);margin:0;letter-spacing:.2px;text-transform:uppercase}h3{font:700 26px/1.15 var(--display);margin:0 0 13px}.brief{background:#172940}.brief-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:30px}.brief-copy p{margin:0;color:var(--muted);font-size:13px}.numbers{display:flex;gap:45px;margin-top:30px}.numbers strong{font:800 57px/.9 var(--display);display:block}.numbers span{display:block;color:var(--muted);font-size:9px;margin-top:12px;letter-spacing:1px}.field-heading,.download-title{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:30px 0}.field-heading p,.download-title>p{font-size:12px;color:var(--muted);max-width:440px;margin:0}.wide-shot{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;background:#09111b;gap:25px;border:1px solid var(--line)}.wide-shot img{width:100%}.wide-shot figcaption{padding:25px;font-size:10px;letter-spacing:1px;display:flex;flex-direction:column;gap:15px}.wide-shot figcaption>span:first-child{color:var(--ink);font-weight:600}.wide-shot figcaption>span:last-child{color:var(--muted)}.field-bottom{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:35px}.observations article{padding-bottom:22px;display:grid;grid-template-columns:48px 1fr;column-gap:8px}.observations article>span{font-size:10px;color:var(--red);padding-top:6px}.observations h3{margin-bottom:7px}.observations p{grid-column:2;margin:0;font-size:12px;color:var(--muted)}.field-bottom figure{align-self:center}.field-bottom figcaption{font-size:10px;color:var(--muted);margin-top:13px}.downloads{background:#e8ddc4;color:#13233a}.downloads .section-label>span{color:var(--ink);background:#13233a}.download-title>p{color:#47566c}.download-list article{display:grid;grid-template-columns:50px 1fr auto;gap:25px;padding:31px 0;border-top:1px solid #13233a40;align-items:center}.download-number{font:700 33px/1 var(--display);align-self:start;color:#8c8170}.file-meta{margin:0 0 8px;font-size:9px;letter-spacing:1px;font-weight:600}.download-list h3{font-size:34px;margin:0 0 8px}.download-list article>div:nth-child(2)>p:not(.file-meta){font-size:12px;max-width:630px;color:#47566c;margin:0 0 11px}.download-list .button{border-color:#13233a;min-width:224px}.download-list .button:hover{background:#13233a;color:#e8ddc4}.download-list .button.primary{color:#13233a;border-color:var(--red)}.minor{font-size:11px;text-underline-offset:4px}.platforms{letter-spacing:1px;font-size:10px!important;font-weight:600}.operator-grid,.workbench-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:30px}.operator p,.workbench p{font-size:12px;color:var(--muted)}.command{display:flex;align-items:center;flex-wrap:wrap;gap:15px;border:1px solid var(--line);background:#09111b;padding:18px;margin:22px 0 14px}.command>span{font-size:9px;color:var(--muted)}.command code{font:600 17px var(--mono);color:var(--ink)}.command button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:7px 9px;font-size:9px;cursor:pointer;margin-left:auto}.command button:hover{border-color:var(--ink)}.note{font-size:10px!important;line-height:1.8}.control-panel{border-left:2px solid var(--red);padding-left:28px}.control-panel h3{font-size:23px}dl{margin:0}dl>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}dt{font-size:10px;font-weight:600}dd{font-size:11px;color:var(--muted);margin:0}.workbench{background:#09111b}.build-commands{display:grid;grid-template-columns:120px 1fr;gap:12px;margin:23px 0}.build-commands span{font-size:9px;color:var(--muted);align-self:center}.build-commands code{color:var(--ink);font-size:13px}footer{max-width:1440px;margin:auto;padding:34px 50px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}.footer-brand{font:800 26px var(--display);text-decoration:none}footer p{font-size:9px;color:var(--muted);margin:3px 0}@media(min-width:1441px){body{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:1440px;margin:auto}}@media(max-width:900px){.mast{padding:20px 26px;gap:15px}nav{gap:16px}nav a{font-size:10px}.hero{padding:44px 26px;gap:25px}h1{font-size:10vw}.hero-line{font-size:30px}.hero-poster{padding:8px}.seal{font-size:10px;padding:10px;bottom:35px}section:not(.hero){padding:35px 26px 42px}.brief-copy,.operator-grid,.workbench-grid{gap:30px}.numbers{gap:25px}.field-bottom{gap:30px}.download-list article{grid-template-columns:30px 1fr auto;gap:15px}.download-list .button{min-width:180px;padding:14px;gap:14px;font-size:10px}footer{padding:26px}}@media(max-width:650px){.mast{flex-wrap:wrap;padding:16px 20px}.brand{font-size:11px}.langs{margin-left:auto}nav{width:100%;order:3;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:5px}.hero{grid-template-columns:1fr;padding:35px 24px 50px;gap:35px}.eyebrow{font-size:9px}h1{font-size:19vw;letter-spacing:-1px}.hero-line{font-size:32px}.hero-intro{max-width:100%}.hero-poster{transform:rotate(1deg);box-shadow:9px 10px 0 #071221}.hero-poster figcaption{font-size:8px}.seal{font-size:11px}.brief-copy,.operator-grid,.workbench-grid,.field-bottom{grid-template-columns:1fr;gap:28px}section:not(.hero){padding:30px 24px 36px}.numbers{gap:35px}.numbers strong{font-size:52px}.field-heading,.download-title{display:block;margin-top:25px}.field-heading p,.download-title>p{margin-top:18px}.wide-shot{grid-template-columns:1fr;gap:0}.wide-shot figcaption{padding:15px;flex-direction:row;justify-content:space-between;font-size:8px}.download-list article{grid-template-columns:28px 1fr;gap:12px;align-items:start}.download-list .button{grid-column:2;width:100%;min-width:0;font-size:11px;margin-top:8px}.download-list h3{font-size:31px}.command{gap:10px}.command code{font-size:14px}.control-panel{padding-left:20px}.build-commands{grid-template-columns:110px 1fr}footer{flex-wrap:wrap;padding:25px 24px;gap:16px}footer>div{width:100%;order:3}h2{font-size:39px}.operator-grid{gap:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.play-main{max-width:1100px;margin:50px auto;padding:0 24px}.play-main h1{font-size:clamp(48px,8vw,96px);margin:15px 0}.machine{position:relative;background:#000;margin:30px 0 10px}.machine canvas{display:block;width:100%;height:auto;image-rendering:pixelated;outline-offset:3px}.machine:fullscreen{display:flex;justify-content:center;align-items:center}.machine:fullscreen canvas{width:auto;max-width:100%;max-height:100vh}#launch{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#080d16}#launch img{width:75%;max-height:70%;object-fit:contain;image-rendering:pixelated}#launch[hidden]{display:none}.play-tools,.touch-controls{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.play-tools .button{padding:12px 18px;font-size:16px}.touch-controls button{background:#e9e4d4;color:#101b2c;padding:14px 20px;border:0;font-family:inherit;touch-action:none;font-weight:bold}.play-main .control-panel{margin:30px 0}.button:disabled{opacity:.4;cursor:default}.button[aria-pressed=true]{background:#c4433f;color:white}#play-error{color:#f18b87}

/* Keep JAMSI at its native raster size; shrink only on narrower screens. */
.machine{width:100%;max-width:768px;margin-left:auto;margin-right:auto}.machine canvas{max-width:768px;max-height:544px}.machine:fullscreen{max-width:none;width:100%;height:100%}.machine:fullscreen canvas{width:min(768px,100vw);height:auto;max-width:768px;max-height:min(544px,100vh);object-fit:contain}


section.machine:not(.hero){padding:0}
/* Fortress after dark: soot, iron and a restrained red warning light. */
:root{--ink:#ddd5c6;--muted:#aba79f;--red:#df5448;--navy:#0b0c0e;--blue:#171b20;--line:#3d3a36}
body{background-color:#08090b;background-image:radial-gradient(ellipse at 85% 8%,#5b1a1522,transparent 48%),repeating-linear-gradient(0deg,transparent 0 63px,#ffffff03 63px 64px);color:var(--ink)}
.mast{background:#0a0b0ded;border-bottom-color:#4c302a;box-shadow:0 5px 30px #0008}
.hero{background:radial-gradient(ellipse at 90% 40%,#23374b55,transparent 60%),radial-gradient(ellipse at 8% 10%,#57251b30,transparent 48%),repeating-linear-gradient(0deg,transparent 0 63px,#8c82720b 63px 65px),repeating-linear-gradient(90deg,transparent 0 126px,#8c827206 126px 128px),#0d1014}
h1{color:#e2dacb;text-shadow:0 3px 0 #000,0 12px 32px #0009}h1>span:first-child{color:#a4a39d}.hero-line{color:#de6957}.eyebrow{color:#b6ada1}.hero-poster{transform:rotate(.6deg);background:#07090b;border-color:#55514a;box-shadow:12px 15px 0 #020303,0 0 60px #000c}.hero-poster img{filter:none}.seal{background:#100b0af2;border-color:#b84337;color:#d3c8b7;box-shadow:0 5px 14px #000b}.seal b{color:#e76754}
.button{color:var(--ink);background:#17191c;border-color:#71695c;cursor:pointer;box-shadow:inset 0 1px #ffffff0c}.button.primary{background:#a9352d;border-color:#d66150;color:#fff2df}.button:hover{background:#34322e;color:#fff5e2;border-color:#bcab8e}.button.primary:hover{background:#c84538;border-color:#f18869;color:#fff}.hero .button+.button{margin-left:8px}
.brief{background:linear-gradient(120deg,#15191d,#101114)}.section-label>span{background:#a9352d;color:#fff1db}.section-label{color:#a8a49b}.numbers strong{color:#ccc1aa}.wide-shot{background:#090b0d;border-color:#4b4942;box-shadow:0 10px 25px #0006}.field-bottom figure{border:1px solid #393a37;padding:8px;background:#080a0b}.field-bottom figcaption{padding:3px 7px}
.downloads{background:linear-gradient(120deg,#211d19,#151619);color:var(--ink);box-shadow:inset 0 1px #a88b5e22}.downloads .section-label>span{background:#a9352d;color:#fff1db}.download-title>p,.download-list article>div:nth-child(2)>p:not(.file-meta){color:#b0a89d}.download-list article{border-color:#63584a66}.download-number{color:#ae9271}.file-meta{color:#c6b18f}.download-list .button{border-color:#796c57;background:#25231e;color:#eee0c7}.download-list .button:hover{background:#494134;color:#fff4dd}.download-list .button.primary{background:#a9352d;color:#fff2df;border-color:#d66150}.download-list .button.primary:hover{background:#c84538;color:#fff}.minor{color:#d4b58b}.command,.workbench{background:#07090b}.command{border-color:#4a4941}.command button{background:#1a1c1c;color:#e0d5bd}.control-panel{border-color:#ae4536}.workbench{background:linear-gradient(110deg,#0f1112,#08090a)}footer{background:#090a0b}.machine{box-shadow:0 0 0 1px #4b4942,0 15px 50px #0009}.play-main h1{color:#dcd2bd}#launch{background:#070809}.touch-controls button{background:#272a2b;border:1px solid #827561;color:#eee2cc}.touch-controls button:hover{background:#423d33}.button[aria-pressed=true]{background:#923229;color:#fff}.button:disabled{opacity:.45;cursor:default}
@media(max-width:650px){.hero .button+.button{margin-left:0;margin-top:12px}.hero-poster{transform:none}.mast{background:#090b0d}}
