/* Compact shared shell. Site typography, colors and image identity remain local. */
body[data-compact-ui] .compact-header{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;max-width:1280px!important;height:56px!important;min-height:56px!important;margin:0 auto!important;padding:6px 16px!important;box-sizing:border-box!important;border:0!important;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)!important;background:inherit!important;z-index:10}
body[data-compact-ui] .compact-brand{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:0!important;min-width:0!important;white-space:nowrap!important;line-height:1.15!important;font-size:20px!important;letter-spacing:-.5px!important;text-decoration:none!important}
body[data-compact-ui] .compact-brand img{width:28px!important;height:28px!important;object-fit:contain!important}
body[data-compact-ui] .compact-brand span{font-size:inherit;line-height:inherit}
body[data-compact-ui] .compact-icon{position:relative!important;flex:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;overflow:hidden!important;color:inherit!important;border:1px solid color-mix(in srgb,currentColor 25%,transparent)!important;border-radius:10px!important;background:transparent!important;font-size:0!important;line-height:0!important;box-shadow:none!important;cursor:pointer}
body[data-compact-ui] .compact-icon>*{display:none!important}
body[data-compact-ui] .compact-icon::before{content:'';display:block;width:22px;height:22px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18M8 3v6m8 0v6m-8 0v6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
body[data-compact-ui] :is(.compact-icon,a,button,input):focus-visible{outline:3px solid currentColor!important;outline-offset:3px}
body[data-compact-ui] :is(.shell,.page){display:block!important;margin-left:0!important;padding-left:0!important;grid-template-columns:1fr!important}
body[data-compact-ui] :is(.utility-bar,.header-line){display:none!important}
body[data-compact-ui] [data-compact-intro]{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-compact-ui].compact-list-page main{width:100%!important;max-width:1280px!important;margin:0 auto!important;padding:10px 14px 24px!important;box-sizing:border-box!important}
body[data-compact-ui].compact-list-page :is(.article-page,.section-wrap,.content-block,.theme-section,.suggestion,.discovery-block,.exhibit-block,.games-section,.home-game-group,.game-group){margin:0 0 16px!important;padding:0!important;min-height:0!important}
body[data-compact-ui].compact-list-page :is(.section-intro,.block-heading,.theme-heading,.section-heading,.route-heading){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 8px!important;padding:0!important;min-height:0!important}
body[data-compact-ui].compact-list-page :is(.section-intro,.block-heading,.theme-heading,.section-heading,.route-heading) :is(h1,h2){margin:0!important;font-size:16px!important;line-height:22px!important;letter-spacing:0!important}
body[data-compact-ui].compact-list-page :is(.section-intro,.block-heading,.theme-heading,.section-heading,.route-heading) :is(p,.eyebrow,.number,.route-marker,.theme-marker){display:none!important}
body[data-compact-ui].compact-list-page :is(.theme-note,.suggestion-note,.home-note,.note-strip,.site-signature,.catalogue-intro,.cover-heading p,.programme-total){display:none!important}
body[data-compact-ui].compact-list-page :is(.theme-heading,.section-heading) a{font-size:12px!important;line-height:20px!important}
body[data-compact-ui] :is(.game-grid,.results-grid,.home-game-grid,.event-grid,.spotlight-grid,.bookmark-grid,.home-bookmarks,.entry-grid,.discovery-pair,.cabinet-grid,.exhibit-wall){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:0!important;align-items:start!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet){display:block!important;min-width:0!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;grid-column:auto!important;align-self:start!important;border-radius:10px!important;overflow:hidden!important;box-shadow:none!important;transform:none!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet)>a{display:block!important;color:inherit!important;text-decoration:none!important;height:auto!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet) :is(img,.game-art,.result-art,.tile-art,.card-image,.home-cover,.card-picture,.bookmark-art,.entry-art,.cabinet-art){display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:1.6!important;object-fit:cover!important;border-radius:0!important;margin:0!important;padding:0!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet) :is(.card-body,.result-copy,.tile-caption,.card-copy,.bookmark-text,.entry-copy,.cabinet-copy){display:block!important;padding:7px 9px!important;margin:0!important;min-height:0!important;border:0!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet) :is(h2,h3,.bookmark-title,.cabinet-title){display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;margin:0!important;padding:0!important;font-size:14px!important;line-height:19px!important;letter-spacing:0!important;font-weight:650!important;text-wrap:initial!important}
body[data-compact-ui] :is(.game-card,.game-result,.game-tile,.home-game,.event-card,.bookmark,.catalogue-entry,.discovery-entry,a.cabinet) :is(p,.card-meta,.card-category,.card-number,.card-link,.result-category,.result-controls,.result-arrow,.tile-open,.meta,.category-tag,.control-line,.card-action,.home-open,.category-label,.controls,.bookmark-action,.catalogue-meta,.control-label,.entry-link,.cabinet-meta,.cabinet-controls,.cabinet-action,.art-arrow,.catalogue-badge){display:none!important}
/* The list owns the columns. Existing short batch boundaries create no boxes or headings. */
body[data-compact-ui] .compact-stream{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0 0 18px!important;padding:0!important;align-items:start!important}
body[data-compact-ui] .compact-stream :is(.result-batch,.game-batch,.result-group,.index-batch,.home-game-group,.game-group,.catalogue-group,.event-batch,.shelf-batch,.catalogue-batch,.home-batch){display:contents!important}
body[data-compact-ui] .compact-stream :is(.game-grid,.results-grid,.home-game-grid,.event-grid,.bookmark-grid,.entry-grid,.cabinet-grid,.batch-footer,.batch-actions,.group-actions,.group-footer,.home-group-footer){display:contents!important}
body[data-compact-ui] .compact-stream :is(.batch-heading,.results-heading,.group-heading,.home-group-heading,.batch-line,.batch-caption,.category-note,.batch-footer>p,.batch-footer>span,.group-footer>p,.home-group-footer>p,.all-shown,.complete,p[data-batch-end],.end-note){display:none!important}
body[data-compact-ui] .compact-stream :is(button,.batch-actions>a,.home-group-footer>a){grid-column:1/-1!important;justify-self:center!important;min-height:44px!important;margin:4px 0!important;padding:10px 24px!important;max-width:100%!important}
body[data-compact-ui] .compact-stream button:disabled,body[data-compact-ui] .compact-stream [hidden]{display:none!important}
body[data-compact-ui] .compact-drawer{position:fixed!important;inset:0 0 0 auto!important;width:min(440px,100%)!important;height:100dvh!important;max-height:100dvh!important;max-width:100%!important;margin:0!important;padding:16px!important;box-sizing:border-box!important;overflow:auto!important;border:0!important;border-radius:0!important;color:inherit;background:var(--paper,var(--surface,#fff));transform:none!important;font-size:16px!important;z-index:1000}
body[data-compact-ui] .compact-drawer:not([open]){display:none!important}
body[data-compact-ui] .compact-drawer::backdrop{background:rgba(0,0,0,.56)}
body[data-compact-ui] .compact-drawer :is(.drawer-header,.dialog-header,.dialog-heading,.compact-drawer-heading){display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;position:relative!important;margin:0 0 14px!important;padding:0!important;top:auto!important}
body[data-compact-ui] .compact-drawer :is(h1,h2){font-size:20px!important;line-height:1.3!important;margin:0!important}
body[data-compact-ui] .compact-drawer :is(.drawer-body,.drawer-fields,.dialog-body,.dialog-scroll,.dialog-content,.dialog-inner,.dialog-shell){display:block!important;overflow:visible!important;max-height:none!important;height:auto!important;padding:0!important;margin:0!important}
body[data-compact-ui] .compact-drawer :is(.drawer-hint,.drawer-count,.dialog-caption,.rail-label,.rail-footnote,.rail-bottom p,.rail-menu>summary,.mobile-collections){display:none!important}
body[data-compact-ui] .compact-drawer nav{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 12px!important;padding:0!important}
body[data-compact-ui] .compact-drawer nav a{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:44px!important;margin:0!important;padding:8px 12px!important;box-sizing:border-box!important;font-size:16px!important;line-height:1.35!important}
body[data-compact-ui] .compact-drawer :is(.rail-menu,.rail-menu-content,.nav-group,.search-panel,.filter-bar,.search-strip,.search-dock,.catalogue-tools,.compact-search,.filter-form){display:block!important;position:static!important;margin:0 0 14px!important;padding:0!important;border:0!important;min-height:0!important;max-height:none!important}
body[data-compact-ui] .compact-drawer :is(form,.search-row,.query-tools,.search-tools,.search-line){display:flex;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0}
body[data-compact-ui] .compact-drawer :is(input[type=search],input[type=text],textarea){width:100%!important;flex:1 1 180px!important;min-width:0!important;min-height:44px!important;font-size:16px!important;box-sizing:border-box!important}
body[data-compact-ui] .compact-drawer :is(button,summary){min-height:44px!important;box-sizing:border-box!important;font-size:16px!important;line-height:1.35!important}
body[data-compact-ui] .compact-drawer :is(label,.filter-option,.radio-option,.filter-choice){font-size:16px!important;line-height:1.5!important;min-height:44px!important;box-sizing:border-box!important;white-space:normal!important}
body[data-compact-ui] .compact-drawer label:has(input[type=radio]),body[data-compact-ui] .compact-drawer label:has(input[type=checkbox]){display:flex!important;align-items:center!important;gap:9px!important;padding:9px!important}
body[data-compact-ui] .compact-drawer :is(.drawer-footer,.dialog-footer,.dialog-actions){position:static!important;display:flex!important;gap:10px!important;padding:14px 0!important;margin:0!important}
body[data-compact-ui] .compact-drawer #filter-form{display:block!important}
body[data-compact-ui] .compact-footer{margin-top:24px!important;padding-top:16px!important;padding-bottom:20px!important}
body[data-compact-ui] .compact-footer :is(p,.footer-tagline,.bottom-note){display:none!important}
body[data-compact-ui] .compact-footer nav{display:flex;flex-wrap:wrap;gap:8px}
body[data-compact-ui] .compact-footer nav a{font-size:13px;line-height:1.5}
@media(min-width:700px){body[data-compact-ui] :is(.game-grid,.results-grid,.home-game-grid,.event-grid,.spotlight-grid,.bookmark-grid,.home-bookmarks,.entry-grid,.discovery-pair,.cabinet-grid,.exhibit-wall,.compact-stream){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}body[data-compact-ui].compact-list-page main{padding:14px 24px 30px!important}.compact-header{padding-inline:24px!important}}
@media(prefers-reduced-motion:reduce){body[data-compact-ui] *,body[data-compact-ui] *::before{scroll-behavior:auto!important;transition:none!important}}

body[data-compact-ui] .compact-drawer[open]{display:block!important}
body[data-compact-ui] .compact-stream{display:block!important}
body[data-compact-ui] .compact-continuous-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}
body[data-compact-ui] .compact-continuous-grid>[data-compact-more]{grid-column:1/-1!important;justify-self:center!important;min-height:44px!important;margin:4px 0!important;padding:10px 24px!important}
body[data-compact-ui] .compact-continuous-grid>[hidden]{display:none!important}
body[data-compact-ui] .cabinet-screen{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1.6!important;margin:0!important;padding:0!important;overflow:hidden!important}
body[data-compact-ui] .cabinet-label{display:block!important;padding:7px 9px!important;margin:0!important}
body[data-compact-ui] .cabinet :is(.enter,.cabinet-cta,.cabinet-go,.enter-game,.cabinet-open){display:none!important}
body[data-compact-ui].compact-list-page .theme-section{border-top-width:0!important}
body[data-compact-ui].compact-list-page :is(.theme-heading,.section-heading){min-height:22px!important}
body[data-compact-ui].compact-list-page :is(.theme-heading,.section-heading) a{min-height:22px!important}
@media(min-width:700px){body[data-compact-ui] .compact-continuous-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}}

body[data-compact-ui].compact-list-page :is(.theme-heading,.section-heading) :is(div,a){min-height:0!important}
body[data-compact-ui].compact-list-page :is(.theme-heading,.section-heading){border:0!important;padding:0!important}
body[data-compact-ui] .compact-drawer-tools{position:static!important;display:block!important;grid-area:auto!important;min-height:0!important}
body[data-compact-ui] .compact-drawer .rail-collections{display:none!important}
body[data-compact-ui] .compact-drawer .rail-menu-content{max-height:none!important;overflow:visible!important}

body[data-compact-ui] .compact-drawer-tools>a{display:inline-flex!important;align-items:center!important;min-height:44px!important;margin:0 6px 8px 0!important;padding:8px 12px!important;font-size:16px!important;line-height:1.4!important}
body[data-compact-ui] .game-result .result-link{padding:0!important}
body[data-compact-ui] .compact-drawer .compact-choice-group{border:1px solid color-mix(in srgb,currentColor 20%,transparent);margin-bottom:12px}
body[data-compact-ui] .compact-drawer .compact-choice-group>summary{padding:10px 12px;font-size:16px;font-weight:650}

/* One small legal navigation, shared by every page. */
body[data-compact-ui] .compact-footer{display:block!important;margin:20px 0 0!important;padding:10px 14px!important;min-height:0!important;border:0!important;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important}
body[data-compact-ui] .compact-footer>nav{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;column-gap:12px!important;row-gap:0!important;margin:0 auto!important;padding:0!important;width:auto!important;max-width:100%!important;border:0!important;background:transparent!important;box-shadow:none!important}
body[data-compact-ui] .compact-footer>nav>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important;white-space:nowrap!important;color:inherit!important;text-decoration:none!important}
body[data-compact-ui] .compact-footer>nav>a:hover{text-decoration:underline!important}

/* This directory uses a centered filter dialog; other sites retain their own navigation. */
body[data-compact-ui] .compact-drawer {
  inset:12px!important;
  width:min(560px,calc(100% - 24px))!important;
  height:fit-content!important;
  max-height:calc(var(--drawer-height,100dvh) - 24px)!important;
  margin:auto!important;
  border:1px solid #dce4ed!important;
  border-radius:16px!important;
}

/* A quiet blue directory: compact options and soft controls, with games in front. */
body[data-compact-ui] .compact-drawer{
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 18px 64px #172b3a26!important;
  scrollbar-width:thin;
  scrollbar-color:#b8c6d8 transparent;
}
body[data-compact-ui] .compact-drawer::backdrop{background:#172b3a66;backdrop-filter:blur(3px)}
body[data-compact-ui] .compact-drawer :is(button,input[type=search],.filter-group){border-radius:12px!important}
body[data-compact-ui] .compact-drawer #close-filters{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 44px;width:44px;height:44px;padding:0!important;
  border-color:transparent;background:var(--canvas);color:var(--muted);
}
body[data-compact-ui] .compact-drawer nav{gap:3px!important;scrollbar-width:none!important}
body[data-compact-ui] .compact-drawer nav::-webkit-scrollbar{display:none}
body[data-compact-ui] .compact-drawer nav a{
  flex:0 0 auto;min-height:44px!important;padding:8px 10px!important;
  border:0;border-radius:10px;font-size:14px!important;color:var(--muted);background:transparent;
}
body[data-compact-ui] .compact-drawer nav a[aria-current=page]{color:var(--blue-dark);background:var(--pale)}
body[data-compact-ui] .compact-drawer .nav-icon{display:none}
body[data-compact-ui] .compact-drawer .filter-group{margin-bottom:10px;border-color:var(--line);overflow:hidden}
body[data-compact-ui] .compact-drawer .filter-group>summary{padding:10px 12px;border-radius:11px;min-height:52px!important}
body[data-compact-ui] .compact-drawer .filter-option{min-width:0;gap:8px!important;border-radius:9px}
body[data-compact-ui] .compact-drawer .filter-option>span{min-width:0;overflow-wrap:anywhere}
body[data-compact-ui] .compact-drawer .filter-option input{flex:0 0 18px;width:18px;height:18px}
body[data-compact-ui] .compact-drawer .drawer-footer{padding-bottom:0!important}
body[data-compact-ui] .compact-drawer :is(button,a,label,summary){transition:background-color .14s ease,border-color .14s ease,color .14s ease}
body[data-compact-ui] .game-result{border-radius:12px!important}
body[data-compact-ui] .batch-more{border-radius:999px;transition:background-color .14s ease,border-color .14s ease}
@media(min-width:375px){body[data-compact-ui] .compact-drawer #mobile-category{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){body[data-compact-ui] .compact-drawer :is(button,a,label,summary),body[data-compact-ui] .batch-more{transition:none}}

/* Other pages share a small, functional search panel. */
body[data-compact-ui] #compact-menu .compact-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
body[data-compact-ui] #compact-menu .compact-drawer-heading h2{margin:0;font-size:18px;line-height:1.3}
body[data-compact-ui] #compact-menu [data-compact-close]{min-height:44px;padding:7px 12px;font-size:14px}
body[data-compact-ui] .compact-generic-search{display:flex;flex-direction:column;gap:12px;margin:0 0 12px}
body[data-compact-ui] .compact-generic-search>input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);font:inherit;font-size:16px}
body[data-compact-ui] .compact-generic-search fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0;padding:0;border:0}
body[data-compact-ui] .compact-generic-search legend{margin:0 0 10px;font-size:14px;font-weight:650}
body[data-compact-ui] .compact-generic-search label:not(.sr-only){display:flex;align-items:center;gap:8px;min-height:44px;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font-size:16px;line-height:1.3}
body[data-compact-ui] .compact-generic-search label:has(input:checked){background:var(--pale);border-color:var(--blue)}
body[data-compact-ui] .compact-generic-search input[type=radio]{width:17px;height:17px;flex:0 0 17px;margin:0}
body[data-compact-ui] .compact-generic-actions{display:flex;gap:8px;position:sticky;bottom:-18px;padding:10px 0 0;background:white;z-index:1}
body[data-compact-ui] .compact-generic-actions button{flex:1;min-height:44px;font-size:16px}

body[data-compact-ui] :is(#filter-dialog,#compact-menu)[open]{display:flex!important;flex-direction:column!important;overflow:hidden!important;height:fit-content!important}
body[data-compact-ui] #filter-dialog .drawer-header{flex:0 0 auto!important;margin:0 0 10px!important}
body[data-compact-ui] #filter-dialog .drawer-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:0 2px 8px!important;overscroll-behavior:contain}
body[data-compact-ui] #filter-dialog .drawer-footer{flex:0 0 auto!important;position:relative!important;inset:auto!important;padding:12px 0 0!important;margin:0!important;border-top:1px solid var(--line)!important}
body[data-compact-ui] #filter-dialog .drawer-footer button{min-height:44px!important}
body[data-compact-ui] #filter-dialog .rail-menu{margin-top:8px!important;border-top:1px solid var(--line)}
body[data-compact-ui] #filter-dialog .search-panel{margin-bottom:10px!important}
body[data-compact-ui] #compact-menu>.compact-drawer-heading{flex:0 0 auto!important}
body[data-compact-ui] #compact-menu>.compact-drawer-tools{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
body[data-compact-ui] #compact-menu .compact-generic-search{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:12px!important;height:auto!important}
body[data-compact-ui] #compact-menu .compact-generic-search>input{flex:0 0 44px!important;height:44px!important;min-height:44px!important;max-height:44px!important}
body[data-compact-ui] #compact-menu .compact-generic-actions{display:flex!important;gap:8px!important;align-items:center!important}
body[data-compact-ui] #compact-menu .compact-generic-actions button{flex:1 1 0!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:8px 10px!important;white-space:nowrap!important}
