@font-face{font-family:Station;src:url('assets/menu/VeraBd.ttf') format('truetype');font-display:swap;font-weight:700}
html,body{width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;background:#080b0d}body{display:flex;align-items:center;justify-content:center;min-height:0}#shell{padding:0;max-width:none;margin:auto;flex:none}.masthead{display:none!important}#stage{aspect-ratio:16/9;min-height:0!important;border:0;flex:none}#screen{width:100%;height:100%;object-fit:contain}#hud{box-sizing:border-box;overflow:hidden}footer{height:var(--footer-h,32px);margin:0;padding:0 9px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.4px;box-sizing:border-box}.footerBrand{color:#d4c8ad!important;font-family:Station,sans-serif;font-size:11px!important;letter-spacing:.2px;text-transform:none}.footerBrand b{color:#96896f;margin-left:4px}#screenStatus{margin-left:auto;color:#8d958e;font-size:8px}#fullscreenButton{padding:4px 7px;font-size:9px;border:1px solid #4c4d42;background:#171c1a;color:#c9c8b4}footer>span:last-child{display:initial}#menu{padding:0;display:block;background:#0b1116;isolation:isolate}.coverArt,.coverShade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.coverArt{z-index:-2}.coverShade{z-index:-1;background:linear-gradient(90deg,#040a1088,transparent 59%)}.menuColumn{position:absolute;left:5%;top:7%;bottom:8%;width:38%;display:flex;flex-direction:column;align-items:center}.titleLogo{margin:0!important;width:114%;height:auto;font-size:inherit;line-height:1;letter-spacing:normal;text-shadow:none}.titleLogo img{display:block;width:100%;height:auto;max-height:190px;object-fit:contain}.menuChapter{font-family:Station,sans-serif;font-size:clamp(7px,1vw,11px);letter-spacing:2px;color:#cdbf9c;margin:10px 0 14px;white-space:nowrap}.menuChapter span{color:#b9743a}.menuActions{display:flex;flex-direction:column;width:84%;gap:8px;margin:auto 0 0}.menuActions button,#menu button.primary{font-family:Station,sans-serif;background:transparent url('assets/menu/button-normal.webp') center/100% 100% no-repeat;border:0;border-radius:0;clip-path:polygon(3% 0,97% 0,100% 18%,100% 82%,97% 100%,3% 100%,0 82%,0 18%);height:clamp(27px,4.6vw,52px);padding:0 14px;text-align:center;font-size:clamp(9px,1.25vw,14px);color:#ded4bb;letter-spacing:1.4px;text-shadow:0 2px 1px #000}.menuActions button:hover,.menuActions button:focus-visible,#menu button.primary:hover{background-image:url('assets/menu/button-hover.webp');color:#fff0c7;outline:2px solid #e5a654;outline-offset:2px}.menuActions button:disabled{background-image:url('assets/menu/button-disabled.webp');color:#777b73;opacity:1;cursor:not-allowed}.difficultyRow{display:flex;align-items:center;gap:10px;width:84%;margin-top:12px}.difficultyRow label{font-size:8px;color:#a49e89;letter-spacing:1px}.difficultyRow select{font-family:Station,sans-serif;font-size:9px;letter-spacing:.5px;color:#d4c5a9;padding:5px 7px;margin:0;background:#0c141acc;border:1px solid #5e635b;flex:1;width:auto}.coverTag{position:absolute;right:3%;bottom:5%;text-align:right;font:700 clamp(7px,1vw,11px)/1.6 Station,sans-serif;color:#d6c1a2;text-shadow:0 2px 4px #000;letter-spacing:2px}body[data-mode='menu'] .scanlines{display:none}#weaponHint{display:block;color:#cfb984;font-size:8px;letter-spacing:.2px;white-space:nowrap;margin-top:-2px}#slots{margin-top:5px;gap:7px}#hud>div{padding-top:5px}#portrait{width:66px;height:66px;top:0;left:4px}.weaponInfo{padding-left:76px!important}#hud strong{font-size:26px}.hudIcon{width:30px;height:30px;top:13px}#hud label{font-size:8px;margin-bottom:3px}.panel{overflow-y:auto}.panel button{font-family:Station,sans-serif}#gameTop{font-family:Station,sans-serif;font-size:8px}.scanlines{opacity:.2}
@media(max-width:760px),(max-height:520px){.menuColumn{top:5%;bottom:6%}.titleLogo{max-height:26%;width:108%}.titleLogo img{height:100%;max-height:100%}.menuChapter{letter-spacing:.8px;margin:7px 0;font-size:7px}.menuActions{gap:5px;width:92%}.menuActions button,#menu button.primary{height:clamp(23px,4vw,38px);font-size:9px;padding:0 4px;letter-spacing:.5px}.difficultyRow{width:92%;margin-top:7px;gap:6px}.difficultyRow label{font-size:6px}.difficultyRow select{font-size:8px;padding:3px}.coverTag{font-size:7px;letter-spacing:.7px}#hud>div{padding:3px 9px}#hud strong{font-size:20px}#hud label{font-size:6px;letter-spacing:.6px}#portrait{width:49px;height:49px;top:0;left:0}.weaponInfo{padding-left:53px!important}#weaponHint{font-size:6px}#slots{margin-top:3px;gap:4px}#slots span{font-size:8px;padding:2px 5px}.hudIcon{display:none}.statusBlock small{font-size:7px;margin-top:5px}.statusBlock span{font-size:8px}#hud .meter{margin-top:3px}#screenStatus{display:none}#fullscreenButton{margin-left:auto}footer{display:flex!important;font-size:8px}.footerBrand{font-size:9px!important}#prompt{font-size:9px}#gameTop{padding:5px 8px;font-size:6px}#toast{font-size:9px}.panel{padding:10px;gap:5px}.panel h2{font-size:20px;margin:4px}.panel p{font-size:9px;margin:3px}.panel button{min-width:210px;font-size:10px;padding:7px}.panel label{font-size:10px}#settings .controls{font-size:8px;line-height:1.3!important}}
@media(max-width:460px){.menuColumn{left:4%;width:43%;bottom:5%}.menuChapter{font-size:5px;letter-spacing:.2px;margin:5px 0}.menuActions{gap:3px}.menuActions button,#menu button.primary{height:23px;font-size:7px}.difficultyRow{margin-top:5px}.difficultyRow label{font-size:5px}.difficultyRow select{font-size:7px;padding:2px}.coverTag{font-size:5px}.panel{justify-content:flex-start}#stick{width:64px;height:64px;bottom:8px;left:10px}#stick i{width:30px;height:30px;left:17px;top:17px}.touchActions{right:8px;bottom:7px;gap:3px}.touchActions button{font-size:7px;padding:6px}#lookZone{top:25px;height:48%}#gameTop b{font-size:5px}#weaponHint{font-size:5px}.footerBrand{font-size:8px!important}}
/* Keep access/kill information visible in narrow embeds too. */
@media(max-width:760px){#hud{grid-template-columns:.8fr .7fr 2fr .7fr 1.2fr}#hud>div{min-width:0;padding-left:5px;padding-right:5px}.statusBlock{display:block}.statusBlock span{font-size:6px}.statusBlock small{font-size:5px;letter-spacing:0;white-space:nowrap}#portrait{display:none}.weaponInfo{padding-left:5px!important}#weaponHint{font-size:5px}#slots{gap:3px}#slots span{padding:2px 4px}#weaponLabel{font-size:5px!important}#hud strong{font-size:18px}#hud strong span{font-size:9px}}
.panel button{background:transparent url('assets/menu/button-normal.webp') center/100% 100% no-repeat;border:0;color:#e0d2b6;min-height:42px;width:300px;max-width:92%;text-align:center;text-shadow:0 1px 2px #000;letter-spacing:1px}.panel button:hover,.panel button:focus-visible{background-image:url('assets/menu/button-hover.webp');color:#fff0c7;outline:1px solid #b78b4a}.panel button:disabled{background-image:url('assets/menu/button-disabled.webp');color:#777b73}@media(max-height:520px),(max-width:760px){.panel button{min-height:30px;width:240px}}
/* All image-button states keep the same sizing; old primary:hover shorthand must not reset it. */
.menuActions button:hover,.menuActions button:focus-visible,#menu button.primary:hover,#menu button.primary:focus-visible,.panel button:hover,.panel button:focus-visible,.panel button.primary:hover,.panel button.primary:focus-visible{background:transparent url('assets/menu/button-hover.webp') center/100% 100% no-repeat;outline:none;outline-offset:0;border:0;box-shadow:none}
/* World 1 campaign and encounter UI. */
#campaignOpen{background:none;border:0;padding:4px;color:#d0bb93;text-align:center;cursor:pointer;flex-shrink:0;font-family:Station,sans-serif}#campaignOpen:hover,#campaignOpen:focus-visible{background:none;outline:none;color:#fff0bb;text-shadow:0 0 8px #b97736}#campaign{background:linear-gradient(110deg,#08121bf5,#132124f0);gap:6px;padding:3% 5%;justify-content:center}#campaign h2{font-family:Station,sans-serif;letter-spacing:1px;font-size:26px;margin:3px}#worldRail{display:flex;gap:7px;justify-content:center}.worldChip{display:block;border-bottom:2px solid #394647;padding:5px 12px;color:#677372;font:700 13px Station,sans-serif;text-align:center}.worldChip small{display:block;font:6px monospace;margin-top:4px}.worldChip.active{border-color:#e9b35c;color:#f0c484}.campaignNote{font-size:8px!important;margin:2px!important;letter-spacing:1px}#stageCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:890px}.stageCard{position:relative;background:#0a141ad9;border:1px solid #415153;text-align:left;padding:12px;overflow:hidden}.stageThumb{height:70px;margin:-12px -12px 12px;background-position:center;background-size:cover;image-rendering:pixelated;opacity:.85}.stageThumb1{background-image:linear-gradient(90deg,#0b182244,#0b182200),url('assets/frames/environment-wall-station.webp')}.stageThumb2{background-image:linear-gradient(90deg,#0b182244,#0b182200),url('assets/frames/environment-wall-server.webp')}.stageThumb3{background:#1c1711 url('assets/frames/kiln-idle-0.webp') center 20%/160px auto no-repeat}.stageCard>small{font:8px Station,sans-serif;color:#e3b975}.stageCard h3{font:14px Station,sans-serif;margin:7px 0}.stageCard p{font-size:10px;line-height:1.5;min-height:42px;margin-bottom:8px}.stageCard button{width:100%;min-width:0;font-size:9px}.stageCard button:disabled{opacity:.55}.bossTrack{height:6px;background:#171311;border:1px solid #695237;margin:5px 0}.bossTrack i{display:block;height:100%;background:#e6a34e;transition:width .1s}#bossHUD{position:absolute;left:23%;right:23%;top:11%;z-index:5;background:#0a1016df;padding:8px 11px;border-left:2px solid #dc9b52;color:#edc591;font:8px Station,sans-serif;pointer-events:none}#bossHUD>div:first-child{display:flex;justify-content:space-between;gap:8px}#bossPhase{font-size:7px}#bossHUD small{font:7px monospace;letter-spacing:1px}#bossHUD.vulnerable{border-color:#73dfe8;color:#9ff4ed}#bossHUD.vulnerable i{background:#69dbeb}.bossActive #toast{top:27%}
@media(max-width:760px),(max-height:520px){#campaign{padding:10px;justify-content:flex-start}#campaign h2{font-size:17px}.worldChip{font-size:8px;padding:2px 7px}.worldChip small{font-size:5px}#stageCards{gap:6px}.stageCard{padding:7px}.stageThumb{height:40px;margin:-7px -7px 6px}.stageCard h3{font-size:9px}.stageCard p{font-size:7px;min-height:32px}.stageCard>small{font-size:6px}.stageCard button{font-size:6px;padding:5px;min-height:24px}#bossHUD{left:20%;right:25%;top:12%;padding:4px;font-size:6px}#bossPhase,#bossHUD small{font-size:5px;letter-spacing:0}.bossTrack{height:4px;margin:3px 0}}
@media(max-width:460px){#campaign h2{font-size:13px}#campaign .eyebrow{font-size:6px;letter-spacing:0}#worldRail{gap:2px}.worldChip{padding:2px 8px}#campaign .campaignNote{font-size:6px!important}.stageThumb{display:none}.stageCard p{display:none}.stageCard h3{font-size:8px;min-height:20px}#campaignBack{min-height:25px!important;font-size:8px!important}.bossActive #toast{top:35%}#bossHUD{left:10%;right:28%}#bossHUD>div:first-child{display:block}#bossPhase{display:block;margin-top:3px}}
.menuActions button:disabled:hover,#menu button.primary:disabled:hover,.panel button:disabled:hover{background:transparent url('assets/menu/button-disabled.webp') center/100% 100% no-repeat;outline:none;box-shadow:none}
@media(max-width:460px){#campaign{padding:6px;gap:3px}#campaign h2{margin:0;font-size:13px}.worldChip{padding:1px 7px}#campaign .campaignNote{line-height:1.1;margin:0!important}.stageCard{padding:5px}.stageCard h3{margin:3px 0;min-height:18px}.stageCard>small{font-size:5px}.stageCard button{min-height:23px;padding:3px}#campaignBack{padding:3px;min-height:23px!important}}
@media(max-width:760px),(max-height:520px){#campaign{padding:8px;gap:4px}}
@media(max-width:460px){#campaign{padding:4px;gap:2px}}
#worldRail .worldChip{width:auto;min-width:0;max-width:none;min-height:0;background:none;border:0;border-bottom:2px solid #394647;padding:5px 12px;font:700 13px Station,sans-serif;letter-spacing:0;box-shadow:none;text-shadow:none;color:#728384;clip-path:none}#worldRail .worldChip:hover,#worldRail .worldChip:focus-visible{background:#1a303a;outline:none;color:#f0c484}#worldRail .worldChip.active{border-color:#e9b35c;color:#f0c484}.stageThumb.bossThumb{background-size:150px auto;background-repeat:no-repeat;background-position:center 18%;background-color:#111c22}.stageCard p{height:48px;overflow:hidden}.stageCard button{font-size:8px}#campaignNote{max-width:95%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#campaign h2{font-size:24px}@media(max-width:760px),(max-height:520px){#worldRail .worldChip{padding:2px 7px;font-size:8px}#campaign h2{font-size:17px}.stageCard p{height:34px}.stageCard button{font-size:6px}}@media(max-width:460px){#worldRail .worldChip{padding:1px 7px}#campaign h2{font-size:12px}.stageCard button{font-size:5px}.stageCard p{height:0}}

/* Image highlight also supplies keyboard focus feedback. */
.menuActions button,.panel button,.menuActions button:hover,.panel button:hover,.menuActions button:focus,.panel button:focus{outline:0!important;outline-offset:0;box-shadow:none}

