:root{
  --bg:#070707;
  --fg:#f0f0eb;
  --muted:#878781;
  --faint:#373733;
  --line:#1c1c1a;
  --line-strong:#343431;
  --accent:#d8ffcb;
  --accent-hot:#b9ff5c;
  --ease:cubic-bezier(.16,1,.3,1);
  --sans:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.console-open{overflow:hidden}
::selection{background:var(--fg);color:var(--bg)}
a,button,input{font:inherit;-webkit-tap-highlight-color:transparent}
a{text-decoration:none;color:inherit}
button{border:0}
main,footer,.topbar,.rail{position:relative;z-index:2}

#shader,#constellation{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
#shader{z-index:0;opacity:.88}
#constellation{z-index:1;opacity:.55}

.grain,.vignette{position:fixed;inset:0;pointer-events:none}
.grain{z-index:8;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}
.vignette{z-index:7;background:radial-gradient(circle at 50% 42%,transparent 26%,rgba(0,0,0,.28) 69%,rgba(0,0,0,.78) 100%)}

.cursor{position:fixed;z-index:20;left:0;top:0;width:9px;height:9px;border:1px solid #b9b9b3;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .35s var(--ease),height .35s var(--ease),background .25s ease,opacity .25s ease}
.cursor i,.cursor span{position:absolute;left:50%;top:50%;display:block;pointer-events:none}
.cursor i{width:2px;height:2px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%)}
.cursor span{font:500 7px var(--mono);letter-spacing:.08em;transform:translate(17px,-50%);opacity:0;white-space:nowrap}
.cursor.active{width:52px;height:52px;background:#fff;border-color:#fff}
.cursor.active span{opacity:1;color:#111}
.cursor.hidden{opacity:0}

.mono{font-family:var(--mono);letter-spacing:.09em}
.topbar{position:fixed;top:0;left:0;right:0;height:78px;padding:0 4.2vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;z-index:12;mix-blend-mode:difference}
.brand{font-size:16px;font-weight:800;letter-spacing:-.065em;width:max-content}
.brand span{color:var(--accent)}
.status{display:flex;align-items:center;gap:9px;font-size:9px;color:var(--muted)}
.status b{width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 14px var(--accent);animation:statusPulse 2s ease-in-out infinite}
.clock{justify-self:end;font-size:9px;color:var(--muted)}

.rail{position:fixed;z-index:11;left:2.2vw;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;pointer-events:none}
.rail-track{width:1px;height:100px;background:#20201e;position:relative;display:block}
.rail-track i{position:absolute;left:0;top:0;width:1px;height:0;background:var(--accent);display:block;transition:height .15s linear}
.rail-label{font-size:8px;color:#55554f}

.scene{position:relative}
.hero{min-height:100svh;padding:15vh 7vw 8vh;display:flex;align-items:center;overflow:hidden}
.hero-coordinates{position:absolute;left:7vw;right:7vw;top:100px;display:flex;justify-content:space-between;color:#4e4e49;font-size:8px}
.hero-copy{position:relative;z-index:3;width:min(900px,80vw)}
.eyebrow{margin:0 0 28px;color:var(--accent);font-size:9px;letter-spacing:.14em}
.eyebrow span{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:8px;box-shadow:0 0 15px var(--accent)}
.glitch-title{margin:0;font-weight:500;font-size:clamp(66px,10.5vw,172px);line-height:.82;letter-spacing:-.095em}
.glitch-title span{display:block;animation:heroIn 1.25s var(--ease) both}
.glitch-title span:nth-child(2){animation-delay:.07s}
.glitch-title em{font-style:normal;color:#494943;transition:color .5s ease}
.glitch-title:hover em{color:var(--accent)}
.hero-sub{max-width:440px;margin:43px 0 0 7px;color:var(--muted);font-size:13px;line-height:1.75;opacity:0;animation:fadeUp 1s .35s var(--ease) forwards}
.hero-foot{position:absolute;left:7vw;right:7vw;bottom:32px;display:flex;justify-content:space-between;align-items:center;color:#4f4f49;font-size:8px}
.hero-arrow{color:var(--accent);font-size:17px;animation:bob 1.8s ease-in-out infinite}

.hero-system{position:absolute;right:1vw;top:50%;width:min(54vw,760px);aspect-ratio:1;transform:translateY(-50%);z-index:2;pointer-events:none;filter:drop-shadow(0 0 70px rgba(216,255,203,.03))}
.system-halo{position:absolute;inset:25%;border-radius:50%;background:radial-gradient(circle,rgba(216,255,203,.13),rgba(216,255,203,.025) 45%,transparent 70%);animation:haloPulse 5s ease-in-out infinite}
.system-ring{position:absolute;border:1px solid #292925;border-radius:50%;inset:5%;transform:rotate(0deg)}
.ring-a{border-top-color:#b6cca9;animation:spin 24s linear infinite}
.ring-b{inset:15%;border-right-color:#52524d;animation:spinReverse 17s linear infinite}
.ring-c{inset:28%;border-left-color:#b5ff89;animation:spin 10s linear infinite}
.system-node{position:absolute;width:9px;height:9px;border:1px solid #9bb08f;border-radius:50%;background:#080808;box-shadow:0 0 20px rgba(216,255,203,.18)}
.node-a{left:18%;top:25%;animation:orbitA 9s linear infinite}
.node-b{right:12%;top:56%;animation:orbitB 12s linear infinite}
.node-c{left:43%;bottom:9%;animation:orbitC 15s linear infinite}
.system-core{position:absolute;left:50%;top:50%;width:86px;height:86px;transform:translate(-50%,-50%);border:1px solid #53534c;border-radius:50%;display:grid;place-items:center;background:rgba(7,7,7,.55);box-shadow:inset 0 0 40px rgba(216,255,203,.025),0 0 60px rgba(216,255,203,.04)}
.system-core span{font-size:16px;font-weight:800;color:var(--accent);animation:pulseCore 3s ease-in-out infinite}
.system-core i{position:absolute;inset:-8px;border:1px dotted #383834;border-radius:50%;animation:spinReverse 8s linear infinite}
.system-word{position:absolute;color:#40403b;font-style:normal;font-size:7px}
.word-a{top:20%;right:25%}.word-b{bottom:21%;left:23%}.word-c{top:50%;right:1%}

.section-top{max-width:1180px;margin:0 auto 65px;width:calc(100% - 14vw);display:flex;justify-content:space-between;color:#50504a;font-size:8px}
.manifesto,.machine,.portals,.signal,.console,.end{border-top:1px solid var(--line)}
.manifesto{padding:18vh 0 20vh}
.manifesto-wrap,.machine-stage,.signal-shell,.console-stage{width:min(1180px,calc(100% - 14vw));margin:0 auto}
.manifesto-wrap{display:grid;grid-template-columns:1.5fr .5fr;gap:10vw;align-items:end}
.manifesto-title p{font-size:clamp(44px,6.3vw,102px);line-height:.93;letter-spacing:-.07em;margin:0;max-width:1000px}
.manifesto-copy{max-width:310px;color:var(--muted);font-size:12px;line-height:1.8}
.manifesto-copy p:first-child{font-size:18px;color:var(--fg);margin-top:0}
.cursor-note{display:block;color:#4e4e49;margin-top:45px;font-size:8px}
.manifesto-mark{width:min(1180px,calc(100% - 14vw));margin:14vh auto 0;color:#252522;font-size:8px;text-align:right}

.machine{padding:15vh 0 18vh}
.machine-stage{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}
.machine-copy h2{font-size:clamp(58px,6.7vw,105px);line-height:.84;letter-spacing:-.08em;font-weight:500;margin:32px 0 28px}
.machine-copy h2 em{font-style:normal;color:#4c4c46}
.machine-copy>p:not(.eyebrow){max-width:370px;color:var(--muted);font-size:12px;line-height:1.8}
.machine-readout{border-top:1px solid var(--line);margin-top:55px;padding-top:16px;display:grid;grid-template-columns:1fr;gap:10px;font-size:8px;color:#4a4a45}
.machine-readout b{color:var(--fg);font-weight:400;margin-left:7px}
.machine-visual{position:relative;min-height:620px;aspect-ratio:1;overflow:hidden;border:1px solid #22221f;background:radial-gradient(circle at 50% 50%,rgba(216,255,203,.025),transparent 48%),#090909;transform:translateZ(0)}
.machine-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:45px 45px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 76%)}
.machine-orbit{position:absolute;left:50%;top:50%;border:1px solid #2b2b27;border-radius:50%;transform:translate(-50%,-50%);transition:transform .15s linear}
.orbit-1{width:86%;height:38%;animation:ellipseOne 14s linear infinite}
.orbit-2{width:63%;height:63%;animation:spin 20s linear infinite}
.orbit-3{width:34%;height:86%;animation:ellipseThree 18s linear infinite}
.machine-node{position:absolute;width:48px;height:48px;border:1px solid #4a4a44;color:#8d8d85;background:rgba(7,7,7,.7);border-radius:50%;font:8px var(--mono);cursor:none;transition:transform .55s var(--ease),background .35s ease,color .35s ease,border-color .35s ease;z-index:4}
.machine-node:hover,.machine-node.active{background:var(--accent);color:#080808;border-color:var(--accent);transform:scale(1.16)}
.mn-1{left:21%;top:25%}.mn-2{right:18%;top:46%}.mn-3{left:42%;bottom:14%}
.machine-center{position:absolute;left:50%;top:50%;width:145px;height:145px;border:1px solid #4d4d47;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:3;background:radial-gradient(circle,rgba(216,255,203,.08),rgba(7,7,7,.8) 57%);box-shadow:0 0 80px rgba(216,255,203,.035)}
.machine-center:before,.machine-center:after{content:"";position:absolute;border:1px dotted #363631;border-radius:50%;inset:17px;animation:spin 9s linear infinite}
.machine-center:after{inset:-10px;animation-direction:reverse;animation-duration:13s}
.machine-center span{font-size:24px;font-weight:800;color:var(--accent);z-index:2}
.machine-center small{position:absolute;bottom:28px;font-size:7px;color:#55554e;z-index:2}
.machine-tooltip{position:absolute;right:18px;top:18px;color:#51514b;font-size:8px;z-index:5;transition:color .3s}
.machine-tooltip.live{color:var(--accent)}

.portals{padding:17vh 0 18vh}
.portal-heading{width:min(1180px,calc(100% - 14vw));margin:0 auto 65px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.portal-heading h2{font-size:clamp(58px,7vw,108px);line-height:.84;letter-spacing:-.08em;font-weight:500;margin:0}
.portal-heading h2 em{font-style:normal;color:var(--accent)}
.portal-heading p{margin:0;font-size:8px;color:#4b4b45}
.doors{width:min(1180px,calc(100% - 14vw));margin:0 auto;border-top:1px solid var(--line)}
.door{min-height:162px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr 1fr 55px;align-items:center;position:relative;overflow:hidden;transition:padding .55s var(--ease),color .35s ease}
.door:before{content:"";position:absolute;inset:0 -3vw;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease);z-index:-1}
.door:hover{padding:0 24px;color:#080808}
.door:hover:before{transform:scaleY(1)}
.door-no,.door-copy{color:#55554e;font-size:8px}
.door:hover .door-no,.door:hover .door-copy{color:#111}
.door-name{font-weight:600;font-size:clamp(25px,3.2vw,48px);letter-spacing:-.06em}
.door-name span{color:var(--accent)}
.door:hover .door-name span{color:#080808}
.door-copy{font-size:11px}
.door-arrow{font-size:25px;justify-self:end;transition:transform .55s var(--ease)}
.door:hover .door-arrow{transform:translate(7px,-7px)}

.signal{padding:17vh 0 18vh}
.signal-shell{border:1px solid var(--line-strong);background:rgba(7,7,7,.6);backdrop-filter:blur(12px)}
.signal-top,.signal-bottom{min-height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:8px;color:#55554f}
.signal-top b{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 12px var(--accent)}
.signal-main{min-height:460px;padding:58px 55px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center}
.signal-word{font-size:clamp(70px,10vw,170px);font-weight:700;line-height:.78;letter-spacing:-.1em;color:var(--accent);transition:opacity .15s,transform .5s var(--ease);filter:drop-shadow(0 0 35px rgba(216,255,203,.09))}
.signal-index{margin-top:30px;color:#44443f;font-size:8px}
.signal-description{max-width:320px}
.signal-description p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.signal-button{margin-top:28px;padding:13px 15px;border:1px solid var(--line-strong);background:transparent;color:var(--fg);cursor:none;font:8px var(--mono);letter-spacing:.09em;transition:background .3s ease,color .3s ease,border-color .3s ease}
.signal-button:hover{background:var(--fg);border-color:var(--fg);color:#080808}
.signal-button span{margin-left:10px;color:var(--accent)}
.signal-bottom{border-top:1px solid var(--line);border-bottom:0;gap:20px}
.signal-bottom span{flex:1}
.signal-bottom span:nth-child(2),.signal-bottom span:nth-child(3){text-align:center}
.signal-bottom span:last-child{text-align:right}
.signal-bottom b{color:var(--fg);font-weight:400}

.console{padding:17vh 0 18vh}
.console-stage{display:flex;justify-content:space-between;align-items:end;gap:50px}
.console-copy h2{font-size:clamp(58px,7vw,108px);line-height:.84;letter-spacing:-.08em;font-weight:500;margin:34px 0 25px}
.console-copy h2 em{font-style:normal;color:#4b4b45}
.console-copy>p:last-child{color:var(--muted);font-size:12px}
kbd{display:inline-block;border:1px solid #3b3b36;border-bottom-width:2px;padding:3px 6px;color:var(--fg);font:9px var(--mono);background:#0d0d0c}
.console-open{display:flex;flex-direction:column;align-items:center;gap:15px;background:transparent;color:#565650;cursor:none}
.console-circle{width:170px;height:170px;border:1px solid #363631;border-radius:50%;display:grid;place-items:center;position:relative;transition:background .5s var(--ease),transform .5s var(--ease),border-color .5s ease}
.console-circle:before,.console-circle:after{content:"";position:absolute;border-radius:50%;border:1px dotted #2c2c28;inset:14px;animation:spin 11s linear infinite}
.console-circle:after{inset:32px;animation-duration:7s;animation-direction:reverse}
.console-circle i{font-style:normal;font-size:26px;color:var(--accent);z-index:2}
.console-open:hover .console-circle{background:rgba(216,255,203,.06);border-color:#66665e;transform:scale(1.04) rotate(5deg)}

.end{min-height:92svh;padding:16vh 7vw 10vh;display:flex;align-items:flex-end;overflow:hidden}
.end-grid{position:relative;z-index:3}
.end-grid>p{color:#4e4e48;font-size:8px}
.end h2{font-size:clamp(62px,9vw,142px);font-weight:500;line-height:.83;letter-spacing:-.09em;margin:24vh 0 0}
.end h2 em{font-style:normal;color:var(--accent);animation:endBreathe 5s ease-in-out infinite}
.back{display:inline-block;margin-top:65px;padding-bottom:8px;border-bottom:1px solid #40403b;color:#76766e;font:8px var(--mono);letter-spacing:.1em}
.back span{margin-left:12px;color:var(--accent)}
.end-orbit{position:absolute;width:58vw;max-width:760px;aspect-ratio:1;right:-18vw;top:44%;border:1px solid #22221f;border-radius:50%;animation:spinReverse 40s linear infinite;opacity:.6}
.end-orbit:before,.end-orbit:after{content:"";position:absolute;border:1px solid #20201d;border-radius:50%}
.end-orbit:before{inset:15%;animation:spin 20s linear infinite}
.end-orbit:after{inset:34%;border-color:#34342f;animation:spinReverse 12s linear infinite}
.end-orbit span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#44443d;font-size:48px}

footer{min-height:98px;padding:0 7vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;color:#484842;font-size:8px}
footer .footer-links{display:flex;gap:18px;justify-self:end} footer a{color:#777;transition:color .25s}
footer a:hover{color:var(--fg)}

.console-panel{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:30px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;background:rgba(0,0,0,.55);backdrop-filter:blur(14px)}
.console-panel.open{opacity:1;visibility:visible}
.console-panel-bg{position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(216,255,203,.09),transparent 33%)}
.console-panel-inner{position:relative;width:min(820px,100%);min-height:470px;border:1px solid #40403a;background:#080808;box-shadow:0 30px 100px rgba(0,0,0,.65);display:flex;flex-direction:column}
.console-panel-head{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:8px;color:#5a5a53}
.console-panel-head button{background:transparent;color:#777;cursor:none;font:8px var(--mono)}
.console-output{flex:1;padding:25px 18px;color:#707069;font-size:9px;line-height:2;overflow:auto}
.console-output p{margin:0}
.console-output b{color:var(--accent);font-weight:400}
.console-form{display:flex;gap:12px;padding:18px;border-top:1px solid var(--line);align-items:center}
.console-form span{font-size:8px;color:#5b5b54}
.console-form input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:var(--fg);font:12px var(--mono);caret-color:var(--accent)}

.toast{position:fixed;z-index:25;left:50%;bottom:30px;transform:translate(-50%,20px);padding:10px 14px;border:1px solid #373732;background:#0b0b0b;color:#7e7e76;font-size:8px;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .4s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}

.reveal{opacity:0;transform:translateY(65px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in-view{opacity:1;transform:none}

@keyframes heroIn{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fadeUp{from{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes sweep{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes pulseCore{0%,100%{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes haloPulse{0%,100%{transform:scale(.95);opacity:.75}50%{transform:scale(1.06);opacity:1}}
@keyframes statusPulse{50%{opacity:.35;transform:scale(.7)}}
@keyframes bob{50%{transform:translateY(6px)}}
@keyframes orbitA{from{transform:rotate(0deg) translateX(50px) rotate(0deg)}to{transform:rotate(360deg) translateX(50px) rotate(-360deg)}}
@keyframes orbitB{from{transform:rotate(0deg) translateX(42px) rotate(0deg)}to{transform:rotate(-360deg) translateX(42px) rotate(360deg)}}
@keyframes orbitC{from{transform:rotate(0deg) translateX(30px) rotate(0deg)}to{transform:rotate(360deg) translateX(30px) rotate(-360deg)}}
@keyframes ellipseOne{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes ellipseThree{from{transform:translate(-50%,-50%) rotate(-30deg)}to{transform:translate(-50%,-50%) rotate(330deg)}}
@keyframes endBreathe{0%,100%{transform:translateX(0)}50%{transform:translateX(13px)}}

@media(max-width:900px){
  body{cursor:auto}
  .topbar{height:70px;padding:0 5vw;grid-template-columns:1fr auto}
  .status{display:none}
  .rail{display:none}
  .cursor{display:none}
  .hero{padding:18vh 5vw 8vh;min-height:92svh}
  .hero-coordinates{left:5vw;right:5vw;top:90px}
  .hero-copy{width:100%}
  .hero-system{width:92vw;right:-37%;top:59%;opacity:.38}
  .hero-sub{margin-left:0}
  .hero-foot{left:5vw;right:5vw}
  .manifesto-wrap,.machine-stage{grid-template-columns:1fr}
  .manifesto-wrap,.machine-stage,.signal-shell,.console-stage,.section-top,.portal-heading,.doors{width:calc(100% - 10vw)}
  .manifesto-copy{margin-top:50px}
  .machine-stage{gap:55px}
  .machine-visual{min-height:auto}
  .portal-heading{display:block}
  .portal-heading p{margin-top:28px}
  .door{grid-template-columns:55px 1fr 40px;min-height:142px}
  .door-copy{display:none}
  .door:hover{padding:0 12px}
  .signal-main{grid-template-columns:1fr;padding:40px 26px;min-height:500px}
  .signal-description{margin-top:80px}
  .signal-bottom{gap:12px;flex-wrap:wrap;padding:14px 18px}
  .signal-bottom span{flex:1 0 40%}
  .signal-bottom span:nth-child(2),.signal-bottom span:nth-child(3){text-align:left}
  .signal-bottom span:last-child{text-align:left}
  .console-stage{display:block}
  .console-open{margin-top:60px}
  .end{padding:15vh 5vw 10vh;min-height:88svh}
  .end-orbit{right:-40vw;width:90vw}
  footer{padding:20px 5vw;min-height:120px;grid-template-columns:1fr auto;gap:10px} footer .footer-links{gap:12px}
  footer .mono{display:none}
}

@media(max-width:560px){
  .hero-main h1{font-size:clamp(54px,16vw,82px)}
  .hero-foot span:first-child,.hero-foot span:last-child{display:none}
  .section-top{margin-bottom:42px}
  .manifesto,.machine,.portals,.signal,.console{padding-top:13vh;padding-bottom:14vh}
  .manifesto-title p{font-size:42px}
  .machine-copy h2,.portal-heading h2,.console-copy h2{font-size:53px}
  .machine-visual{min-height:430px}
  .machine-center{width:112px;height:112px}
  .machine-node{width:42px;height:42px}
  .signal-word{font-size:66px}
  .signal-main{min-height:470px}
  .console-circle{width:135px;height:135px}
  .console-panel{padding:12px}
  .console-panel-inner{min-height:80svh}
  .end h2{font-size:58px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  #shader,#constellation{display:none}
  .cursor{display:none}
}
.glitch-mode .glitch-title span:first-child{animation:glitchFloat 2.2s steps(8,end) infinite}
.glitch-mode .glitch-title span:last-child{animation:glitchFloatReverse 1.7s steps(7,end) infinite}
.glitch-mode #shader{filter:hue-rotate(18deg) saturate(1.35) contrast(1.08)}
.glitch-mode .system-core,.glitch-mode .machine-center{box-shadow:0 0 80px rgba(216,255,203,.12),inset 0 0 40px rgba(216,255,203,.08)}
@keyframes glitchFloat{0%,100%{transform:translate(0,0)}20%{transform:translate(-2px,1px)}41%{transform:translate(2px,-1px)}65%{transform:translate(-1px,0)}}
@keyframes glitchFloatReverse{0%,100%{transform:translate(0,0)}27%{transform:translate(2px,0)}53%{transform:translate(-2px,1px)}78%{transform:translate(1px,-1px)}}
