#landscape-gate{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:radial-gradient(ellipse at 50% 25%,#34544b,#101f24 75%);text-align:center}
#landscape-gate[hidden]{display:none}#landscape-gate>small{font:12px "Songti SC",serif;color:#c5ba97;letter-spacing:4px;margin-top:30px}#landscape-gate h2{font:30px "Songti SC",serif;letter-spacing:4px;margin:18px 0}#landscape-gate p{font-size:12px;line-height:1.9;color:#b6c5b7;max-width:310px}#landscape-gate .primary{max-width:290px;justify-content:center;margin:16px 0}#landscape-gate #landscape-hint{font-size:11px;color:#9eb6a8;min-height:44px}.rotate-device{position:relative;width:100px;height:60px;border:2px solid #d6c699;border-radius:9px;box-shadow:0 0 40px #c8dbb315}.rotate-device span{position:absolute;left:7px;right:13px;top:5px;bottom:5px;border:1px solid #9db6a166;border-radius:3px}.rotate-device i{position:absolute;right:-24px;top:-28px;font:45px Georgia;color:#d6c699}.needs-landscape>#touch,.needs-landscape>#hud{visibility:hidden}
@media (pointer:coarse) and (orientation:landscape){
 body{overscroll-behavior:none}button{touch-action:manipulation}#menu{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}
 .brand{top:12px;left:max(22px,env(safe-area-inset-left));font-size:15px;letter-spacing:2px}.brand .seal{width:32px;height:32px;font-size:20px}.brand small{font-size:6px}
 .utilities{top:10px;right:max(16px,env(safe-area-inset-right));gap:5px}.utilities button{padding:7px 9px;min-width:36px;min-height:36px;font-size:10px}.utilities span{margin-left:3px;font-size:9px}
 .intro-copy{padding-top:68px;margin-left:max(24px,env(safe-area-inset-left));width:min(440px,58vw);padding-bottom:25px}.intro-copy .eyebrow{margin-bottom:7px;font-size:9px}.intro-copy h1{font-size:29px;line-height:1.15;margin-bottom:9px}.intro-copy h1 span{display:inline;letter-spacing:3px}.novel-note{font-size:9px;margin-bottom:12px}.choose-label{padding-bottom:8px;margin-bottom:8px}.choose-label small{font-size:8px}
 #majors{grid-template-columns:repeat(7,1fr);gap:4px}.major{height:55px}.major-label{font-size:9px;padding-bottom:5px}.major .sig{display:none}.major-info{padding:10px 0;min-height:62px}.major-info .info-top{margin-bottom:5px}.skill-preview{margin-top:7px}.primary{height:44px}.multiplayer-button{padding:12px;margin:9px 0}.portrait-card,.hero-caption,.menu-footer{display:none}
 .health-block{top:max(12px,env(safe-area-inset-top));width:30vw;max-width:330px}.player-health{left:max(16px,env(safe-area-inset-left))}.enemy-health{right:max(16px,env(safe-area-inset-right))}.fighter-label{margin-bottom:6px}.fighter-label span{font-size:15px;letter-spacing:1px}.fighter-label em{font-size:9px;letter-spacing:0}.health-track{height:6px}.health-details{font-size:9px;margin-top:4px;letter-spacing:0}.stamina-track{margin-top:5px;width:75%}.stamina-label{display:none}
 .stage-hud{top:11px}.stage-hud strong{font-size:12px;letter-spacing:2px;margin:7px 0 5px}.stage-hud small{font-size:8px;letter-spacing:1px}#stage-dots{gap:7px}#room-battle-status{top:60px;font-size:9px;padding:4px 8px}
 .enemy-action{top:86px;font-size:10px;letter-spacing:0;max-width:75vw;white-space:normal;text-align:center;padding:5px 10px}#toast{top:112px;padding:7px 12px;font-size:10px;max-width:65vw}#stage-intro h2{font-size:31px}#stage-intro p{font-size:11px}
 .playing .utilities{top:auto;bottom:max(8px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right));gap:5px}.playing .utilities #sound,.playing .utilities #quality,.playing .utilities #fullscreen,.playing .utilities #camera-mode{display:none}.playing .utilities button{font-size:10px;min-height:32px;padding:6px 9px}.playing .brand,.playing .arena-note,.playing .controls{display:none}
 #joystick{width:96px;height:96px;left:max(30px,env(safe-area-inset-left));bottom:55px}#joystick span{width:38px;height:38px;left:28px;top:28px}
 .touch-actions{right:max(25px,env(safe-area-inset-right));bottom:57px;width:166px;height:121px}.touch-actions button{width:51px;height:51px;font-size:12px}.touch-actions .attack{width:65px;height:65px}
 .bottom-hud{bottom:max(11px,env(safe-area-inset-bottom));left:50%;width:min(430px,53vw)}#skills{gap:5px}.skill{height:66px;max-width:86px;width:20%;padding:6px 2px;gap:4px}.skill kbd{font-size:12px}.skill .skill-name{font-size:10px;letter-spacing:0}.skill .skill-effect{font-size:8px;white-space:normal}.skill.cooling .cooldown{font-size:11px;padding:2px 3px}
 #ally-roster{left:max(16px,env(safe-area-inset-left));top:91px;bottom:auto;width:140px;padding:7px}#ally-roster>div{gap:5px;margin-top:6px}#ally-roster strong,#ally-roster span{font-size:8px}#ally-roster button{min-height:26px}
 #target-switch{right:max(18px,env(safe-area-inset-right));top:88px;bottom:auto;min-height:35px;font-size:11px}#target-switch kbd{display:none}
 #room-panel{padding:12px max(12px,env(safe-area-inset-right));align-items:start}.room-panel-inner{width:min(760px,100%);padding:16px 24px}.room-heading h2{font-size:25px;margin:6px 0}.room-heading small{font-size:9px}.room-lead{margin:7px 0;font-size:11px}.room-members{grid-template-columns:repeat(4,1fr);gap:6px}.room-member{min-height:55px;padding:7px}.room-member img{display:none}.room-member small{font-size:9px}.room-member strong{font-size:11px}.room-footnote{font-size:9px;margin-top:10px;padding-top:8px}.room-code-row{margin:8px 0;padding:8px 0}.room-code-row strong{font-size:25px}.room-count{margin-bottom:8px}.room-panel-inner #room-entry{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;align-items:end}#room-entry label{margin:3px 0}#room-entry .room-divider{display:none}#room-entry #room-create{grid-column:1}#room-entry #room-join{margin-top:0}#room-entry #room-reconnect{grid-column:1/-1}#room-panel input,#room-panel select{padding:8px;min-height:40px;margin-top:6px}#room-code-input{font-size:18px!important}#room-entry #room-code-input{letter-spacing:4px}
 .modal-panel{width:min(610px,88vw);max-height:92dvh;padding:22px 28px}.modal-panel h2{font-size:28px}.modal-panel .subtitle{font-size:12px}
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:360px){.skill{height:58px}.skill .skill-effect{font-size:7px}#joystick{bottom:40px;width:82px;height:82px}#joystick span{left:22px;top:22px}.touch-actions{bottom:43px;transform:scale(.92);transform-origin:bottom right}#ally-roster{max-height:82px;overflow:auto}#toast{top:92px}.enemy-action{top:70px}}
