/* Launch-stand mini-game. Scoped styles; room and existing navigation unchanged. */
#gs-collection-game-root .gs-cosplay-overlay { position:fixed; inset:0; z-index:350; display:flex; align-items:center; justify-content:center; padding:16px; background:#080a10da; }
#gs-collection-game-root .gs-cosplay-app { width:min(1120px,96vw); max-height:90dvh; display:flex; flex-direction:column; overflow:hidden; border:1px solid #9e8665; border-radius:12px; background:#211e1c; color:#f6eee2; box-shadow:0 16px 45px #0009; font-family:system-ui,sans-serif; }
#gs-collection-game-root .gs-cosplay-header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid #8b72554d; background:#302721; }
#gs-collection-game-root .gs-cosplay-header span { display:block; font-size:10px; color:#c5b7a4; letter-spacing:.08em; margin-bottom:3px; }
#gs-collection-game-root .gs-cosplay-header strong { display:block; color:#f5e5c9; font-size:20px; line-height:1.25; }
#gs-collection-game-root .gs-cosplay-tools { display:flex; flex-shrink:0; gap:6px; }
#gs-collection-game-root .gs-cosplay-body { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr); min-height:0; overflow:hidden; }
#gs-collection-game-root .gs-cosplay-scene { position:relative; align-self:start; aspect-ratio:3/2; background-size:cover; background-position:center; isolation:isolate; image-rendering:pixelated; border-bottom:1px solid #82674e; overflow:hidden; }
#gs-collection-game-root .gs-cosplay-hero, #gs-collection-game-root .gs-cosplay-visitor, #gs-collection-game-root .gs-cosplay-companion { position:absolute; width:auto; max-width:none; height:43%; bottom:9%; object-fit:contain; image-rendering:pixelated; filter:none; }
#gs-collection-game-root .gs-cosplay-hero { left:23%; z-index:91; }
#gs-collection-game-root .gs-cosplay-visitor { left:61%; z-index:3; animation:gsCosplayArrival .3s ease-out; }
#gs-collection-game-root .gs-cosplay-companion { left:77%; bottom:12%; height:40%; z-index:2; }
#gs-collection-game-root .gs-cosplay-scene .gs-cosplay-guest { position:absolute; left:var(--guest-left); bottom:var(--guest-bottom); height:var(--guest-height); width:auto; max-width:none; object-fit:contain; image-rendering:pixelated; filter:none; }
/* Keep a player's body centred on the PC while displaying its normal height. */
#gs-collection-game-root .gs-cosplay-scene .gs-cosplay-guest[data-role="playing"] { transform:translateX(-50%); animation:none; }
#gs-collection-game-root .gs-cosplay-scene-label { position:absolute; top:10px; left:10px; max-width:calc(100% - 20px); box-sizing:border-box; padding:5px 9px; border:1px solid #d7bc8e60; background:#211b17dd; border-radius:0; font-size:11px; color:#ecdfc9; z-index:110; }
#gs-collection-game-root .gs-cosplay-scene-bottom { position:absolute; bottom:0; left:0; right:0; padding:8px 10px; background:#171514e8; display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:10px; color:#d2c5b4; z-index:110; }
#gs-collection-game-root .gs-cosplay-scene-bottom b { white-space:nowrap; color:#f3e7cd; }
#gs-collection-game-root .gs-cosplay-panel { min-height:0; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; padding:22px; outline:none; }
#gs-collection-game-root .gs-cosplay-interaction { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; }
#gs-collection-game-root .gs-cosplay-interaction .gs-cosplay-panel { flex:1 1 auto; }
#gs-collection-game-root .gs-cosplay-panel-actions { flex:0 0 auto; display:flex; flex-wrap:wrap; gap:8px; padding:10px 14px; border-top:1px solid #756366; background:#1b1518; }
#gs-collection-game-root .gs-cosplay-panel-actions button { margin:0; flex:1 1 auto; }
#gs-collection-game-root .gs-cosplay-panel h2 { font:700 20px/1.35 system-ui,sans-serif; color:#f7e9cf; margin:8px 0 14px; text-shadow:none; letter-spacing:0; }
#gs-collection-game-root .gs-cosplay-panel p { font:400 14px/1.6 system-ui,sans-serif; color:#d8cec2; margin:8px 0 16px; }
#gs-collection-game-root .gs-cosplay-eyebrow { font-size:11px; font-weight:650; color:#c9b58f; letter-spacing:.04em; }
#gs-collection-game-root .gs-cosplay-panel .gs-cosplay-small { font-size:12px; color:#bcaf9d; }
#gs-collection-game-root .gs-cosplay-panel .gs-cosplay-outfit { padding:9px 12px; border-left:3px solid var(--launch-accent); background:#ffffff07; font-size:13px; }
#gs-collection-game-root .gs-cosplay-facts { padding:14px; border:1px solid #aa94773b; background:#171614; border-radius:6px; margin:12px 0; }
#gs-collection-game-root .gs-cosplay-facts strong { color:#e8d5b4; font-size:15px; }
#gs-collection-game-root .gs-cosplay-facts ul { padding-left:18px; margin:10px 0; font-size:13px; color:#d9cfc0; line-height:1.6; }
#gs-collection-game-root .gs-cosplay-facts p { font-size:13px; margin:6px 0; }
#gs-collection-game-root .gs-cosplay-button { appearance:none; min-height:44px; border:1px solid #9f866050; border-radius:6px; background:#42362b; color:#f4e8d7; padding:10px 14px; font:600 13px/1.4 system-ui,sans-serif; cursor:pointer; text-shadow:none; box-shadow:none; margin:4px 4px 4px 0; }
#gs-collection-game-root .gs-cosplay-button:hover { background:#564532; border-color:#c6a77c; }
#gs-collection-game-root .gs-cosplay-button.is-primary { background:#963e38; border-color:#bb6a56; color:#fff3e1; }
#gs-collection-game-root .gs-cosplay-button:focus-visible { outline:3px solid #e8c58e; outline-offset:2px; }
#gs-collection-game-root .gs-cosplay-button[aria-pressed=true] { border:2px solid #d6b27b; background:#5e4934; }
#gs-collection-game-root .gs-cosplay-mode span { display:block; font-size:12px; color:#c5b6a0; }
#gs-collection-game-root .gs-cosplay-tools button { padding:7px 10px; font-size:12px; margin:0; }
#gs-collection-game-root .gs-cosplay-options { display:grid; gap:8px; margin-top:12px; }
#gs-collection-game-root .gs-cosplay-options button { text-align:left; margin:0; width:100%; min-height:58px; }
#gs-collection-game-root .gs-cosplay-options kbd { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; border:1px solid #ac906554; color:#e3c99f; border-radius:3px; margin-right:7px; font-size:11px; }
#gs-collection-game-root .gs-cosplay-options.has-poses { grid-template-columns:repeat(3,minmax(0,1fr)); }
#gs-collection-game-root .gs-cosplay-options.has-poses button { padding:5px; text-align:center; display:flex; align-items:center; flex-direction:column; }
#gs-collection-game-root .gs-cosplay-options.has-poses button span { font-size:11px; }
#gs-collection-game-root .gs-cosplay-options.has-poses kbd { display:none; }
#gs-collection-game-root .gs-cosplay-pose-thumb { height:100px; width:84px; max-width:100%; object-fit:contain; image-rendering:pixelated; }
#gs-collection-game-root .gs-cosplay-timer { display:flex; align-items:center; gap:10px; color:#e6d4b2; font-size:12px; margin:14px 0; }
#gs-collection-game-root .gs-cosplay-timer>div { height:6px; flex:1; background:#0c0c0b; border-radius:3px; overflow:hidden; }
#gs-collection-game-root .gs-cosplay-timer i { display:block; height:100%; background:#c8a56c; transition:width .1s linear; }
#gs-collection-game-root .gs-cosplay-timer>span { min-width:32px; }
#gs-collection-game-root .gs-cosplay-recap { display:grid; gap:10px; padding:14px; border:1px solid #ad90644d; background:#151412; border-radius:6px; }
#gs-collection-game-root .gs-cosplay-recap>span, #gs-collection-game-root .gs-cosplay-recap>strong { display:flex; justify-content:space-between; gap:12px; font-size:13px; }
#gs-collection-game-root .gs-cosplay-recap>strong { padding-top:10px; border-top:1px solid #ad90644d; color:#e9c487; }
#gs-collection-game-root .gs-cosplay-photo-flash { position:absolute; inset:0; z-index:120; pointer-events:none; animation:gsCosplayFlash .32s ease-out forwards; }
@keyframes gsCosplayFlash { from{background:#fff9d490} to{background:transparent} }
@keyframes gsCosplayArrival { from{opacity:0;transform:translateX(12px)} to{opacity:1;transform:none} }
@media(max-width:760px) {
  #gs-collection-game-root .gs-cosplay-overlay { padding:8px; }
  #gs-collection-game-root .gs-cosplay-app { width:100%; max-height:94dvh; border-radius:9px; }
  #gs-collection-game-root .gs-cosplay-header { padding:10px 12px; gap:6px; }
  #gs-collection-game-root .gs-cosplay-header strong { font-size:15px; }
  #gs-collection-game-root .gs-cosplay-header span { font-size:8px; letter-spacing:0; }
  #gs-collection-game-root .gs-cosplay-tools { gap:3px; }
  #gs-collection-game-root .gs-cosplay-tools button { font-size:10px; padding:6px; min-height:44px; }
  #gs-collection-game-root .gs-cosplay-body { display:flex; flex-direction:column; }
  #gs-collection-game-root .gs-cosplay-scene { align-self:stretch; flex:0 0 auto; max-height:30dvh; aspect-ratio:3/2; background-size:cover; }
  #gs-collection-game-root .gs-cosplay-panel { padding:14px; flex:1 1 auto; }
  #gs-collection-game-root .gs-cosplay-interaction { flex:1 1 auto; }
  #gs-collection-game-root .gs-cosplay-panel h2 { font-size:17px; margin:6px 0 10px; }
  #gs-collection-game-root .gs-cosplay-panel p { font-size:13px; line-height:1.5; }
  #gs-collection-game-root .gs-cosplay-scene-bottom { font-size:8px; padding:5px 7px; }
  #gs-collection-game-root .gs-cosplay-pose-thumb { height:82px; width:68px; }
}
@media(max-height:500px) and (min-width:600px) {
  #gs-collection-game-root .gs-cosplay-app { max-height:96dvh; }
  #gs-collection-game-root .gs-cosplay-body { display:grid; grid-template-columns:1fr 1fr; }
  #gs-collection-game-root .gs-cosplay-scene { max-height:none; }
  #gs-collection-game-root .gs-cosplay-header { padding:6px 12px; }
  #gs-collection-game-root .gs-cosplay-panel { padding:12px; }
  #gs-collection-game-root .gs-cosplay-interaction { align-self:stretch; }
}
@media(prefers-reduced-motion:reduce){#gs-collection-game-root .gs-cosplay-photo-flash { display:none; } #gs-collection-game-root .gs-cosplay-visitor { animation:none; }}

/* Speech uses the existing RPG frame and the costume sprites, cropped only by CSS. */
#gs-collection-game-root .gs-cosplay-dialogue { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start; gap:12px; border:5px solid transparent; border-image:url('../img/ui/rpg/panel-frame.svg') 12 / 5px / 0 stretch; padding:12px; margin:8px 0 14px; background:#241a1f; color:#f0e7d2; }
#gs-collection-game-root .gs-cosplay-dialogue>div { min-width:0; }
#gs-collection-game-root .gs-cosplay-dialogue strong { display:block; color:#dfca91; font:bold 14px/1.35 'Courier New',monospace; overflow-wrap:anywhere; }
#gs-collection-game-root .gs-cosplay-dialogue p { font:400 15px/1.5 Arial,sans-serif; color:#f0e7d2; margin:5px 0 0; overflow-wrap:anywhere; }
#gs-collection-game-root .gs-cosplay-dialogue-portrait { display:block; position:relative; width:64px; height:64px; overflow:hidden; border:1px solid #927456; background:#1b1518; }
#gs-collection-game-root .gs-cosplay-dialogue-portrait img { position:absolute; height:132px; width:auto; max-width:none; left:50%; top:-4px; transform:translateX(-50%); image-rendering:pixelated; filter:none; }
@media(max-width:480px) {
  #gs-collection-game-root .gs-cosplay-dialogue { grid-template-columns:56px minmax(0,1fr); gap:9px; padding:9px; }
  #gs-collection-game-root .gs-cosplay-dialogue-portrait { width:56px; height:56px; }
  #gs-collection-game-root .gs-cosplay-dialogue-portrait img { height:116px; }
  #gs-collection-game-root .gs-cosplay-dialogue p { font-size:14px; }
}
