/* Shared game menus: launch, pause menu, settings sheets and results. Semantic tokens only. */
:root{--celebrate-1:#f2b705;--celebrate-2:#0f9d8a;--celebrate-3:#ef6c4a;--celebrate-4:#7c5cff;--game-glow:color-mix(in srgb,var(--accent) 22%,transparent);--game-cta:linear-gradient(135deg,var(--accent-solid),color-mix(in srgb,var(--accent-solid) 72%,var(--celebrate-4)))}
@media(prefers-color-scheme:dark){:root{--celebrate-1:#ffd166;--celebrate-2:#65dfca;--celebrate-3:#ff9b7a;--celebrate-4:#b4a3ff;--game-cta:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 76%,var(--celebrate-4)))}}
.game-mode-source,.game-mode-hidden{display:none!important}
.game-glyph{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Launch */
.game-launch{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:16px;overflow:auto;overscroll-behavior:contain;isolation:isolate;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 46%),radial-gradient(circle at 92% 96%,color-mix(in srgb,var(--celebrate-1) 16%,transparent),transparent 42%),var(--bg)}
.game-launch[hidden]{display:none}
.game-launch::before{content:"";position:absolute;inset:-30%;z-index:-1;background:conic-gradient(from 0deg at 50% 50%,transparent,color-mix(in srgb,var(--accent) 7%,transparent),transparent 30%);animation:game-drift 24s linear infinite;pointer-events:none}
.game-launch-card{width:min(100%,460px);max-height:100%;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px;text-align:center;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px color-mix(in srgb,var(--text) 12%,transparent);overflow:auto;overscroll-behavior:contain;animation:game-rise .45s cubic-bezier(.2,.8,.2,1) both}
.game-launch-hero{display:grid;justify-items:center;gap:6px}
.game-launch-icon{width:76px!important;height:76px!important;border-radius:20px;box-shadow:0 10px 26px var(--game-glow);animation:game-float 5s ease-in-out infinite}
.game-launch-card h2{font-size:clamp(24px,6vw,30px);line-height:1.12;margin:2px 0 0;letter-spacing:-.01em}
.game-launch-summary{margin:0;color:var(--muted);font-size:13px}
.game-launch-summary.is-error{color:var(--danger);font-weight:650}
.game-launch-tips{display:grid;gap:4px;margin:4px 0 0;padding:10px 12px 10px 30px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:13px;line-height:1.4;text-align:left}
.game-launch-tips[hidden]{display:none}
.game-launch-actions{display:flex;flex-wrap:wrap;gap:8px}
.game-launch-actions[hidden]{display:none}
.game-launch-actions>.btn{flex:1 1 140px;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.game-launch-card .game-launch-play{flex-basis:100%;min-height:56px;font-size:18px;font-weight:750;border-radius:16px;position:relative;overflow:hidden;background:var(--game-cta);border-color:transparent;color:var(--on-accent);box-shadow:0 10px 24px var(--game-glow)}
.game-launch-play .game-glyph{fill:currentColor;stroke:none}
.game-launch-play::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff40 50%,transparent 70%);transform:translateX(-120%);animation:game-shine 3.6s ease-in-out 1s infinite}
.game-launch-play:disabled::after{display:none}
.game-launch-card>.btn-ghost{align-self:center;min-height:44px}
.game-launch-options{display:grid;gap:10px;text-align:left;padding:12px;border-radius:16px;background:var(--surface-2)}
.game-launch-options[hidden]{display:none}
.game-launch-options :is(.game-options,.cg-options,.bg-options,.ed-options,.ag-options){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;max-width:100%;border:0;background:none}
.game-launch-options .field{min-width:0;margin:0}
.game-launch-options label{font-size:12px;font-weight:650;color:var(--muted)}
.game-launch-options :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%;min-width:0;min-height:44px;border-radius:12px;background:var(--surface);color:var(--text)}

/* Single player / Multiplayer */
.game-mode-tabs{display:grid;gap:8px}
.game-mode-tabs[hidden]{display:none}
.game-mode-primary{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.game-mode-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.game-mode-tab:hover{color:var(--text)}
.game-mode-tab[aria-selected=true]{background:var(--surface);color:var(--accent-strong);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 12%,transparent)}
.game-mode-tab:focus-visible,.game-mode-option:focus-visible,.game-pause-tile:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.game-mode-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;animation:game-rise .3s ease both}
.game-mode-option{display:grid;gap:2px;min-height:56px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.game-mode-option small{color:var(--muted);font-size:12px}
.game-mode-option[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.game-launch[data-mode=online] .game-launch-icon{width:52px!important;height:52px!important}

/* Online lobby inside the launch card */
.game-launch .online-panel{display:grid;gap:10px;text-align:left}
.game-launch .online-board,.game-launch .online-chat{display:none}
.game-launch .online-secondary{display:grid;gap:10px}
.game-launch .online-panel [role=status]:empty{display:none}
.game-launch .online-panel [role=status]{margin:0;padding:8px 12px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);font-weight:650;font-size:13px}
.online-field{display:grid;gap:4px;font-size:12px;font-weight:650;color:var(--muted)}
.online-field input{min-height:46px;border-radius:12px;font-size:16px;background:var(--surface);color:var(--text)}
.online-host,.online-join{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}
.online-host label{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:13px}
.online-join .online-field{min-width:0}
.game-launch .online-panel .btn{min-height:46px;white-space:normal}
.online-note{margin:0;font-size:12px;color:var(--muted)}

/* Pause menu and game sheets */
.game-pause-menu,.game-sheet{width:min(440px,calc(100vw - 24px));border-radius:24px;padding:18px;border:1px solid var(--line);box-shadow:0 24px 60px color-mix(in srgb,#000 30%,transparent)}
.game-pause-menu[open],.game-sheet[open]{animation:game-pop .28s cubic-bezier(.2,.9,.25,1.1) both}
.game-pause-menu::backdrop,.game-sheet::backdrop{background:color-mix(in srgb,var(--bg) 55%,#000 25%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.game-pause-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 12px;margin-bottom:14px}
.game-pause-head h2{margin:0;font-size:28px;line-height:1.1;letter-spacing:-.01em}
.game-pause-eyebrow{grid-column:1;margin:0;color:var(--accent-strong);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-pause-head>h2{grid-column:1}
.game-pause-note{grid-column:1/-1;margin:6px 0 0;font-size:13px;color:var(--muted)}
.game-pause-close{grid-column:2;grid-row:1/span 2;width:44px;height:44px;border-radius:14px}
.game-pause-close .game-glyph{width:20px;height:20px}
.game-pause-resume{width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:750;border-radius:16px;background:var(--game-cta);border-color:transparent;color:var(--on-accent);box-shadow:0 10px 24px var(--game-glow)}
.game-pause-resume .game-glyph{fill:currentColor;stroke:none}
.game-pause-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.game-pause-tile{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:650;text-align:left;cursor:pointer;transition:transform .15s,background .2s,border-color .2s;animation:game-rise .32s ease both}
.game-pause-tile:nth-child(2){animation-delay:.03s}.game-pause-tile:nth-child(3){animation-delay:.06s}.game-pause-tile:nth-child(4){animation-delay:.09s}.game-pause-tile:nth-child(5){animation-delay:.12s}.game-pause-tile:nth-child(6){animation-delay:.15s}.game-pause-tile:nth-child(7){animation-delay:.18s}
.game-pause-tile:hover{background:var(--surface-3);border-color:var(--line-strong)}
.game-pause-tile:active{transform:scale(.97)}
.game-pause-tile .game-glyph{color:var(--accent-strong)}
.game-pause-tile span{min-width:0;line-height:1.2}
.game-pause-tile.is-armed{border-color:var(--warn);background:var(--warn-soft)}
.game-pause-tile.is-armed .game-glyph{color:var(--warn)}
.game-pause-tile.is-quit{grid-column:1/-1;justify-content:center;background:transparent;border-color:var(--line-strong)}
.game-pause-tile.is-quit .game-glyph{color:var(--danger)}
.game-pause-extra{display:grid;gap:8px;margin-top:8px}
.game-pause-extra .btn{min-height:48px;width:100%}
.game-sheet h2{font-size:24px;margin:0 0 12px}
.game-sheet>.btn:last-child{width:100%;min-height:48px}
.game-settings{display:grid;gap:14px}
.game-settings-group{display:grid;gap:4px;padding:12px;border-radius:16px;background:var(--surface-2)}
.game-settings-group h3{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.game-settings-group :is(.game-options,.cg-options,.bg-options,.ed-options,.ag-options){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;border:0;background:none}
.game-switch{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:0!important;cursor:pointer}
.game-switch-text{display:grid;gap:1px}
.game-switch-text small{color:var(--muted);font-size:12px;font-weight:400}
.game-switch input[role=switch]{appearance:none;-webkit-appearance:none;flex:none;width:50px;height:30px;margin:0;border-radius:999px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .2s}
.game-switch input[role=switch]::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.game-switch input[role=switch]:checked{background:var(--accent-solid)}
.game-switch input[role=switch]:checked::after{transform:translateX(20px)}
.game-switch input[role=switch]:disabled{opacity:.45;cursor:not-allowed}
.game-switch input[role=switch]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.game-rules{display:grid;gap:10px;line-height:1.55}

/* Paused and result overlays */
.game-shell-overlay{position:absolute;inset:calc(56px + var(--safe-top)) 0 0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:16px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.game-shell-overlay[hidden]{display:none}
.game-paused-card{display:grid;justify-items:center;gap:10px;animation:game-rise .3s ease both}
.game-paused-card>.game-glyph{width:44px;height:44px;padding:12px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);fill:currentColor;stroke:none;box-sizing:content-box}
.game-paused-card h2{margin:0;font-size:26px}
.game-paused-card .btn{min-width:180px;min-height:50px}
.game-result{--tone:var(--accent);--tone-soft:var(--accent-soft);overflow:hidden}
.game-result[data-tone=victory]{--tone:var(--celebrate-1);--tone-soft:color-mix(in srgb,var(--celebrate-1) 22%,var(--surface))}
.game-result[data-tone=level]{--tone:var(--celebrate-4);--tone-soft:color-mix(in srgb,var(--celebrate-4) 18%,var(--surface))}
.game-result[data-tone=defeat]{--tone:var(--muted);--tone-soft:var(--surface-2)}
.game-result[data-tone=draw]{--tone:var(--accent);--tone-soft:var(--accent-soft)}
.game-result-card{width:min(100%,440px);max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;padding:22px 18px 18px;text-align:center;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px color-mix(in srgb,var(--text) 16%,transparent);overflow:hidden;position:relative;animation:game-pop .45s cubic-bezier(.2,.9,.25,1.15) both}
.game-result-card::before{content:"";position:absolute;inset:0 0 auto;height:120px;background:radial-gradient(ellipse at 50% 0%,var(--tone-soft),transparent 72%);pointer-events:none}
.game-result-detail{position:relative;display:grid;justify-items:center;gap:8px;min-height:0;overflow:auto;overscroll-behavior:contain}
.game-result-badge{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--tone-soft);color:var(--tone);box-shadow:0 0 0 8px color-mix(in srgb,var(--tone) 12%,transparent);animation:game-badge .6s cubic-bezier(.2,1.4,.4,1) .1s both}
.game-result-badge .game-glyph{width:38px;height:38px;stroke-width:1.7}
.game-result[data-tone=victory] .game-result-badge,.game-result[data-tone=level] .game-result-badge{animation:game-badge .6s cubic-bezier(.2,1.4,.4,1) .1s both,game-glow 2.4s ease-in-out .8s infinite}
.game-result[data-tone=level] .game-result-badge .game-glyph{fill:currentColor}
.game-result-eyebrow{margin:4px 0 0;color:var(--tone)!important;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.game-result[data-tone=defeat] .game-result-eyebrow{color:var(--muted)!important}
.game-result-card h2{margin:0;font-size:clamp(28px,7vw,40px);line-height:1.08;letter-spacing:-.02em}
.game-result-description{margin:0;color:var(--muted)}
.game-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;width:100%;margin:6px 0 0}
.game-result-stats>div{display:grid;gap:2px;padding:10px;border-radius:14px;background:var(--surface-2);animation:game-rise .35s ease both}
.game-result-stats>div:nth-child(2){animation-delay:.06s}.game-result-stats>div:nth-child(3){animation-delay:.12s}.game-result-stats>div:nth-child(4){animation-delay:.18s}
.game-result-stats dt{color:var(--muted);font-size:12px}
.game-result-stats dd{margin:0;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.game-result-actions{display:grid;gap:8px}
.game-result-actions .btn{min-width:0;min-height:46px;white-space:normal}
.game-result-actions .btn-primary{min-height:54px;font-size:18px;font-weight:750;border-radius:16px;background:var(--game-cta);border-color:transparent;color:var(--on-accent);box-shadow:0 10px 24px var(--game-glow)}
.game-result-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.game-level-banner{position:absolute;left:50%;top:calc(76px + var(--safe-top));z-index:5;display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--game-cta);color:var(--on-accent);font-size:18px;box-shadow:0 12px 30px var(--game-glow);transform:translateX(-50%);pointer-events:none;animation:game-banner 2.2s cubic-bezier(.2,.9,.25,1.1) both}
.game-level-banner .game-glyph{fill:currentColor;stroke:none}
@keyframes game-banner{0%{opacity:0;transform:translate(-50%,-14px) scale(.85)}12%,80%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
.game-confetti{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}
.game-confetti i{position:absolute;top:-16px;left:var(--x);width:8px;height:14px;border-radius:2px;background:var(--color);opacity:0;animation:game-confetti var(--fall) cubic-bezier(.25,.6,.35,1) var(--delay) forwards}
.game-confetti i:nth-child(3n){width:10px;height:10px;border-radius:50%}

@keyframes game-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes game-pop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}
@keyframes game-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-2deg)}}
@keyframes game-shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes game-drift{to{transform:rotate(360deg)}}
@keyframes game-badge{from{opacity:0;transform:scale(.3) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes game-glow{0%,100%{box-shadow:0 0 0 8px color-mix(in srgb,var(--tone) 12%,transparent)}50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--tone) 6%,transparent)}}
@keyframes game-confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}85%{opacity:1}100%{opacity:0;transform:translate(var(--drift),105vh) rotate(var(--spin))}}

@media(max-height:500px) and (orientation:landscape){
 .game-launch{padding:8px}
 .game-launch-card{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);width:min(100%,760px);gap:8px 16px;padding:12px;text-align:left}
 .game-launch-card>:not(.game-launch-options):not(.online-panel){grid-column:1}
 .game-launch-card>:is(.game-launch-options,.online-panel){grid-column:2;grid-row:1/span 6;max-height:100%;overflow:auto}
 .game-launch .game-launch-card>.game-mode-tabs{grid-column:1/-1}
 .game-launch-card:has(>.game-mode-tabs:not([hidden]))>:is(.game-launch-options,.online-panel){grid-row:2/span 6}
 .game-mode-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .game-mode-option{min-height:44px}
 .game-launch-hero{justify-items:start;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}
 .game-launch-icon{width:40px!important;height:40px!important;grid-row:1/span 2}
 .game-launch-hero .game-launch-rating{grid-column:2;justify-self:start;margin:0 0 0 -6px}
 .game-launch-card h2{font-size:20px}
 .game-launch-card .game-launch-play{min-height:46px}
 .game-launch-tips{display:none!important}
 .game-mode-tab{min-height:40px}
 .game-result-card{width:min(100%,720px);grid-template-columns:minmax(0,1fr) minmax(220px,40%);grid-template-rows:minmax(0,1fr);text-align:left;padding:14px}
 .game-result-detail{justify-items:start}
 .game-result-badge{width:52px;height:52px}
 .game-result-badge .game-glyph{width:28px;height:28px}
 .game-result-actions{align-content:center}
 .game-pause-menu{width:min(620px,calc(100vw - 24px));padding:14px}
 .game-pause-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Short landscape games without a control dock keep the full height for the board; status moves to a side column. */
@media(max-height:500px) and (orientation:landscape){
 .game-immersive .native-game-root.native-game-no-controls:not(:has(.bs-stage,.tavla-point)){grid-template-columns:minmax(0,1fr) minmax(160px,24%);grid-template-rows:minmax(0,1fr)}
 .game-immersive .native-game-root.native-game-no-controls:not(:has(.bs-stage,.tavla-point))>.native-game-arena{grid-column:1;grid-row:1}
 .game-immersive .native-game-root.native-game-no-controls:not(:has(.bs-stage,.tavla-point))>.native-game-hud{grid-column:2;grid-row:1;align-self:start;flex-wrap:wrap;max-height:100%}
}
@media(min-width:700px){.game-pause-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-pause-menu{width:min(560px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){
 .game-launch::before,.game-launch-icon,.game-launch-play::after,.game-result-badge{animation:none!important}
 .game-launch-card,.game-pause-menu[open],.game-sheet[open],.game-pause-tile,.game-result-card,.game-result-stats>div,.game-mode-secondary,.game-paused-card{animation:none!important}
 .game-level-banner{animation:none!important;opacity:1}
 .game-confetti{display:none}
}
/* Screens never scroll as a whole; only the launch card's own content scrolls. The drifting
   background stays inside the screen instead of widening it. */
.game-launch{overflow:hidden;overscroll-behavior:none}
.game-launch-card{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Readable minimum sizes on phones: labels, clues and counters stay at least 11 px, card and piece text at
   least 12 px, and board symbols at least 10 px. Boards that cannot fit larger text pan inside their arena. */
.game-immersive .game-shell .pz-clue{font-size:clamp(11px,1.4vw,.85rem)}
.game-immersive .game-shell .pz-kakuro-clue{font-size:clamp(11px,1.6vw,.9rem)}
.game-immersive .game-shell [data-card-game] .card-stock-count{font-size:12px}
.game-immersive .game-shell .tavla-number{font-size:clamp(11px,2.8vw,13px)}
.game-immersive .game-shell .tavla-count{font-size:12px}
.game-immersive .game-shell .die small{font-size:11px}
.game-immersive .game-shell .kalah-pit-label{font-size:11px}
.game-immersive .game-shell .sl-course .bg-ladder-cell{font-size:clamp(11px,2.9vw,14px)}
.game-immersive .game-shell :is(.bs-columns,.bs-rows){font-size:11px}
.game-immersive .game-shell .bs-caption{font-size:12px}
.game-immersive .game-shell .cg-seat small,.game-immersive .game-shell .cg-meld small{font-size:11px}
.game-immersive .game-shell .cg-backs b{font-size:12px}
.game-immersive .game-shell .cg-clock-pile h3{font-size:11px}
.game-immersive .game-shell :is(.bg-cell,.bg-ladder-cell,.bg-dot,.bg-box){font-size:clamp(12px,3vw,16px)}
.game-immersive .game-shell .cg-snake span{font-size:clamp(10px,2.8vw,.9rem)}
.game-immersive .game-shell :is(.tavla-bar,.tavla-off){font-size:11px}

.game-result-records{margin:0;color:var(--muted);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
/* Pause menu: the game's rating beside its name opens the focused rating dialog. */
.game-pause-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;overflow:visible;white-space:normal}
:is(.game-pause-menu,.game-launch-hero) .game-pause-rating{display:inline-flex;align-items:center;gap:1px;min-height:44px;min-width:44px;padding:0 6px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;height:auto;cursor:pointer}
.game-pause-rating:hover,.game-pause-rating:focus-visible{background:color-mix(in srgb,currentColor 10%,transparent)}
.game-pause-star{width:16px;height:16px;fill:none;stroke:#a86f00;stroke-width:1.6}.game-pause-star.is-on{fill:#a86f00}
.game-pause-rating-value{margin-left:5px;color:var(--muted)}
/* Launch screen (from the second visit): the same rating control under the summary, opened only by a tap. */
.game-launch-hero .game-launch-rating{align-self:center;justify-self:center;margin:2px auto 0}
@media (prefers-color-scheme:dark){.game-pause-star{stroke:#f2c14e}.game-pause-star.is-on{fill:#f2c14e}}
/* Phone and touch-tablet launch content has no outer card or nested side padding. */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 .game-launch{padding:12px 8px}
 .game-launch-card{width:100%;max-width:none;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
 .game-launch-options{padding:10px 0;border-radius:0;background:transparent}
 .game-shell-content>.panel{padding-inline:0;border:0;border-radius:0;box-shadow:none}
}
