/* The app shell's own styling.
   The tokens are copied from the website's globals.css rather than imported: this file ships
   inside the APK and has to render with no network, so it cannot depend on anything fetched.
   Keeping the same values is what stops the app and the site feeling like two products. */

:root {
  --bg: #080a0d;
  --bg-soft: #0d1014;
  --panel: #11151a;
  --panel-hover: #151a20;
  --line: rgba(255, 255, 255, .1);
  --line-gold: rgba(205, 176, 112, .3);
  --text: #f7f6f1;
  --muted: #a3a8ae;
  --dim: #6f767d;
  --gold: #d5b875;
  --gold-bright: #ecd494;
  --quest-glow: #e3485c;
  --red: #a91f2b;
  --red-deep: #5e1018;
  --success: #79d6aa;
  --warn: #e2c580;
  --dock: #0d1014;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

/* The drawer and the sheet are flex containers that cover the screen, and an author `display`
   beats the `hidden` attribute's UA rule. Without this they stay laid out while "hidden" and
   swallow every tap in the app. */
[hidden] { display: none !important; }

body {
  margin: 0;
  min-height: 100dvh;
  padding: 0 env(safe-area-inset-right) 0 env(safe-area-inset-left);
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  overscroll-behavior: none;
}

.sprite { position: absolute; }
svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* --- top bar ---------------------------------------------------------------------------- */
.top {
  position: sticky; top: 0; z-index: 30;
  display: flex; align-items: center; gap: 12px;
  width: min(100%, 760px); margin: 0 auto;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(90% 200% at 82% 0%, rgba(213, 184, 117, .12), transparent 70%),
    linear-gradient(160deg, rgba(169, 31, 43, .5), rgba(13, 16, 20, .96) 62%),
    var(--bg-soft);
}
.brand { display: inline-flex; align-items: center; min-width: 0; color: var(--muted); font-size: 16px; letter-spacing: .1em; }
.brand img { display: block; width: auto; height: 30px; max-width: min(42vw, 178px); object-fit: contain; object-position: left center; }
.drawer__head .brand img { height: 36px; max-width: 205px; }

.icon-btn { display: grid; place-items: center; width: 38px; height: 38px; padding: 0;
  border: 1px solid var(--line); border-radius: 11px; color: var(--text);
  background: rgba(0, 0, 0, .28); cursor: pointer; }
.icon-btn:active { background: var(--panel-hover); }

/* The one action the app exists for, kept on screen wherever the player is. */
.top-cta { display: inline-flex; align-items: center; gap: 7px; margin-left: auto;
  padding: 9px 15px; border: 1px solid var(--line-gold); border-radius: 99px;
  color: #17120a; background: linear-gradient(135deg, #e9d199, #c9a961);
  box-shadow: 0 6px 18px rgba(169, 31, 43, .3);
  font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.top-cta svg { width: 17px; height: 17px; color: #17120a; stroke-width: 1.9; }
.top-cta:active { transform: scale(.96); }

/* --- drawer ----------------------------------------------------------------------------- */
.scrim { position: fixed; inset: 0; z-index: 40; background: rgba(0, 0, 0, .6);
  opacity: 0; transition: opacity .25s ease; }
:root[data-drawer="open"] .scrim { opacity: 1; }

.drawer {
  position: fixed; inset: 0 auto 0 0; z-index: 50;
  display: flex; flex-direction: column; gap: 14px;
  width: min(84vw, 320px);
  padding: calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));
  border-right: 1px solid var(--line);
  background: linear-gradient(170deg, rgba(169, 31, 43, .22), transparent 42%), var(--bg-soft);
  translate: -100% 0;
  transition: translate .26s cubic-bezier(.22, .8, .28, 1);
}
:root[data-drawer="open"] .drawer { translate: 0 0; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; }

.drawer__links { display: grid; gap: 4px; overflow-y: auto; }
.drawer__link { display: flex; align-items: center; gap: 12px; padding: 12px 13px;
  border: 0; border-radius: 12px; color: var(--muted); background: none;
  font: inherit; font-size: 14.5px; text-align: left; cursor: pointer; }
.drawer__link svg { flex: 0 0 auto; color: var(--gold); }
.drawer__link.is-on { color: var(--text); background: var(--panel); }
.drawer__link:active { background: var(--panel-hover); }

/* One line that says whether we reached a server, and which one. It is the only place the
   domain is ever mentioned — a player should not have to think about it otherwise. */
.status { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding: 8px 13px;
  border: 1px solid var(--line); border-radius: 99px; color: var(--muted);
  background: rgba(0, 0, 0, .3); font: inherit; font-size: 11.5px; cursor: pointer; }
.status i { width: 7px; height: 7px; border-radius: 50%; background: var(--warn); transition: background .25s ease; }
.status.is-live i { background: var(--success); }
.status.is-offline i { background: var(--red); }
.status.is-live { color: var(--success); border-color: rgba(121, 214, 170, .28); }
.status.is-offline { color: #e8a0a8; border-color: rgba(169, 31, 43, .4); }

/* --- page ------------------------------------------------------------------------------- */
main { width: min(100%, 760px); margin: 0 auto; padding: 4px 16px calc(104px + env(safe-area-inset-bottom)); }
.page__head { padding: 18px 2px 14px; }
.page__head h1 { margin: 0 0 3px; font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.page__head p { margin: 0; color: var(--muted); font-size: 12.5px; }

.panel { padding: 16px; border: 1px solid var(--line); border-radius: 22px;
  background: var(--panel); box-shadow: 0 14px 34px rgba(0, 0, 0, .45); }
.stack { display: grid; gap: 9px; margin-top: 16px; }
.note { margin: 14px 2px 0; color: var(--dim); font-size: 12.5px; }

/* --- branded home hero ----------------------------------------------------------------- */
.home-hero { position: relative; min-height: 300px; margin: 16px 0 12px; overflow: hidden;
  border: 1px solid var(--line-gold); border-radius: 28px; background: #07090c;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .56), inset 0 1px 0 rgba(255, 255, 255, .08); isolation: isolate; }
.home-hero__art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
  object-position: center; filter: saturate(.93) contrast(1.04); }
.home-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(5, 7, 10, .98) 0%, rgba(5, 7, 10, .9) 38%, rgba(5, 7, 10, .28) 76%, rgba(5, 7, 10, .12)),
    linear-gradient(0deg, rgba(5, 7, 10, .75), transparent 58%); }
.home-hero::after { content: ""; position: absolute; inset: auto 16px 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: .7; }
.home-hero__content { display: flex; flex-direction: column; align-items: flex-start; min-height: 300px; width: min(74%, 470px); padding: 20px; }
.home-hero__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-bottom: auto; }
.home-hero__meta span { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid var(--line);
  border-radius: 999px; color: var(--muted); background: rgba(3, 5, 8, .62); font-size: 10px; backdrop-filter: blur(10px); }
.home-hero__meta span i { width: 6px; height: 6px; border-radius: 50%; background: var(--warn); box-shadow: 0 0 12px currentColor; }
.home-hero__meta span.is-live { color: var(--success); border-color: rgba(121, 214, 170, .26); }
.home-hero__meta span.is-live i { background: var(--success); }
.home-hero__meta small { color: rgba(255, 255, 255, .58); font-size: 10px; white-space: nowrap; }
.home-hero__eyebrow { margin: 28px 0 4px; color: var(--gold); font-size: 9.5px; font-weight: 800; letter-spacing: .2em; }
.home-hero h1 { margin: 0; font-size: clamp(30px, 8vw, 48px); line-height: 1.02; letter-spacing: -.035em;
  text-shadow: 0 8px 28px rgba(0, 0, 0, .72); }
.home-hero__lead { margin: 9px 0 16px; color: rgba(242, 245, 247, .78); font-size: 12.5px; line-height: 1.55; }
.home-hero__cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 190px; min-height: 48px;
  padding: 0 15px 0 13px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 15px; color: #17120a;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold)); box-shadow: 0 12px 30px rgba(0, 0, 0, .32);
  font: inherit; cursor: pointer; }
.home-hero__cta span { display: inline-flex; align-items: center; gap: 9px; }
.home-hero__cta svg { width: 19px; height: 19px; }
.home-hero__cta i { font-size: 18px; font-style: normal; }
.home-hero__cta:active { transform: translateY(1px) scale(.985); }
.home-hero__cta[disabled] { opacity: .52; cursor: default; }
.home-hero__note { display: block; max-width: 360px; margin-top: 9px; color: rgba(242, 245, 247, .58); font-size: 10px; line-height: 1.4; }

/* --- the menu --------------------------------------------------------------------------- */
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.tile { display: grid; justify-items: center; gap: 6px; padding: 17px 8px 14px;
  border: 1px solid var(--line); border-radius: 18px; background: var(--bg-soft); color: var(--text);
  font: inherit; text-align: center; cursor: pointer;
  transition: background .18s ease, transform .12s ease; }
.tile:active { transform: scale(.96); background: var(--panel-hover); }
.tile strong { font-size: 14px; font-weight: 700; }
.tile small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.tile__icon { display: grid; place-items: center; width: 50px; height: 50px;
  border: 1px solid var(--line); border-radius: 16px; background: rgba(0, 0, 0, .34); color: var(--gold); }
.tile__icon svg { width: 25px; height: 25px; }
.tile.is-primary { border-color: rgba(169, 31, 43, .5);
  background: linear-gradient(150deg, rgba(169, 31, 43, .85), rgba(94, 16, 24, .9)); }
.tile.is-primary .tile__icon { color: #ffe9b8; border-color: rgba(255, 255, 255, .2); }
.tile.is-primary small { color: rgba(255, 235, 205, .8); }
.tile.is-real { border-color: var(--line-gold);
  background: linear-gradient(150deg, rgba(213, 184, 117, .15), rgba(17, 21, 26, .95)); }
.tile.is-real .tile__icon { color: var(--gold-bright); border-color: var(--line-gold); }
.tile[disabled] { opacity: .38; }

/* --- callouts --------------------------------------------------------------------------- */
.callout { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px;
  border: 1px solid var(--line); border-radius: 16px; background: var(--bg-soft); color: var(--text);
  font: inherit; text-align: left; cursor: pointer; }
.callout:active { background: var(--panel-hover); }
.callout.is-gold { border-color: var(--line-gold); background: linear-gradient(140deg, rgba(213, 184, 117, .14), var(--bg-soft)); }
.callout__icon { flex: 0 0 auto; color: var(--gold); }
.callout span { display: grid; flex: 1; min-width: 0; }
.callout b { font-size: 14.5px; }
.callout small { color: var(--muted); font-size: 12px; }
.callout i { color: var(--gold); font-style: normal; }

.rows { display: grid; gap: 1px; border: 1px solid var(--line); border-radius: 15px;
  background: var(--line); overflow: hidden; }
.rows__row { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 14px; background: var(--bg-soft); }
.rows__row span { color: var(--muted); font-size: 13.5px; }
.rows__row b { font-size: 14px; }

.button { width: 100%; min-height: 48px; padding: 0 20px; border: 0; border-radius: 12px;
  color: #17120a; background: linear-gradient(135deg, #e1c783, #b99a59);
  font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.button:active { transform: scale(.985); }
.button[disabled] { color: var(--muted); background: var(--bg-soft);
  border: 1px solid var(--line); cursor: default; }

/* --- promotions ------------------------------------------------------------------------- */
.promo-list { display: grid; gap: 14px; }
.promo { margin: 0; overflow: hidden; border: 1px solid var(--line-gold); border-radius: 18px;
  background: var(--panel); box-shadow: 0 14px 34px rgba(0, 0, 0, .45); }
.promo img { display: block; width: 100%; height: auto; aspect-ratio: 1; }

/* --- contact routes --------------------------------------------------------------------- */
/* One account is the way in; the others are spares. The flat list of four identical accounts
   this replaces was the commonest thing people said confused them, so the recommended one gets
   the size and the colour, and the spares get a label and the reason they exist. */
.contact-lead { display: flex; align-items: center; gap: 13px; width: 100%; margin: 4px 0 2px;
  padding: 16px; border: 1px solid rgba(91, 225, 106, .4); border-radius: 20px; color: var(--text);
  background: linear-gradient(140deg, rgba(31, 178, 58, .2), var(--panel) 62%);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
  font: inherit; text-align: left; cursor: pointer; transition: transform .12s ease; }
.contact-lead:active { transform: scale(.985); }
.contact-lead__mark { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto;
  border-radius: 15px; background: linear-gradient(150deg, #5be16a, #1fb23a);
  color: #06180a; font-size: 12px; font-weight: 800; }
.contact-lead__copy { display: grid; gap: 1px; flex: 1; min-width: 0; }
.contact-lead__copy em { color: #7fe08d; font-size: 10.5px; font-style: normal; letter-spacing: .1em; }
.contact-lead__copy b { font-size: 17px; font-weight: 700;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.contact-lead__copy small { color: var(--muted); font-size: 12px; }
.contact-lead__go { flex: 0 0 auto; color: #7fe08d; font-size: 12.5px; font-weight: 700; }

.contact-group { margin-top: 22px; }
.contact-group__label { margin: 0 2px 4px; color: var(--dim); font-size: 11px; letter-spacing: .12em; }
.contact-group__why { margin: 0 2px 11px; color: var(--muted); font-size: 12.5px; line-height: 1.65; }

.channels { padding: 24px 2px 0; }
.channels h2 { margin: 0 0 5px; font-size: 16px; font-weight: 700; }
.channels__note { margin: 0 0 13px; color: var(--muted); font-size: 12.5px; }
.channels__list { display: grid; gap: 8px; }
.channel { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 14px;
  border: 1px solid var(--line); border-radius: 15px; background: var(--bg-soft); color: var(--text);
  font: inherit; text-align: left; cursor: pointer; }
.channel:active { background: var(--panel-hover); }
.channel__mark { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto;
  border-radius: 11px; background: linear-gradient(150deg, #5be16a, #1fb23a);
  color: #06180a; font-size: 10px; font-weight: 800; }
.channel__mark.is-web { background: linear-gradient(150deg, #2a3038, #171c22); color: var(--gold); }
.channel__copy { display: grid; flex: 1; min-width: 0; }
.channel__copy b { font-size: 14px; }
.channel__copy small { color: var(--muted); font-size: 12px; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.channel__go { color: var(--gold); font-size: 15px; }

/* --- dock ------------------------------------------------------------------------------- */
.dock { position: fixed; inset: auto 0 0 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between;
  width: min(100%, 760px); margin: 0 auto;
  padding: 8px 34px calc(8px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line); border-radius: 24px 24px 0 0; background: var(--dock); }
.dock__btn { display: grid; justify-items: center; gap: 2px; padding: 6px 10px; border: 0;
  border-radius: 14px; background: none; color: var(--muted); font: inherit; font-size: 10.5px; cursor: pointer; }
.dock__btn svg { width: 21px; height: 21px; }
.dock__btn:active { color: var(--gold); }
.dock__btn[disabled] { opacity: .45; }
.dock__btn.is-on{color:var(--gold-bright);background:linear-gradient(180deg,rgba(213,184,117,.12),transparent)}.dock__btn.is-on svg{filter:drop-shadow(0 0 9px rgba(213,184,117,.45))}.dock__btn.is-on:after{content:"";width:14px;height:2px;border-radius:99px;background:var(--gold);box-shadow:0 0 8px var(--gold)}

@media (max-width: 430px) {
  .home-hero { min-height: 286px; border-radius: 24px; }
  .home-hero__content { min-height: 286px; width: 82%; padding: 17px; }
  .home-hero__lead { max-width: 270px; }
  .home-hero__meta small { display: none; }
  .game-tile>img { width: 58px; height: 58px; }
  .game-tile b { font-size: 11.5px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* --- panels ------------------------------------------------------------------------------ */
/* Missions, the wheel and the rest slide up like the website's popups, but cover the screen so
   they read as their own page: a bar with a back arrow, a title, and nothing of the menu left
   showing to tap by accident. */
.sheet { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end;
  background: rgba(0, 0, 0, .5); opacity: 0; transition: opacity .2s ease; }
:root[data-sheet="open"] .sheet { opacity: 1; }

.sheet__panel { display: flex; flex-direction: column; width: 100%; height: 100dvh;
  background: radial-gradient(120% 22% at 50% 0, rgba(169, 31, 43, .2), transparent 62%), var(--bg);
  translate: 0 100%; transition: translate .26s cubic-bezier(.22, .8, .28, 1); }
:root[data-sheet="open"] .sheet__panel { translate: 0 0; }

.sheet__bar { display: flex; align-items: center; gap: 12px; flex: 0 0 auto;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
  border-bottom: 1px solid var(--line); background: rgba(13, 16, 20, .92); }
.sheet__bar b { font-size: 16px; font-weight: 700; }

.sheet__body { flex: 1; overflow-y: auto; overscroll-behavior: contain;
  padding: 16px 16px calc(28px + env(safe-area-inset-bottom)); }
.page__note { margin: 0 2px 16px; color: var(--muted); font-size: 12.5px; }
.sheet__body .channels { padding-top: 0; }
.callout.is-danger { border-color: rgba(214, 107, 107, .3); }
.callout.is-danger .callout__icon, .callout.is-danger i { color: #e8a0a8; }

/* --- the lead action -------------------------------------------------------------------- */
/* Real play is the point of the site, so on the menu it is not one tile among six: it is the
   width of the screen, in gold, above everything the player can do for free. */
.hero-tile { display: flex; align-items: center; gap: 14px; width: 100%; margin-bottom: 10px;
  padding: 17px 16px; border: 1px solid var(--line-gold); border-radius: 20px; color: var(--text);
  background: linear-gradient(135deg, rgba(213, 184, 117, .22), rgba(169, 31, 43, .2) 58%, rgba(17, 21, 26, .95));
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .06);
  font: inherit; text-align: left; cursor: pointer;
  transition: transform .12s ease, box-shadow .18s ease; }
.hero-tile:active { transform: scale(.985); }
.hero-tile__icon { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 auto;
  border: 1px solid var(--line-gold); border-radius: 16px;
  background: rgba(0, 0, 0, .34); color: var(--gold-bright); }
.hero-tile__icon svg { width: 27px; height: 27px; }
.hero-tile__copy { display: grid; gap: 1px; flex: 1; min-width: 0; }
.hero-tile__copy em { color: var(--gold); font-size: 10.5px; font-style: normal; letter-spacing: .14em; }
.hero-tile__copy b { font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.hero-tile__copy small { color: var(--muted); font-size: 12px; }
.hero-tile i { flex: 0 0 auto; color: var(--gold-bright); font-style: normal; font-size: 17px; }

/* The second rung: still an account action, deliberately quieter than the first. */
.hero-tile.is-second { margin-bottom: 16px; padding: 14px 16px; border-color: var(--line);
  background: var(--bg-soft); box-shadow: none; }
.hero-tile.is-second .hero-tile__icon { width: 44px; height: 44px; border-color: var(--line); color: var(--gold); }
.hero-tile.is-second .hero-tile__icon svg { width: 22px; height: 22px; }
.hero-tile.is-second .hero-tile__copy b { font-size: 15px; }
.hero-tile[disabled] { opacity: .4; cursor: default; }

.panel__label { display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  margin: 0 2px 11px; color: var(--dim); font-size: 11px; letter-spacing: .12em; }
.panel__label em { color: var(--gold); font-size: 10.5px; font-style: normal; letter-spacing: .04em; }

/* --- the game menu ----------------------------------------------------------------------- */
/* These tiles play nothing. Each one opens the real site's login, and the label above the grid
   says so — the app carries no game, which is the whole reason the demo side was taken out. */
.game-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.game-tile { position: relative; display: grid; justify-items: center; gap: 8px; padding: 15px 4px 12px;
  border: 1px solid var(--line); border-radius: 17px; color: var(--text);
  background: linear-gradient(160deg, rgba(169, 31, 43, .18), var(--bg-soft) 66%);
  font: inherit; text-align: center; cursor: pointer;
  transition: transform .12s ease, border-color .18s ease; }
.game-tile:active { transform: scale(.95); border-color: var(--line-gold); }
.game-tile__icon { display: grid; place-items: center; width: 46px; height: 46px;
  border: 1px solid var(--line-gold); border-radius: 50%; color: var(--gold-bright);
  background: radial-gradient(circle at 50% 28%, rgba(213, 184, 117, .18), rgba(0, 0, 0, .42)); }
.game-tile__icon svg { width: 24px; height: 24px; }
.game-tile b { font-size: 12.5px; font-weight: 650; }
.game-tile[disabled] { opacity: .4; cursor: default; }

.game-showcase{margin-top:14px}.game-showcase .game-grid{grid-template-columns:repeat(2,1fr)}
.game-tile{display:flex;align-items:center;justify-items:stretch;gap:10px;padding:9px 8px;text-align:left;overflow:hidden}
.game-tile::after{content:"";position:absolute;inset:auto -30% -70% 20%;height:100%;background:radial-gradient(circle,var(--gold),transparent 68%);opacity:.08;pointer-events:none}
.game-tile__rank{position:absolute;top:6px;left:6px;z-index:2;min-width:24px;padding:2px 5px;border:1px solid rgba(255,255,255,.2);border-radius:7px;color:#fff;background:rgba(3,5,8,.74);font-size:8px;font-weight:800;letter-spacing:.08em;backdrop-filter:blur(8px)}
.game-tile>img{width:64px;height:64px;flex:0 0 auto;border:1px solid var(--line-gold);border-radius:15px;object-fit:cover;box-shadow:0 9px 20px #0008}
.game-tile>span{display:grid;gap:3px;min-width:0}.game-tile b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-tile small{color:var(--muted);font-size:10px}.game-more{margin-top:12px}
.game-feature{position:relative;min-height:210px;margin-bottom:14px;overflow:hidden;border:1px solid var(--line-gold);border-radius:22px;background:#080a0d}.game-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.game-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080a0df5 0,#080a0d9c 56%,transparent)}.game-feature>div{position:relative;z-index:1;width:70%;padding:28px 22px}.game-feature em{color:var(--gold);font-size:10px;font-style:normal;letter-spacing:.18em}.game-feature h2{margin:7px 0;font-size:23px}.game-feature p{margin:0;color:#c3c8cf;font-size:12px;line-height:1.6}.game-feature.compact{min-height:168px}.game-feature.compact>div{padding-top:22px}
.ranking{margin-bottom:14px}.rank-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0}.rank-row>strong{width:20px;color:var(--gold);font-size:20px;text-align:center}.rank-row img{width:52px;height:52px;border-radius:12px;object-fit:cover}.rank-row>span{display:grid;gap:3px;flex:1;min-width:0}.rank-row b{font-size:13px}.rank-row small{color:var(--muted);font-size:10.5px}.rank-row button{padding:8px 10px;border:1px solid var(--line-gold);border-radius:10px;background:transparent;color:var(--gold);font:inherit;font-size:11px}

/* --- RTP intelligence -------------------------------------------------------------------- */
.rtp-command{position:relative;margin-bottom:14px;padding:20px;overflow:hidden;border:1px solid rgba(213,184,117,.32);border-radius:24px;background:radial-gradient(circle at 85% 10%,rgba(213,184,117,.16),transparent 34%),linear-gradient(145deg,#12171e,#080a0d 70%);box-shadow:0 20px 50px #0007}
.rtp-command:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 76%);pointer-events:none}
.rtp-command__beam{position:absolute;top:-100px;right:-40px;width:220px;height:220px;border:1px solid rgba(213,184,117,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(213,184,117,.025),0 0 0 62px rgba(213,184,117,.018)}
.rtp-command__head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rtp-command__head em{color:var(--gold);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.22em}.rtp-command__head h2{margin:5px 0 4px;font-size:20px;line-height:1.35}.rtp-command__head p{max-width:420px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.rtp-live{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px 9px;border:1px solid var(--line);border-radius:99px;color:var(--dim);background:#080a0dbd;font-size:8px;font-weight:800;letter-spacing:.1em}.rtp-live i,.rtp-command__foot i,.rtp-card footer span i{width:6px;height:6px;border-radius:50%;background:#777;box-shadow:0 0 0 3px #7772}.rtp-live.is-live{border-color:#79d6aa55;color:#8fe2ba}.rtp-live.is-live i,.rtp-card footer span.is-live i{background:#79d6aa;box-shadow:0 0 0 3px #79d6aa22,0 0 10px #79d6aa88}
.rtp-command__body{position:relative;z-index:1;display:grid;grid-template-columns:156px 1fr;gap:18px;align-items:center;margin-top:18px}.rtp-orbit{position:relative;display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--gold-bright) calc(var(--rtp)*1%),rgba(255,255,255,.06) 0);box-shadow:0 0 34px rgba(213,184,117,.12)}.rtp-orbit:before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#202734,#0a0d12 68%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.rtp-orbit:after{content:"";position:absolute;inset:-5px;border:1px dashed rgba(213,184,117,.24);border-radius:50%}.rtp-orbit>div{position:relative;z-index:1;display:grid;justify-items:center}.rtp-orbit small{color:var(--muted);font-size:9px}.rtp-orbit strong{color:#f5e3b4;font-size:30px;line-height:1.2;letter-spacing:-.04em}.rtp-orbit sup{font-size:12px}.rtp-orbit span{color:var(--dim);font-size:7px;letter-spacing:.18em}
.rtp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rtp-kpis article{display:grid;gap:2px;min-height:82px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(5,7,10,.62)}.rtp-kpis small{color:var(--muted);font-size:9px}.rtp-kpis b{color:var(--text);font-size:22px;line-height:1.25}.rtp-kpis span{margin-top:auto;color:var(--gold);font-size:7px;letter-spacing:.12em}.rtp-command__foot{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--dim);font-size:9px}.rtp-command__foot i{flex:0 0 auto;background:var(--gold);box-shadow:0 0 0 3px #d5b87522}
.rtp-ranking{padding:15px}.rtp-rank-row{gap:9px}.rtp-rank-row>strong{width:24px;font-size:14px;letter-spacing:.04em}.rtp-rank-row>span>i{display:block;width:100%;height:3px;overflow:hidden;border-radius:4px;background:#ffffff0b}.rtp-rank-row>span>i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-bright));text-decoration:none}.rtp-rank-value{display:grid;gap:0;min-width:58px;text-align:right}.rtp-rank-value small{color:var(--dim);font-size:8px}.rtp-rank-value b{color:var(--gold-bright);font-size:14px}.rtp-rank-row>button{padding:7px 8px}
.rtp-lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.rtp-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(155deg,rgba(24,29,37,.98),rgba(8,10,13,.98));box-shadow:0 14px 34px #0005}.rtp-card:before{content:"";position:absolute;inset:-80% -50% auto 35%;height:170px;background:radial-gradient(circle,rgba(213,184,117,.13),transparent 66%);pointer-events:none}.rtp-card header{position:relative;display:flex;align-items:center;gap:9px;padding:12px;border-bottom:1px solid var(--line)}.rtp-card header>span{align-self:flex-start;color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.12em}.rtp-card header img{width:46px;height:46px;flex:0 0 auto;border:1px solid var(--line-gold);border-radius:12px;object-fit:cover}.rtp-card header>div{display:grid;gap:1px;min-width:0;flex:1}.rtp-card header b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rtp-card header small{color:var(--dim);font-size:8px}.rtp-card header em{align-self:flex-start;padding:3px 5px;border:1px solid var(--line);border-radius:5px;color:var(--dim);font-size:6px;font-style:normal;font-weight:800;letter-spacing:.08em}.rtp-card header em.is-measured{border-color:#79d6aa44;color:#79d6aa}
.rtp-card__signal{display:grid;grid-template-columns:110px 1fr;align-items:end;gap:8px;padding:14px 12px 10px}.rtp-card__signal>div{display:grid}.rtp-card__signal small{color:var(--gold);font-size:8px;letter-spacing:.14em}.rtp-card__signal strong{font-size:25px;line-height:1.2;letter-spacing:-.035em}.rtp-card__signal sup{color:var(--gold);font-size:10px}.rtp-card__signal span{color:var(--dim);font-size:8px}.rtp-spark{width:100%;height:48px;overflow:visible;color:var(--gold-bright)}.rtp-spark *{vector-effect:non-scaling-stroke}.rtp-spark .rtp-line{fill:none;stroke:currentColor;stroke-width:1.6;filter:drop-shadow(0 0 4px rgba(236,212,148,.5))}.rtp-spark .rtp-band{fill:none;stroke:rgba(213,184,117,.22);stroke-width:8;stroke-linecap:round}.rtp-spark.is-empty .rtp-line{stroke-dasharray:3 4;opacity:.7}
.rtp-card__metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:0 12px;border:1px solid var(--line);border-radius:12px;background:#07090c}.rtp-card__metrics span{display:grid;gap:2px;padding:8px 6px;border-right:1px solid var(--line)}.rtp-card__metrics span:last-child{border:0}.rtp-card__metrics small{color:var(--dim);font-size:6px;letter-spacing:.06em}.rtp-card__metrics b{font-size:10px}.rtp-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px}.rtp-card footer>span{display:flex;align-items:center;gap:6px;color:var(--dim);font-size:8px}.rtp-card footer>span.is-awaiting i{background:var(--gold);box-shadow:0 0 0 3px #d5b87522}.rtp-card footer>span.is-live{color:#8fe2ba}.rtp-card footer button{padding:6px 8px;border:1px solid var(--line-gold);border-radius:8px;background:transparent;color:var(--gold);font:inherit;font-size:9px}
@media(max-width:560px){.rtp-command{padding:16px 14px}.rtp-command__head{display:grid}.rtp-live{position:absolute;top:0;right:0}.rtp-command__head>div{padding-right:92px}.rtp-command__body{grid-template-columns:118px 1fr;gap:12px}.rtp-orbit{width:114px;height:114px}.rtp-orbit strong{font-size:25px}.rtp-kpis{grid-template-columns:1fr}.rtp-kpis article{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:0;padding:8px 10px}.rtp-kpis article b{grid-row:1/3;grid-column:2;font-size:17px}.rtp-kpis article span{margin:0}.rtp-lab{grid-template-columns:1fr}.rtp-rank-row>button{display:none}.rtp-rank-value{min-width:54px}.rtp-card__signal{grid-template-columns:120px 1fr}}
.game-vote-grid{display:grid;gap:8px}.game-vote-grid article{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.game-vote-grid img{width:50px;height:50px;border-radius:12px;object-fit:cover}.game-vote-grid article>div{display:grid;flex:1;gap:3px}.game-vote-grid b{font-size:13px}.game-vote-grid small{color:var(--muted);font-size:10.5px}.game-vote-grid button{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;background:#080a0d;color:var(--muted);font-size:18px}.game-vote-grid button.is-on{border-color:var(--gold);background:#d5b87522;color:var(--gold-bright)}.game-vote-grid button.is-down{border-color:#d66b6b;color:#e8a0a8}
.demo-stage{display:grid;justify-items:center;gap:16px;padding:18px;border:1px solid var(--line-gold);border-radius:24px;background:radial-gradient(circle at 50% 0,#d5b87522,var(--panel) 48%)}.demo-stage>img{width:min(72vw,280px);height:auto;aspect-ratio:1;border-radius:24px;object-fit:cover;box-shadow:0 18px 45px #000b}.demo-stage h2{margin:0}.demo-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.demo-reels span{display:grid;place-items:center;min-height:76px;border:1px solid var(--line-gold);border-radius:14px;background:#080a0d;font-size:34px}.demo-vote{border:0;background:transparent;color:var(--gold);font:inherit}

/* --- incident notice ---------------------------------------------------------------------- */
/* Raised from the admin screen. It sits above every panel, because the thing it warns about may
   be the reason the player opened one. */
.notice { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 22px;
  background: rgba(4, 5, 7, .74); opacity: 0; transition: opacity .2s ease; }
:root[data-notice="open"] .notice { opacity: 1; }
.notice__panel { position: relative; width: 100%; max-width: 420px; padding: 26px 20px 20px;
  border: 1px solid var(--line-gold); border-radius: 18px;
  background: linear-gradient(165deg, #14171c, #0b0d11); box-shadow: 0 26px 60px rgba(0, 0, 0, .6);
  translate: 0 12px; transition: translate .24s cubic-bezier(.22, .8, .28, 1); }
:root[data-notice="open"] .notice__panel { translate: 0 0; }
.notice__panel.is-warn { border-color: rgba(226, 197, 128, .5); }
.notice__panel.is-critical { border-color: rgba(214, 74, 88, .55); }

.notice__mark { position: absolute; top: -17px; left: 22px; display: grid; place-items: center;
  width: 34px; height: 34px; border-radius: 50%; color: #14100a;
  background: linear-gradient(135deg, #e1c783, #b99a59); font-size: 18px; font-weight: 800; }
.notice__panel.is-critical .notice__mark { color: #fff1f2; background: linear-gradient(135deg, #c8313f, #7c1620); }

.notice__panel b { display: block; margin: 4px 0 9px; font-size: 18px; line-height: 1.35; }
.notice__panel p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; white-space: pre-line; }
.notice__actions { display: grid; gap: 9px; margin-top: 20px; }
.notice__go { min-height: 44px; }
.notice__close { min-height: 44px; border: 1px solid var(--line); border-radius: 12px;
  color: var(--muted); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.notice__close:active { color: var(--text); background: var(--panel-hover); }

/* Grouped drawer, matching the website's menu so the two do not have to be learned separately. */
.drawer__group { display: grid; gap: 2px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.drawer__group-label { padding: 0 13px 4px; color: var(--dim); font-size: 10px; letter-spacing: .16em; }
.drawer__link i { margin-left: auto; color: var(--gold); font-style: normal; font-size: 13px; }
.drawer__link.is-lead { color: var(--text); border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgba(213, 184, 117, .16), rgba(169, 31, 43, .12)); }
.drawer__link.is-lead svg { color: var(--gold-bright); }

/* --- dock pop-ups ------------------------------------------------------------------------- */
/* Matches the website's bottom bar: five destinations, two of which open a small sheet upwards
   rather than navigating, so a mis-tap never costs the screen underneath. */
.dock { justify-content: space-between; gap: 2px; padding: 4px 6px calc(4px + env(safe-area-inset-bottom)); }
.dock__btn { flex: 1; min-height: 48px; }

.dock__pop { position: relative; flex: 1; display: flex; }
.dock__pop > .dock__btn { width: 100%; }
.dock__pop[data-open] > .dock__btn { color: var(--gold); }
.dock__pop[data-open] > .dock__btn svg { color: var(--gold-bright); }

.dock__sheet { position: absolute; bottom: calc(100% + 9px); left: 50%; translate: -50% 0; z-index: 30;
  display: none; gap: 3px; width: max-content; min-width: 196px; max-width: 78vw; padding: 7px;
  border: 1px solid var(--line-gold); border-radius: 13px; background: rgba(10, 12, 15, .98);
  box-shadow: 0 -14px 40px rgba(0, 0, 0, .6); }
.dock__pop[data-open] .dock__sheet { display: grid; }
.dock__sheet::after { content: ""; position: absolute; bottom: -6px; left: 50%; width: 10px; height: 10px;
  translate: -50% 0; rotate: 45deg; border-right: 1px solid var(--line-gold); border-bottom: 1px solid var(--line-gold);
  background: #0a0c0f; }
.dock__sheet button { display: grid; gap: 1px; width: 100%; padding: 9px 12px; border: 0; border-radius: 9px;
  background: transparent; color: #c2c8ce; font: inherit; text-align: left; cursor: pointer; }
.dock__sheet button:active { background: var(--panel-hover); }
.dock__sheet b { font-size: 13.5px; font-weight: 650; }
.dock__sheet small { color: var(--dim); font-size: 11px; }
.dock__sheet button.is-lead { border: 1px solid var(--line-gold);
  background: linear-gradient(135deg, rgba(213, 184, 117, .16), rgba(169, 31, 43, .1)); }
.dock__sheet button.is-lead b { color: var(--gold-bright); }
.dock__sheet button[disabled] { opacity: .4; cursor: default; }

/* Real play carries the red; it is the only coloured key on the bar. */
.dock__pop[data-pop="enter"] { border-radius: 12px;
  background: linear-gradient(150deg, rgba(169, 31, 43, .9), rgba(94, 16, 24, .92)); }
.dock__pop[data-pop="enter"] > .dock__btn { color: #ffeccb; }
.dock__pop[data-pop="enter"] > .dock__btn svg { color: #ffe9b8; }

/* Sheet rows in the same shape as the website's: an icon tile, then two lines. */
.dock__sheet button { display: flex; align-items: center; gap: 11px; }
.dock__sheet button i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto;
  border: 1px solid var(--line); border-radius: 10px; background: rgba(0, 0, 0, .35); color: var(--gold); }
.dock__sheet button i svg { width: 18px; height: 18px; }
.dock__sheet button > span { display: grid; gap: 1px; min-width: 0; }
.dock__sheet button.is-lead i { border-color: var(--line-gold); color: var(--gold-bright); }

/* --- 2026 immersive app system ---------------------------------------------------------- */
body { background:
  radial-gradient(900px 520px at 50% -160px, color-mix(in srgb, var(--gold) 16%, transparent), transparent 65%),
  radial-gradient(700px 480px at -12% 34%, rgba(169,31,43,.12), transparent 68%), var(--bg); }
.top { background: rgba(8,10,13,.78); backdrop-filter: blur(22px) saturate(135%); }
.panel { background: linear-gradient(145deg, rgba(22,27,34,.82), rgba(8,10,13,.9)); backdrop-filter: blur(18px); }

.home-hero { min-height: 430px; border-radius: 32px; }
.home-hero__slides,.home-hero__slide { position:absolute; inset:0; width:100%; height:100%; }
.home-hero__slides { z-index:-2; }
.home-hero__slide { object-fit:cover; object-position:center; opacity:0; filter:saturate(.93); animation:none; transition:opacity .85s ease; }
.home-hero__slide.is-current { opacity:1; }
.home-hero__slide.is-single { opacity:1; animation:none; }
@keyframes heroCrossfade { 0%,30%{opacity:1;transform:scale(1)} 36%,94%{opacity:0;transform:scale(1.05)} 100%{opacity:1;transform:scale(1)} }
.home-hero::before { background:linear-gradient(90deg,rgba(4,6,9,.98) 0%,rgba(4,6,9,.86) 43%,rgba(4,6,9,.18) 78%),linear-gradient(0deg,rgba(4,6,9,.92),transparent 62%); }
.home-hero__content { min-height:430px; width:min(72%,480px); padding:24px; }
.home-hero__eyebrow { margin-top:46px; }
.home-hero__lead { max-width:360px; font-size:14px; }
.home-hero__dots { display:flex; gap:6px; margin-top:18px; }
.home-hero__dots i { width:18px; height:3px; border-radius:99px; background:rgba(255,255,255,.25); animation:dotPulse 18s infinite; }
.home-hero__dots i:nth-child(2){animation-delay:6s}.home-hero__dots i:nth-child(3){animation-delay:12s}
@keyframes dotPulse { 0%,30%{width:34px;background:var(--gold-bright)} 36%,94%{width:18px;background:rgba(255,255,255,.25)} 100%{width:34px;background:var(--gold-bright)} }

.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:14px; }
.section-head small { color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.2em; }
.section-head h2 { margin:2px 0 0; font-size:21px; letter-spacing:-.025em; }
.section-head button { padding:7px 10px; border:1px solid var(--line); border-radius:99px; color:var(--gold-bright); background:rgba(0,0,0,.24); font:inherit; font-size:10px; }
.game-showcase--cinematic { padding:14px; overflow:hidden; }
.game-grid--poster { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.game-grid--poster .game-tile { position:relative; display:block; min-height:205px; padding:0; overflow:hidden; border-radius:18px; background:#07090c; text-align:left; }
.game-grid--poster .game-tile>img { width:100%; height:100%; min-height:205px; object-fit:cover; }
.game-grid--poster .game-tile>span:last-child { position:absolute; inset:auto 0 0; display:grid; padding:32px 10px 10px; background:linear-gradient(transparent,rgba(0,0,0,.95)); }
.game-grid--poster .game-tile b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.game-grid--poster .game-tile small { color:rgba(255,255,255,.68); font-size:7px; }
.game-grid--poster .game-tile__rank { position:absolute; z-index:2; top:8px; left:8px; width:auto; padding:3px 6px; border:1px solid rgba(255,255,255,.2); border-radius:7px; background:rgba(5,7,10,.75); backdrop-filter:blur(8px); font-size:8px; }

.game-nav { position:sticky; top:0; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:-8px -4px 14px; padding:5px; border:1px solid var(--line); border-radius:16px; background:rgba(7,9,12,.82); backdrop-filter:blur(18px); }
.game-nav button { min-height:38px; border:0; border-radius:11px; color:var(--muted); background:transparent; font:inherit; font-size:11px; }
.game-nav button.is-on { color:#17120a; background:linear-gradient(135deg,var(--gold-bright),var(--gold)); font-weight:800; box-shadow:0 8px 24px rgba(0,0,0,.3); }
.game-center-hero,.leader-hero { position:relative; min-height:290px; margin-bottom:12px; overflow:hidden; border:1px solid var(--line-gold); border-radius:28px; background:#090b0f; }
.game-center-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.game-center-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,7,10,.98),rgba(5,7,10,.15) 75%); }
.game-center-hero>div { position:absolute; z-index:1; inset:auto 20px 18px; }
.game-center-hero small,.leader-hero small,.vote-hero>small { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.2em; }
.game-center-hero h2,.leader-hero h2 { margin:3px 0; font-size:30px; }
.game-center-hero p,.leader-hero p { max-width:480px; margin:0; color:rgba(255,255,255,.7); font-size:11px; }
.game-center-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.game-center-actions button { display:grid; gap:4px; min-height:116px; padding:14px; border:1px solid var(--line); border-radius:20px; color:var(--text); background:linear-gradient(145deg,rgba(25,31,40,.88),rgba(8,10,13,.9)); font:inherit; text-align:left; }
.game-center-actions span { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.18em; }.game-center-actions b{font-size:13px}.game-center-actions small{color:var(--dim);font-size:9px;line-height:1.45}
.game-library__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.game-library__grid button { display:flex; align-items:center; gap:10px; min-width:0; padding:9px; border:1px solid var(--line); border-radius:16px; color:var(--text); background:rgba(0,0,0,.22); font:inherit; text-align:left; }
.game-library__grid img { width:62px; height:62px; flex:0 0 auto; border-radius:14px; object-fit:cover; }.game-library__grid span{display:grid;min-width:0;flex:1}.game-library__grid b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.game-library__grid small{color:var(--dim);font-size:7px}.game-library__grid i{color:var(--gold);font-style:normal}

.leader-hero { display:flex; align-items:center; gap:18px; min-height:210px; padding:20px; background:radial-gradient(circle at 15% 50%,rgba(213,184,117,.22),transparent 35%),linear-gradient(145deg,#171c24,#07090c); }
.leader-hero>img { width:150px; height:150px; border-radius:28px; object-fit:cover; box-shadow:0 22px 45px #0009; transform:rotate(-3deg); }
.leader-hero>div { flex:1; }.leader-hero button{margin-top:14px;padding:9px 13px;border:1px solid var(--line-gold);border-radius:10px;color:#17120a;background:var(--gold);font:inherit;font-size:10px;font-weight:800}
.leaderboard { padding:10px; }.leader-row { display:flex; align-items:center; gap:10px; padding:10px; border-bottom:1px solid var(--line); }.leader-row:last-child{border:0}.leader-row>strong{width:24px;color:var(--gold);font-size:13px}.leader-row>img{width:52px;height:52px;border-radius:13px;object-fit:cover}.leader-row>span{display:grid;gap:2px;min-width:0;flex:1}.leader-row b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.leader-row small{color:var(--dim);font-size:8px}.leader-row span>i{height:3px;margin-top:4px;overflow:hidden;border-radius:9px;background:#ffffff0c}.leader-row span>i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-bright))}.leader-row>em{color:var(--success);font-size:11px;font-style:normal;font-weight:800}.leader-row>button{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;color:var(--gold);background:rgba(0,0,0,.25)}
.vote-hero { margin-bottom:12px; padding:24px; overflow:hidden; border:1px solid var(--line-gold); border-radius:26px; background:radial-gradient(circle at 90% 10%,rgba(213,184,117,.22),transparent 40%),linear-gradient(145deg,#181e27,#080a0d); }.vote-hero h2{margin:3px 0}.vote-hero strong{display:block;color:var(--gold-bright);font-size:54px;line-height:1}.vote-hero p{margin:6px 0 0;color:var(--muted);font-size:10px}.rtp-disclaimer{padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--dim);background:rgba(0,0,0,.18);font-size:9px;line-height:1.6}
.sports-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; padding:24px; overflow:hidden; border:1px solid rgba(80,182,255,.28); border-radius:28px; background:radial-gradient(circle at 85% 8%,rgba(46,157,255,.28),transparent 36%),linear-gradient(145deg,#111c2a,#07090d 68%); box-shadow:0 22px 55px #0007; }.sports-hero small{color:#64c7ff;font-size:9px;font-weight:800;letter-spacing:.2em}.sports-hero h2{margin:4px 0 2px;font-size:30px}.sports-hero p{max-width:360px;margin:0;color:var(--muted);font-size:10px}.sports-hero>span{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:99px;color:var(--dim);font-size:8px;font-weight:800}.sports-hero>span i{width:6px;height:6px;border-radius:50%;background:#68717c}.sports-hero>span.is-live{border-color:#f14f5d55;color:#ff8b94}.sports-hero>span.is-live i{background:#f14f5d;box-shadow:0 0 12px #f14f5d;animation:livePulse 1.2s ease-in-out infinite}@keyframes livePulse{50%{opacity:.35}}
.sports-filter{display:flex;justify-content:space-between;gap:12px;margin:14px 3px 9px}.sports-filter b{font-size:13px}.sports-filter small{color:var(--dim);font-size:9px}.match-list{display:grid;gap:9px}.match-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(25,32,43,.9),rgba(8,10,14,.96));box-shadow:0 12px 30px #0005}.match-card.is-live{border-color:rgba(241,79,93,.34);box-shadow:0 0 0 1px rgba(241,79,93,.05),0 18px 42px #0008}.match-card header{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--dim);font-size:8px}.match-card header em{color:var(--gold);font-style:normal;font-weight:800}.match-card.is-live header em{color:#ff7d88}.match-card__teams{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:10px;padding:16px 12px}.match-card__teams>div{display:grid;justify-items:center;gap:6px;text-align:center}.match-card__teams>div i{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(100,199,255,.25);border-radius:16px;color:#8dd7ff;background:linear-gradient(145deg,rgba(50,137,204,.22),rgba(0,0,0,.28));font-size:10px;font-style:normal;font-weight:900}.match-card__teams b{font-size:11px;line-height:1.25}.match-card__teams>strong{display:grid;justify-items:center;gap:2px}.match-card__teams>strong small{color:var(--dim);font-size:7px;letter-spacing:.12em}.match-card__teams>strong span{font-size:24px;white-space:nowrap}.match-card__teams>strong u{color:var(--dim);text-decoration:none}.match-card footer{padding:7px 12px;border-top:1px solid var(--line);color:var(--dim);font-size:8px;text-align:center}.sports-empty{display:grid;justify-items:center;gap:6px;padding:38px 20px;border:1px dashed var(--line);border-radius:22px;color:var(--muted);text-align:center}.sports-empty i{font-size:34px;font-style:normal}.sports-empty b{font-size:13px}.sports-empty p{margin:0;color:var(--dim);font-size:9px}.match-stats{display:grid;gap:5px;margin:0 12px 12px;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.22)}.match-stats span{display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;text-align:center}.match-stats b{font-size:10px}.match-stats small{color:var(--dim);font-size:7px}

.analysis-hero{display:flex;align-items:center;gap:20px;padding:20px;overflow:hidden;border:1px solid var(--line-gold);border-radius:28px;background:radial-gradient(circle at 12% 50%,rgba(213,184,117,.2),transparent 34%),linear-gradient(145deg,#1a2029,#07090c);box-shadow:0 20px 50px #0007}.analysis-hero>img{width:150px;height:150px;flex:0 0 auto;border-radius:30px;object-fit:cover;box-shadow:0 22px 46px #0009;transform:rotate(-3deg)}.analysis-hero>div{min-width:0}.analysis-hero small{color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.15em}.analysis-hero h2{margin:4px 0;font-size:28px;line-height:1.1}.analysis-hero p{margin:0;color:var(--muted);font-size:10px}.analysis-hero button{margin-top:14px;padding:9px 14px;border:1px solid var(--line-gold);border-radius:11px;color:#17120a;background:linear-gradient(135deg,var(--gold-bright),var(--gold));font:inherit;font-size:10px;font-weight:800}.analysis-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.analysis-kpis article{display:grid;gap:2px;padding:13px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(24,30,39,.9),rgba(8,10,13,.92))}.analysis-kpis small{color:var(--dim);font-size:7px;letter-spacing:.1em}.analysis-kpis b{font-size:19px}.analysis-kpis span{color:var(--gold);font-size:7px}.analysis-chart{padding:16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,rgba(20,26,35,.94),rgba(7,9,12,.97));box-shadow:0 18px 42px #0005}.analysis-chart header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analysis-chart header small{color:var(--gold);font-size:8px;font-weight:800;letter-spacing:.16em}.analysis-chart h3{margin:3px 0;font-size:24px}.analysis-chart header em{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--line);border-radius:99px;color:var(--dim);font-size:6px;font-style:normal;font-weight:800}.analysis-chart header em i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.analysis-chart header em.is-live{color:var(--success);border-color:#79d6aa44}.analysis-chart header em.is-live i{background:var(--success);box-shadow:0 0 10px var(--success)}.analysis-chart__plot{display:grid;align-items:end;height:150px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 30px}.analysis-chart__plot .rtp-spark{width:100%;height:120px}.analysis-chart footer{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:var(--dim);font-size:8px}.analysis-popularity{margin-top:10px;padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(14,18,24,.86)}.analysis-popularity>span{display:grid;grid-template-columns:70px 1fr 42px;align-items:center;gap:10px;margin-top:10px}.analysis-popularity>span small{color:var(--muted);font-size:9px}.analysis-popularity>span i{height:7px;overflow:hidden;border-radius:99px;background:#ffffff0b}.analysis-popularity>span i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 12px rgba(213,184,117,.4)}.analysis-popularity>span b{text-align:right;font-size:10px}

/* --- LINE Quest / procedural Three.js mission table ------------------------------------ */
.quest-feature{position:relative;isolation:isolate;display:grid;width:100%;min-height:178px;margin:12px 0;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 50%,#31d7ff 24%);border-radius:26px;color:#fff;background:#050813;box-shadow:0 24px 60px #0009,inset 0 1px #ffffff18;font:inherit;text-align:left;cursor:pointer}
.quest-feature:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(3,6,14,.98) 0%,rgba(3,6,14,.8) 48%,rgba(3,6,14,.12) 100%),linear-gradient(0deg,rgba(3,6,14,.88),transparent 68%)}
.quest-feature>img{position:absolute;inset:-38% 0 auto;width:100%;height:auto;filter:saturate(1.08) contrast(1.05);object-fit:cover}.quest-feature__scan{position:absolute;z-index:2;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(49,215,255,.13) 47%,transparent 58%);translate:-110% 0;animation:questScan 4.2s ease-in-out infinite}@keyframes questScan{55%,100%{translate:125% 0}}
.quest-feature__copy{position:relative;z-index:3;align-self:center;display:grid;gap:2px;padding:22px;max-width:68%}.quest-feature__copy small{color:var(--gold-bright);font-size:8px;font-weight:900;letter-spacing:.22em}.quest-feature__copy b{font-size:29px;letter-spacing:-.045em}.quest-feature__copy em{color:rgba(255,255,255,.66);font-size:10px;font-style:normal}.quest-feature__go{position:absolute;z-index:3;right:16px;bottom:14px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffff24;border-radius:99px;background:#03071099;backdrop-filter:blur(12px);color:#fff;font-size:9px;font-weight:800}.quest-feature__go i{color:var(--gold);font-size:16px;font-style:normal}

.line-quest{position:relative;isolation:isolate;min-height:min(800px,calc(100dvh - 88px));margin:-16px -16px 14px;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--gold) 44%,var(--quest-glow) 25%);background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--quest-glow) 25%,#091226) 0,#07101f 32%,#03050c 72%);box-shadow:inset 0 -80px 100px #02040a}.line-quest:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#02050aaa,transparent 24%,transparent 70%,#02040af5),radial-gradient(circle at 50% 52%,transparent 20%,#02040a99 78%);pointer-events:none}
.line-quest__world{position:absolute;z-index:-2;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,#183e78,#050916 66%)}.line-quest__world>img,.line-quest__world>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.line-quest__world>img{object-fit:cover;object-position:center;opacity:1;transition:opacity .5s ease}.line-quest__world>canvas{opacity:0;transition:opacity .45s ease;touch-action:none}.line-quest__world[data-webgl="ready"]>img{opacity:0}.line-quest__world[data-webgl="ready"]>canvas{opacity:1}.line-quest__world[data-webgl="lost"]>canvas,.line-quest__world[data-webgl="fallback"]>canvas{opacity:0}
.line-quest__grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(var(--quest-glow) 1px,transparent 1px),linear-gradient(90deg,var(--quest-glow) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(transparent 25%,#000 58%,transparent 92%);transform:perspective(500px) rotateX(64deg) scale(1.5);transform-origin:50% 72%;pointer-events:none}
.line-quest__top{position:absolute;z-index:2;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.line-quest__top span,.line-quest__top>b{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #ffffff1f;border-radius:99px;background:#050913aa;backdrop-filter:blur(14px);font-size:8px;letter-spacing:.13em}.line-quest__top span{color:#b9edff}.line-quest__top span i{width:6px;height:6px;border-radius:50%;background:#47f2bd;box-shadow:0 0 12px #47f2bd}.line-quest__top>b{color:var(--gold-bright);font-size:10px}
.line-quest__title{position:absolute;z-index:2;top:62px;left:0;right:0;text-align:center;text-shadow:0 4px 24px #000}.line-quest__title small{color:var(--quest-glow);font-size:8px;font-weight:900;letter-spacing:.28em}.line-quest__title h2{margin:3px 0 0;font-size:34px;line-height:1;letter-spacing:-.055em;background:linear-gradient(180deg,#fff 10%,#b8eaff 48%,var(--quest-glow));-webkit-background-clip:text;background-clip:text;color:transparent}.line-quest__title p{margin:7px 0 0;color:#dce8f6b5;font-size:9px}
.quest-seat{position:absolute;z-index:3;display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid #55dcff70;border-radius:50%;color:#e8fbff;background:radial-gradient(circle,#173e72,#071225 68%);box-shadow:0 0 0 7px #071121aa,0 0 30px #20c8ff55,inset 0 0 18px #42d9ff3d;font:inherit;font-size:11px;font-weight:900}.quest-seat:after{content:"";position:absolute;inset:-10px;border:1px dashed #52dbff55;border-radius:50%;animation:questOrbit 8s linear infinite}.quest-seat>i{position:absolute;right:-3px;bottom:1px;width:13px;height:13px;border:2px solid #071020;border-radius:50%;background:#72859d}.quest-seat.is-opened>i{background:#48e2a6;box-shadow:0 0 10px #48e2a6}.quest-seat.is-top{top:153px;left:calc(50% - 29px)}.quest-seat.is-left{top:278px;left:28px}.quest-seat.is-right{top:278px;right:28px}.quest-seat.is-left:after{animation-direction:reverse}@keyframes questOrbit{to{rotate:360deg}}
.quest-stage{position:absolute;z-index:4;top:43%;left:50%;display:grid;place-items:center;width:min(78%,340px);min-height:164px;translate:-50% -50%}.quest-stage:before{content:"";position:absolute;width:118%;height:68%;border:1px solid #50ddff35;border-radius:50%;background:radial-gradient(ellipse,#13b9ff22,transparent 68%);box-shadow:0 0 70px #12b9ff24;transform:perspective(250px) rotateX(62deg)}
.quest-deck{position:relative;display:grid;place-items:center;width:134px;height:166px;padding:0;border:1px solid color-mix(in srgb,var(--gold) 72%,#fff);border-radius:19px;color:#fff;background:linear-gradient(145deg,#15112a,#071b3b 55%,#041123);box-shadow:0 20px 50px #000b,0 0 32px #22cfff2e,inset 0 0 0 4px #ffffff08;font:inherit;cursor:pointer;transform:perspective(500px) rotateX(5deg)}.quest-deck>i{position:absolute;inset:7px;border:1px solid #ffffff14;border-radius:13px}.quest-deck>i:nth-child(2){inset:13px;border-color:#45dcff47}.quest-deck>i:nth-child(3){inset:22px;background:radial-gradient(circle,#59e9ff 0 2px,transparent 3px);background-size:15px 15px;opacity:.22}.quest-deck>span{position:relative;z-index:2;padding:7px 9px;border:1px solid #ffffff1f;border-radius:99px;background:#030711c7;font-size:9px;font-weight:900;letter-spacing:.08em}.quest-deck.is-shuffling{animation:questShuffle .52s ease-in-out infinite alternate;cursor:wait}@keyframes questShuffle{to{translate:0 -12px;rotate:2deg;box-shadow:0 30px 70px #000d,0 0 54px #22cfff66}}
.quest-reveal{position:relative;display:grid;justify-items:center;gap:5px;width:min(100%,310px);padding:18px;border:1px solid #58ddff78;border-radius:24px;background:linear-gradient(145deg,#11264ce8,#070b16f2);box-shadow:0 24px 70px #000b,0 0 55px #1ac8ff35,inset 0 1px #ffffff1f;backdrop-filter:blur(16px);animation:questReveal .46s cubic-bezier(.17,.85,.27,1.28)}@keyframes questReveal{from{opacity:0;scale:.72;translate:0 22px}}.quest-reveal small{color:var(--quest-glow);font-size:7px;font-weight:900;letter-spacing:.2em}.quest-reveal strong{max-width:100%;overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.quest-reveal>b{color:#b8c8dc;font-size:11px}.quest-reveal button{margin-top:7px;padding:10px 16px;border:0;border-radius:12px;color:#071019;background:linear-gradient(135deg,#eafcff,var(--quest-glow));box-shadow:0 9px 26px #1fd6ff4d;font:inherit;font-size:10px;font-weight:900}.quest-reveal button i{font-style:normal}
.quest-player{position:absolute;z-index:3;bottom:150px;left:50%;display:grid;justify-items:center;gap:1px;translate:-50% 0}.quest-player>span{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--line-gold);border-radius:19px;color:#19120a;background:linear-gradient(145deg,var(--gold-bright),var(--gold));box-shadow:0 0 0 7px #070a12aa,0 0 38px color-mix(in srgb,var(--gold) 48%,transparent)}.quest-player svg{width:25px;height:25px}.quest-player b{margin-top:7px;font-size:10px}.quest-player small{color:#8e9bad;font-size:6px;letter-spacing:.16em}
.quest-progress{position:absolute;z-index:3;right:20px;bottom:132px;left:20px;display:flex;justify-content:center;gap:5px}.quest-progress i{width:22px;height:3px;border-radius:99px;background:#ffffff1c}.quest-progress i.is-on{background:linear-gradient(90deg,var(--quest-glow),#72ffd2);box-shadow:0 0 8px #42dfff}
.quest-actions{position:absolute;z-index:5;right:16px;bottom:20px;left:16px;display:grid;grid-template-columns:1fr auto;gap:8px}.quest-actions button{min-height:48px;padding:0 16px;border:1px solid #ffffff1c;border-radius:14px;color:#dce8f6;background:#09101dc9;backdrop-filter:blur(16px);font:inherit;font-size:10px;font-weight:800}.quest-actions button:first-child{border-color:#42dfff88;color:#041018;background:linear-gradient(135deg,#e6fbff,var(--quest-glow));box-shadow:0 12px 32px #0fbce849}.quest-actions button:disabled{opacity:.62}
.quest-history{padding:4px 0 8px}.quest-history>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quest-history>div>button{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:linear-gradient(145deg,rgba(23,31,44,.86),rgba(7,10,15,.95));font:inherit;text-align:left}.quest-history>div>button>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid #50dcff66;border-radius:12px;color:#aeeeff;background:#0b2548;font-size:9px;font-weight:900}.quest-history>div>button>b{display:grid;min-width:0;flex:1;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.quest-history>div>button small{overflow:hidden;color:var(--dim);font-size:8px;font-weight:400;text-overflow:ellipsis}.quest-history>div>button>i{color:var(--quest-glow);font-style:normal}

/* Login/register portal: the app is frozen; only the embedded provider page scrolls. */
:root[data-portal="open"],:root[data-portal="open"] body { overflow:hidden; height:100%; }
.portal { position:fixed; inset:0; z-index:120; display:flex; flex-direction:column; background:#05070a; opacity:0; transition:opacity .2s ease; }
:root[data-portal="open"] .portal { opacity:1; }
.portal__bar { display:flex; align-items:center; gap:12px; min-height:64px; padding:calc(8px + env(safe-area-inset-top)) 12px 8px; border-bottom:1px solid var(--line); background:rgba(9,11,15,.94); backdrop-filter:blur(22px); }
.portal__bar>div { display:grid; flex:1; }.portal__bar small{color:var(--gold);font-size:7px;font-weight:800;letter-spacing:.18em}.portal__bar b{font-size:14px}.portal__external{padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--gold-bright);background:transparent;font:inherit;font-size:9px}.portal iframe{display:block;width:100%;height:100%;min-height:0;flex:1;border:0;background:#fff}.portal__loading{position:absolute;z-index:2;inset:64px 0 0;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted);background:#080a0d;font-size:11px}.portal__loading i{width:32px;height:32px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{rotate:360deg}}

@media(max-width:560px){
  .home-hero{min-height:390px}.home-hero__content{min-height:390px;width:88%;padding:18px}.home-hero__lead{font-size:12px}
  .game-grid--poster{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid--poster .game-tile,.game-grid--poster .game-tile>img{min-height:190px}
  .game-center-actions{grid-template-columns:1fr}.game-center-actions button{display:grid;grid-template-columns:36px 1fr;min-height:0}.game-center-actions span{grid-row:1/3}.game-center-actions small{grid-column:2}
  .game-library__grid{grid-template-columns:1fr}.leader-hero{align-items:flex-end;min-height:280px}.leader-hero>img{position:absolute;top:18px;right:18px;width:132px;height:132px;opacity:.72}.leader-hero>div{position:relative;z-index:1;max-width:72%}
  .analysis-hero{min-height:260px;align-items:flex-end}.analysis-hero>img{position:absolute;top:18px;right:18px;width:132px;height:132px;opacity:.72}.analysis-hero>div{position:relative;z-index:1;max-width:72%}.analysis-kpis{grid-template-columns:1fr}.analysis-kpis article{grid-template-columns:1fr auto}.analysis-kpis b{grid-row:1/3;grid-column:2}.analysis-chart__plot{height:130px}
  .quest-history>div:last-child{grid-template-columns:1fr}.line-quest{min-height:calc(100dvh - 64px)}
}
@media(prefers-reduced-motion:reduce){.home-hero__slide,.home-hero__dots i,.quest-feature__scan,.quest-seat:after,.quest-deck.is-shuffling{animation:none}.home-hero__slide:first-child{opacity:1}}

/* --- 2026-11 approved luxury-minimal home ----------------------------------------------- */
.home-hero{min-height:320px;margin:14px 0;border-color:rgba(213,184,117,.22);border-radius:27px;box-shadow:0 22px 58px #0008}
.home-hero__content{min-height:320px;width:min(76%,500px);padding:20px}
.home-hero__eyebrow{margin-top:30px;color:var(--gold-bright);font-size:8px}
.home-hero h1{max-width:440px;font-size:clamp(28px,7vw,43px)}
.home-hero__lead{max-width:390px;margin:8px 0 13px;font-size:12px}
.home-hero__cta{min-width:176px;min-height:44px;border-radius:99px}
.home-hero__note{max-width:330px;margin-top:7px;font-size:9px}
.home-hero__dots{margin-top:11px}
.home-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(24,28,34,.92),rgba(10,12,16,.96));box-shadow:0 16px 34px #0005}
.home-quick button{display:grid;justify-items:center;gap:5px;min-width:0;min-height:82px;padding:12px 5px;border:0;border-right:1px solid var(--line);color:var(--muted);background:transparent;font:inherit;cursor:pointer}.home-quick button:last-child{border-right:0}.home-quick button:active{background:#ffffff09}.home-quick button:disabled{opacity:.38}.home-quick span{display:grid;place-items:center;width:30px;height:30px;color:var(--gold-bright)}.home-quick svg{width:24px;height:24px}.home-quick b{overflow:hidden;max-width:100%;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.home-section{margin:20px 0}.home-section .section-head{margin:0 2px 11px}.home-section .section-head h2{font-size:22px}
.quest-feature{min-height:192px;margin:14px 0 24px;border-color:rgba(71,212,255,.26);border-radius:26px;background:#05070b;box-shadow:0 22px 48px #0008,inset 0 1px #ffffff12}
.quest-feature:before{background:linear-gradient(90deg,#05070b 0%,rgba(5,7,11,.94) 41%,rgba(5,7,11,.36) 76%,rgba(5,7,11,.18)),linear-gradient(0deg,rgba(5,7,11,.88),transparent 58%)}
.quest-feature>img{inset:-88% -7% auto auto;width:72%;opacity:.78;filter:saturate(.9) contrast(1.05)}
.quest-feature__cast{position:absolute;z-index:2;right:1%;bottom:-4px;width:58%;height:100%;overflow:hidden;pointer-events:none}.quest-feature__cast img{position:absolute;right:calc(var(--cast) * 15% - 2%);bottom:-7%;width:32%;height:86%;object-fit:cover;object-position:50% 18%;border-radius:18px;filter:saturate(.83) contrast(1.03);mask-image:linear-gradient(#000 58%,transparent 100%);opacity:calc(1 - var(--cast) * .08)}
.quest-feature__copy{max-width:58%;padding:21px}.quest-feature__copy b{font-size:30px}.quest-feature__copy em{font-size:9px}.quest-feature__copy u{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--gold-bright);font-size:10px;font-weight:800;text-decoration:none}.quest-feature__copy u:after{content:"";width:92px;height:5px;border-radius:99px;background:linear-gradient(90deg,var(--quest-glow) 0 var(--progress),#ffffff18 var(--progress));box-shadow:0 0 12px color-mix(in srgb,var(--quest-glow) 36%,transparent)}.quest-feature__copy u i{display:none}.quest-feature__go{right:13px;bottom:12px;border-color:rgba(213,184,117,.24);background:rgba(7,9,13,.78)}
.game-showcase--cinematic{padding:0;overflow:visible;background:none;backdrop-filter:none;box-shadow:none}.home-game-rail{display:flex;gap:11px;overflow-x:auto;padding:0 2px 7px;scroll-snap-type:x mandatory;scrollbar-width:none}.home-game-rail::-webkit-scrollbar{display:none}.game-grid--poster.home-game-rail .game-tile{min-width:clamp(142px,39vw,205px);min-height:174px;scroll-snap-align:start;border:1px solid var(--line);border-radius:22px;background:#090b0e}.game-grid--poster.home-game-rail .game-tile>img{min-height:174px}.game-grid--poster.home-game-rail .game-tile>span:last-child{padding:42px 10px 10px}.game-grid--poster.home-game-rail .game-tile b{font-size:10px}
.home-intel{margin-bottom:12px}.home-intel__rail{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(22,26,32,.9),rgba(8,10,13,.95))}.home-intel__rail button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:66px;padding:9px 6px;border:0;border-right:1px solid var(--line);color:var(--muted);background:transparent;font:inherit;font-size:9px}.home-intel__rail button:last-child{border-right:0}.home-intel__rail button.is-on{color:#19130b;background:linear-gradient(135deg,var(--gold-bright),#b98e46)}.home-intel__rail svg{width:19px;height:19px}.home-intel__rail b{font-weight:700}

/* Freeze the page behind a full-screen sheet; this removes the second scrollbar. */
:root[data-sheet="open"],:root[data-sheet="open"] body{height:100%;overflow:hidden}
.sheet__body{scrollbar-gutter:auto}

/* --- approved LINE Quest game flow ------------------------------------------------------ */
.line-quest{min-height:min(860px,calc(100dvh - 62px));background:#03050b}
.line-quest__world>img{filter:saturate(.82) brightness(.72)}
.quest-hud{position:absolute;z-index:4;top:51px;right:14px;left:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quest-hud>span{display:grid;grid-template-columns:1fr auto;align-items:end;padding:8px 10px;border:1px solid #ffffff16;border-radius:12px;background:rgba(5,9,18,.76);box-shadow:inset 0 1px #ffffff0d;backdrop-filter:blur(14px)}.quest-hud small{color:#8291a7;font-size:6px;font-weight:900;letter-spacing:.13em}.quest-hud b{color:#f3f7ff;font-size:13px;line-height:1}.quest-hud>span:nth-child(2) b{color:var(--gold-bright)}.quest-hud>span:nth-child(3) b{color:var(--quest-glow)}
.line-quest__title{top:104px}.line-quest__title h2{font-size:32px}.line-quest__title p{margin-top:5px}
.quest-seat{width:70px;height:88px;overflow:visible;border-radius:19px;background:#07101d;box-shadow:0 0 0 5px #050914c9,0 14px 34px #000b,0 0 24px #20c8ff2d}.quest-seat:after{inset:-6px;border-radius:23px}.quest-seat>img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:50% 18%;filter:saturate(.82) contrast(1.05)}.quest-seat>span{position:absolute;right:5px;bottom:5px;left:5px;overflow:hidden;padding:3px 4px;border-radius:7px;color:#eaf8ff;background:#030712c9;font-size:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(7px)}.quest-seat>i{right:-3px;bottom:4px}.quest-seat.is-top{top:158px;left:calc(50% - 35px)}.quest-seat.is-left{top:250px;left:17px}.quest-seat.is-right{top:250px;right:17px}
.quest-stage{top:49%;width:min(72%,330px);min-height:180px}.quest-stage:before{width:126%;height:78%}
.quest-hand{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;perspective:700px}.quest-hand>span{position:relative;display:grid;place-items:center;width:70px;height:104px;border:1px solid #ffffff1a;border-radius:14px;background:linear-gradient(145deg,#10162b,#060b18);box-shadow:0 18px 36px #000b,inset 0 0 0 3px #ffffff06;transform:translateY(9px) rotateY(180deg);transition:.42s cubic-bezier(.2,.8,.2,1)}.quest-hand>span:nth-child(1){rotate:-7deg}.quest-hand>span:nth-child(3){rotate:7deg}.quest-hand>span.is-open{border-color:color-mix(in srgb,var(--gold) 60%,var(--quest-glow));transform:translateY(-5px) rotateY(0)}.quest-hand i{display:grid;place-items:center;width:44px;height:44px;border:1px solid #45ddff48;border-radius:14px;color:var(--gold-bright);background:radial-gradient(circle,#143058,#081325);font-size:12px;font-style:normal;font-weight:900}.quest-hand b{position:absolute;bottom:7px;color:#8796aa;font-size:7px;letter-spacing:.15em}
.quest-reveal{width:min(100%,300px);padding:17px;border-color:color-mix(in srgb,var(--gold) 58%,var(--quest-glow));background:linear-gradient(145deg,rgba(25,31,48,.94),rgba(5,8,15,.97))}.quest-reveal>span{color:var(--gold-bright);font-size:9px}
.quest-player{bottom:112px}.quest-player>span{width:68px;height:82px;overflow:hidden;border-radius:19px;background:#111}.quest-player>span img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:saturate(.82)}.quest-player b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-progress{bottom:93px}
.quest-actions{bottom:14px;grid-template-columns:1fr auto}.quest-actions.has-three{grid-template-columns:repeat(3,1fr)}.quest-control{position:relative;display:grid!important;place-content:center;justify-items:center;gap:1px;min-height:62px!important;padding:5px 9px!important;overflow:hidden;border-radius:16px!important;box-shadow:0 12px 30px #0008,inset 0 1px #ffffff14}.quest-control b{font-size:12px}.quest-control small{font-size:7px;opacity:.7}.quest-control svg{width:17px;height:17px}.quest-control.is-draw,.quest-control.is-primary{border-color:#45d9ff66!important;color:#03101a!important;background:linear-gradient(145deg,#dffaff,#55dfff 58%,#22a4cc)!important}.quest-control.is-pass,.quest-control.is-secondary{border-color:var(--line-gold)!important;color:#f6e6bd!important;background:linear-gradient(145deg,#2b251b,#15120e)!important}.quest-control.is-combo{border-color:#ef4e8477!important;color:#ffe6f0!important;background:linear-gradient(145deg,#781d48,#250918)!important}.quest-control.is-wide{min-width:0}.quest-control:disabled{filter:grayscale(.8);opacity:.42!important}

@media(max-width:560px){
  .home-hero,.home-hero__content{min-height:300px}.home-hero__content{width:83%;padding:17px}.home-hero__eyebrow{margin-top:26px}.home-hero h1{font-size:28px}.home-hero__lead{font-size:10px}.home-hero__note{font-size:8px}
  .home-quick button{min-height:74px}.home-quick b{font-size:9px}
  .quest-feature{min-height:178px}.quest-feature__copy{padding:18px;max-width:62%}.quest-feature__copy b{font-size:25px}.quest-feature__cast{width:62%;opacity:.84}
  .game-grid--poster.home-game-rail{display:flex}.game-grid--poster.home-game-rail .game-tile,.game-grid--poster.home-game-rail .game-tile>img{min-height:168px}
  .home-intel__rail button{min-height:60px;font-size:8px}
  .line-quest{min-height:calc(100dvh - 58px)}
}

/* --- Game Intelligence: official reference data, measured feed only when available ------- */
.rtp-lab--nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.rtp-node{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 76px auto;align-items:center;gap:11px;min-width:0;padding:12px;overflow:hidden;border:1px solid var(--line);border-radius:21px;color:var(--text);background:linear-gradient(145deg,rgba(22,28,37,.93),rgba(7,9,13,.97));box-shadow:0 14px 32px #0006;font:inherit;text-align:left}.rtp-node:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(49,215,255,.1),transparent 36%);pointer-events:none}.rtp-node>img{width:64px;height:64px;border-radius:17px;object-fit:cover;box-shadow:0 10px 22px #0008}.rtp-node__rank{position:absolute;top:6px;left:6px;z-index:2;padding:2px 5px;border-radius:6px;color:#17120a;background:var(--gold-bright);font-size:7px;font-weight:900}.rtp-node__copy{display:grid;min-width:0}.rtp-node__copy small{color:#6fdff3;font-size:6px;font-weight:900;letter-spacing:.13em}.rtp-node__copy b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.rtp-node__copy em{overflow:hidden;color:var(--dim);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.rtp-node__gauge{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:conic-gradient(#4cdef4 calc(var(--rtp) * 1%),#ffffff0e 0);box-shadow:0 0 24px rgba(49,215,255,.15)}.rtp-node__gauge:before{content:"";position:absolute;width:56px;height:56px;border-radius:50%;background:#0a0e14}.rtp-node__gauge i{position:relative;z-index:1;display:grid;justify-items:center;font-style:normal}.rtp-node__gauge small{color:var(--dim);font-size:6px}.rtp-node__gauge b{font-size:11px}.rtp-node>strong{color:var(--gold);font-size:18px}
.intel-hero{position:relative;min-height:270px;overflow:hidden;border:1px solid var(--line-gold);border-radius:28px;background:#090b0f;box-shadow:0 22px 52px #0008}.intel-hero>img{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:center}.intel-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,#07090d 0%,rgba(7,9,13,.97) 34%,rgba(7,9,13,.32) 82%),linear-gradient(0deg,rgba(7,9,13,.74),transparent 58%)}.intel-hero__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:270px;width:64%;padding:22px}.intel-hero__copy>span{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(66,225,205,.25);border-radius:99px;color:#6fe3d1;background:#071514a8;font-size:7px;font-weight:900;letter-spacing:.13em}.intel-hero__copy>span i{width:5px;height:5px;border-radius:50%;background:#58e6d1;box-shadow:0 0 9px #58e6d1}.intel-hero__copy>small{margin-top:auto;color:var(--gold);font-size:7px;font-weight:900;letter-spacing:.13em}.intel-hero__copy h2{max-width:390px;margin:5px 0 3px;font-size:clamp(28px,7vw,44px);line-height:1.02}.intel-hero__copy button{margin-top:12px;padding:8px 11px;border:1px solid var(--line);border-radius:99px;color:var(--gold-bright);background:#07090db8;font:inherit;font-size:8px}
.intel-console{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:12px;margin-top:12px}.intel-gauge{display:grid;place-items:center;min-height:230px;border:1px solid rgba(67,219,245,.26);border-radius:26px;background:radial-gradient(circle,rgba(39,200,240,.17),transparent 54%),linear-gradient(145deg,#101822,#07090d);box-shadow:0 18px 42px #0007}.intel-gauge:before{content:"";grid-area:1/1;width:176px;height:176px;border-radius:50%;background:conic-gradient(#53e3f4 calc(var(--rtp) * 1%),rgba(255,255,255,.08) 0);filter:drop-shadow(0 0 14px rgba(83,227,244,.28))}.intel-gauge:after{content:"";grid-area:1/1;width:153px;height:153px;border:1px solid #ffffff15;border-radius:50%;background:radial-gradient(circle,#111c29,#070a0f 72%);box-shadow:inset 0 0 28px rgba(83,227,244,.12)}.intel-gauge>div{position:relative;z-index:2;grid-area:1/1;display:grid;justify-items:center}.intel-gauge small{color:#77dff0;font-size:8px;font-weight:900;letter-spacing:.15em}.intel-gauge strong{font-size:35px;line-height:1}.intel-gauge sup{color:var(--gold);font-size:13px}.intel-gauge span{margin-top:5px;color:var(--dim);font-size:6px;letter-spacing:.12em}.intel-console__metrics{display:grid;gap:10px}.intel-console__metrics article{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(23,29,38,.9),rgba(7,9,13,.96))}.intel-console__metrics article>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-gold);border-radius:14px;color:var(--gold);background:#0004}.intel-console__metrics small{color:var(--dim);font-size:7px;letter-spacing:.12em}.intel-console__metrics b{font-size:20px}
.intel-chart{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(150deg,rgba(19,25,34,.95),rgba(7,9,12,.98));box-shadow:0 18px 42px #0005}.intel-chart header,.intel-chart footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.intel-chart header small{color:var(--gold);font-size:7px;font-weight:900;letter-spacing:.16em}.intel-chart h3{margin:2px 0;font-size:20px}.intel-chart header em{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--line);border-radius:99px;color:var(--dim);font-size:6px;font-style:normal;font-weight:900}.intel-chart header em i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.intel-chart header em.is-live{color:var(--success)}.intel-chart__plot{position:relative;display:grid;place-items:center;height:150px;margin-top:10px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 30px,60px 100%}.intel-chart__plot .rtp-spark{width:100%;height:125px}.intel-chart__plot p{position:absolute;max-width:250px;margin:0;color:var(--dim);font-size:9px;text-align:center}.intel-chart__plot.is-empty .rtp-spark{opacity:.22}.intel-chart footer{margin-top:9px;color:var(--dim);font-size:8px}
.intel-compare{margin-top:16px}.intel-compare>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.intel-compare button{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:17px;color:var(--text);background:#0b0e13;font:inherit;text-align:left}.intel-compare img{width:50px;height:50px;border-radius:13px;object-fit:cover}.intel-compare span{display:grid;min-width:0}.intel-compare b,.intel-compare small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intel-compare b{font-size:9px}.intel-compare small{color:var(--gold);font-size:7px}.intel-compare button>i{color:var(--gold);font-style:normal}.intel-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:12px}.intel-actions button{min-height:50px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:#10141b;font:inherit;font-size:11px;font-weight:800}.intel-actions button:last-child{border-color:var(--line-gold);color:#17120a;background:linear-gradient(135deg,var(--gold-bright),var(--gold))}
@media(max-width:640px){.rtp-lab--nodes{grid-template-columns:1fr}.intel-console{grid-template-columns:1fr}.intel-console__metrics{grid-template-columns:1fr 1fr}.intel-console__metrics article{grid-template-columns:38px 1fr;padding:12px}.intel-console__metrics article>b{grid-column:2}.intel-console__metrics article>span{grid-row:1/3}.intel-compare>div:last-child{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.intel-compare button{min-width:210px;scroll-snap-align:start}.intel-hero>img{width:76%}.intel-hero__copy{width:78%}}

/* --- shared luxury product language ----------------------------------------------------- */
/* One material system for Home, LINE Quest, Game Intelligence, Match Center and every
   utility sheet. Brand builds change the energy colour, not the layout or interaction model. */
:root {
  --brand-energy: #bb2434;
  --brand-energy-rgb: 187, 36, 52;
  --brand-cool: #42d9e8;
  --surface-0: rgba(7, 9, 12, .94);
  --surface-1: rgba(18, 22, 28, .88);
  --surface-2: rgba(27, 31, 38, .72);
  --metal-edge: rgba(236, 212, 148, .22);
  --app-radius: 26px;
}
:root[data-brand="g2g789"] {
  --brand-energy: #8d7440;
  --brand-energy-rgb: 141, 116, 64;
  --brand-cool: #a9c3d4;
  --quest-glow: #d9b95f;
}
:root[data-brand="wiss365"] {
  --brand-energy: #9a5d29;
  --brand-energy-rgb: 154, 93, 41;
  --brand-cool: #79d8c9;
  --quest-glow: #d18b42;
}
body {
  background:
    radial-gradient(780px 460px at 50% -190px, rgba(var(--brand-energy-rgb), .28), transparent 67%),
    radial-gradient(620px 420px at 110% 42%, color-mix(in srgb, var(--brand-cool) 8%, transparent), transparent 69%),
    #06080b;
}
main { padding-top: 10px; padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
.top {
  border-bottom-color: rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(8,10,13,.94), rgba(8,10,13,.76));
  box-shadow: 0 16px 42px rgba(0,0,0,.26);
}
.top::after { content:""; position:absolute; right:15%; bottom:-1px; left:15%; height:1px; background:linear-gradient(90deg,transparent,var(--metal-edge),transparent); }
.top-cta,.button,.home-hero__cta {
  border-color: rgba(255,237,185,.34);
  background: linear-gradient(135deg, #f1d99c 0%, var(--gold) 54%, #ad7e38 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.55), 0 9px 24px rgba(var(--brand-energy-rgb),.18);
}
.panel,.callout,.promo,.channels__list>*,.game-vote-grid article {
  border-color: rgba(255,255,255,.085);
  background: linear-gradient(145deg, var(--surface-1), var(--surface-0));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 18px 44px rgba(0,0,0,.24);
}
.panel,.promo,.callout { border-radius: var(--app-radius); }
.section-head h2,.game-center-hero h2,.leader-hero h2,.sports-hero h2,.analysis-hero h2 { letter-spacing:-.035em; }
.section-head small,.game-nav button.is-on,.rtp-command__head em,.sports-hero small,.intel-chart header small { letter-spacing:.18em; }

/* Editorial Home: the control dock floats across the artwork instead of becoming another card. */
.home-hero { min-height: 348px; margin-top: 2px; border-color: var(--metal-edge); border-radius: 30px; box-shadow: 0 28px 76px rgba(0,0,0,.46); }
.home-hero__content { min-height: 348px; }
.home-hero::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 1px rgba(255,255,255,.12),inset 0 -60px 80px rgba(0,0,0,.25); pointer-events:none; }
.home-quick { position:relative; z-index:4; margin:-28px 18px 22px; border-color:var(--metal-edge); border-radius:24px; background:linear-gradient(145deg,rgba(25,28,34,.88),rgba(7,9,12,.9)); box-shadow:0 24px 54px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(24px) saturate(130%); }
.home-quick button { min-height:78px; }
.home-quick span { color:var(--gold-bright); }
.quest-feature { border-color:color-mix(in srgb,var(--brand-cool) 26%,var(--metal-edge)); background:linear-gradient(135deg,#06080c,#0c1118); box-shadow:0 24px 58px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07); }
.quest-feature__scan { background:linear-gradient(115deg,transparent 24%,color-mix(in srgb,var(--brand-cool) 16%,transparent) 48%,transparent 61%); }
.quest-feature__copy small,.line-quest__top span,.rtp-node__copy small { color:var(--brand-cool); }
.quest-feature__cast img { opacity:.94; }
.game-grid--poster.home-game-rail .game-tile { border-color:rgba(255,255,255,.09); box-shadow:0 14px 34px rgba(0,0,0,.32); }
.home-intel__rail { border-color:var(--metal-edge); background:linear-gradient(145deg,rgba(25,27,32,.86),rgba(7,9,12,.94)); box-shadow:inset 0 1px rgba(255,255,255,.05); }
.home-intel__rail button.is-on { background:linear-gradient(135deg,rgba(234,210,151,.2),rgba(var(--brand-energy-rgb),.22)); color:var(--gold-bright); box-shadow:inset 0 0 0 1px var(--metal-edge); }

/* Every feature opens inside the same centred app surface on wide screens. */
.sheet { justify-content:center; background:rgba(0,0,0,.62); backdrop-filter:blur(10px); }
.sheet__panel { width:min(100%,760px); margin:0 auto; border-right:1px solid rgba(255,255,255,.06); border-left:1px solid rgba(255,255,255,.06); background:radial-gradient(900px 380px at 50% -120px,rgba(var(--brand-energy-rgb),.17),transparent 66%),#07090c; box-shadow:0 0 90px rgba(0,0,0,.7); }
.sheet__bar { border-bottom-color:rgba(255,255,255,.07); background:rgba(8,10,13,.82); backdrop-filter:blur(22px); }
.sheet__bar::after { content:""; position:absolute; right:24%; bottom:0; left:24%; height:1px; background:linear-gradient(90deg,transparent,var(--metal-edge),transparent); }
.sheet__body { padding-bottom:calc(118px + env(safe-area-inset-bottom)); }
.page__note { padding:12px 14px; border:1px solid rgba(255,255,255,.07); border-radius:16px; background:rgba(255,255,255,.025); }
.game-nav { top:4px; border-color:var(--metal-edge); border-radius:20px; background:rgba(8,10,13,.82); box-shadow:0 12px 30px rgba(0,0,0,.24); }
.game-nav button.is-on { color:var(--gold-bright); background:linear-gradient(135deg,rgba(236,212,148,.18),rgba(var(--brand-energy-rgb),.24)); box-shadow:inset 0 0 0 1px var(--metal-edge); }

/* LINE Quest keeps its game identity but now shares the app's metals and energy accents. */
.line-quest { border-color:var(--metal-edge); background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--brand-cool) 18%,#101827),#05070b 66%); }
.line-quest__grid { opacity:.08; background-image:linear-gradient(var(--brand-cool) 1px,transparent 1px),linear-gradient(90deg,var(--brand-cool) 1px,transparent 1px); }
.quest-hud>span,.line-quest__top span,.line-quest__top>b { border-color:rgba(255,255,255,.1); background:rgba(7,10,15,.74); box-shadow:inset 0 1px rgba(255,255,255,.05); }
.quest-hud>span:nth-child(3) b,.line-quest__title small { color:var(--brand-cool); }
.line-quest__title h2 { background:linear-gradient(180deg,#fff 6%,var(--gold-bright) 54%,var(--brand-cool)); -webkit-background-clip:text; background-clip:text; }
.quest-seat { border:1px solid color-mix(in srgb,var(--brand-cool) 32%,var(--metal-edge)); background:#080b11; box-shadow:0 0 0 5px rgba(5,7,10,.82),0 16px 36px rgba(0,0,0,.64),0 0 25px color-mix(in srgb,var(--brand-cool) 16%,transparent); }
.quest-hand>span.is-open,.quest-reveal { border-color:color-mix(in srgb,var(--gold) 62%,var(--brand-cool)); }
.quest-control.is-draw,.quest-control.is-primary { border-color:color-mix(in srgb,var(--brand-cool) 48%,white)!important; color:#071014!important; background:linear-gradient(145deg,#effffd,color-mix(in srgb,var(--brand-cool) 72%,white),var(--brand-cool))!important; }
.quest-control.is-combo { border-color:rgba(var(--brand-energy-rgb),.62)!important; background:linear-gradient(145deg,rgba(var(--brand-energy-rgb),.94),rgba(var(--brand-energy-rgb),.28))!important; }

/* Intelligence and Match Center use the same editorial cards; only status colours vary. */
.rtp-command,.intel-hero,.intel-gauge,.intel-chart,.sports-hero,.analysis-hero { border-color:var(--metal-edge); background:radial-gradient(circle at 88% 9%,rgba(var(--brand-energy-rgb),.18),transparent 36%),linear-gradient(145deg,#151a22,#07090c 72%); box-shadow:0 24px 62px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05); }
.rtp-command__beam { border-color:color-mix(in srgb,var(--brand-cool) 25%,transparent); box-shadow:0 0 0 28px color-mix(in srgb,var(--brand-cool) 3%,transparent),0 0 0 62px color-mix(in srgb,var(--brand-cool) 2%,transparent); }
.rtp-orbit,.rtp-node__gauge,.intel-gauge:before { background:conic-gradient(var(--brand-cool) calc(var(--rtp) * 1%),rgba(255,255,255,.06) 0); }
.rtp-node { border-color:rgba(255,255,255,.085); background:linear-gradient(145deg,var(--surface-1),var(--surface-0)); }
.rtp-node:before { background:radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--brand-cool) 12%,transparent),transparent 36%); }
.rtp-node__gauge { position:relative; }
.intel-chart__plot { border-color:rgba(255,255,255,.075); background-color:rgba(0,0,0,.16); }
.sports-hero small { color:var(--brand-cool); }
.match-card { border-color:rgba(255,255,255,.085); background:linear-gradient(145deg,var(--surface-1),var(--surface-0)); box-shadow:0 18px 44px rgba(0,0,0,.3); }
.match-card__teams>div i { border-color:color-mix(in srgb,var(--brand-cool) 25%,transparent); color:var(--brand-cool); background:linear-gradient(145deg,color-mix(in srgb,var(--brand-cool) 13%,transparent),rgba(0,0,0,.28)); }

/* Floating thumb dock. The mission is the centre destination on every screen. */
.dock { inset:auto auto calc(10px + env(safe-area-inset-bottom)) 50%; width:min(calc(100% - 24px),720px); min-height:66px; padding:6px 8px; border:1px solid var(--metal-edge); border-radius:25px; background:linear-gradient(145deg,rgba(25,28,34,.91),rgba(7,9,12,.94)); box-shadow:0 22px 60px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(24px) saturate(135%); transform:translateX(-50%); }
.dock__btn { min-height:52px; border-radius:17px; transition:transform .18s ease,color .18s ease,background .18s ease; }
.dock__btn:active { transform:scale(.94); }
.dock__btn:nth-child(3) { margin:-16px 3px 3px; min-height:64px; border:1px solid var(--metal-edge); border-radius:21px; color:#17120a; background:linear-gradient(145deg,#f2dda7,var(--gold) 58%,#a97834); box-shadow:0 12px 30px rgba(var(--brand-energy-rgb),.28),inset 0 1px rgba(255,255,255,.65); }
.dock__btn:nth-child(3) svg { width:24px; height:24px; color:#17120a; }
.dock__btn:nth-child(3).is-on { color:#17120a; background:linear-gradient(145deg,#fff0c8,var(--gold) 52%,#a67631); }
.dock__btn:nth-child(3).is-on:after { background:#17120a; box-shadow:none; }

/* Generated brand UI plates are real raster assets. CSS only positions the correct plate and
   keeps the labels accessible; it does not redraw the mockup's metalwork. */
.top-cta,.button,.home-hero__cta {
  border-color:transparent;
  color:#fff4d7;
  background-color:transparent;
  background-image:var(--ui-button-plate),linear-gradient(135deg,#21150f,#090b0f);
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 12px 28px rgba(var(--brand-energy-rgb),.3);
  text-shadow:0 1px 7px rgba(0,0,0,.72);
}
.top-cta svg,.home-hero__cta svg { color:#ffe2a0; filter:drop-shadow(0 1px 4px #000); }
.button[disabled] { color:var(--muted); border:1px solid var(--line); background:var(--bg-soft); box-shadow:none; text-shadow:none; }
.quest-feature__go {
  min-width:116px;
  min-height:38px;
  justify-content:center;
  border-color:transparent;
  color:#fff4d7;
  background-color:transparent;
  background-image:var(--ui-button-plate);
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 10px 24px rgba(var(--brand-energy-rgb),.25);
  text-shadow:0 1px 6px #000;
}
.quest-control.is-draw,.quest-control.is-primary,.quest-control.is-combo {
  border-color:transparent!important;
  color:#fff4d7!important;
  background-color:transparent!important;
  background-image:var(--ui-button-plate)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  box-shadow:0 12px 30px rgba(var(--brand-energy-rgb),.34)!important;
  text-shadow:0 1px 6px #000;
}
.quest-reveal button {
  min-width:132px;
  min-height:42px;
  padding:8px 18px;
  border:0;
  color:#fff4d7;
  background-color:transparent;
  background-image:var(--ui-button-plate);
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 10px 26px rgba(var(--brand-energy-rgb),.3);
  text-shadow:0 1px 6px #000;
}
.dock__btn:nth-child(3),.dock__btn:nth-child(3).is-on {
  border:0;
  color:#fff4d7;
  background-color:transparent;
  background-image:var(--ui-button-plate);
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 12px 30px rgba(var(--brand-energy-rgb),.34);
  text-shadow:0 1px 6px #000;
}
.dock__btn:nth-child(3) svg { color:#ffe0a0; filter:drop-shadow(0 1px 4px #000); }
.dock__btn:nth-child(3).is-on:after { background:#ffe0a0; box-shadow:0 0 9px rgba(255,224,160,.6); }

@media(max-width:560px){
  main{padding-right:10px;padding-left:10px}.home-hero{min-height:320px;border-radius:26px}.home-hero__content{min-height:320px}.home-quick{margin:-24px 10px 20px}.home-quick button{min-height:72px}.sheet__body{padding-right:10px;padding-left:10px}.line-quest{margin-right:-10px;margin-left:-10px}.dock{width:calc(100% - 16px);border-radius:22px}.dock__btn{padding-right:4px;padding-left:4px;font-size:8px}.dock__btn:nth-child(3){margin-top:-13px}.quest-feature__cast img{opacity:.92}}

@media(prefers-reduced-motion:reduce){.home-hero__slide,.home-hero__dots i,.quest-feature__scan,.sports-hero>span.is-live i{animation:none!important}.dock__btn{transition:none}}

/* Reference-shaped controls: each silhouette has its own generated glass asset. */
body { font-family:AppKanit,"Noto Sans Thai",sans-serif;--text:#e9e5df;--gold:#dfbb78;--gold-bright:#f0d29a;--du:clamp(.3826px,.10627vw,.80765px);background:#0b0c0f; }
button { font-family:inherit; }
main { padding:0 0 calc(90px + env(safe-area-inset-bottom)); }
.home-hero { margin:calc(-100 * var(--du)) 0 0;min-height:calc(550 * var(--du));border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden; }
.home-hero__content { min-height:calc(550 * var(--du));width:69%;padding:calc(135 * var(--du)) 0 calc(100 * var(--du)) calc(58 * var(--du)); }
.home-hero__slide.is-single { object-position:center;filter:saturate(.9);animation:dragonDrift 20s ease-in-out infinite alternate; }
.home-hero::before { background:linear-gradient(90deg,#0b0c0f55,transparent 65%); }
.home-hero::after { display:none; }
.home-hero__eyebrow,.home-hero__note,.home-hero__meta small { display:none; }
.home-hero__meta { margin-bottom:calc(30 * var(--du));font-size:calc(21 * var(--du)); }
.home-hero__meta span.is-live { color:#1ee1e0;border-color:#18b8b375;background:#02090bc9; }
.home-hero h1 { color:#e9c98e;font-weight:400;font-style:italic;font-size:calc(48 * var(--du));line-height:1.25;letter-spacing:0;text-shadow:0 2px 10px #000;white-space:nowrap; }
.home-hero__lead { font-weight:400;color:#aaa5a3;font-size:calc(28 * var(--du));line-height:1.5;margin:calc(12 * var(--du)) 0 calc(28 * var(--du)); }
.home-hero__lead br { display:none; }
.top { position:relative;min-height:calc(100 * var(--du));padding:calc(10 * var(--du)) calc(48 * var(--du));background:none;border:0;box-shadow:none;gap:calc(20 * var(--du));backdrop-filter:none; }
.top::after { display:none; }
:root[data-brand] .top { background:none; }
:root[data-brand] .top .brand { font-size:calc(34 * var(--du));font-weight:400;letter-spacing:.015em;color:#dfbb78; }
:root[data-brand] .top .brand b { font-weight:400; }
.top-cta,.button:not(:disabled),.home-hero__cta,.quest-feature__go,.quest-reveal button { background:radial-gradient(ellipse at 45% 0,#fff3d582,transparent 57%),linear-gradient(110deg,#edcd87,#d2a151 57%,#ddb777);color:#181108;text-shadow:none;border:1px solid #f7dba4b3;border-radius:99px;box-shadow:inset 0 1px 1px #fff8,inset 0 -1px 2px #9d6a2740; }
.quest-control.is-draw,.quest-control.is-primary,.quest-control.is-combo { background-image:var(--ui-gold)!important;background-size:100% 125%!important;color:#181108!important;text-shadow:none;box-shadow:none!important; }
.top-cta svg,.home-hero__cta svg { color:#181108;filter:none; }
.home-hero__cta { min-width:calc(232 * var(--du));min-height:calc(54 * var(--du));padding:calc(9 * var(--du)) calc(24 * var(--du));font-size:calc(25 * var(--du));font-weight:400; }
.home-hero__cta svg { display:none; }
.quest-feature { min-height:calc(300 * var(--du));margin:0 0 calc(16 * var(--du));border:0;border-radius:0;background:#0b0c0f;box-shadow:none; }
.quest-feature>img { inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9);opacity:1; }
.quest-feature__cast,.quest-feature__scan { display:none; }
.quest-feature::before { background:linear-gradient(90deg,#090b0f55,transparent 55%); }
.quest-feature__copy { padding:calc(36 * var(--du)) 0 0 calc(60 * var(--du));max-width:51%;align-self:start;margin-top:0; }
.quest-feature__copy small { display:none; }
.quest-feature__copy b { font-family:Georgia,serif;font-style:italic;font-weight:600;font-size:calc(42 * var(--du));line-height:1.15;color:#efcf94;letter-spacing:0;white-space:nowrap; }
.quest-feature__copy b::before { content:"";position:absolute;left:calc(45 * var(--du));top:calc(40 * var(--du));width:calc(5 * var(--du));height:calc(42 * var(--du));background:linear-gradient(#f04767,#871e3a);transform:skew(-23deg);box-shadow:0 0 12px #b4294944; }
.quest-feature__copy em { font-size:calc(21 * var(--du));line-height:1.4;color:#c7c2bd;font-weight:400;white-space:nowrap; }
.quest-feature__copy u { margin-top:calc(24 * var(--du));gap:calc(14 * var(--du));font-size:calc(22 * var(--du));line-height:1.25;font-weight:400;color:#dedbd5; }
.quest-feature__copy u::after { display:none; }
.quest-feature__copy u>svg { width:calc(34 * var(--du));height:calc(34 * var(--du));color:#d7b471; }
.quest-feature__copy u i { position:static;inset:auto;display:block;flex:0 0 calc(152 * var(--du));width:calc(152 * var(--du));height:calc(9 * var(--du));background:linear-gradient(90deg,#11e7e6 var(--progress),#ffffff29 var(--progress));transform:skew(-22deg);mask:repeating-linear-gradient(90deg,#000 0 18%,transparent 18% 21%);border-radius:3px;box-shadow:0 0 14px #00dded38; }
.quest-feature__go { left:calc(60 * var(--du));right:auto;bottom:calc(32 * var(--du));min-width:calc(212 * var(--du));min-height:calc(50 * var(--du));font-size:calc(23 * var(--du));line-height:1.2;font-weight:400;padding:calc(6 * var(--du)) calc(23 * var(--du));backdrop-filter:none; }
.quest-feature__go i { color:#181108; }
.home-section .section-head h2 { margin:0;line-height:1.25;color:#e8c58a;font-style:italic;font-size:calc(35 * var(--du));font-weight:400;letter-spacing:0; }
.home-section .section-head h2::before { content:"";display:inline-block;width:4px;height:20px;margin-right:9px;background:linear-gradient(#ffe6ac,#b98239);transform:skew(-10deg); }
.home-section .section-head small { display:none; }
.section-head button { color:#dfbd82;border:0;background:none;font:inherit;font-size:12px; }
.game-grid--poster.home-game-rail .game-tile { flex:0 0 46%;min-width:0;min-height:0;aspect-ratio:1.45;border:0;border-radius:3px 3px 20px 3px;transform:skew(-5deg); }
.game-grid--poster.home-game-rail .game-tile>img { position:absolute;inset:0;min-height:0;filter:saturate(.66) sepia(.16) brightness(.88);transform:skew(5deg) scale(1.07); }
.game-grid--poster.home-game-rail .game-tile b { font-size:14px;font-weight:500;color:#e7ded1; }
.game-tile__rank { color:#efca86!important;background:#100f0de0!important;border-bottom:1px solid #cda663; }
.home-section { margin:calc(24 * var(--du)) calc(48 * var(--du)); }
@keyframes dragonDrift { from{transform:scale(1.015) translateX(0)} to{transform:scale(1.06) translateX(-5px)} }
.home-quick {
  margin:calc(-50 * var(--du)) calc(85 * var(--du)) calc(24 * var(--du));
  padding:calc(12 * var(--du)) calc(10 * var(--du));
  border:1px solid #e6c89738;
  border-radius:calc(48 * var(--du));
  background:radial-gradient(ellipse at 97% 0,#f5cf8a38,transparent 24%),linear-gradient(165deg,#ffffff12,#ffffff03 45%,#ffffff0a);
  box-shadow:inset 0 1px 2px #fff3,inset 0 -1px 8px #c7d8e318,0 12px 24px #0004;
  backdrop-filter:blur(10px);
}
.home-quick button { position:relative; min-height:calc(92 * var(--du)); padding:4px 2px; border:0; gap:calc(5 * var(--du)); }
.home-quick button:not(:last-child)::after { content:"";position:absolute;right:0;top:21%;height:58%;width:1px;background:linear-gradient(transparent,#b5a58a42,transparent); }
.home-quick span { height:calc(39 * var(--du));width:calc(39 * var(--du));color:#e2c997; }
.home-quick svg { width:100%;height:100%;stroke-width:1.3; }
.home-quick b { color:#d9d5cd;font-size:calc(25 * var(--du));font-weight:400; }
.home-intel__rail { display:grid;grid-template-columns:1.1fr 1fr 1.25fr;gap:8px;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none; }
.home-intel__rail button,.home-intel__rail button.is-on {
  min-height:calc(74 * var(--du));padding:calc(9 * var(--du)) calc(16 * var(--du));gap:calc(13 * var(--du));border:1px solid #ffffff15;border-radius:calc(42 * var(--du)) calc(31 * var(--du));
  color:#c5c4c1;background:linear-gradient(160deg,#ffffff16,#ffffff03 70%);
  box-shadow:inset 0 1px 1px #fff2;font-size:calc(22 * var(--du));isolation:isolate;position:relative;transform:skew(-14deg);
}
.home-intel__rail button:not(.is-on) { filter:none; }
.home-intel__rail button.is-on { color:#f2d296;border-color:#d5a35d99;background:radial-gradient(ellipse at 25% 0,#cfa46733,transparent 60%),linear-gradient(140deg,#4c3c2d7a,#1d1b1a);box-shadow:inset 0 1px 1px #fff2,0 5px 12px #b5843f0a; }
.home-intel__rail button::before { content:"";position:absolute;inset:3px;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,#fff4d625 48%,transparent 70%);transform:translateX(-130%);opacity:0;pointer-events:none; }
.home-intel__rail button { overflow:hidden; }
.home-intel__rail svg { flex-shrink:0;width:calc(39 * var(--du));height:calc(39 * var(--du));stroke-width:1.3;transform:skew(14deg); }
.home-intel__rail b { white-space:nowrap;font-weight:400;transform:skew(14deg); }
.dock { display:grid;grid-template-columns:1fr 1fr calc(135 * var(--du)) 1fr 1fr;gap:5px;width:min(calc(100% - 48 * var(--du)),720px);min-height:calc(116 * var(--du));padding:calc(8 * var(--du)) calc(24 * var(--du));border-radius:calc(60 * var(--du));background:linear-gradient(155deg,#ffffff19,#ffffff04 65%);border:1px solid #dbcba047;box-shadow:inset 0 1px 2px #fff4,0 14px 36px #0009;backdrop-filter:blur(12px); }
.dock__btn { min-height:50px; padding:6px 2px;color:#aaaeb3; }
.dock__btn.is-on { color:#f6d99c;background:radial-gradient(ellipse at 50% 88%,#d99c4335,transparent 68%);text-shadow:0 0 13px #e5b46d66; }
.dock__btn:nth-child(3),.dock__btn:nth-child(3).is-on {
  width:76px;height:76px;min-height:76px;margin:-24px 0 0;justify-self:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:11px 0 8px;border:0;border-radius:50%;
  background:var(--ui-mission) center / contain no-repeat;
  box-shadow:none;color:#f1d6a0;text-shadow:0 1px 5px #000;
}
.dock__btn:nth-child(3) svg { width:27px;height:27px;stroke-width:1.5;color:#f1d6a0;filter:none; }
.dock__btn:nth-child(3)::after { display:none; }
.dock__btn:nth-child(3) span { font-size:10px;font-weight:500; }
@media(max-width:420px) {
  .home-intel__rail { gap:8px; }
  .dock { grid-template-columns:1fr 1fr 70px 1fr 1fr;padding-inline:8px; }
  .dock__btn:nth-child(3),.dock__btn:nth-child(3).is-on { width:70px;height:70px;min-height:70px;margin-top:-22px; }
}
button { transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
button:focus-visible { outline:2px solid #f3d39a;outline-offset:4px; }
button:active:not(:disabled) { transform:translateY(2px) scale(.975);filter:brightness(1.12); }
.quest-feature>img,.game-tile>img { transition:transform .55s ease,filter .35s ease; }
@media(hover:hover) and (pointer:fine) {
  .home-quick button:hover { transform:translateY(-3px);color:#ffe1a5;filter:brightness(1.25);background:none; }
  .top-cta:hover,.home-hero__cta:hover { transform:translateY(-2px);filter:brightness(1.1); }
  .home-intel__rail button:hover { transform:skew(-14deg) translateY(-2px);filter:brightness(1.15); }
  .home-intel__rail button:hover::before { animation:glassSweep .7s ease-out; }
  .dock__btn:hover { transform:translateY(-3px);color:#efd49b; }
  .dock__btn:nth-child(3):hover { transform:translateY(-5px) scale(1.04);filter:brightness(1.15) drop-shadow(0 0 9px #cda66344); }
  .quest-feature:hover>img { transform:scale(1.025); }
  .game-grid--poster.home-game-rail .game-tile:hover { transform:skew(-5deg) translateY(-4px); }
  .game-grid--poster.home-game-rail .game-tile:hover>img { filter:saturate(.85) brightness(1);transform:skew(5deg) scale(1.12); }
}
@keyframes glassSweep { 0%{opacity:0;transform:translateX(-130%)} 25%{opacity:1} 100%{opacity:0;transform:translateX(130%)} }
.brand-menu { border:0;padding:0;background:none;cursor:pointer;text-align:left; }
.brand-menu .brand img { height:calc(57 * var(--du));max-width:calc(270 * var(--du)); }
.notification-btn { margin-left:auto;position:relative;display:grid;place-items:center;width:36px;min-height:40px;padding:4px;background:none;border:0;color:#dec28f; }
.notification-btn svg { width:calc(34 * var(--du));height:calc(34 * var(--du)); }
.notification-btn i { position:absolute;width:calc(7 * var(--du));height:calc(7 * var(--du));background:#2ce6e9;border-radius:50%;top:24%;right:15%;box-shadow:0 0 5px #2ce6e944; }
.top-cta { margin-left:0;min-width:calc(170 * var(--du));min-height:calc(54 * var(--du));padding:calc(8 * var(--du)) calc(20 * var(--du));font-size:calc(25 * var(--du));font-weight:400;justify-content:center; }
.home-section .section-head { margin-bottom:calc(12 * var(--du)); }
.home-hero__meta span { font-size:calc(21 * var(--du));font-weight:400;padding:calc(6 * var(--du)) calc(14 * var(--du)); }
.home-hero__cta b { font-weight:400; }
.home-section .section-head h2::before { height:calc(27 * var(--du));width:calc(5 * var(--du));margin-right:calc(12 * var(--du)); }
.section-head button { font-size:calc(22 * var(--du));font-weight:400;line-height:1.25;padding:0;min-height:24px; }
.game-carousel { position:relative; }
.game-grid--poster.home-game-rail { position:relative;display:flex;gap:calc(20 * var(--du));padding:0 calc(20 * var(--du));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none; }
.game-grid--poster.home-game-rail::after { content:"";flex:0 0 48%; }
.game-grid--poster.home-game-rail .game-tile { flex-basis:28%;height:calc(220 * var(--du));aspect-ratio:auto;overflow:visible;border-radius:0;transform:none;box-shadow:none;background:none;scroll-snap-align:start;margin-bottom:calc(45 * var(--du)); }
.game-grid--poster.home-game-rail .game-tile.is-featured { flex-basis:56%; }
.game-grid--poster.home-game-rail .game-tile>img { width:100%;height:100%;object-fit:cover;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);border-radius:0;transform:none;filter:saturate(.83) brightness(.94); }
.game-grid--poster.home-game-rail .game-tile::after { display:none; }
.game-grid--poster.home-game-rail .game-tile>span:not(.game-tile__rank) { position:absolute;inset:auto 0 calc(-37 * var(--du)) calc(10 * var(--du));padding:0;max-width:100%;background:none; }
.game-grid--poster.home-game-rail .game-tile b { font-size:calc(20 * var(--du));font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.game-grid--poster.home-game-rail .game-tile b::before { content:"/";color:#d44657;margin-right:calc(12 * var(--du));font-weight:600; }
.game-grid--poster.home-game-rail .game-tile small { display:none; }
.game-grid--poster.home-game-rail .game-tile__rank { z-index:2;left:calc(15 * var(--du));top:0;padding:calc(2 * var(--du)) calc(18 * var(--du));border-radius:0 0 10px 0!important;font-size:calc(20 * var(--du));font-weight:400; }
.game-carousel__arrow { position:absolute;z-index:4;top:26%;border:0;background:none;color:#e2ded3;font-size:calc(50 * var(--du));line-height:1;min-width:28px;min-height:44px; }
.game-carousel__arrow.is-prev { left:calc(-25 * var(--du)); }
.game-carousel__arrow.is-next { right:calc(-25 * var(--du)); }
.game-carousel__dots { display:flex;align-items:center;justify-content:center;gap:1px;height:18px;margin-top:calc(3 * var(--du)); }
.game-carousel__dots button { position:relative;width:18px;height:24px;padding:0;border:0;background:none; }
.game-carousel__dots button::after { content:"";position:absolute;top:10px;left:5px;width:5px;height:5px;border-radius:99px;background:#6a6864;transition:width .2s,background .2s; }
.game-carousel__dots button.is-on::after { left:2px;width:12px;background:linear-gradient(#f1d39c,#bd8840); }
.home-intel { margin-top:calc(16 * var(--du));margin-bottom:calc(32 * var(--du)); }
.home-digest { margin-bottom:28px; }
.home-digest .home-section { margin-top:26px;margin-bottom:30px; }
.home-digest .section-head h2 { font-size:clamp(18px,calc(35 * var(--du)),30px); }
.home-rtp__panel,.home-community__panel { position:relative;isolation:isolate;overflow:hidden;border:1px solid #c8ab755f;border-radius:22px;background:#0b0e10;box-shadow:inset 0 1px 2px #fff4,0 12px 26px #0005;padding:22px; }
.home-digest__backdrop { position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;pointer-events:none; }
.home-rtp__panel::before,.home-community__panel::before { content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#090c10ed,#090c1066),linear-gradient(0deg,#090c10,transparent);pointer-events:none; }
.home-digest header>span { display:flex;align-items:center;gap:7px;color:var(--gold-bright);font-size:10px;letter-spacing:1.7px; }
.home-digest header svg { width:19px;height:19px; }
.home-digest header p { color:#b7b3ab;font-size:12px;margin:7px 0 17px; }
.home-rtp__list button,.home-community__list button { display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:12px 0;border:0;border-top:1px solid #d6bb8620;background:transparent;color:#eee6d7;text-align:left;font:inherit;cursor:pointer;transition:background .2s,transform .2s; }
.home-rtp__list img { width:70px;height:48px;object-fit:cover;border-radius:9px;border:1px solid #cba96d45; }
.home-rtp__list button>span { flex:1;min-width:0; }
.home-rtp__list b,.home-community__list b { display:block;font-size:12px;font-weight:500;line-height:1.35; }
.home-rtp__list small { display:block;margin-top:4px;color:#aaa59a;font-size:10px; }
.home-rtp__list strong { color:var(--gold-bright);font:italic 26px Georgia,serif;white-space:nowrap;letter-spacing:-.5px; }
.home-rtp__list sup { font-size:11px;margin-left:2px; }
.home-rtp__list i { color:#cfb077;font-size:19px;font-style:normal; }
.home-digest__note { margin:12px 0 0;color:#a39d91;font-size:10px;line-height:1.6; }
.home-community__panel header { max-width:70%; }
.home-community__panel header h3 { color:#f1d49d;font-weight:400;font-size:clamp(23px,4vw,32px);font-style:italic;line-height:1.25;margin:12px 0 4px; }
.home-community__panel>.home-digest__backdrop { object-position:70% center;opacity:.8; }.home-community__panel::before { background:linear-gradient(90deg,#090c10f2 20%,#090c1099 55%,#090c1022); }
.home-community__empty { max-width:75%;font-size:12px;line-height:1.7;color:#c2bdb3;margin:20px 0; }
.home-community__panel .gc-gold { width:auto;min-width:180px;min-height:44px;margin-top:16px; }
.home-community__list img { width:44px;height:36px;object-fit:cover;border-radius:6px; }
.home-community__list b { flex:1; }
.home-community__list button>span { display:flex;align-items:center;gap:5px;color:var(--gold-bright);font-size:13px; }
.home-community__list svg { width:15px;height:15px; }
.home-scores { margin-bottom:32px; }
.home-scores .section-head h2 { font-size:clamp(18px,calc(35 * var(--du)),30px); }
.home-scores__panel { position:relative;isolation:isolate;overflow:hidden;border:1px solid #c9a56b40;border-radius:22px;background:#0b0e10;padding:20px; }
.home-scores__panel>.home-digest__backdrop { opacity:.6; }
.home-scores__panel header>span { display:flex;align-items:center;gap:7px;color:var(--gold-bright);font-size:10px;letter-spacing:1.7px; }
.home-scores__panel header svg { width:19px;height:19px; }
.home-scores__panel header p { color:#b7b3ab;font-size:12px;margin:7px 0 17px; }
.home-scores__list>button { display:block;width:100%;padding:12px 0;border:0;border-top:1px solid #d6bb8625;background:transparent;color:#e8e2d6;font:inherit;cursor:pointer;transition:background .2s; }
.home-scores__list>button>small { display:block;text-align:center;color:#b3a794;font-size:10px;margin-bottom:10px; }
.home-scores__teams { display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:8px; }
.home-scores__teams>span { display:grid;grid-template-rows:44px minmax(32px,auto);justify-items:center;align-items:start;gap:10px;min-width:0; }
.home-scores__teams b { font-size:12px;font-weight:400;line-height:1.4;min-height:32px;text-align:center;overflow-wrap:anywhere; }
.home-scores__teams strong { color:var(--gold-bright);font:italic 30px Georgia,serif;text-shadow:0 0 16px #dcae4d44; }
.home-scores__teams .match-crest { width:44px;height:44px; }
.home-scores__list>button:first-child { padding:14px 0 20px; }
.home-scores__list>button:first-child .match-crest { width:58px;height:58px; }
.home-scores__list>button:first-child .home-scores__teams>span { grid-template-rows:58px minmax(34px,auto); }
.home-scores__list>button:first-child .home-scores__teams strong { font-size:40px; }
.home-scores__list>button:not(:first-child) .home-scores__teams { grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr); }
.home-scores__list>button:not(:first-child) .home-scores__teams>span { display:flex;align-items:center;gap:7px; }
.home-scores__list>button:not(:first-child) .home-scores__teams>span:last-child { flex-direction:row-reverse; }
.home-scores__list>button:not(:first-child) .match-crest { width:32px;height:32px; }
.home-scores__list>button:not(:first-child) b { min-height:0;font-size:11px;text-align:left; }
.home-scores__list>button:not(:first-child) .home-scores__teams>span:last-child b { text-align:right; }
.home-rtp__panel>.home-digest__backdrop { object-position:right center;opacity:.55; }
.home-rtp__panel::before { background:linear-gradient(90deg,#090c10ed 45%,#090c1077); }
.home-rtp__list { position:relative; }
.home-scores__panel .gc-gold { min-height:44px;margin-top:12px; }
.home-scores button:focus-visible { outline:2px solid #f1cf92;outline-offset:2px; }
.home-scores__list>button:active { background:#d7b67516; }
@media(hover:hover) { .home-scores__list>button:hover { background:#d7b6750c; } }
.settings-credits { margin:20px;color:#aba498;font-size:12px;line-height:1.7; }
.settings-credits summary { cursor:pointer;min-height:44px;padding:10px 0; }
.settings-credits a { color:#d9bd82; }
.contact-screen__body { padding:20px clamp(16px,4vw,32px); }
.contact-screen .contact-lead { background:var(--settings-glass) center/100% 100% no-repeat;border-color:#c7a46966;box-shadow:0 8px 24px #0005; }
.contact-screen .channel { background:linear-gradient(125deg,#29272366,#0d1012);border-color:#b59c6040;min-height:76px; }
.contact-screen .contact-group__label { color:#ebcd94;font-style:italic; }
.contact-screen .contact-lead__go { color:#ebcd94; }
.home-digest button:focus-visible { outline:2px solid #f1cf92;outline-offset:3px; }
.home-rtp__list button:active,.home-community__list button:active { transform:scale(.985); }
@media(hover:hover) { .home-rtp__list button:hover,.home-community__list button:hover { background:#d7b6750c;transform:translateX(3px); } }
@media(max-width:380px) { .home-rtp__panel,.home-community__panel { padding:16px; }.home-rtp__list img { width:45px;height:42px; }.home-rtp__list strong { font-size:21px; }.home-rtp__list button { gap:7px; } }
@media(prefers-reduced-motion:reduce) { .home-digest button { transition:none;transform:none!important; } }
main>.note { margin:0 24px;font-size:9px;color:#7f7c78; }
.dock__btn { font-size:calc(23 * var(--du));font-weight:400;min-height:calc(88 * var(--du)); }
.dock__btn svg { width:calc(42 * var(--du));height:calc(42 * var(--du));stroke-width:1.4; }
.dock__btn:nth-child(3),.dock__btn:nth-child(3).is-on { width:calc(128 * var(--du));height:calc(128 * var(--du));min-height:calc(128 * var(--du));margin-top:calc(-30 * var(--du));padding:calc(16 * var(--du)) 0; }
.dock__btn:nth-child(3) svg { width:calc(44 * var(--du));height:calc(44 * var(--du)); }
.dock__btn:nth-child(3) span { font-size:calc(21 * var(--du));font-weight:400; }
:root[data-sheet="open"] .dock { z-index:70; }

/* Game Center: approved cinematic artwork, independent semantic controls and
   bounded reflection layers. The same components serve all three brands. */
.sheet[data-center="true"] .sheet__bar { position:absolute;z-index:3;inset:0 0 auto;padding:calc(14 * var(--du) + env(safe-area-inset-top)) calc(30 * var(--du));border:0;background:linear-gradient(#080a0de0,transparent);backdrop-filter:none; }
.sheet[data-center="true"] .sheet__bar::after { display:none; }
.sheet[data-center="true"] .sheet__bar .icon-btn { border:0;background:none;color:#eac78d;width:30px;min-height:44px; }
.sheet[data-center="true"] .sheet__bar .icon-btn svg { width:26px;height:26px; }
.sheet[data-center="true"] .sheet__bar .brand img { height:calc(48 * var(--du));min-height:22px;max-width:185px; }
.sheet[data-center="true"] .sheet__body { padding:0 0 calc(150 * var(--du) + 26px + env(safe-area-inset-bottom));overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#655b48 #0a0c0f; }
.gc-screen { --gc-cream:#f0d4a1;--gc-silver:#c5c3bc;--gc-ribbon:#c13148;color:#eae4d8;background:#090b0d;min-height:100%;font-family:AppKanit,sans-serif;padding-bottom:calc(40 * var(--du)); }
.gc-screen button { font-family:inherit;cursor:pointer; }
.gc-art { display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none; }
.gc-heading { position:relative;min-height:calc(295 * var(--du) + env(safe-area-inset-top));padding:calc(98 * var(--du) + 14px + env(safe-area-inset-top)) calc(58 * var(--du)) calc(46 * var(--du));isolation:isolate; }
.gc-heading .gc-art { z-index:-1; }
.gc-heading h2 { margin:0;color:var(--gc-cream);font-family:Georgia,AppKanit,serif;font-size:clamp(29px,calc(60 * var(--du)),49px);font-weight:600;font-style:italic;line-height:1.16;text-shadow:0 3px 8px #0008; }
.gc-heading p { margin:calc(10 * var(--du)) 0 0;color:#d7cfbc;font-size:clamp(12px,calc(29 * var(--du)),24px);font-weight:400;font-style:italic; }
.gc-nav { position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:calc(-37 * var(--du)) calc(45 * var(--du)) calc(14 * var(--du)); }
.gc-nav button { position:relative;display:grid;place-items:center;min-width:0;min-height:44px;height:calc(90 * var(--du));border:0;background:var(--gc-tab-idle-v1) center/100% 100% no-repeat;padding:8px 0;color:#c5c2ba;font-size:clamp(13px,calc(29 * var(--du)),24px);font-weight:400;isolation:isolate; }
.gc-nav button.is-on { color:#ffe0a2;background-image:var(--gc-tab-active-v1); }
.gc-nav button::after { content:"";position:absolute;inset:12% 12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 88%,#ffd18559,transparent 65%);opacity:0;transition:opacity .25s; }
.gc-nav button.is-on::after { opacity:.45; }
.gc-gold { display:inline-flex;align-items:center;justify-content:center;gap:calc(22 * var(--du));min-height:44px;min-width:calc(240 * var(--du));padding:calc(10 * var(--du)) calc(29 * var(--du));background:var(--ui-gold) center/100% 100% no-repeat;border:0;color:#1c1307;font-size:clamp(14px,calc(27 * var(--du)),23px);font-weight:500; }
.gc-gold i { font:32px/1 Georgia,serif;font-style:normal; }
.gc-feature { position:relative;isolation:isolate;min-height:calc(320 * var(--du));padding:calc(44 * var(--du)) calc(58 * var(--du)) calc(50 * var(--du)); }
.gc-feature .gc-art { z-index:-1; }
.gc-feature--poster .gc-art { left:36%;width:64%;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 32%); }
.gc-feature h3 { position:relative;width:62%;margin:calc(8 * var(--du)) 0 calc(25 * var(--du));font:italic 500 clamp(24px,calc(54 * var(--du)),44px)/1.15 Georgia,serif;color:var(--gc-cream);text-shadow:0 2px 8px #000; }
.gc-accent { color:var(--gc-cream);font-style:italic; }
.gc-accent::before { content:"/";display:inline-block;color:var(--gc-ribbon);font-weight:700;margin-right:calc(13 * var(--du));text-shadow:0 0 8px #c32d4244; }
.gc-feature small { font-size:clamp(13px,calc(31 * var(--du)),25px); }
.gc-dots { display:flex;justify-content:center;position:relative;margin-top:calc(-25 * var(--du));height:28px; }
.gc-dots button { width:26px;min-height:28px;background:none;border:0;padding:8px 3px;display:grid;place-items:center; }
.gc-dots span { width:5px;height:5px;border-radius:20px;background:#72706b; }
.gc-dots .is-on span { width:15px;background:linear-gradient(#f7dda4,#bb843d);box-shadow:0 0 8px #dda14655; }
.gc-shortcuts { display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:calc(14 * var(--du));margin:calc(18 * var(--du)) calc(43 * var(--du)) calc(28 * var(--du)); }
.gc-shortcuts button { display:flex;align-items:center;justify-content:center;gap:calc(17 * var(--du));min-height:44px;height:calc(76 * var(--du));border:0;color:#e4d0a8;background:var(--vote-glass-idle-v1) center/112% 195% no-repeat;padding:8px;font-size:clamp(12px,calc(27 * var(--du)),22px); }
.gc-shortcuts svg { width:calc(39 * var(--du));height:calc(39 * var(--du));min-width:18px;min-height:18px;stroke-width:1.3; }
.benefits-screen .gc-heading { min-height:calc(320 * var(--du)); }
.benefit-list { display:grid;gap:calc(28 * var(--du));padding:calc(24 * var(--du)) calc(32 * var(--du)); }
.benefit-card { border:1px solid #c9b89748;border-radius:calc(36 * var(--du));overflow:hidden;background:#101113;box-shadow:inset 0 1px 0 #f7e9ca24; }
.benefit-card>summary { display:block;position:relative;isolation:isolate;min-height:calc(300 * var(--du));cursor:pointer;list-style:none;overflow:hidden; }
.benefit-card>summary::-webkit-details-marker { display:none; }
.benefit-art { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .55s,filter .3s; }
.benefit-card>summary::after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080a0e75,transparent 70%);pointer-events:none; }
.benefit-copy { display:flex;align-items:flex-start;flex-direction:column;padding:calc(38 * var(--du));min-height:inherit; }
.benefit-copy>small { color:#aaa69d;font-size:clamp(10px,calc(18 * var(--du)),15px);letter-spacing:.08em; }
.benefit-copy h3 { max-width:66%;margin:calc(9 * var(--du)) 0 calc(26 * var(--du));color:var(--gc-cream);font-size:clamp(22px,calc(46 * var(--du)),38px);font-weight:500;font-style:italic;line-height:1.3;text-shadow:0 2px 6px #000; }
.benefit-open { margin-top:auto;display:flex;align-items:center;gap:calc(25 * var(--du));min-height:44px;padding:7px 19px;color:#21180c;font-size:clamp(13px,calc(25 * var(--du)),20px);background:var(--ui-gold) center/100% 100% no-repeat; }
.benefit-open i { font-style:normal;font-size:1.5em; }
.benefit-detail { padding:calc(26 * var(--du));border-top:1px solid #c8b17a33; }
.benefit-detail>p { color:#cec6b6;font-size:clamp(13px,calc(24 * var(--du)),19px);line-height:1.6;margin:0 0 16px; }
.benefit-detail>img { display:block;width:100%;height:auto;border-radius:12px; }
.benefit-detail .gc-provider { width:100%;margin:18px 0 0; }
.benefit-card[open] .benefit-open i { transform:rotate(90deg); }
.benefit-card>summary:focus-visible { outline:2px solid #f1d5a0;outline-offset:-4px; }
.benefit-card>summary:active .benefit-art { transform:scale(1.015); }
.gc-disclaimer { margin:20px calc(48 * var(--du));color:#aaa69d;font-size:clamp(11px,calc(21 * var(--du)),17px);line-height:1.7; }
.settings-info { margin:calc(24 * var(--du)) calc(40 * var(--du));padding:calc(12 * var(--du)) calc(24 * var(--du)) calc(24 * var(--du));border:1px solid #b7a48055;border-radius:calc(35 * var(--du));background:linear-gradient(125deg,#d8c8a712,#0c0d10 45%);box-shadow:inset 0 1px 0 #fff1c32a; }
.settings-info .gc-section-title { margin:12px 0 18px; }
.settings-info .rows { border:0;border-radius:0; }
.settings-info .rows__row { gap:16px;padding:14px 5px;border-color:#c8b38033; }
.settings-info .rows__row span { color:#bfb9ad;font-weight:400; }
.settings-info .rows__row b { max-width:58%;overflow-wrap:anywhere;font-weight:400;color:#ead9b8; }
.settings-actions { margin:calc(30 * var(--du)) calc(40 * var(--du));gap:12px; }
.settings-actions .gc-section-title { margin:12px 0 0; }
.settings-actions .callout { min-height:78px;padding:17px 24px;border:0;border-radius:20px;background:var(--settings-glass) center/102% 220% no-repeat;box-shadow:none;gap:16px; }
.settings-actions .callout::before,.settings-actions .callout::after { display:none; }
.settings-actions .callout__icon { background:none;border:0;border-radius:0;padding:0;box-shadow:none;width:30px;height:30px;min-width:30px;color:#e9cc94; }
.settings-actions .callout span { border-left:1px solid #c8b58355;padding-left:16px; }
.settings-actions .callout b { color:#f0d4a1;font-size:clamp(17px,calc(34 * var(--du)),27px);font-weight:400; }
.settings-actions .callout small { color:#c4bbaa;font-size:clamp(11px,calc(22 * var(--du)),18px); }
.settings-actions .callout.is-danger { background-color:#54182444; }
.settings-actions .callout.is-danger b { color:#e5b6ae; }
.settings-actions .callout.is-danger .callout__icon { color:#dea49c; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .benefit-card>summary:hover .benefit-art { transform:scale(1.035);filter:brightness(1.08); } }
@media(prefers-reduced-motion:reduce) { .benefit-art { transition:none; } }
.gc-catalog,.gc-rankings,.gc-rtp-compare,.gc-vote-list { padding:0 calc(48 * var(--du)); }
.gc-section-title { margin:calc(34 * var(--du)) 0 calc(20 * var(--du));font-size:clamp(21px,calc(39 * var(--du)),32px);font-style:italic;font-weight:500;color:var(--gc-cream);line-height:1.3; }
.gc-section-title::before { content:"";display:inline-block;width:calc(5 * var(--du));min-width:3px;height:.8em;transform:skew(-12deg);background:linear-gradient(#fff1ca,#c08c47);margin-right:calc(15 * var(--du));box-shadow:0 0 8px #c48b3b22; }
.gc-catalog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(23 * var(--du)) calc(15 * var(--du)); }
.gc-catalog-grid button { min-width:0;text-align:left;padding:0;border:0;background:none;color:#eee4d2; }
.gc-poster { display:block;aspect-ratio:1.55;overflow:hidden;border-radius:calc(24 * var(--du)) calc(8 * var(--du));transform:skew(-9deg);box-shadow:inset 0 1px 0 #f4dca332; }
.gc-poster img { display:block;width:100%;height:100%;object-fit:cover;transform:skew(9deg) scale(1.15);transition:transform .45s,filter .3s; }
.gc-catalog-grid b { display:block;margin:calc(10 * var(--du)) 0 0;min-height:2.5em;font-size:clamp(11px,calc(22 * var(--du)),18px);font-weight:400;font-style:italic;line-height:1.3; }
.gc-catalog-grid b::before { content:"/";color:var(--gc-ribbon);margin-right:4px; }
.gc-provider { display:flex;align-items:center;gap:calc(22 * var(--du));width:calc(100% - 90 * var(--du));min-height:48px;margin:calc(34 * var(--du)) auto 0;padding:calc(14 * var(--du)) calc(20 * var(--du));border:0;border-block:1px solid #ba93563d;background:linear-gradient(90deg,transparent,#b68b3320,transparent);color:#e9d2a9;font-size:clamp(13px,calc(28 * var(--du)),23px);text-align:left; }
.gc-provider svg { width:calc(35 * var(--du));height:calc(35 * var(--du));min-width:20px;min-height:20px; }
.gc-provider i { margin-left:auto;font-size:28px;font-style:normal; }
.gc-detail-hero { position:relative;margin:calc(25 * var(--du)) calc(40 * var(--du));aspect-ratio:1.9;overflow:hidden;border-radius:calc(30 * var(--du));border:1px solid #c5a26355; }
.gc-detail-hero>img { width:100%;height:100%;object-fit:cover; }
.gc-detail-hero>div { position:absolute;inset:auto 0 0;padding:calc(65 * var(--du)) calc(30 * var(--du)) calc(25 * var(--du));background:linear-gradient(transparent,#060709ec); }
.gc-detail-hero small { color:#dcc18c;font-size:11px;letter-spacing:.16em; }
.gc-detail-hero h3 { font:italic 500 clamp(26px,calc(52 * var(--du)),42px)/1.15 Georgia,serif;color:var(--gc-cream);margin:4px 0 0; }
.gc-detail-stats { margin:0 calc(48 * var(--du));display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;border-bottom:1px solid #c6a46b44;padding:calc(22 * var(--du)) 0; }
.gc-detail-stats>div+div { padding-left:12px;border-left:1px solid #d4bb8433; }
.gc-detail-stats small { display:block;color:#bab4a7;font-size:clamp(11px,calc(21 * var(--du)),17px); }
.gc-detail-stats strong { display:block;font:italic 500 clamp(34px,calc(74 * var(--du)),60px)/1.3 Georgia,serif;color:var(--gc-cream); }
.gc-detail-stats sup { font-size:.5em;vertical-align:baseline; }
.gc-detail-stats b { font-weight:400;color:#eed3a0;font-size:clamp(16px,calc(32 * var(--du)),26px); }
.gc-detail-actions { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:calc(26 * var(--du)) calc(45 * var(--du)); }
.gc-detail-vote { display:flex;align-items:center;justify-content:center;gap:8px;border:0;color:#ead8b1;background:var(--vote-glass-idle-v1) center/112% 185% no-repeat;font-size:14px; }
.gc-detail-vote svg { width:22px;height:22px; }
.gc-detail-community,.gc-detail-chart { margin:calc(35 * var(--du)) calc(48 * var(--du)); }
.gc-detail-community p,.gc-detail-chart p { color:#afa897;font-size:12px;margin:5px 0 16px; }
.gc-detail-community dl { display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-block:1px solid #c5a26333;padding:16px 0;text-align:center; }
.gc-detail-community dl>div+div { border-left:1px solid #c5a26333; }
.gc-detail-community dt { font-size:12px;color:#c9c2b5; }
.gc-detail-community dd { margin:4px 0 0;color:#f0d4a1;font:italic 28px Georgia,serif; }
.gc-detail-chart .rtp-spark { width:100%;height:130px;color:#e4b96e; }
.gc-chart-values { display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;color:#bcb5a5;font-size:10px; }
.gc-chart-values b { display:block;color:#eed3a0;font-size:12px;font-weight:400; }
.gc-ranking-meta { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:calc(14 * var(--du)) calc(48 * var(--du));color:#bfb6a5;font-size:clamp(11px,calc(21 * var(--du)),17px); }
.gc-ranking-meta span:last-child { padding:4px 14px;border-radius:99px;border:1px solid #b4975d44;color:#ead5b0;background:#191713; }
.gc-podium { position:relative;aspect-ratio:2.12;isolation:isolate;margin:calc(20 * var(--du)) 0 calc(10 * var(--du)); }
.gc-podium-stage { z-index:-1;object-fit:fill; }
.gc-winner { position:absolute;bottom:17%;width:31%;height:92%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0;border:0;background:none;color:#eed7a6; }
.gc-winner--1 { left:34%;width:32%;bottom:19%;height:107%;z-index:2; }
.gc-winner--2 { left:3%; }
.gc-winner--3 { right:3%; }
.gc-winner>img { position:absolute;inset:0 0 11%;height:89%;width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 15px #dba24f22); }
.gc-winner>span { position:relative;display:flex;flex-direction:column;align-items:center;width:100%;background:linear-gradient(transparent,#08090ce6);border-radius:20px; }
.gc-winner em { font:italic 500 clamp(24px,calc(44 * var(--du)),36px)/1 Georgia,serif;color:#f6d28f;text-shadow:0 0 8px #b27a3744; }
.gc-winner b { font-size:clamp(10px,calc(22 * var(--du)),18px);font-weight:400;line-height:1.25;white-space:nowrap; }
.gc-rank-row { position:relative;isolation:isolate;display:grid;grid-template-columns:8% 30% 1fr 8%;align-items:center;width:100%;min-height:calc(100 * var(--du));gap:calc(10 * var(--du));margin-bottom:calc(9 * var(--du));padding:calc(9 * var(--du)) calc(18 * var(--du));border:1px solid #d9b67f26;border-radius:calc(21 * var(--du));background:#101214;overflow:hidden;color:#ead9b9;text-align:left; }
.gc-rank-row>em { font:italic 500 clamp(20px,calc(38 * var(--du)),31px)/1 Georgia,serif; }
.gc-rank-row>img { width:100%;height:calc(85 * var(--du));object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 80%,transparent); }
.gc-rank-row>span { min-width:0; }
.gc-rank-row b { display:block;font-size:clamp(12px,calc(23 * var(--du)),19px);font-weight:400;line-height:1.2; }
.gc-rank-row small { display:block;font-size:clamp(9px,calc(13 * var(--du)),11px);color:#a9a393;line-height:1.6;margin:2px 0; }
.gc-rank-row>strong { font-size:clamp(13px,calc(23 * var(--du)),19px);font-weight:400;text-align:right; }
.gc-score-track { display:block;height:calc(6 * var(--du));min-height:3px;background:#403d37;border-radius:8px;overflow:hidden;margin-top:5px; }
.gc-score-track u { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffdd98,#cb8e3c);transition:width .4s; }
.gc-note,.gc-empty { margin:calc(25 * var(--du)) calc(50 * var(--du));font-size:clamp(11px,calc(19 * var(--du)),15px);line-height:1.65;color:#b8b09e;text-align:center; }
.gc-empty { padding:40px 10px;border:1px solid #c4a26e22;border-radius:20px; }
.gc-rtp-hero { position:relative;isolation:isolate;min-height:calc(420 * var(--du));padding:calc(30 * var(--du)) calc(55 * var(--du)) calc(45 * var(--du)); }
.gc-rtp-hero .gc-art { z-index:-1; }
.gc-rtp-hero--poster .gc-art { left:40%;width:60%;mask-image:linear-gradient(90deg,transparent,#000 40%); }
.gc-rtp-hero h3 { font:italic 500 clamp(23px,calc(47 * var(--du)),38px)/1.12 Georgia,serif;margin:0;max-width:70%;text-shadow:0 2px 8px #000; }
.gc-rtp-hero small { display:block;margin-top:calc(10 * var(--du));font-size:clamp(11px,calc(22 * var(--du)),18px);color:#beb9ac; }
.gc-rtp-hero p { margin:calc(24 * var(--du)) 0 0;color:#e7cfa4;font-size:clamp(14px,calc(27 * var(--du)),22px); }
.gc-rtp-hero strong { display:block;font:italic 500 clamp(48px,calc(102 * var(--du)),83px)/1.05 Georgia,serif;letter-spacing:-.04em;background:linear-gradient(#fff4cc 15%,#f2c675 60%,#ba7c2c);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 8px 22px #eaa64b11; }
.gc-rtp-hero sup { font-size:.65em;vertical-align:baseline; }
.gc-rtp-hero dl { display:flex;gap:calc(20 * var(--du));margin:calc(20 * var(--du)) 0; }
.gc-rtp-hero dl>div { display:flex;gap:6px;align-items:baseline; }
.gc-rtp-hero dt { font-size:clamp(10px,calc(20 * var(--du)),16px);color:#c7beaa; }
.gc-rtp-hero dd { margin:0;color:#f2d09a;font-size:clamp(12px,calc(24 * var(--du)),20px); }
.gc-rtp-axis { display:grid;grid-template-columns:52% 16% 16% 16%;font-size:clamp(11px,calc(21 * var(--du)),17px);color:#d7c19a;margin:0 0 5px; }
.gc-rtp-axis span:nth-child(3) { text-align:center; }.gc-rtp-axis span:last-child { text-align:right; }
.gc-rtp-row { display:grid;grid-template-columns:52% 48%;align-items:center;width:100%;padding:calc(12 * var(--du)) 0;border:0;border-bottom:1px solid #c8b28c22;background:none;text-align:left;min-height:calc(95 * var(--du));color:#e8dfcb; }
.gc-rtp-label { display:flex;align-items:center;gap:calc(18 * var(--du));min-width:0;padding-right:6px; }
.gc-rtp-label>img { width:35%;height:auto;flex:0 0 35%;aspect-ratio:1.5;object-fit:cover;border-radius:calc(20 * var(--du));transform:skew(-9deg); }
.gc-rtp-label b { display:block;font-size:clamp(10px,calc(22 * var(--du)),18px);font-weight:400;line-height:1.2; }
.gc-rtp-label em { display:block;font:italic 500 clamp(19px,calc(35 * var(--du)),29px)/1.4 Georgia,serif;color:#efce92; }
.gc-rtp-plot { position:relative;height:calc(85 * var(--du));min-height:40px;border-left:1px dashed #d5ad6d66;border-right:1px dashed #d5ad6d66;background:linear-gradient(90deg,transparent calc(50% - .5px),#c6a16b55 50%,transparent calc(50% + .5px)); }
.gc-rtp-plot::before { content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#c9a36399,transparent); }
.gc-rtp-plot>i { position:absolute;top:50%;width:calc(18 * var(--du));height:calc(18 * var(--du));min-width:8px;min-height:8px;transform:translate(-50%,-50%);border:1px solid #fff0bb;border-radius:50%;background:linear-gradient(#ffe7a4,#d99d43);box-shadow:0 0 10px #e6a75088,0 0 23px #e6a75044;transition:left .35s; }
.gc-rtp-row[aria-pressed="true"] { background:linear-gradient(90deg,#c1943910,transparent); }
.gc-vote-hero { margin:calc(20 * var(--du)) calc(35 * var(--du));border:1px solid #c9b48522;border-radius:calc(30 * var(--du));overflow:hidden;background:#111314; }
.gc-vote-cover { position:relative;min-height:calc(265 * var(--du));isolation:isolate; }
.gc-vote-cover .gc-art { z-index:-1;object-position:center;mask-image:linear-gradient(#000 80%,transparent); }
.gc-vote-cover h3 { width:45%;margin:0;padding:calc(40 * var(--du)) 0 0 calc(30 * var(--du));font:italic 500 clamp(24px,calc(49 * var(--du)),40px)/1.12 Georgia,serif;text-shadow:0 2px 8px #000; }
.gc-vote-actions { display:grid;grid-template-columns:1fr 1fr;gap:calc(12 * var(--du));padding:0 calc(25 * var(--du)) calc(18 * var(--du)); }
.gc-vote-actions button { display:flex;align-items:center;justify-content:center;gap:calc(15 * var(--du));min-height:48px;height:calc(80 * var(--du));padding:10px;border:0;background:var(--vote-glass-idle-v1) center/112% 185% no-repeat;color:#d3cec2;font-size:clamp(14px,calc(30 * var(--du)),25px); }
.gc-vote-actions button.is-on { background-image:var(--vote-glass-active-v1);color:#f9d99b; }
.gc-vote-actions svg { width:calc(45 * var(--du));height:calc(45 * var(--du));min-width:22px;min-height:22px; }
.gc-vote-actions small { font-size:.6em;color:#ad9f86;margin-left:4px; }
.gc-vote-status { min-height:36px;display:grid;place-items:center;text-align:center;margin:calc(14 * var(--du)) calc(35 * var(--du));padding:calc(10 * var(--du)) 10px;color:#d0c3a9;font-size:clamp(12px,calc(24 * var(--du)),20px); }
.gc-vote-row { width:100%;display:grid;grid-template-columns:31% 1fr 7%;gap:calc(24 * var(--du));align-items:center;border:0;border-radius:calc(25 * var(--du));padding:calc(5 * var(--du));margin-bottom:calc(12 * var(--du));min-height:calc(138 * var(--du));background:var(--vote-row-idle-v1) center/105% 210% no-repeat;color:#e8d6b5;text-align:left;overflow:hidden; }
.gc-vote-row.is-on { background-image:var(--vote-row-selected-v1); }
.gc-vote-row img { width:100%;height:calc(125 * var(--du));object-fit:cover;border-radius:calc(22 * var(--du)); }
.gc-vote-row b { display:block;font:italic 500 clamp(17px,calc(33 * var(--du)),27px)/1.16 Georgia,serif; }
.gc-vote-row small { display:block;font-size:clamp(10px,calc(20 * var(--du)),16px);margin-top:5px;color:#b8b4aa; }
.gc-vote-row i { font-size:28px;font-style:normal; }
:root[data-brand="g2g789"] .gc-screen { --gc-cream:#f4dfa8;--gc-ribbon:#c7bb95; }
:root[data-brand="wiss365"] .gc-screen { --gc-cream:#e5c190;--gc-ribbon:#bfa778; }
:root[data-brand="g2g789"] .gc-art,:root[data-brand="g2g789"] .gc-poster img { filter:saturate(.72); }
:root[data-brand="wiss365"] .gc-art,:root[data-brand="wiss365"] .gc-poster img { filter:saturate(.66) sepia(.12); }
@media(hover:hover) and (pointer:fine) {
  .gc-nav button:hover::after { opacity:1; }
  .gc-nav button:hover,.gc-shortcuts button:hover,.gc-vote-actions button:hover { filter:brightness(1.18);transform:translateY(-2px); }
  .gc-gold:hover { filter:brightness(1.12) drop-shadow(0 4px 10px #c1943933);transform:translateY(-2px); }
  .gc-catalog-grid button:hover .gc-poster img { transform:skew(9deg) scale(1.21);filter:brightness(1.12); }
  .gc-rank-row:hover,.gc-vote-row:hover { filter:brightness(1.15);transform:translateY(-2px); }
  .gc-provider:hover { filter:brightness(1.2); }
  .gc-rtp-row:hover .gc-rtp-plot>i { box-shadow:0 0 10px #ffdb9b,0 0 24px #f4cc7388; }
}
@media(max-width:420px) {
  .gc-nav { margin-inline:12px; }
  .gc-heading { min-height:156px;padding-top:65px; }
  .gc-heading p { max-width:60%; }
  .gc-catalog-grid { gap:14px 11px; }
  .gc-vote-row { min-height:76px; }
  .gc-vote-row img { height:68px; }
  .gc-rank-row { min-height:66px;grid-template-columns:7% 26% 1fr 8%; }
  .gc-rank-row>img { height:56px; }
  .gc-shortcuts { margin-inline:14px;gap:4px; }
  .gc-shortcuts button { padding-inline:4px;gap:5px; }
  .gc-vote-cover { min-height:150px; }
  .gc-rtp-hero { min-height:245px; }
  .gc-rtp-hero dl { flex-direction:column;gap:2px; }
}
@media(prefers-reduced-motion:reduce) {
  .gc-screen *,.gc-screen *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

/* Reference light sources: a stationary gold pool for selection, a travelling
   reflection for hover, and a compressed rim for the actual pressed state. */
.dock__btn { position:relative;isolation:isolate; }
.dock__btn:not(:nth-child(3))::before { content:"";position:absolute;z-index:-1;inset:-5px -6px -9px;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 50% 92%,#f6bd6759,transparent 57%);opacity:0;transition:opacity .22s ease; }
.dock__btn.is-on::before { opacity:1; }
.dock__btn.is-on:not(:nth-child(3))::after { position:absolute;bottom:calc(4 * var(--du));left:50%;transform:translateX(-50%);width:calc(24 * var(--du));height:3px;background:#ffe3a2;box-shadow:0 0 5px #fff1c3,0 0 15px #e9ad59,0 3px 19px 5px #cd8a424d; }
.dock__btn.is-on svg { color:#f3d59b;filter:drop-shadow(0 0 7px #e5b46d8c); }
.dock__btn.is-on[data-go="home"] svg { fill:url(#icon-gold-active);stroke:#f5d599; }
.dock__btn:nth-child(3) { transition:transform .22s ease,filter .22s ease,box-shadow .22s ease; }
.dock__btn:nth-child(3).is-on { box-shadow:0 -3px 13px #ffdb9559,0 8px 24px #d7993226;filter:brightness(1.18); }
.home-quick button { isolation:isolate;overflow:visible; }
.home-quick button::before { content:"";position:absolute;z-index:-1;inset:0 4px;border-radius:18px;background:radial-gradient(ellipse at 50% 82%,#e2b26b42,transparent 66%),linear-gradient(125deg,transparent 25%,#fff1ca12 48%,transparent 70%);opacity:0;transform:scale(.92);transition:opacity .22s ease,transform .3s ease;pointer-events:none; }
.home-quick span { transition:transform .22s ease,filter .22s ease; }
.home-quick button:focus-visible::before,.home-quick button:active::before,.dock__btn:focus-visible::before { opacity:1;transform:scale(1); }
.home-quick button:active:not(:disabled) { transform:translateY(1px) scale(.97);filter:none; }
.home-quick button:active:not(:disabled) svg { filter:drop-shadow(0 0 6px #ffdb8d); }
.home-intel__rail button.is-on { box-shadow:inset 0 1px 2px #ffe8bd88,inset 0 -1px 1px #e1aa63,0 4px 15px #c88a3b26; }
.home-intel__rail button.is-on::after { content:"";position:absolute;left:12%;bottom:-1px;width:40%;height:2px;background:linear-gradient(90deg,transparent,#ffe5b0,transparent);box-shadow:0 0 8px #ffd48a;pointer-events:none; }
.home-intel__rail button:active:not(:disabled) { transform:skew(-14deg) translateY(1px) scale(.98); }
.hero-controls { position:absolute;z-index:3;left:50%;bottom:calc(61 * var(--du));transform:translateX(-50%);display:flex;align-items:center;gap:1px; }
.hero-dot { display:grid;place-items:center;width:24px;height:28px;padding:0;border:0;background:none; }
.hero-dot span { width:5px;height:5px;background:#868681;border-radius:99px;transition:width .25s ease,background .25s ease; }
.hero-dot.is-on span { width:14px;background:linear-gradient(#f7dc9e,#b67c37);box-shadow:0 0 8px #d6a45b44; }
.hero-pause { border:1px solid #d7bd7a35;border-radius:50%;background:#090a0e88;color:#dbc18e;padding:0;width:23px;height:23px;font:10px sans-serif; }
.game-grid--poster.home-game-rail .game-tile>img { filter:saturate(.95) brightness(.96); }
@media(hover:hover) and (pointer:fine) {
  .home-quick button:hover:not(:disabled) { transform:translateY(-1px);filter:none; }
  .home-quick button:hover:not(:disabled)::before { opacity:1;transform:scale(1); }
  .home-quick button:hover:not(:disabled) span { color:#ffdf9b;transform:translateY(-2px);filter:drop-shadow(0 0 7px #efc06b99); }
  .home-quick button:hover:not(:disabled) b { color:#fff0cd;text-shadow:0 0 10px #d5a25c66; }
  .dock__btn:hover::before { opacity:1; }
  .dock__btn:hover svg { filter:drop-shadow(0 0 9px #f7d18db3);color:#ffe4ab; }
  .dock__btn:nth-child(3):hover { box-shadow:0 -4px 13px #ffdea466,0 8px 22px #b97e3326;filter:brightness(1.16); }
  .home-intel__rail button:hover { border-color:#d6b47688;box-shadow:inset 0 1px 2px #ffe8bd66,0 4px 16px #d99c4226; }
  .game-grid--poster.home-game-rail .game-tile:hover { transform:translateY(-3px); }
  .game-grid--poster.home-game-rail .game-tile:hover>img { transform:none;filter:saturate(1) brightness(1.08); }
}
@media(prefers-reduced-motion:reduce) {
  .home-hero__slide.is-single { animation:none; }
  .home-hero__slide { transition:none; }
  .home-quick button::before,.home-quick span,.dock__btn::before,.hero-dot span { transition:none; }
  button,.dock__btn:nth-child(3),.quest-feature>img,.game-tile>img { transition:none!important; }
  .home-intel__rail button:hover::before { animation:none; }
}

/* LINE QUEST v2: separate artwork, semantic cards, and on-demand WebGL motion. */
.quest-v2 { position:relative;isolation:isolate;max-width:760px;margin:0 auto;color:#f0dfbd;background:#080a0d;overflow:hidden; }
.quest-v2__heading { position:relative;z-index:2;padding:64px 20px 12px;background:linear-gradient(110deg,#160e12,#080a0d 75%); }
.quest-v2__heading small { color:#c7a872;font-size:9px;letter-spacing:3px; }
.quest-v2__heading h2 { margin:4px 0 0;font:italic 600 clamp(29px,7vw,48px)/1.15 Georgia,serif;color:#f1d496;text-shadow:0 2px 14px #d9a24c26; }
.quest-v2__heading p { margin:4px 0 0;font-size:12px;color:#c8c2b9; }
.quest-v2__hud { position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 12px -26px; }
.quest-v2__hud span { min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d5b57670;border-radius:14px;background:linear-gradient(135deg,#40372bea,#131316ed);box-shadow:inset 0 1px 2px #fff3ca50,0 5px 12px #0008;font-size:8px;letter-spacing:1px;color:#c9bea6; }
.quest-v2__hud b { font:600 20px/1.15 Georgia,serif;color:#f7d99a;letter-spacing:0; }
.quest-v2__scene { position:relative;aspect-ratio:1/1.25;min-height:430px;max-height:840px;isolation:isolate; }
.quest-v2__room { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.quest-v2__cast { position:absolute;z-index:1;inset:0 0 37%;pointer-events:none;overflow:hidden;mask-image:linear-gradient(#000 78%,transparent); }
.quest-v2__cast img { position:absolute;bottom:0;width:55%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 10px #0008); }
.quest-v2__cast .is-0 { left:-9%;transform:rotate(-3deg); }
.quest-v2__cast .is-1 { left:23%;width:54%;z-index:2; }
.quest-v2__cast .is-2 { right:-10%;transform:rotate(3deg); }
.quest-v2__world { position:absolute;z-index:5;inset:30% 0 0;pointer-events:none; }
.quest-v2__world canvas { display:block;width:100%;height:100%; }
.quest-v2__table { position:absolute;z-index:3;inset:48% 5% 26%;display:grid;place-items:center;text-align:center; }
.quest-v2__target { display:flex;align-items:center;gap:10px;padding:7px 18px;background:#080b0de6;border:1px solid #cfb07770;border-radius:12px;box-shadow:0 3px 20px #0009; }
.quest-v2__target small { font-size:11px; }
.quest-v2__target b { font:36px/1 Georgia,serif;color:#f3cd89;text-shadow:0 0 12px #e9b35677; }
.quest-v2__welcome,.quest-v2__reveal { width:100%;padding:14px 8px;background:#080b0de8;border:1px solid #cfb07788;border-radius:16px;box-shadow:0 3px 24px #0009; }
.quest-v2__welcome h3,.quest-v2__reveal h3 { margin:0 0 4px;font-size:17px;color:#f1d496; }
.quest-v2__welcome p,.quest-v2__reveal p { margin:0;font-size:11px;color:#ded5c4; }
.quest-v2__reveal small { display:block;font-size:8px;letter-spacing:2px;color:#66e3d9;margin-bottom:4px; }
.quest-v2__reveal>b { display:block;font-size:18px;color:#fff1c9; }
.quest-v2__hand { position:absolute;z-index:4;bottom:1%;left:7%;right:7%;display:flex;justify-content:center;align-items:end;gap:4px;height:31%;perspective:800px; }
.quest-v2__hand button { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:32%;height:94%;padding:14px 5px;background:var(--quest-card) center/100% 100% no-repeat;border:0;border-radius:11px;color:#f3d195;transform:rotate(calc((var(--card-index) - 1)*8deg));transform-origin:bottom center;transition:transform .22s ease,filter .22s ease;filter:drop-shadow(0 5px 5px #000b);opacity:1; }
.quest-v2__hand button img { width:74px;max-width:84%;height:28px;object-fit:contain; }
.quest-v2__hand button small { max-width:90%;font-size:9px;white-space:nowrap; }
.quest-v2__hand button strong { font:36px/1 Georgia,serif;text-shadow:0 2px 10px #e3a03f77; }
.quest-v2__hand button span { font-size:10px;max-width:94%;overflow-wrap:anywhere; }
.quest-v2__hand button[aria-pressed=true] { transform:translateY(-12px) rotate(0);filter:drop-shadow(0 0 9px #f0c36b99); }
.quest-v2__hand.is-busy button[aria-pressed=true] { opacity:.15; }
.quest-v2__message { position:relative;z-index:6;margin:0 12px;min-height:40px;display:grid;place-items:center;padding:8px 10px;text-align:center;font-size:12px;color:#e7ca92;border-block:1px solid #c5a36870;background:linear-gradient(90deg,#171014,#351719,#171014); }
.quest-v2__actions { display:flex;gap:7px;padding:13px 12px 10px; }
.quest-v2__actions button { flex:1;min-width:0;min-height:56px;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-content:center;align-items:center;border:0;border-radius:22px;background:var(--ui-gold) center/100% 140% no-repeat;color:#221707;font-size:14px;font-weight:600;transition:filter .2s,transform .2s; }
.quest-v2__actions button:nth-child(2) { background-image:var(--settings-glass);background-size:100% 220%;color:#e8d7b1; }
.quest-v2__actions button svg { width:20px;height:20px; }
.quest-v2__actions button small { display:block;flex-basis:100%;font-size:9px;font-weight:400; }
.quest-v2__actions button:disabled { opacity:.4;filter:saturate(.4); }
.quest-v2__actions button:active:not(:disabled) { transform:scale(.96); }
.quest-qr { display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 12px 0;padding:20px;border:1px solid #d6b36e77;border-radius:22px;background:linear-gradient(125deg,#28231bd9,#090d10);box-shadow:inset 0 1px 1px #ffe1a333; }
.quest-qr__code { flex:none;width:164px;max-width:46%;padding:2px;background:#fff;border-radius:10px;overflow:hidden; }
.quest-qr__code svg { display:block;width:100%;height:auto; }
.quest-qr>div:last-child { min-width:0; }
.quest-qr small { color:#d3b57d;font-size:9px;letter-spacing:1px; }
.quest-qr h3 { margin:8px 0;font-size:17px;color:#f1d39b; }
.quest-qr p { margin:0 0 13px;font-size:13px;overflow-wrap:anywhere;color:#eee2c5; }
.quest-qr button { min-height:44px;min-width:110px;padding:8px 18px;border:1px solid #d8be81;border-radius:24px;background:var(--ui-gold) center/100% 140% no-repeat;color:#231909;font:inherit;font-size:14px;cursor:pointer; }
@media(max-width:380px) { .quest-qr { gap:12px;padding:14px; }.quest-qr h3 { font-size:15px; } }
.quest-v2__progress { margin:0 12px 20px;padding:12px 14px;border:1px solid #8d9c9170;border-radius:18px;background:linear-gradient(110deg,#14333599,#1c171699); }
.quest-v2__progress>span { display:flex;justify-content:space-between;font-size:12px; }
.quest-v2__progress>div { display:flex;gap:8px;margin-top:8px; }
.quest-v2__progress i { flex:1;height:5px;border-radius:3px;background:#70716c66; }
.quest-v2__progress i.is-on { background:#54e1d8;box-shadow:0 0 6px #54e1d855; }
.quest-v2 button:focus-visible { outline:2px solid #f8dd9f;outline-offset:3px; }
html[data-brand=g2g789] .quest-v2__room,html[data-brand=g2g789] .quest-v2__cast { filter:saturate(.65); }
html[data-brand=wiss365] .quest-v2__room,html[data-brand=wiss365] .quest-v2__cast { filter:saturate(.38) brightness(1.05); }
@media(min-width:600px) { .quest-v2__hud span { min-height:62px;font-size:11px; }.quest-v2__hud b {font-size:25px;}.quest-v2__heading{padding:76px 26px 20px;}.quest-v2__hand button strong{font-size:62px;}.quest-v2__hand button small,.quest-v2__hand button span{font-size:14px;}.quest-v2__welcome h3,.quest-v2__reveal h3{font-size:24px;}.quest-v2__welcome p,.quest-v2__reveal p{font-size:15px;} }
@media(hover:hover) { .quest-v2__hand button:hover:not(:disabled) { transform:translateY(-9px) rotate(0);filter:drop-shadow(0 0 8px #ffdb9277); }.quest-v2__actions button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px);} }
@media(prefers-reduced-motion:reduce) { .quest-v2 * { animation:none!important;transition:none!important; } }

.match-screen { padding-bottom:20px; }
.match-screen .gc-heading { min-height:190px; }
.match-source { display:flex;justify-content:space-between;align-items:center;margin:16px 20px;color:#c7bea9;font-size:11px; }
.match-source>span { display:flex;gap:7px;align-items:center;letter-spacing:.08em; }
.match-source i { width:6px;height:6px;border-radius:50%;background:#86857c; }
.match-source .is-live i { background:#5ed9bd;box-shadow:0 0 8px #5ed9bd77; }
.match-source small { font-size:10px;color:#9b978e; }
.match-await { margin:20px;padding:30px 18px;text-align:center;border:1px solid #d0b57c40;border-radius:24px;background:linear-gradient(145deg,#25232077,#090c10); }
.match-await>span { display:grid;place-items:center;margin:0 auto 18px;width:68px;height:68px;border:1px solid #bd965d77;border-radius:50%;background:radial-gradient(ellipse at 50% 10%,#bd965d44,transparent 70%);box-shadow:inset 0 1px 2px #f8db9c33; }
.match-await>span svg { width:34px;height:34px;color:#e6c78a; }
.match-await h3 { font-size:18px;font-weight:500;color:#ebd2a0; }
.match-await p { margin:12px 0 20px;font-size:13px;line-height:1.8;color:#c5c1b7; }
.match-await a { display:inline-flex;gap:18px;justify-content:center;align-items:center;min-height:48px;min-width:190px;padding:8px 25px;background:var(--ui-gold) center/100% 140% no-repeat;color:#201707;text-decoration:none;font-size:14px;font-weight:600; }
.match-await>small { display:block;margin-top:9px;color:#88877e;font-size:11px; }
.match-screen .match-list { margin-inline:18px;gap:14px; }
.match-list .match-card { border-color:#c5a36666;border-radius:18px;background:linear-gradient(125deg,#27272399,#0c0e10e8);box-shadow:inset 0 1px 1px #fff2,0 8px 20px #0004; }
.match-list .match-card--featured { background:linear-gradient(#14151444,#0a0b0b55),var(--match-stadium) center/cover;box-shadow:inset 0 1px 2px #ffe3a877,0 0 14px #ca9b2520; }
.match-list .match-card header { font-size:11px;padding:12px 16px;background:linear-gradient(110deg,#ddc4900b,transparent); }
.match-list .match-card header em { font-size:10px;font-weight:400; }
.match-list .match-card__teams { grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);padding:18px 12px; }
.match-list .match-card__teams>div { min-width:0;gap:12px; }
.match-list .match-card__teams b { font-size:12px;font-weight:400;min-height:34px;overflow-wrap:anywhere; }
.match-list .match-card__teams>strong span { font:italic 36px Georgia,serif;color:#efce8c;text-shadow:0 0 14px #ce9e4455; }
.match-list .match-card__teams>strong small { display:none; }
.match-card--featured .match-crest { width:64px;height:64px; }
.match-card--featured .match-crest>img { width:100%;height:100%; }
.match-card--compact .match-card__teams { padding:12px; }
.match-card--compact .match-card__teams>div { display:flex;gap:8px;align-items:center; }
.match-card--compact .match-card__teams>div:last-child { flex-direction:row-reverse; }
.match-card--compact .match-crest { width:34px;height:34px; }
.match-card--compact .match-crest>img { width:100%;height:100%; }
.match-list .match-card--compact .match-card__teams b { font-size:11px;min-height:0;text-align:left; }
.match-list .match-card--compact .match-card__teams>div:last-child b { text-align:right; }
.match-list .match-card--compact .match-card__teams>strong span { font-size:28px; }
.match-card--compact .match-details summary { padding:10px 0;font-size:11px; }
@media(min-width:600px) { .match-list .match-card__teams b { font-size:16px; }.match-list .match-card--compact .match-card__teams b { font-size:14px; }.match-list .match-card__teams>strong span { font-size:54px; }.match-card--featured .match-crest { width:80px;height:80px; } }
@media(max-width:380px) { .match-card--compact .match-card__teams>div { flex-direction:column; }.match-card--compact .match-card__teams>div:last-child { flex-direction:column; }.match-list .match-card--compact .match-card__teams b { text-align:center; }.match-list .match-card--compact .match-card__teams>div:last-child b { text-align:center; } }

.match-filters { display:flex;gap:6px;margin:18px; }
.match-filters button { flex:1;min-width:0;padding:11px 3px;border:1px solid #d3b67930;border-radius:12px;background:#141414;color:#b5b0a7;font:inherit;font-size:11px;cursor:pointer; }
.match-filters button[aria-pressed="true"] { color:#f5d994;background:var(--ui-tab) center/100% 100% no-repeat;border-color:#d3b67977;box-shadow:0 0 14px #c4933822; }
.match-date { text-align:center;color:#aaa494;font-size:11px;margin:13px 0 0; }
.match-crest { position:relative;display:grid;place-items:center;width:52px;height:52px;flex:none; }
.match-crest>svg { width:28px;height:28px;opacity:.35;color:#c1b17f; }
.match-crest>img { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111315;border-radius:6px; }
.match-crest>img[data-failed="true"] { display:none; }
.match-details { margin:0 12px;border-top:1px solid #d3b67925; }
.match-details summary { padding:12px 0;display:flex;justify-content:space-between;color:#d8c495;font-size:12px;cursor:pointer; }
.match-details[open] summary i { transform:rotate(180deg); }
.match-details p { color:#b7b3a9;font-size:12px; }
.match-details ol { list-style:none;margin:0;padding:0; }
.match-details li { display:grid;grid-template-columns:35px 1fr 45px;gap:8px;padding:10px 0;border-top:1px solid #ffffff0b;font-size:11px; }
.match-details time { color:#d9bf82; }
.match-details a { display:block;padding:14px 0;color:#cfb77f;font-size:11px; }
.match-attribution { margin:24px 20px 10px;font-size:11px;line-height:1.8;color:#939089; }
.match-attribution a { color:#c9b27f; }
.match-warning { margin:12px 18px;padding:12px;border:1px solid #c79e4544;border-radius:12px;color:#dcc28c;font-size:12px; }
.match-standings { margin:18px;padding:14px 10px;border:1px solid #d3b67930;border-radius:16px;background:#0d1012; }
.match-standings h3 { margin:0;color:#dfc891;font-size:17px; }
.match-standings>small { color:#8f8c83;font-size:10px; }
.match-standings table { width:100%;border-collapse:collapse;font-size:11px;margin-top:12px; }
.match-standings th,.match-standings td { padding:11px 4px;text-align:center;border-bottom:1px solid #ffffff0d; }
.match-standings thead th { color:#b9a67b;font-weight:400; }
.match-standings tbody th { display:flex;align-items:center;gap:7px;text-align:left;font-weight:400; }
.match-standings .match-crest { width:26px;height:26px; }
.match-standings .match-crest img { width:26px;height:26px; }
.match-standings td:last-child { color:#ead193; }
.match-card__teams img { width:52px;height:52px;object-fit:contain; }
.match-crest-missing { display:grid;place-items:center;height:52px;color:#a8a49a; }
.match-crest-missing svg { width:34px;height:34px; }
@media(hover:hover) { .match-await a:hover { filter:brightness(1.12); } }
