*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#090e16;color:#f1f6f7;font:14px 'Segoe UI',Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}#world{display:block;width:100%;height:100%}header,footer{position:absolute;left:0;right:0;padding:28px 34px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}header{top:0;background:linear-gradient(#08101999,transparent)}.brand{font-size:27px;font-weight:800;letter-spacing:5px}.brand span{display:block;font-size:11px;letter-spacing:2px;font-weight:500;margin-top:6px;color:#96aab8}.topright{display:flex;align-items:center;gap:20px;font-variant-numeric:tabular-nums}#timer{font-size:23px;font-weight:300;letter-spacing:2px}#settings{pointer-events:auto;background:#0b172080;border:1px solid #ffffff28;padding:8px 12px;font-size:12px;letter-spacing:1px}#fps{color:#5ff5c8;font-size:12px}footer{bottom:0;background:linear-gradient(transparent,#081019aa)}.links{display:flex;gap:24px}.gate{display:grid;grid-template-columns:30px auto;column-gap:9px}.gate em{grid-row:1/3;font-style:normal;font-size:25px;font-weight:700;color:#5af4c4}.gate.b em{color:#e96cff}.gate span{font-size:12px;letter-spacing:1px}.gate small{font-size:10px;color:#91a1ad;margin-top:3px}.hints{font-size:12px;font-weight:700}.hints span{font-size:10px;font-weight:400;color:#b2c0ca;margin-left:5px}.hints i{margin:0 12px;font-style:normal;color:#778894}#crosshair{position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px;pointer-events:none;z-index:2}#crosshair i{position:absolute;background:#ffffffb0;width:2px;height:5px;left:11px}#crosshair i:nth-child(1){top:0}#crosshair i:nth-child(2){bottom:0}#crosshair i:nth-child(3){transform:rotate(90deg);left:1px;top:9px}#crosshair i:nth-child(4){transform:rotate(90deg);left:21px;top:9px}#crosshair b{position:absolute;width:3px;height:3px;background:#fff;top:10px;left:10px}#crosshair.valid b{background:#5af4c4;box-shadow:0 0 8px #5af4c4}#crosshair.reject i,#crosshair.reject b{background:#ff6675}#objective{position:absolute;top:125px;left:34px;max-width:280px;pointer-events:none;z-index:2}.eyebrow{font-size:11px;letter-spacing:2px;color:#5af4c4;font-weight:600}#task{margin-top:9px;font-size:15px}#progress{display:block;margin-top:7px;color:#afbec9;font-size:12px;line-height:1.5}#notice{position:absolute;top:58%;width:100%;text-align:center;pointer-events:none;color:#f4f9fb;font-size:14px;opacity:0;transition:opacity .15s;text-shadow:0 2px 8px #000}#overlay,#victory{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05101d70;backdrop-filter:blur(5px);z-index:5}#overlay[hidden],#victory[hidden],[hidden]{display:none!important}.startcard{width:500px;max-width:90vw;padding:40px;border:1px solid #829daa30;background:linear-gradient(135deg,#12212fee,#0b141fee);box-shadow:0 25px 100px #0005}.startcard h1{font-size:88px;letter-spacing:12px;margin:20px 0 4px;line-height:1;font-weight:800}.startcard h1 span{color:#5af4c4;letter-spacing:0}.startcard p{color:#a7bdcb;font-size:16px;margin:16px 0 27px}.startcard>button{width:100%;background:#5af4c4;color:#061b1b;border:0;padding:17px 20px;font-size:13px;letter-spacing:2px;font-weight:700;text-align:left}.startcard>button span{float:right}.instructions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:27px 0 20px}.instructions b{font-size:11px;letter-spacing:1px}.instructions span{display:block;color:#a7bdcb;font-size:12px;margin-top:7px}.startcard>small{display:block;font-size:12px;color:#a7bdcb;line-height:1.8}.presetrow{border-top:1px solid #ffffff18;margin-top:23px;padding-top:18px;display:flex;align-items:center;gap:7px}.presetrow>span{font-size:10px;letter-spacing:1px;margin-right:auto;color:#8ea6b8}[data-preset]{border:1px solid #ffffff25;background:transparent;padding:8px 10px;font-size:11px;letter-spacing:1px}[data-preset].active{border-color:#5af4c4;color:#5af4c4;background:#5af4c410}#inputnote{font-size:11px;color:#728b9d;margin-top:16px}h2{font-size:48px;margin:20px 0;font-weight:500;line-height:1.1}#graphics{position:absolute;right:34px;top:80px;background:#101d2ef5;border:1px solid #ffffff25;padding:20px;z-index:6}#graphics .eyebrow{margin-bottom:14px}#graphics small{display:block;color:#94aabb;margin-top:15px;font-size:12px}@media(max-width:800px){header,footer{padding:20px}.hints{display:none}#objective{left:20px;top:110px}.startcard{padding:27px}.startcard h1{font-size:68px}.topright{gap:9px}.brand span{font-size:9px}.instructions{gap:5px}}

header{z-index:6}

.brand{font-size:22px;letter-spacing:3px}.startcard h1{font-size:60px;letter-spacing:8px;line-height:1.05}#dragHint{color:#5af4c4;font-weight:600}.hints:has(#dragHint:not([hidden])){display:block}@media(max-width:800px){.brand{font-size:17px;letter-spacing:2px}.startcard h1{font-size:44px;letter-spacing:6px}.hints:has(#dragHint:not([hidden])){max-width:230px;text-align:right;line-height:1.7}}

#debug{position:absolute;left:34px;bottom:105px;z-index:4;margin:0;padding:16px;background:#081420e8;border:1px solid #5af4c440;color:#bce2d5;font:12px/1.5 monospace;pointer-events:none;max-height:75vh;overflow:auto}#timer{font-size:19px}@media(max-width:800px){#debug{left:20px;font-size:11px;max-width:90vw}#timer{font-size:14px;letter-spacing:1px}}

.clocks{display:flex;flex-direction:column;gap:4px;font-size:12px;font-variant-numeric:tabular-nums}.clocks #runTimer{color:#91a7b5;font-size:11px}.brand span{white-space:nowrap}.runoptions{display:flex;gap:12px;justify-content:center;margin-top:18px}.runoptions button,.secondary{background:transparent!important;border:1px solid #385563!important;color:#acc6cd!important;padding:10px!important;font-size:10px!important;letter-spacing:1px!important}.resultcard{max-width:450px}.resultcard h2{font-size:38px;line-height:1.1;margin:22px 0}.resultcard #result{color:#5af4c4;font-size:26px;font-variant-numeric:tabular-nums}#chamberResults{margin:20px 0 25px}#chamberResults div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #263c49;font-size:12px;font-variant-numeric:tabular-nums}#chamberResults span{color:#93acba}#restartFirst{margin-top:10px;width:100%}#transition{position:fixed;top:40%;left:50%;transform:translateX(-50%);background:#0a1629ec;border:1px solid #5af4c4;padding:22px 28px;color:#5af4c4;white-space:nowrap;letter-spacing:2px;font-size:15px;z-index:20;pointer-events:none}#developer{position:fixed;left:25px;top:95px;width:300px;background:#101d2ef5;border:1px solid #55798b;padding:22px;z-index:50}#developer label,#developer small{display:block;margin:15px 0;color:#a1b8c6;font-size:11px}#developer select{width:100%;padding:12px;background:#1d3140;color:white;border:1px solid #55798b}#developer button{width:100%;margin-top:12px;padding:10px;background:#5af4c4;border:0;color:#102229;font-weight:bold}#objective small{max-width:470px;display:block}
/* Diagnostics allocate/draw only while F3 is enabled. */
#developer{max-height:86vh;overflow:auto;width:360px;right:22px;left:auto;top:90px;bottom:auto}#developer pre{white-space:pre-wrap;font:12px/1.5 monospace;color:#b9cfd7}#devChecks{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px 0}#devChecks label{font-size:12px;display:flex;gap:5px;align-items:center}#devChecks input{accent-color:#5af4c4}.devnav{display:flex;flex-wrap:wrap;gap:5px}#developer .devnav button{width:auto;font-size:11px;padding:8px}.resultcard{max-height:90vh;overflow:auto}#chamberResults>div{padding:5px 0}#crosshair[data-state=blocked]{opacity:.55}#crosshair[data-state=invalid] b{background:#ee879f}#crosshair[data-state=valid] b{background:#5af4c4}#debug{max-height:82vh;overflow:auto}

#chamberPicker{position:fixed;inset:0;z-index:30;background:rgba(4,10,15,.86);display:flex;align-items:center;justify-content:center}#chamberPicker[hidden]{display:none}#unlockedSelect{display:block;width:100%;padding:13px;background:#12252b;color:#dcece8;border:1px solid #3a6266;margin:20px 0;font:inherit}
.modebuttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.9rem 0}.modebuttons button{margin:0;font-size:12px;padding:.7rem}.seedcontrols{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.7rem 0}.seedcontrols label{font-size:12px;color:#aec6d1}.seedcontrols input{flex:1;min-width:130px;color:#e9f4f5;background:#08151e;border:1px solid #405760;padding:.5rem}.seedcontrols button{width:auto;padding:.5rem;font-size:12px;margin:0}#seedHUD{position:fixed;z-index:5;left:50%;bottom:65px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:12px;background:#08141ddd;padding:7px 12px;border:1px solid #385361}#seedHUD button{padding:7px;background:transparent;border:1px solid #405760;color:#d7eaeb;font-size:12px;cursor:pointer}#generatedResults{position:fixed;inset:0;z-index:12;display:grid;place-items:center;background:#081018b8;backdrop-filter:blur(5px)}#generatedSummary{font-size:14px;line-height:1.9;word-break:break-word;margin:1rem 0}#generatedResults .startcard{max-height:94vh;overflow:auto}#developer{max-height:85vh;overflow:auto}#developer pre{white-space:pre-wrap;font-size:12px}#developer hr{border:0;border-top:1px solid #385361;margin:1rem 0}#overlay .startcard{max-height:95vh;overflow:auto;padding:25px 34px}#overlay h1{font-size:clamp(34px,5vw,54px)}#overlay .instructions{margin:12px 0}#seedHUD[hidden],#generatedResults[hidden]{display:none} @media(max-width:700px){#seedHUD{bottom:95px;max-width:95%;flex-wrap:wrap;width:max-content}#endlessStats{display:none}.seedcontrols{font-size:12px}#overlay .startcard{padding:20px}}

#crosshair[data-state="adjusted"] b{background:#9de9de;box-shadow:0 0 6px #9de9de55}
.randomdifficulty{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-column:1/-1;font-size:10px;letter-spacing:.12em;color:#99aeb8}.randomdifficulty select{background:#13212b;border:1px solid #32454e;color:#d9e9ed;padding:7px;max-width:65%}

body:has(#overlay:not([hidden])) #seedHUD{display:none}
#chamberMap{position:fixed;top:90px;right:18px;width:clamp(200px,25vw,360px);z-index:15;background:#0b1720e8;border:1px solid #71889188;box-shadow:0 10px 30px #0005;color:#deedf0;pointer-events:none;font:11px monospace}#chamberMap[hidden]{display:none}#chamberMap header{padding:10px 12px;letter-spacing:.15em;font-weight:bold}#chamberMap header span{float:right;font-size:9px;color:#9eb7bf}.map-level{padding:0 12px 5px;color:#b7d4dc}#chamberMap canvas{display:block;width:100%;height:auto;opacity:.9}#chamberMap footer{padding:9px 12px;line-height:1.6;font-size:10px;color:#a7bbc4}.map-setting{display:block;font-size:11px;letter-spacing:.1em;color:#b8cbd4;margin:12px 0}@media(max-width:700px){#chamberMap{width:220px;right:8px;top:100px}}
#chamberMap header,#chamberMap footer{position:static;inset:auto;display:block;width:auto;transform:none;background:none;pointer-events:none}#chamberMap header{height:auto}#chamberMap footer{letter-spacing:0}
