/* Keep the approved desktop composition inside one invariant design viewport.
   Only the outer stage scales. Existing media queries and vw/vh calculations
   therefore see the same desktop viewport on every device. */
html{ -webkit-text-size-adjust:100%;text-size-adjust:100% }
html.viewport-host,html.viewport-host>body{margin:0;width:100%;min-height:100dvh;overflow-x:hidden;background:#173c3e}
.viewport-host .game-viewport{position:relative;margin:0 auto;width:var(--display-width);height:var(--display-height);overflow:hidden}
.viewport-host .game-design-clip{position:absolute;top:0;left:0;width:941px;height:1672.888889px;overflow:hidden;transform:scale(var(--game-scale));transform-origin:0 0}
.viewport-host .game-design-frame{position:absolute;top:0;left:-1448.5px;display:block;width:3838px;height:1912px;max-width:none;margin:0;padding:0;border:0;background:#173c3e}
.viewport-host .viewport-loading{position:fixed;inset:0;display:grid;place-items:center;color:#fff4dc;font:18px/1.5 serif;pointer-events:none}
.viewport-host.is-game-ready .viewport-loading{display:none}
.viewport-host .viewport-error{position:fixed;inset:20px;z-index:2;display:grid;place-items:center;padding:20px;background:#fff4dc;color:#65452d;text-align:center}
html.design-game-view,html.design-game-view>body{margin:0;overflow:hidden;overscroll-behavior:none}
@media(max-width:900px),(pointer:coarse){
 html.viewport-host,html.viewport-host>body{background:#faf5e9}
}
