/* All player UI belongs to the same scene, including native top-layer dialogs. */
.game-window-custom{position:relative;isolation:isolate}
.game-window-toolbar.game-custom-toolbar{inset:auto 78px 12px auto;width:auto;height:auto;padding:0;background:none;z-index:45}
.game-custom-page dialog.game-menu,.game-custom-page dialog.game-status{position:fixed;inset:auto;left:var(--gw-center-x,50vw);top:var(--gw-center-y,50vh);transform:translate(-50%,-50%);margin:0;width:min(880px,var(--gw-panel-width,calc(100vw - 36px)));max-width:var(--gw-panel-width,calc(100vw - 36px));height:min(620px,var(--gw-panel-height,calc(100dvh - 70px)));max-height:var(--gw-panel-height,calc(100dvh - 70px));padding:0;overflow:hidden;background:linear-gradient(125deg,#193c37f9,#112b2afb);border:1px solid #cbb477;border-radius:8px;box-shadow:0 10px 40px #0008;color:#f3e8ce;font:14px/1.65 Georgia,serif}
.game-custom-page dialog.game-menu::backdrop,.game-custom-page dialog.game-status::backdrop{background:transparent}
.game-window.battle-transitioning>:not(.battle-transition-layer){pointer-events:none!important}
body.game-player-page{box-sizing:border-box;display:grid;place-items:center;padding:16px;margin:0;min-height:100dvh;background:radial-gradient(ellipse at 50% 35%,#283c37,#081311 75%);color:#f0e6cd}
.game-player-page main.game-player-shell{display:block!important;width:min(100%,1400px,calc((100dvh - 34px)*var(--gw-aspect,1.77778)));max-width:none;min-height:0;height:auto;margin:0;padding:0;gap:0}
body:has(#battle).game-player-page main.game-player-shell{--gw-aspect:1.777778}
.game-player-page .game-window{position:relative;display:block;width:100%;aspect-ratio:var(--gw-aspect,1.77778);border:1px solid #c3ad70;border-radius:10px;background:#071816;box-shadow:0 0 0 3px #102b28,0 0 0 4px #527068,0 22px 80px #0009;overflow:hidden;isolation:isolate}
.game-player-page .game-window-stage{position:absolute;inset:0;overflow:hidden}
.game-player-page canvas.game-window-canvas{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:fill;border:0;border-radius:0;image-rendering:pixelated;outline:none;touch-action:none}
/* Battle pixels fill the entire frame; every control is an in-frame overlay. */
.game-player-page .game-window.battle-frame{display:block;aspect-ratio:auto;height:calc(100dvh - 34px);min-height:0;--battle-side-width:192px}
.game-player-page .game-window.battle-frame .game-window-stage{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.game-player-page .game-window.battle-frame canvas.game-window-canvas{object-fit:fill}
body:has(#battle).game-player-page main.game-player-shell{width:100%;max-width:none}
.game-window-toolbar{position:absolute;z-index:15;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;height:58px;padding:8px 16px;background:linear-gradient(#061b19eb,#0b2422b8,transparent);pointer-events:none}
.game-window-title{display:flex;align-items:center;gap:10px;text-shadow:0 2px 4px #000b;min-width:0}.game-window-title>div{display:grid;gap:1px}.game-window-sigil{font-size:26px;color:#e0c990}.game-window-brand{font:9px/1.4 system-ui;letter-spacing:.17em;text-transform:uppercase;color:#d6c69e}.game-window-area{font:18px/1.2 Georgia,serif;color:#f6ecd4;font-weight:normal}.game-window-title #scene-subtitle{margin:0;font:9px/1.2 system-ui;color:#e3d6b1;letter-spacing:.08em;text-transform:uppercase}
.game-window button,.game-window a{color:#f2e4c4;background:linear-gradient(140deg,#294944,#163330);border:1px solid #967e4f;border-radius:5px;padding:9px 14px;font:12px/1.4 system-ui;text-decoration:none;cursor:pointer}.game-window button:hover,.game-window a:hover{background:#355b53;color:#fff4d5;border-color:#d2b876}.game-window button:disabled{opacity:.45;cursor:default}.game-window button:focus-visible,.game-window a:focus-visible,.game-window select:focus-visible,.game-window input:focus-visible{outline:2px solid #ffe1a2;outline-offset:3px}.game-window [hidden]{display:none!important}
.game-window .game-window-menu-button{pointer-events:auto;background:#173633ed;box-shadow:0 2px 8px #0005;font-size:12px;padding:8px 14px;white-space:nowrap}
.game-window-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.game-window .game-window-status-button{border-color:#bda86d;background:linear-gradient(135deg,#385d50ee,#173833ee);color:#ffe3a9}
.game-window-caption{position:absolute!important;inset:auto 0 0!important;z-index:9;display:flex;align-items:center;justify-content:space-between;margin:0!important;padding:9px 15px!important;border:0!important;background:linear-gradient(transparent,#071d1beb)!important;font:10px/1.45 system-ui!important;color:#e7dfc7!important;pointer-events:none;min-height:35px}.game-window-caption span:first-child{color:#e4d4a5!important}.game-window-caption #coordinates{display:none}
.game-window-interactions{position:absolute;right:16px;bottom:43px;display:flex;align-items:center;gap:8px;z-index:14}.game-window-interactions button,.game-window-interactions a{background:#173531e8;box-shadow:0 2px 9px #0006;max-width:260px}
.game-window .game-window-dpad{position:absolute!important;z-index:12;left:17px;bottom:44px;width:106px;height:106px;margin:0!important;display:grid!important;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,32px);gap:5px;opacity:.8}.game-window-dpad button{padding:0!important;width:32px;height:32px;min-height:0;background:#173632cc;font-size:18px}.game-window-dpad .up{grid-area:1/2}.game-window-dpad .left{grid-area:2/1}.game-window-dpad .down{grid-area:2/2}.game-window-dpad .right{grid-area:2/3}
.game-window-loading{position:absolute;z-index:20;bottom:10px;left:15px;right:15px;margin:0;padding:9px 14px;background:#102e2ced;border:1px solid #b6a16d;border-radius:5px;font:12px/1.5 system-ui;color:#e7e2cc;pointer-events:none}
.game-window::after{content:'';position:absolute;inset:0;z-index:24;pointer-events:none;background:#041514b5;opacity:0;transition:opacity .12s}.game-window.game-window-modal::after{opacity:1}
.game-player-page .game-window-legacy{display:none!important}
.game-player-page dialog.game-window-dialog{position:fixed;inset:auto;left:var(--gw-center-x,50vw);top:var(--gw-center-y,50vh);transform:translate(-50%,-50%);margin:0;width:min(720px,var(--gw-panel-width,calc(100vw - 36px)));max-width:var(--gw-panel-width,calc(100vw - 36px));max-height:var(--gw-panel-height,calc(100dvh - 70px));overflow:auto;padding:24px;background:linear-gradient(125deg,#193c37f9,#112b2afb);border:1px solid #cbb477;border-radius:8px;box-shadow:0 10px 40px #0008;color:#f3e8ce;font:14px/1.65 Georgia,serif}
.game-player-page dialog.game-window-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}
.game-window-dialog h2{font:26px/1.2 Georgia,serif;color:#f4dca1;font-weight:normal;margin:0 0 14px}.game-window-dialog h3{font:18px/1.4 Georgia,serif;color:#e8d4a0;font-weight:normal;margin:16px 0 8px}.game-window-dialog .eyebrow{font:10px/1.5 system-ui;letter-spacing:.14em;color:#bcd1c0;text-transform:uppercase;margin:0 0 5px}.game-window-dialog p{line-height:1.6}.game-window-dialog canvas:not(.game-window-canvas){max-width:100%;height:auto}.game-window-dialog .dialog-head{display:flex;justify-content:space-between;gap:16px}.game-window-dialog .dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.game-window-dialog .small{font:11px/1.65 system-ui;color:#b6c9bf}.game-window-dialog .dream-art{max-height:calc(var(--gw-height,600px)*.31);overflow:hidden;text-align:center}.game-window-dialog .dream-art img{max-width:100%;max-height:calc(var(--gw-height,600px)*.31);object-fit:contain}
.game-player-page dialog.game-menu{width:min(880px,var(--gw-panel-width));padding:0;overflow:hidden;max-height:var(--gw-panel-height);height:min(620px,var(--gw-panel-height))}
.game-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px;border-bottom:1px solid #b6a16766;background:#1b4039}.game-menu-heading h2{font-size:24px;margin:0}.game-menu-heading .game-menu-close{background:#2d5144;white-space:nowrap}
.game-menu-body{height:calc(100% - 84px);display:grid;grid-template-columns:165px minmax(0,1fr);min-height:0}.game-menu-tabs{display:flex!important;flex-direction:column;gap:8px;padding:18px 12px;background:#0e2928;border-right:1px solid #57706266}.game-menu-tabs .game-menu-tab{display:block;text-align:left;padding:11px 13px;background:transparent;border:1px solid transparent}.game-menu-tabs .game-menu-tab[aria-pressed=true]{background:linear-gradient(110deg,#59705d55,#37554b88);color:#ffe1a2;border-color:#ab946166;box-shadow:inset 3px 0 #d9bc7d}.game-menu-panels{overflow:auto;min-height:0;padding:18px 23px;scrollbar-color:#a39165 #102b29}.game-menu-panel{min-width:0}.game-menu-panel>aside.game-menu-journey{display:block!important;margin:0;padding:0;border:0;background:transparent;position:static;min-width:0;max-width:none;box-shadow:none}.game-menu-panel>aside h2{font-size:24px;margin:0 0 12px}.game-menu-panel .intro{font-size:14px}.game-menu-panel .divider{margin:17px 0;height:1px;background:#79928355}.game-menu-panel .party{display:flex;gap:7px}.game-menu-panel .party canvas{width:65px;height:74px;image-rendering:pixelated;background:#1e443c;border-radius:5px}.game-menu-panel .hero-panel{display:flex;align-items:center;gap:13px;margin:14px 0}.game-menu-panel .hero-panel canvas{width:70px;height:80px;image-rendering:pixelated;background:#274c42;border:1px solid #7a916d;border-radius:5px}.game-menu-panel .hero-panel h3{margin:0 0 3px}.game-menu-panel .resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-menu-panel .resources>div{display:flex;justify-content:space-between;gap:10px;border:1px solid #58726380;background:#183b35;padding:9px 12px;border-radius:4px;font:12px/1.4 system-ui}.game-menu-panel .resources dt{color:#c9d4be}.game-menu-panel .resources dd{margin:0;color:#f3db9e}.game-menu-panel .town-wallet{display:flex;gap:15px;align-items:center;padding:12px;border:1px solid #776d4580;background:#2a4031}.game-menu-panel .town-wallet strong{color:#f2d085}.game-menu-panel #coordinates{font:10px system-ui;color:#a2b9af}.game-menu-panel .legend{list-style:none;margin:0;padding:0}.game-menu-panel .legend li{padding:8px 0;border-bottom:1px solid #79928340}.game-menu-panel .legend strong{font-weight:normal;color:#efcf95}.game-menu-panel .legend span{display:block;color:#bcd0c1;font:12px/1.5 system-ui}.game-menu-panel .traveler{display:flex;align-items:center;gap:13px}.game-menu-panel .traveler canvas{width:64px;height:80px;image-rendering:pixelated}.game-menu-group{padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid #79928355}.game-menu-group:last-child{border:0;margin:0}.game-menu-group>h3{margin:0 0 11px}.game-menu-group>button,.game-menu-group>a{display:inline-block;margin:4px 7px 4px 0}.game-menu-group .check{display:flex;align-items:center;gap:8px;margin:13px 0}.game-menu-note{font:12px/1.75 system-ui;color:#bacfc2;margin:13px 0}.game-menu .zoom-controls,.game-menu .map-zoom-controls,.game-menu .town-zoom-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:12px 0;border:0;background:transparent}.game-menu .zoom-controls input,.game-menu .map-zoom-controls input{flex:1;min-width:100px;accent-color:#d2b274}.game-menu .zoom-controls span{width:100%;font:11px/1.5 system-ui;color:#b6c8b8}.game-menu select{display:block;max-width:100%;margin:6px 0 12px;padding:9px 13px;color:#eeddbd;background:#15332e;border:1px solid #8d8558;border-radius:4px}.game-menu .controller-bar{display:flex;flex-wrap:wrap;gap:8px;background:#173a33;border:1px solid #68857555;border-radius:5px;margin:14px 0 0;padding:12px;font:11px/1.6 system-ui;color:#c4d5bf}.game-menu .controller-bar button{padding:7px 12px}.game-menu .audio-controls{display:flex;gap:12px;align-items:center;font:12px system-ui;margin:12px 0}.game-menu .audio-controls input{flex:1;accent-color:#d6b570}.game-menu #audio-status{font:11px/1.6 system-ui;color:#bcd2bc}
.game-player-page #dialogue.npc-dialogue,.game-player-page #talk-dialog.npc-dialogue.game-window-dialog{position:fixed;left:var(--gw-center-x);top:auto;bottom:auto;transform:translateX(-50%);inset:auto;left:var(--gw-center-x);top:calc(var(--gw-top) + var(--gw-height) - 12px);transform:translate(-50%,-100%);width:calc(var(--gw-width) - 24px);max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;z-index:30}
.game-player-page #dialogue.npc-dialogue .npc-dialogue-bubble,.game-player-page #talk-dialog.npc-dialogue .npc-dialogue-bubble{max-height:calc(var(--gw-height)*.44);overflow:auto;padding:17px 23px;background:linear-gradient(120deg,#143830f7,#153533fc);border:2px solid #d3bb7b;box-shadow:0 5px 18px #0006;border-radius:6px;font-size:16px}.game-player-page .npc-dialogue-bubble h2{margin:3px 0 7px;font-size:24px}.game-player-page .npc-dialogue-bubble p{margin:0 0 9px;font-size:16px;line-height:1.55}.game-player-page .npc-dialogue-portrait{position:absolute;left:15px;bottom:calc(100% - 2px);width:min(330px,calc(var(--gw-width)*.31));height:var(--gw-portrait-height,calc(var(--gw-height)*.42));margin:0;z-index:0}.game-player-page .npc-portrait-image{width:100%;height:100%;object-fit:contain;object-position:left bottom}.game-player-page .npc-dialogue-bubble #speaker-role,.game-player-page .npc-dialogue-bubble .eyebrow{font:10px/1.4 system-ui;text-transform:uppercase;color:#c0d4c0}.game-player-page #talk-dialog:not([open]){display:none}.game-player-page #dialogue[hidden]{display:none!important}
.game-window .menu-buttons button,.game-window .menu-buttons button:hover,.game-window .menu-buttons button:focus{border:0;border-radius:0;background:transparent;color:transparent;padding:0;opacity:0;box-shadow:none}
.game-player-page .game-window:fullscreen{width:min(100vw,calc(100dvh*var(--gw-aspect)));height:min(100dvh,calc(100vw/var(--gw-aspect)));max-width:none;max-height:none;aspect-ratio:var(--gw-aspect);border:0;border-radius:0;margin:auto;box-shadow:none}.game-window:fullscreen::backdrop{background:#020b09}
.game-player-page .game-window.battle-frame:fullscreen{width:100vw;height:100dvh;max-width:none;max-height:none;aspect-ratio:auto}
@media(max-width:700px){body.game-player-page{padding:7px}.game-player-page main.game-player-shell{width:min(100%,calc((100dvh - 16px)*var(--gw-aspect,1.77778)))}.game-window-toolbar{height:42px;padding:5px 10px}.game-window-brand{font-size:7px}.game-window-area{font-size:14px}.game-window-sigil{font-size:20px}.game-window-title{gap:6px}.game-window .game-window-menu-button{font-size:10px;padding:6px 10px}.game-window-interactions{right:10px;bottom:31px}.game-window-interactions button,.game-window-interactions a{font-size:10px;padding:7px 10px;max-width:190px}.game-window-caption{font-size:8px!important;padding:6px 10px!important;min-height:26px}.game-window .game-window-dpad{transform:scale(.78);transform-origin:left bottom;left:9px;bottom:31px}.game-player-page dialog.game-window-dialog{padding:16px;font-size:12px}.game-window-dialog h2{font-size:21px}.game-menu-heading{padding:11px 14px}.game-menu-heading h2{font-size:20px}.game-menu-heading .game-menu-close{font-size:10px;padding:7px 10px}.game-menu-body{height:calc(100% - 67px);grid-template-columns:116px minmax(0,1fr)}.game-menu-tabs{padding:10px 7px;gap:4px}.game-menu-tabs .game-menu-tab{padding:9px 7px;font-size:10px}.game-menu-panels{padding:11px 14px}.game-menu-panel .resources{grid-template-columns:1fr}.game-menu-panel>aside h2{font-size:20px}.game-player-page .npc-dialogue-bubble h2{font-size:19px}.game-player-page .npc-dialogue-bubble p{font-size:13px;line-height:1.4}.game-player-page #dialogue.npc-dialogue .npc-dialogue-bubble,.game-player-page #talk-dialog.npc-dialogue .npc-dialogue-bubble{padding:11px 14px}.game-player-page .npc-dialogue-portrait{left:8px;width:calc(var(--gw-width)*.32)}.game-player-page .npc-dialogue-bubble button{font-size:10px;min-height:28px;padding:6px 9px}.game-player-page #dialogue.npc-dialogue .npc-dialogue-bubble{display:block}.game-player-page .npc-dialogue-bubble .dialogue-actions{display:flex;flex-direction:row;gap:8px;margin-top:6px}}
@media(max-height:500px){body.game-player-page{padding:5px}.game-player-page main.game-player-shell{width:min(100%,calc((100dvh - 12px)*var(--gw-aspect,1.77778)))}.game-window-toolbar{height:41px;padding:5px 12px}.game-window-area{font-size:15px}.game-window-brand{font-size:8px}.game-window-dialog h2{font-size:20px}.game-player-page dialog.game-window-dialog{padding:16px}.game-player-page dialog.game-menu{padding:0}.game-menu-heading{padding:10px 15px}.game-menu-body{height:calc(100% - 66px)}.game-menu-panels{padding:12px 18px}.game-player-page .npc-dialogue-bubble p{font-size:12px;line-height:1.4}.game-player-page .npc-dialogue-bubble h2{font-size:19px}.game-player-page #dialogue.npc-dialogue .npc-dialogue-bubble,.game-player-page #talk-dialog.npc-dialogue .npc-dialogue-bubble{padding:9px 14px}.game-player-page .npc-dialogue-bubble button{padding:5px 8px;font-size:10px;min-height:28px}.game-player-page .npc-dialogue-bubble .dialog-actions{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.game-window::after{transition:none}}
.game-save-group .game-save-label{margin:0;font:16px/1.4 Georgia,serif;color:#f4dca1}.game-save-group .game-save-status{min-height:1.6em;margin:10px 0 0;font:12px/1.6 system-ui;color:#bfd7bd}.game-save-group .game-save-error{color:#ffc2a4}.game-title-confirm{margin:15px 0 0;padding:15px 17px;border:1px solid #c8ab70;background:#213d36;border-radius:6px}.game-title-confirm p{margin:0 0 12px;font:13px/1.65 system-ui;color:#f2e5c8}.game-title-confirm button{margin:3px 9px 3px 0}.game-title-confirm button:last-child{background:#16332e}
/* The original party panel and menus are painted by battle.js; HTML only mirrors them. */
.game-player-page .game-window.battle-frame .game-window-toolbar{position:absolute;inset:auto 10px 10px auto;width:auto;height:34px;padding:0;background:transparent;pointer-events:none}
.battle-frame .game-window-toolbar .game-window-title{display:none}.battle-frame .game-window-toolbar .game-window-menu-button{padding:5px 9px;font-size:10px;background:#102c27d9}
.game-player-page .game-window.battle-frame .battle-hud{position:absolute;inset:0;z-index:14;pointer-events:none;overflow:hidden}
.battle-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important}
.battle-hud-nav{position:absolute;inset:0;pointer-events:none}
.game-window .battle-hud-nav #active-button{position:absolute;pointer-events:auto;border:0;border-radius:0;background:transparent;color:transparent;padding:0;opacity:0;box-shadow:none}
.game-window .battle-hud-nav #active-button:disabled{pointer-events:none}
.game-window .battle-hud .battle-auto-controls{position:absolute;left:12px;right:auto;top:12px;max-width:calc(100% - 24px);display:flex;gap:7px;align-items:center;padding:5px 8px;background:#102e28e8;border:1px solid #d0b676;border-radius:4px;font:11px/1.3 system-ui;pointer-events:auto}
.game-window .battle-hud .battle-auto-controls button{padding:4px 7px;white-space:nowrap}.game-window .battle-hud .battle-auto-controls span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.battle-frame[data-hud-position=top] .battle-auto-controls{top:auto;bottom:12px}.battle-frame[data-hud-position=left] .battle-auto-controls{left:auto;right:12px}.battle-frame[data-hud-position=right] .battle-auto-controls{left:12px;right:auto}
.battle-command-overlay{position:absolute;inset:0;z-index:16;border:0;background:transparent;pointer-events:none;overflow:hidden}
.battle-command-controls,.game-window .battle-command-overlay .menu-buttons{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.game-window .battle-command-overlay .menu-buttons button{position:absolute;pointer-events:auto;opacity:0;color:transparent;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.game-window .battle-command-overlay .menu-buttons button:hover,.game-window .battle-command-overlay .menu-buttons button:focus-visible{opacity:0;color:transparent;background:transparent;border:0;outline:0;box-shadow:none}
.game-hud-positions{display:flex;gap:7px;flex-wrap:wrap}.game-hud-position[aria-pressed=true]{color:#ffe2a7;border-color:#dcc38a;background:#4e6c49}
@media(max-width:700px){body:has(#battle).game-player-page main.game-player-shell{width:100%}.game-player-page .game-window.battle-frame{height:calc(100dvh - 16px)}.game-window .battle-hud .battle-auto-controls{font-size:9px}.battle-frame .game-window-toolbar .game-window-menu-button{padding:4px 7px;font-size:9px}}
@media(max-height:500px){body:has(#battle).game-player-page main.game-player-shell{width:100%}.game-player-page .game-window.battle-frame{height:calc(100dvh - 12px)}}
/* Party status is a separate window; its details scroll within the live frame. */
.game-player-page dialog.game-status{width:min(880px,var(--gw-panel-width));height:min(620px,var(--gw-panel-height));max-height:var(--gw-panel-height);padding:0;overflow:hidden;background:radial-gradient(ellipse at 15% 0,#2b5145,#112e2a 60%);border-color:#d4bc7e}
.game-status[open]{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto}.game-status-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:15px 21px;border-bottom:1px solid #b89d616b;background:linear-gradient(110deg,#31513f,#13332e)}.game-status-heading h2{font-size:24px;margin:0}.game-status-heading .game-menu-close{white-space:nowrap;padding:7px 12px}.game-status-gold{color:#f4d48d;font:12px/1.4 system-ui;white-space:nowrap;border:1px solid #b7a16a66;border-radius:4px;padding:7px 10px;background:#10282088}
.game-status-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 20px;border-bottom:1px solid #769d7f44;background:#0c2422}.game-status-tabs .game-status-tab{flex:1;min-width:80px;padding:8px 13px;background:transparent;border-color:#6d8a6866;color:#c2d1ba;white-space:nowrap}.game-status-tabs .game-status-tab[aria-pressed=true]{background:linear-gradient(120deg,#66866570,#315746);border-color:#c9b070;color:#ffe0a0;box-shadow:inset 0 -2px #d9bc7d}
.game-status-scroll{overflow:auto;min-height:0;padding:16px 21px;scrollbar-color:#baa36f #0c2823}.game-status-scroll:focus-visible{outline:1px solid #d4bc7e;outline-offset:-3px}.game-status-notice{margin:3px 0;padding:16px;border:1px solid #bda46966;border-radius:5px;background:#1b3b2f;color:#e8d5ac}.game-status-hero{display:grid;grid-template-columns:108px minmax(0,1fr);gap:20px;align-items:center;margin:0 0 16px}.game-status-portrait{position:relative;display:grid;place-items:center;min-height:142px;width:108px;margin:0;border:1px solid #a5ad7880;border-radius:6px;background:radial-gradient(ellipse at 50% 65%,#57725366,#0a292799 75%);box-shadow:inset 0 0 20px #03171377;overflow:hidden}.game-status-portrait canvas{display:block;width:108px!important;height:135px!important;image-rendering:pixelated;object-fit:contain}.game-status-emblem{display:grid;place-items:center;width:64px;height:64px;border:1px solid #cbb67977;border-radius:50%;color:#e8c783;font:40px/1 Georgia,serif;background:#47644855}.game-status-role{font:10px/1.3 system-ui;text-transform:uppercase;letter-spacing:.13em;color:#afc6b1;margin:0 0 2px}.game-status-identity .game-status-name{font:26px/1.15 Georgia,serif;color:#ffe3a6;margin:0}.game-status-condition{font:11px/1.4 system-ui;color:#cbd3bc;margin:5px 0 11px}
.game-status-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.game-status-vital-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;font:10px/1.4 system-ui;color:#becdbb}.game-status-vital-line strong{font-weight:600;font-size:12px;color:#f3e2b8}.game-status-meter{height:5px;overflow:hidden;background:#071d1d;border:1px solid #6d8a6955;border-radius:4px;margin-top:5px}.game-status-meter>span{display:block;height:100%;background:linear-gradient(90deg,#648d56,#b3d286)}.game-status-lp .game-status-meter>span{background:linear-gradient(90deg,#a26460,#ecc199)}.game-status-mp .game-status-meter>span{background:linear-gradient(90deg,#527d9b,#a9d8e3)}.game-status-combat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:11px 0 0}.game-status-combat>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#102c2666;border:1px solid #70917344;border-radius:4px;font:11px/1.3 system-ui}.game-status-combat dt{color:#b6c7b3}.game-status-combat dd{color:#f0d79e;margin:0;font-size:15px}
.game-status-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-status-section{min-width:0;border:1px solid #77927866;border-radius:5px;background:#12322d88;padding:12px 14px}.game-status-section h3{font:16px/1.3 Georgia,serif;margin:0 0 10px;color:#e9cf91}.game-status-equipment{margin:0}.game-status-equipment>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:9px;margin:8px 0;font:12px/1.4 system-ui}.game-status-equipment dt{color:#a9c1ae}.game-status-equipment dd{margin:0;color:#eee5c9}.game-status-spells,.game-status-items{list-style:none;margin:0;padding:0}.game-status-spells li+li{border-top:1px solid #70937544;padding-top:9px;margin-top:9px}.game-status-spells li>div{display:flex;justify-content:space-between;gap:10px;font:12px/1.4 system-ui}.game-status-spells strong{font-weight:500;color:#dfe3c7}.game-status-spells li>div>span{font-size:10px;color:#a4c9ce;white-space:nowrap}.game-status-spells p{margin:3px 0 0;font:10px/1.6 system-ui;color:#a8c5b3}.game-status-empty{font:11px/1.5 system-ui;color:#acc2ae;margin:0}.game-status-inventory{grid-column:1/-1}.game-status-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.game-status-items li{display:flex;justify-content:space-between;gap:12px;font:12px/1.4 system-ui;color:#d6dec5}.game-status-items strong{color:#ead59e;white-space:nowrap}.game-status-hint{margin:0!important;padding:9px 18px;border-top:1px solid #b29b6166;background:#0d2722;color:#aebeaa;font:10px/1.4 system-ui;text-align:center}
@media(max-width:700px){.game-window-actions{gap:5px}.game-status-heading{gap:8px;padding:10px 13px}.game-status-heading h2{font-size:20px}.game-status-heading .game-menu-close{font-size:10px;padding:6px 8px}.game-status-gold{font-size:10px;padding:5px 7px}.game-status-tabs{padding:8px 12px;gap:5px}.game-status-tabs .game-status-tab{min-width:65px;padding:7px 9px;font-size:10px}.game-status-scroll{padding:12px 13px}.game-status-hero{grid-template-columns:80px minmax(0,1fr);gap:12px;margin-bottom:12px}.game-status-portrait{width:80px;min-height:115px}.game-status-portrait canvas{width:80px!important;height:100px!important}.game-status-emblem{width:49px;height:49px;font-size:31px}.game-status-identity .game-status-name{font-size:21px}.game-status-role{font-size:8px}.game-status-condition{font-size:10px;margin:4px 0 8px}.game-status-vitals,.game-status-combat{gap:6px}.game-status-vital-line{font-size:8px}.game-status-vital-line strong{font-size:10px}.game-status-combat>div{font-size:9px;padding:5px 6px;gap:4px}.game-status-combat dd{font-size:12px}.game-status-details{gap:8px}.game-status-section{padding:10px}.game-status-section h3{font-size:14px;margin-bottom:8px}.game-status-equipment>div{grid-template-columns:58px minmax(0,1fr);gap:6px;font-size:10px}.game-status-spells li>div,.game-status-items li{font-size:10px}.game-status-hint{font-size:8px;padding:7px 10px}}
@media(max-width:430px){.game-window-brand{display:none}.game-window-title .game-window-area{font-size:11px}.game-window-sigil{display:none}.game-status-heading{grid-template-columns:minmax(0,1fr) auto}.game-status-gold{grid-column:1;grid-row:2;justify-self:start}.game-status-heading .game-menu-close{grid-column:2;grid-row:1/3}.game-status-details{grid-template-columns:1fr}.game-status-inventory{grid-column:auto}.game-status-items{grid-template-columns:1fr}.game-status-combat>div{flex-direction:column;gap:3px}.game-status-vitals{grid-template-columns:1fr;gap:5px}.game-status-vital-line{flex-wrap:nowrap}.game-status-meter{margin-top:2px}}
@media(max-height:500px){.game-status-heading{padding-top:8px;padding-bottom:8px}.game-status-heading h2{font-size:20px}.game-status-tabs{padding-top:7px;padding-bottom:7px}.game-status-scroll{padding-top:12px;padding-bottom:12px}.game-status-hint{padding-top:6px;padding-bottom:6px}}
.game-party-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px 20px;background:#16372e;border-bottom:1px solid #b69b6155}.game-party-sections .game-party-section{border-color:#77937266;background:transparent;padding:8px 10px;color:#c9d5bf}.game-party-sections .game-party-section[aria-pressed=true]{background:linear-gradient(110deg,#63836777,#345448);color:#ffe2a4;border-color:#ceb775;box-shadow:inset 0 -2px #e0c17e}.game-party-actions{margin-top:3px}.game-party-instruction{margin:0 0 13px;font:12px/1.6 system-ui;color:#bdd2bd}.game-party-item-list,.game-party-equipment-list,.game-party-choice-list{display:grid;gap:8px}.game-party-item-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:#0b2623;border:1px solid #71916b55;border-radius:5px}.game-party-item-row>div:first-child{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font:13px/1.4 system-ui}.game-party-item-row strong{font-weight:500;color:#e7e3c2}.game-party-item-row span{color:#e8c78c}.game-party-item-actions{display:flex;gap:8px}.game-party-equipment-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 11px;background:#0c2823;border:1px solid #6e8f6855;border-radius:5px;font:12px/1.4 system-ui}.game-party-equipment-row>span{color:#abc1aa}.game-party-equipment-row strong{font-weight:500;color:#e7e3c7}.game-party-actions .game-party-option{background:linear-gradient(135deg,#3b5c45,#1d3f32);font:12px/1.4 system-ui;padding:7px 13px;text-align:left}.game-party-actions .game-party-option:focus{outline:2px solid #f4db9c;outline-offset:2px}.game-party-choice-list .game-party-option{padding:10px 13px}.game-party-actions>#game-party-back{margin-bottom:11px;background:#17382e}.game-party-row-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.game-status-notice.game-party-error{border-color:#b8815d;color:#ffd2ac;background:#473129}.game-status-notice:not(.game-party-error){color:#d8e7b4}.game-party-actions .game-status-empty{margin-top:10px}
@media(max-width:700px){.game-party-sections{padding:7px 12px;gap:5px}.game-party-sections .game-party-section{padding:7px 5px;font-size:10px}.game-party-instruction{font-size:10px;margin-bottom:10px}.game-party-item-row{padding:8px 9px;gap:10px}.game-party-item-row>div:first-child{gap:9px;font-size:11px}.game-party-actions .game-party-option{font-size:10px;padding:7px 9px}.game-party-equipment-row{grid-template-columns:57px minmax(0,1fr) auto;gap:7px;padding:8px;font-size:10px}.game-party-item-actions{gap:5px}}
@media(max-width:430px){.game-party-item-row{align-items:flex-start;flex-direction:column;gap:8px}.game-party-item-actions{width:100%}.game-party-item-actions>button{flex:1}.game-party-equipment-row{grid-template-columns:58px minmax(0,1fr)}.game-party-equipment-row>button{grid-column:1/-1}.game-party-row-options{grid-template-columns:1fr}}
