/* Shared dialog coverage; one start-panel language for every mode. */
.game-flow-surface[data-game-flow-state="READY"]{--start-accent:#bc9aff;--start-edge:#54416e;--start-surface:#191721}
.game-flow-surface[data-game-flow-state="READY"][data-presentation-skin="halloween"]{--start-accent:#ffc17a;--start-edge:#735038;--start-surface:#211a20}
body .game-flow-surface[data-game-flow-state="READY"].game-flow-open,
body .game.game-flow-surface[data-game-flow-state="RESULT"].game-flow-open{overflow:visible!important}
/* Blockfall results are viewport dialogs just like their start screen. The
   legacy game section can be shorter than the viewport minus the real header,
   so an absolute result layer leaves an uncovered strip below the section.
   Keep the result's existing theme, card sizing and stacking order. */
body .game.game-flow-surface[data-game-flow-state="RESULT"]>.game-flow-layer{
 position:fixed!important;inset:0!important;width:100%!important;height:100%!important
}
/* READY must allow the fixed dialog; the old off-canvas light circles must not
   expand the document while that overflow is visible. Gameplay keeps its lights. */
body .game.tetris-visual-v2.game-flow-surface[data-game-flow-state="READY"]::before,
body .game.tetris-visual-v2.game-flow-surface[data-game-flow-state="READY"]::after{display:none!important}
body .game-flow-surface[data-game-flow-state="READY"] .game-flow-layer{
 position:fixed!important;inset:0!important;width:100%!important;height:100%!important;
 box-sizing:border-box;display:grid;place-items:center;overflow:hidden;
 padding:calc(var(--app-header-height,58px) + 12px) 16px calc(16px + env(safe-area-inset-bottom))!important;
 background:rgba(7,8,15,.86)!important;backdrop-filter:blur(5px)
}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card{
 box-sizing:border-box;width:min(100%,540px)!important;max-width:540px!important;min-width:0!important;
 height:auto!important;min-height:0!important;max-height:100%!important;overflow:auto!important;
 margin:0!important;padding:24px!important;border:1px solid var(--start-edge)!important;border-radius:14px!important;
 background:linear-gradient(145deg,var(--start-surface),#11131d)!important;
 box-shadow:0 20px 64px #0008!important;color:#f6f3fa;text-align:center;scrollbar-width:thin;scrollbar-color:var(--start-edge) transparent;
 overscroll-behavior:contain;scroll-padding-block:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%
}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card::before,
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card::after{display:none!important}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(h1,h2){font-size:clamp(1.35rem,3.5vw,1.8rem)!important;line-height:1.15!important;margin:8px 0 10px!important;text-wrap:balance;overflow-wrap:normal}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card>p{font-size:.85rem!important;line-height:1.5!important;max-width:none!important;margin:10px 0!important;color:#c9c4d0}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card>.eyebrow{display:block;color:var(--start-accent)!important;font-size:.66rem!important;line-height:1.5;letter-spacing:.09em!important}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(.journey-modal-logo,.halloween-result-crest){max-height:64px!important;width:auto!important;max-width:180px!important;margin:0 auto 12px!important;object-fit:contain}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(.game-modal-emblem,.match3-modal-hero){height:44px!important;width:60px!important;margin:0 auto 12px!important}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules{
 display:block;box-sizing:border-box;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:16px 0!important;
 padding:14px!important;border:1px solid var(--start-edge,#54416e)!important;border-radius:8px!important;
 background:#090b124d!important;text-align:left!important;box-shadow:none!important
}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules>strong{display:block;margin:0 0 10px!important;color:var(--start-accent,#bc9aff)!important;font-size:.72rem!important;line-height:1.4;letter-spacing:.04em;text-transform:none}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules ul{
 display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-height:none!important;
 overflow:visible!important;margin:0!important;padding:0!important;list-style:none!important
}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules li{
 display:flex!important;align-items:flex-start;gap:10px!important;min-width:0;min-height:0!important;
 margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;
 box-shadow:none!important;font-size:.8rem!important;line-height:1.45!important;color:#e2dde7!important
}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules li::before{display:none!important}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;color:var(--start-accent,#bc9aff)}
body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules span{min-width:0;overflow-wrap:anywhere;font-size:.8rem!important;line-height:1.45!important}
body .game-flow-surface[data-game-flow-state="RESULT"] .game-start-rules{display:none!important}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(.modal-actions,.match3-modal-actions){display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:10px!important;margin:16px 0 0!important;position:relative!important;inset:auto!important}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(.modal-actions,.match3-modal-actions)>.button{min-height:46px!important;height:auto!important;max-width:none!important;margin:0!important;padding:11px 12px!important;border-radius:7px!important;font-size:.85rem!important;line-height:1.3!important;white-space:normal;box-shadow:none!important}
body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .button:focus-visible{outline:2px solid var(--start-accent)!important;outline-offset:3px}
@media(min-width:620px){body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules li:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:620px){
 body .game-flow-surface[data-game-flow-state="READY"] .game-flow-layer{padding-left:12px!important;padding-right:12px!important;padding-top:calc(var(--app-header-height,58px) + 8px)!important}
 body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card{padding:18px!important;border-radius:12px!important}
 body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules{margin:12px 0!important;padding:12px!important}
 body .has-consent-banner .game-flow-surface[data-game-flow-state="READY"] .game-flow-layer{padding-bottom:calc(var(--game-consent-height,160px) + 12px + env(safe-area-inset-bottom))!important}
}
@media(max-height:720px){
 body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card{padding:14px!important}
 body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card :is(.game-modal-emblem,.match3-modal-hero,.halloween-result-crest){display:none!important}
 body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .journey-modal-logo{max-height:40px!important;margin-bottom:8px!important}
 body .game-flow-surface[data-game-flow-state] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card .game-start-rules ul{gap:7px!important}
}
@media(prefers-reduced-motion:reduce){body .game-flow-surface[data-game-flow-state="READY"] :is(#game-overlay,.match3-overlay) :is(.modal,.match3-modal).game-flow-card{animation:none!important;transition:none!important}}
