/* Compact discovery: game artwork leads; compact controls preserve each site’s discovery pattern. */
.site-header,.site-head{position:relative!important;top:auto!important;margin:0!important;padding:0!important;min-height:0!important}
.site-header>.header-inner,.site-header>.wrap,.site-head>.head-inner,.site-header:not(:has(>.header-inner)):not(:has(>.wrap)){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:56px!important;padding-top:4px!important;padding-bottom:4px!important}
.site-header .brand,.site-head .brand{font-size:clamp(19px,4vw,25px)!important;line-height:1.15!important;min-width:0!important;margin:0!important;padding:0!important;white-space:nowrap}
.site-header .brand img,.site-head .brand img{width:27px!important;height:27px!important}
.compact-find{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px!important;padding:9px!important;border:1px solid currentColor!important;border-radius:12px;background:transparent;color:inherit}
.compact-find svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9}
.compact-find:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.compact-find:focus-visible,main a[data-compact-card]:focus-visible{outline:3px solid currentColor;outline-offset:3px}
#filter-open,#open-filters{display:none!important}
main{padding-top:10px!important}
.compact-sr-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.compact-discovery-dialog{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid currentColor;border-radius:16px;background:var(--paper,var(--surface,#fff));color:var(--ink,#17212b);overflow:auto;overscroll-behavior:contain}
.compact-discovery-dialog::backdrop{background:#10151db3}
.compact-discovery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid #8884}
.compact-discovery-head h2{font-size:20px;margin:0}
.compact-discovery-head button{min-height:44px;min-width:44px}
.compact-discovery-body{padding:16px;display:grid;gap:16px}
.compact-discovery-body form{display:flex;flex-wrap:wrap;gap:8px}
.compact-discovery-body input{flex:1 1 180px;min-width:0;font:inherit;font-size:16px;min-height:44px;padding:10px;border:1px solid #888;border-radius:8px;background:transparent;color:inherit}
.compact-discovery-body form button{min-height:44px;font:inherit;padding:8px 14px}
.compact-menu-links,.compact-category-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.compact-menu-links{padding:8px 0;border-bottom:1px solid #8884;margin-bottom:12px}
.compact-menu-links a,.compact-category-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;font:inherit;font-size:16px;line-height:1.25;text-decoration:none;border:1px solid #8884;border-radius:8px}
dialog .search-region{margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
dialog .search-region form{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
dialog .search-region input{font-size:16px!important;min-height:44px!important;flex:1 1 160px;min-width:0!important}
dialog .search-state,dialog .search-status,dialog .catalogue-status{font-size:14px!important;margin:8px 0!important}
dialog .search-region .search-line,dialog .search-region .search-row{display:block!important}
.compact-game-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 14px;align-items:start;margin:0!important;padding:0!important}
.compact-list-actions{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:44px;margin:14px 0 20px!important;padding:0!important;border:0!important;background:none!important}
.compact-list-actions button{min-height:44px!important}
main a[data-compact-card]{display:flex!important;flex-direction:column!important;gap:0!important;min-width:0;align-self:stretch;overflow:hidden;padding:0!important;text-decoration:none!important;height:auto!important;min-height:0!important;grid-row:auto!important}
main a[data-compact-card] .compact-picture{display:block!important;position:relative!important;aspect-ratio:16/10!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;align-self:stretch!important;border-radius:0!important}
main a[data-compact-card] .compact-picture img{display:block;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;object-fit:cover!important;object-position:center!important;position:absolute!important;inset:0!important;padding:0!important;margin:0!important}
main a[data-compact-card] .compact-card-title{display:block!important;font-size:14px!important;font-weight:650!important;line-height:1.3!important;color:inherit;letter-spacing:normal!important;padding:8px 10px!important;margin:0!important;white-space:normal!important}
main .theme-nav,main .category-tabs,main .goal-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;padding:0 0 7px!important;margin:0 0 8px!important;white-space:nowrap;max-width:100%}
main .theme-nav a,main .category-tabs a,main .category-tabs button,main .goal-tabs button{min-height:36px!important;padding:5px 10px!important;font-size:14px!important;flex:0 0 auto!important}
main .theme-nav span,main .category-tabs span,main .goal-tabs span{display:none!important}
main .topic-label,main .block-heading,main .section-label,main .stream-heading,main .folio-heading,main .box-heading{margin:0 0 8px!important;padding:0!important;min-height:0!important}
main .topic-label p,main .topic-label .index{display:none!important}
main .topic-label h2,main .block-heading h2,main .section-label h2,main .stream-heading h2,main .folio-heading h2,main .box-heading h2{font-size:16px!important;line-height:1.3!important;margin:0!important}
main .desk-topic,main .window-block,main .folio-topic,main .box-block{padding-top:10px!important;padding-bottom:12px!important;margin-top:0!important;margin-bottom:12px!important}
main .desk-topic{display:block!important}
main .topic-content,main .window-group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}
main .window-group>:not([data-fill-span]),main .mosaic>:not([data-fill-span]){grid-column:auto!important;grid-row:auto!important}
@media(max-width:767px){
 .compact-game-list,main .topic-content,main .window-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important}
 main .mosaic,main .home-board,main .two-streams{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 main .compact-card-title{padding:7px 8px!important}
 .site-header>.header-inner,.site-header>.wrap,.site-head>.head-inner{min-height:52px!important}
}

/* Keep the discovery header in one row, including the narrowest phone. */
.site-header>.header-inner,.site-header>.wrap,.site-head>.head-inner{flex-direction:row!important;flex-wrap:nowrap!important}
.compact-find{color:var(--ink,#1d2a38)!important;background:transparent!important;box-shadow:none!important}
main a[data-compact-card] .compact-picture{flex:0 0 auto!important;max-width:none!important}
main a[data-compact-card] .compact-picture img{aspect-ratio:auto!important}
.compact-static-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.compact-game-heading,body[data-page=home] .goal-lead,body[data-page=home] .block-heading{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important}
.current-copy>p,.current-copy>.actions{display:none!important}
.current-copy{display:block!important;padding:0!important;min-height:0!important}
.current-image>.picture{display:block!important;position:static!important;height:100%!important;min-height:0!important;width:100%!important}
@media(max-width:767px){.compact-static-grid,main .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important}}

@media(max-width:767px){main .two-streams{grid-template-columns:repeat(2,minmax(0,1fr))!important}main a.current-pick[data-compact-card] .compact-picture{aspect-ratio:2.5!important}.current-pick{width:100%!important}.current-block #next-pick{min-height:44px!important;margin:4px 0!important}}
@media(min-width:768px){main a.current-pick[data-compact-card]{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important}main a.current-pick[data-compact-card] .compact-picture{aspect-ratio:2.6!important}.current-block{padding-top:0!important;padding-bottom:8px!important}}

/* One quiet group of essential information links on every page. */
body > .compact-footer{display:block!important;margin-top:20px!important;padding:10px 16px!important;border:0!important;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;min-height:0!important}
body > .compact-footer .compact-footer-links{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:0 16px!important;width:auto!important;max-width:1120px!important;margin:0 auto!important;padding:0!important;border:0!important}
body > .compact-footer .compact-footer-links a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;max-width:100%;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;white-space:nowrap}
body > .compact-footer .compact-footer-links a:hover{text-decoration:underline!important}
body > .compact-footer .compact-footer-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Site-specific native modal presentation. */
dialog.discovery-center{position:fixed!important;inset:0!important;margin:auto!important;width:min(480px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important;height:fit-content!important;max-height:calc(100dvh - 24px)!important}

/* One row of existing choices, with horizontal scrolling on narrow screens. */
main .compact-inline-nav{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 0 8px!important;padding:0 0 5px!important;scrollbar-width:thin;white-space:nowrap}
main .compact-inline-nav button{flex:0 0 auto!important;min-height:36px!important;height:36px!important;padding:5px 11px!important;font-size:14px!important;line-height:1.2!important;margin:0!important}
main .compact-inline-nav button span{display:none!important}

/* Compact, rounded controls retain the site's own colors and typography. */
.compact-find{border-color:color-mix(in srgb,currentColor 24%,transparent)!important;border-radius:14px!important;transition:background-color .16s ease,border-color .16s ease}
main a[data-compact-card]{border-radius:11px!important;transition:box-shadow .16s ease}
main a[data-compact-card] .compact-picture{border-radius:10px 10px 0 0!important}
dialog{scrollbar-width:thin;overscroll-behavior:contain}
dialog.discovery-center{border-radius:18px!important}
dialog button{border-radius:11px!important;transition:background-color .16s ease,border-color .16s ease,opacity .16s ease}
dialog :is(#filter-close,#close-filters,[data-discovery-close]){min-width:44px;min-height:44px;border-color:color-mix(in srgb,currentColor 20%,transparent)!important;box-shadow:none!important}
dialog input[type=search]{border-radius:11px!important;border-color:color-mix(in srgb,currentColor 28%,transparent)!important}
dialog .compact-menu-links{gap:6px;margin-bottom:10px}
dialog .compact-menu-links a{border-color:color-mix(in srgb,currentColor 18%,transparent);border-radius:10px;font-size:14px;padding:7px 10px}
:is(dialog button,dialog a,dialog input,.compact-find):focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.compact-find,main a[data-compact-card],dialog button{transition:none!important}main .compact-inline-nav{scroll-behavior:auto!important}}

/* Quiet, single-row page choices; keyboard focus and selected state stay explicit. */
main .compact-inline-nav{gap:4px!important;height:34px!important;padding:0!important;margin:0 0 8px!important;scrollbar-width:none!important;scroll-behavior:smooth;overscroll-behavior-x:contain}
main .compact-inline-nav::-webkit-scrollbar{display:none}
main .compact-inline-nav button{height:32px!important;min-height:32px!important;padding:5px 10px!important;border:1px solid transparent!important;border-radius:999px!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:13px!important;font-weight:550!important}
main .compact-inline-nav :is([aria-pressed=true],[aria-selected=true]){background:color-mix(in srgb,currentColor 7%,transparent)!important;border-color:color-mix(in srgb,currentColor 24%,transparent)!important;color:inherit!important;font-weight:650!important}
main .compact-inline-nav button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}

/* A shared two-line caption rhythm, with the complete title exposed to assistive technology. */
main a[data-compact-card] .compact-card-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;line-height:1.35!important;height:calc(2.7em + 14px)!important;min-height:calc(2.7em + 14px)!important;max-height:calc(2.7em + 14px)!important;box-sizing:border-box!important;flex:0 0 auto}
main a[data-compact-card] .compact-picture>:is(picture,.picture,.thumb,.card-art){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;margin:0!important;padding:0!important}
main{min-height:0!important;padding-bottom:12px!important}
body>main{flex:0 0 auto!important}
body>.compact-footer{margin-top:12px!important}
main :is(.note-link,.home-after,.menu-bottom,.callout,.desk-note){margin-top:12px!important;margin-bottom:12px!important;padding-top:14px!important;padding-bottom:14px!important}
main :is(.note-link,.home-after,.menu-bottom,.callout,.desk-note) h2{font-size:18px;line-height:1.3;margin-bottom:8px}
main :is(.tags,.category-links,.topic-links){display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;max-width:100%;scrollbar-width:none;margin-top:0!important;margin-bottom:0!important}
main :is(.tags,.category-links,.topic-links)::-webkit-scrollbar{display:none}
main :is(.tags .tag,.category-links a,.topic-link){flex:0 0 auto!important;min-height:40px!important;padding:8px 10px!important;font-size:14px!important;line-height:1.3!important;border:1px solid color-mix(in srgb,currentColor 18%,transparent)!important;border-radius:10px!important;background:transparent!important;color:inherit!important;text-decoration:none!important}
main :is(.tags .tag,.category-links a,.topic-link) span{display:none!important}

/* The local preview fills the player surface; running frames keep their native rules. */
#stage-screen:not(:has(iframe)){overflow:hidden}
#preview:not([hidden]){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;margin:0!important}
#preview img:not([hidden]){position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;aspect-ratio:auto!important;border-radius:0!important;opacity:1!important}
#preview>span{position:absolute!important;inset:auto 12px 12px!important;z-index:1;width:fit-content!important;max-width:calc(100% - 24px)!important;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:10px!important;background:#101923df!important;color:white!important;font-size:14px!important;line-height:1.4!important;text-align:left}

/* Odd final batches keep their artwork at a normal card width. */
@media(max-width:767px){main :is(a[data-compact-tail-single],[data-compact-tail-single]>a[data-compact-card]){grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important}main :is(a[data-compact-tail-single],[data-compact-tail-single]>a[data-compact-card]) .compact-picture{border-radius:10px 0 0 10px!important}}

main :is(a[data-compact-tail-single],[data-compact-tail-single]>a[data-compact-card]){grid-template-rows:auto!important}



/* Search and categories lead each panel; navigation stays secondary. */
.compact-find{border-color:transparent!important;border-radius:10px!important}
.compact-find svg{width:21px!important;height:21px!important;stroke-linecap:round;stroke-linejoin:round}
.compact-list-actions button{width:auto!important;min-width:132px!important;max-width:100%!important;padding:8px 16px!important;border-radius:10px!important;font-size:14px!important;line-height:1.3!important}
dialog{border-color:color-mix(in srgb,currentColor 16%,transparent)!important;box-shadow:0 18px 60px #14212e26}
dialog[open]:is(.compact-discovery-dialog,#filters,#filter-dialog){overflow:hidden!important}
dialog[open]>.dialog-shell,dialog[open]>.dialog-layout{display:flex!important;flex-direction:column!important;max-height:calc(100dvh - 28px)!important;min-height:0!important}
dialog[open].discovery-bottom>.dialog-shell,dialog[open].discovery-bottom>.dialog-layout{max-height:84dvh!important}
dialog[open]#filter-dialog:has(>.dialog-scroll){display:flex!important;flex-direction:column!important}
dialog :is(.dialog-head,.dialog-header,.compact-discovery-head){flex:0 0 auto!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;padding:10px 14px!important;gap:10px!important;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)!important}
dialog :is(.dialog-head,.dialog-header,.compact-discovery-head) h2{font-size:18px!important;line-height:1.3!important;margin:0!important;min-width:0!important}
dialog :is(#filter-close,[data-discovery-close]){display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;background:transparent!important;border:0!important;color:inherit!important;flex:none!important}
dialog :is(#filter-close,[data-discovery-close]) svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
dialog :is(.dialog-body,.dialog-content,.dialog-scroll){min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;padding:12px 14px!important;overscroll-behavior:contain}
dialog :is(.dialog-actions,.dialog-foot,.dialog-footer){position:relative!important;inset:auto!important;display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important;padding:10px 14px max(10px,env(safe-area-inset-bottom))!important;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)!important}
dialog :is(.dialog-actions,.dialog-foot,.dialog-footer)>button{min-height:44px!important;flex:1 1 0!important;padding:8px 12px!important;font-size:16px!important}
dialog details{margin:0!important;border:0!important;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)!important;border-radius:0!important}
dialog summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px!important;margin:0!important;padding:8px 2px!important;font-size:16px!important;line-height:1.35!important}
dialog fieldset{margin:0!important;padding:0 0 10px!important;min-width:0!important;border:0!important}
dialog fieldset>legend:not(.sr-only){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}
dialog :is(.radio-row,.radio-label,.radio-choice,.radio-option){min-width:0!important;min-height:44px!important;padding:8px!important;gap:8px!important;border-radius:9px!important;font-size:16px!important;line-height:1.3!important}
dialog input[type=radio]{width:17px!important;height:17px!important;min-height:0!important;min-width:0!important;flex:0 0 17px!important;margin:0!important}
dialog .search-region{margin-bottom:10px!important}
dialog .search-region form{flex-wrap:nowrap!important}
dialog .search-region form button{flex:0 0 auto!important;min-height:44px!important;padding:8px 12px!important;font-size:16px!important}
dialog .search-region form input{width:100%!important;min-width:0!important}
dialog .compact-menu-links{display:flex!important;flex-wrap:wrap!important;gap:0 14px!important;margin:10px 0 0!important;padding:4px 0 0!important;border:0!important;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)!important}
dialog .compact-menu-links a{min-height:44px!important;padding:5px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;line-height:1.3!important;color:inherit!important;text-decoration:none!important}
dialog .compact-menu-links a:hover{text-decoration:underline!important}
dialog[open].compact-discovery-dialog{display:flex!important;flex-direction:column!important;height:fit-content!important}
.compact-discovery-dialog>.compact-discovery-body{min-height:0!important;overflow-y:auto!important;padding:12px 14px!important;display:block!important}
.compact-discovery-form{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:10px!important;min-height:0!important}
.compact-discovery-form>input{flex:none!important;width:100%!important;box-sizing:border-box!important;background:var(--paper,var(--surface,#fff))!important}
.compact-discovery-form>.compact-category-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;padding:0!important}
.compact-category-options legend{position:static!important;width:100%!important;height:auto!important;clip-path:none!important;grid-column:1/-1;font-size:14px!important;font-weight:650!important;margin:0 0 8px!important}
.compact-category-options label{display:flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;padding:7px 9px!important;font-size:16px!important;line-height:1.3!important;min-width:0!important;border:1px solid color-mix(in srgb,currentColor 13%,transparent)!important;border-radius:9px!important}
.compact-category-options label:has(input:checked){background:color-mix(in srgb,currentColor 7%,transparent)!important;border-color:color-mix(in srgb,currentColor 32%,transparent)!important}
.compact-category-options .compact-option-count{margin-left:auto;color:inherit;opacity:.65;font-size:13px}
.compact-discovery-form>.compact-discovery-actions{display:flex!important;gap:10px!important;position:sticky;bottom:-12px;padding:10px 0 0!important;background:var(--paper,var(--surface,#fff));z-index:1}
.compact-discovery-actions button{flex:1 1 0!important;min-width:0!important;min-height:44px!important;padding:8px 10px!important;font-size:16px!important;letter-spacing:normal!important;white-space:nowrap!important;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:10px}
.compact-discovery-actions button[type=reset]{color:inherit;background:transparent}
@media(min-width:375px){dialog details fieldset:has(input[name=category]),dialog details fieldset:has(input[name=c]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}}
