.mobile-only{display:none}.joystick i,.control-center,.move-control>small,.dash-control>small{display:none}
body.mobile-game{height:100vh;height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column;background:#292333;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mobile-game .mobile-only{display:block}.mobile-game .site-header{flex-shrink:0;width:100%;max-width:none;height:calc(58px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));margin:0;background:#f7f5ef;flex-wrap:nowrap;border:0;gap:8px}
.mobile-game .brand{gap:9px}.mobile-game .brand strong{font-size:17px;letter-spacing:1px}.mobile-game .brand small{font-size:6px;letter-spacing:1.8px}.mobile-game .brand-icon{width:26px;height:26px}.mobile-game .site-header nav{display:none}.mobile-game .sound-button{margin-left:auto;min-width:44px;height:40px;padding:10px;border-color:#dbd9ce;font-size:10px}.mobile-game .sound-button #sound-label{font-size:9px}
.mobile-game main{width:100%;max-width:none;padding:0;margin:0;flex:1;min-height:0;overflow:hidden}.mobile-game .intro,.mobile-game .sidebar,.mobile-game .dashboard,.mobile-game .loadout-section,.mobile-game footer,.mobile-game .controls-strip{display:none}
.mobile-game #game-view,.mobile-game .play-layout,.mobile-game .game-shell{height:100%;min-height:0;width:100%;margin:0}.mobile-game .play-layout{display:block}.mobile-game .game-shell{border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;background:#292333}.mobile-game .window-bar{height:28px;min-height:28px;padding:0 15px;background:#332b3c;color:#a898ac;border:0}.mobile-game .window-title{font-size:7px;letter-spacing:.7px}.mobile-game .floor-label{font-size:8px}.mobile-game .window-light{height:4px;width:4px}
.mobile-game .arena-wrap{flex:1;min-height:0;width:100%;aspect-ratio:auto;overflow:hidden;background:#2a2435;touch-action:none}.mobile-game .arena-wrap:after{z-index:1;opacity:.4}
.mobile-game #game-canvas{position:absolute;top:76px;left:0;width:100%;height:calc(100% - 224px - env(safe-area-inset-bottom));object-fit:fill;touch-action:none}
.mobile-game[data-game-state=ready] #game-canvas{top:0;height:100%;opacity:.7}
.mobile-game .hud{top:12px;left:14px;right:14px;gap:8px;z-index:4}.mobile-game .health-block{padding:7px 9px;gap:7px;background:transparent;border:0}.mobile-game .health-block>div{width:108px}.mobile-game .health-block svg{width:16px;height:16px}.mobile-game .hp-title{font-size:9px;margin-bottom:6px}.mobile-game .hp-title b{font-size:8px}.mobile-game .meter{height:6px}.mobile-game .run-clock{font-size:18px;padding:7px 9px;border:0;background:transparent}.mobile-game .square-button{height:42px;width:42px;border-color:#74617c;border-radius:8px;background:#42334c}.mobile-game .square-button svg{width:16px;height:16px}
.mobile-game .mobile-objective{position:absolute;top:57px;left:0;right:0;text-align:center;font-size:10px;color:#d0bacd;letter-spacing:.4px;z-index:4;pointer-events:none}.mobile-game[data-game-state=ready] .mobile-objective{display:none}.mobile-game .xp-bar{top:74px;bottom:auto;height:3px;background:#292333;z-index:4}.mobile-game .boss-hud{top:84px;width:210px;z-index:4}.mobile-game .boss-hud span{font-size:10px}.mobile-game .boss-hud .meter{height:5px}
.mobile-game .touch-controls{left:0;right:0;bottom:0;height:calc(148px + env(safe-area-inset-bottom));padding:13px max(22px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#32293c,#251e2f);border-top:1px solid #51435c;z-index:6;pointer-events:none;touch-action:none}
.mobile-game .move-control,.mobile-game .dash-control{display:flex;align-items:center;flex-direction:column;gap:8px}.mobile-game .move-control>small,.mobile-game .dash-control>small{display:block;font-size:10px;color:#b8a2be;letter-spacing:1px}.mobile-game .joystick{height:96px;width:96px;border:2px solid #b99cba8c;background:radial-gradient(circle,#594364 0%,#42334e 65%,#33283d 66%);box-shadow:inset 0 0 0 6px #ffffff06,0 3px 0 #1b1724;pointer-events:auto;position:relative;touch-action:none;cursor:grab}.mobile-game .joystick span{width:42px;height:42px;left:25px;top:25px;border:2px solid #f2d3e2aa;background:#c398b9;border-radius:50%;box-shadow:0 4px 0 #261f3a44;z-index:2}.mobile-game .joystick i{display:block;position:absolute;inset:0;text-align:center;line-height:90px;font-size:58px;color:#a487aa33;font-style:normal;pointer-events:none}.mobile-game .joystick.is-dragging{border-color:#f3c1d9}.mobile-game .control-center{display:flex;flex-direction:column;gap:5px;text-align:center;padding:0 5px;color:#c4a7bf}.mobile-game .control-center b{font:10px var(--mono);letter-spacing:2px;color:#b6d6a2}.mobile-game .control-center>span{font-size:10px}.mobile-game .control-center small{font-size:9px;margin-top:7px;color:#8d7b9c}.mobile-game #touch-dash{width:78px;height:78px;border-radius:50%;border:2px solid #efb1ce;color:#fff5e7;font-size:17px;font-weight:700;background:linear-gradient(#c785a8,#9f618a);box-shadow:0 5px 0 #56354e,inset 0 0 0 5px #f4b9d315;pointer-events:auto;touch-action:none}.mobile-game #touch-dash:active{transform:translateY(3px);box-shadow:0 2px 0 #56354e}.mobile-game #touch-dash:disabled{background:#544359;border-color:#8d7193;color:#ba9cba;box-shadow:0 5px 0 #302337;opacity:.75}
.mobile-game .start-screen{inset:0;padding:18px 26px max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;text-align:center;overflow-y:auto;background:linear-gradient(#282235d9,#282235ab 35%,#282235f5 85%);z-index:3}.mobile-game .start-copy{width:100%;max-width:350px;padding:8px 0}.mobile-game .small-tag{font-size:7px;letter-spacing:1.2px;padding:6px 8px}.mobile-game .start-copy h2{font-size:48px;line-height:1.16;letter-spacing:5px;width:fit-content;margin:18px auto 8px}.mobile-game .start-copy h2 span{display:block;margin-top:3px}.mobile-game .start-copy h2 i{font-size:24px;right:-29px;top:5px}.mobile-game .pixel-subtitle{font-size:8px;letter-spacing:3px;margin:12px 0}.mobile-game .mobile-princess{width:80px;height:80px;margin:18px auto 12px;border:3px solid #e8afc3;border-radius:8px;box-shadow:4px 4px #1d172b55;transform:rotate(-3deg)}.mobile-game .start-copy p{font-size:12px;line-height:1.85;color:#e0cad9;margin:14px 0 17px}.mobile-game .mobile-modes{display:flex;gap:9px;margin:0 0 15px}.mobile-game .mobile-modes .difficulty{min-height:44px;flex:1;border:1px solid #87718e;background:#352b42;color:#c5b4cc;font-size:11px;border-radius:6px;padding:10px}.mobile-game .mobile-modes .difficulty span{font-size:9px;margin-left:6px}.mobile-game .mobile-modes .difficulty.active{border-color:#d9afc6;background:#66485f;color:#f9d4e6}.mobile-game #start-button{width:100%;min-height:56px;justify-content:center;gap:12px;font-size:16px;font-weight:800;letter-spacing:1px;border-radius:7px;padding:15px 12px}.mobile-game #start-button svg{width:14px;height:14px}.mobile-game #start-button .button-arrow{font-size:19px;margin-left:7px}.mobile-game .mobile-hint{font-size:11px;letter-spacing:.3px;color:#bea9c0;margin:18px 0 8px}.mobile-game .mobile-links{display:flex;justify-content:center;gap:18px}.mobile-game .mobile-links button{font-size:11px;color:#ba9cb5;background:transparent;border:0;min-height:40px;padding:9px 8px}.mobile-game .start-hint,.mobile-game .speech-bubble,.mobile-game .map-label,.mobile-game .arena-bottom{display:none}
.mobile-game .modal-layer{position:absolute;padding:20px 16px;z-index:10;touch-action:pan-y}.mobile-game .game-modal{max-width:380px;max-height:100%;overflow-y:auto;padding:23px 18px;border-radius:10px;border:2px solid #a5819e}.mobile-game .game-modal .modal-eyebrow{font-size:8px;letter-spacing:1.5px}.mobile-game .game-modal h2{font-size:22px;line-height:1.45;margin:12px 0}.mobile-game .game-modal>p{font-size:12px;line-height:1.7;margin:9px 0 18px}.mobile-game .upgrade-options{display:flex;flex-direction:column;gap:10px}.mobile-game .upgrade-option{position:relative;text-align:left;min-height:88px;padding:14px 15px 14px 72px;border-radius:7px}.mobile-game .upgrade-option .upgrade-num{position:absolute;left:11px;top:22px;font-size:8px;max-width:47px;text-align:center;line-height:1.9}.mobile-game .upgrade-option strong{font-size:15px;margin-bottom:5px}.mobile-game .upgrade-option small{font-size:11px;line-height:1.65;min-height:0}.mobile-game .modal-actions{gap:10px}.mobile-game .modal-actions button{min-height:48px;padding:12px 14px;font-size:13px;border-radius:6px}.mobile-game .result-stats{gap:24px;margin:20px 0 26px}.mobile-game .result-stats b{font-size:21px}.mobile-game .result-stats span{font-size:10px}.mobile-game .toast{bottom:calc(158px + env(safe-area-inset-bottom));max-width:92%;width:max-content;font-size:11px;padding:9px 12px;border-radius:5px;white-space:normal;z-index:11}.mobile-game .secondary-view{height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);padding:28px 18px 35px;touch-action:pan-y}.mobile-game .secondary-heading h2{font-size:21px}.mobile-game .secondary-heading p{font-size:11px;line-height:1.7}.mobile-game .bestiary{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.mobile-game .enemy-card{padding:15px}.mobile-game .enemy-card canvas{width:80px;height:80px}.mobile-game .enemy-card h3{font-size:14px}.mobile-game .enemy-card p{font-size:11px}.mobile-game .guide-grid{grid-template-columns:1fr;gap:12px}.mobile-game .guide-grid article{padding:20px}.mobile-game .text-button{min-height:48px;font-size:13px}.mobile-game .guide-note{font-size:11px;line-height:1.7}
@media(max-height:720px){.mobile-game .mobile-princess{width:56px;height:56px;margin:10px auto}.mobile-game .start-copy h2{font-size:38px;margin-top:10px}.mobile-game .start-copy p{font-size:11px;margin:10px 0 12px}.mobile-game .pixel-subtitle{margin:8px 0}.mobile-game .mobile-links{margin-top:0}.mobile-game .start-screen{padding-top:10px;padding-bottom:10px}.mobile-game .start-copy{padding:0}}
@media(orientation:landscape) and (max-height:600px){.mobile-game .site-header{height:40px;padding:4px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left))}.mobile-game .brand strong{font-size:14px}.mobile-game .brand small{display:none}.mobile-game .brand-icon{width:22px;height:22px}.mobile-game .sound-button{height:32px}.mobile-game .window-bar{display:none}.mobile-game #game-canvas{top:0;height:100%}.mobile-game .touch-controls{height:112px;background:transparent;border:0;bottom:0;padding:8px 23px;align-items:center}.mobile-game .joystick{height:80px;width:80px}.mobile-game .joystick span{left:17px;top:17px}.mobile-game .joystick i{line-height:74px}.mobile-game .move-control>small,.mobile-game .dash-control>small,.mobile-game .control-center{display:none}.mobile-game #touch-dash{width:67px;height:67px;font-size:15px}.mobile-game .hud{top:6px}.mobile-game .health-block{background:#282131ba;border-radius:5px}.mobile-game .run-clock{background:#282131ba;border-radius:5px}.mobile-game .mobile-objective{top:9px;left:auto;right:75px;width:180px;font-size:9px}.mobile-game .xp-bar{top:auto;bottom:0}.mobile-game .boss-hud{top:52px}.mobile-game .start-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;max-width:650px;text-align:left;align-items:center}.mobile-game .small-tag{grid-column:1;font-size:6px;width:fit-content}.mobile-game .start-copy h2{grid-column:1;font-size:37px;margin:10px 0 6px;grid-row:2/4}.mobile-game .pixel-subtitle{grid-column:1;margin:7px 0}.mobile-game .mobile-princess{display:none}.mobile-game .start-copy p{grid-column:2;grid-row:1/3;font-size:11px;margin:0 0 8px}.mobile-game .mobile-modes{grid-column:2;grid-row:3;margin:0 0 12px}.mobile-game #start-button{grid-column:2;grid-row:4;min-height:48px;font-size:14px}.mobile-game .mobile-hint{grid-column:1;font-size:10px;margin:5px 0}.mobile-game .mobile-links{grid-column:2;margin:0}.mobile-game .modal-layer{padding:10px 18px}.mobile-game .game-modal{max-width:600px;padding:14px 20px}.mobile-game .game-modal h2{font-size:19px;margin:6px 0}.mobile-game .game-modal>p{font-size:11px;margin:6px 0 12px}.mobile-game .upgrade-options{flex-direction:row}.mobile-game .upgrade-option{padding:13px 10px;flex:1}.mobile-game .upgrade-option .upgrade-num{position:static;max-width:none;text-align:left}.mobile-game .upgrade-option strong{font-size:13px}.mobile-game .upgrade-option small{font-size:10px}.mobile-game .result-stats{margin:10px 0 15px}.mobile-game .toast{bottom:20px;font-size:10px}}
