:root{font-family:Arial,sans-serif;color:#edf0ec;background:#151c20;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{background:#273238;border:1px solid #68736e;color:#f1f3ee;padding:11px 15px;cursor:pointer;text-align:left}button:hover,button:focus-visible{background:#43504f;outline:2px solid #d4b371;outline-offset:2px}button.primary{background:#e3c189;color:#182121;border:0;font-weight:700;width:100%;text-align:center;padding:17px}#world{display:block;width:100vw;height:100vh;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:23px 30px;background:linear-gradient(#111c23b0,transparent);pointer-events:none}header div{display:flex;gap:20px;align-items:center}header strong{letter-spacing:2px;font-size:15px}header span,.eyebrow{font-size:11px;letter-spacing:2px;color:#b1bdbd}header button{pointer-events:auto;font-size:12px;background:#172126bd}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffffffa0;font-size:20px;pointer-events:none}#status{position:fixed;bottom:90px;left:30px;max-width:530px;pointer-events:none;text-shadow:0 2px 10px #000}#location{font-size:11px;letter-spacing:3px;color:#e3c189}h1{font-size:25px;font-weight:500;margin:8px 0}#detail{font-size:14px;line-height:1.5;color:#d2dad8;white-space:pre-line}#prompt{position:fixed;bottom:55px;left:50%;transform:translate(-50%);background:#142027e8;border:1px solid #889794;padding:10px 18px;font-size:13px;pointer-events:none;text-align:center;white-space:pre-line}#prompt:empty{display:none}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px 30px;background:#101a21c0;color:#afbfbe;font-size:10px;letter-spacing:1px}.shade{position:fixed;inset:0;display:grid;place-items:center;background:#0d1821a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:min(480px,90vw);padding:38px;background:#18242bee;border:1px solid #64716e}.dialog h2{font-size:39px;line-height:1.1;letter-spacing:-1px;font-weight:400;margin:20px 0}.dialog p{font-size:15px;line-height:1.6;color:#c5d1d1}.dialog .keys{font-size:12px;line-height:2;margin:25px 0}.small{font-size:11px!important;color:#a4b2b3!important}#panel{position:fixed;right:20px;top:80px;bottom:65px;overflow:auto;width:330px;padding:20px;background:#17232cf5;border:1px solid #596f73;z-index:3}#panel p{font-size:12px;line-height:1.6;color:#b7c6ca}#panel button{display:block;width:100%;margin-bottom:8px;font-size:12px}#panel label{display:block;font-size:12px;margin:16px 0}#panel input[type=range],#panel select{width:100%;margin-top:8px}.panel-head{display:flex;gap:15px;align-items:baseline;font-size:12px}.panel-head button{width:auto!important}hr{border:0;border-top:1px solid #45595d;margin:20px 0}#choices{position:fixed;left:50%;bottom:130px;transform:translate(-50%);background:#17232cee;padding:20px;border:1px solid #7e9294;z-index:2}#choices span{display:block;font-size:12px;margin-bottom:12px}#choices>div{display:flex;gap:8px;margin-bottom:10px}#choices [aria-pressed=true]{border-color:#edc991;background:#655838}#commit-style{width:100%;text-align:center}#lab-tools{position:fixed;right:28px;bottom:85px;display:flex;gap:10px}#lab-tools button{font-size:12px}#fault{border-color:#bf929c}#map{position:fixed;right:25px;top:90px;border:1px solid #698184;background:#14212aed;pointer-events:none}[hidden]{display:none!important}@media(max-width:700px){header{padding:15px}header span,footer span:last-child{display:none}#status{left:15px;bottom:65px;max-width:75vw}h1{font-size:20px}#panel{width:min(330px,95vw);right:8px}#lab-tools{bottom:200px;right:15px;flex-direction:column}.dialog h2{font-size:30px}}header #sound{margin-left:auto;margin-right:10px}a.contact-link{display:block;background:#e3c189;color:#182121;padding:16px;text-decoration:none;text-align:center;font-size:13px;font-weight:700;margin-top:18px}a.contact-link:focus-visible{outline:2px solid white;outline-offset:3px}.ending-card{width:min(550px,92vw);max-height:90vh;overflow:auto}.ending-card h2{font-size:36px}.ending-card>button{width:100%;margin-top:8px;text-align:center}#enquiry-types{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}#enquiry-types button{font-size:12px}#enquiry-types [aria-pressed=true]{background:#645637;border-color:#e3c189}#ending{z-index:5}#reopen-ending{position:fixed;right:25px;bottom:85px;font-size:12px}.floating-console{position:fixed;right:25px;top:110px;width:min(540px,93vw);padding:22px;background:#1b2734f5;border:1px solid #8b7b9e;z-index:4}.floating-console p{font-size:12px;color:#bdb3c8}.floating-console .panel-head{justify-content:space-between}#step-grid{display:grid;grid-template-columns:60px repeat(8,1fr);gap:6px;align-items:center;margin:20px 0}#step-grid span{font-size:10px;color:#c5b9d0}#step-grid button{padding:0;aspect-ratio:1;min-width:24px;background:#333044;border-color:#63586e}#step-grid button[aria-pressed=true]{background:#a26fae;border-color:#ddb7e2}#step-grid button.playhead{outline:2px solid #eee6d9;outline-offset:1px}.console-actions{display:flex;gap:10px}.console-actions button{font-size:12px}#lab-tools{flex-wrap:wrap;max-width:450px;justify-content:flex-end}@media(max-width:700px){header #sound{margin:0 4px}header strong{font-size:11px;letter-spacing:1px}header button{padding:8px;font-size:10px}.floating-console{right:3.5vw;top:80px;padding:14px}.ending-card{padding:24px}.ending-card h2{font-size:29px}#step-grid{gap:4px;grid-template-columns:44px repeat(8,1fr)}}#sequencer{top:auto;bottom:76px;width:min(510px,93vw);background:linear-gradient(145deg,#211c2fee,#101c2be8);border-color:#b877be;box-shadow:0 14px 70px #05091688;padding:22px 24px}#sequencer .panel-head strong{font-family:monospace;letter-spacing:2px;color:#f2c8ef;font-size:14px}#sequencer .panel-head button{padding:7px 10px;font-size:11px}#sequencer .lab-caption{max-width:365px;line-height:1.6;color:#c1b9ce}#step-grid{gap:7px;margin:22px 0}#step-grid span{font-family:monospace;letter-spacing:1px}#step-grid button{border-radius:3px;box-shadow:inset 0 -3px #07091055;transition:background .09s}#step-grid button[aria-pressed=true]{background:#e87bc1;border-color:#f4badc}#step-grid button:nth-child(n+10):nth-child(-n+18)[aria-pressed=true]{background:#59c6db;border-color:#a6e9f1}#step-grid button:nth-child(n+19):nth-child(-n+27)[aria-pressed=true]{background:#dba95e;border-color:#f0d09a}#step-grid button:nth-child(n+28)[aria-pressed=true]{background:#a080e4;border-color:#d3bfff}.lab-dials{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;margin:10px 0 22px}.lab-dials label{font:10px monospace;letter-spacing:1px;color:#bdc5d6}.lab-dials output{float:right;color:#f4d4e8}.lab-dials input{width:100%;display:block;margin:12px 0 0;accent-color:#d387d8;cursor:pointer}.console-actions{align-items:center}.console-actions span{margin-left:auto;font-size:10px;color:#b7abbf}.console-actions #toggle-lab{min-width:72px;text-align:center;background:#743a68;border-color:#d792cb}#reality-press{position:fixed;right:28px;bottom:85px;background:#601f2d;border:1px solid #d48373;color:#ffe5cd;font:700 12px monospace;padding:14px 18px}#reality-press span{display:block;font:9px monospace;letter-spacing:1px;color:#d7a79f;margin-bottom:7px}#reality-status{position:fixed;top:110px;left:50%;transform:translate(-50%);text-align:center;white-space:pre-line;font:12px/1.8 monospace;letter-spacing:2px;color:#f0d7fd;text-shadow:0 2px 15px #000;pointer-events:none}.reality-active #status,.reality-active #lab-tools,.reality-active #reality-press{display:none}body:has(#sequencer:not([hidden])) #lab-tools,body:has(#sequencer:not([hidden])) #status,body:has(#sequencer:not([hidden])) #prompt,body:has(#sequencer:not([hidden])) #crosshair{display:none}@media(max-width:700px){#sequencer{bottom:55px;max-height:calc(100vh - 125px);overflow:auto;padding:17px}#step-grid{gap:4px}.lab-experiment{gap:8px}.console-actions span{max-width:85px;line-height:1.5}#lab-fault{padding:12px 10px;font-size:10px}}@media(prefers-reduced-motion:reduce){#step-grid button{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
