/*
 * GS Collection Game — couche responsive canonique
 *
 * Règle de maintenance :
 * - le fichier principal contient uniquement les styles de base ;
 * - toutes les media queries vivent ici ;
 * - les trois blocs CANONIQUES en fin de fichier sont les seuls endroits où
 *   modifier le layout global mobile, tablette ou desktop.
 *
 * Les règles historiques ci-dessous restent regroupées ici pour les écrans
 * spécialisés (concours, télévision, brocante, ville, personnalisation).
 */

/* === Règles responsive historiques regroupées (ordre conservé) === */
@media (max-width: 980px) {
  .gs-lot-view {
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: 10px;
    padding: 12px;
  }
  .gs-lot-main {
    padding: 12px;
  }
  .gs-lot-actions {
    display: grid;
    gap: 8px;
    align-content: start;
  }
  .gs-lot-actions .gs-lot-action-notice,
  .gs-lot-actions .gs-lot-bond-card,
  .gs-lot-actions .gs-price-check-result,
  .gs-lot-actions .gs-lot-action-group {
    grid-column: 1 / -1;
  }
  .gs-lot-actions button {
    min-height: 40px;
    padding: 8px 9px;
    border-radius: 10px;
    font-size: 12px;
  }
  .gs-lot-action-group--negos button {
    font-size: 11px;
  }
  .gs-lot-head .gs-npc {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
  .gs-lot-head h2 {
    font-size: 22px;
  }
  .gs-lot-price {
    padding: 9px 10px;
    gap: 8px;
  }
  .gs-lot-price strong {
    font-size: 20px;
  }
  .gs-patience-meter {
    min-width: 0;
    flex: 1 1 100%;
    padding: 8px 9px;
    gap: 6px;
  }
  .gs-patience-meter-head strong {
    font-size: 11px;
  }
  .gs-patience-meter-head em {
    font-size: 10px;
  }
  .gs-patience-meter > span {
    height: 8px;
  }
}@media (max-width: 1180px) {
  .gs-game-topbar { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .gs-brand { grid-column: 1 / -1; }
}@media (max-width: 980px) {
  .gs-content-grid { grid-template-columns: 1fr; }
  .gs-room { grid-row: auto; grid-column: auto; min-height: 620px; }
  .gs-side-left, .gs-side-right { grid-column: auto; grid-row: auto; }
  .gs-side { grid-template-columns: 1fr 1fr; }
  .gs-lot-view { grid-template-columns: 1fr; }
}@media (max-width: 720px) {
  .gs-collection-game-root { width: 100%; margin: 0 auto 18px; }
  .gs-game-shell { border-radius: 0; border-left: 0; border-right: 0; }
  .gs-game-topbar { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gs-brand, .gs-stat, .gs-icon-btn { min-height: 64px; padding: 12px 14px; }
  .gs-brand b { font-size: 18px; }
  .gs-brand small, .gs-stat small { font-size: 10px; }
  .gs-stat strong { font-size: 20px; }
  .gs-tabs { padding: 12px 12px 0; gap: 8px; }
  .gs-tabs button { min-height: 42px; padding: 0 14px; font-size: 14px; }
  .gs-content-grid { gap: 12px; padding: 12px; }
  .gs-room { min-height: 520px; border-radius: 18px; }
  .gs-room-content { padding: 10px; }
  .gs-room-chip, .gs-room-mini-score { padding: 10px 12px; border-radius: 14px; }
  .gs-room-chip strong, .gs-room-mini-score strong { font-size: 16px; }
  .gs-room-bottom { grid-template-columns: 1fr; gap: 10px; }
  .gs-lot-hotspots { min-height: 190px; }
  .gs-room-hotspot { width: 92px; height: 96px; font-size: 12px; }
  .gs-box-1 { left: 12%; bottom: 29%; }
  .gs-box-2 { left: 37%; bottom: 12%; }
  .gs-box-3 { left: 62%; bottom: 18%; }
  .gs-mini-items { grid-template-columns: repeat(4, 1fr); }
  .gs-side { grid-template-columns: 1fr; }
  .gs-actions { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; padding: 0 12px 12px; }
  .gs-actions button { min-height: 90px; padding: 14px; border-radius: 16px; }
  .gs-actions strong { font-size: 14px; }
  .gs-actions small { font-size: 12px; }
  .gs-log { margin: 0 12px 12px; padding: 14px; border-radius: 18px; }
  .gs-lot-view, .gs-card-list, .gs-profile-view, .gs-empty, .gs-archives-locked { padding: 12px; }
  .gs-lot-head { align-items:flex-start; }
  .gs-lot-head .gs-npc { width: 66px; height: 66px; flex-basis: 66px; }
  .gs-lot-price strong { font-size: 24px; }
  .gs-lot-items { grid-template-columns: 1fr; }
  .gs-profile-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gs-event-card { grid-template-columns: 1fr; max-height: 92vh; overflow:auto; }
  .gs-event-npc { flex-direction: row; justify-content: flex-start; }
  .gs-event-npc .gs-npc { width: 74px; height: 74px; }
  .gs-event-content { padding: 18px; }
  .gs-event-content h3 { font-size: 20px; }
}@media (max-width: 980px) {
  .gs-stands-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gs-brocante-sign {
    flex-basis: 126px;
  }
}@media (max-width: 720px) {
  .gs-brocante-view {
    padding: 12px;
    gap: 12px;
  }
  .gs-brocante-hero {
    min-height: 160px;
    padding: 16px;
    align-items: flex-start;
  }
  .gs-brocante-sign {
    display: none;
  }
  .gs-stands-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .gs-stand-card {
    min-height: 152px;
    padding: 12px;
  }
  .gs-stand-card::before {
    left: auto;
    right: 12px;
    top: 56px;
    width: 128px;
    height: 54px;
    box-shadow: 0 32px 0 rgba(70,48,32,.86);
  }
  .gs-stand-card::after {
    left: auto;
    right: 22px;
    top: 76px;
    width: 94px;
    height: 24px;
  }
  .gs-stand-card strong {
    margin-top: 58px;
    max-width: calc(100% - 150px);
  }
  .gs-stand-card small,
  .gs-stand-card em {
    max-width: calc(100% - 150px);
  }
}@media (max-width: 980px) {
  .gs-life-place-desk { right: 26%; bottom: 25%; }
  .gs-life-place-shelf { right: 8%; bottom: 35%; }
  .gs-life-place-center { left: 42%; bottom: 23%; }
}@media (max-width: 720px) {
  .gs-life-character { width: 72px; height: 89px; }
  .gs-life-body { transform: scale(.82); transform-origin: 50% 100%; }
  .gs-life-bubble { min-width: 112px; font-size: 10px; }
  .gs-life-place-desk { right: 20%; bottom: 24%; transform: scale(.78); }
  .gs-life-place-shelf { right: 4%; bottom: 33%; transform: scale(.72); }
  .gs-life-place-center { left: 41%; bottom: 22%; transform: scale(.78); }
  .gs-brocante-hero .gs-market-runner {
    right: 18px;
    bottom: 8px;
    width: 92px;
    height: 106px;
    opacity: .95;
  }
}@media (max-width: 840px) {
  .gs-menu-screen {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .gs-menu-char-area {
    min-height: 220px;
    padding-bottom: 20px;
    order: 2;
    opacity: .6;
  }
  .gs-menu-char-area .gs-life-character {
    transform: scale(1.8) !important;
  }
  .gs-menu-content {
    padding: 48px 24px 24px;
    align-items: center;
    text-align: center;
    order: 1;
  }
  .gs-menu-board { width: 280px; height: 180px; }
  .gs-menu-save { text-align: left; }
}@media (max-width: 480px) {
  .gs-menu-logo { font-size: 34px; }
  .gs-menu-content { padding: 40px 18px 16px; gap: 12px; }
  .gs-menu-play { font-size: 14px; padding: 14px 24px; }
}@media (max-width: 720px) {
  html:has(body.gs-collection-game-page),
  body.gs-collection-game-page {
    overflow: hidden !important;
  }

  body.gs-collection-game-page .site-header,
  body.gs-collection-game-page header.site-header,
  body.gs-collection-game-page .gs-site-header,
  body.gs-collection-game-page .main-header,
  body.gs-collection-game-page .ticker,
  body.gs-collection-game-page .news-ticker,
  body.gs-collection-game-page .footer,
  body.gs-collection-game-page footer,
  body.gs-collection-game-page .site-footer {
    display: none !important;
  }

  .gs-collection-game-root {
    position: fixed;
    inset: 0;
    z-index: 99998;
    width: 100vw;
    height: 100dvh;
    margin: 0 !important;
    background: #05090d;
  }
  body.admin-bar .gs-collection-game-root {
    top: 46px;
    height: calc(100dvh - 46px);
  }

  .gs-game-shell {
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-rows: 56px minmax(0, 1fr) auto;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
  }

  .gs-game-topbar {
    grid-row: 1;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 56px;
    overflow: hidden;
    border-bottom: 2px solid rgba(42, 112, 172, .72);
    background: linear-gradient(180deg, #235a9b, #173c78);
  }
  .gs-game-topbar .gs-brand,
  .gs-game-topbar .gs-icon-btn {
    display: none !important;
  }
  .gs-game-topbar .gs-stat {
    display: flex !important;
    min-height: 56px;
    padding: 6px 8px;
    border-right: 1px solid rgba(255,255,255,.18);
    justify-content: center;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.08));
  }
  .gs-game-topbar .gs-stat small {
    color: rgba(255,255,255,.85);
    font-size: 9px;
    letter-spacing: .08em;
  }
  .gs-game-topbar .gs-stat strong {
    color: #fff;
    font-size: 18px;
    text-shadow: 0 2px 0 rgba(0,0,0,.35);
  }
  .gs-game-topbar .gs-stat:nth-child(3) strong { color: #ffd96c; }
  .gs-game-topbar .gs-stat:nth-child(4) strong { color: #66e0ff; }
  .gs-game-topbar .gs-stat:nth-child(5) strong { color: #f1d0ff; }

  .gs-tabs {
    grid-row: 3;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
    padding: 6px;
    margin: 0;
    background: linear-gradient(180deg, #224f96, #182f68);
    border-top: 2px solid rgba(255,255,255,.22);
    box-shadow: 0 -8px 22px rgba(0,0,0,.28);
    overflow: hidden;
  }
  .gs-tabs button,
  .gs-tab-menu {
    min-height: 50px;
    border-radius: 10px;
    padding: 0 4px;
    font-size: 10px;
    border: 2px solid rgba(255,255,255,.42);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.18);
    text-align: center;
  }
  .gs-tabs button.active {
    background: linear-gradient(180deg, #ff5c67, #9c1727);
    border-color: #ffd9d9;
  }

  .gs-content-grid,
  .gs-lot-view,
  .gs-card-list,
  .gs-profile-view,
  .gs-empty,
  .gs-archives-locked,
  .gs-brocante-view {
    grid-row: 2;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 6px !important;
    margin: 0 !important;
  }

  .gs-content-grid {
    display: block !important;
  }
  .gs-room {
    height: 100%;
    min-height: 0 !important;
    border-radius: 0;
    border: 0;
  }
  .gs-room-bg {
    background-position: center center;
    transform: scale(1.05);
  }
  .gs-room-content {
    padding: 7px;
  }
  .gs-room-titlebar {
    align-items: flex-start;
  }
  .gs-room-chip,
  .gs-room-mini-score {
    padding: 7px 9px;
    border-radius: 10px;
    background: rgba(6, 11, 15, .82);
  }
  .gs-room-chip strong,
  .gs-room-mini-score strong {
    font-size: 13px;
  }
  .gs-room-chip small,
  .gs-room-mini-score small {
    font-size: 9px;
  }

  .gs-room-bottom {
    display: block;
  }
  .gs-lot-hotspots,
  .gs-room-collection-panel,
  .gs-actions,
  .gs-log,
  .gs-side {
    display: none !important;
  }

  .gs-scene-action {
    min-width: 122px;
    padding: 7px 8px;
    border-radius: 10px;
  }
  .gs-scene-action strong {
    font-size: 11px;
  }
  .gs-scene-action small {
    font-size: 9px;
  }
  .gs-scene-brocante {
    left: 14%;
    bottom: 12%;
  }
  .gs-scene-collection {
    right: 5%;
    top: 25%;
  }
  .gs-scene-price {
    right: 6%;
    top: 48%;
  }
  .gs-scene-concours {
    right: 5%;
    bottom: 15%;
  }
  .gs-scene-archives {
    left: 6%;
    top: 32%;
  }

  .gs-life-place-desk { right: 28%; bottom: 24%; transform: scale(.68); }
  .gs-life-place-shelf { right: 12%; bottom: 33%; transform: scale(.62); }
  .gs-life-place-center { left: 46%; bottom: 20%; transform: scale(.66); }

  .gs-brocante-view {
    display: grid;
    grid-template-rows: 94px minmax(0, 1fr);
    gap: 6px;
  }
  .gs-brocante-hero {
    min-height: 0;
    height: 94px;
    padding: 10px 12px;
    border-radius: 0;
  }
  .gs-brocante-hero h2 {
    font-size: 22px;
    margin: 3px 0;
  }
  .gs-brocante-hero p {
    font-size: 11px;
    max-width: 78%;
    line-height: 1.25;
  }
  .gs-stands-grid {
    height: 100%;
    overflow: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    padding-bottom: 4px;
  }
  .gs-stand-card {
    min-height: 92px;
    border-radius: 12px;
  }
  .gs-stand-card strong {
    margin-top: 40px;
    font-size: 13px;
  }
  .gs-stand-card small,
  .gs-stand-card em {
    font-size: 10px;
    max-width: calc(100% - 135px);
  }
  .gs-stand-card::before {
    top: 47px;
    right: 10px;
    width: 112px;
    height: 34px;
  }
  .gs-stand-card::after {
    top: 60px;
    right: 18px;
    width: 82px;
    height: 18px;
  }
  .gs-stand-awning {
    height: 34px;
  }

  .gs-lot-view {
    display: block;
    gap: 6px;
  }
  .gs-lot-main,
  .gs-lot-actions,
  .gs-card-list,
  .gs-profile-view,
  .gs-archives-locked {
    border-radius: 0;
    padding: 8px !important;
  }
  .gs-lot-main {
    overflow: visible;
    margin-bottom: 6px;
  }
  .gs-lot-actions {
    display: grid;
    gap: 6px;
  }
  .gs-lot-actions > * {
    min-width: 0;
  }
  .gs-lot-actions .gs-lot-action-notice,
  .gs-lot-actions .gs-lot-bond-card,
  .gs-lot-actions .gs-price-check-result,
  .gs-lot-actions .gs-lot-action-group {
    width: 100%;
  }
  .gs-lot-action-group {
    gap: 6px;
  }
  .gs-lot-action-group--tools,
  .gs-lot-action-group--final {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gs-lot-action-group--negos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gs-lot-actions button {
    min-height: 34px;
    padding: 7px 6px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.15;
    text-align: center;
  }
  .gs-lot-head {
    gap: 8px;
    margin-bottom: 8px;
  }
  .gs-lot-head .gs-npc {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
  .gs-lot-head h2 {
    font-size: 18px;
  }
  .gs-lot-head p {
    font-size: 11px;
    margin: 2px 0;
  }
  .gs-lot-price {
    padding: 8px;
    margin-bottom: 8px;
  }
  .gs-lot-price strong {
    font-size: 18px;
  }
  .gs-patience-meter {
    min-width: 100%;
    padding: 7px 8px;
    gap: 5px;
  }
  .gs-patience-meter-head strong {
    font-size: 10px;
  }
  .gs-patience-meter-head em {
    font-size: 9px;
  }
  .gs-patience-meter > span {
    height: 7px;
  }
  .gs-lot-items {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .gs-item-card {
    min-height: 54px;
    padding: 6px;
    border-radius: 10px;
  }
  .gs-lot-bond-card {
    gap: 3px;
    padding: 7px 8px;
  }
  .gs-lot-bond-card > span {
    font-size: 8px;
  }
  .gs-lot-bond-card > strong {
    font-size: 11px;
    line-height: 1.12;
  }
  .gs-lot-bond-card > p,
  .gs-lot-bond-card > em {
    font-size: 9px;
    line-height: 1.18;
  }
  .gs-price-check-result {
    padding: 7px 8px;
    border-radius: 10px;
  }
  .gs-price-check-result > span {
    font-size: 9px;
  }
  .gs-price-check-result > strong,
  .gs-price-check-result p,
  .gs-price-check-result small {
    font-size: 10px;
    line-height: 1.2;
  }
  .gs-item-visual {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
  .gs-item-info strong {
    font-size: 12px;
    line-height: 1.15;
  }
  .gs-item-info small,
  .gs-item-info em {
    font-size: 10px;
    line-height: 1.15;
  }

  .gs-menu-screen {
    min-height: 0 !important;
    height: 100%;
    border-radius: 0;
  }
}@media (max-width: 720px) {
  #gs-collection-game-root .gs-stall-inspection {
    gap: 10px;
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-card {
    min-height: 86px;
    gap: 10px;
    padding: 9px;
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-visual {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 14px;
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-visual > span {
    transform: scale(1.38);
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-visual .gs-item-catalog-sprite,
  #gs-collection-game-root .gs-stall-inspection .gs-item-visual > img.gs-catalog-sprite {
    width: 118%;
    height: 118%;
    max-width: 118%;
    max-height: 118%;
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-info strong {
    font-size: 12px;
  }
  #gs-collection-game-root .gs-stall-inspection .gs-item-info small,
  #gs-collection-game-root .gs-stall-inspection .gs-item-info em {
    font-size: 10px;
  }
}

@media (max-width: 720px) {
  .gs-menu-screen.gs-menu-screen-art {
    min-height: 100svh;
    min-height: 100vh;
    height: auto;
    border-radius: 0;
  }
  .gs-menu-screen-art .gs-menu-art-desktop { display: none; }
  .gs-menu-screen-art .gs-menu-art-mobile {
    display: block;
    background-size: cover;
    background-position: center top;
  }
  .gs-menu-redpulse {
    width: 86vw;
    height: 24vh;
    bottom: 8%;
  }
  .gs-menu-save-floating {
    left: 50%;
    bottom: calc(clamp(64px, 9.5%, 130px) + 62px);
    transform: translateX(-50%);
    max-width: calc(100vw - 28px);
    padding: 8px 10px;
    border-radius: 12px;
    font-size: 11px;
  }
  .gs-menu-tap-note {
    bottom: 6.3%;
    font-size: 11px;
    letter-spacing: .12em;
    width: 90vw;
    text-align: center;
  }
  .gs-menu-play-stealth {
    width: 92vw;
    bottom: 3.2%;
    height: 13%;
    min-height: 72px;
  }
  .gs-menu-note-floating {
    bottom: .8%;
    width: 92vw;
    text-align: center;
    font-size: 9px;
    line-height: 1.2;
  }
}@media (max-width: 720px) {
  .gs-life-character {
    width: 76px;
    height: 106px;
  }
  .gs-life-shadow {
    left: 14px;
    width: 46px;
    height: 12px;
  }
  .gs-life-place-desk { right: 27%; bottom: 22%; transform: scale(.8); }
  .gs-life-place-shelf { right: 10%; bottom: 31%; transform: scale(.76); }
  .gs-life-place-center { left: 46%; bottom: 18%; transform: scale(.82); }
  .gs-life-place-market { left: 50%; bottom: 7%; transform: translateX(-50%) scale(.78); }
}@media (max-width: 720px) {
  .gs-room-walk-layer {
    inset: 76px 6px 12px 6px;
  }
  .gs-life-character { transition-duration: .45s; }
  .gs-life-character.is-seated {
    width: 86px;
    height: 98px;
  }
}@media (max-width: 720px) {
  .gs-room-content {
    overflow: hidden;
  }

  .gs-room-action-hotspots {
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 7px;
    top: auto;
    height: 46px;
    z-index: 8;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    padding: 0;
    pointer-events: auto;
  }

  .gs-scene-action {
    position: static !important;
    min-width: 0 !important;
    min-height: 44px;
    height: 44px;
    padding: 4px 2px;
    border-radius: 9px;
    text-align: center;
    color: #eef8ff;
    background: linear-gradient(180deg, rgba(10, 22, 34, .92), rgba(6, 12, 19, .95));
    border: 1px solid rgba(95, 198, 255, .70);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 4px 10px rgba(0,0,0,.30);
    text-shadow: 0 1px 2px rgba(0,0,0,.65);
    backdrop-filter: blur(5px);
  }

  .gs-scene-action strong {
    display: block;
    font-size: 9px;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .gs-scene-action small {
    display: none;
  }

  .gs-room-titlebar {
    z-index: 9;
  }

  .gs-room-chip,
  .gs-room-mini-score {
    max-width: 48%;
  }

  .gs-room-chip strong {
    font-size: 12px;
    line-height: 1.15;
  }

  .gs-life-character {
    width: 48px !important;
    height: 70px !important;
    z-index: 5;
  }

  .gs-life-character.is-seated {
    width: 64px !important;
    height: 70px !important;
  }

  .gs-life-bubble {
    display: none;
  }

  .gs-life-shadow {
    left: 9px;
    bottom: 4px;
    width: 30px;
    height: 8px;
  }

  .gs-room-walk-layer {
    inset: 72px 0 54px 0;
    z-index: 4;
  }

  .gs-room-hotspot,
  .gs-lot-hotspots,
  .gs-room-collection-panel {
    display: none !important;
  }

  .gs-room-bg {
    transform: scale(1.07);
  }

  .gs-life-place-desk { right: auto !important; bottom: auto !important; }
  .gs-life-place-shelf { right: auto !important; bottom: auto !important; }
  .gs-life-place-center { left: auto !important; bottom: auto !important; }
  .gs-life-place-market { left: auto !important; bottom: auto !important; }
}@media (min-width: 721px) {
  .gs-room-walk-layer {
    inset: 88px 10px 18px 10px;
  }
}@media (max-width: 720px) {
  .gs-room-action-hotspots {
    left: 8px;
    right: 8px;
    bottom: 8px;
    height: 52px;
    gap: 5px;
  }
  .gs-scene-action {
    min-height: 50px;
    height: 50px;
    padding: 5px 3px;
    border-radius: 10px;
  }
  .gs-scene-action strong {
    font-size: 10px;
    letter-spacing: .01em;
  }
  .gs-room-titlebar {
    gap: 8px;
  }
  .gs-room-chip,
  .gs-room-mini-score {
    padding: 9px 10px;
  }
  .gs-room-chip small,
  .gs-room-mini-score small {
    font-size: 10px;
  }
  .gs-room-walk-layer {
    inset: 74px 4px 60px 4px;
    z-index: 4;
  }
  .gs-room-bg {
    transform: scale(1.02);
    transform-origin: center bottom;
  }
  .gs-life-character {
    filter: drop-shadow(0 8px 10px rgba(0,0,0,.4));
  }
}@media (min-width: 721px) {
  .gs-room-action-hotspots {
    z-index: 13;
  }
  .gs-scene-action strong {
    font-size: 14px;
  }
}@media (min-width: 721px) {
  .gs-room-action-hotspots {
    filter: saturate(.96);
  }
  .gs-scene-action {
    min-width: 110px;
  }
}@media (max-width: 720px) {
  .gs-game-topbar {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 0;
    border-radius: 0;
    overflow: hidden;
  }
  .gs-brand {
    grid-column: 1 / -1;
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(77,121,216,.90), rgba(46,74,135,.92));
  }
  .gs-brand b { font-size: 16px; letter-spacing: .02em; }
  .gs-brand small { opacity: .92; }
  .gs-stat,
  .gs-icon-btn {
    min-height: 58px;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(92,135,224,.82), rgba(59,96,176,.90));
    border-color: rgba(255,255,255,.18);
  }
  .gs-stat strong { font-size: 17px; }
  .gs-stat small,
  .gs-icon-btn { font-size: 11px; }
  .gs-tabs {
    padding: 8px 8px 0;
    gap: 6px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .gs-tabs button,
  .gs-tab-menu {
    min-height: 38px;
    padding: 0 8px;
    font-size: 12px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(17,30,48,.96), rgba(8,16,28,.96));
  }
  .gs-content-grid {
    gap: 8px;
    padding: 8px;
  }
  .gs-room {
    min-height: 430px;
    border-radius: 14px;
  }
  .gs-room-content { padding: 8px; }
  .gs-room-titlebar {
    gap: 6px;
    align-items: stretch;
  }
  .gs-room-chip,
  .gs-room-mini-score {
    padding: 8px 9px;
    border-radius: 12px;
  }
  .gs-room-chip strong,
  .gs-room-mini-score strong {
    font-size: 14px;
  }
  .gs-room-chip small,
  .gs-room-mini-score small {
    font-size: 9px;
    line-height: 1.15;
  }
  .gs-room-action-hotspots {
    inset: 0;
  }
  .gs-scene-action {
    min-width: 78px;
    max-width: 96px;
    padding: 5px 7px 5px 5px;
    gap: 5px;
    border-radius: 999px;
  }
  .gs-scene-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    font-size: 11px;
  }
  .gs-scene-action strong { font-size: 10px; }
  .gs-scene-action small { font-size: 8px; }
  .gs-scene-brocante { left: 11%; bottom: 18%; }
  .gs-scene-collection { right: 4%; top: 26%; }
  .gs-scene-price { right: 5%; top: 52%; }
  .gs-scene-concours { right: 4%; bottom: 18%; }
  .gs-scene-archives { left: 3%; top: 31%; }
  .gs-room-bottom {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .gs-lot-hotspots { min-height: 165px; }
  .gs-room-hotspot {
    width: 84px;
    height: 84px;
    font-size: 11px;
    border-radius: 12px;
  }
  .gs-room-hotspot::after {
    font-size: 8px;
    bottom: 6px;
  }
  .gs-box-1 { left: 10%; bottom: 27%; }
  .gs-box-2 { left: 35%; bottom: 10%; }
  .gs-box-3 { left: 60%; bottom: 16%; }
  .gs-room-collection-panel {
    padding: 10px;
    border-radius: 14px;
  }
  .gs-room-collection-panel h4 {
    font-size: 12px;
    margin-bottom: 5px;
  }
  .gs-room-collection-panel p {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .gs-mini-items {
    gap: 6px;
  }
  .gs-mini-item {
    min-height: 48px;
    padding: 6px;
  }
  .gs-mini-item small {
    font-size: 8px;
  }
}@media (max-width: 720px) {
  .gs-room-visitor-head {
    grid-template-columns: 56px 1fr;
    gap: 9px;
  }
  .gs-room-visitor-head .gs-npc {
    width: 56px;
    height: 56px;
  }
  .gs-room-visitor-head h4 {
    font-size: 14px;
  }
  .gs-room-visitor-head p {
    font-size: 11px;
    line-height: 1.25;
  }
  .gs-lot-dialogue-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .gs-archives-guide {
    grid-template-columns: 56px 1fr;
  }
  .gs-archives-guide button {
    grid-column: 1 / -1;
  }
  .gs-event-card {
    width: min(96vw, 96vw);
    grid-template-columns: 1fr;
  }
  .gs-event-npc {
    flex-direction: row;
    align-items: center;
  }
  .gs-event-portrait-wrap {
    padding: 8px;
  }
  .gs-event-npc .gs-npc {
    width: 88px;
    height: 88px;
  }
  .gs-event-content {
    padding: 16px;
  }
  .gs-event-content blockquote {
    font-size: 15px;
  }
}@media (max-width: 720px) {
  .gs-collection-game-root,
  .gs-game-shell,
  .gs-menu-screen.gs-menu-screen-art {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .gs-menu-screen.gs-menu-screen-art {
    min-height: 100svh !important;
    height: 100svh !important;
    border-radius: 0 !important;
  }
  .gs-menu-start-btn {
    bottom: clamp(64px, 9.5%, 130px);
    min-width: 168px;
    padding: 12px 22px;
    font-size: 15px;
  }
  .gs-menu-tap-note {
    bottom: clamp(16px, 5.2%, 50px) !important;
  }
  .gs-room-side-stack {
    display: grid !important;
    gap: 8px;
  }
  .gs-room-visitor {
    padding: 10px !important;
    border-radius: 16px !important;
  }
  .gs-room-visitor-head {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }
  .gs-room-visitor-head .gs-npc {
    width: 54px !important;
    height: 54px !important;
  }
  .gs-room-visitor-head h4 {
    font-size: 15px !important;
  }
  .gs-room-visitor-head p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  .gs-room-visitor-actions button {
    min-height: 46px;
    padding: 10px 18px;
    font-size: 15px;
  }
  .gs-room-walk-layer {
    z-index: 1 !important;
  }
  .gs-room-content,
  .gs-room-bottom,
  .gs-room-side-stack,
  .gs-room-visitor,
  .gs-room-action-hotspots {
    z-index: 20 !important;
  }
}@media (max-width: 720px) {
  .gs-event-modal {
    padding: max(12px, env(safe-area-inset-top)) 8px max(20px, env(safe-area-inset-bottom));
  }
  .gs-event-card {
    width: min(96vw, 96vw);
    grid-template-columns: 1fr;
  }
  .gs-event-content {
    padding: 14px 14px 18px;
  }
  .gs-event-choices {
    gap: 8px;
    margin-top: 12px;
  }
  .gs-event-choices button {
    min-height: 48px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.3;
    white-space: normal;
  }
  .gs-event-card-close {
    top: 6px;
    right: 6px;
    width: 44px;
    height: 44px;
    font-size: 24px;
  }
}@media (max-width: 720px) {
  .gs-patience-meter {
    flex-basis: 100%;
    min-width: 100%;
  }
}@media (max-width: 720px) {
  .gs-game-shell {
    overflow: hidden;
  }
  .gs-content-grid,
  .gs-lot-view,
  .gs-card-list,
  .gs-profile-view,
  .gs-empty,
  .gs-archives-locked,
  .gs-brocante-view {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 10px !important;
  }
  .gs-room-action-hotspots {
    display: none !important;
  }
  .gs-room-walk-layer {
    display: none !important;
    pointer-events: none !important;
  }
  .gs-room-bottom {
    display: block !important;
  }
  .gs-room-side-stack {
    display: grid !important;
    gap: 8px;
  }
  .gs-room-visitor {
    margin-top: 2px;
    padding-top: 12px !important;
    padding-right: 46px !important;
  }
  .gs-room-visitor-actions {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
  }
}@media (min-width: 721px) {
  .gs-room-shelf-hitbox {
    left: 47%;
    top: 13%;
    width: 24%;
    height: 42%;
  }
  .gs-life-character {
    z-index: 9 !important;
  }
}@media (max-width: 720px) {
  .gs-room-shelf-hitbox {
    left: 46%;
    top: 12%;
    width: 27%;
    height: 44%;
  }
  .gs-room-shelf-hitbox span {
    font-size: 9px;
    padding: 5px 8px;
  }
}@media (max-width: 720px) { .gs-room-npc { width: 52px; height: 80px; left: 30%; bottom: 15%; } }@media (max-width: 720px) {
  .gs-room-exercise-count { font-size: 10px; padding: 3px 6px; top: -5px; }
}@media (hover: hover) and (pointer: fine) {
  .gs-joystick { display: none; }
}@media (max-width:720px) { .gs-obj-dot-label { font-size:10px; padding:3px 8px; } }@media (max-width:720px) { .gs-menu-music-toggle { bottom: 64px; } }@media (max-width: 720px) {
  .gs-tabs .gs-tab-menu { grid-column: span 3; }
  .gs-room.is-customize-mode .gs-room-zoom { bottom: 148px; }
  .gs-customize-hud { width: min(250px, calc(100% - 132px)); bottom: 10px; left:8px; gap:5px; }
  .gs-customize-carry-card,
  .gs-customize-storage,
  .gs-customize-help { border-radius:9px; padding:6px; }
  .gs-customize-carry-card strong,
  .gs-customize-storage strong { font-size:10px; }
  .gs-customize-carry-card small,
  .gs-customize-storage small,
  .gs-customize-help { font-size:9px; }
  .gs-customize-carry-card button,
  .gs-customize-storage button { padding:4px 5px; font-size:9px; }
  .gs-room.is-customize-mode .gs-customize-joystick { width:96px; height:96px; right:10px; bottom:12px; }
  .gs-room.is-customize-mode .gs-customize-joystick .gs-joystick-knob { width:42px; height:42px; margin:-21px 0 0 -21px; }
  .gs-custom-prop-actions button { font-size:8px; padding:3px 4px; }
  .gs-custom-green-dot { width:13px; height:13px; flex-basis:13px; }
}@media (max-width: 720px) {
  .gs-game-shell.is-customize-shell { grid-template-rows: minmax(0, 1fr) auto; }
  .gs-game-shell.is-customize-shell .gs-content-grid { grid-row: 1; }
  .gs-game-shell.is-customize-shell .gs-tabs { grid-row: 2; }
  .gs-game-shell.is-customize-shell .gs-content-grid { padding-top: 8px; }
  .gs-room.is-customize-mode .gs-customize-hud { width: min(220px, calc(100% - 128px)); }
  .gs-customize-exit { top: 8px; left: 8px; padding: 7px 10px; font-size: 11px; }
  .gs-customize-mode-header {
    top: 8px;
    left: 8px;
    right: 8px;
    gap: 6px;
    align-items: flex-start;
    flex-direction: column;
  }
  .gs-customize-mode-header .gs-customize-exit {
    padding: 7px 10px;
    font-size: 11px;
  }
  .gs-customize-mode-banner {
    max-width: min(300px, calc(100% - 4px));
    padding: 7px 9px;
  }
  .gs-customize-mode-banner strong { font-size: 11px; }
  .gs-customize-mode-banner small { font-size: 9px; }
}@media (max-width: 720px) {
  .gs-menu-engine-watermark { right: 14px; top: 14px; opacity: .74; }
  .gs-menu-engine-watermark span { font-size: 8px; }
  .gs-menu-engine-watermark strong { font-size: 14px; }
}@media (max-width:720px) {
  .gs-game-shell.is-intro-shell { grid-template-rows: minmax(0, 1fr); }
  .gs-first-home-dialogue { padding: 12px 12px calc(12px + env(safe-area-inset-bottom)); }
  .gs-first-home-dialogue-card { border-radius: 14px; padding: 14px 14px 13px; }
}@media (max-width: 720px) {
  .gs-tabs.gs-tabs-room-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu { grid-column: span 4; }
}@media (max-width:720px) { .gs-day-cycle-hud { min-width:112px; padding:8px 9px; gap:6px; } .gs-day-cycle-hud strong { font-size:15px; } .gs-day-cycle-hud small,.gs-day-cycle-hud em { font-size:9px; } .gs-day-cycle-icon { font-size:19px; } }@media (prefers-reduced-motion: reduce) {
  .gs-launch-curtain.is-revealing { animation-duration: .18s; }
}@media (max-width: 720px) {
  .gs-room-relax-thought { width: 26%; top: 27%; }
}@media (max-width: 720px) {
  /* Le menu des chaînes est volontairement agrandi : les cartes deviennent
     lisibles au pouce sans imposer de scroll latéral. Les bords décoratifs
     peuvent sortir du cadre, pas les quatre zones cliquables centrales. */
  .gs-tv-series-overlay { padding: 0; align-items: center; overflow: hidden; }
  .gs-tv-series-panel { width: 100%; --gs-tv-hud-scale: 1.24; --gs-tv-hud-scale-start: 1.196; }
  .gs-tv-series-hotspot { border-radius: 8px; }
  .gs-tv-series-hotspot:hover,
  .gs-tv-series-hotspot:focus-visible { box-shadow: inset 0 0 0 2px rgba(255, 234, 190, .9), 0 0 14px rgba(208, 56, 57, .65); }
  .gs-tv-series-close { top: 3.8%; right: 18%; min-height: 27px; padding: 5px 8px; font-size: 9px; }
  .gs-tv-series-close span { display: none; }
}@media (min-width: 721px) {
  .gs-tabs.gs-tabs-room-nav {
    padding: 12px 16px 16px;
    gap: 10px;
  }
  .gs-tabs.gs-tabs-room-nav::before {
    left: 16px;
    right: 16px;
    top: 10px;
    height: 66px;
  }
  .gs-tabs.gs-tabs-room-nav button,
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    min-height: 58px;
    font-size: 16px;
    padding: 0 14px 4px;
  }
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    min-height: 56px;
    font-size: 17px;
  }
}@media (max-width: 720px) {
  .gs-tabs.gs-tabs-room-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 8px 9px 11px;
    background: linear-gradient(180deg, rgba(7,9,13,.985), rgba(3,5,8,1));
  }
  .gs-tabs.gs-tabs-room-nav::before {
    left: 9px;
    right: 9px;
    top: 7px;
    height: 49px;
    opacity: .76;
  }
  .gs-tabs.gs-tabs-room-nav button,
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    min-height: 45px;
    font-size: 11px;
    padding: 0 7px 2px;
  }
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    grid-column: 1 / -1;
    min-height: 44px;
    font-size: 12px;
  }
}@media (max-width: 720px) {
  .gs-tv-series-hotspot b { right: 4px; bottom: 4px; min-width: 17px; height: 17px; padding: 0 4px; font-size: 8px; }
  .gs-tv-watching-hud { left: 7px; right: 7px; bottom: 7px; padding: 10px 11px 9px; border-radius: 11px; }
  .gs-tv-watching-meta { gap: 8px; }
  .gs-tv-watching-meta strong { font-size: 14px; }
  .gs-tv-watching-meta em { font-size: 10px; }
  .gs-tv-watching-meta small { font-size: 8px; }
  .gs-tv-watching-count { padding: 5px 6px; font-size: 8px; }
  .gs-tv-watching-progress { margin: 8px 0; }
  .gs-tv-watching-text { min-height: 6.9em; max-height: none; font-size: 12px; line-height: 1.42; }
  .gs-tv-watching-whisper { display: none; }
  .gs-tv-watching-actions { margin-top: 8px; }
  .gs-tv-watching-actions button { min-height: 29px; padding: 0 9px; font-size: 11px; }
}@media (hover: hover) and (pointer: fine) {
  .gs-room-joystick { display: block; opacity: .78; }
  .gs-room-joystick:hover { opacity: 1; }
}@media (max-width: 720px) {
  .gs-room-joystick {
    left: auto;
    right: 10px;
    bottom: 60px;
    width: 98px;
    height: 98px;
  }
  .gs-room-joystick .gs-joystick-knob {
    width: 42px;
    height: 42px;
    margin: -21px 0 0 -21px;
  }
  .gs-tv-watching-text {
    font-size: 12px;
    line-height: 1.42;
  }
  .gs-tv-watching-page { margin-top: 6px; font-size: 8px; }
}@media (max-width: 720px) {
  .gs-room.is-tv-watching .gs-room-world {
    transition-duration: .52s;
  }
  .gs-room.is-tv-watching .gs-tv-watching-hud {
    bottom: max(7px, env(safe-area-inset-bottom));
  }
}@media (max-width: 720px) {
  .gs-tv-report-overlay { padding: 10px; }
  .gs-tv-report-card { padding: 14px 14px 13px; border-radius: 16px; }
  .gs-tv-report-card h3 { font-size: 20px; }
  .gs-tv-report-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gs-tv-report-actions { justify-content: stretch; }
  .gs-tv-report-actions button { flex: 1 1 calc(50% - 8px); min-height: 34px; font-size: 12px; }
  .gs-tv-profile-sections { grid-template-columns: 1fr; }
  .gs-tv-profile-mini-grid { grid-template-columns: 1fr; }
}@media (max-width: 720px) {
  .gs-new-life-modal { padding: 12px; }
  .gs-new-life-card { padding: 19px 17px 17px; border-radius: 18px; }
  .gs-new-life-card p { font-size: 15px; }
  .gs-economy-grid { grid-template-columns: 1fr; }
  .gs-community-missions .gs-small-btn { max-width: none; }
  .gs-weekly-contest .gs-contest-card { align-items: stretch; flex-direction: column; }
  .gs-weekly-contest .gs-contest-card button { text-align:center; }
}@media (max-width:720px){.gs-contest-picked-grid,.gs-contest-candidate-grid{grid-template-columns:1fr}.gs-contest-actions-row{flex-direction:column}.gs-contest-actions-row .gs-small-btn{width:100%}}@media(max-width:720px){
  .gs-contest-cinematic-head{display:block}.gs-contest-audience-count{display:inline-block;margin-top:8px}
  .gs-contest-stage{min-height:454px}.gs-contest-stage-jury{top:4%;width:96%;height:178px}
  .gs-contest-stage-judge{width:76px}.gs-contest-stage-judge img{height:96px}.gs-contest-stage--judges-4 .gs-contest-stage-judge{width:64px}.gs-contest-stage--judges-4 .gs-contest-stage-judge img{height:86px}.gs-contest-stage--judges-5 .gs-contest-stage-judge{width:54px}.gs-contest-stage--judges-5 .gs-contest-stage-judge img{height:76px}.gs-contest-stage-jury-table{height:78px}
  .gs-contest-stage-display{bottom:9%;width:100%;height:165px}.gs-contest-stage-display-table{height:106px}.gs-contest-stage-items{bottom:50px;left:4%;right:4%;height:94px}.gs-contest-stage-item{width:50px}.gs-contest-stage-catalog-sprite,.gs-contest-stage-generic{width:42px;height:42px}.gs-contest-stage-item small{font-size:7px}
  .gs-contest-stage-crowd{width:48px;max-height:104px}.gs-contest-stage-light{width:42%;height:260px}.gs-contest-stage-verdict{bottom:6px;padding:9px 12px}.gs-contest-stage-verdict strong{font-size:1.05rem}
}@media(max-width:720px){.gs-contest-stage-competitor{width:70px;bottom:14%}.gs-contest-stage-competitor img{height:106px}.gs-contest-stage-competitor small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:7px}.gs-contest-stage-competitor em{display:none}.gs-contest-stage--competitors-4 .gs-contest-stage-competitor{width:58px}.gs-contest-stage--competitors-4 .gs-contest-stage-competitor img{height:88px}.gs-contest-stage--competitors-4 .gs-contest-stage-competitor small{font-size:6px}.gs-contest-dialogue{align-items:stretch;gap:9px;padding:9px}.gs-contest-dialogue-portrait{width:76px;height:82px;flex-basis:76px}.gs-contest-dialogue-copy strong{font-size:.95rem}.gs-contest-dialogue-copy p{font-size:.86rem;line-height:1.35}.gs-contest-cinematic-note{font-size:.74rem}}@media(max-width:720px){.gs-box-sorting{padding:14px;border-radius:16px}.gs-box-sorting-actions{flex-direction:column}.gs-box-sorting-actions .gs-small-btn{width:100%}.gs-box-found-grid{grid-template-columns:1fr}.gs-box-question{width:56px;height:56px;flex-basis:56px;font-size:1.5rem}}@media (max-width:720px) {
  .gs-room-controls-hint { right: 10px; bottom: 166px; max-width: 148px; font-size: 7px; padding: 6px 8px; }
}@media (max-width: 720px) {
  /* Une seule rangée de quatre stats, compacte et lisible. */
  .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell) {
    grid-template-rows: 54px minmax(0, 1fr) auto;
  }
  .gs-game-topbar {
    height: 54px !important;
    min-height: 54px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    overflow: hidden;
  }
  .gs-game-topbar .gs-stat {
    min-height: 54px !important;
    height: 54px !important;
    padding: 5px 7px !important;
    gap: 2px;
  }
  .gs-game-topbar .gs-stat small {
    font-size: 8px !important;
    line-height: 1;
    letter-spacing: .055em;
    white-space: nowrap;
  }
  .gs-game-topbar .gs-stat strong {
    font-size: 16px !important;
    line-height: 1.08;
  }
  .gs-game-topbar > .gs-stat:nth-child(6) {
    display: none !important;
  }

  /* Les cadres gagnent un peu d'air sans laisser le sprite déborder. */
  .gs-lot-main .gs-item-card {
    min-height: 82px;
    gap: 10px;
    padding: 8px;
  }
  .gs-lot-main .gs-item-visual {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 14px;
    padding: 2px;
  }
  .gs-lot-main .gs-item-visual .gs-item-catalog-sprite,
  .gs-lot-main .gs-item-visual > img.gs-catalog-sprite {
    width: 112%;
    height: 112%;
    max-width: 112%;
    max-height: 112%;
    transform: translateZ(0);
  }
  .gs-lot-main .gs-item-info {
    min-width: 0;
  }
}@media (max-width: 720px) {
  /* Comme à la brocante, zoom à gauche et déplacement à droite : les deux zones ne se recouvrent plus. */
  .gs-room:not(.is-vitrine-open) .gs-room-zoom {
    left: 10px !important;
    right: auto !important;
    bottom: 10px !important;
    z-index: 49;
  }

  /* La vitrine devient une vraie vue plein cadre dans la chambre au lieu d'être cachée par les règles mobile. */
  .gs-room.is-vitrine-open .gs-room-bottom,
  .gs-room.is-vitrine-open .gs-room-side-stack {
    position: static !important;
  }
  .gs-room.is-vitrine-open .gs-room-visitor,
  .gs-room.is-vitrine-open .gs-room-zoom,
  .gs-room.is-vitrine-open .gs-room-joystick,
  .gs-room.is-vitrine-open .gs-room-controls-hint {
    display: none !important;
  }
  .gs-room.is-vitrine-open .gs-room-collection-panel.is-open {
    display: block !important;
    position: absolute !important;
    inset: 9px !important;
    z-index: 80 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 14px 12px 12px !important;
    overflow: hidden !important;
    border: 1px solid rgba(245, 208, 137, .42) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(145deg, rgba(37, 20, 17, .97), rgba(9, 15, 21, .98) 48%, rgba(8, 14, 20, .98)) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .60), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
    pointer-events: auto !important;
  }
  .gs-room.is-vitrine-open .gs-vitrine-panel-head { padding-right: 36px; }
  .gs-room.is-vitrine-open .gs-vitrine-panel-head h4 { font-size: 18px; }
  .gs-room.is-vitrine-open .gs-vitrine-panel-head p { font-size: 11px; line-height: 1.35; }
  .gs-room.is-vitrine-open .gs-vitrine-stats { margin: 10px 0; }
  .gs-room.is-vitrine-open .gs-vitrine-items {
    grid-template-columns: 1fr;
    max-height: calc(100% - 128px);
    padding-right: 3px;
    padding-bottom: 4px;
  }
  .gs-room.is-vitrine-open .gs-vitrine-items .gs-item-card {
    min-height: 66px;
    align-items: center;
  }
  .gs-room.is-vitrine-open .gs-vitrine-items .gs-item-visual {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .gs-room.is-vitrine-open .gs-vitrine-items .gs-item-info strong { font-size: 12px; }
  .gs-room.is-vitrine-open .gs-vitrine-items .gs-item-info small,
  .gs-room.is-vitrine-open .gs-vitrine-items .gs-item-info em { font-size: 10px; }
}@media (max-width: 720px) {
  /* Les quatre infos essentielles tiennent dans une bande très fine. */
  .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell) {
    grid-template-rows: 28px minmax(0, 1fr) auto;
  }
  .gs-game-topbar {
    height: 28px !important;
    min-height: 28px !important;
  }
  .gs-game-topbar .gs-stat {
    min-height: 28px !important;
    height: 28px !important;
    padding: 2px 3px !important;
    gap: 0 !important;
  }
  .gs-game-topbar .gs-stat small {
    font-size: 5px !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
  }
  .gs-game-topbar .gs-stat strong {
    font-size: 10px !important;
    line-height: 1 !important;
  }
}@media (max-width: 720px) {
  .gs-room-joystick {
    right: 18px !important;
    bottom: 64px !important;
    width: 116px !important;
    height: 116px !important;
  }
  .gs-room-joystick .gs-joystick-knob {
    width: 50px !important;
    height: 50px !important;
    margin: -25px 0 0 -25px !important;
  }
}@media (max-width:720px) {
  .gs-collection-game-root.gs-controls-left .gs-market-screen .gs-joystick,
  .gs-collection-game-root.gs-controls-left .gs-room-joystick,
  .gs-collection-game-root.gs-controls-left .gs-room.is-customize-mode .gs-customize-joystick { left:18px !important; right:auto !important; }
}@media (max-width:720px) {
  .gs-settings-screen { margin:8px; padding:13px; border-radius:16px; }
  .gs-settings-header { gap:10px; margin-bottom:12px; }
  .gs-settings-header h2 { font-size:23px; }
  .gs-settings-header p { font-size:12px; line-height:1.35; }
  .gs-settings-grid { grid-template-columns:1fr; gap:10px; }
  .gs-settings-card { padding:12px; border-radius:14px; }
  .gs-settings-help { min-height:0; }
  .gs-settings-preview { height:74px; }
  .gs-collection-game-root.gs-ui-large .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell) { grid-template-rows:34px minmax(0,1fr) auto; }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar,
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat { min-height:34px !important; height:34px !important; }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat small { font-size:6px !important; }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat strong { font-size:12px !important; }
}@media (max-width:420px) {
  .gs-settings-choice-row-3 { gap:5px; }
  .gs-settings-choice { font-size:10px; padding:6px 3px; }
  .gs-settings-inline-actions { flex-direction:column; }
}@media (min-width:1181px) {
  .gs-game-topbar {
    grid-template-columns: minmax(190px,1.45fr) repeat(5,minmax(72px,.62fr)) repeat(5,minmax(78px,.60fr));
  }
}@media (max-width:720px) {
  .gs-game-shell.gs-screen-settings .gs-settings-screen {
    grid-row: 2;
    height: 100%;
    min-height: 0;
    margin: 0 !important;
    padding: 12px 10px calc(18px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }
  .gs-game-shell.gs-screen-settings .gs-settings-grid {
    padding-bottom: 14px;
  }
  .gs-game-shell.gs-screen-settings .gs-settings-header {
    position: sticky;
    top: -12px;
    z-index: 6;
    padding: 12px 0 10px;
    background: linear-gradient(180deg, rgba(10,16,23,.98) 76%, rgba(10,16,23,0));
  }
}@media (max-width: 720px) {
  .gs-game-shell.is-tv-focus {
    grid-template-rows: 28px minmax(0, 1fr) !important;
  }
  .gs-game-shell.is-tv-focus .gs-content-grid {
    grid-row: 2;
  }
  .gs-game-shell.is-tv-focus .gs-tv-report-overlay {
    padding: max(10px, env(safe-area-inset-top, 0px)) 10px max(14px, env(safe-area-inset-bottom, 0px));
  }
  .gs-game-shell.is-tv-focus .gs-tv-report-card {
    margin: 0 auto;
  }
}@media (max-width: 720px) {
  .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell) {
    grid-template-rows: 48px minmax(0, 1fr) auto !important;
  }
  .gs-game-shell.is-tv-focus {
    grid-template-rows: 48px minmax(0, 1fr) !important;
  }
  .gs-game-topbar {
    position: relative;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 4px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 3px 7px 4px !important;
    overflow: hidden;
    border: 0 !important;
    background:
      linear-gradient(180deg, rgba(8, 10, 14, .99), rgba(2, 4, 7, 1)) !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.055), 0 5px 13px rgba(0,0,0,.28);
  }
  .gs-game-topbar::before {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    top: 3px;
    bottom: 4px;
    pointer-events: none;
    opacity: .38;
    background: url("../img/ui/nav/bar-bg.webp") center / 100% 100% no-repeat;
  }
  .gs-game-topbar .gs-brand,
  .gs-game-topbar .gs-icon-btn,
  .gs-game-topbar > .gs-stat:nth-child(6) {
    display: none !important;
  }
  .gs-game-topbar .gs-stat {
    position: relative;
    box-sizing: border-box !important;
    z-index: 1;
    display: flex !important;
    min-height: 41px !important;
    height: 41px !important;
    min-width: 0;
    margin: 0 !important;
    padding: 7px 6px 5px !important;
    gap: 1px !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image: url("../img/ui/nav/tab-normal.webp") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    box-shadow: none !important;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0,0,0,.8), 0 2px 3px rgba(0,0,0,.7);
  }
  .gs-game-topbar .gs-stat::before,
  .gs-game-topbar .gs-stat::after { display: none !important; }
  .gs-game-topbar .gs-stat small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: rgba(245, 239, 228, .78) !important;
    font-size: 7px !important;
    font-weight: 900;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .gs-game-topbar .gs-stat strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #f8f1e5 !important;
    font-size: 13px !important;
    font-weight: 950;
    line-height: 1 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .gs-game-topbar .gs-stat:nth-child(3) strong { color: #f6cf72 !important; }
  .gs-game-topbar .gs-rent-stat strong { color: #f2d49c !important; }
  .gs-game-topbar .gs-stat:nth-child(5) strong { color: #f2d5fb !important; }

  .gs-collection-game-root.gs-ui-large .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell),
  .gs-collection-game-root.gs-ui-large .gs-game-shell.is-tv-focus {
    grid-template-rows: 52px minmax(0, 1fr) auto !important;
  }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar {
    height: 52px !important;
    min-height: 52px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat {
    min-height: 44px !important;
    height: 44px !important;
  }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat small { font-size: 8px !important; }
  .gs-collection-game-root.gs-ui-large .gs-game-topbar .gs-stat strong { font-size: 14px !important; }
}@media (max-width: 720px) {
  .gs-settings-screen,
  .gs-room-collection-panel,
  .gs-card-list,
  .gs-profile-view,
  .gs-empty,
  .gs-archives-locked,
  .gs-tv-profile-card,
  .gs-economy-card,
  .gs-community-missions,
  .gs-settings-card {
    border-radius: 16px !important;
  }
}@media (max-width: 720px) {
  .gs-imperial-confirm-modal {
    align-items: end;
    padding: 10px 10px max(12px, env(safe-area-inset-bottom, 0px));
  }
  .gs-imperial-confirm-card {
    padding: 19px 16px 16px;
    border-radius: 18px;
  }
  .gs-imperial-confirm-card h3 { font-size: 23px; }
  .gs-imperial-confirm-body { font-size: 14px; }
  .gs-imperial-confirm-actions { gap: 8px; margin-top: 16px; }
  .gs-imperial-confirm-actions button { min-height: 44px; font-size: 12px; }
}@media (max-width: 360px) {
  .gs-imperial-confirm-actions { grid-template-columns: 1fr; }
}@media (max-width:720px) { .gs-vitrine-item-actions { grid-template-columns:1fr; } .gs-vitrine-item-actions button { min-height:34px; font-size:11px; } }@media (max-width: 720px) {
  .gs-contest-statement-choices { grid-template-columns: 1fr; gap: 7px; }
  .gs-contest-statement-choice { min-height: 51px; display: grid; align-content: center; }
  .gs-contest-rivalry-strip { margin-bottom: 8px; }
}@media (max-width: 720px) {
  .gs-contest-card--hero {
    min-height: 402px;
    border-radius: 17px !important;
    background-position: 60% center !important;
  }
  .gs-contest-card-scrim {
    background:
      linear-gradient(180deg, rgba(8,6,10,.60) 0%, rgba(12,6,10,.78) 54%, rgba(7,5,8,.94) 100%),
      linear-gradient(90deg, rgba(20,5,10,.22), rgba(0,0,0,.10));
  }
  .gs-contest-card-copy {
    width: 100%;
    min-height: 402px;
    padding: 20px 18px 17px;
    gap: 9px;
  }
  .gs-contest-card--hero h3 {
    max-width: 100%;
    font-size: clamp(24px, 8.1vw, 34px);
  }
  .gs-contest-card--hero p {
    max-width: 100%;
    font-size: 14px;
    line-height: 1.44;
  }
  .gs-contest-hero-facts {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .gs-contest-hero-facts div:last-child { grid-column: 1 / -1; }
  .gs-contest-hero-facts strong { font-size: 13px; }
  .gs-contest-hero-status { font-size: 12px; }
}@media (max-width: 720px) {
  .gs-game-shell.is-market-dialogue-open,
  .gs-game-shell.is-market-interaction-open { grid-template-rows: 48px minmax(0, 1fr) !important; }
  .gs-market-dialogue { padding: 10px; }
  .gs-market-dialogue-card { min-height: min(100%, 310px); border-radius: 16px; }
  .gs-market-dialogue-head { grid-template-columns: 64px minmax(0, 1fr) 36px; gap: 10px; padding: 11px; }
  .gs-market-dialogue-portrait { width: 64px; height: 64px; }
  .gs-market-dialogue-name { font-size: 14px; }
  .gs-market-dialogue-scroll { padding: 15px 13px max(15px, env(safe-area-inset-bottom, 0px)); }
  .gs-market-dialogue-layout { grid-template-columns: 1fr 154px; gap: 10px; }
  .gs-market-dialogue-line { font-size: 15px; }
  .gs-market-dialogue-quote { font-size: 14px; padding: 12px; }
}@media (max-width: 520px) {
  .gs-market-dialogue-layout { grid-template-columns: 1fr; }
  .gs-market-dialogue-actions-col { grid-template-columns: 1fr; }
}@media (max-width: 720px) {
  .gs-contest-card--hero {
    min-height: 492px !important;
    background-position: center !important;
  }
  .gs-contest-card-backdrop {
    object-position: center 44%;
  }
  .gs-contest-card-scrim {
    background:
      linear-gradient(180deg, rgba(5,4,7,.06) 0%, rgba(5,4,7,.08) 34%, rgba(4,4,7,.58) 100%) !important;
  }
  .gs-contest-card-copy {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    max-height: 58%;
    padding: 13px 13px 12px !important;
    border-radius: 14px;
  }
  .gs-contest-card--hero h3 {
    font-size: clamp(22px, 7.2vw, 31px);
  }
  .gs-contest-card--hero p {
    font-size: 13px;
    line-height: 1.36;
  }
}@media (max-width:720px) {
  .gs-vitrine-visual-progress { grid-template-columns: 1fr; gap: 6px; }
  .gs-vitrine-visual-progress::before,
  .gs-vitrine-visual-progress > span { grid-column:1; grid-row:1; }
  .gs-vitrine-visual-progress small { grid-column:1; grid-row:2; text-align:left; }
}@media (max-width: 760px) {
  .gs-city-head { grid-template-columns: 1fr; }
  .gs-city-stage { min-height: 480px; }
  .gs-city-strip { grid-template-columns: 1.2fr 1fr; grid-template-rows: auto auto; bottom: 174px; }
  .gs-city-hero { left: 14px; width: 118px; height: 118px; }
  .gs-city-notes { grid-template-columns: 1fr; }
}@media (max-width: 520px) {
  .gs-city-view { padding: 10px; }
  .gs-city-head { padding: 12px; }
  .gs-city-stage { min-height: 430px; border-radius: 20px; }
  .gs-city-strip { padding: 0 8px; gap: 8px; bottom: 168px; }
  .gs-city-building { min-height: 132px; padding: 10px; }
  .gs-city-building-home { min-height: 176px; }
  .gs-city-building b,
  .gs-city-window-row span { width: 14px; height: 18px; margin: 3px; }
  .gs-city-building em,
  .gs-city-awning,
  .gs-city-door-mark { font-size: 10px; padding: 7px 8px; }
  .gs-city-caption { font-size: 10px; }
  .gs-city-road { height: 164px; }
  .gs-city-hero { width: 104px; height: 104px; bottom: 38px; }
}@media (max-width: 760px) {
  .gs-game-shell.gs-screen-city .gs-city-map-screen { padding: 7px; }
  .gs-city-map-stage { min-height: min(62vh, 590px); border-radius: 17px; }
  .gs-city-map-hud { inset: 9px 9px auto; gap: 7px; }
  .gs-city-map-title { padding: 7px 9px; border-radius: 11px; }
  .gs-city-map-title strong { font-size: 13px; }
  .gs-city-map-title small { display: none; }
  .gs-city-map-home { min-height: 34px; padding: 0 9px; font-size: 11px; }
  .gs-city-map-note { font-size: 10px; bottom: 7px; padding: 6px 9px; }
  .gs-city-map-hero .gs-life-character { width: clamp(54px, 17vw, 96px) !important; }
}@media (max-width: 720px) {
  .gs-market-dialogue { padding: 8px; }
  .gs-market-dialogue-card { border-radius: 17px; }
  .gs-market-dialogue-head { grid-template-columns: minmax(0, 1fr) 42px; gap: 10px; padding: 13px; }
  .gs-market-dialogue-name { font-size: 19px; gap: 7px; }
  .gs-market-dialogue-stall { font-size: 13px; }
  .gs-market-dialogue-scroll { gap: 14px; padding: 14px; }
  .gs-md-dialogue-stage { grid-template-columns: 132px minmax(0, 1fr); gap: 12px; }
  .gs-md-stage-portrait,
  .gs-md-stage-portrait .gs-npc { min-height: 154px; }
  .gs-md-speech { font-size: 17px; line-height: 1.4; }
  .gs-md-speech-reply { font-size: 13px; padding: 10px 11px; }
  .gs-market-dialogue .gs-md-btn { min-height: 52px; font-size: 16px; }
}@media (max-width: 390px) {
  #gs-collection-game-root .gs-rpg-scene { grid-template-columns: 84px minmax(0,1fr); gap: 10px; }
  #gs-collection-game-root .gs-rpg-portrait { width: 84px; height: 84px; }
}

@media (max-width: 370px) {
  .gs-md-dialogue-stage { grid-template-columns: 112px minmax(0, 1fr); gap: 9px; }
  .gs-md-stage-portrait,
  .gs-md-stage-portrait .gs-npc { min-height: 138px; }
  .gs-md-speech { font-size: 16px; }
  .gs-market-dialogue-name { font-size: 18px; }
}@media (max-width: 370px) {
  .gs-lot-action-group--negos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gs-lot-action-group--final {
    grid-template-columns: 1fr;
  }
}@media (max-width: 680px) {
  .gs-lot-main .gs-item-card {
    min-height: 80px;
    padding: 8px;
  }
  .gs-lot-main .gs-item-visual {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
  }
  .gs-lot-main .gs-item-visual .gs-item-catalog-sprite,
  .gs-lot-main .gs-item-visual > img.gs-catalog-sprite {
    width: 110%;
    height: 110%;
    max-width: 110%;
    max-height: 110%;
  }
}@media (max-width: 760px) {
  .gs-game-shell.gs-screen-city .gs-city-map-screen { padding: 6px; }
  .gs-game-shell.gs-screen-city .gs-city-map-stage {
    min-height: clamp(420px, 63dvh, 590px);
    height: min(67dvh, 610px);
    border-radius: 17px;
  }
  .gs-city-map-hud { inset: 8px 8px auto; }
  .gs-city-map-title { padding: 7px 9px; border-radius: 11px; }
  .gs-city-map-title span { font-size: 9px; }
  .gs-city-map-title strong { font-size: 13px; }
  .gs-city-map-tools { gap: 4px; }
  .gs-city-map-zoom { width: 31px; min-width: 31px; height: 31px; border-radius: 9px; font-size: 15px; }
  .gs-city-map-home { min-height: 31px; padding: 0 8px; border-radius: 9px; font-size: 10px; }
  .gs-city-map-context { bottom: 7px; width: min(86%, 420px); padding: 6px 8px; font-size: 10px; }
  .gs-city-map-notice { bottom: 47px; font-size: 10px; }
  .gs-city-map-stage .gs-city-joystick { right: 10px; bottom: 53px; width: 102px; height: 102px; }
  .gs-city-map-stage .gs-city-joystick .gs-joystick-knob { width: 44px; height: 44px; margin: -22px 0 0 -22px; }
}@media (max-width: 370px) {
  .gs-city-map-title strong { font-size: 12px; }
  .gs-city-map-home { font-size: 9px; }
  .gs-city-map-stage .gs-city-joystick { width: 92px; height: 92px; }
}@media (max-width: 720px) {
  .gs-room-passage-notice { margin-top: 7px; padding: 6px 7px; }
  .gs-room-passage-notice span { min-width: 41px; height: 23px; font-size: 7px; }
  .gs-room-passage-notice strong { font-size: 10px; }
  .gs-room-passage-notice small { font-size: 9px; }
}@media (max-width: 720px) {
  .gs-door-bell-callout { min-width: 98px; padding: 4px 6px 5px; }
  .gs-door-bell-callout b { font-size: 8px; }
  .gs-door-bell-callout small { font-size: 9px; }
}

/* ========================================================================== */
/* === V0.9.147 — RESPONSIVE CANONIQUE : VARIABLES COMMUNES ================= */
/* ========================================================================== */
.gs-collection-game-root {
  --gs-responsive-topbar-mobile: 40px;
  --gs-responsive-nav-mobile: 48px;
  --gs-responsive-joystick-mobile: 88px;
  --gs-responsive-page-gutter: 18px;
}

/* La classe d'entrée est la source de vérité : un ordinateur ne montre jamais
   un joystick, même si sa fenêtre est momentanément étroite. */
.gs-collection-game-root.gs-desktop-input .gs-joystick,
.gs-game-shell.gs-desktop-input .gs-joystick,
.gs-collection-game-root.gs-desktop-input [data-joystick],
.gs-collection-game-root.gs-desktop-input [data-room-joystick],
.gs-collection-game-root.gs-desktop-input [data-city-joystick],
.gs-collection-game-root.gs-desktop-input [data-customize-joystick] {
  display: none !important;
  pointer-events: none !important;
}
.gs-desktop-controls-hint {
  display: none;
  position: absolute;
  right: 14px;
  bottom: 12px;
  z-index: 96;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 9px;
  background: rgba(5,9,13,.72);
  color: rgba(236,242,248,.68);
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
  backdrop-filter: blur(8px);
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .025em;
  pointer-events: none;
  user-select: none;
}
.gs-collection-game-root.gs-desktop-input .gs-desktop-controls-hint,
.gs-game-shell.gs-desktop-input .gs-desktop-controls-hint {
  display: block;
}
.gs-game-shell.is-market-dialogue-open .gs-desktop-controls-hint,
.gs-game-shell.is-market-interaction-open .gs-desktop-controls-hint,
.gs-game-shell.is-tv-focus .gs-desktop-controls-hint {
  display: none !important;
}

/* ========================================================================== */
/* === MOBILE · 0–720 px ==================================================== */
/* ========================================================================== */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-stall-view > .gs-lot-action-notice { top: 190px; left: 12px; right: 12px; max-height: 115px; font-size: 12px; }

  /* V0.9.177 — même scène de stand sur téléphone. */
  #gs-collection-game-root .gs-stall-view { height: calc(100dvh - var(--gs-admin-bar-height, 0px)); min-height: 560px; padding: 8px; gap: 10px; grid-template-columns: minmax(0,1fr); grid-template-rows: 46px auto minmax(100px,1fr) auto; }
  #gs-collection-game-root .gs-stall-view::before { background-size: auto 125%; background-position: 27% 42%; }
  #gs-collection-game-root .gs-stall-top { grid-column: 1; grid-row: 1; gap: 5px; padding: 3px; }
  #gs-collection-game-root .gs-stall-top h1 { font-size: 12px; line-height: 1.2; }
  #gs-collection-game-root .gs-stall-top h1::before, #gs-collection-game-root .gs-stall-top h1::after { display: none; }
  #gs-collection-game-root .gs-stall-top .gs-stall-back { min-height: 36px; gap: 3px; padding: 4px 5px; font-size: 9px; }
  #gs-collection-game-root .gs-stall-back span { max-width: 54px; }
  #gs-collection-game-root .gs-stall-top .gs-stall-icon { width: 17px; height: 17px; }
  #gs-collection-game-root .gs-stall-wallet { padding: 5px 2px; gap: 3px; font-size: 10px; }
  #gs-collection-game-root .gs-stall-seller { grid-column: 1; grid-row: 2; grid-template-columns: 72px minmax(0,1fr); gap: 7px 10px; padding: 8px; }
  #gs-collection-game-root .gs-stall-portrait { grid-column: 1; grid-row: 1 / 3; }
  #gs-collection-game-root .gs-stall-portrait img { max-height: 118px; }
  #gs-collection-game-root .gs-stall-dialogue strong { margin-bottom: 5px; font-size: 16px; line-height: 1.2; }
  #gs-collection-game-root .gs-stall-dialogue p { font-size: 12px; line-height: 1.35; }
  #gs-collection-game-root .gs-stall-status { grid-column: 2; grid-row: 2; border-left: 0; border-top: 1px solid #99503f; padding: 7px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; justify-content: space-between; font-size: 10px; }
  #gs-collection-game-root .gs-stall-patience > span { gap: 6px; }
  #gs-collection-game-root .gs-stall-patience em { display: none; }
  #gs-collection-game-root .gs-stall-segments { gap: 3px; margin-top: 4px; }
  #gs-collection-game-root .gs-stall-segments i { width: 14px; height: 9px; }
  #gs-collection-game-root .gs-stall-countdown { font-size: 9px; gap: 3px; }
  #gs-collection-game-root .gs-stall-countdown b { font-size: 11px; }
  #gs-collection-game-root .gs-stall-countdown .gs-stall-icon { width: 17px; height: 17px; }
  #gs-collection-game-root .gs-stall-scene { grid-row: 3; grid-column: 1; }
  #gs-collection-game-root .gs-stall-scene::before,
  #gs-collection-game-root .gs-stall-scene::after { inset: 7% 4% 8%; border-radius: 14px; }
  #gs-collection-game-root .gs-stall-carton { height: 100%; max-width: 380px; }
  #gs-collection-game-root .gs-stall-scene figcaption { position: absolute; bottom: 0; font-size: 10px; padding: 4px 7px; }
  #gs-collection-game-root .gs-stall-commands { grid-column: 1; grid-row: 4; align-self: stretch; gap: 8px; }
  #gs-collection-game-root .gs-stall-command-card { padding: 8px; gap: 8px; }
  #gs-collection-game-root .gs-stall-product h2 { font-size: 16px; margin: 0 0 4px; }
  #gs-collection-game-root .gs-stall-product > strong { font-size: 20px; gap: 5px; }
  #gs-collection-game-root .gs-stall-product .gs-stall-icon { width: 20px; height: 20px; }
  #gs-collection-game-root .gs-stall-tools { gap: 8px; }
  #gs-collection-game-root .gs-stall-tools button { min-height: 54px; padding: 7px 4px; flex-direction: row; gap: 6px; font-size: 12px; }
  #gs-collection-game-root .gs-stall-tools .gs-stall-icon { width: 23px; height: 23px; }
  #gs-collection-game-root .gs-stall-tools small { font-size: 10px; margin-top: 3px; }
  #gs-collection-game-root .gs-stall-talk { min-height: 44px; padding: 6px; font-size: 12px; }
  #gs-collection-game-root .gs-stall-final { gap: 8px; }
  #gs-collection-game-root .gs-stall-final button { min-height: 52px; padding: 8px 5px; font-size: 12px; }
  #gs-collection-game-root .gs-stall-final .gs-stall-icon { width: 23px; height: 23px; }
  #gs-collection-game-root .gs-stall-sheet-overlay { padding: 10px; align-items: flex-end; }
  #gs-collection-game-root .gs-stall-sheet { padding: 13px; max-height: 96%; gap: 10px; }
  #gs-collection-game-root .gs-stall-sheet h2 { font-size: 17px; }

  .gs-collection-game-root {
    --gs-responsive-page-gutter: 6px;
    width: 100%;
    margin: 0 auto;
  }
  #gs-collection-game-root .gs-contest-stage {
    --gs-contest-actor-h: 96px;
    --gs-contest-actor-w: 80px;
  }
  .gs-game-shell {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
  .gs-game-shell:not(.is-intro-shell):not(.is-customize-shell) {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) auto !important;
  }
  .gs-game-shell.is-tv-focus {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) !important;
  }

  /* HUD supérieur minimaliste : quatre informations, sans gros cadres. */
  .gs-game-topbar {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    height: var(--gs-responsive-topbar-mobile) !important;
    min-height: var(--gs-responsive-topbar-mobile) !important;
    gap: 3px !important;
    padding: 3px 5px !important;
    background: linear-gradient(180deg, rgba(8,11,15,.985), rgba(3,5,8,1)) !important;
    border-bottom: 1px solid rgba(255,255,255,.04) !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.04), 0 3px 9px rgba(0,0,0,.22) !important;
  }
  .gs-game-topbar::before {
    left: 5px !important;
    right: 5px !important;
    top: 3px !important;
    bottom: 3px !important;
    opacity: .24 !important;
  }
  .gs-game-topbar .gs-brand,
  .gs-game-topbar .gs-icon-btn {
    display: none !important;
  }
  .gs-game-topbar .gs-stat {
    min-height: 34px !important;
    height: 34px !important;
    padding: 5px 4px 4px !important;
    gap: 1px !important;
    border: 0 !important;
    background: rgba(255,255,255,.025) !important;
    box-shadow: none !important;
    filter: saturate(.88) brightness(.96);
  }
  .gs-game-topbar .gs-stat small {
    font-size: 6px !important;
    line-height: 1 !important;
    letter-spacing: .025em !important;
  }
  .gs-game-topbar .gs-stat strong {
    font-size: 11px !important;
    line-height: 1 !important;
  }

  /* Scène et cartouches chambre. */
  .gs-content-grid,
  .gs-brocante-view,
  .gs-city-map-screen {
    padding: var(--gs-responsive-page-gutter) !important;
    margin: 0 !important;
  }
  .gs-room-content {
    padding: 6px !important;
  }
  .gs-room-titlebar {
    gap: 5px !important;
    align-items: flex-start !important;
  }
  .gs-room-chip,
  .gs-room-mini-score,
  .gs-day-cycle-hud {
    min-height: 0 !important;
    padding: 5px 7px !important;
    border-radius: 9px !important;
    border-color: rgba(255,255,255,.07) !important;
    background: rgba(6,10,14,.74) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(6px) !important;
  }
  .gs-room-chip,
  .gs-room-mini-score {
    max-width: calc(50% - 3px) !important;
  }
  .gs-room-chip small:first-child,
  .gs-day-cycle-hud small {
    display: none !important;
  }
  .gs-room-chip strong,
  .gs-room-mini-score strong,
  .gs-day-cycle-hud strong {
    font-size: 11px !important;
    line-height: 1.05 !important;
  }
  .gs-room-chip small,
  .gs-room-mini-score small {
    font-size: 7px !important;
    line-height: 1.08 !important;
  }
  .gs-day-cycle-hud {
    min-width: 76px !important;
    gap: 5px !important;
    justify-content: flex-end !important;
  }
  .gs-day-cycle-icon {
    font-size: 14px !important;
  }
  .gs-room-walk-layer {
    inset: 50px 3px var(--gs-responsive-nav-mobile) 3px !important;
  }

  /* Navigation basse. */
  .gs-tabs.gs-tabs-room-nav {
    gap: 4px !important;
    padding: 5px 6px calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(180deg, rgba(6,8,11,.99), rgba(2,3,5,1)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02), 0 -6px 16px rgba(0,0,0,.28) !important;
  }
  .gs-tabs.gs-tabs-room-nav::before {
    left: 6px !important;
    right: 6px !important;
    top: 4px !important;
    height: 39px !important;
    opacity: .50 !important;
  }
  .gs-tabs.gs-tabs-room-nav button,
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    min-height: 37px !important;
    padding: 0 5px 1px !important;
    font-size: 10px !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.64) !important;
  }
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu {
    min-height: 34px !important;
  }
  .gs-tabs.gs-tabs-room-nav button::after,
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu::after {
    opacity: .12 !important;
  }

  /* Commandes tactiles. */
  .gs-room-joystick,
  .gs-market-screen .gs-joystick,
  .gs-city-map-stage .gs-city-joystick {
    width: var(--gs-responsive-joystick-mobile) !important;
    height: var(--gs-responsive-joystick-mobile) !important;
    right: 8px !important;
    border-width: 1px !important;
    border-color: rgba(255,255,255,.12) !important;
    background: rgba(8,12,17,.32) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 7px 18px rgba(0,0,0,.22) !important;
    opacity: .66;
  }
  .gs-room-joystick { bottom: 50px !important; }
  .gs-market-screen .gs-joystick { bottom: 55px !important; }
  .gs-city-map-stage .gs-city-joystick { bottom: 48px !important; }
  .gs-room-joystick::before { display: none !important; }
  .gs-room-joystick .gs-joystick-knob,
  .gs-market-screen .gs-joystick .gs-joystick-knob,
  .gs-city-map-stage .gs-city-joystick .gs-joystick-knob {
    width: 36px !important;
    height: 36px !important;
    margin: -18px 0 0 -18px !important;
    background: radial-gradient(circle at 38% 34%, #ffdca1, #c93642 62%, #64121d) !important;
    box-shadow: 0 3px 9px rgba(0,0,0,.36) !important;
  }
  .gs-collection-game-root.gs-controls-left .gs-room-joystick,
  .gs-collection-game-root.gs-controls-left .gs-market-screen .gs-joystick,
  .gs-collection-game-root.gs-controls-left .gs-city-map-stage .gs-city-joystick {
    left: 8px !important;
    right: auto !important;
  }

  /* Zoom, brocante et ville. */
  .gs-room-zoom,
  .gs-market-zoom { gap: 4px !important; }
  .gs-room-zoom-btn,
  .gs-market-zoom-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    background: rgba(7,11,16,.58) !important;
    box-shadow: 0 3px 9px rgba(0,0,0,.24) !important;
  }
  .gs-market-hud {
    gap: 6px !important;
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(7,11,16,.96) !important;
  }
  .gs-market-exit {
    padding: 6px 9px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
  }
  .gs-market-hint {
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  .gs-city-map-hud {
    inset: 6px 6px auto !important;
    gap: 5px !important;
  }
  .gs-city-map-title {
    padding: 5px 7px !important;
    border-radius: 9px !important;
    background: rgba(5,9,14,.72) !important;
  }
  .gs-city-map-title span { font-size: 7px !important; }
  .gs-city-map-title strong { font-size: 11px !important; }
  .gs-city-map-title small { display: none !important; }
  .gs-city-map-tools { gap: 3px !important; }
  .gs-city-map-zoom {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }
  .gs-city-map-home {
    min-height: 28px !important;
    padding: 0 7px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
  }
  .gs-city-map-context {
    padding: 5px 7px !important;
    font-size: 9px !important;
    background: rgba(8,8,11,.68) !important;
  }

  /* V0.9.157 — dialogues tactiles, sans portrait envahissant. */
  #gs-collection-game-root .gs-rpg-overlay { padding: 10px 10px max(10px, env(safe-area-inset-bottom)); }
  #gs-collection-game-root .gs-rpg-dialogue { padding: 12px 12px 7px; max-height: 86dvh; }
  #gs-collection-game-root .gs-rpg-header { gap: 8px; padding-bottom: 8px; }
  #gs-collection-game-root .gs-rpg-header strong { font-size: 17px; }
  #gs-collection-game-root .gs-rpg-header small { font-size: 11px; }
  #gs-collection-game-root .gs-rpg-scene { grid-template-columns: 96px minmax(0,1fr); gap: 12px; padding: 12px 0 8px; }
  #gs-collection-game-root .gs-rpg-portrait { width: 96px; height: 96px; }
  #gs-collection-game-root .gs-rpg-text, #gs-collection-game-root .gs-rpg-ghost { font-size: 15px; line-height: 1.5; }
  #gs-collection-game-root .gs-rpg-context { font-size: 11px; }
  #gs-collection-game-root .gs-rpg-choices button { font-size: 13px; min-height: 44px; }
  #gs-collection-game-root .gs-rpg-key-hint { font-size: 0; }
  #gs-collection-game-root .gs-rpg-key-hint::after { content: 'Touchez pour continuer'; font-size: 9px; }

}

/* ========================================================================== */
/* === TABLETTE · 721–1180 px =============================================== */
/* ========================================================================== */
@media (min-width: 721px) and (max-width: 1180px) {
  /* V0.9.177 — composition du stand validée sur ordinateur. */
  #gs-collection-game-root .gs-stall-view { height: min(820px, calc(100dvh - 32px)); min-height: 650px; grid-template-columns: minmax(0,1fr) 300px; grid-template-rows: 64px 158px minmax(0,1fr); }
  #gs-collection-game-root .gs-stall-top { grid-column: 1 / -1; grid-row: 1; }
  #gs-collection-game-root .gs-stall-seller { grid-column: 1 / -1; grid-row: 2; }
  #gs-collection-game-root .gs-stall-scene { grid-column: 1; grid-row: 3; }
  #gs-collection-game-root .gs-stall-commands { grid-column: 2; grid-row: 3; }
  #gs-collection-game-root .gs-stall-seller { grid-template-columns: 95px minmax(0,1fr) 185px; gap: 12px; }
  #gs-collection-game-root .gs-stall-dialogue strong { font-size: 20px; }
  #gs-collection-game-root .gs-stall-dialogue p { font-size: 14px; }
  #gs-collection-game-root .gs-stall-top h1 { font-size: 18px; }

  .gs-collection-game-root {
    --gs-responsive-page-gutter: 12px;
    width: min(100%, 1180px);
    margin: 8px auto 18px;
  }
  .gs-game-shell {
    border-radius: 20px;
  }
  .gs-game-topbar {
    grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(86px, .7fr)) !important;
  }
  .gs-game-topbar .gs-icon-btn {
    display: none !important;
  }
  .gs-brand,
  .gs-stat {
    min-height: 60px !important;
    padding: 10px 12px !important;
  }
  .gs-brand b { font-size: 18px !important; }
  .gs-stat strong { font-size: 20px !important; }
  .gs-content-grid {
    grid-template-columns: minmax(0, 1fr) 240px !important;
    gap: 12px !important;
    padding: var(--gs-responsive-page-gutter) !important;
  }
  .gs-room {
    min-height: 600px !important;
  }
  .gs-tabs {
    gap: 7px !important;
    padding: 10px 12px 0 !important;
  }
  .gs-tabs button,
  .gs-tab-menu {
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
  .gs-room-chip,
  .gs-room-mini-score {
    padding: 9px 11px !important;
    border-radius: 13px !important;
  }
  .gs-room-chip strong,
  .gs-room-mini-score strong {
    font-size: 16px !important;
  }

  #gs-collection-game-root .gs-rpg-overlay { padding: 18px; }
  #gs-collection-game-root .gs-rpg-dialogue { max-width: 760px; }

}

/* ========================================================================== */
/* === DESKTOP · 1181 px et plus ============================================ */
/* ========================================================================== */
@media (min-width: 1181px), (hover: hover) and (pointer: fine) and (min-width: 900px) {
  /* V0.9.177 — composition du stand validée sur ordinateur. */
  #gs-collection-game-root .gs-stall-view { height: min(820px, calc(100dvh - 32px)); min-height: 650px; grid-template-columns: minmax(0,1fr) 365px; grid-template-rows: 64px 164px minmax(0,1fr); }
  #gs-collection-game-root .gs-stall-top { grid-column: 1 / -1; grid-row: 1; }
  #gs-collection-game-root .gs-stall-seller { grid-column: 1 / -1; grid-row: 2; }
  #gs-collection-game-root .gs-stall-scene { grid-column: 1; grid-row: 3; }
  #gs-collection-game-root .gs-stall-commands { grid-column: 2; grid-row: 3; }

  /* V0.9.175 — place suffisante pour les trois offres du stand. */
  #gs-collection-game-root .gs-lot-view { grid-template-columns: minmax(0, 1fr) 340px; }
  body.gs-collection-game-page .gs-collection-game-root.gs-desktop-input {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    width: min(1440px, calc(100vw - 24px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 12px auto 24px !important;
    background: transparent !important;
  }
  body.admin-bar .gs-collection-game-root.gs-desktop-input {
    top: auto !important;
    height: auto !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-shell {
    width: 100% !important;
    height: auto !important;
    min-height: 760px !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: var(--gs-shadow) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar {
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(110px, .75fr)) repeat(4, minmax(105px, .68fr)) !important;
    height: auto !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    background: linear-gradient(180deg, rgba(8,13,18,.96), rgba(5,8,11,.98)) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-brand,
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-icon-btn {
    display: flex !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-brand,
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-stat,
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-icon-btn {
    min-height: 78px !important;
    padding: 14px 16px !important;
    border-right: 1px solid rgba(255,255,255,.06) !important;
    justify-content: center !important;
    background: transparent !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-brand b {
    font-size: clamp(17px, 2vw, 27px) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-brand small,
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-stat small {
    font-size: 11px !important;
    color: var(--gs-muted) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-game-topbar .gs-stat strong {
    font-size: clamp(20px, 2vw, 30px) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-tabs {
    grid-row: auto !important;
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding: 16px 18px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-tabs button,
  .gs-collection-game-root.gs-desktop-input .gs-tab-menu {
    min-height: 46px !important;
    border-radius: 16px !important;
    padding: 0 18px !important;
    font-size: 15px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    text-align: left !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-content-grid {
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 290px !important;
    gap: 18px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 18px !important;
    margin: 0 !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-room {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: auto !important;
    min-height: 660px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-room-bg {
    transform: none !important;
    background-position: center center !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-room-content { padding: 16px !important; }
  .gs-collection-game-root.gs-desktop-input .gs-room-titlebar { align-items: flex-start !important; }
  .gs-collection-game-root.gs-desktop-input .gs-room-chip,
  .gs-collection-game-root.gs-desktop-input .gs-room-mini-score {
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-room-chip strong,
  .gs-collection-game-root.gs-desktop-input .gs-room-mini-score strong {
    font-size: 20px !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-room-bottom {
    display: grid !important;
    grid-template-columns: minmax(240px, 1.1fr) minmax(220px, .9fr) !important;
    gap: 14px !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-lot-hotspots { display: block !important; min-height: 240px !important; }
  .gs-collection-game-root.gs-desktop-input .gs-room-collection-panel.is-open { display: block !important; }
  .gs-collection-game-root.gs-desktop-input .gs-room-collection-panel:not(.is-open) { display: none !important; }
  .gs-collection-game-root.gs-desktop-input .gs-actions { display: grid !important; }
  .gs-collection-game-root.gs-desktop-input .gs-log { display: block !important; }
  .gs-collection-game-root.gs-desktop-input .gs-side { display: grid !important; }
  .gs-collection-game-root.gs-desktop-input .gs-side-left { grid-column: 2 !important; grid-row: 1 !important; }
  .gs-collection-game-root.gs-desktop-input .gs-side-right { grid-column: 2 !important; grid-row: 2 !important; }
  .gs-collection-game-root.gs-desktop-input .gs-brocante-view {
    grid-row: auto !important;
    height: min(78vh, 860px) !important;
    min-height: 720px !important;
    overflow: hidden !important;
    padding: 18px !important;
    margin: 0 !important;
    position: relative !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-market-screen {
    position: relative !important;
    inset: auto !important;
    grid-row: auto !important;
    height: min(78vh, 860px) !important;
    min-height: 720px !important;
    margin: 18px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.08) !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-market-hud { min-height: 52px !important; }
  .gs-collection-game-root.gs-desktop-input .gs-city-map-screen {
    grid-row: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 18px !important;
    margin: 0 !important;
  }
  .gs-collection-game-root.gs-desktop-input .gs-city-map-stage {
    height: min(76vh, 820px) !important;
    min-height: 680px !important;
    border-radius: 22px !important;
  }
}

/* ========================================================================== */
/* === PETITS MOBILES ======================================================= */
/* ========================================================================== */
@media (max-width: 390px) {
  .gs-market-hint { display: none !important; }
  .gs-game-topbar .gs-stat small { font-size: 5.5px !important; }
  .gs-game-topbar .gs-stat strong { font-size: 10px !important; }
  .gs-tabs.gs-tabs-room-nav button,
  .gs-tabs.gs-tabs-room-nav .gs-tab-menu { font-size: 9px !important; }
}


/* === V0.9.152 — Admin responsive === */
@media (max-width: 720px) {
  .gs-admin-screen { padding: 8px; gap: 9px; overflow-y: auto; }
  .gs-admin-header { padding: 12px; border-radius: 14px; align-items: flex-start; }
  .gs-admin-header h2 { font-size: 20px; }
  .gs-admin-header p { font-size: 11px; }
  .gs-admin-lock { padding: 6px 8px; font-size: 8px; }
  .gs-admin-grid { grid-template-columns: 1fr; gap: 9px; }
  .gs-admin-card { padding: 12px; border-radius: 14px; gap: 9px; }
  .gs-admin-card.gs-admin-danger { grid-column: auto; }
  .gs-admin-balance strong { font-size: 19px; }
  .gs-admin-field input,
  .gs-admin-primary,
  .gs-admin-inline-actions button,
  .gs-admin-teleports button,
  .gs-admin-danger-button { min-height: 40px; }
  .gs-admin-teleports { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
}
@media (min-width: 721px) and (max-width: 1180px) {
  .gs-admin-screen { padding: 12px; }
  .gs-admin-card { padding: 15px; }
}


/* === V0.9.153 — placement mobile de la commande Nouvelle partie === */
@media (max-width: 720px) {
  .gs-menu-new-game {
    left: max(12px, env(safe-area-inset-left));
    top: max(12px, env(safe-area-inset-top));
    min-height: 31px;
    padding: 7px 10px;
    font-size: 10px;
  }
  .gs-settings-danger-button { min-height: 44px; }
}


/* === V0.9.156 — correctifs mobile visuels validés sur captures === */
/* Main dominante : droitier = joystick à gauche / commandes à droite.
   Gaucher = joystick à droite / commandes à gauche. */
@media (max-width: 720px) {
  .gs-collection-game-root.gs-controls-right .gs-room-joystick,
  .gs-collection-game-root.gs-controls-right .gs-market-screen .gs-joystick,
  .gs-collection-game-root.gs-controls-right .gs-city-map-stage .gs-city-joystick,
  .gs-collection-game-root.gs-controls-right .gs-room.is-customize-mode .gs-customize-joystick {
    left: 8px !important;
    right: auto !important;
  }
  .gs-collection-game-root.gs-controls-left .gs-room-joystick,
  .gs-collection-game-root.gs-controls-left .gs-market-screen .gs-joystick,
  .gs-collection-game-root.gs-controls-left .gs-city-map-stage .gs-city-joystick,
  .gs-collection-game-root.gs-controls-left .gs-room.is-customize-mode .gs-customize-joystick {
    left: auto !important;
    right: 8px !important;
  }
  .gs-collection-game-root.gs-controls-right .gs-market-zoom,
  .gs-collection-game-root.gs-controls-right .gs-room:not(.is-vitrine-open) .gs-room-zoom {
    left: auto !important;
    right: 8px !important;
  }
  .gs-collection-game-root.gs-controls-left .gs-market-zoom,
  .gs-collection-game-root.gs-controls-left .gs-room:not(.is-vitrine-open) .gs-room-zoom {
    left: 8px !important;
    right: auto !important;
  }

  /* Aperçu concours : fond légèrement surdimensionné en plus du nettoyage
     des fichiers source pour qu'aucune tranche colorée ne puisse réapparaître. */
  .gs-contest-card--hero {
    min-height: 500px !important;
    overflow: hidden !important;
  }
  .gs-contest-card-backdrop {
    inset: -2px !important;
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    max-width: none !important;
    object-position: center 40% !important;
  }
  .gs-contest-card-copy {
    left: 11px !important;
    right: 11px !important;
    bottom: 12px !important;
    width: auto !important;
    max-height: 62% !important;
    padding: 12px 13px 12px !important;
    gap: 7px !important;
    overflow-y: auto !important;
  }
  .gs-contest-card--hero h3 {
    max-width: 100% !important;
    font-size: clamp(20px, 6.5vw, 27px) !important;
    line-height: 1.04 !important;
    margin-bottom: 2px !important;
  }
  .gs-contest-card--hero p {
    font-size: 12.5px !important;
    line-height: 1.34 !important;
  }
  .gs-contest-card--hero .gs-kicker {
    font-size: 10px !important;
    line-height: 1.15 !important;
  }
  .gs-contest-hero-facts {
    gap: 5px !important;
  }
  .gs-contest-hero-facts div {
    padding: 7px 8px !important;
  }
  .gs-contest-hero-facts small { font-size: 9px !important; }
  .gs-contest-hero-facts strong { font-size: 12px !important; }
}

@media (max-height: 480px) {
  #gs-collection-game-root .gs-rpg-dialogue { max-height: 92dvh; }
  #gs-collection-game-root .gs-rpg-overlay { padding: 10px; }
  #gs-collection-game-root .gs-rpg-portrait { width: 64px; height: 64px; }
  #gs-collection-game-root .gs-rpg-scene { grid-template-columns: 64px minmax(0,1fr); }
}

/* V0.9.163 — parcours mobile compact et dialogues sans portrait parasite. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-tabs.gs-tabs-room-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  #gs-collection-game-root .gs-rpg-dialogue { padding: 11px 12px 7px; }
  #gs-collection-game-root .gs-rpg-header strong { font-size: 16px; }
  #gs-collection-game-root .gs-rpg-copy { padding-top: 11px; }
  #gs-collection-game-root .gs-rpg-lines { min-height: 7.4em; }
  #gs-collection-game-root .gs-rpg-text,
  #gs-collection-game-root .gs-rpg-ghost { font-size: 14px; line-height: 1.55; }
  #gs-collection-game-root .gs-economy-route { margin-bottom: 8px; padding: 6px 7px; gap: 5px; font-size: 10px; }
  #gs-collection-game-root .gs-economy-route b { width: 17px; height: 17px; }
  #gs-collection-game-root .gs-lot-route { font-size: 10px; }
  #gs-collection-game-root .gs-negotiation-option { min-height: 54px; }
}

@media (max-width: 720px) {
  #gs-collection-game-root .gs-obj-dot::after { inset: -16px; }
}


@media (max-width: 900px) {
  #gs-collection-game-root .gs-price-console { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  #gs-collection-game-root .gs-price-room-page { gap: 12px; }
  #gs-collection-game-root .gs-price-hero { display: grid; gap: 12px; padding: 14px; border-radius: 16px; }
  #gs-collection-game-root .gs-price-hero h2 { font-size: 28px; }
  #gs-collection-game-root .gs-price-hero p { font-size: 14px; }
  #gs-collection-game-root .gs-price-form-card,
  #gs-collection-game-root .gs-price-collection-card { padding: 14px; border-radius: 18px; }
  #gs-collection-game-root .gs-price-form-head { align-items: flex-start; }
  #gs-collection-game-root .gs-price-selected-art { width: 82px; height: 82px; border-radius: 16px; }
  #gs-collection-game-root .gs-price-selected-art .gs-catalog-sprite { width: 60px; height: 60px; }
  #gs-collection-game-root .gs-price-form-grid { grid-template-columns: 1fr; gap: 10px; }
  #gs-collection-game-root .gs-price-field > div { font-size: 17px; }
  #gs-collection-game-root .gs-price-submit { font-size: 18px; padding: 13px 16px; }
  #gs-collection-game-root .gs-price-result-card h3 { font-size: 32px; }
  #gs-collection-game-root .gs-price-item-card { grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
  #gs-collection-game-root .gs-price-item-art { width: 64px; height: 64px; border-radius: 15px; }
  #gs-collection-game-root .gs-price-item-art .gs-catalog-sprite { width: 46px; height: 46px; }
  #gs-collection-game-root .gs-price-item-badge { grid-column: 2; justify-self: start; }
}


@media (max-width: 720px) {
  #gs-collection-game-root .gs-vitrine-stats-reworked { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  #gs-collection-game-root .gs-vitrine-stats-reworked strong { font-size: 18px; }
  #gs-collection-game-root .gs-vitrine-managed-grid { max-height: calc(100% - 206px); }
  #gs-collection-game-root .gs-vitrine-card { grid-template-columns: 64px minmax(0,1fr); gap: 10px; padding: 10px; }
  #gs-collection-game-root .gs-vitrine-card-art { width: 64px; min-height: 64px; border-radius: 12px; }
  #gs-collection-game-root .gs-vitrine-card-art .gs-catalog-sprite { width: 44px; height: 44px; }
  #gs-collection-game-root .gs-vitrine-card-head { display: grid; gap: 6px; }
  #gs-collection-game-root .gs-vitrine-card-head h5 { font-size: 16px; }
  #gs-collection-game-root .gs-vitrine-state-badge { justify-self: start; padding: 6px 9px; font-size: 11px; }
  #gs-collection-game-root .gs-vitrine-card-actions { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-vitrine-card-actions button,
  #gs-collection-game-root .gs-vitrine-card-links button { min-height: 34px; font-size: 11px; }
  #gs-collection-game-root .gs-vitrine-card-links { display: grid; grid-template-columns: 1fr; }
}


@media (max-width: 720px) {
  #gs-collection-game-root .gs-tabs.gs-tabs-room-nav button {
    min-height: 44px;
    font-size: 11px;
    padding: 0 8px 2px;
  }
}


@media (max-width: 720px) {
  #gs-collection-game-root .gs-settings-screen-v190 { border-radius: 0; }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-hero {
    top: -12px;
    padding: 13px 0 12px;
    background: linear-gradient(180deg, rgba(18, 11, 16, .99) 78%, rgba(18, 11, 16, 0));
  }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-hero h2 { font-size: 29px; }
  #gs-collection-game-root .gs-settings-grid-v190 { grid-template-columns: 1fr; gap: 10px; }
  #gs-collection-game-root .gs-settings-card-wide { grid-column: auto; }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-card { padding: 13px; border-radius: 14px; }
  #gs-collection-game-root .gs-settings-section-head { grid-template-columns: 42px minmax(0,1fr); gap: 10px; margin-bottom: 11px; padding-bottom: 10px; }
  #gs-collection-game-root .gs-settings-section-icon { width: 42px; height: 42px; font-size: 19px; }
  #gs-collection-game-root .gs-settings-section-head strong { font-size: 16px; }
  #gs-collection-game-root .gs-settings-section-head small { font-size: 10px; }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-range {
    grid-template-columns: 1fr auto;
    gap: 5px 10px;
    padding: 9px 0;
  }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-range > span { grid-column: 1; }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-range output { grid-column: 2; grid-row: 1; }
  #gs-collection-game-root .gs-settings-screen-v190 .gs-settings-range input { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  #gs-collection-game-root .gs-settings-save-actions { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-settings-action { min-height: 58px; }
}


@media (max-width: 720px) {
  #gs-collection-game-root .gs-tabs.gs-tabs-room-nav.has-admin { grid-template-columns: repeat(3, minmax(0,1fr)); }
  #gs-collection-game-root .gs-tabs.gs-tabs-room-nav.has-admin .gs-nav-menu-main { grid-column: span 2; }
  #gs-collection-game-root .gs-journal-hero-v191 { grid-template-columns: 58px minmax(0,1fr); gap: 11px; padding: 12px; border-radius: 15px; }
  #gs-collection-game-root .gs-journal-avatar { width: 58px; height: 58px; border-radius: 13px; font-size: 24px; }
  #gs-collection-game-root .gs-journal-identity h2 { font-size: 21px; }
  #gs-collection-game-root .gs-journal-objective,
  #gs-collection-game-root .gs-journal-community,
  #gs-collection-game-root .gs-journal-history { padding: 12px; border-radius: 14px; }
  #gs-collection-game-root .gs-journal-stats-v191 { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  #gs-collection-game-root .gs-journal-stats-v191 > div { padding: 9px 8px; }
  #gs-collection-game-root .gs-journal-stats-v191 strong { font-size: 17px; }
  #gs-collection-game-root .gs-journal-dashboard { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-journal-dashboard article { grid-template-columns: 36px minmax(0,1fr); padding: 10px; }
  #gs-collection-game-root .gs-journal-mission-facts { grid-template-columns: 1fr; }
}


/* V0.9.192 responsive home dashboard */
@media (max-width: 1079px) {
  #gs-collection-game-root .gs-home-content-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px;
  }
  #gs-collection-game-root .gs-home-bottom-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 12px 12px;
  }
}
@media (max-width: 720px) {
  #gs-collection-game-root .gs-home-panel-head { padding: 10px 12px 9px; }
  #gs-collection-game-root .gs-home-panel-head strong { font-size: 18px; }
  #gs-collection-game-root .gs-home-panel .gs-rival-line { padding: 12px; }
  #gs-collection-game-root .gs-home-panel .gs-rival-line .gs-npc { width: 58px; height: 58px; flex-basis: 58px; }
  #gs-collection-game-root .gs-home-actions-shell .gs-actions { grid-template-columns: 1fr; padding: 12px; }
  #gs-collection-game-root .gs-home-actions-shell .gs-actions button { min-height: 86px; }
  #gs-collection-game-root .gs-home-log-shell .gs-home-news-list { padding: 10px 12px 12px; }
}

/* === V0.9.193 — Refonte desktop RPG dark-fantasy de la Maison ===
   Mobile/tablette inchangés : cette couche ne s'active qu'à partir de 1080 px. */
@media (min-width: 1080px) {
  #gs-collection-game-root .gs-game-shell.gs-screen-collection {
    background:
      linear-gradient(180deg, rgba(23, 5, 11, .62) 0, rgba(7, 7, 11, .96) 178px),
      linear-gradient(135deg, #09090d 0%, #12070b 48%, #06070b 100%);
    border-color: rgba(199, 150, 70, .28);
    box-shadow:
      0 28px 76px rgba(0,0,0,.54),
      inset 0 0 0 1px rgba(255,224,162,.025);
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-collection::before {
    background:
      linear-gradient(180deg, rgba(255, 224, 162, .025), transparent 92px),
      linear-gradient(90deg, transparent, rgba(126, 29, 43, .05), transparent);
  }

  /* En-tête plus proche d'un HUD RPG que d'un tableau web. */
  #gs-collection-game-root .gs-screen-collection .gs-game-topbar {
    border-bottom: 1px solid rgba(211, 168, 86, .22);
    background: linear-gradient(180deg, rgba(27, 11, 18, .98), rgba(7, 8, 13, .99));
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
  }
  #gs-collection-game-root .gs-screen-collection .gs-brand,
  #gs-collection-game-root .gs-screen-collection .gs-stat,
  #gs-collection-game-root .gs-screen-collection .gs-icon-btn {
    border-right-color: rgba(211, 168, 86, .11);
  }
  #gs-collection-game-root .gs-screen-collection .gs-brand {
    background: linear-gradient(135deg, rgba(66, 17, 27, .72), rgba(12, 10, 16, .97));
  }
  #gs-collection-game-root .gs-screen-collection .gs-brand b {
    color: #f7efe3;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
  }

  #gs-collection-game-root .gs-screen-collection .gs-tabs.gs-tabs-room-nav {
    gap: 8px;
    padding: 13px 18px 2px;
    border-bottom: 0;
  }
  #gs-collection-game-root .gs-screen-collection .gs-tabs.gs-tabs-room-nav button {
    min-height: 42px;
    border-radius: 6px 6px 2px 2px;
    border: 1px solid rgba(194, 153, 77, .18);
    border-bottom-color: rgba(128, 34, 48, .42);
    background: linear-gradient(180deg, rgba(29, 24, 31, .96), rgba(9, 10, 15, .99));
    color: #c9c0b3;
    box-shadow: inset 0 1px rgba(255,255,255,.025);
    letter-spacing: .025em;
  }
  #gs-collection-game-root .gs-screen-collection .gs-tabs.gs-tabs-room-nav button:hover {
    border-color: rgba(227, 187, 105, .42);
    color: #fff3d9;
  }
  #gs-collection-game-root .gs-screen-collection .gs-tabs.gs-tabs-room-nav button.active {
    border-color: rgba(224, 173, 82, .48);
    border-bottom-color: rgba(193, 47, 64, .84);
    background: linear-gradient(180deg, rgba(118, 27, 42, .86), rgba(42, 12, 21, .98));
    box-shadow: inset 0 1px rgba(255, 228, 176, .08), 0 8px 22px rgba(96, 13, 28, .16);
  }

  #gs-collection-game-root .gs-home-dashboard {
    gap: 18px;
  }

  /* Grande scène à gauche + vraie colonne HUD à droite.
     Stats et progression retrouvent ensuite une ligne équilibrée 50/50. */
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto;
    grid-template-areas: none;
    gap: 18px;
    padding: 18px 18px 0;
    align-items: stretch;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room,
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-home-panel {
    grid-area: auto !important;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room {
    grid-column: 1 / 5;
    grid-row: 1 / 4;
    min-height: 760px;
    height: 100%;
    border-radius: 10px;
    border-color: rgba(217, 169, 83, .32);
    box-shadow:
      inset 0 0 0 1px rgba(255, 226, 165, .035),
      0 20px 48px rgba(0,0,0,.34);
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-panel-objective {
    grid-column: 5 / 7;
    grid-row: 1;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-rival {
    grid-column: 5 / 7;
    grid-row: 2;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-season {
    grid-column: 5 / 7;
    grid-row: 3;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-stats {
    grid-column: 1 / 4;
    grid-row: 4;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-progression {
    grid-column: 4 / 7;
    grid-row: 4;
  }

  /* Cadres : rouge/noir + liseré or, sans décor extérieur. */
  #gs-collection-game-root .gs-screen-collection .gs-home-panel,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card {
    position: relative;
    border-radius: 8px;
    border: 1px solid rgba(202, 158, 76, .34);
    background:
      linear-gradient(180deg, rgba(37, 12, 22, .95), rgba(10, 10, 15, .985) 35%, rgba(6, 8, 13, .995));
    box-shadow:
      inset 0 0 0 1px rgba(255, 225, 164, .035),
      inset 0 -18px 36px rgba(0,0,0,.16),
      0 14px 30px rgba(0,0,0,.22);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel::after,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card::after {
    content: "";
    position: absolute;
    inset: 5px;
    z-index: 0;
    pointer-events: none;
    border: 1px solid rgba(228, 188, 108, .07);
    border-radius: 4px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel > *,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card > * {
    position: relative;
    z-index: 1;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    min-height: 68px;
    align-content: center;
    padding: 12px 16px 11px;
    border-bottom: 1px solid rgba(218, 171, 82, .22);
    background:
      linear-gradient(90deg, rgba(123, 24, 42, .60), rgba(50, 16, 27, .55) 52%, rgba(13, 12, 18, .18));
    box-shadow: inset 0 -1px rgba(0,0,0,.32);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 0;
    width: 62px;
    height: 2px;
    background: linear-gradient(90deg, #e1b15b, rgba(225,177,91,0));
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    color: #d9ad59;
    font-size: 10px;
    letter-spacing: .15em;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    color: #fff3df;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .01em;
    text-shadow: 0 2px 10px rgba(0,0,0,.48);
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-stats-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body {
    padding: 16px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body p,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body p {
    margin-top: 0;
    color: #c7c1b7;
    font-size: 13px;
    line-height: 1.55;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line {
    min-height: 132px;
    padding: 16px;
    align-items: center;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line .gs-npc {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    border-radius: 6px;
    border-color: rgba(220, 173, 83, .26);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line strong {
    color: #fff0d2;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line small,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line em {
    display: block;
    margin-top: 3px;
    color: #a9a39b;
    font-size: 12px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body {
    min-height: 132px;
    align-content: start;
  }

  #gs-collection-game-root .gs-screen-collection .gs-progress {
    height: 9px;
    border-radius: 2px;
    border-color: rgba(224, 177, 86, .13);
    background: rgba(0,0,0,.42);
  }
  #gs-collection-game-root .gs-screen-collection .gs-progress i {
    background: linear-gradient(90deg, #8d2136, #c8494e 58%, #d7aa55);
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill {
    grid-template-columns: minmax(120px, .85fr) minmax(100px, 1fr) 30px;
    gap: 10px;
    margin: 9px 0;
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill span,
  #gs-collection-game-root .gs-screen-collection .gs-skill em {
    color: #c7c0b5;
    font-size: 12px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill i {
    height: 7px;
    border-radius: 2px;
    background: rgba(0,0,0,.42);
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill b {
    background: linear-gradient(90deg, #b12c40, #e3b05b);
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body .gs-small-btn {
    min-height: 54px;
    border-radius: 5px;
    border-color: rgba(221, 174, 83, .32);
    background: linear-gradient(180deg, rgba(114, 24, 40, .74), rgba(46, 13, 23, .96));
    color: #ffefd0;
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
    min-height: 54px;
    display: flex;
    align-items: center;
    border-radius: 5px;
    border-color: rgba(215, 170, 83, .11);
    background: rgba(4, 6, 10, .48);
    color: #bdb6aa;
    font-size: 11px;
    line-height: 1.35;
  }

  /* Bas d'écran : commandes larges à gauche, journal lisible à droite. */
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-row {
    grid-template-columns: minmax(0, 1.7fr) minmax(330px, .75fr);
    gap: 18px;
    padding: 0 18px 18px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button {
    position: relative;
    min-height: 96px;
    border-radius: 6px;
    border-color: rgba(205, 161, 79, .17);
    background: linear-gradient(180deg, rgba(20, 21, 29, .98), rgba(7, 8, 13, .995));
    box-shadow: inset 0 0 0 1px rgba(255, 224, 162, .02);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, transparent, rgba(196, 49, 64, .72), #d3a650, transparent);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button:hover {
    transform: translateY(-2px);
    border-color: rgba(231, 190, 108, .46);
    background: linear-gradient(180deg, rgba(39, 24, 31, .99), rgba(10, 10, 16, .995));
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions strong {
    color: #f7ead4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions small {
    color: #92949b;
    font-size: 11px;
    line-height: 1.45;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button[data-action="search-lot"] {
    border-color: rgba(225, 176, 82, .48);
    background: linear-gradient(180deg, rgba(75, 25, 31, .94), rgba(28, 11, 18, .99));
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list {
    padding: 12px 14px 14px;
    gap: 8px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li {
    border-radius: 4px;
    border-color: rgba(255,255,255,.045);
    border-left-color: rgba(205, 157, 70, .74);
    background: rgba(4, 6, 10, .46);
    color: #c9c3b9;
    font-size: 11px;
    line-height: 1.45;
  }
}

/* Grand desktop : on profite vraiment de la largeur sans étirer la colonne HUD. */
@media (min-width: 1320px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room {
    grid-column: 1 / 6;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-objective,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-rival,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-season {
    grid-column: 6 / 8;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-stats {
    grid-column: 1 / 4;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-progression {
    grid-column: 4 / 8;
  }
}


/* === V0.9.194 — Correctif structure mobile de la Maison ==================
   V0.9.192 a introduit .gs-home-dashboard autour du contenu. L'ancien layout
   mobile attendait encore .gs-content-grid comme enfant direct du shell :
   le dashboard pouvait donc sortir de la rangée centrale, les onglets se
   déplacer et la carte Actions rapides héritait du display:none historique.
   Cette couche remet une hiérarchie mobile explicite sans toucher au desktop. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-game-shell.gs-screen-collection {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) auto !important;
  }

  /* Le dashboard est l'unique contenu scrollable entre HUD et navigation. */
  #gs-collection-game-root .gs-screen-collection > .gs-home-dashboard {
    grid-row: 2 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Le grid interne ne doit plus récupérer le height:100%/scroll de l'ancien
     .gs-content-grid mobile : c'est le dashboard parent qui scrolle. */
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 6px !important;
    margin: 0 !important;
    align-items: stretch !important;
  }

  /* La chambre reste le point d'entrée visuel et occupe toute la largeur. */
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    height: clamp(390px, 54dvh, 500px) !important;
    min-height: 390px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(217, 175, 93, .22) !important;
    overflow: hidden !important;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-home-panel {
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0 !important;
    border-radius: 13px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-progression {
    grid-column: 1 / -1 !important;
  }

  /* Cartes compactes : lisibles sans transformer la Maison en page web géante. */
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    gap: 2px !important;
    padding: 8px 9px 7px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    font-size: 7px !important;
    letter-spacing: .10em !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    font-size: 14px !important;
    line-height: 1.08 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-stats-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body {
    padding: 9px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body p,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body p,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body small,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line small,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line em {
    font-size: 9px !important;
    line-height: 1.35 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line {
    min-height: 0 !important;
    padding: 9px !important;
    gap: 8px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line .gs-npc {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line strong {
    font-size: 13px !important;
    margin-bottom: 2px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body {
    min-height: 0 !important;
    gap: 5px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill {
    grid-template-columns: minmax(68px, .9fr) minmax(50px, 1fr) 18px !important;
    gap: 5px !important;
    margin: 5px 0 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-skill span,
  #gs-collection-game-root .gs-screen-collection .gs-skill em {
    font-size: 8px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    margin-top: 7px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
    min-height: 0 !important;
    padding: 7px 8px !important;
    font-size: 9px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body .gs-small-btn {
    min-height: 40px !important;
    font-size: 10px !important;
  }

  /* Actions et journal appartiennent au même flux scrollable, après la Maison. */
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 2px 6px 10px !important;
    margin: 0 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding: 9px !important;
    margin: 0 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button {
    display: grid !important;
    align-content: center !important;
    min-height: 68px !important;
    padding: 10px !important;
    border-radius: 11px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions strong {
    font-size: 12px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions small {
    font-size: 9px !important;
    line-height: 1.3 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list {
    gap: 7px !important;
    padding: 9px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li {
    padding: 8px 9px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  /* Les onglets restent réellement dans la rangée basse du shell. */
  #gs-collection-game-root .gs-screen-collection > .gs-tabs.gs-tabs-room-nav {
    grid-row: 3 !important;
    position: relative !important;
    z-index: 180 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Une notification de sauvegarde est une surcouche, pas une nouvelle rangée
     CSS Grid. Elle ne peut donc plus pousser/recouvrir la navigation. */
  #gs-collection-game-root .gs-game-shell:not(.is-intro-shell) > .gs-save-system-notice {
    position: absolute !important;
    top: calc(var(--gs-responsive-topbar-mobile) + 6px) !important;
    left: 7px !important;
    right: 7px !important;
    width: auto !important;
    max-width: none !important;
    max-height: 92px !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    gap: 8px !important;
    z-index: 240 !important;
    border-radius: 10px !important;
  }
  #gs-collection-game-root .gs-game-shell:not(.is-intro-shell) > .gs-save-system-notice strong {
    font-size: 10px !important;
  }
  #gs-collection-game-root .gs-game-shell:not(.is-intro-shell) > .gs-save-system-notice span {
    font-size: 9px !important;
    line-height: 1.3 !important;
  }
  #gs-collection-game-root .gs-game-shell:not(.is-intro-shell) > .gs-save-system-notice button {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }

  /* Garde-fou : un navigateur tactile ne doit pas afficher l'aide clavier PC. */
  #gs-collection-game-root .gs-screen-collection .gs-desktop-controls-hint {
    display: none !important;
  }
}

@media (max-width: 390px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid {
    grid-template-columns: 1fr !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-progression {
    grid-column: auto !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* === V0.9.195 — Correctif structure mobile du Journal =====================
   Le Journal v0.9.191 n'utilise plus l'ancien wrapper .gs-profile-view.
   Les règles mobiles historiques ne le plaçaient donc jamais explicitement
   dans la rangée centrale du shell : la barre d'onglets (rangée 3) pouvait
   se retrouver visuellement au milieu des cartes et le contenu continuait
   dessous. On donne au Journal la même structure stricte que la Maison. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-game-shell.gs-screen-profil {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-profil > .gs-journal-v191 {
    grid-row: 2 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    align-content: start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 7px 6px 14px !important;
    margin: 0 !important;
  }

  /* Tout le contenu du Journal doit pouvoir se contracter à la largeur écran. */
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v191 > *,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v191 section,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v191 article,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v191 div {
    min-width: 0;
    max-width: 100%;
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-profil > .gs-tabs.gs-tabs-room-nav {
    grid-row: 3 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    z-index: 180 !important;
  }

  /* La route d'objectif garde son défilement horizontal interne sans élargir
     la page entière. */
  #gs-collection-game-root .gs-screen-profil .gs-journal-objective .gs-economy-route {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Les 5 stats restent compactes : 3 sur la première ligne, 2 sur la seconde,
     sans troisième carte rognée à droite. */
  #gs-collection-game-root .gs-screen-profil .gs-journal-stats-v191 {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  #gs-collection-game-root .gs-screen-profil .gs-journal-stats-v191 > div {
    width: auto !important;
    min-width: 0 !important;
  }

  #gs-collection-game-root .gs-screen-profil .gs-journal-dashboard,
  #gs-collection-game-root .gs-screen-profil .gs-journal-community,
  #gs-collection-game-root .gs-screen-profil .gs-journal-history {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 390px) {
  #gs-collection-game-root .gs-screen-profil .gs-journal-stats-v191 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* === V0.9.196 — Cadres rapprochés de la maquette validée ==================
   Les cartes de la Maison reprennent une silhouette plus "RPG / collection" :
   cadre plus rectiligne, double liseré or, plaque de titre centrée et coins
   décoratifs. L'objectif est de coller davantage à la maquette sans casser
   la structure mobile corrigée en v0.9.194/v0.9.195. */
@media (min-width: 721px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-panel,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card {
    position: relative;
    overflow: visible;
    border: 2px solid rgba(206, 162, 79, .68);
    border-radius: 7px;
    background:
      radial-gradient(circle at 50% 0%, rgba(127, 28, 47, .20), transparent 40%),
      linear-gradient(180deg, rgba(28, 11, 18, .985), rgba(11, 11, 17, .995) 52%, rgba(7, 8, 13, 1));
    box-shadow:
      inset 0 0 0 1px rgba(255, 227, 171, .11),
      inset 0 0 28px rgba(128, 25, 38, .13),
      0 18px 38px rgba(0, 0, 0, .26);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel::before,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    pointer-events: none;
    border: 1px solid rgba(241, 197, 108, .14);
    border-radius: 3px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel::after,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 9px 9px, rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at calc(100% - 9px) 9px, rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at 9px calc(100% - 9px), rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at calc(100% - 9px) calc(100% - 9px), rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px);
    opacity: .72;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    position: relative;
    z-index: 3;
    display: grid;
    width: fit-content;
    max-width: calc(100% - 28px);
    min-height: 0;
    margin: -2px auto 0;
    padding: 8px 18px 9px;
    gap: 2px;
    border: 2px solid rgba(206, 162, 79, .72);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: linear-gradient(180deg, rgba(67, 28, 35, .985), rgba(27, 12, 21, .99));
    box-shadow:
      inset 0 1px 0 rgba(255, 233, 189, .12),
      0 10px 20px rgba(0, 0, 0, .20);
    text-align: center;
    justify-items: center;
    align-content: center;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::after {
    content: "";
    position: absolute;
    top: 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 1px solid rgba(255, 224, 162, .42);
    background: radial-gradient(circle at 35% 35%, #f7dda7, #bc8740 72%);
    box-shadow: 0 0 0 2px rgba(40, 17, 20, .82);
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before { left: 8px; }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::after { right: 8px; }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    color: #ebbb68;
    font-size: 10px;
    letter-spacing: .17em;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 1.15;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    color: #fff2d8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.08;
    text-shadow: 0 2px 10px rgba(0,0,0,.46);
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-stats-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body {
    padding: 17px 16px 16px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line {
    padding: 17px 16px 16px;
    align-items: flex-start;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line .gs-npc {
    border-width: 2px;
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(84, 32, 26, .72), rgba(23, 14, 18, .98));
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li,
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li,
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button {
    border-radius: 5px;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button {
    border: 1px solid rgba(206, 162, 79, .24);
    box-shadow: inset 0 0 0 1px rgba(255, 233, 191, .04);
  }
}

@media (max-width: 720px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-panel,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card {
    position: relative !important;
    overflow: visible !important;
    border: 2px solid rgba(206, 162, 79, .58) !important;
    border-radius: 8px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(127, 28, 47, .16), transparent 40%),
      linear-gradient(180deg, rgba(28, 11, 18, .985), rgba(10, 10, 16, .995) 56%, rgba(7, 8, 13, 1)) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 227, 171, .08),
      inset 0 0 18px rgba(128, 25, 38, .10),
      0 10px 24px rgba(0, 0, 0, .18) !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel::before,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 6px !important;
    pointer-events: none !important;
    border: 1px solid rgba(241, 197, 108, .11) !important;
    border-radius: 3px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel::after,
  #gs-collection-game-root .gs-screen-collection .gs-home-bottom-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
      radial-gradient(circle at 8px 8px, rgba(241, 197, 108, .95) 0 1px, transparent 1.1px),
      radial-gradient(circle at calc(100% - 8px) 8px, rgba(241, 197, 108, .95) 0 1px, transparent 1.1px),
      radial-gradient(circle at 8px calc(100% - 8px), rgba(241, 197, 108, .95) 0 1px, transparent 1.1px),
      radial-gradient(circle at calc(100% - 8px) calc(100% - 8px), rgba(241, 197, 108, .95) 0 1px, transparent 1.1px) !important;
    opacity: .66 !important;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    position: relative !important;
    z-index: 3 !important;
    display: grid !important;
    width: fit-content !important;
    max-width: calc(100% - 18px) !important;
    min-height: 0 !important;
    margin: -2px auto 0 !important;
    padding: 6px 12px 7px !important;
    gap: 1px !important;
    border: 1px solid rgba(206, 162, 79, .68) !important;
    border-top: 0 !important;
    border-radius: 0 0 9px 9px !important;
    background: linear-gradient(180deg, rgba(67, 28, 35, .985), rgba(27, 12, 21, .99)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 233, 189, .10), 0 6px 12px rgba(0,0,0,.18) !important;
    text-align: center !important;
    justify-items: center !important;
    align-content: center !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::after {
    content: "" !important;
    position: absolute !important;
    top: 6px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 224, 162, .36) !important;
    background: radial-gradient(circle at 35% 35%, #f7dda7, #bc8740 72%) !important;
    box-shadow: 0 0 0 2px rgba(40, 17, 20, .82) !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before { left: 6px !important; }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::after { right: 6px !important; }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    color: #ebbb68 !important;
    font-size: 7px !important;
    letter-spacing: .13em !important;
    line-height: 1.15 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    color: #fff2d8 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
  }

  #gs-collection-game-root .gs-screen-collection .gs-home-objective-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-season-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-stats-body,
  #gs-collection-game-root .gs-screen-collection .gs-home-progression-body {
    padding: 10px 9px 9px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel .gs-rival-line {
    padding: 10px 9px 9px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button,
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li,
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
    border-radius: 5px !important;
  }
}

/* === V0.9.197 — Déblocage des textes dans les plaques/cartouches ==========
   Les nouvelles plaques de titres étaient visuellement bonnes mais certaines
   lettres pouvaient être rognées sur mobile (hauteur/line-height trop serrés,
   surtout avec la sérif du titre). On desserre les cartouches et on autorise
   explicitement le débordement interne du texte. */
#gs-collection-game-root .gs-screen-collection .gs-home-panel-head,
#gs-collection-game-root .gs-screen-collection .gs-home-panel-head > span,
#gs-collection-game-root .gs-screen-collection .gs-home-panel-head > strong,
#gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button strong,
#gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button small,
#gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li,
#gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
  overflow: visible !important;
}

@media (min-width: 721px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    min-height: 74px !important;
    padding: 10px 20px 12px !important;
    gap: 3px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    font-size: 10px !important;
    line-height: 1.28 !important;
    margin-top: 1px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    font-size: 21px !important;
    line-height: 1.18 !important;
    padding-bottom: 1px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button strong {
    line-height: 1.18 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button small,
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li,
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
    line-height: 1.5 !important;
  }
}

@media (max-width: 720px) {
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head {
    min-height: 56px !important;
    max-width: calc(100% - 10px) !important;
    padding: 8px 14px 10px !important;
    gap: 2px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::before,
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head::after {
    top: 8px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head span {
    font-size: 7px !important;
    line-height: 1.32 !important;
    margin-top: 1px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-panel-head strong {
    font-size: 13px !important;
    line-height: 1.22 !important;
    padding-bottom: 1px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button {
    align-content: start !important;
    gap: 6px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button strong {
    line-height: 1.2 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-actions-shell .gs-actions button small {
    line-height: 1.38 !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-log-shell .gs-home-news-list li,
  #gs-collection-game-root .gs-screen-collection .gs-home-task-list li {
    line-height: 1.42 !important;
  }
}

/* V0.9.198 — Journal style réglages sur mobile */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-journal-screen-v198 {
    padding: 0 !important;
    gap: 10px !important;
    border-radius: 0 !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  #gs-collection-game-root .gs-journal-hero-side {
    grid-template-columns: 64px minmax(0,1fr) !important;
    min-width: 0 !important;
    gap: 10px !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-journal-avatar {
    width: 64px !important;
    height: 64px !important;
    border-radius: 14px !important;
  }
  #gs-collection-game-root .gs-journal-hero-meta strong {
    font-size: 20px !important;
  }
  #gs-collection-game-root .gs-journal-grid-v198 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 > div:last-child {
    grid-column: 1 / -1 !important;
  }
  #gs-collection-game-root .gs-journal-mission-facts {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  #gs-collection-game-root .gs-journal-card-body-v198 > strong {
    font-size: 22px !important;
  }
  #gs-collection-game-root .gs-journal-inline-action,
  #gs-collection-game-root .gs-journal-sync {
    width: 100% !important;
    justify-self: stretch !important;
  }
  #gs-collection-game-root .gs-journal-history li {
    padding: 9px 10px !important;
  }
}

@media (max-width: 720px) {
  #gs-collection-game-root .gs-journal-mobile-extras {
    gap: 10px !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions {
    grid-template-columns: 1fr !important;
  }
}

/* === V0.9.205 — Journal mobile scrollable + Maison vraiment épurée ========
   Le Journal a été renommé en .gs-journal-v198 lors de sa refonte visuelle,
   mais le correctif de scroll v0.9.195 ciblait encore .gs-journal-v191.
   On rattache donc explicitement le wrapper courant à la rangée scrollable.
   En parallèle, les cartes Objectif/Rival/Saison/Stats/Progression quittent
   la Maison mobile et sont rendues dans le Journal avec Actions + actualités. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-game-shell.gs-screen-profil {
    grid-template-rows: var(--gs-responsive-topbar-mobile) minmax(0, 1fr) auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-profil > .gs-journal-v198 {
    grid-row: 2 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    align-content: start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    padding: 7px 6px 18px !important;
    margin: 0 !important;
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-profil > .gs-journal-v198 > *,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v198 section,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v198 article,
  #gs-collection-game-root .gs-game-shell.gs-screen-profil .gs-journal-v198 div {
    min-width: 0;
    max-width: 100%;
  }

  #gs-collection-game-root .gs-game-shell.gs-screen-profil > .gs-tabs.gs-tabs-room-nav {
    grid-row: 3 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    z-index: 180 !important;
  }

  /* Maison : uniquement la chambre / gameplay principal sur téléphone. */
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid {
    grid-template-columns: 1fr !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 4px 5px 8px !important;
  }
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room {
    grid-column: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* Journal : les anciens panneaux sous la chambre y vivent désormais. */
  #gs-collection-game-root .gs-journal-gameplay-panels {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels > .gs-home-panel {
    min-width: 0 !important;
    border-radius: 13px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels > .gs-home-panel-progression {
    grid-column: 1 / -1 !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-panel-head {
    gap: 2px !important;
    padding: 8px 9px 7px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-panel-head span {
    font-size: 7px !important;
    letter-spacing: .10em !important;
    line-height: 1.3 !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-panel-head strong {
    font-size: 14px !important;
    line-height: 1.08 !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-objective-body,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-season-body,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-stats-body,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-progression-body {
    padding: 9px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-objective-body p,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-season-body p,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-season-body small,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-rival-line small,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-rival-line em {
    font-size: 9px !important;
    line-height: 1.35 !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-rival-line {
    min-height: 0 !important;
    padding: 9px !important;
    gap: 8px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-rival-line .gs-npc {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-rival-line strong {
    font-size: 13px !important;
    margin-bottom: 2px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-season-body {
    min-height: 0 !important;
    gap: 5px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-skill {
    grid-template-columns: minmax(68px, .9fr) minmax(50px, 1fr) 18px !important;
    gap: 5px !important;
    margin: 5px 0 !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-skill span,
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-skill em {
    font-size: 8px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-task-list {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    margin-top: 7px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-task-list li {
    min-height: 0 !important;
    padding: 7px 8px !important;
    font-size: 9px !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels .gs-home-progression-body .gs-small-btn {
    min-height: 40px !important;
    font-size: 10px !important;
  }

  #gs-collection-game-root .gs-journal-mobile-extras {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card {
    width: 100% !important;
    margin: 0 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 390px) {
  #gs-collection-game-root .gs-journal-gameplay-panels {
    grid-template-columns: 1fr !important;
  }
  #gs-collection-game-root .gs-journal-gameplay-panels > .gs-home-panel-progression {
    grid-column: auto !important;
  }
}

/* V0.9.207 — Polish esthétique RPG du Journal mobile */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-journal-screen-v198 {
    background:
      radial-gradient(circle at 50% 0%, rgba(120, 23, 43, .14), transparent 30%),
      linear-gradient(180deg, rgba(17, 9, 14, .98), rgba(6, 7, 13, 1)) !important;
  }

  #gs-collection-game-root .gs-journal-hero-v198,
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(205, 162, 83, .52) !important;
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(135, 28, 49, .18), transparent 40%),
      linear-gradient(180deg, rgba(37, 13, 24, .985), rgba(12, 11, 18, .99) 58%, rgba(7, 8, 13, 1)) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 231, 183, .08),
      inset 0 0 22px rgba(133, 25, 42, .10),
      0 12px 30px rgba(0, 0, 0, .24) !important;
  }

  #gs-collection-game-root .gs-journal-hero-v198::before,
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(241, 198, 112, .12);
    border-radius: 10px;
    pointer-events: none;
  }

  #gs-collection-game-root .gs-journal-hero-v198::after,
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 10px 10px, rgba(241, 197, 108, .9) 0 1px, transparent 1.2px),
      radial-gradient(circle at calc(100% - 10px) 10px, rgba(241, 197, 108, .9) 0 1px, transparent 1.2px),
      radial-gradient(circle at 10px calc(100% - 10px), rgba(241, 197, 108, .9) 0 1px, transparent 1.2px),
      radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), rgba(241, 197, 108, .9) 0 1px, transparent 1.2px);
    opacity: .78;
  }

  #gs-collection-game-root .gs-journal-hero-v198 {
    padding: 16px 14px !important;
    gap: 14px !important;
  }
  #gs-collection-game-root .gs-journal-hero-copy h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
    color: #fff0d2 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .42) !important;
  }
  #gs-collection-game-root .gs-journal-hero-copy p {
    color: #dad0c7 !important;
    line-height: 1.55 !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker {
    color: #eab966 !important;
    letter-spacing: .18em !important;
    font-weight: 900 !important;
  }
  #gs-collection-game-root .gs-journal-hero-side {
    padding-top: 6px;
    border-top: 1px solid rgba(214, 166, 87, .14);
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-journal-avatar {
    border: 1px solid rgba(214, 166, 87, .45) !important;
    background: linear-gradient(180deg, rgba(64, 23, 28, .94), rgba(24, 16, 20, .98)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 226, 176, .08), 0 8px 18px rgba(0,0,0,.22) !important;
  }
  #gs-collection-game-root .gs-journal-badges b,
  #gs-collection-game-root .gs-journal-admin-badge {
    background: linear-gradient(180deg, rgba(72, 28, 37, .96), rgba(31, 15, 24, .98)) !important;
    border: 1px solid rgba(214, 166, 87, .48) !important;
    color: #f3cf8c !important;
    box-shadow: inset 0 1px 0 rgba(255, 236, 198, .08) !important;
  }

  #gs-collection-game-root .gs-journal-grid-v198 {
    gap: 12px !important;
    padding-bottom: 14px !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card {
    padding: 12px !important;
  }
  #gs-collection-game-root .gs-settings-section-head {
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(214, 166, 87, .12) !important;
  }
  #gs-collection-game-root .gs-settings-section-head strong,
  #gs-collection-game-root .gs-settings-section-head h3 {
    font-family: Georgia, "Times New Roman", serif !important;
    color: #fff0d4 !important;
  }
  #gs-collection-game-root .gs-settings-section-head small,
  #gs-collection-game-root .gs-settings-section-head span {
    color: #e7b765 !important;
    letter-spacing: .13em !important;
  }

  #gs-collection-game-root .gs-journal-stats-v198 > div {
    border: 1px solid rgba(214, 166, 87, .16) !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(20, 16, 27, .92), rgba(9, 10, 16, .96)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 225, 170, .04) !important;
    padding: 10px !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 small {
    color: #bfb2a7 !important;
    letter-spacing: .10em !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 strong {
    color: #ffe8b7 !important;
    font-family: Georgia, "Times New Roman", serif !important;
  }

  /* Les encadrés remontés dans le Journal adoptent le rendu RPG de la Maison desktop. */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card {
    position: relative;
    overflow: visible;
    border: 2px solid rgba(206, 162, 79, .70) !important;
    border-radius: 8px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(127, 28, 47, .20), transparent 40%),
      linear-gradient(180deg, rgba(28, 11, 18, .985), rgba(11, 11, 17, .995) 52%, rgba(7, 8, 13, 1)) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 227, 171, .10),
      inset 0 0 24px rgba(128, 25, 38, .11),
      0 14px 28px rgba(0, 0, 0, .22) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    pointer-events: none;
    border: 1px solid rgba(241, 197, 108, .14);
    border-radius: 4px;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel::after,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 9px 9px, rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at calc(100% - 9px) 9px, rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at 9px calc(100% - 9px), rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px),
      radial-gradient(circle at calc(100% - 9px) calc(100% - 9px), rgba(241, 197, 108, .95) 0 1.2px, transparent 1.3px);
    opacity: .72;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel > *,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card > * {
    position: relative;
    z-index: 1;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head {
    position: relative;
    z-index: 3;
    display: grid;
    width: fit-content;
    max-width: calc(100% - 28px);
    margin: -2px auto 0;
    padding: 8px 16px 9px !important;
    gap: 2px !important;
    border: 2px solid rgba(206, 162, 79, .72) !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: linear-gradient(180deg, rgba(67, 28, 35, .985), rgba(27, 12, 21, .99)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 233, 189, .12), 0 10px 20px rgba(0, 0, 0, .20) !important;
    text-align: center;
    justify-items: center;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::after {
    content: "";
    position: absolute;
    top: 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 1px solid rgba(255, 224, 162, .42);
    background: radial-gradient(circle at 35% 35%, #f7dda7, #bc8740 72%);
    box-shadow: 0 0 0 2px rgba(40, 17, 20, .82);
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::before { left: 8px; }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::after { right: 8px; }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span {
    color: #ebbb68 !important;
    font-size: 8px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head strong {
    color: #fff2d8 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.46) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-objective-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-season-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-stats-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-progression-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-news-list {
    padding: 12px !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-news-list li {
    border: 1px solid rgba(214, 166, 87, .12) !important;
    background: linear-gradient(180deg, rgba(27, 17, 28, .86), rgba(15, 11, 19, .9)) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    padding: 10px 12px !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions {
    gap: 8px !important;
    padding: 12px !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button {
    position: relative;
    min-height: 72px !important;
    padding: 12px 12px 11px !important;
    border: 1px solid rgba(205, 162, 83, .28) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(18, 18, 30, .98), rgba(8, 9, 14, .98)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 226, 175, .04), 0 6px 16px rgba(0,0,0,.18) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(236, 193, 110, .08);
    border-radius: 8px;
    pointer-events: none;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button strong {
    color: #fff0d5 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    margin-bottom: 4px !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button small {
    color: #c8beb3 !important;
    font-size: 11px !important;
    line-height: 1.38 !important;
  }
}

/* V0.9.208 — Journal mobile : direction Fantasy RPG
   Plus de relief, plaques héraldiques, médaillons, gemmes et barres façon RPG,
   tout en gardant la palette rouge / noir / or de GamingSecrets. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-journal-screen-v198 {
    --gs-fantasy-gold: #d9ad58;
    --gs-fantasy-gold-hi: #f6d792;
    --gs-fantasy-wine: #6d1e35;
    --gs-fantasy-shadow: #09070b;
    background:
      radial-gradient(ellipse at 50% -8%, rgba(127, 35, 60, .26), transparent 37%),
      radial-gradient(circle at 8% 24%, rgba(213, 162, 83, .06), transparent 22%),
      linear-gradient(180deg, #120a10 0%, #090910 48%, #05060a 100%) !important;
  }

  /* En-tête : plaque de quête / registre ancien */
  #gs-collection-game-root .gs-journal-hero-v198 {
    border: 2px solid rgba(218, 174, 91, .72) !important;
    border-radius: 9px !important;
    padding: 19px 16px 17px !important;
    background:
      linear-gradient(135deg, rgba(128, 38, 57, .14), transparent 32%),
      radial-gradient(circle at 50% 0%, rgba(125, 33, 53, .32), transparent 46%),
      linear-gradient(180deg, rgba(39, 15, 26, .99), rgba(16, 10, 17, .995) 64%, rgba(7, 8, 12, 1)) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 232, 184, .12),
      inset 0 0 35px rgba(125, 29, 48, .16),
      0 14px 34px rgba(0,0,0,.34) !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198::before {
    inset: 7px !important;
    border: 1px solid rgba(246, 215, 146, .18) !important;
    border-radius: 3px !important;
    background:
      linear-gradient(90deg, transparent 0 44%, rgba(224,178,91,.12) 44% 56%, transparent 56% 100%) top / 54px 1px no-repeat,
      linear-gradient(90deg, transparent 0 44%, rgba(224,178,91,.10) 44% 56%, transparent 56% 100%) bottom / 54px 1px no-repeat;
  }
  #gs-collection-game-root .gs-journal-hero-v198::after {
    opacity: .95 !important;
    background:
      radial-gradient(circle at 9px 9px, #f5d48d 0 2px, #9e6d2d 2.1px 4px, transparent 4.2px),
      radial-gradient(circle at calc(100% - 9px) 9px, #f5d48d 0 2px, #9e6d2d 2.1px 4px, transparent 4.2px),
      radial-gradient(circle at 9px calc(100% - 9px), #f5d48d 0 2px, #9e6d2d 2.1px 4px, transparent 4.2px),
      radial-gradient(circle at calc(100% - 9px) calc(100% - 9px), #f5d48d 0 2px, #9e6d2d 2.1px 4px, transparent 4.2px) !important;
  }
  #gs-collection-game-root .gs-journal-hero-copy {
    position: relative;
    z-index: 2;
    padding-left: 10px;
    border-left: 3px solid #a51f3f;
  }
  #gs-collection-game-root .gs-journal-hero-copy h2 {
    margin-top: 5px !important;
    color: #fff1d4 !important;
    font-size: clamp(29px, 8.5vw, 39px) !important;
    letter-spacing: -.015em !important;
    text-shadow: 0 2px 0 #2d111a, 0 0 18px rgba(219, 169, 85, .10) !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #efc97f !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker::before,
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker::after {
    content: "◆";
    color: #b88437;
    font-size: 7px;
    text-shadow: 0 0 8px rgba(235, 188, 100, .25);
  }
  #gs-collection-game-root .gs-journal-hero-side {
    position: relative;
    z-index: 2;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-journal-avatar {
    border: 2px solid rgba(226, 181, 91, .72) !important;
    border-radius: 9px !important;
    outline: 1px solid rgba(246, 215, 146, .14);
    outline-offset: -6px;
    background:
      radial-gradient(circle at 50% 25%, rgba(150, 47, 65, .30), transparent 54%),
      linear-gradient(180deg, #421b28, #171018) !important;
  }

  /* Cartes : panneaux de guilde / inventaire fantasy */
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card {
    border: 2px solid rgba(194, 145, 65, .60) !important;
    border-radius: 8px !important;
    background:
      linear-gradient(135deg, rgba(106, 28, 48, .10), transparent 28%),
      radial-gradient(circle at 50% 0%, rgba(114, 30, 49, .17), transparent 44%),
      linear-gradient(180deg, rgba(29, 13, 21, .99), rgba(10, 10, 16, .995) 62%, rgba(6,7,11,1)) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 231, 180, .08),
      inset 0 0 26px rgba(118, 29, 46, .10),
      0 12px 24px rgba(0,0,0,.28) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card::before {
    inset: 7px !important;
    border-radius: 2px !important;
    border-color: rgba(241, 198, 112, .13) !important;
  }

  /* Têtes de section avec médaillon de quête */
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-section-head {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 3px 2px 12px !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid rgba(220, 173, 83, .17) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-section-head::after {
    content: "◆";
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    padding: 0 5px;
    background: #100b11;
    color: #b88235;
    font-size: 7px;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-section-icon {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    border: 2px solid rgba(219, 172, 81, .72) !important;
    border-radius: 50% !important;
    background:
      radial-gradient(circle at 40% 30%, rgba(218, 80, 98, .25), transparent 35%),
      linear-gradient(180deg, #6d2035, #2d111d) !important;
    color: #ffe0a0 !important;
    box-shadow:
      inset 0 0 0 3px rgba(24, 11, 17, .75),
      inset 0 0 0 4px rgba(242, 204, 126, .12),
      0 5px 12px rgba(0,0,0,.25) !important;
    text-shadow: 0 1px 0 #5d3515, 0 0 10px rgba(245, 211, 142, .20);
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-section-head strong {
    color: #ffedca !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    letter-spacing: .035em !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.8) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-section-head small {
    margin-top: 2px !important;
    color: #bfb4aa !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  /* Encadrés gameplay : plaques héraldiques */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card {
    border-color: rgba(215, 170, 80, .76) !important;
    border-radius: 7px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(132, 34, 55, .25), transparent 42%),
      linear-gradient(180deg, #241019 0%, #0d0c12 54%, #08090d 100%) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 234, 190, .10),
      inset 0 0 30px rgba(132, 31, 48, .13),
      0 14px 28px rgba(0,0,0,.27) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head {
    min-width: 58%;
    max-width: calc(100% - 34px);
    border-color: rgba(220, 177, 89, .80) !important;
    border-radius: 0 0 14px 14px !important;
    padding: 9px 22px 10px !important;
    background:
      linear-gradient(180deg, rgba(92, 31, 45, .99), rgba(38, 13, 24, .99)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 235, 198, .14),
      inset 0 -1px 0 rgba(0,0,0,.35),
      0 8px 16px rgba(0,0,0,.24) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span::after {
    content: "✦";
    display: inline-block;
    margin: 0 5px;
    color: #bd8738;
    font-size: 7px;
    vertical-align: middle;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head strong {
    font-size: 17px !important;
    letter-spacing: .01em !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head::after {
    width: 11px !important;
    height: 11px !important;
    top: 9px !important;
    background: radial-gradient(circle at 35% 30%, #fff0b6 0 15%, #d8a64b 30%, #7c471c 72%) !important;
    box-shadow: 0 0 0 2px rgba(31, 12, 18, .9), 0 0 8px rgba(218, 165, 80, .16) !important;
  }

  /* Barres de progression façon jauge RPG */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-progress,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-skill i {
    position: relative;
    height: 9px !important;
    border: 1px solid rgba(208, 160, 75, .28) !important;
    border-radius: 3px !important;
    background: linear-gradient(180deg, #08090e, #15131a) !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,.65), 0 1px 0 rgba(255,255,255,.025) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-progress i,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-skill i b {
    background:
      linear-gradient(180deg, rgba(255,255,255,.22), transparent 38%),
      linear-gradient(90deg, #8c1e3a, #c9454d 46%, #e0aa50 100%) !important;
    box-shadow: inset 0 0 4px rgba(255, 229, 176, .12), 0 0 8px rgba(166, 47, 65, .12) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-skill em {
    color: #e6bf71 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 700 !important;
  }

  /* Rival : portrait traité comme un médaillon */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-rival-line .gs-npc {
    border: 2px solid rgba(221, 174, 83, .78) !important;
    border-radius: 8px !important;
    outline: 1px solid rgba(255, 227, 169, .10);
    outline-offset: -5px;
    box-shadow: 0 5px 12px rgba(0,0,0,.25), inset 0 0 10px rgba(170, 45, 62, .10) !important;
  }

  /* Tâches : mini parchemins sombres */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-task-list li {
    position: relative;
    border: 1px solid rgba(211, 164, 77, .20) !important;
    border-radius: 5px !important;
    background: linear-gradient(180deg, rgba(37, 23, 24, .92), rgba(16, 12, 16, .96)) !important;
    color: #d8cec1 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-task-list li::after {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: 3px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(218, 170, 80, .13), transparent);
  }

  /* Boutons : commandes de menu RPG avec effet métal / cuir */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button,
  #gs-collection-game-root .gs-journal-inline-action,
  #gs-collection-game-root .gs-journal-sync,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-small-btn {
    border: 1px solid rgba(219, 170, 77, .46) !important;
    border-radius: 7px !important;
    background:
      linear-gradient(180deg, rgba(102, 31, 48, .98), rgba(53, 17, 29, .99) 48%, rgba(25, 12, 19, .99)) !important;
    color: #ffe9bb !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 234, 192, .13),
      inset 0 -1px 0 rgba(0,0,0,.50),
      0 5px 14px rgba(0,0,0,.24) !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.72) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button:active,
  #gs-collection-game-root .gs-journal-inline-action:active,
  #gs-collection-game-root .gs-journal-sync:active,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-small-btn:active {
    transform: translateY(1px) !important;
    filter: brightness(.96);
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button strong {
    color: #fff0ce !important;
    font-size: 17px !important;
  }

  /* Cartes de stats : plaques gravées */
  #gs-collection-game-root .gs-journal-stats-v198 > div,
  #gs-collection-game-root .gs-journal-mission-facts > span {
    border: 1px solid rgba(209, 160, 72, .22) !important;
    border-radius: 6px !important;
    background:
      linear-gradient(135deg, rgba(103, 30, 46, .08), transparent 45%),
      linear-gradient(180deg, rgba(24, 17, 23, .96), rgba(10, 10, 15, .99)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 232, 183, .025) !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 > div strong,
  #gs-collection-game-root .gs-journal-card-body-v198 > strong {
    color: #f8d993 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.75) !important;
  }

  /* Journal de bord : entrées façon registre */
  #gs-collection-game-root .gs-journal-history li,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-news-list li {
    border-left: 2px solid rgba(183, 54, 72, .72) !important;
    border-radius: 4px !important;
    background:
      linear-gradient(90deg, rgba(88, 27, 42, .17), transparent 36%),
      linear-gradient(180deg, rgba(21, 16, 21, .96), rgba(10,10,15,.98)) !important;
  }
  #gs-collection-game-root .gs-journal-history li i {
    background: radial-gradient(circle, #f7d88f 0 22%, #b77b2f 24% 58%, #4e2b13 60%) !important;
    box-shadow: 0 0 0 2px rgba(49, 18, 25, .85), 0 0 8px rgba(218, 169, 79, .15) !important;
  }
}

/* V0.9.209 — Intégration de la référence bordeaux premium RPG dans le Journal mobile */
@media (max-width: 720px) {
  /* Palette de référence : #1b080b / #501818 / #6b4b2f / #8a6037 / #c9a469 / #eed297 */

  #gs-collection-game-root .gs-journal-screen-v198 {
    background:
      radial-gradient(circle at 50% 0%, rgba(80, 24, 24, .18), transparent 28%),
      linear-gradient(180deg, #14070a 0%, #1b080b 18%, #12080a 100%) !important;
  }

  /* Header du journal : rendre enfin le haut lisible et propre */
  #gs-collection-game-root .gs-journal-hero-v198 {
    overflow: visible !important;
    padding: 18px 14px 16px !important;
    margin-bottom: 12px !important;
    border: 1px solid rgba(201, 164, 105, .52) !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(96, 30, 32, .96) 0%, rgba(80, 24, 24, .98) 22%, rgba(38, 12, 15, .995) 70%, rgba(27, 8, 11, 1) 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(238, 210, 151, .12),
      inset 0 0 0 1px rgba(255, 240, 210, .04),
      0 12px 28px rgba(0,0,0,.28) !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198::before {
    border-color: rgba(238, 210, 151, .12) !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198::after {
    opacity: .35 !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 4px 10px !important;
    border: 1px solid rgba(201, 164, 105, .40);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(61, 24, 24, .86), rgba(35, 13, 15, .92)) !important;
    color: #e3c083 !important;
    letter-spacing: .16em !important;
    font-size: 10px !important;
    font-weight: 900 !important;
  }
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker::before,
  #gs-collection-game-root .gs-journal-hero-v198 .gs-kicker::after {
    content: '✦';
    color: #c9a469;
    font-size: 8px;
  }
  #gs-collection-game-root .gs-journal-hero-copy h2 {
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    font-size: 26px !important;
    line-height: 1.12 !important;
    color: #fff0d8 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.34) !important;
  }
  #gs-collection-game-root .gs-journal-hero-copy p {
    color: rgba(240, 228, 213, .92) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 34ch;
  }
  #gs-collection-game-root .gs-journal-hero-side {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(201, 164, 105, .18) !important;
  }
  #gs-collection-game-root .gs-journal-hero-meta strong {
    color: #fff1dc !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.75) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-journal-avatar {
    background:
      linear-gradient(180deg, rgba(107, 75, 47, .26), transparent 38%),
      linear-gradient(180deg, rgba(72, 24, 28, .94), rgba(31, 11, 15, .98)) !important;
    border-color: rgba(201, 164, 105, .50) !important;
  }
  #gs-collection-game-root .gs-journal-badges b,
  #gs-collection-game-root .gs-journal-admin-badge {
    background:
      linear-gradient(180deg, rgba(91, 29, 35, .96), rgba(48, 18, 22, .98)) !important;
    border-color: rgba(201, 164, 105, .46) !important;
    color: #f0d09a !important;
  }

  /* Cartes et contenu du Journal alignés sur la planche de style */
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card {
    border: 1px solid rgba(201, 164, 105, .50) !important;
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(80, 24, 24, .20), transparent 42%),
      linear-gradient(180deg, rgba(78, 21, 29, .28) 0%, rgba(39, 13, 17, .98) 18%, rgba(27, 8, 11, .995) 62%, rgba(20, 9, 10, 1) 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(238, 210, 151, .10),
      inset 0 0 0 1px rgba(255, 239, 216, .03),
      0 12px 26px rgba(0,0,0,.22) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card::before {
    border-color: rgba(238, 210, 151, .11) !important;
  }
  #gs-collection-game-root .gs-journal-screen-v198 .gs-settings-card::after {
    opacity: .50 !important;
  }
  #gs-collection-game-root .gs-settings-section-head {
    border-bottom-color: rgba(201, 164, 105, .16) !important;
  }
  #gs-collection-game-root .gs-settings-section-head strong,
  #gs-collection-game-root .gs-settings-section-head h3 {
    color: #fff0d8 !important;
  }
  #gs-collection-game-root .gs-settings-section-head small,
  #gs-collection-game-root .gs-settings-section-head span {
    color: #d6b277 !important;
  }

  /* Encadrés transférés depuis la Maison : vrai bordeaux premium, moins "IA" */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card {
    border-color: rgba(201, 164, 105, .74) !important;
    background:
      linear-gradient(180deg, rgba(96, 30, 32, .92) 0%, rgba(80, 24, 24, .78) 10%, rgba(34, 12, 15, .98) 30%, rgba(27, 8, 11, 1) 72%, rgba(23, 9, 10, 1) 100%) !important;
    box-shadow:
      inset 0 1px 0 rgba(238, 210, 151, .11),
      inset 0 0 0 1px rgba(255, 240, 210, .03),
      0 14px 28px rgba(0,0,0,.24) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card::before {
    border-color: rgba(238, 210, 151, .11) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel::after,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-bottom-card::after {
    opacity: .38 !important;
  }

  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head {
    background:
      linear-gradient(180deg, #7a2528 0%, #65211f 18%, #501818 52%, #3b1216 100%) !important;
    border-color: rgba(201, 164, 105, .78) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 235, 198, .16),
      inset 0 -1px 0 rgba(0,0,0,.35),
      0 8px 16px rgba(0,0,0,.24) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span {
    color: #dcb77a !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span::before,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head span::after {
    color: #c9a469 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel-head strong {
    color: #fff1dc !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.85), 0 0 10px rgba(255,255,255,.04) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-objective-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-season-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-stats-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-progression-body,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-news-list {
    color: #eadfd3 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel p,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel li,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-stat-label,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-rival-note {
    color: rgba(235, 225, 213, .90) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-home-goal,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-rival-name,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-season-name,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-step-title,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-panel .gs-home-stage-title {
    color: #fff0d7 !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.8) !important;
  }

  /* Jauges et listes harmonisées avec la référence */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-progress,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-skill i {
    border-color: rgba(201, 164, 105, .24) !important;
    background: linear-gradient(180deg, #120d10, #1b1418) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-progress i,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-skill i b {
    background:
      linear-gradient(180deg, rgba(255,255,255,.18), transparent 36%),
      linear-gradient(90deg, #7a2528 0%, #a33e34 44%, #d6b277 100%) !important;
    box-shadow: inset 0 0 4px rgba(255, 229, 176, .10), 0 0 8px rgba(166, 47, 65, .10) !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-news-list li,
  #gs-collection-game-root .gs-journal-history li {
    background:
      linear-gradient(90deg, rgba(80, 24, 24, .25), rgba(80, 24, 24, .05) 26%, transparent 38%),
      linear-gradient(180deg, rgba(24, 14, 17, .97), rgba(15, 10, 14, .99)) !important;
    border-left-color: rgba(136, 45, 40, .88) !important;
  }

  /* Boutons plus nobles, moins brillants artificiels */
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button,
  #gs-collection-game-root .gs-journal-inline-action,
  #gs-collection-game-root .gs-journal-sync,
  #gs-collection-game-root .gs-journal-mobile-extras .gs-small-btn {
    background:
      linear-gradient(180deg, rgba(116, 37, 42, .98) 0%, rgba(93, 30, 36, .99) 18%, rgba(80, 24, 24, .99) 52%, rgba(50, 17, 19, .995) 100%) !important;
    border-color: rgba(201, 164, 105, .46) !important;
    color: #fff0d4 !important;
  }
  #gs-collection-game-root .gs-journal-mobile-extras .gs-home-actions-shell .gs-actions button small {
    color: rgba(236, 225, 210, .86) !important;
  }

  /* Cartes de statistiques secondaires */
  #gs-collection-game-root .gs-journal-stats-v198 > div,
  #gs-collection-game-root .gs-journal-mission-facts > span {
    background:
      linear-gradient(135deg, rgba(107, 75, 47, .08), transparent 40%),
      linear-gradient(180deg, rgba(31, 16, 20, .96), rgba(17, 10, 13, .99)) !important;
    border-color: rgba(201, 164, 105, .22) !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 > div small {
    color: rgba(221, 206, 187, .82) !important;
  }
  #gs-collection-game-root .gs-journal-stats-v198 > div strong,
  #gs-collection-game-root .gs-journal-card-body-v198 > strong {
    color: #eed297 !important;
  }
}


/* V0.9.218 — Chambre de départ vide + props interactifs recalés.
   Le viewport mobile suit le ratio du décor : plus de grand vide noir et la vue 1x montre toute la pièce. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-room-bedroom {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
  }
  #gs-collection-game-root .gs-room-studio {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1495 / 1052 !important;
  }
  #gs-collection-game-root .gs-room-world,
  #gs-collection-game-root .gs-room-bg {
    touch-action: none !important;
  }
}


/* === V0.9.224 — Mobile personnalisation : laisser les boutons de zoom visibles === */
@media (max-width: 899px) {
  .gs-room.is-customize-mode .gs-room-zoom {
    display: flex !important;
    right: 10px !important;
    left: auto !important;
    bottom: 148px !important;
  }
}

/* V0.9.226 — La chambre occupe la hauteur entre le HUD et les onglets. */
@media (max-width: 900px) {
  #gs-collection-game-root .gs-room.gs-room-bedroom,
  #gs-collection-game-root .gs-room.gs-room-studio,
  #gs-collection-game-root .gs-screen-collection .gs-home-content-grid > .gs-room {
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  #gs-collection-game-root .gs-game-shell.is-customize-shell {
    grid-template-rows: minmax(0, 1fr) auto !important;
  }
  #gs-collection-game-root .gs-game-shell.is-customize-shell > .gs-room {
    grid-row: 1 !important;
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }
  #gs-collection-game-root .gs-game-shell.is-customize-shell > .gs-tabs {
    grid-row: 2 !important;
  }
  #gs-collection-game-root .gs-room-chrome .gs-customize-mode-header {
    flex-wrap: wrap;
    flex-direction: row !important;
  }
  #gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner {
    flex: 1 1 150px;
  }
  #gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner strong { font-size: 11px; }
  #gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner small { font-size: 10px; }
  #gs-collection-game-root .gs-room-chrome .gs-customize-exit {
    min-height: 36px;
    padding: 7px 9px;
    font-size: 11px;
  }
}
@media (max-width: 380px) {
  #gs-collection-game-root .gs-room-chrome .gs-customize-mode-banner { flex-basis: 100%; }
}
@media (max-height: 520px) and (orientation: landscape) {
  #gs-collection-game-root .gs-room-control-dock { min-height: 80px; padding-bottom: 8px; }
  #gs-collection-game-root .gs-room .gs-room-control-dock .gs-joystick { width: 64px !important; height: 64px !important; top: 7px !important; }
  #gs-collection-game-root .gs-room-control-dock .gs-joystick .gs-joystick-knob { width: 28px !important; height: 28px !important; margin: -14px 0 0 -14px !important; }
  #gs-collection-game-root .gs-room-camera-help { display: none; }
  #gs-collection-game-root .gs-room-control-dock .gs-customize-hud { max-height: 76px; margin-bottom: 4px; }
}
@media (max-height: 520px) and (orientation: landscape) and (max-width: 1000px) {
  #gs-collection-game-root.gs-touch-input {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.gs-screen-collection,
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell {
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 34px minmax(0, 1fr) 44px !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-game-shell.is-customize-shell { grid-template-rows: minmax(0, 1fr) 44px !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection > .gs-game-topbar {
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 34px !important;
    padding: 3px 8px !important;
    overflow: hidden;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection > .gs-home-dashboard {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection .gs-home-content-grid {
    display: block !important;
    padding: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection .gs-home-panel,
  #gs-collection-game-root.gs-touch-input .gs-screen-collection .gs-home-bottom-row { display: none !important; }
  #gs-collection-game-root.gs-touch-input .gs-screen-collection > .gs-tabs,
  #gs-collection-game-root.gs-touch-input .is-customize-shell > .gs-tabs {
    grid-row: 3 !important;
    grid-column: 1 !important;
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    height: 44px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px !important;
  }
  #gs-collection-game-root.gs-touch-input .is-customize-shell > .gs-tabs { grid-row: 2 !important; }
  #gs-collection-game-root.gs-touch-input .gs-tabs > button { flex: 1; min-height: 0 !important; padding: 4px !important; }
  #gs-collection-game-root.gs-touch-input .gs-room-chrome { padding: 3px 8px; }
  #gs-collection-game-root.gs-touch-input .gs-room-chrome .gs-room-titlebar { height: 34px; overflow: hidden; }
  #gs-collection-game-root.gs-touch-input .gs-room-chrome .gs-customize-exit { min-height: 28px; }
}

/* v0.9.282 — JobRequest. Scoped to the new PC application; no global redesign. */
#gs-collection-game-root .gs-room-prompt.gs-jobrequest {
  width: min(820px, 96vw); max-width: 820px; max-height: min(88vh, 780px);
  display: flex; flex-direction: column; overflow: hidden; padding: 0;
  background: #f4efe6; color: #302c27; border: 1px solid #b9aa96;
  border-radius: 14px; text-align: left; font-family: system-ui, sans-serif;
  box-shadow: 0 18px 50px #0008; text-shadow: none;
}
#gs-collection-game-root .gs-job-browser { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 18px; background: #e8dfd1; border-bottom: 1px solid #d2c5b3; font-size: 12px; }
#gs-collection-game-root .gs-job-brand { display: flex; align-items: center; gap: 14px; padding: 22px 26px; border-bottom: 1px solid #d8cebf; }
#gs-collection-game-root .gs-job-brand strong { font-size: 24px; letter-spacing: .05em; color: #573927; }
#gs-collection-game-root .gs-job-mark { background: #a85532; color: #fff8ef; padding: 13px 10px; border-radius: 6px 6px 18px 6px; font-weight: 850; font-size: 21px; }
#gs-collection-game-root .gs-jobrequest p { color: #5a5148; text-shadow: none; margin: 6px 0 12px; font-size: 14px; line-height: 1.5; }
#gs-collection-game-root .gs-job-brand p { margin: 4px 0 0; }
#gs-collection-game-root .gs-job-content { overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 22px 26px; min-height: 0; }
#gs-collection-game-root .gs-jobrequest h3 { color: #483d31; font-size: 16px; letter-spacing: 0; text-shadow: none; margin: 0 0 15px; }
#gs-collection-game-root .gs-job-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
#gs-collection-game-root .gs-job-card { padding: 18px; background: #fffdf8; border: 1px solid #ded2c1; border-radius: 8px; min-width: 0; }
#gs-collection-game-root .gs-job-card-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; color: #6d6359; font-size: 11px; }
#gs-collection-game-root .gs-job-card-heading span { background: #eee6da; border-radius: 4px; padding: 3px 7px; }
#gs-collection-game-root .gs-job-card h4 { color: #382f26; font-size: 19px; line-height: 1.3; margin: 12px 0; }
#gs-collection-game-root .gs-job-pay { display: block; color: #805038; font-size: 19px; }
#gs-collection-game-root .gs-jobrequest .gs-job-date { font-size: 13px; font-weight: 650; }
#gs-collection-game-root .gs-jobrequest .gs-job-terms { padding-top: 12px; border-top: 1px solid #ded2c1; font-size: 13px; }
#gs-collection-game-root .gs-job-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
#gs-collection-game-root .gs-jobrequest .gs-room-prompt-btn { background: #eee5d8; color: #4e3929; border: 1px solid #cdbca8; border-radius: 6px; font-family: inherit; font-size: 13px; text-align: center; text-shadow: none; box-shadow: none; }
#gs-collection-game-root .gs-jobrequest .gs-room-prompt-btn.is-primary { background: #99502f; color: #fff9f3; border-color: #99502f; }
#gs-collection-game-root .gs-jobrequest .gs-room-prompt-btn:hover { background: #dbcab5; color: #30261c; transform: none; }
#gs-collection-game-root .gs-jobrequest .gs-room-prompt-btn:focus-visible { outline: 3px solid #785331; outline-offset: 2px; }
#gs-collection-game-root .gs-jobrequest .gs-job-footer { flex-shrink: 0; padding: 10px 26px; border-top: 1px solid #d8cebf; text-align: right; }
#gs-collection-game-root .gs-jobrequest .gs-job-notice { background: #e6eedb; color: #354327; padding: 12px; border-radius: 6px; }
#gs-collection-game-root .gs-job-agenda ul { list-style: none; padding: 0; margin: 0; }
#gs-collection-game-root .gs-job-agenda li { display: flex; flex-direction: column; gap: 7px; padding: 14px 0; border-top: 1px solid #ffffff20; }
#gs-collection-game-root .gs-job-agenda li span { font-size: 13px; opacity: .86; }
#gs-collection-game-root .gs-job-agenda button { align-self: flex-start; }
#gs-collection-game-root .gs-job-reminder { position: absolute; z-index: 58; top: 86px; right: 18px; width: min(355px, calc(100% - 36px)); background: #2b2721; color: #fff3e2; border: 1px solid #a78b64; border-radius: 10px; padding: 16px; box-shadow: 0 10px 35px #0007; }
#gs-collection-game-root .gs-job-reminder p { font-size: 13px; margin: 9px 0; }
#gs-collection-game-root .gs-job-reminder button { margin: 4px 5px 0 0; }
#gs-collection-game-root .gs-job-activity { z-index: 95; }
#gs-collection-game-root .gs-job-activity .gs-room-prompt { width: min(500px,92vw); max-height: 86vh; overflow-y: auto; background: #28241e; border-color: #a78b64; box-shadow: 0 18px 50px #0008; font-family: system-ui,sans-serif; }
#gs-collection-game-root .gs-job-activity h3 { color: #f2dfbf; text-shadow: none; letter-spacing: 0; }
#gs-collection-game-root .gs-job-activity p { color: #d5cabb; }
#gs-collection-game-root .gs-job-activity button { background: #99502f; color: #fff9f3; border-color: #b97851; }
@media(max-width: 640px) {
  #gs-collection-game-root .gs-room-prompt.gs-jobrequest { width: 96vw; max-height: 88dvh; }
  #gs-collection-game-root .gs-job-grid { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-job-brand, #gs-collection-game-root .gs-job-content { padding: 16px; }
  #gs-collection-game-root .gs-job-brand strong { font-size: 20px; }
  #gs-collection-game-root .gs-job-browser { padding: 8px 12px; }
  #gs-collection-game-root .gs-job-actions { flex-direction: column; }
}

#gs-collection-game-root .gs-job-backdrop, #gs-collection-game-root .gs-job-activity { position: fixed; inset: 0; padding: 12px; }
#gs-collection-game-root .gs-job-backdrop, #gs-collection-game-root .gs-job-activity { z-index: 300; }

/* === V0.9.306 — Bouton Aménager la chambre, mobile === */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-room-titlebar { align-items: stretch !important; }
  #gs-collection-game-root .gs-room-titlebar .gs-room-arrange-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    padding: 5px 6px !important;
    border-radius: 9px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }
  #gs-collection-game-root .gs-room-titlebar .gs-room-arrange-btn span {
    display: none !important;
  }
  #gs-collection-game-root .gs-room-titlebar .gs-room-arrange-btn strong {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
  }
}
@media (max-width: 420px) {
  #gs-collection-game-root .gs-room-titlebar .gs-room-arrange-btn strong {
    font-size: 10px !important;
  }
}

/* v0.9.315 — RetroWeb job offers, complete journal and RPG cabinet.
   Root-scoped rules beat the legacy JobRequest stylesheet and WordPress themes. */
#gs-collection-game-root .gs-pixel-job-page,
#gs-collection-game-root .gs-pixel-journal-page {
  color: #f3ead7; font-family: Arial, sans-serif; letter-spacing: 0;
  text-align: left; text-shadow: none; overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card {
  background: #10232d; color: #f3ead7; border: 2px solid #557078;
  border-radius: 0; box-shadow: inset 0 0 0 2px #06141d, 3px 3px 0 #040c13;
  padding: 16px !important;
}
#gs-collection-game-root .gs-pixel-job-content h3 {
  font: bold 18px/1.35 'Courier New', monospace; color: #f7d18d;
  letter-spacing: 0; text-shadow: none; margin: 20px 0 12px;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card-heading {
  align-items: center; color: #dbcaaa; font: 13px/1.4 Arial, sans-serif; letter-spacing: 0;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card-heading small { font: inherit; color: inherit; opacity: 1; }
#gs-collection-game-root .gs-pixel-job-content .gs-job-card-heading span {
  background: #213d37; border: 1px solid #7e9b74; color: #e5f5cb;
  border-radius: 0; padding: 4px 7px;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card h4 {
  color: #fff0d0; font: bold 18px/1.35 'Courier New', monospace !important;
  letter-spacing: 0; text-transform: none; text-shadow: none; margin: 14px 0 10px;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card p {
  color: #f3ead7 !important; font: 14px/1.55 Arial, sans-serif !important;
  letter-spacing: 0 !important; text-shadow: none; opacity: 1; margin: 8px 0 12px;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-card .gs-job-date {
  color: #cde8ed !important; font-weight: bold !important;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-pay {
  display: block; color: #ffd183; background: #091923; border-left: 3px solid #c98c47;
  padding: 9px 11px; margin: 14px 0; font: bold 16px/1.4 'Courier New', monospace;
  letter-spacing: 0; text-shadow: none;
}
#gs-collection-game-root .gs-pixel-job-content .gs-job-terms { border-top: 1px solid #557078; padding-top: 12px; }
#gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn {
  min-height: 44px !important; padding: 11px 14px !important; border-radius: 0;
  background: #233e4a; border: 2px solid #68858b; box-shadow: inset 0 0 0 1px #0a1921, 2px 2px 0 #020b11;
  color: #fff0d0 !important; font: bold 14px/1.35 'Courier New', monospace !important;
  letter-spacing: 0; text-shadow: none; width: auto; text-transform: none;
}
#gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn.is-primary { background: #613124; border-color: #c58456; }
#gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn:hover { background: #355364; transform: none; }
#gs-collection-game-root .gs-pixel-job-page > .gs-job-notice {
  color: #eef7dd; background: #213d37; border: 2px solid #7e9b74; border-radius: 0;
  font: 14px/1.5 Arial, sans-serif; padding: 12px; letter-spacing: 0;
}
#gs-collection-game-root .gs-pixel-job-page .gs-pixel-page-heading small { color: #e1dccf; opacity: 1; letter-spacing: 0; }
#gs-collection-game-root .gs-pixel-job-content .gs-job-actions { flex-direction: row; }
@media (max-width: 720px) {
  #gs-collection-game-root .gs-pixel-job-content .gs-job-grid { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-pixel-job-content .gs-job-actions { flex-direction: column; }
  #gs-collection-game-root .gs-pixel-job-content .gs-room-prompt-btn { width: 100%; }
}

/* The journal is its own RetroWeb document, fed by the same game state. */
#gs-collection-game-root .gs-pixel-journal-page { width: 100%; max-width: none; }
/* V0.9.325 — sortie du journal toujours visible, même après un long scroll. */
#gs-collection-game-root .gs-pc-journal-toolbar {
  position: sticky; top: 0; z-index: 40; display: flex; justify-content: flex-start;
  margin: 0 0 10px; padding: 7px 0;
  background: linear-gradient(180deg, rgba(2,11,17,.98) 0%, rgba(2,11,17,.94) 72%, rgba(2,11,17,0) 100%);
}
#gs-collection-game-root .gs-pc-journal-home {
  min-height: 42px; padding: 9px 13px; border: 2px solid #c58456; border-radius: 0;
  background: #613124; color: #fff0d0; box-shadow: inset 0 0 0 1px #24100c, 2px 2px 0 #020b11;
  font: bold 13px/1.25 'Courier New', monospace; letter-spacing: 0; text-transform: none; text-shadow: none;
  cursor: pointer; touch-action: manipulation;
}
#gs-collection-game-root .gs-pc-journal-home:active { transform: translate(1px,1px); box-shadow: inset 0 0 0 1px #24100c, 1px 1px 0 #020b11; }
#gs-collection-game-root .gs-pc-journal-home:focus-visible { outline: 2px solid #ffd183; outline-offset: 2px; }
#gs-collection-game-root .gs-pc-journal-header {
  display: flex; gap: 14px; align-items: center; padding: 12px 0 18px; border-bottom: 2px solid #557078;
}
#gs-collection-game-root .gs-pc-journal-header > img { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; flex-shrink: 0; }
#gs-collection-game-root .gs-pc-journal-header small { color: #f7c38a; font: bold 11px/1.4 'Courier New', monospace; }
#gs-collection-game-root .gs-pc-journal-header h3 { font: bold 23px/1.25 'Courier New', monospace; color: #fff0d0; margin: 6px 0; letter-spacing: 0; text-shadow: none; }
#gs-collection-game-root .gs-pc-journal-header p,
#gs-collection-game-root .gs-pc-journal-section p { font: 14px/1.5 Arial, sans-serif !important; color: #f3ead7 !important; letter-spacing: 0; margin: 8px 0 12px; opacity: 1; text-shadow: none; }
#gs-collection-game-root .gs-pc-journal-identity { display: flex; gap: 12px; align-items: center; padding: 18px 0; }
#gs-collection-game-root .gs-pc-journal-identity strong { font-size: 15px; color: #fff0d0; letter-spacing: 0; }
#gs-collection-game-root .gs-pc-journal-identity span { display: block; font-size: 13px; color: #d8d6c9; }
#gs-collection-game-root .gs-pc-journal-avatar { width: 48px; height: 48px; display: grid; place-items: center; background: #213d47; border: 2px solid #769196; flex-shrink: 0; }
#gs-collection-game-root .gs-pc-journal-avatar img { width: 100%; height: 100%; object-fit: contain; }
#gs-collection-game-root .gs-pc-journal-avatar span { font: bold 24px 'Courier New', monospace; color: #ffd183; }
#gs-collection-game-root .gs-pixel-journal-page .gs-pixel-mini-stats { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 8px; margin: 0 0 16px; }
#gs-collection-game-root .gs-pixel-journal-page .gs-pixel-mini-stats span { background: #10232d; border: 1px solid #557078; padding: 12px 6px; border-radius: 0; }
#gs-collection-game-root .gs-pixel-journal-page .gs-pixel-mini-stats small { color: #e0d6c3; opacity: 1; font: 11px/1.3 Arial, sans-serif !important; letter-spacing: 0; }
#gs-collection-game-root .gs-pixel-journal-page .gs-pixel-mini-stats b { color: #ffd183; font: bold 22px/1.3 'Courier New', monospace; letter-spacing: 0; }
#gs-collection-game-root .gs-pc-journal-nav { display: flex; flex-wrap: wrap; gap: 7px; padding-bottom: 16px; }
#gs-collection-game-root .gs-pc-journal-nav button,
#gs-collection-game-root .gs-pc-journal-section button {
  min-height: 44px; padding: 9px 12px; background: #233e4a; color: #fff0d0; border: 2px solid #68858b;
  font: bold 13px/1.35 'Courier New', monospace; text-shadow: none; text-transform: none; letter-spacing: 0;
  border-radius: 0; box-shadow: inset 0 0 0 1px #081823, 2px 2px 0 #020b11;
}
#gs-collection-game-root .gs-pc-journal-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
#gs-collection-game-root .gs-pc-journal-section { padding: 16px; background: #10232d; border: 2px solid #557078; min-width: 0; }
#gs-collection-game-root .gs-pc-journal-section.is-wide { grid-column: 1/-1; }
#gs-collection-game-root .gs-pc-journal-section h4,
#gs-collection-game-root .gs-pc-journal-section summary { color: #ffd183; font: bold 17px/1.35 'Courier New', monospace; margin: 0 0 12px; text-shadow: none; letter-spacing: 0; text-transform: none; }
#gs-collection-game-root .gs-pc-journal-section summary { cursor: pointer; margin: 0; }
#gs-collection-game-root .gs-pc-journal-section strong { color: #fff0d0; font: bold 14px/1.45 Arial, sans-serif; letter-spacing: 0; }
#gs-collection-game-root .gs-pc-journal-skills { margin: 0; }
#gs-collection-game-root .gs-pc-journal-skills > div { display: flex; gap: 12px; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid #36525e; }
#gs-collection-game-root .gs-pc-journal-skills dt { font: 14px/1.45 Arial, sans-serif; color: #f3ead7; }
#gs-collection-game-root .gs-pc-journal-skills dd { margin: 0; font: bold 15px/1.45 'Courier New', monospace; color: #ffd183; }
#gs-collection-game-root .gs-pc-journal-section ul,
#gs-collection-game-root .gs-pc-journal-history { padding: 0; margin: 8px 0 14px; list-style: none; font: 14px/1.5 Arial, sans-serif; color: #f3ead7; }
#gs-collection-game-root .gs-pc-journal-section li { padding: 10px 0; border-bottom: 1px solid #36525e; }
#gs-collection-game-root .gs-pc-journal-rows li { display: grid; gap: 5px; }
#gs-collection-game-root .gs-pc-journal-rows li span { color: #e0d6c3; }
@media (max-width: 720px) {
  #gs-collection-game-root .gs-pc-journal-sections { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-pc-journal-header { gap: 10px; }
  #gs-collection-game-root .gs-pc-journal-header > img { width: 48px; height: 48px; }
  #gs-collection-game-root .gs-pc-journal-header h3 { font-size: 20px; }
}
@media (max-width: 360px) {
  #gs-collection-game-root .gs-pixel-journal-page .gs-pixel-mini-stats { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

/* Cabinet overlay lives beside the room, so the room camera cannot crop it. */
#gs-collection-game-root .gs-cabinet-backdrop {
  position: fixed; inset: var(--gs-cabinet-top,0px) 0 0; z-index: 99990; background: #020910ed;
  display: grid; place-items: center; padding: 14px; touch-action: pan-y;
}
#gs-collection-game-root .gs-cabinet-dialog {
  width: min(900px,100%); max-height: calc(100dvh - var(--gs-cabinet-top,0px) - 28px); min-height: 0;
  display: flex; flex-direction: column; overflow: hidden; box-sizing: border-box;
  background: #101d25; color: #f3ead7; border: 3px solid #c48a54;
  box-shadow: 0 0 0 3px #3a201c, 0 0 0 6px #071119, inset 0 0 0 2px #050d15;
  font: 14px/1.5 Arial, sans-serif; text-shadow: none; letter-spacing: 0; text-align: left;
}
#gs-collection-game-root .gs-cabinet-dialog * { box-sizing: border-box; }
#gs-collection-game-root .gs-cabinet-header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  flex-shrink: 0; padding: 14px 20px; background: #291e21; border-bottom: 3px solid #976541;
}
#gs-collection-game-root .gs-cabinet-header small { font: bold 11px/1.4 'Courier New', monospace; color: #dcb785; }
#gs-collection-game-root .gs-cabinet-header h3 { font: bold 25px/1.2 'Courier New', monospace; color: #ffe0a3; margin: 4px 0 0; text-shadow: none; letter-spacing: 0; }
#gs-collection-game-root .gs-cabinet-dialog button {
  background: #233e4a; color: #fff0d0; border: 2px solid #68858b; border-radius: 0;
  box-shadow: inset 0 0 0 1px #081823, 2px 2px 0 #020b11; min-height: 44px;
  padding: 9px 12px; font: bold 13px/1.35 'Courier New', monospace;
  letter-spacing: 0; text-shadow: none; text-transform: none; cursor: pointer;
}
#gs-collection-game-root .gs-cabinet-dialog button:hover { background: #355364; transform: none; }
#gs-collection-game-root .gs-cabinet-dialog button:focus-visible,
#gs-collection-game-root .gs-pc-journal-nav button:focus-visible,
#gs-collection-game-root .gs-pc-journal-section button:focus-visible,
#gs-collection-game-root .gs-pixel-job-content button:focus-visible { outline: 3px solid #ffd183; outline-offset: 2px; }
#gs-collection-game-root .gs-cabinet-dialog .gs-cabinet-close { width: 44px; height: 44px; flex-shrink: 0; font-size: 28px; padding: 0; background: #613124; border-color: #c58456; }
#gs-collection-game-root .gs-cabinet-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 20px; scrollbar-color: #b67c50 #06131b; scrollbar-width: thin; }
#gs-collection-game-root .gs-cabinet-showcase { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: 24px; margin-bottom: 20px; }
#gs-collection-game-root .gs-cabinet-showcase figure { margin: 0; display: flex; flex-direction: column; align-items: center; background: #131321; border: 2px solid #4e4143; padding: 12px; }
#gs-collection-game-root .gs-cabinet-image { display: block; width: auto; height: 340px; max-height: 45dvh; max-width: 100%; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-cabinet-showcase figcaption { color: #f4cc8c; font: bold 12px/1.4 'Courier New', monospace; margin-top: 12px; }
#gs-collection-game-root .gs-cabinet-dialog h4 { color: #ffd183; font: bold 18px/1.4 'Courier New', monospace; margin: 0 0 12px; text-shadow: none; letter-spacing: 0; }
#gs-collection-game-root .gs-cabinet-dialog p { font: 14px/1.55 Arial, sans-serif; color: #f3ead7; margin: 8px 0 14px; letter-spacing: 0; text-shadow: none; }
#gs-collection-game-root .gs-cabinet-summary dl { display: flex; flex-wrap: wrap; gap: 16px; margin: 18px 0; border-top: 1px solid #557078; border-bottom: 1px solid #557078; padding: 12px 0; }
#gs-collection-game-root .gs-cabinet-summary dt { font: 12px/1.4 Arial, sans-serif; color: #e0d6c3; }
#gs-collection-game-root .gs-cabinet-summary dd { margin: 4px 0 0; font: bold 24px/1.3 'Courier New', monospace; color: #ffd183; }
#gs-collection-game-root .gs-cabinet-summary dd small { font: 12px/1.4 Arial, sans-serif; color: #e0d6c3; }
#gs-collection-game-root .gs-cabinet-evolution strong { color: #f4cc8c; font: bold 14px/1.4 'Courier New', monospace; }
#gs-collection-game-root .gs-cabinet-levels { display: flex; gap: 6px; }
#gs-collection-game-root .gs-cabinet-levels i { display: block; width: 35px; height: 9px; border: 1px solid #9d764f; background: #050e15; }
#gs-collection-game-root .gs-cabinet-levels .is-filled { background: #d9a45a; }
#gs-collection-game-root .gs-cabinet-filters { display: flex; gap: 8px; border-bottom: 2px solid #557078; padding-bottom: 14px; margin-bottom: 16px; }
#gs-collection-game-root .gs-cabinet-filters button { flex: 1; }
#gs-collection-game-root .gs-cabinet-filters button.is-active { background: #613124; border-color: #dca66c; color: #ffe0a3; }
#gs-collection-game-root .gs-cabinet-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
#gs-collection-game-root .gs-cabinet-empty { grid-column: 1/-1; border: 1px dashed #68858b; padding: 22px 16px; text-align: center; }
#gs-collection-game-root .gs-cabinet-empty strong { color: #ffe0a3; font: bold 16px/1.45 'Courier New', monospace; }
#gs-collection-game-root .gs-cabinet-card { min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; background: #142932; border: 2px solid #557078; padding: 14px; }
#gs-collection-game-root .gs-cabinet-card-art { width: 64px; height: 64px; display: grid; place-items: center; background: #081823; border: 1px solid #4b6976; }
#gs-collection-game-root .gs-cabinet-card-sprite { width: 56px; height: 56px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-cabinet-card-main { min-width: 0; }
#gs-collection-game-root .gs-cabinet-card-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
#gs-collection-game-root .gs-cabinet-card-head h5 { font: bold 15px/1.4 'Courier New', monospace; color: #fff0d0; margin: 0 0 4px; text-shadow: none; letter-spacing: 0; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-cabinet-card-head small { font: 12px/1.4 Arial, sans-serif; color: #d3e2e7; }
#gs-collection-game-root .gs-cabinet-state-badge { font: bold 11px/1.4 Arial, sans-serif; color: #e6f5cf; background: #253f36; border: 1px solid #7e9b74; padding: 3px 6px; }
#gs-collection-game-root .gs-cabinet-state-badge.is-stored { background: #35302b; color: #f2d7b4; border-color: #a78b64; }
#gs-collection-game-root .gs-cabinet-card-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0; }
#gs-collection-game-root .gs-cabinet-card-tags span { color: #d3e2e7; font: 12px/1.4 Arial, sans-serif; text-transform: capitalize; }
#gs-collection-game-root .gs-cabinet-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 8px; }
#gs-collection-game-root .gs-cabinet-card-actions button:first-child { background: #613124; border-color: #c58456; }
#gs-collection-game-root .gs-cabinet-card-links { display: grid; gap: 8px; }
#gs-collection-game-root .gs-cabinet-card-links button { font-size: 12px; text-align: left; background: #11242c; }
#gs-collection-game-root .gs-cabinet-card-links .is-solidarity { color: #d7edc3; border-color: #7e9b74; }
#gs-collection-game-root .gs-cabinet-auctions { margin: 20px 0; border-top: 1px solid #557078; padding-top: 18px; }
#gs-collection-game-root .gs-cabinet-auctions ul { padding-left: 18px; color: #f3ead7; }
#gs-collection-game-root .gs-cabinet-dialog .gs-cabinet-note { color: #d1c7b4; font-size: 12px; margin: 18px 0 0; }
#gs-collection-game-root .gs-cabinet-footer { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; background: #11141d; border-top: 2px solid #976541; }
#gs-collection-game-root .gs-cabinet-footer span { color: #f4cc8c; font: 12px/1.4 'Courier New', monospace; }
@media (max-width: 720px) {
  #gs-collection-game-root .gs-cabinet-backdrop { padding: 8px; }
  #gs-collection-game-root .gs-cabinet-dialog { max-height: calc(100dvh - var(--gs-cabinet-top,0px) - 16px); }
  #gs-collection-game-root .gs-cabinet-header { padding: 12px; }
  #gs-collection-game-root .gs-cabinet-header h3 { font-size: 23px; }
  #gs-collection-game-root .gs-cabinet-scroll { padding: 14px; }
  #gs-collection-game-root .gs-cabinet-showcase { grid-template-columns: 1fr; gap: 16px; }
  #gs-collection-game-root .gs-cabinet-image { height: 310px; max-height: 37dvh; }
  #gs-collection-game-root .gs-cabinet-showcase figure { padding: 10px; }
  #gs-collection-game-root .gs-cabinet-items { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-cabinet-card { grid-template-columns: 52px minmax(0,1fr); gap: 10px; padding: 12px; }
  #gs-collection-game-root .gs-cabinet-card-art { width: 52px; height: 52px; }
  #gs-collection-game-root .gs-cabinet-card-sprite { width: 46px; height: 46px; }
  #gs-collection-game-root .gs-cabinet-card-actions { display: grid; grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-cabinet-footer { padding: 10px 12px; }
  #gs-collection-game-root .gs-cabinet-footer button { font-size: 12px; padding: 9px; }
}
@media (max-height: 480px) and (min-width: 721px) {
  #gs-collection-game-root .gs-cabinet-header { padding: 8px 16px; }
  #gs-collection-game-root .gs-cabinet-scroll { padding: 14px; }
  #gs-collection-game-root .gs-cabinet-image { height: 170px; }
  #gs-collection-game-root .gs-cabinet-footer { padding: 7px 14px; }
}
body.admin-bar #gs-collection-game-root { --gs-cabinet-top: 32px; }
@media (max-width: 782px) {
  body.admin-bar #gs-collection-game-root { --gs-cabinet-top: 46px; }
}

/* === V0.9.319 — Mobile : commandes superposées, gameplay agrandi ===
   Le dock ne réserve plus une bande sous la chambre. Le joystick et les outils
   flottent au-dessus du décor afin de rendre toute la hauteur au gameplay. */
@media (max-width: 720px) {
  #gs-collection-game-root .gs-room {
    position: relative !important;
  }

  #gs-collection-game-root .gs-room-control-dock {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 64 !important;
    pointer-events: none !important;
  }

  /* Joystick directement sur le gameplay. */
  #gs-collection-game-root .gs-room .gs-room-control-dock .gs-joystick,
  #gs-collection-game-root .gs-room.is-customize-mode .gs-room-control-dock .gs-customize-joystick {
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    top: auto !important;
    bottom: 14px !important;
    width: 108px !important;
    height: 108px !important;
    margin: 0 !important;
    opacity: .84 !important;
    pointer-events: auto !important;
    z-index: 67 !important;
    background: radial-gradient(circle, rgba(109, 31, 39, .32), rgba(4, 5, 8, .72)) !important;
    border: 1px solid rgba(235, 190, 112, .34) !important;
    box-shadow: inset 0 0 0 9px rgba(255,255,255,.025), 0 7px 22px rgba(0,0,0,.34) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
  #gs-collection-game-root .gs-room-control-dock .gs-joystick .gs-joystick-knob {
    width: 46px !important;
    height: 46px !important;
    margin: -23px 0 0 -23px !important;
  }

  /* + / vue d'ensemble / - : petite barre noire au-dessus du décor. */
  #gs-collection-game-root .gs-room .gs-room-control-dock .gs-room-zoom {
    position: absolute !important;
    left: auto !important;
    right: 12px !important;
    top: auto !important;
    bottom: 14px !important;
    width: auto !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 7px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    background: rgba(3, 4, 7, .82) !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.38) !important;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    pointer-events: auto !important;
    z-index: 67 !important;
  }
  #gs-collection-game-root .gs-room-control-dock .gs-room-zoom-btn {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
    background: rgba(18, 19, 24, .96) !important;
    border-color: rgba(255,255,255,.14) !important;
  }

  /* Mode rangement : toute l'UI métier tient dans une barre noire flottante. */
  #gs-collection-game-root .gs-room.is-customize-mode .gs-room-control-dock .gs-customize-hud {
    position: absolute !important;
    left: 132px !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    max-height: 122px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: grid !important;
    gap: 5px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 14px !important;
    background: rgba(2, 3, 5, .88) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.44) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    pointer-events: auto !important;
    z-index: 68 !important;
    touch-action: pan-y !important;
  }
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-carry-card,
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-storage {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-carry-card > div,
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-storage > div {
    max-height: 60px !important;
    overflow-y: auto !important;
    margin-top: 5px !important;
  }
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-carry-card button,
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-storage button {
    min-height: 32px !important;
    padding: 5px 7px !important;
    background: rgba(24, 25, 30, .95) !important;
    border-color: rgba(255,255,255,.16) !important;
  }
  #gs-collection-game-root .gs-room.is-customize-mode .gs-customize-carry-card button.is-primary {
    background: linear-gradient(180deg,#269c59,#116c3b) !important;
    border-color: rgba(190,255,212,.52) !important;
  }

  /* Si les commandes sont inversées dans les réglages, on conserve le principe. */
  #gs-collection-game-root.gs-controls-left .gs-room .gs-room-control-dock .gs-joystick,
  #gs-collection-game-root.gs-controls-left .gs-room.is-customize-mode .gs-room-control-dock .gs-customize-joystick {
    left: auto !important;
    right: 14px !important;
  }
  #gs-collection-game-root.gs-controls-left .gs-room .gs-room-control-dock .gs-room-zoom {
    left: 12px !important;
    right: auto !important;
  }
  #gs-collection-game-root.gs-controls-left .gs-room.is-customize-mode .gs-room-control-dock .gs-customize-hud {
    left: 12px !important;
    right: 132px !important;
  }

  #gs-collection-game-root .gs-room-camera-help { display: none !important; }
}

/* === V0.9.321 — popup petit job disponible le lendemain === */
#gs-collection-game-root .gs-job-ready-backdrop {
  position: absolute;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(3, 5, 10, .76);
  backdrop-filter: blur(2px);
}
#gs-collection-game-root .gs-job-ready-popup {
  width: min(430px, 100%);
  padding: 24px 20px 20px;
  border: 2px solid rgba(216, 168, 72, .72);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(19, 25, 34, .98), rgba(8, 12, 20, .99));
  box-shadow: 0 22px 60px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.04);
  color: #fff2d6;
  text-align: center;
}
#gs-collection-game-root .gs-job-ready-kicker {
  display: block;
  margin-bottom: 8px;
  color: #e8b54b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
#gs-collection-game-root .gs-job-ready-popup h3 {
  margin: 0;
  color: #fff6df;
  font-size: 28px;
  line-height: 1.1;
  text-shadow: 0 2px 0 rgba(0,0,0,.45);
}
#gs-collection-game-root .gs-job-ready-popup p {
  margin: 14px 0 18px;
  color: rgba(255,242,214,.88);
  font-size: 16px;
  line-height: 1.45;
  text-shadow: none;
}
#gs-collection-game-root .gs-job-ready-popup p strong { color: #ffd782; }
#gs-collection-game-root .gs-job-ready-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
#gs-collection-game-root .gs-job-ready-actions .gs-room-prompt-btn {
  min-height: 50px;
  margin: 0;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 900;
}
@media (max-width: 520px) {
  #gs-collection-game-root .gs-job-ready-backdrop { padding: 14px; }
  #gs-collection-game-root .gs-job-ready-popup { padding: 22px 16px 16px; border-radius: 16px; }
  #gs-collection-game-root .gs-job-ready-popup h3 { font-size: 25px; }
  #gs-collection-game-root .gs-job-ready-popup p { font-size: 15px; }
}


/* === V0.9.323 — joystick brocante/ville rehaussé + aides de contrôle retirées === */
#gs-collection-game-root .gs-market-hint,
#gs-collection-game-root .gs-desktop-controls-hint {
  display: none !important;
}
@media (max-width: 720px) {
  #gs-collection-game-root .gs-market-screen .gs-joystick {
    bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #gs-collection-game-root .gs-city-map-stage .gs-city-joystick {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* V0.9.328 — déballage RPG : contenu scrollable, commandes hors du scroll. */
html.gs-modal-open.gs-unpack-open,
body.gs-modal-open.gs-unpack-open { touch-action: pan-y !important; }
#gs-collection-game-root .gs-unpack-backdrop,
#gs-collection-game-root .gs-unpack-reveal-backdrop {
  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: #020910ed; touch-action: pan-y;
}
#gs-collection-game-root .gs-unpack-backdrop {
  position: fixed; inset: var(--gs-cabinet-top, 0px) 0 0; z-index: 99990;
}
#gs-collection-game-root .gs-unpack-reveal-backdrop { position: absolute; inset: 0; background: #020910e8; }
#gs-collection-game-root .gs-unpack-dialog,
#gs-collection-game-root .gs-unpack-reveal {
  width: min(860px, 100%); max-height: 100%; min-height: 0; min-width: 0;
  display: flex; flex-direction: column; overflow: hidden; box-sizing: border-box;
  background: #101d25; color: #f3ead7; border: 3px solid #c48a54; border-radius: 0;
  box-shadow: 0 0 0 3px #3a201c, 0 0 0 6px #071119, inset 0 0 0 2px #050d15;
  font: 15px/1.5 Arial, sans-serif; letter-spacing: 0; text-align: left; text-shadow: none;
}
#gs-collection-game-root .gs-unpack-dialog *,
#gs-collection-game-root .gs-unpack-reveal * { box-sizing: border-box; }
#gs-collection-game-root .gs-unpack-header {
  display: flex; justify-content: space-between; align-items: center; gap: 14px;
  padding: 14px 18px; flex-shrink: 0; background: #291e21; border-bottom: 3px solid #976541;
}
#gs-collection-game-root .gs-unpack-header > div { min-width: 0; }
#gs-collection-game-root .gs-unpack-header small { color: #dcb785; font: bold 11px/1.4 'Courier New', monospace; }
#gs-collection-game-root .gs-unpack-header h2 {
  margin: 5px 0 0; color: #ffe0a3; font: bold 23px/1.25 'Courier New', monospace;
  text-transform: none; letter-spacing: 0; overflow-wrap: anywhere; border: 0; padding: 0;
}
#gs-collection-game-root .gs-unpack-header > strong { color: #ffe0a3; font: bold 24px/1.25 'Courier New', monospace; }
#gs-collection-game-root .gs-unpack-dialog button,
#gs-collection-game-root .gs-unpack-reveal button {
  min-height: 48px; padding: 10px 14px; border: 2px solid #68858b; border-radius: 0;
  background: #233e4a; color: #fff0d0; box-shadow: inset 0 0 0 1px #081823, 2px 2px 0 #020b11;
  font: bold 14px/1.35 'Courier New', monospace; letter-spacing: 0; text-shadow: none; text-transform: none;
  cursor: pointer; white-space: normal; touch-action: manipulation;
}
#gs-collection-game-root .gs-unpack-dialog button.is-primary,
#gs-collection-game-root .gs-unpack-reveal button.is-primary { background: #613124; border-color: #c58456; }
#gs-collection-game-root .gs-unpack-dialog button:hover,
#gs-collection-game-root .gs-unpack-reveal button:hover { background: #355364; transform: none; }
#gs-collection-game-root .gs-unpack-dialog button:focus-visible,
#gs-collection-game-root .gs-unpack-reveal button:focus-visible { outline: 3px solid #ffd183; outline-offset: 2px; }
#gs-collection-game-root .gs-unpack-header .gs-unpack-close { width: 44px; min-height: 44px; flex: 0 0 44px; font-size: 27px; padding: 0; background: #613124; border-color: #c58456; }
#gs-collection-game-root .gs-unpack-scroll,
#gs-collection-game-root .gs-unpack-reveal-scroll {
  padding: 18px; overflow-y: auto; overflow-x: hidden; min-height: 0; flex: 1 1 auto;
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #b67c50 #06131b;
}
#gs-collection-game-root .gs-unpack-origin { margin: 0 0 16px; color: #d3e2e7; line-height: 1.5; }
#gs-collection-game-root .gs-unpack-progress { margin: 0 0 18px; }
#gs-collection-game-root .gs-unpack-progress > div:first-child { display: flex; gap: 12px; align-items: baseline; margin-bottom: 8px; }
#gs-collection-game-root .gs-unpack-progress strong { color: #ffe0a3; font: bold 24px/1.3 'Courier New', monospace; }
#gs-collection-game-root .gs-unpack-progress span { color: #d3e2e7; font-size: 13px; }
#gs-collection-game-root .gs-unpack-progress-track { height: 10px; padding: 1px; background: #06131b; border: 1px solid #557078; }
#gs-collection-game-root .gs-unpack-progress-track i { display: block; height: 100%; background: #d8ac70; }
#gs-collection-game-root .gs-unpack-box { display: flex; gap: 18px; align-items: center; background: #142932; border: 2px solid #557078; padding: 14px; }
#gs-collection-game-root .gs-unpack-box img { width: 110px; height: 110px; flex: 0 0 110px; object-fit: contain; image-rendering: pixelated; }
#gs-collection-game-root .gs-unpack-box h3,
#gs-collection-game-root .gs-unpack-found > h3 { margin: 0 0 7px; color: #ffe0a3; font: bold 18px/1.35 'Courier New', monospace; letter-spacing: 0; text-transform: none; }
#gs-collection-game-root .gs-unpack-box p { margin: 0; color: #d3e2e7; font-size: 14px; line-height: 1.5; }
#gs-collection-game-root .gs-unpack-found { margin-top: 22px; }
#gs-collection-game-root .gs-unpack-found-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#gs-collection-game-root .gs-unpack-found-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 12px; background: #142932; border: 1px solid #557078; min-width: 0; }
#gs-collection-game-root .gs-unpack-found-item h4 { margin: 0 0 4px; font: bold 14px/1.4 'Courier New', monospace; color: #fff0d0; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-unpack-found-item p { margin: 0 0 4px; font: 12px/1.4 Arial, sans-serif; color: #d3e2e7; }
#gs-collection-game-root .gs-unpack-found-item small { color: #d7edc3; font: 11px/1.4 Arial, sans-serif; }
#gs-collection-game-root .gs-unpack-art { width: 64px; height: 64px; background: #081823; border: 2px solid #4b6976; display: grid; place-items: center; }
#gs-collection-game-root .gs-unpack-art .gs-item-visual { width: 100%; height: 100%; border: 0; border-radius: 0; background: none; }
#gs-collection-game-root .gs-unpack-art .gs-unpack-sprite { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; image-rendering: pixelated; }
#gs-collection-game-root .gs-unpack-note { color: #d1c7b4; font-size: 12px; margin: 18px 0 0; }
#gs-collection-game-root .gs-unpack-footer { flex: 0 0 auto; padding: 14px 18px; display: flex; gap: 12px; background: #11141d; border-top: 2px solid #976541; }
#gs-collection-game-root .gs-unpack-footer button { flex: 1 1 0; }
#gs-collection-game-root .gs-unpack-reveal { width: min(520px, 100%); }
#gs-collection-game-root .gs-unpack-reveal-scroll { text-align: center; padding: 24px 22px; }
#gs-collection-game-root .gs-unpack-reveal .gs-unpack-art { width: min(200px, 40vh); height: min(200px, 40vh); margin: 0 auto 22px; border: 3px solid #b67c50; box-shadow: 4px 4px 0 #030d15; }
#gs-collection-game-root .gs-unpack-reveal .gs-item-visual > span:not(.gs-catalog-sprite) { transform: scale(3); }
#gs-collection-game-root .gs-unpack-reveal h2 { margin: 0 0 14px; font: bold 24px/1.35 'Courier New', monospace; color: #fff0d0; letter-spacing: 0; text-transform: none; border: 0; padding: 0; overflow-wrap: anywhere; }
#gs-collection-game-root .gs-unpack-plus { color: #c0e3a6; white-space: nowrap; }
#gs-collection-game-root .gs-unpack-item-tags { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
#gs-collection-game-root .gs-unpack-item-tags span { padding: 4px 9px; border: 1px solid #68858b; color: #d3e2e7; background: #142932; font-size: 13px; }
#gs-collection-game-root .gs-unpack-reveal-scroll p { color: #d7edc3; margin: 16px 0 8px; font: 14px/1.5 Arial, sans-serif; }
#gs-collection-game-root .gs-unpack-reveal-scroll p.gs-unpack-platform { color: #d3e2e7; margin: 12px 0; }
#gs-collection-game-root .gs-unpack-reveal-count { color: #dcb785; font: 12px/1.4 'Courier New', monospace; }
@media (max-width: 720px) {
  #gs-collection-game-root .gs-unpack-header { padding: 12px; gap: 10px; }
  #gs-collection-game-root .gs-unpack-header h2 { font-size: 19px; }
  #gs-collection-game-root .gs-unpack-scroll { padding: 14px; }
  #gs-collection-game-root .gs-unpack-box { gap: 12px; padding: 10px; }
  #gs-collection-game-root .gs-unpack-box img { width: 80px; height: 90px; flex-basis: 80px; }
  #gs-collection-game-root .gs-unpack-box h3 { font-size: 16px; }
  #gs-collection-game-root .gs-unpack-found-grid { grid-template-columns: 1fr; }
  #gs-collection-game-root .gs-unpack-footer { padding: 12px; gap: 8px; }
  #gs-collection-game-root .gs-unpack-dialog button { font-size: 12px; padding: 9px; }
  #gs-collection-game-root .gs-unpack-reveal-scroll { padding: 20px 14px; }
  #gs-collection-game-root .gs-unpack-reveal h2 { font-size: 22px; }
}
@media (max-width: 360px) {
  #gs-collection-game-root .gs-unpack-footer { flex-direction: column; }
}
@media (max-height: 480px) {
  #gs-collection-game-root .gs-unpack-header { padding: 8px 12px; }
  #gs-collection-game-root .gs-unpack-reveal-scroll { padding: 12px; }
  #gs-collection-game-root .gs-unpack-reveal .gs-unpack-art { width: 110px; height: 110px; margin-bottom: 12px; }
  #gs-collection-game-root .gs-unpack-footer { padding: 8px 12px; }
}

/* V0.9.329 — Une fiche lisible : catégorie, contenu, conservation, descriptif. */
#gs-collection-game-root .gs-object-details {
  min-width: 0; margin: 8px 0 10px; color: #f1e8d4; text-align: left;
  font: 14px/1.45 Arial, sans-serif; overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-object-packaging {
  margin: 0 0 7px; color: #ecd0a0; font: 700 13px/1.45 'Courier New', monospace;
}
#gs-collection-game-root .gs-object-status {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 7px;
}
#gs-collection-game-root .gs-object-condition,
#gs-collection-game-root .gs-object-warning {
  display: inline-block; padding: 5px 8px; border: 1px solid currentColor; border-radius: 0;
  background: #15252e; font: 700 12px/1.35 Arial, sans-serif; letter-spacing: 0; text-transform: none;
}
#gs-collection-game-root .gs-object-condition.is-fair { color: #ffcb70; background: #33291b; }
#gs-collection-game-root .gs-object-condition.is-good { color: #a1e499; background: #1b3025; }
#gs-collection-game-root .gs-object-condition.is-very_good { color: #98d9ff; background: #192d40; }
#gs-collection-game-root .gs-object-condition.is-poor,
#gs-collection-game-root .gs-object-warning { color: #ffb09d; background: #37231e; }
#gs-collection-game-root .gs-object-condition.is-new { color: #dfbfff; background: #2c2340; }
#gs-collection-game-root .gs-object-condition.is-unknown { color: #c6d1d5; background: #243039; }
#gs-collection-game-root .gs-object-meta {
  display: block; margin: 0 0 9px; color: #cbd7da; font: 12px/1.45 Arial, sans-serif;
  letter-spacing: 0; text-transform: none;
}
#gs-collection-game-root .gs-object-description,
#gs-collection-game-root .gs-unpack-reveal-scroll .gs-object-description,
#gs-collection-game-root .gs-unpack-found-item .gs-object-description {
  display: block; margin: 0; padding: 10px 12px; border: 1px solid #698082;
  border-left: 3px solid #b8965b; border-radius: 0; background: #0c1920; color: #e6e6d8;
  font: 14px/1.5 Arial, sans-serif; letter-spacing: 0; text-transform: none;
}
#gs-collection-game-root .gs-item-info,
#gs-collection-game-root .gs-cabinet-card-head > div,
#gs-collection-game-root .gs-cabinet-card-main,
#gs-collection-game-root .gs-unpack-found-item > div,
#gs-collection-game-root .gs-price-history-copy { min-width: 0; }
#gs-collection-game-root .gs-item-info > strong,
#gs-collection-game-root .gs-cabinet-card-head h5,
#gs-collection-game-root .gs-unpack-found-item h4,
#gs-collection-game-root .gs-price-history-copy > strong {
  white-space: normal; overflow-wrap: anywhere; text-overflow: clip;
}
#gs-collection-game-root .gs-unpack-reveal h2 { overflow-wrap: anywhere; }
#gs-collection-game-root .gs-unpack-reveal .gs-object-details { margin-top: 16px; }
#gs-collection-game-root .gs-cabinet-card-head { align-items: flex-start; }
#gs-collection-game-root .gs-cabinet-state-badge { flex-shrink: 0; }
#gs-collection-game-root .gs-pixel-price-selected-grid,
#gs-collection-game-root .gs-price-selected-grid { grid-template-columns: 1fr; }
#gs-collection-game-root .gs-item-info .gs-object-description { max-width: 100%; }
@media (max-width: 480px) {
  #gs-collection-game-root .gs-object-details { font-size: 13px; }
  #gs-collection-game-root .gs-object-description,
  #gs-collection-game-root .gs-unpack-reveal-scroll .gs-object-description,
  #gs-collection-game-root .gs-unpack-found-item .gs-object-description { padding: 9px; font-size: 13px; }
}
#gs-collection-game-root .gs-price-history-copy .gs-object-details { margin: 5px 0 0; }
#gs-collection-game-root .gs-price-history-copy .gs-object-packaging { font-size: 11px; }
#gs-collection-game-root .gs-price-history-copy .gs-object-condition,
#gs-collection-game-root .gs-price-history-copy .gs-object-warning { padding: 3px 6px; font-size: 11px; }
@media (max-width: 480px) {
  #gs-collection-game-root .gs-cabinet-card { grid-template-columns: 56px minmax(0, 1fr); }
  #gs-collection-game-root .gs-cabinet-card-art { width: 56px; height: 56px; }
  #gs-collection-game-root .gs-cabinet-card-main { display: contents; }
  #gs-collection-game-root .gs-cabinet-card-head { grid-column: 2; }
  #gs-collection-game-root .gs-cabinet-card .gs-object-details,
  #gs-collection-game-root .gs-cabinet-card-actions,
  #gs-collection-game-root .gs-cabinet-card-links { grid-column: 1 / -1; }
}
@media (max-width: 480px) and (max-height: 650px) {
  #gs-collection-game-root .gs-unpack-reveal .gs-unpack-art { width: 120px; height: 120px; margin-bottom: 12px; }
  #gs-collection-game-root .gs-unpack-reveal h2 { font-size: 20px; }
  #gs-collection-game-root .gs-unpack-reveal-scroll { padding: 12px; }
}


/* GS compact apartment header — only the room-local, duplicate date is hidden.
   The global calendar stays visible. Three grid cells reuse the live home name,
   live rent amount and original working Aménager button without JS edits. */
#gs-collection-game-root .gs-room:not(.is-customize-mode) .gs-room-titlebar {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr) minmax(0, .94fr);
  align-items: stretch !important;
  gap: 5px !important;
  min-width: 0;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip { display: contents !important; }
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > small:first-child { display: none !important; }
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > strong,
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > small:last-child,
#gs-collection-game-root .gs-room-titlebar > .gs-room-arrange-btn {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  border: 1px solid rgba(217,175,93,.35) !important;
  border-radius: 8px !important;
  background: rgba(27,19,24,.93) !important;
  color: #f6e8cf !important;
  padding: 5px 6px !important;
  text-align: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,230,176,.04) !important;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > strong {
  grid-column: 1;
  display: block !important;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  align-content: center;
  font-size: 11px !important;
  line-height: 1.25 !important;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > strong::before {
  content: "Appt";
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #dec498;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-chip > small:last-child {
  grid-column: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 11px !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-arrange-btn {
  grid-column: 3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: none !important;
  max-width: none !important;
  cursor: pointer;
}
#gs-collection-game-root .gs-room-titlebar > .gs-room-arrange-btn strong {
  font-size: 11px !important;
  line-height: 1.25 !important;
}
#gs-collection-game-root .gs-room-titlebar > .gs-day-cycle-hud {
  display: none !important;
}
@media (max-height: 520px) and (orientation: landscape) {
  #gs-collection-game-root .gs-room-titlebar > .gs-room-chip > strong,
  #gs-collection-game-root .gs-room-titlebar > .gs-room-chip > small:last-child,
  #gs-collection-game-root .gs-room-titlebar > .gs-room-arrange-btn {
    min-height: 28px !important;
    padding: 2px 5px !important;
  }
  #gs-collection-game-root .gs-room-titlebar > .gs-room-chip > strong::before { display: none; }
}

/* Triplonville — éclairage public à partir des lanternes de la géométrie native.
   Sources fixes dans le monde : mêmes coordonnées sous caméra, zoom et mobile.
   Pas d'image ni de sprite retravaillé, pas de lumière sur les intérieurs. */
#gs-collection-game-root .gs-city-map-world .gs-city-streetlights {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity .22s ease;
}
#gs-collection-game-root .gs-city-map-world .gs-city-streetlight {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
#gs-collection-game-root .gs-city-map-world .gs-city-streetlight > span {
  position: absolute;
  display: block;
  pointer-events: none;
}
#gs-collection-game-root .gs-city-streetlight-bulb {
  left: var(--gs-lamp-x);
  top: var(--gs-lamp-head);
  width: calc(var(--gs-lamp-glass-w, 1.5%) * 3.8);
  height: calc(var(--gs-lamp-glass-h, 2%) * 3.5);
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center,
    rgba(255,247,210,.98) 0%, rgba(255,224,142,.86) 14%,
    rgba(255,190,94,.48) 35%, rgba(255,171,70,.14) 64%, transparent 83%);
}
#gs-collection-game-root .gs-city-streetlight-cone {
  left: var(--gs-lamp-x);
  top: var(--gs-lamp-head);
  height: var(--gs-lamp-span);
  width: calc(var(--gs-lamp-glass-w, 1.5%) * 8);
  transform: translateX(-50%);
  clip-path: polygon(48% 0, 52% 0, 95% 100%, 5% 100%);
  background: linear-gradient(180deg, rgba(255,220,139,.26) 0%,
    rgba(255,203,116,.13) 38%, rgba(255,179,98,.035) 100%);
}
#gs-collection-game-root .gs-city-streetlight-pool {
  left: var(--gs-lamp-x);
  top: var(--gs-lamp-ground);
  width: calc(var(--gs-lamp-glass-w, 1.5%) * 10);
  height: calc(var(--gs-lamp-glass-h, 2%) * 4.2);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255,201,114,.44) 0%,
    rgba(255,185,97,.24) 30%, rgba(255,174,79,.065) 60%, transparent 82%);
}
/* Émission calée sur les pixels natifs du verre, à la profondeur de sa lampe. */
#gs-collection-game-root .gs-city-lamp-glass {
  position:absolute; display:none; pointer-events:none; overflow:visible;
  image-rendering:pixelated; opacity:0;
  filter:brightness(1.18) saturate(1.08)
    drop-shadow(0 0 2px rgba(255,224,145,.65))
    drop-shadow(0 0 6px rgba(255,186,82,.32));
}
#gs-collection-game-root .is-day-cycle-evening .gs-city-lamp-glass {display:block;opacity:.58;}
#gs-collection-game-root .is-day-cycle-night .gs-city-lamp-glass {display:block;opacity:1;}
/* Extinction complète matin/jour, éclairage modéré au crépuscule et plein la nuit.
   Les classes sont actualisées par l'horloge existante sans reconstruction de scène. */
/* La phase diurne stoppe immédiatement toute transition d'extinction.
   Les captures d'occlusion et les masques natifs restent ainsi pixel-identiques,
   même après un changement nuit -> jour sans rechargement. */
#gs-collection-game-root .gs-city-map-screen.is-day-cycle-morning .gs-city-streetlights,
#gs-collection-game-root .gs-city-map-screen.is-day-cycle-day .gs-city-streetlights {
  display: none; /* Retirer du compositing le groupe screen inactif le jour. */
  opacity: 0;
  transition: none;
}
#gs-collection-game-root .gs-city-map-screen.is-day-cycle-evening .gs-city-streetlights {
  opacity: .42;
}
#gs-collection-game-root .gs-city-map-screen.is-day-cycle-night .gs-city-streetlights {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  #gs-collection-game-root .gs-city-map-world .gs-city-streetlights { transition: none; }
}

