/* AURORA 13.0 — one interface material system.
   Additive visual layer: no reel, symbol, scenery, viewport or layout sizing.
   The approved 12.13 command bar is deliberately outside these selectors. */
body[data-room] {
 --identity-surface:#10161e;
 --identity-raised:#171e27;
 --identity-field:#0b1017;
 --identity-line:#dfc99538;
 --identity-line-strong:#dfc99580;
 --identity-gold:#e4cf9e;
 --identity-text:#f1ede4;
 --identity-muted:#b2b8c0;
 --identity-font:'Manrope',Arial,sans-serif;
 --identity-display:Georgia,'Times New Roman',serif;
 --identity-shadow:0 14px 44px #0007,inset 0 1px #fff4d90a;
}

/* Preserve the live text's original line boxes, margins and responsive sizes.
   The PNG has transparent optical margins. Its absolute placement cannot alter
   the height measured by fit-layout.js, including while the image loads. */
body[data-room] #game-title { position:relative; }
body[data-room] #game-title .identity-wordmark {
 display:none;position:absolute;left:50%;top:50%;width:auto;height:150%;
 max-width:none;max-height:none;transform:translate(-50%,-50%);
 object-fit:contain;pointer-events:none;filter:none;
}
body[data-room] #game-title.logo-ready {
 color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;
}
body[data-room] #game-title.logo-ready>span { visibility:hidden; }
body[data-room] #game-title.logo-ready .identity-wordmark { display:block; }

/* The room colours identify the worlds. Gold is the common interface metal. */
body[data-room] .room-switch {
 background:#0b1017eb;border-color:var(--identity-line);
 box-shadow:inset 0 1px #fff4d909,0 4px 16px #0003;
}
body[data-room] .room-switch button { text-shadow:none; }
body[data-room] .room-switch button[aria-pressed=true] {
 box-shadow:inset 0 1px #ffffff16;
}
body[data-room] .topbar .platform-nav button[aria-pressed=true]::after {
 background:var(--identity-gold);box-shadow:none;
}
body[data-room] .topbar .platform-nav button,
body[data-room] .topbar .header-utilities>details>summary,
body[data-room] .topbar #rules-open { color:var(--identity-muted); }
body[data-room] .topbar .platform-nav button[aria-pressed=true],
body[data-room] .topbar .header-utilities>details[open]>summary {
 color:var(--identity-gold);border-color:var(--identity-line-strong);background:#dfc99512;
}
body[data-room] .topbar .utility-menu nav button {
 font-family:var(--identity-font);color:var(--identity-text);
 background:transparent;border-color:transparent;border-radius:8px;text-shadow:none;
}
body[data-room] .topbar .utility-menu nav button:hover,
body[data-room] .topbar .utility-menu nav button.active {
 background:#dfc99512;border-color:var(--identity-line);color:var(--identity-gold);
}
body[data-room] .settings-popover .music-deck { border-color:var(--identity-line); }
body[data-room] .settings-popover .music-deck strong { color:var(--identity-text); }
body[data-room] .settings-popover .music-deck :is(span,a) { color:var(--identity-muted); }
body[data-room] .settings-popover input[type=range] { accent-color:var(--identity-gold); }

/* Rules, editions, previews, rewards and command dialogs now share a surface.
   Width, padding and content flow stay with each existing responsive panel. */
body[data-room] :is(dialog,#effects-dialog,#club-dialog) {
 color:var(--identity-text);background:var(--identity-surface);
 border:1px solid var(--identity-line-strong);border-radius:16px;
 box-shadow:var(--identity-shadow);font-family:var(--identity-font);
}
body[data-room] dialog::backdrop { background:#03060bcc;backdrop-filter:blur(6px); }
body[data-room] dialog :is(p,label,li,small) { font-family:var(--identity-font); }
body[data-room] dialog p { color:var(--identity-muted); }
body[data-room] :is(dialog,#club-dialog) :is(h2,h3,h4) {
 font-family:var(--identity-display);font-weight:400;font-style:normal;
 color:var(--identity-gold);text-shadow:none;letter-spacing:0;
}
body[data-room] .command-dialog h2 { font-family:var(--identity-font);font-weight:600; }
body[data-room] dialog .eyebrow { font-family:var(--identity-font);color:var(--identity-gold); }
body[data-room] :is(dialog,#club-dialog) .dialog-head button {
 display:inline-flex;justify-content:center;align-items:center;flex:none;
 width:40px;height:40px;min-height:40px;padding:0;
 border:1px solid var(--identity-line);border-radius:8px;
 color:var(--identity-text);background:#ffffff04;box-shadow:none;
}
body[data-room] dialog .dialog-head button .command-icon { width:18px;height:18px; }
body[data-room] dialog .dialog-head button:hover { background:#dfc99512;border-color:var(--identity-line-strong); }
body[data-room] dialog :is(select,input:not([type=checkbox]):not([type=range])) {
 background:var(--identity-field);color:var(--identity-text);
 border-color:var(--identity-line);border-radius:8px;font-family:var(--identity-font);
}
body[data-room] dialog :is(.payrow,.resonance-paytable>span) {
 border-color:var(--identity-line);background:#ffffff03;
}
body[data-room] dialog :is(.payrow b,.resonance-paytable b) {
 color:var(--identity-gold);font-family:var(--identity-font);font-variant-numeric:tabular-nums;
}
body[data-room] dialog :is(.payrow>span,.evolution-note,.preview-disclaimer) { color:var(--identity-muted); }
body[data-room] #versions strong { color:var(--identity-gold);font-weight:600; }
body[data-room] #versions>p { border-bottom:1px solid var(--identity-line);padding-bottom:16px; }
body[data-room] #versions>p:last-child { border:0; }

/* Arena and Atelier: the same charcoal chassis as the Solo controls. */
body[data-room] :is(.duel-rule-card,.duel-setup,.online-lobby,.league-panel,
 .skin-card,.quest-card,.pass-card,.gift-strip,.club-balance,.club-turn-card,
 .referral-step,.inbox-letter,.landscape-card) {
 background:var(--identity-surface);border-color:var(--identity-line);
 border-radius:12px;box-shadow:inset 0 1px #fff4d90a;
}
body[data-room] .club-teaser {
 background:linear-gradient(100deg,#10161efa,#10161ec9),url('room-star-v920.webp') center/cover;
 border-color:var(--identity-line);border-radius:12px;box-shadow:inset 0 1px #fff4d90a;
}
body[data-room] :is(.platform-heading h1,.collection-title,.skin-card h3,
 .pass-card h2,.club-teaser h2,.league-summary h2,.duel-rule-card>b) {
 font-family:var(--identity-display);font-weight:400;font-style:normal;
 color:var(--identity-gold);text-shadow:none;
}
body[data-room] :is(.platform-panel,.club-section) :is(p,small,label) { font-family:var(--identity-font); }
body[data-room] :is(.duel-rule-card,.pass-card,.skin-card,.quest-card,.club-teaser) p { color:var(--identity-muted); }
body[data-room] :is(.duel-score,.club-balance strong,.club-turn-card strong,
 .referral-step strong,.league-table-wrap,.duel-player-head h2) {
 font-family:var(--identity-font);font-variant-numeric:tabular-nums;
 letter-spacing:-.025em;text-shadow:none;
}
body[data-room] .duel-player {
 background:#10161ee8;border-color:rgba(var(--team-rgb,110,174,238),.5);
 box-shadow:inset 0 1px #fff4d90a;
}
body[data-room] .platform-panel input {
 background:var(--identity-field);border-color:var(--identity-line);border-radius:8px;color:var(--identity-text);
}
body[data-room] :is(.platform-panel button,.club-tabs button,.landscape-card button,
 .club-turns button,.invitation-code button,.inbox-letter button,.effect-choices button) {
 font-family:var(--identity-font);font-weight:600;color:var(--identity-text);
 background:var(--identity-raised);border:1px solid var(--identity-line);
 border-radius:8px;box-shadow:none;text-shadow:none;
}
body[data-room] .platform-panel .platform-primary {
 background:linear-gradient(180deg,#f0dba7,#cbb27c);color:#242320;
 border-color:#f9e4ae88;box-shadow:inset 0 1px #fff2d9,0 3px 8px #0004;
}
body[data-room] :is(.club-tabs button,.effect-choices button)[aria-pressed=true] {
 background:#dfc99516;border-color:var(--identity-line-strong);color:var(--identity-gold);
}
body[data-room] :is(.referral-step.complete,.inbox-letter.unread) {
 background:#dfc9950a;border-color:var(--identity-line-strong);
}
body[data-room] .quest-card progress { accent-color:var(--identity-gold); }

/* Small in-game typography: retain all established line heights and sizes. */
body[data-room] :is(#result-title,#result-detail,#result-kicker,
 .payout-shelf .legend-item b,.payout-shelf .legend-item>span:not(.symbol-art),
 .console-bottom>.text-btn,.session-drawer>summary) {
 font-family:var(--identity-font);font-variant-numeric:tabular-nums;text-shadow:none;
}
body[data-room] .payout-shelf .legend-item { border-color:var(--identity-line); }
body[data-room] .payout-shelf .legend-item b { color:var(--identity-gold); }
body[data-room] .console-bottom :is(.text-btn,summary) { color:var(--identity-muted); }
body[data-room] .console-bottom :is(.text-btn,summary):hover { color:var(--identity-gold); }
body[data-room] .session-drawer[open] {
 background:var(--identity-surface);border-color:var(--identity-line);border-radius:12px;
}
body[data-room] .session-drawer .history li { background:#ffffff03;border-color:var(--identity-line); }
body[data-room] #resonance-rules {
 background:#10161ee8;border-color:var(--identity-line);color:var(--identity-gold);
 border-radius:8px;box-shadow:none;text-shadow:none;
}
/* A single high-contrast focus treatment, independent of room colour. */
body[data-room] :is(.topbar,dialog,.platform-panel,.console-bottom,.room-switch) :is(button,summary,a,input,select):focus-visible {
 outline:2px solid #f1dba7;outline-offset:3px;
}
@media (hover:hover) {
 body[data-room] :is(.platform-panel button,.club-tabs button,.landscape-card button,
 .club-turns button,.invitation-code button,.inbox-letter button,.effect-choices button):hover:enabled {
  border-color:var(--identity-line-strong);filter:brightness(1.08);
 }
}
