html .game-shell[data-phone-layout=portrait]{overflow:visible}html .game-shell[data-phone-layout=portrait]>.game-controls{position:relative;bottom:auto}html .game-shell[data-phone-layout=portrait]:has(.phone-ad-reserve)>.game-controls{--dock-height:var(--game-dock-clearance);padding-bottom:4px}html .game-shell[data-phone-layout=portrait]>.game-main{align-items:flex-start;padding-top:8px}html .game-shell[data-phone-layout=portrait] .board{margin-top:0;padding-top:0}.phone-game-status{color:var(--room-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;order:2;justify-content:center;align-items:center;gap:8px;padding:0 12px 8px;font-size:13px;font-weight:400;line-height:18px;display:flex}html .game-shell[data-phone-layout=portrait] .game-control-menu:not(.game-switcher-mobile-menu){width:min(360px,100vw - 24px);max-height:calc(100dvh - var(--header-height) - var(--dock-height) - var(--phone-ad-height,0px) - 40px);position:absolute;bottom:calc(100% + 8px);left:auto;right:0}html[dir=rtl] .game-shell[data-phone-layout=portrait] .game-control-menu:not(.game-switcher-mobile-menu){left:0;right:auto}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-stock{grid-column:7}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-waste{grid-column:6}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-foundation-0{grid-column:1}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-foundation-1{grid-column:2}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-foundation-2{grid-column:3}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .board>.pile-foundation-3{grid-column:4}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .waste-fan:has(.waste-card-2){transform:translateX(calc(var(--card-w) * -.18))}html[data-mobile-deck-side=right] .game-shell[data-phone-layout=portrait] .waste-fan:has(.waste-card-3){transform:translateX(calc(var(--card-w) * -.36))}html .game-shell[data-phone-layout=landscape]{--header-height:calc(64px + env(safe-area-inset-top,0px));--dock-height:44px;overflow:visible}html .game-shell[data-phone-layout=landscape]>.game-header{min-height:var(--header-height);height:var(--header-height);padding:calc(6px + env(safe-area-inset-top,0px)) max(18px, env(safe-area-inset-right,0px)) 6px max(18px, env(safe-area-inset-left,0px));background:var(--room-rail);border-bottom:1px solid var(--room-seam,#ffffff1f);z-index:calc(var(--z-controls) + 1);display:block}.phone-actions,.phone-actions-start,.phone-actions-end,.phone-hud-start{align-items:center;gap:12px;display:flex}.phone-actions{direction:ltr;justify-content:space-between}html .game-shell[data-phone-layout=landscape] :is(.phone-action,.phone-actions .game-control-menu-btn){border:1px solid var(--room-seam-strong);border-radius:var(--room-radius-control);background:var(--room-control);width:52px;min-width:52px;height:52px;min-height:52px;color:var(--room-ink);box-shadow:none;cursor:pointer;touch-action:manipulation;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}html .game-shell[data-phone-layout=landscape] .phone-actions :is(.phone-action,.game-control-menu-btn){flex-direction:column;gap:3px}html .game-shell[data-phone-layout=landscape] .phone-actions svg{width:23px;height:23px}.phone-action-label{white-space:nowrap;text-overflow:ellipsis;max-width:48px;font-size:11px;font-weight:600;line-height:13px;overflow:hidden}html .game-shell[data-phone-layout=landscape] .phone-actions .phone-new{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent,var(--color-bg))}html .game-shell[data-phone-layout=landscape] .phone-hint svg{color:var(--color-accent)}html .game-shell[data-phone-layout=landscape] .phone-actions .game-control-menu-btn[aria-expanded=true]{background:var(--room-control-active);border-color:var(--room-ink-muted)}@media (hover:hover){html .game-shell[data-phone-layout=landscape] .phone-actions :is(.phone-action,.game-control-menu-btn):hover:not(:disabled){background:var(--room-control-hover)}html .game-shell[data-phone-layout=landscape] .phone-actions .phone-new:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}}html .game-shell[data-phone-layout=landscape] .phone-actions :is(.phone-action,.game-control-menu-btn):active:not(:disabled){background:var(--room-control-active)}html .game-shell[data-phone-layout=landscape] .phone-actions .phone-new:active:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}html .game-shell[data-phone-layout=landscape] :is(.phone-action,.phone-actions .game-control-menu-btn):disabled{opacity:.45;cursor:default}html .game-shell[data-phone-layout=landscape] :is(.phone-action,.phone-actions .game-control-menu-btn):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.phone-action[data-deadlock-glow]{outline:2px solid var(--color-accent);outline-offset:3px}html .game-shell[data-phone-layout=landscape] .phone-actions .game-control-menu-wrap{z-index:60;position:relative}html .game-shell[data-phone-layout=landscape] .phone-actions .game-control-menu{width:min(360px,100vw - 32px);min-width:0;max-height:calc(100dvh - 88px - env(safe-area-inset-top,0px));overscroll-behavior:contain;direction:initial;box-shadow:none;position:absolute;inset:calc(100% + 8px) auto auto 0;overflow-y:auto;transform:none}html[dir=rtl] .game-shell[data-phone-layout=landscape] .phone-actions .game-control-menu{direction:rtl}html .game-shell[data-phone-layout=landscape] .game-menu-item{min-height:44px}html .game-shell[data-phone-layout=landscape] .phone-menu-difficulty{justify-content:space-between;gap:12px;min-height:60px}.phone-menu-difficulty-value{color:var(--color-accent);margin-top:4px;font-size:14px;font-weight:600;display:block}.phone-menu-setup{border-bottom:1px solid var(--room-seam-strong);margin-bottom:8px;padding-bottom:8px}.phone-menu-mode-label{padding:4px 12px 8px;font-size:14px;font-weight:600}.phone-menu-modes{gap:6px;padding:0 8px 4px;display:flex}.phone-menu-modes button{border:1px solid var(--room-seam-strong);border-radius:var(--room-radius-control);background:var(--room-control);min-width:0;min-height:44px;color:var(--room-ink);font:inherit;overflow-wrap:anywhere;cursor:pointer;box-shadow:none;flex:1;padding:8px 4px;font-size:14px;font-weight:600;line-height:1.3}.phone-menu-modes button[aria-pressed=true]{border-color:var(--color-accent);background:var(--room-control-active)}.phone-menu-modes button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.phone-menu-games{z-index:1;border-bottom:1px solid var(--room-seam-strong);background:var(--room-rail-raised);margin-bottom:8px;padding:0 0 12px;position:sticky;top:-8px}.phone-menu-heading{justify-content:space-between;align-items:center;gap:12px;padding-inline-start:8px;display:flex}.phone-menu-heading strong{font-size:16px}.phone-game-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:6px;display:grid}.phone-menu-game{border:1px solid var(--room-seam-strong);border-radius:var(--room-radius-control);background:var(--room-control);min-height:52px;color:var(--room-ink);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:8px 4px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.phone-menu-game[aria-current=page]{border-color:var(--color-accent);background:var(--room-control-active)}.phone-menu-game:hover{background:var(--room-control-hover)}.phone-menu-game:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}html:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) :is(.settings-close,.phone-menu-close){border:1px solid var(--color-border-strong);border-radius:var(--room-radius-control,10px);background:var(--color-surface-muted);width:52px;min-width:52px;height:52px;min-height:52px;color:var(--color-text);cursor:pointer;box-shadow:none;flex:0 0 52px;justify-content:center;align-items:center;padding:0;font-size:40px;font-weight:600;line-height:1;display:inline-flex}html .game-shell[data-phone-layout=landscape] .phone-actions .phone-menu-close svg{width:32px;height:32px}html:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) :is(.settings-close,.phone-menu-close):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.phone-menu-context{padding:8px}html .game-shell[data-phone-layout=landscape]>.game-controls.phone-hud{width:100%;height:44px;min-height:44px;padding:0 max(6px, env(safe-area-inset-right,0px)) 0 max(6px, env(safe-area-inset-left,0px));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:var(--z-controls);direction:ltr;background:#00000017;border:0;border-radius:0;flex:0 0 44px;justify-content:space-between;align-items:center;gap:0;display:flex;position:relative;inset:auto;transform:none}html .game-shell[data-phone-layout=landscape] .phone-post-win{z-index:calc(var(--z-controls) - 1);box-shadow:none}html .game-shell[data-phone-layout=landscape] .phone-hud :is(.phone-action,.sound-toggle){width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;color:var(--room-ink,var(--color-text));background:0 0;border:0;border-radius:8px;padding:0}.phone-hud-start{gap:4px}html .game-shell[data-phone-layout=landscape] .phone-hud .game-status{background:0 0;border:0;border-radius:0;flex-direction:row;flex:none;align-items:center;gap:8px;padding:0}html .game-shell[data-phone-layout=landscape] .phone-hud .game-status-divider{display:none}html .game-shell[data-phone-layout=landscape] .phone-hud .game-status-item{white-space:nowrap;min-width:0;min-height:0;color:var(--room-ink,var(--color-text));padding:0;font-size:14px;line-height:18px}html .game-shell[data-phone-layout=landscape] .phone-hud .phone-fullscreen[aria-pressed=true]{background:var(--room-control-active);outline-offset:-4px;outline:1px solid}.phone-ad-reserve{order:3;flex:0 0 calc(var(--phone-ad-height,50px) + 18px + env(safe-area-inset-bottom,0px));padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--room-seam,#ffffff1f);pointer-events:none;justify-content:center;align-items:flex-end;display:flex}.phone-ad-slot{width:320px;max-width:100%;height:var(--phone-ad-height,50px)}html .game-shell[data-phone-layout=landscape]:not(:has(.phone-ad-reserve))>.phone-hud{height:calc(44px + env(safe-area-inset-bottom,0px));flex-basis:calc(44px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}html .game-shell[data-phone-layout=landscape]>.game-main{background:0 0;align-items:stretch;min-height:0;padding:8px 0 4px;container-type:inline-size}html .game-shell[data-phone-layout=landscape] .game-board-stage{display:contents}html .game-shell[data-phone-layout=landscape] .board{--card-width:calc((100cqw - 28px) / 7);--card-height:calc(var(--card-width) * 1.4);--card-scale:var(--card-scale-fit-aware,1);--board-gap:3px;--row-gap:12px;--card-fan-offset:calc(var(--card-width) * .36);--card-fan-offset-hidden:calc(var(--card-width) * .1);grid-template-columns:repeat(7, var(--card-w));grid-template-rows:var(--card-h) 1fr;gap:var(--row-gap) var(--board-gap);direction:ltr;align-content:start;align-self:stretch;width:100%;height:auto;margin:0;padding:0 4px 4px}html .game-shell[data-phone-layout=landscape] .pile-stock{grid-area:1/7}html .game-shell[data-phone-layout=landscape] .pile-waste{grid-area:1/6;align-self:start}html .game-shell[data-phone-layout=landscape] .waste-fan:has(.waste-card-2){transform:translateX(calc(var(--card-w) * -.18))}html .game-shell[data-phone-layout=landscape] .waste-fan:has(.waste-card-3){transform:translateX(calc(var(--card-w) * -.36))}html .game-shell[data-phone-layout=landscape] .pile-foundation-0{grid-area:1/1}html .game-shell[data-phone-layout=landscape] .pile-foundation-1{grid-area:1/2}html .game-shell[data-phone-layout=landscape] .pile-foundation-2{grid-area:1/3;align-self:start}html .game-shell[data-phone-layout=landscape] .pile-foundation-3{grid-area:1/4;align-self:start}html .game-shell[data-phone-layout=landscape] .pile-tableau{min-height:var(--card-h);grid-row:2}html .game-shell[data-phone-layout=landscape] .pile-tableau-0{grid-column:1}html .game-shell[data-phone-layout=landscape] .pile-tableau-1{grid-column:2}html .game-shell[data-phone-layout=landscape] .pile-tableau-2{grid-column:3}html .game-shell[data-phone-layout=landscape] .pile-tableau-3{grid-column:4}html .game-shell[data-phone-layout=landscape] .pile-tableau-4{grid-column:5}html .game-shell[data-phone-layout=landscape] .pile-tableau-5{grid-column:6}html .game-shell[data-phone-layout=landscape] .pile-tableau-6{grid-column:7}html .game-shell[data-phone-layout=landscape] .spider-stock{grid-area:1/10}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-stock{grid-column:1}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-waste{grid-column:2}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-foundation-0{grid-column:4}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-foundation-1{grid-column:5}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-foundation-2{grid-column:6}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board>.pile-foundation-3{grid-column:7}html[data-mobile-deck-side=left] .game-shell[data-phone-layout=landscape] .board .waste-fan{transform:none}html .game-shell[data-phone-layout=landscape] .spider-stock-count{bottom:0;right:0}html .game-shell[data-phone-layout=landscape] .spider-foundations{grid-area:1/1/auto/9}html .game-shell[data-phone-layout=landscape] .spider-board{scrollbar-gutter:auto;padding-top:0}html .game-shell[data-phone-layout=landscape] .freecell-board{padding-top:0}html .game-shell[data-phone-layout=landscape]{--header-height:0px;--card-scale-fit-aware:1;--phone-card-scale:calc(var(--card-scale-user,1.2) / 1.2)}html .game-shell[data-phone-layout=landscape] .phone-hud .card-size-control-controls{color:var(--room-ink);margin-left:12px;display:inline-flex}html .game-shell[data-phone-layout=landscape] .phone-hud .card-size-step{width:44px;min-width:44px;height:44px;color:var(--room-ink)}html .game-shell[data-phone-layout=landscape] .phone-hud :is(.card-size-slider-wrap,.card-size-slider){height:44px}html .game-shell[data-phone-layout=landscape] .phone-hud .card-size-slider-wrap{width:clamp(96px,18vw,160px)}html .game-shell[data-phone-layout=landscape]>.game-header{background:0 0;border:0;height:0;min-height:0;padding:0}html .game-shell[data-phone-layout=landscape] .phone-actions{inset:max(8px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) auto max(8px, env(safe-area-inset-left,0px));pointer-events:none;align-items:flex-start;position:absolute}html .game-shell[data-phone-layout=landscape] :is(.phone-actions-start,.phone-actions-end){pointer-events:auto;flex-direction:column;gap:16px}html .game-shell[data-phone-layout=landscape] .phone-actions .game-control-menu{width:min(360px,100vw - 152px);max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));inset:0 auto auto 60px}html .game-shell[data-phone-layout=landscape]>.game-main{margin-left:calc(76px + env(safe-area-inset-left,0px));margin-right:calc(76px + env(safe-area-inset-right,0px))}html .game-shell[data-phone-layout=landscape] .board{--row-gap:4px;--phone-card-height:min(calc((100dvh - 44px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px)) / 3.25), calc((100cqw - 28px) / 7 * 1.4));--card-height:min(calc(var(--phone-card-height) * var(--phone-card-scale)), calc((100cqw - 28px) / 7 * 1.4));--card-width:calc(var(--card-height) / 1.4);--card-fan-offset:calc(var(--card-width) * .36);--card-fan-offset-hidden:calc(var(--card-width) * .1)}html .game-shell[data-phone-layout=landscape] .spider-board{--card-scale:var(--card-scale-fit-aware,1);--phone-card-height:min(calc((100dvh - 60px) / 3.25), calc((100cqi - 9 * var(--spider-gap)) / 10 * 1.4));--card-height:min(calc(var(--phone-card-height) * var(--phone-card-scale)), calc((100cqi - 9 * var(--spider-gap)) / 10 * 1.4));--card-width:calc(var(--card-height) / 1.4);--card-fan-offset:calc(var(--card-height) * .24);--card-fan-offset-hidden:calc(var(--card-height) * .06);row-gap:4px}html .game-shell[data-phone-layout=landscape] .freecell-board{--freecell-row-gap:4px;--card-scale:1;--freecell-fan-offset:clamp(1.1rem, 3.4vh, 2rem);--phone-card-height:min(calc((100dvh - 60px - 6 * var(--freecell-fan-offset)) / 2.25), calc((100cqi - 10 * var(--freecell-gap)) / 8 * 1.4));--card-height:min(calc(var(--phone-card-height) * var(--phone-card-scale)), calc((100cqi - 10 * var(--freecell-gap)) / 8 * 1.4))}html:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) :is(.card,.card-face,.card-back,.card-back-inner,.hint-ghost-card,.pile-hint-pulse,.stock-pulse,.spider-stock-hint,.stock-hint-medallion,.first-tap-hint-label){box-shadow:none!important}html:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) .card-back-inner:after{text-shadow:none}html:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) :is(.card-highlighted,.card-selected,.card-hint-pulse,.pile-hint-pulse,.card-first-tap-hint,.spider-stock-hint){outline:2px solid var(--color-focus-ring);outline-offset:1px}html[data-strong-highlight=true]:has(.game-shell[data-phone-layout]:not(.ssr-snapshot)) :is(.card-highlighted,.card-selected,.card-hint-pulse,.pile-hint-pulse,.card-first-tap-hint,.spider-stock-hint){outline-width:4px}
