:root{--bg:#111820;--panel:#1b252b;--panel2:#222f34;--ink:#f1e9d8;--muted:#aab1ac;--line:#52605e;--amber:#f5bd51;--cyan:#67c9ce;--rust:#d56950;--wire:#b9c4b7;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:100% 4px}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.skip-link{position:absolute;top:-60px;left:16px;z-index:5;padding:10px;background:var(--amber);color:#12191d}.skip-link:focus{top:12px}
.masthead{min-height:86px;display:flex;align-items:center;gap:30px;padding:20px max(30px,calc((100vw - 1480px)/2));border-bottom:1px solid var(--line);position:relative;z-index:1}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Impact,'Arial Narrow',sans-serif;font-size:29px;letter-spacing:.055em}.brand-dot{color:var(--amber)}.brand-mark{width:28px;height:28px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-12deg)}.brand-mark i{background:var(--rust)}.brand-mark i:nth-child(2){background:var(--amber)}.brand-mark i:nth-child(3){background:var(--cyan)}.brand-mark i:nth-child(4){background:#e9e0c5}.edition{margin-left:auto;font:11px/1.5 'Courier New',monospace;letter-spacing:.12em;color:var(--muted)}.edition b{color:var(--amber)}.masthead nav{display:flex;gap:28px}.masthead nav a{font:700 12px/1 'Courier New',monospace;text-decoration:none;letter-spacing:.12em}.masthead nav a:hover,.opening-link:hover,footer a:hover{color:var(--amber)}
.opening{max-width:1480px;min-height:560px;margin:auto;padding:83px 30px 72px;position:relative;overflow:hidden}.opening-index{display:flex;gap:12px;align-items:center;font:11px/1 'Courier New',monospace;letter-spacing:.13em;color:var(--muted)}.opening-index span:last-child{margin-left:20px;color:var(--amber)}.status-lamp,.state-light{width:8px;height:8px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 4px rgba(213,105,80,.14)}.opening h1{position:relative;z-index:1;margin:42px 0 16px;font:clamp(74px,10.6vw,170px)/.88 Impact,'Arial Narrow',sans-serif;letter-spacing:.018em;max-width:1300px}.opening h1 em{font-style:normal;color:var(--amber)}.opening p{position:relative;z-index:1;max-width:580px;color:#cbd0c8;font-size:19px;line-height:1.5}.opening-link{position:relative;z-index:1;display:inline-flex;gap:22px;align-items:center;margin-top:30px;padding-bottom:10px;border-bottom:2px solid var(--rust);font:700 12px/1 'Courier New',monospace;letter-spacing:.11em;text-decoration:none}.opening-link span{font:24px/1 Arial,sans-serif}.opening-pattern{position:absolute;right:-70px;top:66px;display:grid;grid-template-columns:repeat(5,74px);gap:10px;transform:rotate(-19deg);opacity:.7}.opening-pattern span{width:74px;height:300px;border:1px solid #415354;background:repeating-linear-gradient(180deg,transparent 0 24px,#26383b 25px 29px);clip-path:polygon(25% 0,75% 0,100% 12%,100% 88%,75% 100%,25% 100%,0 88%,0 12%)}.opening-pattern span:nth-child(2),.opening-pattern span:nth-child(4){margin-top:80px}.opening-pattern span:nth-child(3){background:repeating-linear-gradient(180deg,#473626 0 24px,#a37b3c 25px 29px)}
.station{position:relative;background:#182127;border-top:1px solid var(--line);padding:68px max(30px,calc((100vw - 1480px)/2)) 0;overflow:hidden}.station:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#7b8987 1px,transparent 1px);background-size:24px 24px}.station>*{position:relative}.station-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:.16em;color:var(--amber)}.station h2{font:clamp(54px,7vw,104px)/.9 Impact,'Arial Narrow',sans-serif;letter-spacing:.035em;margin:16px 0 0}.station-state{display:flex;align-items:center;gap:11px;font:700 12px/1 'Courier New',monospace;letter-spacing:.12em;color:var(--muted);padding-bottom:7px}.station-state.live .state-light{background:var(--amber);box-shadow:0 0 12px var(--amber)}.station-state.restored .state-light{background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.machine{border:1px solid #667470;border-radius:20px 20px 8px 8px;background:linear-gradient(145deg,#2d3a3c,#1e292e 68%);box-shadow:0 25px 0 #0d1318,0 34px 35px #060b0ca8, inset 0 2px #a1a89a50}.machine-top,.machine-bottom{display:flex;align-items:center;gap:24px;padding:21px 30px;font:11px/1.3 'Courier New',monospace;letter-spacing:.1em;color:#c1c8be}.machine-top{border-bottom:1px solid #62716d}.machine-top span:nth-child(2){margin:auto}.machine-serial{color:var(--amber)}.machine-main{display:grid;grid-template-columns:minmax(150px,1fr) minmax(360px,600px) minmax(140px,1fr);gap:24px;align-items:center;padding:35px 28px}.machine-note{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:36px;border-left:4px solid var(--rust);padding:6px 12px 6px 20px}.note-number{font:46px/1 Impact,'Arial Narrow',sans-serif;color:var(--rust)}.machine-note p{font-size:18px;line-height:1.45;margin:0;color:#cbd1c9}.machine-note strong{color:var(--ink)}.dial-label{font:11px/1.6 'Courier New',monospace;letter-spacing:.08em;color:var(--muted)}.dial-pip{display:inline-block;width:9px;height:9px;background:var(--amber);margin-right:5px}.grid-frame{padding:13px 16px 16px;background:#111a1e;border:2px solid #77827a;box-shadow:inset 0 4px 18px #000a;border-radius:9px}.socket-labels,.grid-ruler{display:flex;justify-content:space-between;color:var(--amber);font:700 12px/1.4 'Courier New',monospace;letter-spacing:.1em;padding:1px 6px 10px}.socket-labels span:last-child{color:var(--cyan)}.grid-ruler{padding:10px 6px 0;color:#8b9791}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;aspect-ratio:1}.tile{min-width:0;min-height:0;width:100%;height:100%;padding:0;position:relative;color:#aebcb3;background:linear-gradient(145deg,#28373b,#19272b);border:1px solid #5f706c;border-radius:6px;box-shadow:inset 0 2px #83948d33,inset 0 -4px #071114;touch-action:manipulation;transition:background .18s,border-color .18s,color .18s}.tile:hover:not(:disabled){background:#33474a;border-color:#aab9ac}.tile:disabled{cursor:not-allowed;opacity:.67}.tile svg{width:100%;height:100%;display:block;transform:rotate(var(--rotation));transition:transform .18s ease}.tile circle{fill:currentColor}.tile.powered{color:var(--amber);background:#54432b;border-color:var(--amber)}.tile.sink.powered{color:var(--cyan);background:#2a5357;border-color:var(--cyan)}.tile.source:before,.tile.sink:before{content:"";position:absolute;z-index:1;left:5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--amber)}.tile.sink:before{background:var(--cyan)}.machine-readout{align-self:stretch;display:flex;flex-direction:column;gap:24px;padding:6px 0}.machine-readout>div:not(.readout-rule){display:flex;justify-content:space-between;align-items:end;gap:12px;border-bottom:1px solid #64736d;padding-bottom:12px}.readout-label{font:11px/1 'Courier New',monospace;letter-spacing:.1em;color:var(--muted)}.machine-readout strong{font:36px/1 Impact,'Arial Narrow',sans-serif;font-variant-numeric:tabular-nums}.readout-rule{height:8px;background:repeating-linear-gradient(90deg,var(--amber) 0 8px,transparent 8px 14px);opacity:.6}.machine-readout p{margin:auto 0 0;color:#cbd1c9;font-size:15px;line-height:1.5}.machine-bottom{min-height:122px;border-top:1px solid #61716b}.start-button{width:90px;height:90px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none;border-radius:50%;border:6px solid #132024;background:var(--amber);color:#111820;box-shadow:0 0 0 2px #8e9b8d,inset 0 -7px #b58131;font:900 12px/1.06 Arial,sans-serif;text-align:center;transition:transform .18s,background .18s}.start-button:hover{transform:rotate(-8deg);background:#ffd477}.start-icon{font-size:26px;line-height:1}.reset-button,.share-button{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--rust);padding:10px 0;font:700 11px/1 'Courier New',monospace;letter-spacing:.09em}.reset-button:hover,.share-button:hover{color:var(--amber)}.machine-id{margin-left:auto;color:#9ca9a3}.skyline{height:132px;display:flex;align-items:end;justify-content:space-between;gap:5px;margin-top:75px;opacity:.6}.skyline span{flex:1;height:40%;background:repeating-linear-gradient(90deg,#10191d 0 12px,#e4ba66 13px 16px,#10191d 17px 26px);border-top:4px solid #4a5d60}.skyline span:nth-child(2),.skyline span:nth-child(8){height:80%}.skyline span:nth-child(3),.skyline span:nth-child(10){height:57%}.skyline span:nth-child(4),.skyline span:nth-child(9){height:95%}.skyline span:nth-child(6){height:73%}.skyline span:nth-child(7){height:35%}.station:not(.restored) .skyline span{background:repeating-linear-gradient(90deg,#10191d 0 12px,#283434 13px 16px,#10191d 17px 26px)}
.story{max-width:1480px;margin:auto;padding:110px 30px 120px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.story h2{font:clamp(44px,5vw,78px)/.98 Impact,'Arial Narrow',sans-serif;letter-spacing:.03em;margin:20px 0}.story-steps{border-top:1px solid var(--line)}.story-steps>div{display:grid;grid-template-columns:48px 130px 1fr;gap:15px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}.story-steps span{font:14px/1.5 'Courier New',monospace;color:var(--rust)}.story-steps h3{margin:0;font:24px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:.05em}.story-steps p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.project-note{border-top:1px solid var(--line);max-width:1480px;margin:auto;padding:34px 30px 80px;display:flex;gap:90px}.project-note p{max-width:760px;margin:0;color:var(--muted);font-size:15px;line-height:1.6}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:30px max(30px,calc((100vw - 1480px)/2));font:11px/1.5 'Courier New',monospace;letter-spacing:.12em;color:var(--muted)}footer a{text-decoration:none;color:var(--ink)}
@media(max-width:1100px){.machine-main{grid-template-columns:1fr minmax(340px,580px)}.machine-readout{grid-column:1/-1;flex-direction:row;align-items:start;border-top:1px solid #60706d;padding-top:22px}.machine-readout>div:not(.readout-rule){min-width:130px;gap:24px}.machine-readout p{margin:0}.readout-rule{display:none}.opening-pattern{opacity:.3}.story{gap:30px}}
@media(max-width:700px){.masthead{min-height:72px;padding:16px 20px;flex-wrap:wrap;gap:12px}.brand{font-size:22px}.brand-mark{width:22px;height:22px}.edition{display:none}.masthead nav{margin-left:auto;gap:14px}.masthead nav a{font-size:10px}.opening{min-height:520px;padding:70px 20px 80px}.opening h1{font-size:clamp(63px,15vw,100px);margin-top:54px}.opening p{font-size:17px}.opening-pattern{right:-120px;top:130px;transform:rotate(-19deg) scale(.7);opacity:.18}.station{padding:55px 20px 0}.station-heading{align-items:start}.station h2{font-size:62px}.station-state{font-size:10px;max-width:110px;line-height:1.35}.machine-top{padding:15px;font-size:9px}.machine-top span:nth-child(2){display:none}.machine-main{grid-template-columns:1fr;gap:22px;padding:20px 15px}.machine-note{flex-direction:row;gap:20px;padding:4px 0 4px 14px;align-items:center}.machine-note p{font-size:14px}.dial-label{display:none}.grid-frame{width:min(100%,520px);margin:auto}.machine-readout{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.machine-readout strong{font-size:30px}.machine-readout p{grid-column:1/-1;font-size:14px}.machine-bottom{padding:16px;gap:18px;flex-wrap:wrap}.machine-id{display:none}.start-button{width:75px;height:75px;font-size:10px}.start-icon{font-size:22px}.reset-button,.share-button{font-size:10px}.skyline{margin-top:50px;height:90px}.story{display:block;padding:80px 20px}.story h2{margin-bottom:40px}.story-steps>div{grid-template-columns:35px 88px 1fr;gap:8px}.story-steps h3{font-size:20px}.story-steps p{font-size:13px}.project-note{display:block;padding:28px 20px 65px}.project-note p{margin-top:20px}footer{padding:24px 20px;flex-wrap:wrap;font-size:10px}footer span:nth-child(2){display:none}}
@media(max-width:390px){.masthead nav a{font-size:9px}.opening h1{font-size:61px}.machine-note p{font-size:13px}.machine-readout strong{font-size:25px}.story-steps>div{grid-template-columns:30px 75px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
