/* Generated decorative materials only. Live controls, symbols and all rules
   stay in the original renderers. Load after every existing game stylesheet.
   Stage labels persist through redraw, results and Help, so no JS hook is needed. */

/* Trivia: an optical library of smoked glass, walnut and brass. */
.trivia-stage {
  --trivia-ink:#fff6e3;--trivia-muted:#e8d4b7;--trivia-line:#917440;
  --trivia-panel:#241b13;
  background:#16100c url('./game-art/trivia-library-branded-v3.webp') center/100% 100% no-repeat;
}
.trivia-stage.trivia-showtime::before,.trivia-stage.trivia-showtime::after {display:none;}
.trivia-stage .trivia-header {
  background:#150f0cd9;border-bottom:1px solid #c7a86780;
  padding-block:12px;box-shadow:0 5px 24px #0006;
}
.trivia-stage .trivia-orb {
  background:#241b13;color:#fff0cf;border-color:#b79960;
  box-shadow:inset 0 0 0 2px #36281b;
}
.trivia-stage .trivia-main.trv {padding-inline:18px;}
.trivia-stage .trivia-main::before {
  content:'';display:block;height:66px;flex:none;pointer-events:none;
}
.trivia-stage .trivia-kicker,.trivia-stage .trivia-showtime-brand {color:#f0d28d;}
.trivia-stage .trivia-score,.trivia-stage .trv-prog {color:#ead8b9;}
.trivia-stage .trivia-main .trv-q {
  background:#18100cec;padding:15px 16px;border:1px solid #b38d464d;
  border-radius:12px;text-shadow:0 1px 2px #000;color:#fff6e3;
}
.trivia-stage .trivia-main .trv-dot {
  background:#211911;color:#e1ceb0;border-color:#977846;
}
.trivia-stage .trivia-main .trv-dot.current {background:#54431d;color:#fff0ba;border-color:#f0cf83;}
.trivia-stage .trivia-main .trv-dot.correct {background:#174735;color:#d9ffdc;border-color:#8fddb7;}
.trivia-stage .trivia-main .trv-dot.incorrect {background:#532734;color:#ffe0e7;border-color:#e293a7;}
.trivia-stage .trivia-main .trv-opt {
  background:#241c12 url('./game-art/trivia-library-surface.webp') center/100% 100% no-repeat;
  color:#fff6e3;border:1px solid #a78a53;border-radius:11px;
  min-height:60px;padding:14px 16px;box-shadow:0 4px 10px #0005;
}
.trivia-stage .trivia-main .trv-letter {background:#17110bcc;color:#ffe2a0;border:1px solid #a18449;border-radius:8px;}
.trivia-stage .trivia-main .trv-opt.right {background:#184b34;color:#f0fff3;border:2px solid #a2e6b4;}
.trivia-stage .trivia-main .trv-opt.wrong {background:#582734;color:#fff0f2;border:2px solid #e9a1b2;}
.trivia-stage .trivia-timer-band,.trivia-stage .trivia-category-pick,
.trivia-stage .trivia-wager,.trivia-stage .trivia-help-panel {
  background:#221910f5;border-color:#b99b60;color:#fff6e3;
}
.trivia-stage .trivia-timer-band {box-shadow:inset 0 1px 0 #c7a76e33;}
.trivia-stage .trivia-clock-track {background:#715a3959;}
.trivia-stage .trivia-clock-track i {background:#e6bc64;}
.trivia-stage .trivia-category-grid button,
.trivia-stage .trivia-wager-chips button {
  background:#251c12 url('./game-art/trivia-library-surface.webp') center/100% 100% no-repeat;
  color:#fff0cf;border-color:#a78a53;min-height:48px;
}
.trivia-stage .trivia-category-grid button {min-height:74px;}
.trivia-stage .trivia-wager-entry {background:#120e0a;border-color:#c5a96b;}
.trivia-stage .trivia-help-panel p,.trivia-stage .trivia-choice-note,
.trivia-stage .trv-feedback p,.trivia-stage .trv-sub,.trivia-stage .eyd-scoreline {color:#eddec3;}
.trivia-stage .trv-feedback {
  background:#1b130ff0;border:1px solid #967b4b;border-radius:12px;padding:15px;
}
.trivia-stage .ar-navbtn {background:#f0d28e;color:#2b210e;border-color:#ffe4a4;min-height:48px;}
.trivia-stage .trv-result,.trivia-stage .trv-review {background:#18100cf0;border-radius:12px;padding:16px;}
.trivia-stage .trv-review a {color:#bde6fa;}

/* Frozen logic skins only. Approved AI frames own their materials and geometry.
   Zero-specificity exclusions preserve the older cascade, including office saves.
   Persistent stage labels distinguish the older worlds, even after a win. */
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) .lvg-game:where(:not(.lvg-approved-frame)) {width:100%;}
.gs-portal[aria-label='Mini Grid'] .lvg-game:where(:not(.lvg-approved-frame)) {
  --lvg-ink:#f0fff4;--lvg-muted:#c1dacd;--lvg-panel:#102b25;
  --lvg-line:#658d7d;--lvg-soft:#25473b;--lvg-accent:#a1f0bb;
  background:#09211b url('./game-art/minigrid-jewel-branded-v3.webp') center/100% 100% no-repeat;
}
.gs-portal[aria-label='Line Up'] .lvg-game:where(:not(.lvg-approved-frame)) {
  --lvg-ink:#eaffff;--lvg-muted:#bedcde;--lvg-panel:#0b2933;
  --lvg-line:#588c96;--lvg-soft:#17444a;--lvg-accent:#98f0e0;
  background:#05212b url('./game-art/lineup-aquatic-branded-v3.webp') center/100% 100% no-repeat;
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-header {
  background:#071b21e8;border-color:var(--lvg-line);box-shadow:0 4px 20px #0006;
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-brand b {color:#eaffec;}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-main::before {
  content:'';display:block;height:72px;pointer-events:none;
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-round-meta {
  background:#071b22e8;padding:8px 10px;border:1px solid var(--lvg-line);border-radius:9px;
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-orb,
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-soft {background:var(--lvg-panel);}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-grid {
  width:min(100%,360px);border:2px solid #9aba87;background:#123025;
  box-shadow:0 0 0 5px #09150dcc,0 0 0 6px #ac985766,0 10px 26px #0008;
}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell {
  min-height:44px;background:#10271f;border-color:#547263;
}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.is-given {background:#264333;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.is-peer {background:#244b3f;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.is-same {background:#356647;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.is-selected {background:#325b39;box-shadow:inset 0 0 0 3px #e6d97d;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.is-conflict {background:#592c29;box-shadow:inset 0 0 0 3px #ffaca0;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.box-right {border-right:2px solid #b2c39a;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-cell.box-bottom {border-bottom:2px solid #b2c39a;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-palette button,
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-soft {
  background:#17392c url('./game-art/minigrid-jewel-surface.webp') center/100% 100% no-repeat;
  color:#f3ffe7;border-color:#98ad7c;
}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-palette button {min-height:70px;padding:7px 2px;}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-palette button[aria-pressed='true'],
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-palette button.is-current {
  outline:2px solid #f2e09e;outline-offset:-3px;
}
.gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-primary {background:#cddd9c;color:#172e1c;border:1px solid #f5edbb;}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-token {
  background:#103340;border-color:#66b5c0;box-shadow:inset 0 1px 0 #b6f4f633,0 6px 15px #0006;
}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-token.is-selected {border-color:#f8e298;box-shadow:0 0 0 3px #ffe69b66;}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-clue-head {background:#07242bd9;padding:8px 12px;border-radius:8px;}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-clues li {
  background:#092b36f2;color:#efffff;border-color:#6098a5;min-height:44px;
}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-clues li.is-met {border-color:#a0eab6;}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-clues li.is-unmet {border-color:#ffae90;}
.gs-portal[aria-label='Line Up'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-primary {
  background:#154452 url('./game-art/lineup-aquatic-panel-v2.webp') center/100% 100% no-repeat;
  color:#efffff;border:1px solid #95dce1;min-height:48px;
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-help-panel,
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-result {background:var(--lvg-panel);border:1px solid var(--lvg-line);border-radius:14px;}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-result {margin-top:12px;}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-feedback:not(:empty) {
  background:#071b22f2;border-radius:10px;padding:10px;color:var(--lvg-ink);
}
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-error,
.gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-recovery {color:#ffc1a8;}

/* Focus Shift: a physical optical console, keeping original named target colors. */
.fs-game.fs-immersive {
  --ink:#ecfaff;--ink-2:#bfd7e5;--line:#5d839d;--card:#102438;--bg:#071320;
  background:#071320 url('./game-art/focus-instrument-branded-v3.webp') center/100% 100% no-repeat;
  color:var(--ink);padding-top:10px;
}
.fs-immersive .fs-top {background:#061422e8;padding:6px 4px;border-radius:10px;}
.fs-immersive .fs-brand b {font-size:16px;color:#eefbff;}
.fs-immersive .fs-brand img {background:#f4f9f7;border-radius:4px;}
.fs-immersive .fs-stats {background:#071624ed;padding:10px;border:1px solid #65809c;border-radius:9px;}
.fs-immersive .fs-rule {background:#102c3beb;border-color:#689bac;}
.fs-immersive .fs-rule b {color:#ade5ff;}
.fs-immersive .fs-rule-color b {color:#e0b4ff;}
.fs-immersive .fs-rule.is-switch {border-color:#dab0ff;box-shadow:0 0 0 1px #dab0ff;}
.fs-immersive .fs-cue {
  background:#0a1b2b url('./game-art/focus-instrument-panel-v2.webp') center/100% 100% no-repeat;
  border:1px solid #69bed2;border-radius:14px;flex:0 0 auto;
  min-height:158px;margin:14px 0;padding:24px 10px;
}
.fs-immersive .fs-target {
  background:#10263af5;border:1px solid #7592ad;box-shadow:inset 0 1px 0 #c5f5ff33,0 4px 12px #0005;
  min-height:114px;color:#f0faff;
}
.fs-immersive .fs-target:active {background:#183d50;border-color:#a1e9ff;}
.fs-immersive .fs-example,.fs-immersive .fs-lesson {background:#0c2134f2;border-color:#6689a1;}
.fs-immersive .fs-example b,.fs-immersive .fs-feedback,.fs-immersive .fs-score {color:#b9edff;}
.fs-immersive .fs-intro {background:#081a2bdf;border-radius:14px;}
.fs-immersive .fs-intro-art {color:#ade5ff;}
.fs-immersive .fs-primary {background:#225776;color:#f0ffff;border:1px solid #b7e7f5;}
.fs-immersive .fs-help,.fs-immersive .fs-result {background:#0b2034fa;border:1px solid #80abc0;color:#effaff;border-radius:14px;}
.fs-immersive .fs-clock.is-urgent,.fs-immersive .fs-error {color:#ffb1a1;}
.fs-immersive .fs-note {background:#071624db;padding:7px 9px;border-radius:8px;}
.fs-immersive .fs-color-0 {color:#53a8de;}
.fs-immersive .fs-color-1 {color:#f18c75;}
.fs-immersive .fs-color-2 {color:#e4bb4c;}
.fs-immersive .fs-color-3 {color:#bc8add;}
.fs-immersive button:focus-visible {outline:3px solid #fff0a4;outline-offset:3px;}

/* Compact phone heights scroll normally; art never steals a button hit target. */
@media(max-width:370px) {
  .trivia-stage .trivia-main.trv {padding-inline:14px;}
  .trivia-stage .trivia-main::before {height:55px;}
  .gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-main::before {height:62px;}
  .fs-immersive .fs-cue {min-height:144px;padding-block:20px;}
  .fs-immersive .fs-target {min-height:108px;}
}
@media(max-height:740px) {
  /* Six 48px cells stay easy to tap; reserve room for the whole action row.
     Limit this to Mini Grid so Line Up's clue and swap layout stays intact. */
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-main {padding-top:8px;padding-bottom:12px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-main::before {height:24px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-round-meta {padding-block:6px;margin-bottom:9px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-grid {width:min(100%,288px);}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-entry {margin-block:7px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-palette button {min-height:60px;padding-block:4px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-clear {margin-top:3px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-actions {margin-top:8px;}
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-feedback:empty,
  .gs-portal[aria-label='Mini Grid'] :where(.lvg-game:not(.lvg-approved-frame)) .lvg-error:empty {display:none;}
}
@media(orientation:landscape) and (max-height:500px) {
  .trivia-stage .trivia-main::before,
  .gs-portal:is([aria-label='Mini Grid'],[aria-label='Line Up']) :where(.lvg-game:not(.lvg-approved-frame)) .lvg-main::before {height:20px;}
  .fs-immersive .fs-cue {min-height:122px;padding-block:16px;}
}

/* October 3: legacy worlds carry the real eye mark in their material.
   The newer EYEdle observatory owns its field mark, title and background.
   Preserve the live title text for assistive technology beneath the visual title.
   These overrides add no gameplay rows or decorative spacers. */
.gs-portal:has(.eyd-immersive:where(:not(.eyd-observatory))) {
  background-image:url('./game-art/eyedle-branded-observatory-v2.webp');
  background-size:100% 100%;background-repeat:no-repeat;
}
.eyd-immersive:where(:not(.eyd-observatory)) .eyd-stage-brand > b {
  width:148px;max-width:100%;height:35px;margin-inline:auto;
  background:url('./game-art/eyedle-title-brass-v1.webp') center/contain no-repeat;
  color:transparent;text-shadow:none;
}
.eyd-immersive:where(:not(.eyd-observatory)) .eyd-stage-logo {display:none;}
.eyd-immersive:where(:not(.eyd-observatory)) .eyd-stage-sub:has(> .eyd-stage-logo:only-child) {display:none;}
.eyd-immersive:where(:not(.eyd-observatory)) {
  background:linear-gradient(180deg,#03202930,#082c3238 48%,#06232ea8);
}
.gs-portal:has(.iw-game) {
  background-image:url('./game-art/iris-galaxy-branded-v2.webp');
  background-size:100% 100%;background-repeat:no-repeat;
}
.nf-game.nf-continuous {
  background-image:url('./game-art/name-face-gallery-branded-v2.webp');
  background-size:100% 100%;background-repeat:no-repeat;
}
.pv-game.pv-match {
  background-image:url('./game-art/double-vision-branded-v3.webp');
  background-size:100% 100%;
}
.pv-game.pv-shuffle-v3,
html.dark .pv-game.pv-shuffle-v3,
[data-theme='dark'] .pv-game.pv-shuffle-v3 {
  background-image:url('./game-art/ocular-neon-branded-v3.webp');
  background-size:100% 100%;
}

/* New October 3 logic renderers own compact geometry. Undo only this skin's
   earlier generous spacing; keep the same materials and legible live state. */
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-main {
  padding:6px 10px 8px;
}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-main::before {height:48px;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-round-meta {
  padding:3px 8px;margin:4px 0 8px;
}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-grid {width:min(100%,360px,calc(100dvh - 365px));}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-cell {min-height:44px;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-entry {margin:6px auto;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-palette button {min-height:56px;padding:4px 1px;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-clear {margin:0;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-actions {margin-top:10px;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-line-game .lvg-clue-head {padding:0;background:transparent;}
.gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-line-game .lvg-clues li {min-height:38px;padding:3px 6px;}
.gs-portal[aria-label='Mini Grid'] .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game {background-position:center 12px;}
.gs-portal[aria-label='Line Up'] .lvg-game:where(:not(.lvg-approved-frame)).lvg-line-game {background-position:center -48px;background-size:100% calc(100% + 48px);}
@media(max-height:740px) {
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-main {padding-top:4px;}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-main::before {height:32px;}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-round-meta {margin-bottom:6px;}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-grid-game .lvg-grid {width:min(100%,310px,calc(100dvh - 360px));}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-actions {margin-top:7px;}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-line-game .lvg-clues li {min-height:36px;}
}
@media(max-width:370px) {
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)):is(.lvg-grid-game,.lvg-line-game) .lvg-main {padding-inline:8px;}
  .gs-portal .lvg-game:where(:not(.lvg-approved-frame)).lvg-line-game .lvg-clues li {padding-inline:4px;}
}
