/* Surrounding controls only: the game canvas, HUD and menus retain their styling. */
body{background:radial-gradient(ellipse at 50% 0%,#342039 0%,#1b1124 44%,#130e1b 100%);background-attachment:fixed}
.game-header,.missionbar,.game-footer,.field-guide{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.game-header{padding:12px 16px;gap:20px;align-items:center;border:1px solid #66506a77;border-radius:14px;background:linear-gradient(130deg,#33263e,#211b30);box-shadow:inset 0 1px #ffffff0a,0 6px 20px #09050e22;margin-bottom:12px}
.game-header .game-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.game-header .game-brand b{font:850 21px/1.1 Inter,ui-sans-serif,"Segoe UI",Arial,sans-serif;letter-spacing:-.6px;color:#ffe2c0;white-space:nowrap}
.game-header .game-brand>span{font-size:10px;line-height:1.4;font-weight:650;letter-spacing:1.6px;color:#bca9c8}
.game-header nav{flex-wrap:nowrap;gap:8px;flex-shrink:0}
.game-header nav button{min-height:42px;padding:10px 17px;border:1px solid #78618188;border-radius:9px;background:#46364f;color:#f1e8f5;font:650 14px/1.2 Inter,ui-sans-serif,"Segoe UI",Arial,sans-serif;transition:background .15s,border-color .15s}
.game-header nav button:hover{background:#574262;border-color:#a88bb3}
.game-header #fullscreen{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:146px;color:#302033;background:linear-gradient(135deg,#ffe2a4,#f4b08f);border-color:#ffe5ba;box-shadow:inset 0 1px #fff7dfb3,0 3px 10px #0c071d33;font-weight:750}
.game-header #fullscreen:hover{background:linear-gradient(135deg,#ffedbe,#ffc39d);border-color:#fff3d7}
.game-header #fullscreen svg{display:block;flex:none}
.game-header #fullscreen span{font:inherit;letter-spacing:0;color:inherit;margin:0}
.missionbar{align-items:center;gap:20px;line-height:1.4;margin-bottom:12px;padding:0 4px;color:#dacbe3;font-size:12px;font-weight:550}
.missionbar #levelName{min-width:0;overflow-wrap:anywhere;letter-spacing:.2px}
.missionbar #trackName{font:500 12px/1.4 Inter,ui-sans-serif,"Segoe UI",Arial,sans-serif;color:#baa7c7;text-align:right;max-width:40%;flex-shrink:0}
.information:has(#hint:empty){display:none}
.game-footer{display:flex;flex-direction:column;gap:0;margin-top:16px;padding:0;border:1px solid #65506c77;border-radius:12px;background:#231a2c;box-shadow:inset 0 1px #ffffff08;color:#c8b8d4;font-size:13px;line-height:1.5}
.keyboard-controls{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 16px;border-bottom:1px solid #67517255}
.keyboard-controls>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px}
.keyboard-controls kbd{display:inline-block;margin:0;padding:4px 7px;min-width:25px;text-align:center;border:1px solid #72617888;border-radius:5px;background:linear-gradient(#43394c,#302736);box-shadow:0 2px #130e1b;color:#f4eaf9;font:600 11px/1.25 Inter,ui-sans-serif,"Segoe UI",Arial,sans-serif}
.session-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px 8px}
.game-footer #runStats{font-size:11px;font-weight:650;letter-spacing:.5px;color:#e4d1df;white-space:normal}
.game-footer .volume{font:600 13px/1.4 Inter,ui-sans-serif,"Segoe UI",Arial,sans-serif;gap:12px;color:#d4c4df}
.game-footer .volume input{width:108px;height:18px;margin:0;accent-color:#f3bc96;cursor:pointer}
.game-footer #controller{padding:0 16px 12px;font-size:12px;color:#ab99bb}
.field-guide{margin-top:12px;border:1px solid #65506c55;border-radius:10px;background:#211827;color:#cebdd8;font-size:14px;overflow:hidden}
.field-guide>summary{padding:12px 16px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.field-guide>summary::-webkit-details-marker{display:none}
.field-guide>summary::after{content:'+';font-size:20px;line-height:1;color:#e1bba9}
.field-guide[open]>summary::after{content:'−'}
.field-guide>summary:hover{background:#33243d}
.field-guide .enemy-guide{margin:0;padding:4px 12px 12px;gap:8px}
.field-guide .enemy-guide>div{border:1px solid #68506d77;border-radius:9px;background:#2c2036;padding:12px}
.field-guide .enemy-guide b{font-family:inherit;font-size:14px;color:#f1dacc}
.field-guide .enemy-guide span{font-family:inherit;font-size:13px;color:#bfaecb}
@media(max-width:700px){
 .game-header{padding:12px;gap:12px}.game-header .game-brand b{font-size:18px}.game-header .game-brand>span{font-size:9px;letter-spacing:.9px}
 .game-header nav button{padding:9px 12px;font-size:13px}.game-header #fullscreen{min-width:128px;gap:7px}
 .missionbar{gap:8px;font-size:11px}.missionbar #trackName{font-size:11px}
 .keyboard-controls{gap:12px 15px;padding:12px}.session-controls{padding:12px 12px 8px}.game-footer #controller{padding:0 12px 12px}
}
@media(max-width:480px){
 .game-header{flex-wrap:wrap}.game-header .game-brand{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
 .game-header .game-brand>span{max-width:130px;text-align:right;font-size:9px}.game-header nav{width:100%}.game-header nav button{flex:1}.game-header #fullscreen{flex:1.6}
 .missionbar{display:flex;flex-direction:column;align-items:flex-start}.missionbar #trackName{max-width:100%;margin:0;text-align:left}
 .game-footer #runStats{font-size:10px}.field-guide .enemy-guide{grid-template-columns:1fr}
}
@media(pointer:coarse){.game-footer{display:flex}.keyboard-controls{display:none}}
@media(max-height:550px) and (orientation:landscape){
 .game-header{position:fixed;right:6px;top:5px;padding:4px;border-radius:8px;background:#211b30ed;gap:0}.game-header .game-brand{display:none}.game-header nav{width:auto}
 .game-header nav button{min-height:32px;padding:6px 10px;font-size:12px}.game-header #fullscreen{min-width:122px}.game-footer,.field-guide{display:none}
}
@media(prefers-reduced-motion:reduce){.game-header nav button{transition:none}}
.controller-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 12px;flex-wrap:wrap}
.game-footer .controller-row #controller{padding:0;flex:1;min-width:200px}
#controllerSetup{font:600 12px/1.4 Inter,ui-sans-serif,Arial,sans-serif;border:1px solid #78618188;border-radius:7px;background:#382b43;padding:7px 10px;color:#eadff1;white-space:nowrap}
#controllerDialog{width:min(420px,calc(100% - 32px));max-height:80dvh;padding:24px;border:1px solid #8c7096;border-radius:16px;background:#281c34;color:#f5e9f8;box-shadow:0 20px 70px #0009;font:15px/1.5 Inter,ui-sans-serif,Arial,sans-serif;text-align:left;z-index:10}
#controllerDialog::backdrop{background:#0b0713aa}
#controllerDialog h2{font-size:20px;margin:0 0 12px}#controllerDialog p{margin:12px 0;color:#d0bddc}
#controllerDialog #controllerStep{color:#ffdda4;font-weight:700;min-height:24px}
#controllerDialog>div{display:flex;gap:10px;margin-top:20px}#controllerDialog button{border-radius:8px;font:600 14px/1.4 Inter,ui-sans-serif,Arial,sans-serif;padding:9px 14px}
#controllerBegin{background:#ffdaab;color:#302033;border-color:#ffe8c9}
