/* V29: one mobile-width experience on every screen. The game can scroll;
   only the redundant horizontal artwork is cropped. */
html{background:#05090d}
body{--phone-width:min(100vw,480px);width:var(--phone-width);margin:0 auto;min-height:100svh;isolation:isolate;background:#080e14;overflow-x:clip}
.backdrop,.hero-open .backdrop,.dust{inset:0 auto 0 50%;width:var(--phone-width);transform:translateX(-50%)}
.top{position:relative;inset:auto;padding:16px 18px;gap:8px;min-width:0}
.brand{min-width:0;gap:7px}
.brand .brand-title,html:not([lang^="zh"]) .brand-title{max-width:145px;font-size:11px;overflow-wrap:anywhere}
.brand .crest{flex:0 0 25px;width:25px;height:32px;font-size:20px}
.top-actions{flex:0 0 auto;gap:5px;flex-wrap:nowrap}
.top-actions #sound{max-width:65px;min-height:36px;padding:6px;white-space:normal;overflow-wrap:anywhere}
.language-picker .language-current{max-width:78px}
.desktop-intro{display:block;position:relative;inset:auto;width:auto;margin:0;padding:24px 20px 0;background:none}
.desktop-intro h1{font-size:clamp(27px,6vw,34px);line-height:1.35;margin:12px 0;letter-spacing:.04em}
.desktop-intro p{font-size:13px;line-height:1.85;margin:0}
.desktop-intro .side-caption{font-size:10px;margin-top:12px}
body.story-in-game .desktop-intro{display:none}
main,.hero-open main{display:block;width:100%;margin:0;min-height:0;padding:24px 20px calc(65px + var(--safe));align-items:initial}
.panel-letter .letter,.panel-guide .guide,html:not([lang^="zh"]) .panel-letter .letter,html:not([lang^="zh"]) .panel-guide .guide{padding:0}
.panel .film{width:100%;margin:0 auto;min-height:0;max-height:none;aspect-ratio:16/9}
.sound-hint{inset-block-start:76px;inset-inline-end:auto;left:50%;transform:translateX(-50%);width:calc(var(--phone-width) - 32px)}
#toast{max-width:calc(var(--phone-width) - 32px)}
@media(min-width:761px){body{--phone-width:min(480px,56.25svh);box-shadow:0 0 50px #0008}}
@media(max-width:760px){
 .top,html:not([lang^="zh"]) .top{position:relative;padding:14px;gap:8px}
 .desktop-intro{padding-top:18px}
 main,.hero-open main{padding-top:20px}
}
