/* Direct-link play in the browser; installation remains optional. */
html,body{width:100%;min-height:100%;overflow-x:hidden}
#rotateNotice{display:none!important}
#home.active{position:relative;display:flex;flex-direction:column;min-height:100dvh;height:100dvh;overflow:hidden;padding:0}
#home>.frame{position:relative;flex:1;min-height:0;width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:auto;top:auto;transform:none;margin:0;background:#12271e;display:flex;align-items:center;justify-content:center}
#home>.frame>.art{width:100%;height:100%;min-height:0;object-fit:contain!important;object-position:center!important}
#home>.actions{position:relative;flex:none;left:auto;bottom:auto;transform:none;width:100%;height:auto;min-height:76px;display:flex;justify-content:center;align-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#12271e;z-index:20}
#home>.actions>.sub{display:none}
#musicToggle{top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important}
@media(orientation:portrait){
 html,body{height:auto;overflow-y:auto}
 #welcome.active{display:block;height:auto;min-height:100dvh;overflow:visible;padding:66px 0 16px}
 #welcome>.boss-scene{display:block;position:relative;width:100%;height:auto;max-height:none;max-width:none;aspect-ratio:auto;top:auto;transform:none;overflow:hidden}
 #welcome>.boss-scene>.art{display:block;width:100%;height:auto;min-height:0;object-fit:fill}
 #welcome .dialogue{position:relative;top:auto;right:auto;width:auto;max-height:none;min-height:0;margin:0 12px;padding:20px;border-radius:18px;border-width:3px;overflow:visible}
 #welcome .dialogue:before{display:none}
 #welcome #speech{font-size:20px;height:6.5em;min-height:6.5em;max-height:6.5em;line-height:1.4}
 #welcome .dialogue-footer button{min-height:48px}
 #welcome>.actions{position:relative;left:auto;bottom:auto;max-width:none;width:100%;height:auto;padding:12px;background:transparent;display:flex;flex-wrap:wrap;justify-content:center}
 #welcome>.actions #replay,#welcome>.actions #hearLine,#welcome>.actions #audioToggle,#welcome>.actions #voiceChoice,#welcome>.actions>.sub{display:none}
 #welcome>.actions.settings-open #replay,#welcome>.actions.settings-open #hearLine,#welcome>.actions.settings-open #audioToggle,#welcome>.actions.settings-open #voiceChoice{display:block}
 #map.active{height:auto;min-height:100dvh;overflow:auto;padding:76px 16px 90px}
 #mapStage{position:relative;top:auto;left:auto;transform:none;width:100%;aspect-ratio:auto;display:grid;gap:14px}
 #mapArt{border-radius:16px}
 #mapStage .stage-hit{position:relative;top:auto;left:auto;width:100%;height:auto;min-height:58px;display:flex;align-items:center}
 #mapStage .stage-callout{display:block;width:100%;padding:17px 12px;font-size:16px;transform:none;white-space:normal}
 #map .map-back{position:absolute;bottom:20px}
 #breakfastBrief{position:fixed;padding:12px}
 .brief-card{display:flex;flex-direction:column;max-height:90dvh;width:100%}
 .brief-copy{padding:25px 22px}
 .brief-card>img{height:180px;object-fit:cover;order:2}
}
