.game-shell{--gs-safe-top:env(safe-area-inset-top,0px);--gs-safe-right:env(safe-area-inset-right,0px);--gs-safe-bottom:env(safe-area-inset-bottom,0px);--gs-safe-left:env(safe-area-inset-left,0px);--gs-edge:16px;--gs-control:44px;--gs-hud-gap:16px;--gs-chrome-block:calc(var(--gs-safe-top) + var(--gs-edge) + var(--gs-control));--gs-hud-top:calc(var(--gs-chrome-block) + var(--gs-hud-gap));--gs-exit-inline-end:0px;--gs-touch-reserve:0px;--gs-panel-inline:clamp(360px, 32vw, 420px);--gs-surface:color-mix(in srgb, var(--aml-bg-dark) 88%, transparent);--gs-surface-solid:var(--aml-bg-dark);--gs-border:color-mix(in srgb, var(--aml-text-on-dark) 16%, transparent);--gs-focus:var(--aml-amber);--gs-selected:var(--aml-blue);--gs-danger:#f87171;--screen-keys-z:15;font-family:var(--aml-font-body);box-sizing:border-box;padding:calc(var(--gs-safe-top) + var(--gs-edge)) calc(var(--gs-safe-right) + var(--gs-edge)) 0 calc(var(--gs-safe-left) + var(--gs-edge));grid-template-rows:max-content;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;display:grid}.game-shell *,.game-shell :before,.game-shell :after{box-sizing:border-box}.game-shell :is(button,a,[role=button],input,select,summary):not(.gs-touch *){min-block-size:var(--gs-control);min-inline-size:var(--gs-control)}.game-shell :is(button,a,[role=button],input,select,textarea,summary,[tabindex],[contenteditable],audio[controls],video[controls]):focus-visible:not(.gs-dialog-body,.gs-panel-body){outline:3px solid var(--gs-focus);outline-offset:2px;box-shadow:0 0 0 8px var(--aml-bg-dark)}.game-shell .gs-dialog-body:focus-visible,.game-shell .gs-panel-body:focus-visible{outline:3px solid var(--gs-focus);outline-offset:-5px;box-shadow:inset 0 0 0 8px var(--aml-bg-dark)}.game-shell summary{padding-block:max(0px, calc((var(--gs-control) - 1lh) / 2))}.game-shell :is(button,a){white-space:normal;overflow-wrap:anywhere}.gs-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-shell [data-shell-layer]{position:absolute}.gs-stage{z-index:0;inset:0}.gs-hud{z-index:10;pointer-events:none;inset:0}.gs-hud>*{pointer-events:auto}.gs-touch{z-index:15;pointer-events:none;inset:0}.gs-touch>*{pointer-events:auto}.game-shell .gs-touch button{overflow-wrap:normal;word-break:normal}.game-shell .gs-touch button:lang(ja){word-break:keep-all}.game-shell>[data-shell-layer=chrome]{position:relative}.gs-chrome-start,.gs-chrome-end{z-index:20;pointer-events:none;grid-row:1;align-self:start;align-items:center;gap:8px;display:flex}.gs-chrome-start>*,.gs-chrome-end>*{pointer-events:auto}.gs-chrome-start{grid-column:1;justify-self:start;min-inline-size:0;max-inline-size:100%}.gs-chrome-end{grid-column:2;justify-self:end}.gs-chrome-end>*,.game-shell .gs-exit{flex-shrink:0}.game-shell .gs-exit{white-space:nowrap;overflow-wrap:normal}.gs-title,.gs-chips{background:var(--gs-surface-solid);border-radius:var(--aml-radius-sm);padding:8px}.gs-title{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.gs-chips{white-space:nowrap;gap:8px;min-inline-size:0;display:flex;overflow:hidden}.gs-chips>*{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.gs-chips:empty{display:none}.gs-panels{z-index:30;pointer-events:none;inset:0}.gs-panel{pointer-events:auto;min-block-size:0;max-block-size:calc(100% - var(--gs-hud-top) - var(--gs-safe-bottom) - var(--gs-edge));background:var(--gs-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--gs-border);border-radius:var(--aml-radius-lg);color:var(--aml-text-on-dark);box-shadow:none;flex-direction:column;gap:16px;padding:16px;display:flex;position:absolute}.gs-panel[hidden]{display:none}.gs-panel[data-placement=side]{right:calc(var(--gs-safe-right) + var(--gs-edge));top:var(--gs-hud-top);bottom:calc(var(--gs-safe-bottom) + var(--gs-edge));width:var(--gs-panel-inline)}.gs-panel[data-placement=center]{left:50%;top:calc((var(--gs-hud-top) + 100% - var(--gs-safe-bottom) - var(--gs-edge)) / 2);width:min(440px, calc(100% - var(--gs-safe-left) - var(--gs-safe-right) - 2 * var(--gs-edge)));transform:translate(-50%,-50%)}.gs-panel[data-placement=corner]{left:calc(var(--gs-safe-left) + var(--gs-edge));bottom:calc(var(--gs-safe-bottom) + var(--gs-edge));width:420px}.gs-panel header,.gs-dialog header{flex-shrink:0;align-items:center;gap:8px;display:flex}.gs-panel h2,.gs-dialog h2{flex:1;margin:0;font-size:1.25rem}.gs-panel-body,.gs-dialog-body{overscroll-behavior:contain;padding:8px;margin:-8px;flex-direction:column;gap:8px;min-block-size:0;margin-block-end:-9px;padding-block-end:9px;scroll-padding-block:8px 9px;display:flex;overflow-y:auto}.gs-panel footer,.gs-dialog footer{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gs-primary,.gs-secondary,.gs-option{border-radius:var(--aml-radius-sm);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:inline-flex}.gs-primary{background:var(--aml-highlight);color:var(--aml-highlight-text);border:1px solid var(--aml-highlight)}.gs-primary:hover{background:var(--aml-highlight-hover)}.gs-secondary{background:var(--gs-surface-solid);color:var(--aml-text-on-dark);border:1px solid var(--aml-muted)}.gs-option{background:var(--gs-surface-solid);width:100%;color:var(--aml-text-on-dark);border:2px solid var(--gs-border);text-align:start;flex-wrap:wrap;justify-content:flex-start}.gs-option:hover{border-color:var(--aml-muted)}.gs-option.gs-selected{border-color:var(--gs-selected)}.gs-option-content{flex:1;min-width:0}.gs-badge{color:var(--aml-muted);align-items:center;gap:8px;display:inline-flex}.gs-muted,.game-shell [aria-disabled=true]{color:var(--aml-muted)}.gs-danger{color:var(--gs-danger)}.gs-dialog{width:min(560px, calc(100% - 2 * var(--gs-edge)));max-height:calc(100dvh - var(--gs-safe-top) - var(--gs-safe-bottom) - 2 * var(--gs-edge));border:1px solid var(--gs-border);border-radius:var(--aml-radius-lg);background:var(--gs-surface-solid);color:var(--aml-text-on-dark);margin:auto;padding:16px}.gs-dialog[open]{flex-direction:column;gap:16px;display:flex}.gs-dialog::backdrop{background:#000000a6}.gs-dialog nav.lang-switcher{gap:8px}.gs-toast-layer{z-index:50;bottom:calc(24px + var(--gs-safe-bottom) + var(--gs-touch-reserve));left:calc(var(--gs-safe-left) + var(--gs-edge));right:calc(var(--gs-safe-right) + var(--gs-edge));width:fit-content;max-inline-size:calc(100% - var(--gs-safe-left) - var(--gs-safe-right) - 2 * var(--gs-edge));margin-inline:auto}.gs-toast,.gs-loading{border-radius:var(--aml-radius-sm);background:var(--gs-surface-solid);color:var(--aml-text-on-dark);align-items:center;gap:8px;padding:12px;display:flex}.gs-toast>span,.gs-loading>span{overflow-wrap:anywhere;min-inline-size:0}.game-shell .gs-toast button{overflow-wrap:normal;word-break:normal;flex-shrink:0}.gs-loading>svg{flex-shrink:0}.gs-loading{left:50%;bottom:calc(24px + var(--gs-safe-bottom) + var(--gs-touch-reserve));max-width:calc(100% - 2 * var(--gs-edge));pointer-events:none;position:absolute;transform:translate(-50%)}.gs-static{background:var(--gs-backdrop,var(--aml-bg-dark));place-content:center;display:grid;position:absolute;inset:0}@media (orientation:landscape) and (height<=499px){.game-shell{--gs-edge:8px;--gs-hud-gap:8px;--gs-panel-inline:min(360px, 46vw)}.gs-panel{gap:12px;padding:12px}.gs-panel[data-placement=corner]{width:360px}.gs-chips>:not(:first-child){display:none}}@media (width<=599px) and (orientation:portrait),(width<=599px) and (height>=500px){.game-shell{--gs-edge:12px;--gs-hud-gap:8px;--gs-panel-inline:100%}.gs-title{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.gs-chips{top:var(--gs-hud-top);left:calc(var(--gs-safe-left) + var(--gs-edge));max-width:calc(100% - 2 * var(--gs-edge));white-space:nowrap;text-overflow:ellipsis;position:fixed;overflow:hidden}.gs-panel[data-placement]{width:100%;max-height:58dvh;max-block-size:58dvh;padding:12px 12px calc(12px + var(--gs-safe-bottom));border-radius:22px 22px 0 0;gap:12px;inset:auto 0 0;transform:none}.gs-panel footer>:is(button,a){width:100%}}@media (prefers-reduced-motion:reduce){.game-shell *,.game-shell :before,.game-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.gs-panel{background:var(--gs-surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.gs-panel{background:var(--gs-surface-solid)}}.game-shell .gs-icon{flex-shrink:0;block-size:44px;inline-size:44px;padding:0}.game-shell .gs-exit{flex-shrink:0;block-size:44px;padding-block:0}
