/* GS RPG UI — v0.9.331. Last stylesheet in WP and standalone builds.
   Visual contract: docs/CHARTE-UX-RPG.md. Cabinet = reference. */
#gs-collection-game-root {
  --gs-rpg-ink: #100e11;
  --gs-rpg-panel: #1b1518;
  --gs-rpg-raised: #332227;
  --gs-rpg-text: #f0e7d2;
  --gs-rpg-muted: #c9bebb;
  --gs-rpg-gold: #dfca91;
  --gs-rpg-bronze: #927456;
  --gs-rpg-edge: #756366;
  --gs-rpg-accent: #54303a;
  --gs-responsive-topbar-mobile: 52px;
}
html.gs-modal-open.gs-menu-open,
body.gs-modal-open.gs-menu-open { touch-action: pan-y !important; }
#gs-collection-game-root .gs-rpg-ui-icon {
  display: block; width: 32px; height: 32px; flex: 0 0 32px;
  image-rendering: pixelated; pointer-events: none;
}
#gs-collection-game-root .gs-rpg-menu-backdrop {
  position: fixed; inset: var(--gs-cabinet-top, 0px) 0 0; z-index: 99990;
  display: grid; grid-template-rows: minmax(0, 1fr); place-items: center;
  padding: max(12px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
  background: #070507df; backdrop-filter: none; -webkit-backdrop-filter: none;
  touch-action: pan-y; animation: none;
}
#gs-collection-game-root .gs-room-prompt.gs-rpg-menu {
  box-sizing: border-box; width: min(560px, 100%); max-height: 100%; min-height: 0; min-width: 0;
  display: flex; flex-direction: column; padding: 0; overflow: hidden;
  border: 10px solid transparent;
  border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 10px / 0 stretch;
  border-radius: 0; background: var(--gs-rpg-panel); color: var(--gs-rpg-text);
  box-shadow: 0 3px 0 #070507; font: 15px/1.5 Arial, sans-serif; text-align: left;
  letter-spacing: 0; text-shadow: none; animation: none;
}
#gs-collection-game-root .gs-rpg-menu * { box-sizing: border-box; }
#gs-collection-game-root .gs-rpg-menu-head {
  display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 14px;
  border-bottom: 2px solid var(--gs-rpg-bronze); background: #2d1c21;
}
#gs-collection-game-root .gs-rpg-menu-head > div { min-width: 0; flex: 1; }
#gs-collection-game-root .gs-rpg-menu-head small {
  display: block; color: var(--gs-rpg-gold); font: bold 11px/1.4 'Courier New', monospace; letter-spacing: .04em;
}
#gs-collection-game-root .gs-rpg-menu-head h3 {
  margin: 3px 0 0; color: #f0dfae; font: bold 23px/1.25 'Courier New', monospace;
  text-shadow: none; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-rpg-menu button,
#gs-collection-game-root .gs-manga-reader button {
  min-height: 44px; padding: 10px 12px; border: 2px solid var(--gs-rpg-edge); border-radius: 0;
  background: var(--gs-rpg-raised); color: #f5ebce; box-shadow: inset 0 0 0 1px #110c0e, 2px 2px 0 #070507;
  font: bold 14px/1.35 'Courier New', monospace; letter-spacing: 0; text-shadow: none;
  text-transform: none; white-space: normal; cursor: pointer; touch-action: manipulation;
}
#gs-collection-game-root .gs-rpg-menu button.is-primary { background: var(--gs-rpg-accent); border-color: #b6a078; }
#gs-collection-game-root .gs-rpg-menu button:hover,
#gs-collection-game-root .gs-manga-reader button:hover { background: #4c3038; transform: none; }
#gs-collection-game-root .gs-rpg-menu button:focus-visible,
#gs-collection-game-root .gs-manga-reader button:focus-visible { outline: 3px solid #e9d9a5; outline-offset: 2px; }
#gs-collection-game-root .gs-rpg-menu .gs-rpg-menu-close {
  flex: 0 0 44px; width: 44px; height: 44px; padding: 0; font-size: 27px;
  background: #54303a; border-color: #c7b485; text-align: center;
}
#gs-collection-game-root .gs-rpg-menu-scroll {
  flex: 1 1 auto; overflow: auto; min-height: 0; padding: 18px; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #927456 #100c0e;
}
#gs-collection-game-root .gs-rpg-menu-scroll:empty { display: none; }
#gs-collection-game-root .gs-rpg-menu-scroll p {
  margin: 0 0 16px; color: var(--gs-rpg-text); font: 15px/1.55 Arial, sans-serif;
  text-shadow: none; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-rpg-menu-scroll p:last-child { margin-bottom: 0; }
#gs-collection-game-root .gs-rpg-menu-foot {
  display: grid; gap: 9px; flex: 0 0 auto; padding: 14px 18px;
  border-top: 1px solid var(--gs-rpg-edge); background: #151013;
}
#gs-collection-game-root .gs-rpg-menu-foot button { width: 100%; text-align: left; }
#gs-collection-game-root .gs-manga-library .gs-rpg-menu-scroll > p { color: var(--gs-rpg-muted); }
#gs-collection-game-root .gs-manga-list { display: grid; gap: 10px; margin: 16px 0 0; }
#gs-collection-game-root .gs-rpg-menu .gs-manga-card {
  display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 6px 12px;
  min-height: 88px; padding: 12px; border: 1px solid #756366; border-left: 3px solid #756366;
  background: #251b1f; color: #f0e7d2; opacity: 1; box-shadow: none;
}
#gs-collection-game-root .gs-rpg-menu .gs-manga-card.is-current { border-left-color: #dfca91; background: #352329; }
#gs-collection-game-root .gs-rpg-menu .gs-manga-card.is-locked { background: #191417; border-color: #5d5154; }
#gs-collection-game-root .gs-manga-card-copy { display: grid; gap: 5px; min-width: 0; }
#gs-collection-game-root .gs-manga-card-copy strong { font: bold 16px/1.35 'Courier New', monospace; color: #f5ebce; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-manga-card-copy small { font: 13px/1.45 Arial, sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-rpg-menu .gs-manga-card-status {
  grid-column: 2; justify-self: start; font: bold 12px/1.4 Arial, sans-serif; color: #dfca91;
  text-align: left; padding: 3px 6px; border: 1px solid #927456; background: #292022;
}
#gs-collection-game-root .gs-rpg-menu .gs-manga-card.is-locked .gs-manga-card-status { color: #c9bebb; border-color: #5d5154; background: #21191c; }
#gs-collection-game-root .gs-manga-reader-backdrop { top: var(--gs-cabinet-top, 0px); }
#gs-collection-game-root .gs-manga-reader-head,
#gs-collection-game-root .gs-manga-reader-foot { background: #1b1518; border-color: #927456; color: #f0e7d2; box-shadow: none; }
#gs-collection-game-root .gs-manga-reader-head strong { color: #f0dfae; font-family: 'Courier New', monospace; }
#gs-collection-game-root .gs-manga-reader-foot button { min-height: 44px; font-size: 12px; }
#gs-collection-game-root .gs-manga-reader button:disabled { opacity: .5; cursor: default; }

/* One engraved HUD strip, rather than four separate cards. */
#gs-collection-game-root .gs-game-shell .gs-game-topbar {
  background: #1b1518 !important; border: 8px solid transparent !important;
  border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 8px / 0 stretch !important;
  box-shadow: none !important; padding: 0 !important; gap: 0 !important; border-radius: 0 !important;
  overflow: hidden !important;
}
#gs-collection-game-root .gs-game-topbar::before { display: none !important; }
#gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat {
  min-width: 0; display: flex !important; flex-direction: row !important; align-items: center !important;
  justify-content: center !important; gap: 7px !important; padding: 3px 5px !important;
  min-height: 0 !important; height: auto !important; border: 0 !important; border-right: 1px solid #695357 !important;
  background: transparent !important; box-shadow: none !important; filter: none !important; text-shadow: none !important;
}
#gs-collection-game-root .gs-game-topbar .gs-hud-symbol { width: 20px; height: 20px; flex-basis: 20px; }
#gs-collection-game-root .gs-hud-value { min-width: 0; text-align: left; }
#gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat small {
  display: block; color: #cfc4bd !important; font: bold 10px/1.15 Arial, sans-serif !important;
  letter-spacing: 0 !important;
}
#gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat strong {
  display: block; color: #f0dfae !important; font: bold 16px/1.15 'Courier New', monospace !important;
  white-space: nowrap; letter-spacing: 0; text-shadow: none;
}
#gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat:nth-child(3) strong { color: #e4d397 !important; }
#gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat:nth-child(5) strong { color: #e5d5ac !important; }
#gs-collection-game-root .gs-room-titlebar {
  background: #1b1518 !important; border: 1px solid #927456 !important; border-radius: 0 !important;
  box-shadow: inset 0 0 0 2px #110c0e !important;
}
#gs-collection-game-root .gs-room-chip,
#gs-collection-game-root .gs-day-cycle-hud { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
#gs-collection-game-root .gs-room-chip strong { color: #f0dcb7; font: bold 14px/1.3 'Courier New', monospace; }
#gs-collection-game-root .gs-room-chip small { color: #c9bebb; font-family: Arial, sans-serif; }
#gs-collection-game-root .gs-room-arrange-btn,
#gs-collection-game-root .gs-room-zoom button,
#gs-collection-game-root .gs-market-zoom-btn,
#gs-collection-game-root .gs-market-exit,
#gs-collection-game-root .gs-city-toolbar button,
#gs-collection-game-root .gs-customize-exit {
  background: #332227 !important; border: 2px solid #8b7270 !important; border-radius: 0 !important;
  color: #f0dfae !important; box-shadow: inset 0 0 0 1px #100c0e, 2px 2px 0 #070507 !important;
  font-family: 'Courier New', monospace !important;
}
#gs-collection-game-root .gs-imperial-confirm-card,
#gs-collection-game-root .gs-customize-carry-card,
#gs-collection-game-root .gs-customize-storage {
  background: #1b1518; border: 2px solid #927456; border-radius: 0;
  box-shadow: inset 0 0 0 2px #110c0e; color: #f0e7d2;
}
#gs-collection-game-root .gs-imperial-confirm-card h3 { color: #f0dfae; font-family: 'Courier New', monospace; }
#gs-collection-game-root .gs-imperial-confirm-card button,
#gs-collection-game-root .gs-customize-hud button {
  border-radius: 0; background: #332227; color: #f0dfae; border: 2px solid #8b7270;
  font-family: 'Courier New', monospace;
}

/* Stands retain the existing composition and controls; palette follows classic RPG menus. */
#gs-collection-game-root .gs-stall-sheet { background: #1b1518; border-color: #b6a078; border-radius: 0; box-shadow: inset 0 0 0 2px #0f0b0e, 4px 4px 0 #070507; }
#gs-collection-game-root .gs-stall-sheet h2 { color: #f0dfae; }
#gs-collection-game-root .gs-stall-sheet button,
#gs-collection-game-root .gs-stall-actions button { background: #332227; color: #f5ebce; border-color: #8b7270; border-radius: 0; }
#gs-collection-game-root .gs-stall-sheet .gs-stall-buy,
#gs-collection-game-root .gs-stall-actions .gs-stall-buy { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root .gs-stall-inspection .gs-item-card { background: #261b1f; border-color: #756366; border-radius: 0; }

/* Drawn, stepped joystick. Geometry and all existing movement handlers are retained. */
#gs-collection-game-root .gs-game-shell .gs-joystick,
#gs-collection-game-root .gs-game-shell .gs-room .gs-room-control-dock .gs-joystick {
  border: 0 !important; border-radius: 0 !important; padding: 0 !important;
  background: url('../img/ui/rpg/joystick-base.svg') center / 100% 100% no-repeat !important;
  box-shadow: none !important; opacity: .96 !important; backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important; touch-action: none;
}
#gs-collection-game-root .gs-game-shell .gs-joystick .gs-joystick-knob,
#gs-collection-game-root .gs-game-shell .gs-room-control-dock .gs-joystick .gs-joystick-knob {
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  background: url('../img/ui/rpg/joystick-knob.svg') center / 100% 100% no-repeat !important;
  pointer-events: none; transition: filter .08s; image-rendering: auto;
}
#gs-collection-game-root .gs-joystick:active .gs-joystick-knob { filter: brightness(1.25); }
#gs-collection-game-root .gs-obj-dot::before {
  width: 18px; height: 18px; border: 0; border-radius: 0;
  background: url('../img/ui/rpg/interaction-marker.svg') center / contain no-repeat;
  box-shadow: none; filter: drop-shadow(0 2px 0 #0f0b0e);
}
#gs-collection-game-root .gs-obj-dot .gs-obj-dot-pulse { border-radius: 0; border-color: #dfca91; opacity: .6; }
#gs-collection-game-root .gs-obj-dot.is-near::before { box-shadow: none; filter: brightness(1.15) drop-shadow(0 2px 0 #0f0b0e); }
#gs-collection-game-root .gs-obj-dot-label { border-radius: 0; background: #1b1518; color: #f0dfae; border: 1px solid #b6a078; font-family: 'Courier New', monospace; }

/* Keep item sprites near their actual 96px source cells. Never upscale to 200px. */
#gs-collection-game-root .gs-unpack-reveal .gs-unpack-art { width: 112px; height: 112px; margin: 0 auto 14px; }
#gs-collection-game-root .gs-unpack-reveal h2 { font-size: 21px; line-height: 1.35; }
#gs-collection-game-root .gs-unpack-reveal .gs-unpack-art .gs-item-visual { width: 88px; height: 88px; }
#gs-collection-game-root .gs-unpack-reveal .gs-object-details { margin-top: 12px; }
#gs-collection-game-root .gs-unpack-reveal-scroll { padding: 16px; }
#gs-collection-game-root .gs-pixel-price-selected-art,
#gs-collection-game-root .gs-price-selected-art { width: 68px; height: 68px; flex-basis: 68px; }
#gs-collection-game-root .gs-pixel-price-selected-art img,
#gs-collection-game-root .gs-price-selected-art img { max-width: 56px; max-height: 56px; }
#gs-collection-game-root .gs-item-visual { max-width: 72px; max-height: 72px; }
#gs-collection-game-root .gs-item-visual > img.gs-catalog-sprite { max-width: 100%; max-height: 100%; object-fit: contain; }

@media (max-width: 1080px) {
  #gs-collection-game-root.gs-touch-input .gs-game-shell:not(.is-customize-shell):not(.is-intro-shell):not(.is-stall-focus):not(.is-tv-focus) {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) auto !important;
  }
  #gs-collection-game-root .gs-game-shell .gs-game-topbar,
  #gs-collection-game-root.gs-touch-input .gs-screen-collection > .gs-game-topbar {
    height: 52px !important; min-height: 52px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  #gs-collection-game-root .gs-game-topbar .gs-brand,
  #gs-collection-game-root .gs-game-topbar .gs-icon-btn { display: none !important; }
  #gs-collection-game-root .gs-game-topbar .gs-hud-symbol { width: 16px; height: 16px; flex-basis: 16px; }
  #gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat { gap: 5px !important; padding: 2px 3px !important; }
  #gs-collection-game-root .gs-game-shell .gs-game-topbar .gs-stat strong { font-size: 15px !important; }
}
@media (min-width: 1081px) {
  #gs-collection-game-root .gs-game-shell .gs-game-topbar { display: flex !important; flex-wrap: wrap; height: auto !important; min-height: 64px !important; }
  #gs-collection-game-root .gs-game-topbar .gs-brand { flex: 1 1 210px; min-height: 48px !important; padding: 8px 12px !important; background: none; }
  #gs-collection-game-root .gs-game-topbar .gs-brand b { font-size: 14px !important; text-transform: none; letter-spacing: 0; }
  #gs-collection-game-root .gs-game-topbar .gs-brand small { font-size: 10px; color: #c9bebb; }
  #gs-collection-game-root .gs-game-topbar .gs-stat { flex: 0 1 102px; min-height: 48px !important; }
  #gs-collection-game-root .gs-game-topbar .gs-icon-btn { flex: 0 1 90px; min-height: 44px !important; padding: 8px !important; background: #332227 !important; border: 1px solid #756366; font: bold 11px/1.35 'Courier New', monospace; color: #f5ebce; border-radius: 0; }
}
@media (max-width: 480px) {
  #gs-collection-game-root .gs-rpg-menu-head { gap: 8px; padding: 10px; }
  #gs-collection-game-root .gs-rpg-menu-head h3 { font-size: 20px; }
  #gs-collection-game-root .gs-rpg-menu-scroll { padding: 12px; }
  #gs-collection-game-root .gs-rpg-menu-foot { padding: 12px; }
  #gs-collection-game-root .gs-rpg-menu button { font-size: 13px; }
  #gs-collection-game-root .gs-rpg-menu .gs-manga-card { gap: 6px 9px; padding: 10px; }
  #gs-collection-game-root .gs-manga-card-copy strong { font-size: 15px; }
  #gs-collection-game-root .gs-manga-reader-head { grid-template-columns: auto minmax(0, 1fr) 44px; }
  #gs-collection-game-root .gs-manga-reader-foot { grid-template-columns: 1fr auto 1fr; gap: 5px; padding: 6px; }
  #gs-collection-game-root .gs-manga-reader-foot button { font-size: 10px; padding: 6px; }
  #gs-collection-game-root .gs-manga-zoom span { display: none; }
}
@media (max-height: 480px) {
  #gs-collection-game-root .gs-rpg-menu-head { padding: 6px 10px; }
  #gs-collection-game-root .gs-rpg-menu-head small { display: none; }
  #gs-collection-game-root .gs-rpg-menu-head h3 { font-size: 19px; }
  #gs-collection-game-root .gs-rpg-menu-foot { padding: 8px 12px; }
  #gs-collection-game-root .gs-rpg-menu-foot button { min-height: 40px; padding: 7px 10px; }
  #gs-collection-game-root .gs-rpg-menu-scroll { padding: 10px 12px; }
  #gs-collection-game-root .gs-rpg-menu-foot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #gs-collection-game-root .gs-rpg-menu-foot button:only-child { grid-column: 1 / -1; }
  #gs-collection-game-root .gs-unpack-reveal .gs-unpack-art { width: 88px; height: 88px; margin-bottom: 10px; }
  #gs-collection-game-root .gs-unpack-reveal .gs-unpack-art .gs-item-visual { width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  #gs-collection-game-root .gs-obj-dot-pulse { animation: none; }
}
#gs-collection-game-root .gs-stall-view { --stall-edge: #b6a078; --stall-text: #f5ebce; --stall-panel: #21171bf5; }
#gs-collection-game-root .gs-stall-top,
#gs-collection-game-root .gs-stall-seller,
#gs-collection-game-root .gs-stall-command-card { border-radius: 0; box-shadow: inset 0 0 0 2px #100c0e, 3px 3px 0 #070507; }
#gs-collection-game-root .gs-stall-view button { border-radius: 0; background: #332227; border-color: #8b7270; box-shadow: inset 0 0 0 1px #100c0e, 2px 2px 0 #070507; }
#gs-collection-game-root .gs-stall-view button:hover { background: #4c3038; border-color: #dfca91; }
#gs-collection-game-root .gs-stall-view .gs-stall-buy { background: #54303a; border-color: #b6a078; box-shadow: inset 0 0 0 1px #2b1820, 2px 2px 0 #070507; }
#gs-collection-game-root .gs-stall-portrait { background: #21171b; border-color: #b6a078; border-radius: 0; }
#gs-collection-game-root .gs-stall-segments i { background: #332227; border-radius: 0; }
#gs-collection-game-root .gs-stall-segments i.is-filled { background: #dfca91; box-shadow: inset 0 2px 0 #f0dfae; }
#gs-collection-game-root .gs-rpg-dialogue { border-radius: 0; background: #1b1518; border-color: #b6a078; }
#gs-collection-game-root .gs-rpg-dialogue .gs-rpg-header,
#gs-collection-game-root .gs-rpg-dialogue .gs-rpg-footer { background: #2d1c21; border-color: #927456; }
#gs-collection-game-root .gs-rpg-dialogue .gs-rpg-footer { display: flex !important; }
#gs-collection-game-root .gs-rpg-dialogue .gs-rpg-choices button,
#gs-collection-game-root .gs-rpg-dialogue .gs-rpg-close { border-radius: 0; background: #332227; color: #f0dfae; border-color: #8b7270; }
#gs-collection-game-root .gs-room .gs-room-titlebar .gs-room-arrange-btn,
#gs-collection-game-root .gs-room .gs-room-control-dock .gs-room-zoom .gs-room-zoom-btn {
  border-radius: 0 !important; border: 2px solid #8b7270 !important;
  background: #332227 !important; box-shadow: inset 0 0 0 1px #100c0e, 2px 2px 0 #070507 !important;
}
#gs-collection-game-root .gs-day-cycle-hud .gs-rpg-ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
@media (max-width: 1080px) {
  #gs-collection-game-root.gs-touch-input .gs-game-shell > .gs-tabs { grid-row: 3 !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-city .gs-city-map-screen {
    grid-row: 2 !important; display: flex; flex-direction: column; height: 100% !important;
    min-height: 0 !important; overflow: hidden; box-sizing: border-box;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-city .gs-city-map-stage {
    flex: 1 1 auto; min-height: 0 !important; height: 100% !important;
    border-radius: 0; border-color: #756366;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-market .gs-market-screen { grid-row: 2 !important; min-height: 0 !important; height: 100% !important; }
  #gs-collection-game-root .gs-city-map-tools button,
  #gs-collection-game-root .gs-city-map-title { border-radius: 0 !important; background: #1b1518 !important; border-color: #b6a078 !important; color: #f5ebce !important; }
}
@media (max-width: 1080px) and (max-height: 480px) {
  #gs-collection-game-root .gs-city-map-stage .gs-city-joystick,
  #gs-collection-game-root .gs-market-screen .gs-joystick { bottom: 40px !important; width: 100px !important; height: 100px !important; }
}
@media (max-width: 1080px) {
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-city,
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-market {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 52px minmax(0, 1fr) auto !important;
    height: calc(100dvh - var(--gs-cabinet-top, 0px)) !important;
    max-height: calc(100dvh - var(--gs-cabinet-top, 0px)) !important;
    min-height: 0 !important; overflow: hidden !important; box-sizing: border-box;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-city > .gs-log,
  #gs-collection-game-root.gs-touch-input .gs-screen-market > .gs-log { display: none !important; }
}
@media (max-width: 1080px) and (max-height: 480px) {
  #gs-collection-game-root .gs-stall-view { min-height: 0 !important; overflow-y: auto !important; overscroll-behavior: contain; }
}
/* Legacy mission/confirmation wrappers borrow the same material without altering their logic. */
#gs-collection-game-root .gs-job-activity .gs-room-prompt,
#gs-collection-game-root .gs-imperial-confirm-modal .gs-imperial-confirm-card,
#gs-collection-game-root .gs-tv-report-overlay .gs-tv-report-card {
  background: #1b1518; color: #f0e7d2; border: 2px solid #927456; border-radius: 0;
  box-shadow: inset 0 0 0 2px #100e11, 3px 3px 0 #070507;
}
#gs-collection-game-root .gs-job-activity .gs-room-prompt h3,
#gs-collection-game-root .gs-tv-report-card h3 { color: #f0dfae; font-family: 'Courier New', monospace; letter-spacing: 0; text-shadow: none; }
#gs-collection-game-root .gs-job-activity .gs-room-prompt p { color: #f0e7d2; font: 14px/1.5 Arial, sans-serif; }
#gs-collection-game-root .gs-job-activity .gs-room-prompt button,
#gs-collection-game-root .gs-tv-report-actions button,
#gs-collection-game-root .gs-imperial-confirm-modal .gs-imperial-confirm-card button {
  border-radius: 0; background: #332227; color: #f0dfae; border: 2px solid #8b7270;
  font-family: 'Courier New', monospace; text-shadow: none;
}
#gs-collection-game-root .gs-imperial-confirm-card .gs-imperial-confirm-approve,
#gs-collection-game-root .gs-job-activity .gs-room-prompt .is-primary { background: #54303a; border-color: #b6a078; }

/* V0.9.331 — restrained red, charcoal and pale gold throughout dynamic menus. */
#gs-collection-game-root .gs-game-shell {
  background-color: var(--gs-rpg-ink); color: var(--gs-rpg-text);
}
#gs-collection-game-root .gs-game-shell .gs-joystick,
#gs-collection-game-root .gs-game-shell .gs-joystick .gs-joystick-knob {
  image-rendering: auto !important;
}
#gs-collection-game-root .gs-game-shell .gs-joystick .gs-joystick-knob {
  width: 44% !important; height: 44% !important; margin: -22% 0 0 -22% !important;
}
#gs-collection-game-root .gs-tabs button {
  background: #1a1418; border: 1px solid #4a363c; border-radius: 0; color: #e4d8c1;
  box-shadow: inset 0 0 0 1px #100c0e; font-family: 'Courier New', monospace;
}
#gs-collection-game-root .gs-tabs button.is-active,
#gs-collection-game-root .gs-tabs button.active { background: #4b2632; border-color: #ae9571; color: #f0dfae; }
#gs-collection-game-root .gs-cabinet-dialog,
#gs-collection-game-root .gs-unpack-dialog,
#gs-collection-game-root .gs-unpack-reveal {
  background: var(--gs-rpg-panel); color: var(--gs-rpg-text); border-color: var(--gs-rpg-bronze);
  box-shadow: 0 0 0 3px #322127, 0 0 0 6px #100c0e, inset 0 0 0 2px #0e090c;
}
#gs-collection-game-root .gs-cabinet-header,
#gs-collection-game-root .gs-unpack-header { background: #2d1c21; border-color: #927456; }
#gs-collection-game-root .gs-cabinet-footer,
#gs-collection-game-root .gs-unpack-footer { background: #151013; border-color: #756366; }
#gs-collection-game-root .gs-cabinet-card,
#gs-collection-game-root .gs-cabinet-stat,
#gs-collection-game-root .gs-cabinet-empty,
#gs-collection-game-root .gs-unpack-box,
#gs-collection-game-root .gs-unpack-found-item,
#gs-collection-game-root .gs-unpack-art,
#gs-collection-game-root .gs-object-description { background: #241a1f; border-color: #756366; }
#gs-collection-game-root .gs-cabinet-dialog button,
#gs-collection-game-root .gs-unpack-dialog button,
#gs-collection-game-root .gs-unpack-reveal button { background: var(--gs-rpg-raised); border-color: #8b7270; color: #f5ebce; }
#gs-collection-game-root .gs-cabinet-dialog button.is-primary,
#gs-collection-game-root .gs-cabinet-dialog button.is-active,
#gs-collection-game-root .gs-unpack-dialog button.is-primary,
#gs-collection-game-root .gs-unpack-reveal button.is-primary,
#gs-collection-game-root .gs-unpack-header .gs-unpack-close { background: var(--gs-rpg-accent); border-color: #b6a078; }
#gs-collection-game-root .gs-unpack-progress-track { background: #100c0e; border-color: #756366; }
#gs-collection-game-root .gs-unpack-progress-track i { background: #dfca91; }
#gs-collection-game-root .gs-pixel-page-heading,
#gs-collection-game-root .gs-pixel-mini-stats span,
#gs-collection-game-root .gs-pixel-tab-page .gs-pixel-panel,
#gs-collection-game-root .gs-pixel-price-selected-panel,
#gs-collection-game-root .gs-price-history-row { background: #1b1518; border-color: #756366; }
#gs-collection-game-root .gs-pixel-price-selected-art,
#gs-collection-game-root .gs-price-selected-art { background: #241a1f; border-color: #927456; }

/* Settings are a real framed screen: fixed head/exit, central scroll, preserved controls. */
#gs-collection-game-root .gs-screen-settings .gs-rpg-settings {
  display: flex !important; flex-direction: column; min-height: 0; min-width: 0;
  width: min(940px, 100%); height: min(80vh, 860px); margin: 12px auto !important;
  padding: 0 !important; overflow: hidden !important; box-sizing: border-box;
  border: 10px solid transparent; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 10px / 0 stretch;
  border-radius: 0 !important; background: var(--gs-rpg-panel) !important; color: var(--gs-rpg-text); box-shadow: none;
}
#gs-collection-game-root .gs-rpg-settings::before { display: none; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-header {
  position: static !important; top: auto !important; display: flex; align-items: center;
  gap: 10px; padding: 12px !important; flex: 0 0 auto; margin: 0;
  background: #2d1c21; border: 0; border-bottom: 2px solid #927456;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-header > div { flex: 1; min-width: 0; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-header h2 {
  margin: 3px 0 0; padding: 0; border: 0; color: #f0dfae; text-shadow: none;
  font: bold 23px/1.25 'Courier New', monospace; letter-spacing: 0; text-transform: none;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-header .gs-kicker {
  display: block; font: bold 11px/1.35 'Courier New', monospace; letter-spacing: .04em; color: #dfca91;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-close {
  flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0;
  background: #54303a; border: 2px solid #b6a078; border-radius: 0; color: #f5ebce; box-shadow: none;
  font: bold 27px/1 'Courier New', monospace;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-scroll {
  min-height: 0; flex: 1 1 auto; padding: 16px; overflow: auto; overscroll-behavior: contain;
  scrollbar-color: #927456 #100c0e; scrollbar-width: thin; touch-action: pan-y; -webkit-overflow-scrolling: touch;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-intro {
  margin: 0 0 14px; color: #c9bebb; font: 14px/1.5 Arial, sans-serif;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-grid { margin: 0; gap: 12px; padding: 0; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-card {
  border: 1px solid #756366 !important; border-left: 3px solid #927456 !important;
  border-radius: 0 !important; padding: 14px; background: #241a1f !important; box-shadow: none;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-head {
  grid-template-columns: 32px minmax(0,1fr); gap: 10px; margin: 0 0 12px; padding: 0 0 10px; border-color: #5a4149;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-icon {
  width: 32px; height: 32px; background: none; border: 0; border-radius: 0; box-shadow: none; text-shadow: none;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-head strong {
  color: #dfca91; font: bold 17px/1.3 'Courier New', monospace; letter-spacing: .02em;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-head small,
#gs-collection-game-root .gs-rpg-settings .gs-settings-check small,
#gs-collection-game-root .gs-rpg-settings .gs-settings-action small,
#gs-collection-game-root .gs-rpg-settings .gs-settings-backup-status small,
#gs-collection-game-root .gs-rpg-settings .gs-settings-danger-note {
  color: #c9bebb; font: 13px/1.5 Arial, sans-serif; letter-spacing: 0; overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-range {
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; padding: 10px 0; border-color: #49363e;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-range > span { grid-column: 1; font: bold 14px/1.5 Arial, sans-serif; color: #f0e7d2; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-range output { grid-column: 2; grid-row: 1; color: #dfca91; font: bold 14px/1.5 'Courier New', monospace; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-range input {
  appearance: none; -webkit-appearance: none; grid-column: 1/-1; grid-row: 2; width: 100%; height: 36px;
  margin: 0; background: transparent; cursor: pointer; accent-color: #b89869;
}
#gs-collection-game-root .gs-rpg-settings input[type='range']::-webkit-slider-runnable-track { height: 8px; background: #100c0e; border: 1px solid #8b7270; border-radius: 0; }
#gs-collection-game-root .gs-rpg-settings input[type='range']::-webkit-slider-thumb {
  appearance: none; -webkit-appearance: none; width: 20px; height: 24px; margin-top: -9px;
  border: 2px solid #dfca91; border-radius: 0; background: #68434e; box-shadow: inset 0 0 0 2px #39212a;
}
#gs-collection-game-root .gs-rpg-settings input[type='range']::-moz-range-track { height: 8px; background: #100c0e; border: 1px solid #8b7270; border-radius: 0; }
#gs-collection-game-root .gs-rpg-settings input[type='range']::-moz-range-thumb { width: 16px; height: 20px; border: 2px solid #dfca91; border-radius: 0; background: #68434e; }
#gs-collection-game-root .gs-rpg-settings button:not(.gs-settings-close) {
  min-height: 44px; border: 2px solid #756366; border-radius: 0; padding: 9px 10px;
  background: #332227; color: #f5ebce; box-shadow: inset 0 0 0 1px #100c0e, 2px 2px 0 #070507;
  font: bold 14px/1.4 'Courier New', monospace; text-shadow: none; letter-spacing: 0; white-space: normal;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-choice.is-selected,
#gs-collection-game-root .gs-rpg-settings .gs-settings-toggle.is-on,
#gs-collection-game-root .gs-rpg-settings .gs-settings-action.is-primary {
  background: #54303a; border-color: #b6a078; color: #f0dfae;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-action.is-reset,
#gs-collection-game-root .gs-rpg-settings .gs-settings-danger-button { background: #48242e; border-color: #b4777a; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-toggle b { color: #c9bebb; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-toggle.is-on b { color: #dfca91; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-subtitle,
#gs-collection-game-root .gs-rpg-settings .gs-settings-check b { color: #f0e7d2; font: bold 14px/1.5 Arial, sans-serif; letter-spacing: 0; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-current-layout,
#gs-collection-game-root .gs-rpg-settings .gs-settings-backup-status { padding: 10px; border: 1px solid #5a4149; border-radius: 0; background: #191215; font: 13px/1.5 Arial, sans-serif; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-check input {
  width: 46px; height: 26px; flex-basis: 46px; border: 1px solid #8b7270; border-radius: 0;
  background: #191215; box-shadow: none; transition: none;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-check input::after { width: 16px; height: 18px; top: 3px; left: 3px; border-radius: 0; background: #9f8b89; box-shadow: none; transition: none; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-check input:checked { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-check input:checked::after { transform: translateX(22px); background: #dfca91; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-check { border-color: #49363e; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-preview { background: #151013; border: 1px solid #756366; border-radius: 0; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-preview-stick {
  width: 56px; height: 56px; top: 10px; border: 0; border-radius: 0; background: url('../img/ui/rpg/joystick-base.svg') center/contain no-repeat;
  box-shadow: none; image-rendering: auto;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-preview-stick::after {
  content: ''; position: absolute; inset: 16px; border: 0; border-radius: 0;
  background: url('../img/ui/rpg/joystick-knob.svg') center/contain no-repeat; box-shadow: none; transform: none;
}
#gs-collection-game-root .gs-rpg-settings .gs-settings-foot { flex: 0 0 auto; padding: 10px 14px; border-top: 1px solid #756366; background: #151013; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-foot button { width: 100%; }
#gs-collection-game-root .gs-rpg-settings button:focus-visible,
#gs-collection-game-root .gs-rpg-settings input:focus-visible { outline: 3px solid #e9d9a5; outline-offset: 2px; }

/* Market yellow markers and their conversation panels reuse the framed RPG family. */
#gs-collection-game-root .gs-market-stall::after {
  width: 18px; height: 18px; margin-left: -9px; top: 8px; border-radius: 0;
  background: url('../img/ui/rpg/interaction-marker.svg') center/contain no-repeat;
  animation: none; box-shadow: none; filter: drop-shadow(0 2px 0 #100c0e);
}
#gs-collection-game-root .gs-market-stall.is-near::after {
  background: url('../img/ui/rpg/interaction-marker.svg') center/contain no-repeat;
  animation: none; transform: scale(1.12); box-shadow: none; filter: brightness(1.16) drop-shadow(0 2px 0 #100c0e);
}
#gs-collection-game-root .gs-market-stall-tag { background: #1b1518; color: #f0dfae; border: 1px solid #b6a078; border-radius: 0; font-family: 'Courier New', monospace; }
/* Les noms et marqueurs sont prioritaires sans élever les zones cliquables :
   les boutons des vendeurs restent accessibles au-dessus de leurs stands. */
#gs-collection-game-root .gs-market-world .gs-market-stall { z-index: auto; }
#gs-collection-game-root .gs-market-world .gs-market-stall::after { z-index: 12001; }
#gs-collection-game-root .gs-market-world .gs-market-stall-tag { z-index: 12010; }

#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation).gs-rpg-overlay {
  inset: var(--gs-cabinet-top, 0px) 0 0 !important; height: auto; min-height: 0;
  align-items: center !important; padding: 12px; background: #070507df !important; touch-action: pan-y;
}
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-dialogue {
  display: flex; flex-direction: column; width: min(640px,100%); max-height: 100%; min-height: 0;
  padding: 0; overflow: hidden; border: 10px solid transparent; outline: 0;
  border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 10px / 0 stretch;
  background: var(--gs-rpg-panel); box-shadow: none;
}
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-header { flex: 0 0 auto; padding: 12px; background: #2d1c21; border-bottom: 2px solid #927456; align-items: center; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-header strong { font: bold 20px/1.3 'Courier New', monospace; color: #f0dfae; text-shadow: none; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-scene {
  flex: 1 1 auto; min-height: 0; overflow: auto; padding: 14px; grid-template-columns: 96px minmax(0,1fr); gap: 14px;
}
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-portrait { width: 96px; height: 96px; background: #21171b; border-color: #b6a078; box-shadow: none; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-text,
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-ghost { color: #f0e7d2; text-shadow: none; font: 15px/1.6 Arial, sans-serif; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-choices { flex: 0 1 auto; max-height: 42dvh; overflow: auto; min-height: 44px; gap: 8px; padding: 12px 14px; border-color: #756366; background: #191215; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-dialogue button { border: 2px solid #756366; border-radius: 0; background: #332227; color: #f5ebce; box-shadow: none; text-shadow: none; min-height: 44px; font-family: 'Courier New', monospace; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-dialogue [data-action='market-look-stall'] { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-close { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-footer { flex: 0 0 auto; padding: 8px 12px; min-height: 44px; background: #151013; border-top: 1px solid #756366; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-key-hint,
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-page { color: #c9bebb; }
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-dialogue button:focus-visible { outline: 3px solid #e9d9a5; outline-offset: 2px; }
#gs-collection-game-root .gs-story-conversation .gs-rpg-header small { display: block; color: #c9bebb; font: 12px/1.4 Arial, sans-serif; margin-top: 4px; }
#gs-collection-game-root .gs-story-conversation .gs-rpg-choices { flex: 0 0 auto; }
#gs-collection-game-root .gs-story-outcome { grid-column: 1 / -1; margin: 0; padding: 12px; border: 1px solid #927456; border-left: 3px solid #dfca91; background: #25191e; color: #f0e7d2; font: 14px/1.5 Arial, sans-serif; }
#gs-collection-game-root .gs-story-outcome p { margin: 0 0 10px; color: #c9bebb; font: inherit; }
#gs-collection-game-root .gs-story-outcome strong { color: #f0dfae; font: bold 14px/1.4 'Courier New', monospace; }
#gs-collection-game-root .gs-story-outcome ul { margin: 8px 0 0; padding-left: 18px; }
#gs-collection-game-root .gs-story-outcome li { margin: 4px 0; }
#gs-collection-game-root .gs-story-outcome[hidden] { display: none !important; }
@media (max-width: 480px) {
  #gs-collection-game-root .gs-market-conversation .gs-rpg-choices:has(> button:nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); flex: 0 0 auto; }
  #gs-collection-game-root .gs-market-conversation .gs-rpg-choices:has(> button:nth-child(4)) button { padding: 8px; font-size: 12px; line-height: 1.35; }
  #gs-collection-game-root .gs-market-conversation .gs-rpg-choices:has(> button:nth-child(4)) button::before { display: none; }
}
@media (max-width: 1080px) {
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-settings {
    display: grid !important; grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: 52px minmax(0,1fr) auto !important;
    height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; max-height: calc(100dvh - var(--gs-cabinet-top,0px)) !important;
    min-height: 0 !important; overflow: hidden !important;
  }
  #gs-collection-game-root .gs-screen-settings > .gs-log { display: none !important; }
  #gs-collection-game-root .gs-screen-settings .gs-rpg-settings { grid-row: 2 !important; height: 100% !important; margin: 0 !important; }
}
@media (max-width: 480px) {
  #gs-collection-game-root .gs-rpg-settings .gs-settings-header { padding: 10px !important; gap: 8px; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-header h2 { font-size: 20px; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-scroll { padding: 12px; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-card { padding: 12px; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-save-actions { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-choice { font-size: 12px; padding: 8px 4px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-scene { grid-template-columns: 72px minmax(0,1fr); gap: 12px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-portrait { width: 72px; height: 72px; }
}
@media (max-height: 480px) {
  #gs-collection-game-root .gs-rpg-settings .gs-settings-header { padding: 6px 10px !important; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-header .gs-kicker { display: none; }
  #gs-collection-game-root .gs-rpg-settings .gs-settings-foot { padding: 6px 10px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-header { padding: 6px 10px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-choices { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 8px 12px; gap: 8px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-choices button { padding: 8px; font-size: 12px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-choices button::before { display: none; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-scene { grid-template-columns: 64px minmax(0,1fr); padding: 10px 12px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-portrait { width: 64px; height: 64px; }
}

#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-event-host { display: flex !important; flex-direction: column; max-height: 100% !important; width: min(640px,100%) !important; }
#gs-collection-game-root .gs-cabinet-card-art { background: #191215; border-color: #756366; }
#gs-collection-game-root .gs-cabinet-summary dl { border-color: #756366; }
#gs-collection-game-root .gs-cabinet-dialog .gs-cabinet-close { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root .gs-pixel-browser-content .gs-pixel-page-heading,
#gs-collection-game-root .gs-pixel-browser-content .gs-pixel-mini-stats span,
#gs-collection-game-root .gs-pixel-portal-card,
#gs-collection-game-root .gs-pixel-price-panel,
#gs-collection-game-root .gs-pixel-price-selected-panel,
#gs-collection-game-root .gs-pixel-job-content .gs-job-card { background: #1b1518 !important; border-color: #756366; }
#gs-collection-game-root .gs-pixel-browser-content .gs-pixel-page-action,
#gs-collection-game-root .gs-pixel-app-actions button,
#gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn { background: #332227 !important; border-color: #8b7270; }
#gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn.is-primary { background: #54303a !important; border-color: #b6a078; }
/* Override historical imperative gold/serif rules inside the new settings component. */
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-head strong { font: bold 17px/1.3 'Courier New', monospace !important; color: #dfca91 !important; letter-spacing: .02em !important; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-section-head small,
#gs-collection-game-root .gs-rpg-settings .gs-settings-check small { font: 13px/1.5 Arial, sans-serif !important; color: #c9bebb !important; letter-spacing: 0 !important; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-close,
#gs-collection-game-root .gs-rpg-settings .gs-settings-toggle,
#gs-collection-game-root .gs-rpg-settings .gs-settings-choice { border: 2px solid #756366 !important; background: #332227 !important; color: #f5ebce !important; border-radius: 0 !important; box-shadow: inset 0 0 0 1px #100c0e, 2px 2px 0 #070507 !important; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-close,
#gs-collection-game-root .gs-rpg-settings .gs-settings-choice.is-selected,
#gs-collection-game-root .gs-rpg-settings .gs-settings-toggle.is-on { background: #54303a !important; border-color: #b6a078 !important; color: #f0dfae !important; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-preview b { border-radius: 0; background: #332227; border-color: #756366; }
#gs-collection-game-root .gs-rpg-settings .gs-settings-current-layout { background: #191215 !important; color: #c9bebb !important; }
#gs-collection-game-root .gs-unpack-reveal-scroll .gs-object-description,
#gs-collection-game-root .gs-unpack-found-item .gs-object-description { background: #241a1f; border-color: #756366; border-left-color: #b6a078; }
#gs-collection-game-root .gs-cabinet-card-links button { background: #332227; }
#gs-collection-game-root .gs-cabinet-card-actions button:first-child,
#gs-collection-game-root .gs-cabinet-filters button.is-active { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root .gs-cabinet-showcase figure { background: #21171b; border-color: #756366; }
#gs-collection-game-root .gs-cabinet-auctions,
#gs-collection-game-root .gs-cabinet-filters { border-color: #756366; }
#gs-collection-game-root .gs-pixel-price-search-box input { background: #151013; border-color: #756366; }
#gs-collection-game-root .gs-pixel-price-search-box button,
#gs-collection-game-root .gs-pixel-price-submit { background: #54303a; border-color: #b6a078; }
html.gs-modal-open.gs-rpg-open,
body.gs-modal-open.gs-rpg-open { touch-action: pan-y !important; }
@media (max-height: 480px) {
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-choices { flex: 0 0 auto; max-height: 42dvh; }
}
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-dialogue,
#gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-event-host { max-height: calc(100dvh - var(--gs-cabinet-top,0px) - 24px) !important; }
@media (max-height: 480px) {
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-scene { display: block; padding: 6px 12px; }
  #gs-collection-game-root :is(.gs-market-conversation,.gs-story-conversation) .gs-rpg-portrait { display: none; }
}

/* v0.9.333 — Journal, TV reading, bell and job invitation share the cabinet materials. */
#gs-collection-game-root .gs-hud-calendar { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 4px 8px; min-width: 0; }
#gs-collection-game-root .gs-hud-calendar .gs-day-cycle-hud { display: flex !important; align-items: center !important; min-width: 0 !important; padding: 0 !important; gap: 6px !important; backdrop-filter: none !important; }
#gs-collection-game-root .gs-hud-calendar .gs-day-cycle-hud > div { display: flex; align-items: center; gap: 9px; }
#gs-collection-game-root .gs-day-cycle-hud small { display: block !important; color: #dfca91 !important; font: bold 10px/1.3 'Courier New',monospace !important; white-space: nowrap; }
#gs-collection-game-root .gs-hud-calendar .gs-day-cycle-hud small { font-size: 12px !important; }
#gs-collection-game-root .gs-day-cycle-hud strong { color: #f0e7d2 !important; font: bold 15px/1.2 'Courier New',monospace !important; }
#gs-collection-game-root .gs-job-hud-notice { min-height: 24px; border: 1px solid #b6a078; padding: 3px 6px; background: #54303a; color: #f0dfae; font: bold 11px/1.2 'Courier New',monospace; border-radius: 0; }
#gs-collection-game-root .gs-room-titlebar .gs-day-cycle-hud { min-width: 100px !important; backdrop-filter: none !important; }
#gs-collection-game-root .gs-room-titlebar .gs-day-cycle-hud .gs-rpg-ui-icon { display: none; }
#gs-collection-game-root .gs-room-bell-notification {
  position: absolute; z-index: 35; top: 10px; left: 10px; right: 10px; width: min(450px,calc(100% - 20px)); margin: 0 auto;
  display: flex; align-items: center; gap: 9px; padding: 9px 11px; pointer-events: auto;
  border: 7px solid transparent; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 7px / 0 stretch;
  border-radius: 0; background: #23181d; color: #f0e7d2; box-shadow: 0 3px 0 #070507;
}
#gs-collection-game-root .gs-room-bell-notification > div { flex: 1; min-width: 0; }
#gs-collection-game-root .gs-room-bell-notification strong { display: block; font: bold 14px/1.35 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-room-bell-notification small { display: block; font: 12px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-room-bell-notification button { min-height: 44px; padding: 8px; border: 2px solid #b6a078; border-radius: 0; background: #54303a; color: #f5ebce; font: bold 12px/1.3 'Courier New',monospace; }
#gs-collection-game-root .gs-room-bell-notification > .gs-rpg-ui-icon { width: 18px; height: 18px; flex: 0 0 18px; }
#gs-collection-game-root .gs-door-bell-callout { min-width: 0; width: 16px; height: 16px; padding: 0; border: 0; background: #25191d; border-radius: 0; box-shadow: none; }
#gs-collection-game-root .gs-door-bell-callout .gs-rpg-ui-icon { width: 16px; height: 16px; }
#gs-collection-game-root .gs-room-visitor { border: 7px solid transparent; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 7px / 0 stretch; background: #23181d; border-radius: 0; box-shadow: none; }
#gs-collection-game-root .gs-room-visitor :is(button,h4) { font-family: 'Courier New',monospace; }
#gs-collection-game-root .gs-room-visitor button { border-radius: 0; background: #54303a; color: #f0dfae; }
#gs-collection-game-root .gs-job-ready-popup .gs-rpg-menu-foot { gap: 8px; }

#gs-collection-game-root .gs-rpg-journal {
  box-sizing: border-box; width: min(100%,1000px); height: min(780px,calc(100dvh - var(--gs-cabinet-top,0px) - 150px)); min-height: 0 !important;
  display: flex !important; flex-direction: column; gap: 0 !important; margin: 8px auto !important; padding: 0 !important; overflow: hidden !important;
  border: 9px solid transparent !important; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 9px / 0 stretch !important;
  border-radius: 0 !important; background: #1b1518 !important; box-shadow: none !important; color: #f0e7d2;
}
#gs-collection-game-root .gs-rpg-journal *,
#gs-collection-game-root .gs-tv-reading * { box-sizing: border-box; }
#gs-collection-game-root :is(.gs-journal-header,.gs-tv-reading-head) { display: flex; align-items: center; gap: 10px; padding: 12px; flex: 0 0 auto; background: #2d1c21; border-bottom: 2px solid #927456; }
#gs-collection-game-root :is(.gs-journal-header,.gs-tv-reading-head) > div { flex: 1; min-width: 0; }
#gs-collection-game-root :is(.gs-journal-header,.gs-tv-reading-head) small { display: block; color: #dfca91; font: bold 10px/1.3 'Courier New',monospace; }
#gs-collection-game-root :is(.gs-journal-header h2,.gs-tv-reading-head h3) { margin: 3px 0 0 !important; padding: 0 !important; font: bold 21px/1.25 'Courier New',monospace !important; color: #f0dfae !important; letter-spacing: 0 !important; text-shadow: none !important; overflow-wrap: anywhere; border: 0 !important; }
#gs-collection-game-root :is(.gs-journal-close,.gs-tv-reading-close) { display: block; flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 2px solid #b6a078; border-radius: 0; background: #54303a; color: #f0dfae; font: bold 26px/1 'Courier New',monospace; box-shadow: inset 0 0 0 1px #100c0e; }
#gs-collection-game-root :is(.gs-journal-scroll,.gs-tv-reading-scroll) { min-height: 0; flex: 1 1 auto; overflow: auto; padding: 16px; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #927456 #100c0e; }
#gs-collection-game-root .gs-journal-identity { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: #c9bebb; font: 13px/1.4 Arial,sans-serif; }
#gs-collection-game-root .gs-journal-identity .gs-journal-avatar { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #927456; border-radius: 0; background: #332227; }
#gs-collection-game-root .gs-journal-identity .gs-journal-avatar img { width: 100%; height: 100%; object-fit: cover; }
#gs-collection-game-root .gs-journal-identity .gs-journal-avatar span { font-size: 20px; }
#gs-collection-game-root .gs-collector-level { margin: 0 0 16px; padding: 12px; border: 1px solid #b6a078; background: #2d1c21; }
#gs-collection-game-root .gs-collector-level > div:first-child { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; }
#gs-collection-game-root .gs-collector-level > div > div { flex: 1; }
#gs-collection-game-root .gs-collector-level small { display: block; font: bold 10px/1.3 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-collector-level strong { font: bold 21px/1.3 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-collector-level span { font: 12px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-collector-skills { padding: 0; margin: 0 0 20px; }
#gs-collection-game-root .gs-collector-skills h3 { margin: 0 0 6px !important; font: bold 20px/1.3 'Courier New',monospace !important; color: #f0dfae !important; letter-spacing: 0 !important; }
#gs-collection-game-root .gs-collector-skills > p { margin: 0 0 12px !important; font: 13px/1.5 Arial,sans-serif !important; color: #c9bebb !important; letter-spacing: 0 !important; }
#gs-collection-game-root .gs-collector-skill-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
#gs-collection-game-root .gs-collector-skills .gs-collector-skill {
  display: flex !important; flex-direction: column; gap: 7px; width: 100%; min-width: 0; min-height: 90px; height: auto; margin: 0 !important; padding: 10px !important;
  border: 1px solid #756366 !important; border-radius: 0 !important; background: #251b1f !important; color: #f0e7d2 !important; box-shadow: none !important;
  text-align: left; font: 13px/1.4 Arial,sans-serif !important; white-space: normal !important; cursor: pointer;
}
#gs-collection-game-root .gs-skill-title { display: flex; align-items: center; gap: 6px; width: 100%; }
#gs-collection-game-root .gs-skill-title .gs-rpg-ui-icon { width: 20px; height: 20px; flex-basis: 20px; }
#gs-collection-game-root .gs-skill-title strong { flex: 1; min-width: 0; color: #f0dfae; font: bold 13px/1.3 'Courier New',monospace; }
#gs-collection-game-root .gs-skill-title b { color: #dfca91; white-space: nowrap; font: bold 11px/1.3 'Courier New',monospace; }
#gs-collection-game-root .gs-skill-meter { display: block; width: 100%; height: 8px; min-height: 8px; border: 1px solid #8b7270; border-radius: 0; background: #100c0e; overflow: hidden; }
#gs-collection-game-root .gs-skill-meter i { display: block; height: 100%; background: #b79a64; border-radius: 0; }
#gs-collection-game-root .gs-skill-caption { display: flex; align-items: center; justify-content: space-between; width: 100%; color: #c9bebb; font: 11px/1.3 Arial,sans-serif; }
#gs-collection-game-root .gs-skill-caption em { font: bold 12px/1.2 'Courier New',monospace; color: #dfca91; font-style: normal; }
#gs-collection-game-root .gs-skill-explanation h4 { margin: 0 0 8px; color: #dfca91; font: bold 17px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-skill-explanation h4:not(:first-child) { margin-top: 20px; }
#gs-collection-game-root .gs-rpg-journal .gs-settings-grid { margin: 0; padding: 0; gap: 12px; }
#gs-collection-game-root .gs-rpg-journal :is(.gs-settings-card,.gs-home-panel,.gs-home-bottom-card) { padding: 12px !important; border: 1px solid #756366 !important; border-left: 3px solid #927456 !important; border-radius: 0 !important; background: #241a1f !important; box-shadow: none !important; }
#gs-collection-game-root .gs-rpg-journal :is(.gs-settings-section-head,.gs-home-panel-head) { margin: 0 0 10px; padding: 0 0 8px; border-bottom: 1px solid #49363e; }
#gs-collection-game-root .gs-rpg-journal :is(.gs-settings-section-head strong,.gs-home-panel-head strong) { font: bold 16px/1.3 'Courier New',monospace !important; color: #dfca91 !important; letter-spacing: 0 !important; }
#gs-collection-game-root .gs-rpg-journal :is(p,small,em) { font: 13px/1.5 Arial,sans-serif; color: #c9bebb; letter-spacing: 0; }
#gs-collection-game-root .gs-rpg-journal .gs-settings-section-icon { width: 32px; height: 32px; background: none; border: 0; border-radius: 0; }
#gs-collection-game-root .gs-rpg-journal .gs-journal-stats-v198 { gap: 8px; }
#gs-collection-game-root .gs-rpg-journal .gs-journal-stats-v198 > div { padding: 9px; background: #191215; border: 1px solid #5a4149; border-radius: 0; }
#gs-collection-game-root .gs-rpg-journal .gs-journal-stats-v198 strong { color: #f0dfae; font: bold 21px/1.3 'Courier New',monospace; }
#gs-collection-game-root .gs-rpg-journal :is(.gs-economy-route,.gs-journal-mission-facts > span) { border-radius: 0; border-color: #756366; background: #191215; }
#gs-collection-game-root .gs-rpg-journal .gs-job-agenda li { background: #191215; border: 1px solid #5a4149; border-radius: 0; padding: 10px; }
#gs-collection-game-root .gs-rpg-journal .gs-job-agenda span { color: #c9bebb; font: 13px/1.45 Arial,sans-serif; }
#gs-collection-game-root .gs-rpg-journal .gs-job-agenda strong { font: bold 15px/1.4 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-rpg-journal button:not(.gs-journal-close):not(.gs-collector-skill) { min-height: 44px; padding: 9px 12px; border: 2px solid #756366; border-radius: 0; background: #332227; color: #f5ebce; font: bold 13px/1.4 'Courier New',monospace; box-shadow: inset 0 0 0 1px #100c0e; }
#gs-collection-game-root .gs-journal-foot { flex: 0 0 auto; padding: 10px 14px; border-top: 1px solid #756366; background: #151013; }
#gs-collection-game-root .gs-journal-foot button { width: 100%; }
#gs-collection-game-root .gs-pixel-journal-page .gs-collector-skills { margin: 18px 0; }
#gs-collection-game-root :is(.gs-rpg-journal,.gs-tv-reading,.gs-room-bell-notification) button:focus-visible { outline: 3px solid #e9d9a5; outline-offset: 2px; }

#gs-collection-game-root .gs-tv-watching-hud.gs-tv-reading {
  position: fixed !important; z-index: 99990; inset: calc(var(--gs-cabinet-top,0px) + 12px) 12px 12px !important; width: min(1000px,calc(100% - 24px)) !important; height: min(88dvh,calc(100dvh - var(--gs-cabinet-top,0px) - 24px)) !important; max-height: none !important; min-height: 0 !important; margin: auto !important;
  display: flex !important; flex-direction: column !important; padding: 0 !important; gap: 0 !important; transform: none !important; animation: none !important; opacity: 1 !important;
  border: 10px solid transparent !important; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 10px / 0 stretch !important;
  border-radius: 0 !important; background: #1b1518 !important; box-shadow: 0 0 0 100vmax #070507cf !important; color: #f0e7d2;
}
#gs-collection-game-root .gs-tv-reading .gs-tv-reading-scroll { display: block; }
#gs-collection-game-root .gs-tv-reading-scene-info { display: grid; gap: 4px; margin-bottom: 10px; }
#gs-collection-game-root .gs-tv-reading-scene-info strong { font: bold 15px/1.3 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-tv-reading-scene-info span { font: 12px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-progress { height: 6px; margin: 0 0 14px; background: #100c0e; border: 1px solid #756366; border-radius: 0; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-progress i { height: 100%; background: #b79a64; border-radius: 0; }
#gs-collection-game-root .gs-tv-reading .gs-tv-scene-illustration { width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: 16/9; margin: 0 0 16px !important; border: 1px solid #756366 !important; border-radius: 0 !important; background: #100c0e !important; }
#gs-collection-game-root .gs-tv-reading .gs-tv-scene-illustration img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-text { display: block !important; height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; color: #f0e7d2 !important; font: 16px/1.65 Arial,sans-serif !important; letter-spacing: 0 !important; text-shadow: none !important; text-transform: none; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-page { display: block; margin-top: 12px; color: #dfca91; font: 12px/1.4 Arial,sans-serif; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-whisper { display: block !important; margin: 16px 0 0; padding: 10px; border-left: 2px solid #927456; color: #c9bebb; font: italic 13px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-actions { display: grid !important; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 8px; flex: 0 0 auto; padding: 12px; margin: 0 !important; border-top: 1px solid #756366; background: #151013; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-actions button { min-height: 48px !important; height: auto !important; padding: 10px !important; border: 2px solid #756366 !important; border-radius: 0 !important; background: #332227 !important; color: #f5ebce !important; font: bold 14px/1.35 'Courier New',monospace !important; box-shadow: inset 0 0 0 1px #100c0e !important; letter-spacing: 0 !important; white-space: normal; }
#gs-collection-game-root .gs-tv-reading .gs-tv-watching-actions .is-primary { background: #54303a !important; border-color: #b6a078 !important; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 12px 0; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-grid > div { padding: 10px; background: #251b1f; border: 1px solid #756366; border-radius: 0; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-grid strong { font: bold 21px/1.3 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-grid small { color: #c9bebb; font: 12px/1.4 Arial,sans-serif; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-effect { padding: 10px; background: #302026; border: 1px solid #b6a078; border-radius: 0; }
#gs-collection-game-root .gs-tv-report-card .gs-tv-report-effect span { color: #c9bebb; font: 13px/1.5 Arial,sans-serif; }

/* Job scenes stay intact; framing and commands belong to the same RPG interface. */
#gs-collection-game-root .gs-cosplay-app { border: 9px solid transparent; border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 9px / 0 stretch; border-radius: 0; background: #1b1518; box-shadow: none; }
#gs-collection-game-root .gs-cosplay-header { background: #2d1c21; border-bottom: 2px solid #927456; }
#gs-collection-game-root .gs-cosplay-header strong { font-family: 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-cosplay-panel { background: #1b1518; color: #f0e7d2; }
#gs-collection-game-root .gs-cosplay-panel h2 { font-family: 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-cosplay-button { border: 2px solid #756366; border-radius: 0; background: #332227; color: #f5ebce; font-family: 'Courier New',monospace; }
#gs-collection-game-root .gs-cosplay-button.is-primary { background: #54303a; border-color: #b6a078; }
#gs-collection-game-root .gs-cosplay-facts,#gs-collection-game-root .gs-cosplay-recap { border-radius: 0; border-color: #756366; background: #241a1f; }
#gs-collection-game-root .gs-cosplay-personality { margin: 0 0 12px; padding: 8px 10px; border-left: 2px solid #927456; background: #251b1f; color: #dfca91; font: italic 13px/1.45 Arial,sans-serif; }

@media (max-width: 1080px) {
  #gs-collection-game-root { --gs-responsive-topbar-mobile: 76px; }
  #gs-collection-game-root .gs-game-shell .gs-game-topbar { height: 76px !important; min-height: 76px !important; max-height: 76px !important; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; grid-template-rows: minmax(0,1fr) 24px !important; }
  #gs-collection-game-root .gs-hud-calendar { grid-column: 1/-1; grid-row: 2; padding: 0 5px; border-top: 1px solid #49363e; }
  #gs-collection-game-root .gs-hud-calendar .gs-day-cycle-icon { width: 14px; height: 14px; flex-basis: 14px; }
  #gs-collection-game-root.gs-touch-input :is(.gs-game-shell.gs-screen-settings,.gs-game-shell.gs-screen-profil) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: 76px minmax(0,1fr) auto !important; height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; max-height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; min-height: 0 !important; overflow: hidden !important; }
  #gs-collection-game-root .gs-screen-profil .gs-rpg-journal { grid-row: 2 !important; height: 100% !important; margin: 0 !important; }
  #gs-collection-game-root .gs-room-titlebar .gs-room-chip { min-width: 0; }
  #gs-collection-game-root .gs-collector-skill-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #gs-collection-game-root .gs-skill-title { flex-wrap: wrap; }
  #gs-collection-game-root .gs-skill-title b { margin-left: 26px; }
}
@media (max-width: 480px) {
  #gs-collection-game-root :is(.gs-journal-header,.gs-tv-reading-head) { padding: 9px; gap: 8px; }
  #gs-collection-game-root :is(.gs-journal-header h2,.gs-tv-reading-head h3) { font-size: 19px !important; }
  #gs-collection-game-root :is(.gs-journal-scroll,.gs-tv-reading-scroll) { padding: 12px; }
  #gs-collection-game-root .gs-collector-level { padding: 10px; }
  #gs-collection-game-root .gs-collector-level .gs-rpg-ui-icon { width: 24px; height: 24px; flex-basis: 24px; }
  #gs-collection-game-root .gs-collector-level span { font-size: 11px; }
  #gs-collection-game-root .gs-room-bell-notification { top: 6px; left: 6px; right: 6px; width: calc(100% - 12px); padding: 7px; gap: 7px; }
  #gs-collection-game-root .gs-room-bell-notification > .gs-rpg-ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
  #gs-collection-game-root .gs-room-bell-notification strong { font-size: 12px; }
  #gs-collection-game-root .gs-room-bell-notification small { font-size: 11px; }
}
@media (max-height: 480px) {
  #gs-collection-game-root .gs-tv-reading .gs-tv-reading-scroll { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); align-items: start; gap: 10px; padding: 10px; }
  #gs-collection-game-root .gs-tv-reading .gs-tv-reading-scene-info,#gs-collection-game-root .gs-tv-reading .gs-tv-watching-progress { grid-column: 1/-1; margin-bottom: 0; }
  #gs-collection-game-root .gs-tv-reading .gs-tv-watching-text { font-size: 14px !important; line-height: 1.5 !important; }
  #gs-collection-game-root .gs-tv-reading .gs-tv-watching-whisper { grid-column: 1/-1; }
  #gs-collection-game-root .gs-tv-reading .gs-tv-watching-actions { padding: 7px; }
  #gs-collection-game-root .gs-tv-reading .gs-tv-reading-head { padding: 6px 9px; }
  #gs-collection-game-root .gs-journal-header { padding: 6px 9px; }
}
#gs-collection-game-root .gs-journal-identity .gs-journal-avatar { width: 34px !important; height: 34px !important; min-height: 34px !important; display: grid; place-items: center; }
@media (min-width: 1081px) {
  #gs-collection-game-root .gs-game-shell:is(.gs-screen-settings,.gs-screen-profil) {
    box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto minmax(0,1fr) auto !important; gap: 8px !important; padding: 8px !important;
    height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; max-height: calc(100dvh - var(--gs-cabinet-top,0px)) !important;
    min-height: 0 !important; overflow: hidden !important;
  }
  #gs-collection-game-root :is(.gs-screen-settings,.gs-screen-profil) > .gs-game-topbar { grid-row: 1; }
  #gs-collection-game-root :is(.gs-screen-settings,.gs-screen-profil) > .gs-tabs { grid-row: 3; margin: 0; }
  #gs-collection-game-root :is(.gs-screen-settings,.gs-screen-profil) > :is(.gs-rpg-settings,.gs-rpg-journal) { grid-row: 2; height: 100% !important; min-height: 0 !important; margin: 0 auto !important; }
  #gs-collection-game-root .gs-screen-settings > .gs-log { display: none !important; }
}
#gs-collection-game-root .gs-skill-title { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 4px 6px; }
#gs-collection-game-root .gs-skill-title strong { white-space: normal !important; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-skill-title b { grid-column: 2; margin-left: 0 !important; }
@media (max-width: 1080px) {
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-collection { grid-template-rows: 76px minmax(0,1fr) auto !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-collection > .gs-game-topbar { height: 76px !important; min-height: 76px !important; max-height: 76px !important; }
}

/* Concours 0.9.334: a single RPG frame, readable objects and an embodied jury. */
#gs-collection-game-root .gs-game-shell.gs-screen-concours {
  box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: auto minmax(0,1fr) auto !important; gap: 8px !important; padding: 8px !important;
  height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; min-height: 0 !important; max-height: calc(100dvh - var(--gs-cabinet-top,0px)) !important; overflow: hidden !important;
}
#gs-collection-game-root .gs-screen-concours > .gs-game-topbar { grid-row: 1; }
#gs-collection-game-root .gs-screen-concours > .gs-tabs { grid-row: 3; margin: 0; }
#gs-collection-game-root .gs-screen-concours > .gs-log { display: none !important; }
#gs-collection-game-root .gs-contest-rpg {
  box-sizing: border-box; grid-row: 2; width: min(1100px,100%); height: 100%; min-height: 0; min-width: 0; margin: 0 auto;
  display: flex; flex-direction: column; overflow: hidden; border: 9px solid transparent;
  border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 9px / 0 stretch;
  background: #1b1518; color: #f0e7d2; font: 15px/1.5 Arial,sans-serif; text-align: left; letter-spacing: 0; text-shadow: none;
}
#gs-collection-game-root .gs-contest-rpg * { box-sizing: border-box; }
#gs-collection-game-root .gs-contest-rpg :is(h2,h3,p) { margin: 0; padding: 0; border: 0; text-transform: none; letter-spacing: 0; text-shadow: none; }
#gs-collection-game-root .gs-contest-rpg h2 { font: bold 20px/1.25 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-contest-rpg h3 { font: bold 18px/1.35 'Courier New',monospace; color: #f0dfae; }
#gs-collection-game-root .gs-contest-rpg p { font: 15px/1.5 Arial,sans-serif; color: #d9d0c6; }
#gs-collection-game-root .gs-contest-rpg button { min-height: 44px; padding: 8px 12px; border: 2px solid #927456; border-radius: 0; background: #332227; color: #f0e7d2; font: bold 14px/1.35 'Courier New',monospace; box-shadow: inset 0 0 0 2px #1b1518; cursor: pointer; text-align: center; }
#gs-collection-game-root .gs-contest-rpg button:disabled { opacity: .55; cursor: default; }
#gs-collection-game-root .gs-contest-rpg button:focus-visible,#gs-collection-game-root .gs-contest-rpg summary:focus-visible { outline: 2px solid #dfca91; outline-offset: 2px; }
#gs-collection-game-root .gs-contest-rpg button.is-primary,#gs-collection-game-root .gs-contest-tabs button[aria-pressed="true"] { background: #54303a; border-color: #dfca91; }
#gs-collection-game-root .gs-contest-header { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 2px solid #927456; background: #2d1c21; }
#gs-collection-game-root .gs-contest-header > div { flex: 1; min-width: 0; }
#gs-collection-game-root .gs-contest-header small { display: block; margin-bottom: 3px; color: #dfca91; font: bold 11px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-contest-header button { width: 44px; flex: 0 0 44px; font-size: 23px; }
#gs-collection-game-root .gs-contest-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 7px; flex: 0 0 auto; border-bottom: 1px solid #756366; }
#gs-collection-game-root .gs-contest-tabs button { padding: 6px 3px; font-size: 13px; }
#gs-collection-game-root .gs-contest-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 14px; scrollbar-color: #927456 #1b1518; }
#gs-collection-game-root .gs-contest-foot { flex: 0 0 auto; display: flex; gap: 8px; padding: 10px; border-top: 2px solid #927456; background: #25191e; }
#gs-collection-game-root .gs-contest-foot > button { flex: 1; }
#gs-collection-game-root .gs-contest-banner { height: 135px; background-size: cover; background-position: center 38%; display: flex; align-items: end; border: 1px solid #927456; }
#gs-collection-game-root .gs-contest-banner span { width: 100%; padding: 8px 12px; background: #100e11df; color: #dfca91; font: bold 16px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-contest-facts { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin: 8px 0; color: #dfca91; font-size: 13px; }
#gs-collection-game-root .gs-contest-help { margin: 8px 0 12px; }
#gs-collection-game-root .gs-contest-lineup { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; margin: 12px 0; }
#gs-collection-game-root .gs-contest-lineup > :is(button,div) { min-width: 0; height: 106px; padding: 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #927456; background: #251b1f; overflow: hidden; }
#gs-collection-game-root .gs-contest-lineup img { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-lineup small { font: 11px/1.3 Arial,sans-serif; max-width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#gs-collection-game-root .gs-contest-lineup .is-empty { border-style: dashed; color: #b7a5a4; }
#gs-collection-game-root .gs-contest-lineup .is-empty span { font: 22px 'Courier New',monospace; }
#gs-collection-game-root .gs-contest-selection-state { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; border-bottom: 1px solid #756366; padding-bottom: 10px; margin-bottom: 12px; }
#gs-collection-game-root .gs-contest-section-title { margin: 14px 0 10px; }
#gs-collection-game-root .gs-contest-objects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
#gs-collection-game-root .gs-contest-object { display: flex; flex-direction: column; min-width: 0; padding: 12px; border: 1px solid #756366; background: #241a1f; }
#gs-collection-game-root .gs-contest-object.is-selected { border: 2px solid #dfca91; padding: 11px; background: #332127; }
#gs-collection-game-root .gs-contest-object-top { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 12px; align-items: start; }
#gs-collection-game-root .gs-contest-object-image { width: 96px; height: 96px; background: #100e11; border: 1px solid #927456; display: grid; place-items: center; }
#gs-collection-game-root .gs-contest-object-image > .gs-catalog-sprite { display: block; width: 88px !important; height: 88px !important; max-width: 88px !important; object-fit: contain; image-rendering: pixelated; flex: none; }
#gs-collection-game-root .gs-contest-object-copy { min-width: 0; }
#gs-collection-game-root .gs-contest-object-copy > strong { display: block; font: bold 15px/1.35 Arial,sans-serif; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-contest-object .gs-object-details { margin: 5px 0 0; }
#gs-collection-game-root .gs-contest-object .gs-object-packaging { font: 12px/1.4 Arial,sans-serif; margin-bottom: 6px; }
#gs-collection-game-root .gs-contest-object .gs-object-condition { font: bold 12px/1.4 Arial,sans-serif; padding: 3px 6px; }
#gs-collection-game-root .gs-contest-object-match { color: #dfca91; font: 12px/1.5 Arial,sans-serif; margin: 8px 0; }
#gs-collection-game-root .gs-contest-rpg details { margin: 8px 0; border: 1px solid #756366; padding: 8px 10px; background: #1b1518; }
#gs-collection-game-root .gs-contest-rpg summary { min-height: 30px; cursor: pointer; color: #dfca91; font: bold 13px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-contest-rpg .gs-object-description { margin: 8px 0; padding: 10px; border: 1px solid #756366; background: #2b2024; font: 14px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-contest-object > button { margin-top: auto; width: 100%; }
#gs-collection-game-root .gs-contest-hall-presentation { margin: 0; padding: 0; min-width: 0; }
#gs-collection-game-root .gs-contest-hall-presentation > figcaption { padding: 6px 0 0; color: #dfca91; font: 12px/1.4 Arial,sans-serif; text-align: center; }
#gs-collection-game-root .gs-contest-hall { position: relative; isolation: isolate; overflow: hidden; background-size: cover; background-position: center; border: 1px solid #927456; }
#gs-collection-game-root .gs-contest-hall-stage { position: relative; width: min(100%,640px); aspect-ratio: 2 / 1; margin: 0 auto; }
#gs-collection-game-root .gs-contest-hall-judges { position: absolute; z-index: 2; bottom: 18%; left: 9%; right: 9%; display: flex; justify-content: space-around; height: 68%; }
#gs-collection-game-root .gs-contest-hall-judge { position: relative; height: 100%; min-width: 0; flex: 1; }
#gs-collection-game-root .gs-contest-hall-judge img { position: absolute; left: 50%; transform: translateX(-50%); width: auto !important; height: 100% !important; max-width: none !important; max-height: none; margin: 0; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-hall-table { position: absolute; width: 92% !important; height: auto !important; max-width: none !important; max-height: none; bottom: 8%; left: 4%; margin: 0; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-hall-table.is-back { z-index: 1; }
#gs-collection-game-root .gs-contest-hall-table.is-front { z-index: 3; clip-path: inset(12% 0 0 0); }
#gs-collection-game-root .gs-contest-jurors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
#gs-collection-game-root .gs-contest-jurors article { display: flex; gap: 10px; align-items: start; padding: 10px; border-bottom: 1px solid #756366; }
#gs-collection-game-root .gs-contest-jurors img { width: 72px; height: 72px; object-fit: contain; image-rendering: pixelated; flex: 0 0 72px; background: #241a1f; }
#gs-collection-game-root .gs-contest-jurors strong { font-size: 15px; }
#gs-collection-game-root .gs-contest-jurors p { font-size: 14px; margin-top: 4px; }
#gs-collection-game-root .gs-contest-rival { display: flex; align-items: start; gap: 12px; padding: 14px; margin: 18px 0; background: #2d1c21; border: 2px solid #927456; }
#gs-collection-game-root .gs-contest-rival > img { width: 88px; height: 88px; flex: 0 0 88px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-rival small { font: bold 11px/1.4 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-contest-rival span { color: #c9bebb; font-size: 13px; }
#gs-collection-game-root .gs-contest-rival p { margin: 8px 0; font-size: 14px; }
#gs-collection-game-root .gs-contest-rival b { font-size: 13px; color: #dfca91; }
#gs-collection-game-root .gs-contest-duel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
#gs-collection-game-root .gs-contest-duel > div { display: grid; padding: 10px; border: 1px solid #927456; text-align: center; }
#gs-collection-game-root .gs-contest-duel strong { font: bold 30px/1.4 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-contest-notes > div { display: flex; justify-content: space-between; border-bottom: 1px solid #49363e; }
#gs-collection-game-root .gs-contest-feedback p { padding: 10px 0; border-bottom: 1px solid #49363e; }
#gs-collection-game-root .gs-contest-onstage-label { margin: 10px 0; font: bold 12px/1.4 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-contest-onstage-items { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; }
#gs-collection-game-root .gs-contest-onstage-items > div { min-width: 0; text-align: center; }
#gs-collection-game-root .gs-contest-onstage-sprite { width: 64px; height: 64px; max-width: 100%; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-onstage-items small { display: block; font: 11px/1.3 Arial,sans-serif; }
#gs-collection-game-root .gs-contest-rival-badge { display: flex; align-items: center; gap: 8px; margin: 10px 0; border-bottom: 1px solid #756366; font-size: 13px; }
#gs-collection-game-root .gs-contest-rival-badge img { width: 40px; height: 40px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue { display: flex; gap: 12px; padding: 12px; border: 1px solid #927456; border-radius: 0; background: #2d1c21; box-shadow: none; min-width: 0; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-portrait { width: 72px; height: 72px; min-width: 72px; flex: 0 0 72px; background: #1b1518; border-radius: 0; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-portrait img { width: 72px; height: 72px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-copy { min-width: 0; flex: 1; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-copy > small { font: 11px/1.4 Arial,sans-serif; color: #dfca91; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-copy > strong { display: block; font: bold 16px/1.4 Arial,sans-serif; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-copy p { font: 15px/1.5 Arial,sans-serif; margin-top: 8px; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-statement-choices { display: grid; grid-template-columns: 1fr; gap: 6px; margin-top: 12px; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-statement-choice small { font: 12px/1.4 Arial,sans-serif; }
#gs-collection-game-root .gs-contest-foot .gs-contest-stage-actions { width: 100%; display: flex; margin: 0; gap: 8px; }
#gs-collection-game-root .gs-contest-foot .gs-contest-stage-actions button { flex: 1; }
@media (max-width: 1080px) {
 #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-concours { grid-template-rows: 76px minmax(0,1fr) auto !important; gap: 0 !important; padding: 0 !important; }
}
@media (max-width: 600px) {
 #gs-collection-game-root .gs-contest-rpg h2 { font-size: 17px; }
 #gs-collection-game-root .gs-contest-scroll { padding: 10px; }
 #gs-collection-game-root .gs-contest-objects,#gs-collection-game-root .gs-contest-jurors { grid-template-columns: 1fr; }
 #gs-collection-game-root .gs-contest-lineup { grid-template-columns: repeat(3,minmax(0,1fr)); }
 #gs-collection-game-root .gs-contest-lineup > :is(button,div) { height: 92px; }
 #gs-collection-game-root .gs-contest-rival { padding: 10px; gap: 10px; }
 #gs-collection-game-root .gs-contest-rival > img { width: 64px; height: 64px; flex-basis: 64px; }
 #gs-collection-game-root .gs-contest-onstage-items { grid-template-columns: repeat(3,minmax(0,1fr)); }
 #gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue { flex-direction: column; }
 #gs-collection-game-root .gs-contest-header { padding: 7px 9px; }
}
@media (max-height: 480px) {
 #gs-collection-game-root .gs-contest-header { padding: 4px 8px; }
 #gs-collection-game-root .gs-contest-rpg h2 { font-size: 16px; }
 #gs-collection-game-root .gs-contest-foot { padding: 6px; }
 #gs-collection-game-root .gs-contest-banner { height: 80px; }
}
#gs-collection-game-root .gs-contest-rpg :is(.gs-small-btn,.gs-contest-statement-choice) { background: #332227 !important; border-radius: 0 !important; color: #f0e7d2 !important; }
#gs-collection-game-root .gs-contest-rpg .gs-small-btn.is-primary { background: #54303a !important; border-color: #dfca91 !important; }
#gs-collection-game-root .gs-contest-onstage-items small { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
#gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-player-icon { background: #332227; color: #dfca91; }
@media (max-width: 600px) {
 #gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue { flex-direction: row; gap: 9px; padding: 9px; }
 #gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-portrait { width: 56px; min-width: 56px; height: 56px; flex-basis: 56px; }
 #gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-portrait img { width: 56px; height: 56px; }
 #gs-collection-game-root .gs-contest-rpg .gs-contest-dialogue-copy p { font-size: 14px; }
}
/* Place du Marché, logement et comptes — 0.9.337. */
#gs-collection-game-root .gs-room-chrome .gs-customize-mode-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.45fr); gap: 7px; }
#gs-collection-game-root .gs-customize-upgrade { pointer-events: auto; touch-action: manipulation; min-height: 44px; padding: 8px; border: 2px solid #927456; border-radius: 0; background: #54303a; color: #f0e7d2; box-shadow: inset 0 0 0 2px #24171d; font: 13px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-customize-upgrade strong,#gs-collection-game-root .gs-customize-upgrade small { display: block; }
#gs-collection-game-root .gs-customize-upgrade small { font: 12px/1.4 Arial,sans-serif; color: #dfca91; }
#gs-collection-game-root .gs-customize-upgrade:disabled { opacity: .6; }
#gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner { grid-column: 1/-1; padding: 2px 0; }
#gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner small { display: none; }
#gs-collection-game-root .gs-daily-finance { width: min(600px,100%); }
#gs-collection-game-root .gs-daily-finance .gs-rpg-menu-head small { display: block; }
#gs-collection-game-root .gs-finance-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
#gs-collection-game-root .gs-finance-totals > div { padding: 10px; border: 1px solid #756366; background: #251b20; }
#gs-collection-game-root .gs-finance-totals small,#gs-collection-game-root .gs-finance-totals strong { display: block; }
#gs-collection-game-root .gs-finance-totals strong { margin-top: 5px; color: #dfca91; font: bold 17px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-finance-balance { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 0; border-bottom: 1px solid #927456; }
#gs-collection-game-root .gs-finance-wallet { padding: 10px 0; font: 14px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-finance-movements { margin: 8px 0; padding: 0; list-style: none; }
#gs-collection-game-root .gs-finance-movements li { display: flex; justify-content: space-between; align-items: start; gap: 8px; padding: 8px 0; border-bottom: 1px solid #49363e; }
#gs-collection-game-root .gs-finance-movements small { display: block; color: #c9bebb; }
#gs-collection-game-root .gs-finance-movements strong { color: #dfca91; white-space: nowrap; font-size: 13px; }
#gs-collection-game-root .gs-finance-day-nav { display: flex; gap: 8px; margin-bottom: 12px; }
#gs-collection-game-root .gs-finance-day-nav button { flex: 1; }
#gs-collection-game-root .gs-journal-finance { padding: 12px; }
#gs-collection-game-root .gs-journal-finance h3 { font: bold 18px/1.4 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-journal-finance p { font: 14px/1.5 Arial,sans-serif; }

/* v0.9.341 — menu de session et affichage natif. Le cadre RPG reste commun. */
#gs-collection-game-root .gs-menu-screen.gs-menu-screen-art {
  box-sizing: border-box; width: 100% !important; max-width: 100% !important;
  height: var(--gs-available-height,100dvh) !important; min-height: 0 !important;
  margin: 0 !important; overflow: hidden;
}
#gs-collection-game-root .gs-menu-display {
  position: absolute; top: max(14px,env(safe-area-inset-top,0px)); right: max(14px,env(safe-area-inset-right,0px));
  z-index: 64; display: flex; align-items: center; gap: 6px; min-height: 48px; padding: 6px 10px;
  pointer-events: auto; touch-action: manipulation; border: 6px solid transparent;
  border-image: url('../img/ui/rpg/panel-frame.svg') 12 / 6px / 0 stretch;
  border-radius: 0; background: #24171c; color: #f0dfae;
  font: bold 12px/1.3 'Courier New',monospace; cursor: pointer;
}
#gs-collection-game-root .gs-display-icon { display: block; width: 28px; height: 28px; flex: 0 0 28px; image-rendering: auto; }
#gs-collection-game-root .gs-display-options { display: grid; gap: 12px; }
#gs-collection-game-root .gs-display-options button { display: flex; align-items: center; gap: 12px; text-align: left; min-height: 58px; }
#gs-collection-game-root .gs-display-status { margin: 12px 0 0; color: #dfca91; font: 14px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-display-status:empty { display: none; }
#gs-collection-game-root .gs-menu-display-panel { width: min(440px,100%); }
#gs-collection-game-root .gs-menu-music-toggle { pointer-events: auto; left: auto; right: max(14px,env(safe-area-inset-right,0px)); bottom: max(14px,env(safe-area-inset-bottom,0px)); transform: none; }
#gs-collection-game-root .gs-menu-music-toggle:active { transform: scale(.96); }
#gs-collection-game-root .gs-menu-play-stealth { display: none; }
#gs-collection-game-root .gs-menu-tap-note { display: none; }
#gs-collection-game-root .gs-menu-start-btn { bottom: 58px; border-radius: 0; border: 2px solid #b6a078; background: #4b2632; color: #f0dfae; min-height: 48px; box-shadow: inset 0 0 0 1px #100c0e,2px 2px 0 #070507; }
#gs-collection-game-root .gs-menu-save-floating { bottom: 116px; font-size: 12px; background: #24171ce8; border: 1px solid #927456; border-radius: 0; }
#gs-collection-game-root .gs-menu-screen-art .gs-menu-art { background-size: contain !important; background-repeat: no-repeat; background-position: center; }
#gs-collection-game-root .gs-menu-new-game { top: max(14px,env(safe-area-inset-top,0px)); left: max(14px,env(safe-area-inset-left,0px)); border-radius: 0; min-height: 44px; border-color: #927456; background: #24171ce8; color: #f0dfae; }
#gs-collection-game-root:fullscreen,
#gs-collection-game-root.gs-native-fullscreen {
  position: fixed !important; inset: 0 !important; width: 100% !important; max-width: none !important;
  height: 100dvh !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: #100c0e; --gs-admin-bar-height: 0px; --gs-cabinet-top: 0px;
}
#gs-collection-game-root::-webkit-backdrop { background: #100c0e; }
#gs-collection-game-root::backdrop { background: #100c0e; }
#gs-collection-game-root.gs-native-fullscreen .gs-game-shell { width: 100% !important; max-width: none !important; margin: 0 !important; }
#gs-collection-game-root.gs-native-fullscreen.gs-touch-input .gs-game-shell:not(.is-intro-shell):not(.is-stall-focus):not(.is-customize-shell) { padding-top: env(safe-area-inset-top,0px) !important; padding-right: env(safe-area-inset-right,0px) !important; padding-bottom: env(safe-area-inset-bottom,0px) !important; padding-left: env(safe-area-inset-left,0px) !important; }
@media (orientation: landscape) and (max-height: 560px) {
  #gs-collection-game-root.gs-touch-input { position: fixed !important; inset: var(--gs-admin-bar-height,0px) 0 0 !important; height: var(--gs-available-height,100dvh) !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  #gs-collection-game-root .gs-menu-display span { display: none; }
  #gs-collection-game-root .gs-menu-save-floating { bottom: 88px; padding: 6px 10px; }
  #gs-collection-game-root .gs-menu-start-btn { bottom: 28px; }
  #gs-collection-game-root .gs-menu-note-floating { display: none; }
  #gs-collection-game-root .gs-menu-engine-watermark { display: none; }
  #gs-collection-game-root .gs-menu-display-panel .gs-rpg-menu-head { padding: 8px 12px; }
  #gs-collection-game-root .gs-menu-display-panel .gs-rpg-menu-scroll { padding: 10px 12px; }
  #gs-collection-game-root .gs-display-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  #gs-collection-game-root .gs-display-options button { font-size: 13px; padding: 8px; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell:not(.is-stall-focus):not(.is-intro-shell):not(.is-customize-shell) { height: 100% !important; min-height: 0 !important; max-height: 100% !important; display: grid !important; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: 64px minmax(0,1fr) 48px !important; overflow: hidden !important; padding: 0 !important; gap: 0 !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell .gs-game-topbar,
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-collection > .gs-game-topbar { height: 64px !important; min-height: 0 !important; max-height: 64px !important; grid-template-rows: minmax(0,1fr) 20px !important; padding: 3px 6px !important; grid-row: 1 !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-topbar .gs-brand,#gs-collection-game-root.gs-touch-input .gs-game-topbar .gs-icon-btn { display: none !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell .gs-stat { min-height: 0 !important; padding: 0 6px !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-topbar .gs-stat strong { font-size: 14px !important; }
  #gs-collection-game-root.gs-touch-input .gs-hud-calendar { font-size: 11px; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell > .gs-tabs { grid-row: 3 !important; position: relative !important; inset: auto !important; display: flex !important; height: 48px !important; min-height: 0 !important; margin: 0 !important; padding: 4px max(6px,env(safe-area-inset-right,0px)) 4px max(6px,env(safe-area-inset-left,0px)) !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell > .gs-tabs button { flex: 1; min-height: 40px !important; font-size: 11px !important; padding: 4px !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection > .gs-home-dashboard { grid-row: 2 !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; overflow: hidden !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection .gs-home-content-grid { display: block !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection :is(.gs-home-panel,.gs-home-bottom-row) { display: none !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-market .gs-market-screen { position: relative !important; inset: auto !important; grid-row: 2 !important; height: 100% !important; min-height: 0 !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell > .gs-log { display: none !important; }
  #gs-collection-game-root.gs-touch-input .gs-room-chrome .gs-room-titlebar { height: 44px !important; min-height: 44px; }
  #gs-collection-game-root.gs-touch-input .gs-room-titlebar .gs-room-chip { min-height: 0 !important; padding: 4px 8px !important; }
  #gs-collection-game-root.gs-touch-input .gs-room-titlebar .gs-room-chip strong { font-size: 12px; line-height: 16px; }
  #gs-collection-game-root.gs-touch-input .gs-room-titlebar .gs-room-chip small { font-size: 10px; line-height: 13px; }
  #gs-collection-game-root.gs-touch-input .gs-room-titlebar .gs-room-arrange-btn { min-height: 36px !important; padding: 4px 8px !important; }
  #gs-collection-game-root.gs-touch-input .gs-room .gs-room-control-dock { position: absolute; bottom: 8px; left: 0; right: 0; height: 80px; min-height: 0 !important; padding: 0 8px !important; background: transparent; pointer-events: none; z-index: 80; }
  #gs-collection-game-root.gs-touch-input .gs-room-control-dock :is(.gs-joystick,.gs-room-zoom) { pointer-events: auto; }
  #gs-collection-game-root.gs-touch-input .gs-room .gs-room-control-dock .gs-joystick { width: 80px !important; height: 80px !important; top: 0 !important; }
  #gs-collection-game-root.gs-touch-input .gs-room-control-dock .gs-joystick .gs-joystick-knob { width: 34px !important; height: 34px !important; margin: -17px 0 0 -17px !important; }
  #gs-collection-game-root.gs-touch-input .gs-city-map-stage .gs-city-joystick,
  #gs-collection-game-root.gs-touch-input .gs-market-screen .gs-joystick { bottom: 12px !important; width: 80px !important; height: 80px !important; }
  #gs-collection-game-root.gs-touch-input :is(.gs-city-map-title,.gs-city-map-tools) { max-width: 45%; font-size: 11px; }
}

/* v0.9.344 — commandes confortables en paysage, sans ancienne séparation. */
@media (orientation: landscape) and (max-height: 560px) {
  #gs-collection-game-root.gs-touch-input {
    --gs-landscape-stick-inset: clamp(64px, 7vw, 88px);
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection .gs-home-content-grid > .gs-room,
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell > .gs-room {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 48px !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell > .gs-room { grid-row: 1 !important; }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell > .gs-tabs { grid-row: 2 !important; }
  #gs-collection-game-root.gs-touch-input .gs-room .gs-room-control-dock {
    position: absolute !important;
    inset: auto 0 8px !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-room .gs-room-control-dock .gs-joystick {
    top: 0 !important;
    bottom: auto !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-room .gs-room-control-dock .gs-room-zoom {
    position: absolute !important;
    left: auto !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    top: auto !important;
    bottom: 16px !important;
    width: auto !important;
  }
  #gs-collection-game-root.gs-touch-input.gs-controls-left .gs-room .gs-room-control-dock .gs-room-zoom {
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-room.is-customize-mode .gs-room-control-dock .gs-customize-hud {
    position: absolute !important;
    left: calc(180px + env(safe-area-inset-left, 0px)) !important;
    right: calc(180px + env(safe-area-inset-right, 0px)) !important;
    top: auto !important;
    bottom: 0 !important;
    width: auto !important;
    max-height: 100px !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-market-screen .gs-joystick { bottom: 64px !important; }
  #gs-collection-game-root.gs-touch-input.gs-controls-right :is(.gs-room .gs-room-control-dock, .gs-market-screen, .gs-city-map-stage) .gs-joystick {
    left: calc(var(--gs-landscape-stick-inset) + env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
  }
  #gs-collection-game-root.gs-touch-input.gs-controls-left :is(.gs-room .gs-room-control-dock, .gs-market-screen, .gs-city-map-stage) .gs-joystick {
    left: auto !important;
    right: calc(var(--gs-landscape-stick-inset) + env(safe-area-inset-right, 0px)) !important;
  }
}

/* v0.9.342 — Journal minimal et fenêtres au-dessus de RetroWeb. */
#gs-collection-game-root .gs-rpg-menu-backdrop.is-above-pc { z-index: 2147482500 !important; }
#gs-collection-game-root .gs-imperial-confirm-modal { z-index: 2147483000 !important; }
#gs-collection-game-root .gs-journal-rival {
  display: flex; align-items: center; gap: 12px; padding: 12px; min-width: 0;
  color: var(--gs-rpg-text); text-align: left;
}
#gs-collection-game-root .gs-journal-rival > img {
  display: block; width: 72px; height: 72px; flex: 0 0 72px; object-fit: contain;
  image-rendering: pixelated; border-radius: 0;
}
#gs-collection-game-root .gs-journal-rival > div { min-width: 0; }
#gs-collection-game-root .gs-journal-rival strong {
  display: block; font: bold 16px/1.4 Arial, sans-serif; color: var(--gs-rpg-text);
}
#gs-collection-game-root .gs-journal-rival span {
  display: block; margin-top: 6px; font: 14px/1.5 Arial, sans-serif; color: var(--gs-rpg-muted);
}
#gs-collection-game-root .gs-journal-rival b { color: var(--gs-rpg-gold); }
#gs-collection-game-root .gs-player-profile-image { object-fit: cover; image-rendering: auto; }
#gs-collection-game-root .gs-pc-journal-avatar .gs-player-profile-image { width: 100%; height: 100%; }
#gs-collection-game-root .gs-journal-rival .gs-rival-tally {
  display: inline-block; margin: 0; font: inherit; color: inherit; white-space: nowrap;
}

/* v0.9.343 — Journal partagé et pastels de compétences, sans changer la progression. */
#gs-collection-game-root .gs-collector-skill[data-skill="negociation"] { --gs-skill-paper: #dfd1b5; --gs-skill-accent: #735b35; }
#gs-collection-game-root .gs-collector-skill[data-skill="oeilDeLynx"] { --gs-skill-paper: #c8d5db; --gs-skill-accent: #466477; }
#gs-collection-game-root .gs-collector-skill[data-skill="restauration"] { --gs-skill-paper: #c8d2bd; --gs-skill-accent: #576a45; }
#gs-collection-game-root .gs-collector-skill[data-skill="cultureGaming"] { --gs-skill-paper: #d3c7dd; --gs-skill-accent: #705681; }
#gs-collection-game-root .gs-collector-skill[data-skill="presentation"] { --gs-skill-paper: #ddcecf; --gs-skill-accent: #80595d; }
#gs-collection-game-root .gs-collector-skill[data-skill="instinctArchive"] { --gs-skill-paper: #d2cebd; --gs-skill-accent: #6e654a; }
#gs-collection-game-root .gs-collector-skill[data-skill="sympathie"] { --gs-skill-paper: #c4d7cf; --gs-skill-accent: #466a5c; }
#gs-collection-game-root .gs-collector-skill[data-skill="humour"] { --gs-skill-paper: #e0dbb7; --gs-skill-accent: #726a3c; }
#gs-collection-game-root .gs-collector-skill[data-skill="persuasion"] { --gs-skill-paper: #c6cede; --gs-skill-accent: #506185; }
#gs-collection-game-root .gs-collector-skill[data-skill="passion"] { --gs-skill-paper: #ddc6b7; --gs-skill-accent: #835b43; }
#gs-collection-game-root .gs-collector-skills .gs-collector-skill {
  background: var(--gs-skill-paper) !important; color: #302829 !important;
  border-color: var(--gs-skill-accent) !important; box-shadow: inset 0 1px 0 #ffffff59 !important;
}
#gs-collection-game-root .gs-collector-skill :is(strong,b,.gs-skill-caption,.gs-skill-caption em) { color: #302829 !important; }
#gs-collection-game-root .gs-collector-skill .gs-rpg-ui-icon { color: var(--gs-skill-accent); }
#gs-collection-game-root .gs-collector-skill .gs-skill-meter { background: #f2eee3; border-color: var(--gs-skill-accent); }
#gs-collection-game-root .gs-collector-skill .gs-skill-meter i { background: var(--gs-skill-accent); }
#gs-collection-game-root .gs-collector-skill:hover { filter: brightness(1.04); }
#gs-collection-game-root .gs-collector-skill:focus-visible { outline: 3px solid #f0dfae; outline-offset: 2px; }
#gs-collection-game-root .gs-pixel-browser-content:is(.is-journal,.is-mail) {
  display: flex !important; align-items: stretch !important; padding: 0 !important;
  overflow: hidden !important; background: var(--gs-rpg-panel);
}
#gs-collection-game-root .gs-pixel-browser-content .gs-rpg-journal.is-embedded {
  flex: 1 1 auto; width: 100% !important; max-width: none !important; height: 100% !important;
  margin: 0 !important; border: 0 !important; border-image: none !important;
}
#gs-collection-game-root .gs-pixel-journal-page .gs-collector-skills { margin: 0 0 20px; }

/* Le PC tactile tient dans la hauteur disponible sous la barre WordPress. */
@media (max-width: 900px) {
  #gs-collection-game-root .gs-desktop-backdrop {
    inset: var(--gs-cabinet-top,0px) 0 0 !important;
    height: calc(100dvh - var(--gs-cabinet-top,0px)) !important;
  }
  #gs-collection-game-root .gs-desktop-window-pixel { width: 100% !important; height: 100% !important; }
}

/* Courrier : le cadre est l'asset RetroWeb, seuls les messages défilent. */
#gs-collection-game-root .gs-pixel-mail-page {
  display: flex !important; flex-direction: column; gap: 0 !important; flex: 1 1 auto; width: 100%; max-width: none;
  height: 100%; min-height: 0; padding: 0 !important; margin: 0; overflow: hidden;
  color: #f0e7d2; font: 14px/1.5 Arial,sans-serif; letter-spacing: 0;
}
#gs-collection-game-root .gs-pixel-mail-page * { box-sizing: border-box; letter-spacing: 0 !important; }
#gs-collection-game-root .gs-pixel-mail-page button {
  min-height: 44px; padding: 10px 12px; border: 1px solid #927456; border-radius: 0;
  background: #332227; color: #f0e7d2; font: bold 13px/1.45 'Courier New',monospace;
  white-space: normal; box-shadow: none;
}
#gs-collection-game-root .gs-pixel-mail-page button:focus-visible { outline: 3px solid #dfca91; outline-offset: 2px; }
#gs-collection-game-root .gs-pc-mail-head { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #2d1c21; border-bottom: 2px solid #927456; }
#gs-collection-game-root .gs-pc-mail-head img { width: 40px; height: 40px; object-fit: contain; }
#gs-collection-game-root .gs-pc-mail-head > div { flex: 1; min-width: 0; }
#gs-collection-game-root .gs-pc-mail-head h2 { margin: 0 !important; padding: 0 !important; border: 0 !important; color: #f0dfae !important; font: bold 21px/1.3 'Courier New',monospace !important; }
#gs-collection-game-root .gs-pc-mail-head small { display: block; font: bold 10px/1.3 'Courier New',monospace; color: #dfca91; }
#gs-collection-game-root .gs-pc-mail-head span { font: 12px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-pc-mail-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 12px; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #927456 #100c0e; }
#gs-collection-game-root .gs-pc-mail-filters { display: flex; gap: 8px; margin-bottom: 12px; }
#gs-collection-game-root .gs-pc-mail-filters button { flex: 1; }
#gs-collection-game-root .gs-pc-mail-filters button[aria-pressed="true"] { background: #54303a; border-color: #dfca91; }
#gs-collection-game-root .gs-pc-mail-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
#gs-collection-game-root .gs-pc-mail-list li { margin: 0; padding: 0; list-style: none; }
#gs-collection-game-root .gs-pixel-mail-page .gs-pc-mail-row { display: block; width: 100%; text-align: left; background: #211c1e; border-color: #756366; }
#gs-collection-game-root .gs-pixel-mail-page .gs-pc-mail-row.is-unread { border-left: 3px solid #dfca91; background: #2c2327; }
#gs-collection-game-root .gs-pc-mail-row-head { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
#gs-collection-game-root .gs-pc-mail-row-head strong { min-width: 0; font: bold 12px/1.4 Arial,sans-serif; color: #dfca91; }
#gs-collection-game-root .gs-pc-mail-row-head small { flex: 0 0 auto; font: 11px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-pc-mail-subject { display: block; font: 15px/1.45 Arial,sans-serif; color: #f0e7d2; }
#gs-collection-game-root .gs-pc-mail-row.is-unread .gs-pc-mail-subject { font-weight: bold; }
#gs-collection-game-root .gs-pc-mail-read-state { display: block; margin-top: 4px; font: 11px/1.4 Arial,sans-serif; color: #c9bebb; }
#gs-collection-game-root .gs-pc-mail-message h3 { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; color: #f0dfae !important; font: bold 18px/1.4 'Courier New',monospace !important; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-pc-mail-meta { margin: 0 0 16px; padding: 10px; border: 1px solid #756366; background: #211c1e; }
#gs-collection-game-root .gs-pc-mail-meta > div { display: grid; grid-template-columns: minmax(0,1fr); gap: 3px; margin-bottom: 8px; }
#gs-collection-game-root .gs-pc-mail-meta > div:last-child { margin-bottom: 0; }
#gs-collection-game-root .gs-pc-mail-meta dt { font: bold 11px/1.4 Arial,sans-serif; color: #dfca91; }
#gs-collection-game-root .gs-pc-mail-meta dd { margin: 0; color: #c9bebb; font: 13px/1.45 Arial,sans-serif; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-pc-mail-meta code { color: #f0e7d2; font: 12px/1.5 'Courier New',monospace; white-space: normal; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-pc-mail-letter p { margin: 0 0 12px; color: #f0e7d2; font: 15px/1.6 Arial,sans-serif; }
#gs-collection-game-root :is(.gs-pc-mail-reflex,.gs-pc-mail-feedback) { margin-top: 18px; padding: 12px; border: 1px solid #927456; background: #2b2526; }
#gs-collection-game-root :is(.gs-pc-mail-reflex,.gs-pc-mail-feedback) h4 { margin: 0 0 10px; color: #dfca91; font: bold 16px/1.4 'Courier New',monospace; }
#gs-collection-game-root .gs-pc-mail-reflex > div { display: grid; gap: 9px; }
#gs-collection-game-root .gs-pc-mail-feedback p { margin: 0 0 12px; color: #f0e7d2; font: 14px/1.6 Arial,sans-serif; }
#gs-collection-game-root .gs-pc-mail-feedback.is-correct { border-left: 3px solid #b3c6a5; }
#gs-collection-game-root .gs-pc-mail-feedback.is-review { border-left: 3px solid #dfca91; }
#gs-collection-game-root .gs-pc-mail-foot { flex: 0 0 auto; padding: 9px 12px; border-top: 1px solid #756366; background: #151013; }
#gs-collection-game-root .gs-pc-mail-foot button { width: 100%; }
#gs-collection-game-root .gs-pc-mail-empty { margin: 0; color: #c9bebb; font: 14px/1.5 Arial,sans-serif; }
#gs-collection-game-root .gs-pixel-desktop-icon.is-mail .gs-pixel-desktop-icon-badge { position: relative; }
#gs-collection-game-root .gs-pc-mail-badge { position: absolute; right: 15%; top: 3px; display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; border: 1px solid #dfca91; background: #54303a; color: #f0e7d2; font: bold 12px/1 Arial,sans-serif; }
@media (orientation: landscape) and (max-height: 500px) {
  #gs-collection-game-root .gs-pc-mail-head { padding: 6px 9px; }
  #gs-collection-game-root .gs-pc-mail-head img { width: 28px; height: 28px; }
  #gs-collection-game-root .gs-pc-mail-foot { padding: 5px 9px; }
}
/* v0.9.346 — Quartiers et habitants : mêmes matériaux que les menus RPG. */
#gs-collection-game-root .gs-city-map-title,
#gs-collection-game-root .gs-city-map-tools button {
  border-radius:0 !important; background:#1b1518 !important;
  border-color:#927456 !important; color:#dfca91 !important;
}
#gs-collection-game-root .gs-city-map-zoom .gs-rpg-ui-icon { width:16px; height:16px; margin:auto; }
#gs-collection-game-root .gs-city-map-hud { flex-wrap:wrap; gap:8px; }
#gs-collection-game-root .gs-city-map-tools { flex:0 0 auto; position:relative; z-index:21; }
#gs-collection-game-root .gs-city-map-tools button { min-height:44px; }
#gs-collection-game-root .gs-city-map-zoom { width:44px !important; min-width:44px !important; height:44px !important; touch-action:manipulation; }
#gs-collection-game-root .gs-city-map-hero { pointer-events:none; }
/* Même contexte de profondeur pour les silhouettes du décor et tous les acteurs.
   Les petits fragments réutilisent les pixels de la carte, sans nouvel atlas. */
#gs-collection-game-root .gs-city-cut-definitions { position:absolute; pointer-events:none; overflow:hidden; }
#gs-collection-game-root .gs-city-occluder {
  position:absolute; pointer-events:none; background-repeat:no-repeat;
  image-rendering:pixelated; padding:0; margin:0; border:0;
}
#gs-collection-game-root .gs-city-resident {
  position:absolute; transform:translateX(-50%); pointer-events:auto;
  min-width:0; min-height:0; padding:0; margin:0; border:0; border-radius:0;
  background:transparent; box-shadow:none; cursor:pointer; overflow:visible;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
#gs-collection-game-root .gs-city-resident-sprite {
  position:absolute; inset:0; display:block; background-repeat:no-repeat;
  image-rendering:pixelated; pointer-events:none;
}
#gs-collection-game-root .gs-city-resident-shadow {
  position:absolute; width:49%; height:9%; left:25.5%; top:89.5%;
  background:rgba(0,0,0,.25); border-radius:50%; pointer-events:none;
}
#gs-collection-game-root .gs-city-resident-label {
  display:none; position:absolute; bottom:104%; left:50%; transform:translateX(-50%);
  color:#f0e7d2; background:#1b1518; border:1px solid #927456;
  padding:3px 7px; font:12px/1.25 var(--gs-rpg-font,monospace); white-space:nowrap;
  pointer-events:none;
}
#gs-collection-game-root .gs-city-resident.is-near .gs-city-resident-label,
#gs-collection-game-root .gs-city-resident:focus-visible .gs-city-resident-label { display:block; }
#gs-collection-game-root .gs-city-resident:focus-visible { outline:2px solid #dfca91; outline-offset:3px; }
#gs-collection-game-root .gs-city-exit {
  --gs-exit-size:52px; --gs-exit-angle:0deg;
  position:absolute; z-index:3; transform:translate(-50%,-50%);
  width:56px; height:56px; min-height:44px; min-width:44px; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  cursor:pointer; overflow:visible; touch-action:manipulation;
}
#gs-collection-game-root .gs-city-exit img {
  position:absolute; left:50%; top:50%; width:var(--gs-exit-size); height:var(--gs-exit-size);
  display:block; image-rendering:auto; pointer-events:none; opacity:1;
  transform:translate(-50%,-50%) matrix(.9,.45,-.9,.45,0,0) rotate(var(--gs-exit-angle));
}
#gs-collection-game-root .gs-city-exit.is-nw { --gs-exit-angle:180deg; }
#gs-collection-game-root .gs-city-exit.is-ne { --gs-exit-angle:-90deg; }
#gs-collection-game-root .gs-city-exit.is-sw { --gs-exit-angle:90deg; }
#gs-collection-game-root .gs-city-exit.is-se { --gs-exit-angle:0deg; }
#gs-collection-game-root .gs-city-exit.is-s { --gs-exit-angle:45deg; }
#gs-collection-game-root .gs-city-exit.is-near img,
#gs-collection-game-root .gs-city-exit:focus-visible img { opacity:1; }
#gs-collection-game-root .gs-city-exit-label {
  display:block; position:absolute; z-index:12000; width:max-content;
  padding:4px 7px; background:#1b1518; color:#dfca91; border:1px solid #927456;
  font:12px/1.3 var(--gs-rpg-font,monospace); text-align:center; pointer-events:none;
  box-sizing:border-box; overflow-wrap:break-word;
}
#gs-collection-game-root .gs-city-exit-label[hidden] { display:none; }
#gs-collection-game-root .gs-city-exit:focus-visible { outline:2px solid #dfca91; outline-offset:2px; }
#gs-collection-game-root .gs-city-map-context[hidden] { display:none; }
@media (orientation:portrait) and (max-width:380px) and (max-height:700px) {
  /* Dégager les bouts de rue sur les petits écrans, sans déplacer les sorties. */
  #gs-collection-game-root .gs-city-map-stage .gs-city-joystick {
    bottom:max(12px,env(safe-area-inset-bottom,0px)) !important;
  }
  #gs-collection-game-root .gs-city-map-context {
    left:auto; right:12px; bottom:44px; width:calc(100% - 124px); transform:none;
  }
  #gs-collection-game-root.gs-controls-left .gs-city-map-context { left:12px; right:auto; }
}
#gs-collection-game-root .gs-city-home-door span,
#gs-collection-game-root .gs-city-map-context { border-radius:0; background:#1b1518; color:#dfca91; border-color:#927456; }
#gs-collection-game-root .gs-town-speaker { display:flex; gap:16px; align-items:flex-start; }
#gs-collection-game-root .gs-town-speaker img {
  width:96px; height:96px; flex:0 0 96px; object-fit:contain; image-rendering:pixelated;
  background:#100e11; border:2px solid #927456;
}
#gs-collection-game-root .gs-town-speaker p { margin:0 0 16px; color:#f0e7d2; font:16px/1.6 var(--gs-body-font,sans-serif); }
#gs-collection-game-root .gs-town-speaker h4 { margin:0 0 10px; color:#dfca91; font-size:16px; }
#gs-collection-game-root .gs-town-topics { display:grid; gap:10px; margin-top:12px; }
#gs-collection-game-root .gs-town-topics button { text-align:left; min-height:48px; }
@media(min-width:1081px) {
  #gs-collection-game-root .gs-screen-city .gs-city-map-stage {
    min-height:0 !important; height:min(68dvh,640px) !important; aspect-ratio:auto;
    border-radius:0 !important; background:#100e11;
  }
}
@media(max-width:480px) {
  #gs-collection-game-root .gs-town-speaker { gap:12px; }
  #gs-collection-game-root .gs-town-speaker img { width:72px; height:72px; flex-basis:72px; }
  #gs-collection-game-root .gs-town-speaker p { font-size:15px; }
}

/* v357 : portraits nommés et grain cohérent avec le héros. */
#gs-collection-game-root .gs-contest-hall::before { content: ''; position: absolute; inset: 0; background: #100e11a6; pointer-events: none; }
#gs-collection-game-root .gs-contest-jurors article { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; padding: 12px; border: 1px solid #756366; background: #241a1f; }
#gs-collection-game-root .gs-contest-juror-portrait { width: 64px; height: 64px; border: 1px solid #927456; background: #100e11; display: grid; place-items: center; }
#gs-collection-game-root .gs-contest-jurors img { width: 60px; height: 60px; margin: 0; background: transparent; }
#gs-collection-game-root .gs-contest-jurors strong { display: block; font: bold 15px/1.4 Arial,sans-serif; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-contest-jurors small { display: block; color: #dfca91; font: 11px/1.4 Arial,sans-serif; margin-top: 3px; }
#gs-collection-game-root .gs-contest-jurors p { font: 14px/1.5 Arial,sans-serif; margin: 6px 0 0; }
@media (orientation: landscape) and (min-width: 700px) and (max-height: 480px) {
  #gs-collection-game-root .gs-contest-rpg {
    display: grid; grid-template-columns: minmax(220px,2fr) minmax(320px,3fr);
    grid-template-rows: 52px minmax(0,1fr) 48px;
  }
  #gs-collection-game-root .gs-contest-header { grid-row: 1; grid-column: 1; padding: 3px 8px; }
  #gs-collection-game-root .gs-contest-tabs { grid-row: 1; grid-column: 2; padding: 3px; }
  #gs-collection-game-root .gs-contest-scroll { grid-row: 2; grid-column: 1 / -1; padding: 4px 10px; }
  #gs-collection-game-root .gs-contest-foot { grid-row: 3; grid-column: 1 / -1; padding: 1px 6px; }
  #gs-collection-game-root .gs-contest-hall-stage { width: min(100%,640px,calc((100dvh - 278px) * 2)); }
}

/* Découverte unique de Triplonville : bandeau discret, monde en pixel art visible. */
#gs-collection-game-root .gs-city-first-arrival {
  position: absolute; inset: 0; z-index: 14000;
  display: flex; align-items: flex-end; justify-content: center;
  padding: 12px; pointer-events: auto;
  background: linear-gradient(180deg, transparent 46%, rgba(13,10,16,.12) 68%, rgba(13,10,16,.56) 100%);
}
#gs-collection-game-root .gs-city-first-arrival-caption {
  box-sizing: border-box; width: min(100%, 510px);
  padding: 12px 14px 10px; color: #f0e5cb;
  border: 2px solid #b6a078; border-radius: 0;
  background: rgba(28,20,25,.96);
  box-shadow: 0 5px 0 rgba(13,9,13,.84), inset 0 0 0 2px #49343a;
}
#gs-collection-game-root .gs-city-first-arrival-meta {
  display: flex; justify-content: space-between; gap: 8px;
  color: #e1c488; font: bold 11px/1.45 'Courier New',monospace;
  letter-spacing: .08em;
}
#gs-collection-game-root .gs-city-first-arrival-caption p {
  margin: 8px 0 11px; font: 15px/1.5 Arial,sans-serif;
  color: #f3e7d4; text-wrap: pretty;
}
#gs-collection-game-root .gs-city-first-arrival-actions {
  display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap;
}
#gs-collection-game-root .gs-city-first-arrival-actions button {
  min-height: 44px; min-width: 88px; padding: 8px 12px;
  background: #332227; border: 2px solid #927456;
  color: #f4e8c9; border-radius: 0;
  font: bold 13px/1.25 'Courier New',monospace; cursor:pointer;
}
#gs-collection-game-root .gs-city-first-arrival-actions [data-action="city-first-arrival-next"] {
  background:#59404a; border-color:#d7b67b;
}
#gs-collection-game-root .gs-city-first-arrival-actions button:focus-visible {
  outline: 3px solid #ffe4a9; outline-offset: 2px;
}
@media (max-height: 410px) {
  #gs-collection-game-root .gs-city-first-arrival { padding: 6px; }
  #gs-collection-game-root .gs-city-first-arrival-caption { padding: 6px 10px; }
  #gs-collection-game-root .gs-city-first-arrival-caption p { margin: 5px 0; font-size: 13px; line-height: 1.3; }
}

/* Dans la rue des Tilleuls, le raccourci de l'atelier ne doit pas
   capturer les taps sur un habitant qui passe devant sa façade.
   Le plan des acteurs est à 4 ; la porte reste accessible au plan 3. */
#gs-collection-game-root .gs-city-map-world .gs-city-bike-shop-door { z-index:3; }
