:root{--ink:#eeeadb;--muted:#b4b4a8;--acid:#d7f85b;--bg:#151a17;--line:#41483d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 'Trebuchet MS',sans-serif;overflow:hidden}button,input{font:inherit}button,.file{cursor:pointer;border:1px solid #72786a;background:#242b23;color:var(--ink);padding:13px 20px;transition:background .15s}button:hover,.file:hover{background:#3c4734}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,.file:focus-within{outline:3px solid var(--acid);outline-offset:4px}::selection{background:var(--acid);color:var(--bg)}#app,#world,#shade{position:absolute;inset:0;width:100%;height:100%}#world{image-rendering:pixelated}#shade{pointer-events:none;background:linear-gradient(90deg,rgba(13,19,15,.97),rgba(13,19,15,.75) 40%,rgba(13,19,15,.1));transition:opacity .25s}body.playing #shade{opacity:0}header{position:absolute;left:36px;right:36px;top:24px;display:flex;align-items:center;justify-content:space-between;z-index:4}.wordmark{font-size:22px;font-weight:900;letter-spacing:-.04em;text-decoration:none;color:var(--ink)}.wordmark span{color:var(--acid);margin-left:12px;font-size:13px;letter-spacing:0}.topright{display:flex;align-items:center;gap:30px;font:11px/1.4 monospace;letter-spacing:.1em}#menuBtn{font:11px monospace;padding:8px 12px;background:#171d18}.menu{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:100px 6vw 60px;gap:35px;overflow:auto}.intro{max-width:690px}h1{font-size:clamp(42px,5.3vw,78px);font-weight:900;line-height:1.03;letter-spacing:-.04em;margin:0 0 28px}h1 em{font-style:normal;color:var(--acid)}p{color:var(--muted);font-size:17px}#introText{line-height:1.7}.actions{display:flex;gap:12px;margin:30px 0}.primary{background:var(--acid);color:#182011;border-color:var(--acid);font-weight:bold;min-width:170px}.primary:hover{background:#e7ff99}.controls{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:11px;color:var(--muted);max-width:510px}kbd{font:11px monospace;color:var(--ink);border-bottom:1px solid #72786a;padding-bottom:3px;margin-right:5px}.fine{font-size:11px;margin-top:28px;line-height:1.7}details{margin-top:23px;font-size:12px;color:var(--muted);max-width:440px}details p{font-size:12px}.file{display:inline-block;padding:8px 15px}.file input{position:absolute;width:1px;height:1px;opacity:0}.houseInfo{align-self:flex-end;width:240px;font:10px monospace;letter-spacing:.07em;padding-bottom:30px}.liveDot{display:inline-block;width:6px;height:6px;background:var(--acid);margin-right:8px}#floorList{margin:20px 0;border-top:1px solid #61665b}#floorList div{padding:13px 0;border-bottom:1px solid #61665b;display:flex;justify-content:space-between}.small{color:var(--muted);font-size:9px}.location{position:absolute;top:100px;left:36px;display:flex;flex-direction:column;text-shadow:0 2px 5px #000}.location span{font:11px monospace;color:var(--acid)}.location strong{font-size:26px;margin:6px 0}#map{position:absolute;right:28px;top:100px;width:195px;height:255px;background:rgba(13,19,15,.88);border:1px solid var(--line)}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:25px monospace;color:#edf8cf}#prompt{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);text-align:center;background:#192317e8;padding:8px 16px;font-size:13px;white-space:nowrap}#prompt:empty{display:none}#weapon{position:absolute;bottom:89px;width:300px;height:210px;left:50%;transform:translateX(-50%);image-rendering:pixelated;pointer-events:none}footer{position:absolute;bottom:0;left:0;right:0;min-height:90px;background:#171e17;border-top:1px solid #414d32;display:flex;align-items:center;padding:10px 36px;gap:42px}footer div>span{display:block;font:9px monospace;color:var(--muted);letter-spacing:.07em}footer b{font:34px monospace;color:var(--acid)}.objective{margin-left:auto;color:var(--muted);font-size:12px}#sound{font:10px monospace;padding:9px}#toast{position:absolute;top:80px;left:50%;transform:translateX(-50%);background:var(--acid);color:#182011;padding:10px 20px;opacity:0;pointer-events:none;z-index:8;transition:opacity .2s}#flash{position:absolute;inset:0;background:#a42216;opacity:0;pointer-events:none}#error{font-size:13px;color:#ffc39c}.menu[hidden],#hud[hidden]{display:none}@media(max-width:760px){header{left:20px;right:20px}.topright>span{display:none}.menu{padding:100px 24px 25px;display:block}h1{font-size:44px}.houseInfo{display:none}.actions{flex-wrap:wrap}.intro p{font-size:14px}footer{padding:10px 16px;gap:20px}footer b{font-size:25px}.objective{display:none}#map{width:120px;height:157px;right:16px}.location{left:16px}.location strong{font-size:21px}.wordmark{font-size:19px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

a{color:var(--acid);text-underline-offset:3px}
@font-face{font-family:VT323;src:url('./fonts/VT323.ttf') format('truetype');font-display:swap}
:root{--color-primary-10:#f8f0e6;--color-primary-50:#ff9b21;--color-primary-60:#e58b1e;--color-secondary-40:#4dbeff;--color-secondary-70:#0071b3;--color-secondary-90:#004166;--color-red-50:#f03d30;--ink:#f8f0e6;--muted:#b5c9d6;--acid:#ff9b21;--bg:#07121e;--line:#264257}
body{background:var(--bg)}header{border-bottom:1px solid #3c5362;padding-bottom:14px}.wordmark{font-family:VT323,monospace;font-size:40px;letter-spacing:-.02em;color:var(--color-primary-50);line-height:1}.wordmark span.doom{font:inherit;letter-spacing:inherit;margin:0;color:var(--ink)}.wordmark small{font:12px monospace;color:var(--color-secondary-40);margin-left:14px}h1{font-family:VT323,monospace;font-weight:400;font-size:clamp(70px,8vw,112px);line-height:.83;letter-spacing:-.03em;text-transform:uppercase;text-shadow:3px 4px #00314e}h1 em{color:var(--color-primary-50)}#shade{background:linear-gradient(90deg,#07121ef5,#07121ed9 40%,#07121e18)}button,.file{background:#102b40;border-color:#436277;border-radius:0}button:hover,.file:hover{background:#004166}.primary{background:var(--color-primary-50);color:#07121e;border:2px solid #ffbc68;font:24px VT323,monospace;box-shadow:inset -3px -3px #b66500,inset 3px 3px #ffd09a}.primary:hover{background:#ffaf4d}.actions>button:not(.primary){font:24px VT323,monospace}.intro{max-width:640px}.menu{padding-top:120px}.actions{margin:24px 0}.location strong{font:34px VT323,monospace;text-transform:uppercase}.location span{color:#4dbeff}.liveDot{background:#4dbeff}#menuBtn{background:#102b40}#map{background:#071522ec;border:2px solid #315266}footer{background:#102334;border-top:3px solid #0071b3;box-shadow:inset 0 2px #4dbeff;gap:34px}footer b{font:46px VT323,monospace;line-height:1.05;color:#ff9b21}footer div>span{color:#bde8ff;font-size:10px}.objective{color:#bde8ff}#crosshair{color:#f8f0e6;text-shadow:1px 1px #000}#prompt{background:#004166;border:1px solid #4dbeff;font:20px VT323,monospace}#toast{font:23px VT323,monospace;background:#ff9b21;color:#07121e}#weapon{width:360px;height:252px}.settings label{display:block;margin-top:12px;color:#d1efff}.settings input[type=range]{display:block;width:100%;accent-color:#ff9b21;margin:12px 0}.settings output{float:right;font-family:monospace;color:#ff9b21}.settings select{padding:7px 10px;margin-top:6px;background:#102b40;color:#f8f0e6;border:1px solid #436277;width:100%}.settings select:focus-visible{outline:2px solid #ff9b21}.audioControls{display:flex;gap:6px}#music,#sound{font:10px monospace;padding:8px;background:#071522}.fine{margin-top:20px}details{margin-top:16px}summary{cursor:pointer}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:#07121e}::-webkit-scrollbar-thumb{background:#0071b3}#hud:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #0005}footer,.location,#map,#prompt{z-index:1}@media(max-width:760px){.wordmark{font-size:31px}.wordmark small{display:none}h1{font-size:76px}.menu{padding-top:110px}.audioControls{flex-direction:column}footer{gap:16px}.location strong{font-size:26px}footer b{font-size:34px}footer div>span{font-size:8px}.actions>button{font-size:21px}.topright{gap:10px}}@media(max-height:800px) and (min-width:761px){.menu{align-items:flex-start;padding-top:125px;padding-bottom:30px}h1{font-size:80px}.intro p{font-size:14px}.intro .fine{font-size:10px}.actions{margin:18px 0}}

.wordmark{display:flex;align-items:center;gap:12px}.wordmark img{display:block;width:150px;height:auto}.wordmark small{margin:0}@media(max-width:760px){.wordmark img{width:125px}}
/* Touch controls keep each thumb on an independent pointer target. */
.lobbyAudio{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 8px}.lobbyAudio button{font:12px monospace;padding:9px 12px}.lobbyAudio span{font:10px monospace;color:#b5c9d6}button[aria-pressed=true]{border-color:#ff9b21;color:#ffbc68}#touchControls[hidden]{display:none}#touchControls{position:absolute;inset:0;z-index:3;pointer-events:none;user-select:none;-webkit-user-select:none}#touchControls button,#moveStick,#lookZone{pointer-events:auto;touch-action:none}#lookZone{position:absolute;left:40%;right:0;top:95px;bottom:100px}#moveStick{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:calc(112px + env(safe-area-inset-bottom));width:116px;height:116px;border:2px solid #4dbeff90;border-radius:50%;background:#07152270}#stickKnob{position:absolute;left:50%;top:50%;width:46px;height:46px;border:2px solid #4dbeff;background:#0071b388;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}#moveStick small{position:absolute;bottom:-24px;left:0;width:100%;text-align:center;font:10px monospace;color:#bde8ff}.touchActions{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:calc(112px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,64px);gap:8px}.touchActions button{font:15px VT323,monospace;padding:12px 5px;min-height:46px;background:#102b40e8}.touchActions #touchFire{grid-column:span 2;height:64px;background:#ff9b21;color:#07121e;font-size:25px;border:2px solid #ffd09a}.touchTools{position:absolute;bottom:calc(248px + env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));display:flex;gap:5px}.touchTools button{font:10px monospace;padding:12px 8px;min-height:44px;background:#102b40e8}.touch-device .controls{display:none}.touch-device footer{z-index:5;padding-bottom:calc(9px + env(safe-area-inset-bottom));pointer-events:none}.touch-device footer button{pointer-events:auto}.touch-device #prompt{bottom:calc(308px + env(safe-area-inset-bottom));white-space:normal;max-width:90%;width:max-content;font-size:18px}.touch-device header{top:max(10px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}.touch-device #menuBtn{min-height:44px}.touch-device #weapon{width:240px;height:168px}.touch-device .location{top:90px;pointer-events:none}.touch-device #map{top:90px;pointer-events:none;width:94px;height:123px}.touch-device .location strong{max-width:180px}.touch-device #toast{max-width:90%;width:max-content;white-space:normal;font-size:19px}.touch-device .menu{z-index:2;padding-bottom:calc(30px + env(safe-area-inset-bottom));align-items:flex-start}.touch-device.playing #world{touch-action:none}
@media(pointer:coarse) and (max-height:540px){.touch-device .menu{padding-top:92px}.touch-device h1{font-size:64px}.touch-device .intro{max-width:620px}.touch-device header{padding-bottom:5px}.touch-device .wordmark img{width:105px}.touch-device .location{top:72px}.touch-device .location strong{font-size:22px}.touch-device .location span{font-size:9px}.touch-device #map{top:72px;width:76px;height:100px}.touch-device footer{min-height:64px;padding-top:6px;gap:22px}.touch-device footer b{font-size:27px}.touch-device footer div>span{font-size:8px}.touch-device .audioControls{flex-direction:row;margin-left:auto}.touch-device #weapon{bottom:64px;width:210px;height:147px}#moveStick{width:98px;height:98px;bottom:calc(82px + env(safe-area-inset-bottom))}.touchActions{bottom:calc(80px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,60px);gap:5px}.touchActions #touchFire{height:51px}.touchActions button{min-height:40px;padding:8px 4px}.touchTools{bottom:calc(198px + env(safe-area-inset-bottom))}.touch-device #prompt{bottom:84px;font-size:17px;max-width:40%}#lookZone{top:65px;bottom:65px}.touch-device #toast{top:65px}}
@media(max-width:380px){.touch-device footer{gap:12px;padding-left:10px;padding-right:10px}.touch-device footer div>span{font-size:7px}.touch-device footer b{font-size:28px}.touch-device #sound,.touch-device #music{font-size:8px;padding:8px 5px}#moveStick{width:100px;height:100px}.touchActions{right:12px;grid-template-columns:repeat(2,58px)}}
.weaponChoices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.weaponChoices button{text-align:left;padding:10px 12px;min-height:55px}.weaponChoices strong{display:block;font:20px VT323,monospace;font-weight:400}.weaponChoices span{display:block;font:10px monospace;color:#b5c9d6}.weaponChoices button[aria-pressed=true]{background:#004166;border:1px solid #ff9b21;box-shadow:inset 3px 0 #ff9b21}.houseImport{max-width:540px}.houseImport label{display:block;margin-top:12px}.importRow{display:flex;gap:8px;margin-top:6px}.importRow input{min-width:0;flex:1;width:100%;padding:11px;color:#f8f0e6;background:#071522;border:1px solid #436277;border-radius:0;font:12px monospace}.importRow button{font:18px VT323,monospace;padding:10px 12px;white-space:nowrap}#importStatus{font-size:12px;color:#ffbc68}.houseImport .fine{font-size:11px;color:#bde8ff}#weapon{width:min(640px,80vw);height:auto;aspect-ratio:1.6}#weaponCycle{max-width:150px;white-space:normal;min-height:38px}.touch-device #weapon{width:min(440px,85vw);height:auto;bottom:90px}.touch-device #weaponCycle{font-size:9px;max-width:95px}.touch-device footer{gap:14px}.touch-device footer .audioControls{flex-direction:column;gap:3px;margin-left:auto}.touch-device footer .audioControls button{padding:6px}.loadout p{font-size:10px;margin:8px 0}
@media(max-width:450px){.weaponChoices strong{font-size:18px}.importRow{flex-direction:column}.touch-device footer{gap:10px}.touch-device footer b{font-size:29px}}@media(pointer:coarse) and (max-height:540px){.touch-device #weapon{width:340px;bottom:64px}.touch-device footer .audioControls{flex-direction:row}.touch-device #weaponCycle{max-width:100px}}
.menu{align-items:flex-start}.houseInfo{position:sticky;top:120px;align-self:flex-start;margin-top:220px}#weaponCycle{font:11px monospace;background:#071522;padding:8px;border-color:#436277}
.topright{gap:14px}#muteBtn{font:11px monospace;padding:8px 12px;min-height:36px;min-width:76px;background:#102b40}#muteBtn[aria-pressed=true]{color:#ffbc68;border-color:#ff9b21}.touch-device #muteBtn{min-height:44px}.touch-device footer .audioControls{flex-direction:row}@media(max-width:450px){.topright{gap:7px}#muteBtn{padding:8px;min-width:64px}.wordmark img{width:125px}}
/* Classic face/armor strip and a keyboard-accessible game-over dialog. */
:root{--hud-height:96px}footer{height:var(--hud-height);min-height:var(--hud-height);gap:24px;padding-top:6px;padding-bottom:6px}.faceStatus{align-self:center;display:flex;align-items:center;justify-content:center;background:#071522;border:2px solid #436277;box-shadow:inset 0 0 0 2px #000;width:66px;height:76px;flex-shrink:0}#doomFace{width:56px;height:63px;image-rendering:pixelated}.armorStatus b{color:#22ab34}.armorStatus.blue b{color:#4dbeff}#weapon,.touch-device #weapon{bottom:var(--hud-height)}#pickupFlash{position:absolute;inset:0;pointer-events:none;background:#83bc32;opacity:0;z-index:2}#deathDialog{color:#f8f0e6;background:#091b29;border:2px solid #4dbeff;box-shadow:inset 0 0 0 5px #102b40,10px 10px 0 #0008;padding:30px;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;text-align:center}#deathDialog::backdrop{background:#01070bdd}.deathEyebrow{font:11px monospace;color:#ff9b21;letter-spacing:.12em}#deadFace{image-rendering:pixelated;width:48px;height:62px;margin-top:20px}#deathDialog h2{font:56px/.9 VT323,monospace;text-transform:uppercase;font-weight:400;margin:16px 0;color:#f8f0e6;text-shadow:3px 3px #004166}#deathDialog p{font-size:14px}#deathStats{font:12px monospace;color:#bde8ff}.deathActions{display:grid;gap:10px;margin-top:24px}.deathActions button{min-height:44px}.deathActions button:not(.primary){font:21px VT323,monospace}#deathDialog:focus-visible{outline:none}
@media(max-width:760px){footer{gap:10px;padding-left:12px;padding-right:12px}footer b{font-size:32px}.faceStatus{width:44px;height:58px}#doomFace{width:38px;height:43px}.touch-device footer{gap:10px}.touch-device footer .audioControls{margin-left:auto}.touch-device #weaponCycle{max-width:84px}}
@media(max-width:520px){footer,.touch-device footer{gap:8px}footer div>span{font-size:7px}footer b,.touch-device footer b{font-size:28px}.killStatus{display:none}.faceStatus{width:38px;height:50px}#doomFace{width:32px;height:36px}#deathDialog{padding:24px 18px}#deathDialog h2{font-size:46px}}
@media(pointer:coarse) and (max-height:540px){:root{--hud-height:64px}footer{gap:18px}.faceStatus{width:38px;height:50px}#doomFace{width:32px;height:36px}.deathActions{grid-template-columns:1fr 1fr;margin-top:14px}.deathActions .primary{grid-column:1/-1}#deathDialog h2{font-size:38px;margin:10px 0}#deadFace{display:none}#deathDialog{padding:18px;max-width:580px}}
@media(max-width:360px){footer,.touch-device footer{gap:6px;padding-left:8px;padding-right:8px}footer b,.touch-device footer b{font-size:24px}.faceStatus{width:34px}#weaponCycle,.touch-device #weaponCycle{max-width:72px;font-size:8px}}
/* Keep the actual house visible behind the menu; the header spans the viewport. */
header{left:0;right:0;top:0;padding:20px 36px;background:#07121e88;backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem);border-bottom:1px solid #4dbeff40}#shade{background:linear-gradient(90deg,#07121ee8 0%,#07121eb0 32%,#07121e30 62%,#07121e08 100%)}.menu{padding-top:132px;pointer-events:none}.intro,.houseInfo{pointer-events:auto}.intro{max-width:570px}.houseInfo{width:280px;margin-top:165px;flex-shrink:0}.planTitle{font:18px/1.3 VT323,monospace;color:#f8f0e6;letter-spacing:0;margin:12px 0}.previewLabel{font:10px/1.6 monospace;color:#bde8ff;letter-spacing:0;margin:14px 0}#floorList button{display:flex;align-items:center;gap:18px;justify-content:space-between;width:100%;padding:13px 12px;text-align:right;font:12px monospace;border:0;border-bottom:1px solid #4dbeff40;background:#07121e66;color:#f8f0e6;backdrop-filter:blur(8px)}#floorList button>span:first-child{color:#4dbeff}#floorList button[aria-pressed=true],#floorList button:hover{background:#004166aa;box-shadow:inset 3px 0 #ff9b21}#floorList button:focus-visible{outline:2px solid #ff9b21;outline-offset:2px}.importLinks{display:grid;gap:10px;margin:14px 0}.importLinks a,.textButton{font:12px/1.5 'Trebuchet MS',sans-serif}.textButton{display:inline-block;width:fit-content;color:#ff9b21;border:0;border-bottom:1px solid #ff9b2166;padding:0;background:transparent;text-align:left;text-underline-offset:3px}.textButton:hover{background:transparent;color:#ffbc68;border-color:#ffbc68}.importLinks a{width:fit-content}
#importHelpDialog{color:#f8f0e6;background:#091b29;border:2px solid #4dbeff;box-shadow:inset 0 0 0 5px #102b40,10px 10px 0 #0008;padding:30px;width:min(700px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}#importHelpDialog::backdrop{background:#01070bdf}.helpTop{display:flex;justify-content:space-between;align-items:center;gap:16px}.helpEyebrow{font:10px monospace;color:#ff9b21;letter-spacing:.1em}#closeImportHelp{font:11px monospace;padding:9px 12px}#importHelpDialog h2{font:46px/.95 VT323,monospace;text-transform:uppercase;font-weight:400;margin:26px 0 16px}#importHelpDialog h3{font:25px VT323,monospace;color:#bde8ff;margin:22px 0 10px}#importHelpDialog p,#importHelpDialog li{font-size:14px;line-height:1.7;color:#b5c9d6}#importHelpDialog strong{color:#f8f0e6}#importHelpDialog li{margin:10px 0;padding-left:5px}#importHelpDialog ol{padding-left:24px}#importHelpDialog code{font:12px monospace;color:#bde8ff;overflow-wrap:anywhere}#importHelpDialog .fine{font-size:11px;margin-top:14px}.bookmarkletHelp{border:1px solid #315266;padding:0 18px 10px;margin-top:22px;background:#102b4066}.bookmarkletButton{display:inline-block;border:1px dashed #ff9b21;padding:12px 16px;color:#07121e;background:#ff9b21;text-decoration:none;font:23px VT323,monospace;cursor:grab}.bookmarkletButton:hover{background:#ffbc68}#bookmarkletCode{display:block;width:100%;min-height:110px;margin-top:12px;background:#07121e;color:#bde8ff;padding:10px;border:1px solid #436277;font:11px monospace;resize:vertical}#bookmarkletCode[hidden]{display:none}#bookmarkletStatus{font-size:12px;color:#ffbc68}#importHelpDialog details{max-width:none}#importHelpDialog[open]{animation:helpEnter .15s ease-out}@keyframes helpEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px) and (min-width:761px){.houseInfo{width:230px}.intro{max-width:480px}.menu{gap:24px;padding-left:4vw;padding-right:4vw}}@media(max-width:760px){header{padding:16px 20px}.menu,.touch-device .menu{padding-top:116px}.houseInfo{display:block;position:static;width:100%;max-width:540px;margin-top:30px;margin-bottom:20px}.houseInfo #floorList{display:grid;grid-template-columns:1fr 1fr}#floorList button{font-size:11px;gap:9px}.intro{max-width:570px}#shade{background:linear-gradient(90deg,#07121edb,#07121ea6 65%,#07121e60)}#importHelpDialog{padding:22px 18px}#importHelpDialog h2{font-size:38px}.bookmarkletHelp{padding-left:12px;padding-right:12px}}
@media(pointer:coarse) and (max-height:540px){header{padding:10px 20px}.menu,.touch-device .menu{padding-top:92px}.helpEyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){#importHelpDialog[open]{animation:none}}
.wordmark{flex-shrink:0}.topright{min-width:0}#address{max-width:min(40vw,380px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#floorList button>span:first-child{flex-shrink:0}#floorList button>span:last-child{min-width:0;overflow-wrap:anywhere}

/* Sharing uses the same retro shell as import help; the world freezes behind it. */
#shareLevel[hidden]{display:none}#shareDialog{color:#f8f0e6;background:#091b29;border:2px solid #4dbeff;box-shadow:inset 0 0 0 5px #102b40,10px 10px 0 #0008;padding:28px;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}#shareDialog::backdrop{background:#01070bdf}#closeShare{font:11px monospace;padding:9px 12px}#shareDialog h2{font:46px/.95 VT323,monospace;text-transform:uppercase;font-weight:400;margin:26px 0 22px}.shareListing{border-left:3px solid #ff9b21;background:#102b40;padding:16px 18px}.shareBadge{font:9px/1.5 monospace;letter-spacing:.06em;color:#ffbc68}#shareMessage{font-size:15px;line-height:1.65;color:#e5f6ff;white-space:pre-line;margin:10px 0 0}.shareOptions{display:grid;margin:20px 0}.shareOptions>a,.shareOptions>button{display:flex;align-items:center;gap:16px;width:100%;padding:16px 10px;border:0;border-bottom:1px solid #315266;background:transparent;color:#4dbeff;text-decoration:none;text-align:left;min-height:64px}.shareOptions>a:hover,.shareOptions>button:hover{background:#102b40}.shareOptions strong{display:block;font:25px/1.15 VT323,monospace;font-weight:400}.shareOptions small{display:block;margin-top:4px;font:11px/1.5 'Trebuchet MS',sans-serif;color:#b5c9d6}.shareOptions .shareSymbol{font:25px monospace;width:30px;flex-shrink:0}.shareOptions>*>span:last-child{margin-left:auto}.shareOptions [hidden]{display:none}.shareUrlLabel{display:block;color:#bde8ff;font:9px monospace;letter-spacing:.08em;margin-bottom:8px}#shareUrl{width:100%;min-width:0;padding:12px;background:#07121e;border:1px solid #436277;color:#bde8ff;font:11px monospace}#shareStatus{min-height:1.5em;font-size:12px;color:#ffbc68;margin:10px 0}.shareNote{font-size:11px;line-height:1.6;color:#b5c9d6;margin-bottom:0}@media(max-width:520px){#shareDialog{padding:22px 18px}#shareDialog h2{font-size:38px}.shareOptions>a,.shareOptions>button{gap:10px}.shareOptions small{font-size:10px}.shareListing{padding:14px}}

/* Remove GPU/backdrop composition behind native modal dialogs. */
body:has(dialog[open]) #world,body:has(dialog[open]) #shade{visibility:hidden}
body:has(dialog[open]) header,body:has(dialog[open]) #floorList button{backdrop-filter:none;-webkit-backdrop-filter:none;background:#091b29}
dialog::backdrop,#deathDialog::backdrop,#importHelpDialog::backdrop,#shareDialog::backdrop{background:#01070b}
#importHelpDialog[open],#shareDialog[open]{animation:none;transform:none}
#shareLevel{font:11px monospace;padding:9px 12px;white-space:nowrap;background:#102b40;color:#ffbc68;border-color:#ff9b21}
#importStatus:empty{display:none}#importNotes[hidden]{display:none}#importNotes{margin:10px 0 16px}#importNotes p{font-size:11px;line-height:1.6}
#floorList button{cursor:pointer}#floorList button:hover>span:last-child::after,#floorList button:focus-visible>span:last-child::after{content:' ↗';color:#ff9b21}
.importPrivacy{font-size:11px!important;line-height:1.6;margin:12px 0;color:#b5c9d6}#popularHomes[hidden]{display:none}#popularHomes{margin-top:24px;max-width:none;letter-spacing:0}#popularHomes summary{font:18px VT323,monospace;color:#ffbc68}#popularList{padding-left:24px;margin:12px 0}#popularList li{padding:6px 0;color:#4dbeff}#popularList button{background:#071522aa;border:1px solid #315266;padding:10px;width:100%;text-align:left}#popularList strong{font:17px VT323,monospace;display:block;color:#f8f0e6}#popularList span,#popularHomes p{font:10px/1.6 monospace;color:#b5c9d6}#popularList span{display:block;margin-top:4px}
@media(max-width:520px){header{padding:12px 14px;gap:12px}.wordmark img{width:112px;height:32px}.topright{gap:7px}#shareLevel{padding:9px 8px;font-size:9px}#menuBtn,#muteBtn{padding:8px;font-size:9px}}

/* Menus must receive scrolling gestures instead of the game canvas behind them. */
.menu{pointer-events:auto;min-height:0;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
.touch-device .menu{height:100dvh;max-height:100dvh;display:block;padding-top:110px;padding-bottom:calc(40px + env(safe-area-inset-bottom));touch-action:pan-y}
.touch-device .intro{max-width:690px}.touch-device .houseInfo{display:block;width:100%;max-width:690px;margin-top:36px;padding-bottom:20px}.touch-device .houseInfo .small{display:block}
#shareLevel{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;text-transform:none}#shareLevel[hidden]{display:none}.ui-icon{display:block;flex-shrink:0;filter:invert(1);image-rendering:pixelated}#muteBtn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:9px}#menuBtn{display:none}.touch-device.playing #menuBtn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:9px}
@media(pointer:coarse) and (max-height:540px){.touch-device .menu{padding-top:92px}}
