/* Compact covers and a persistent selection, using the shared CHGame palette. */
.browse-quick{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.browse-quick label{margin:0;min-width:0}.browse-search{flex:1;min-width:240px!important}.browse-quick .community-check{align-self:center}
.browse-advanced{margin:24px 0;border-top:2px solid var(--border);padding-top:18px}.browse-advanced>summary{font-size:17px;font-weight:700;cursor:pointer}.browse-advanced .community-filter-grid{margin-top:20px}
.numeric-filter{min-width:0}.numeric-controls{display:flex;align-items:center;gap:12px}.numeric-controls input[type=range]{min-width:0;width:100%;padding:0;flex:1;cursor:pointer;border:0;box-shadow:none;height:28px}.numeric-controls input[type=number]{width:88px;flex:none}.numeric-filter output{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.numeric-controls input[type=range]{appearance:none;-webkit-appearance:none;height:44px;background:transparent;border-radius:5px}
.numeric-controls input[type=range]::-webkit-slider-runnable-track{height:12px;background:var(--sage);border:2px solid var(--border);border-radius:5px;box-shadow:2px 2px 0 #000}
.numeric-controls input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:28px;height:28px;margin-top:-10px;background:var(--yellow);border:2px solid var(--border);border-radius:50%;box-shadow:3px 3px 0 #000}
.numeric-controls input[type=range]::-moz-range-track{box-sizing:border-box;height:12px;background:var(--sage);border:2px solid var(--border);border-radius:5px;box-shadow:2px 2px 0 #000}
.numeric-controls input[type=range]::-moz-range-thumb{box-sizing:border-box;width:28px;height:28px;background:var(--yellow);border:2px solid var(--border);border-radius:50%;box-shadow:3px 3px 0 #000}
.numeric-controls input[type=range]:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}
.numeric-controls input[type=range]:hover::-webkit-slider-thumb{background:var(--panel)}.numeric-controls input[type=range]:hover::-moz-range-thumb{background:var(--panel)}
.arcade-browser{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.arcade-results{min-width:0}
.arcade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px;align-items:start}.arcade-group{margin-bottom:26px}
.arcade-card{position:relative;display:block;aspect-ratio:1;border:0;border-radius:7px;background:transparent;box-shadow:none;overflow:visible;transition:none;min-width:0}
.arcade-cover{position:absolute;inset:0;display:block;aspect-ratio:1;height:100%;width:100%;padding:0;min-height:0;border:2px solid var(--border);border-radius:7px;background:var(--lavender);box-shadow:3px 3px 0 #000;overflow:hidden;transition:none;cursor:grab;touch-action:pan-y;user-select:none}
.arcade-cover:active{transform:none}.arcade-cover:is(:hover,[aria-pressed=true]){background:var(--lavender);outline:4px solid var(--yellow);outline-offset:3px;box-shadow:none}.arcade-cover:focus-visible{outline:4px dashed var(--yellow);outline-offset:3px;box-shadow:none}
.arcade-cover img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:cover;image-rendering:pixelated}.arcade-cover .cover-placeholder{width:100%;height:100%;border:0;border-radius:1px;box-shadow:none;font-size:40px}
.arcade-selection{position:sticky;top:var(--arcade-sticky-top,140px);max-height:calc(100dvh - var(--arcade-sticky-top,140px) - 20px);overflow:auto;overscroll-behavior:contain;min-width:0;background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:5px 5px 0 #000;padding:18px;scrollbar-gutter:stable}
.selection-art{width:min(100%,190px);aspect-ratio:1;margin:0 auto 18px;background:var(--lavender);border:2px solid var(--border);border-radius:7px;overflow:hidden}.selection-art img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.selection-art .cover-placeholder{width:100%;height:100%}
.arcade-card-heading{padding:0;display:block}.arcade-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.arcade-card-meta small{font-size:10px}.arcade-selection h3{font-size:24px;line-height:1.15;margin:0 0 8px;overflow-wrap:anywhere}.arcade-card-body{padding:0}.arcade-byline{font-size:13px;margin:0 0 12px}.arcade-description{font-size:14px;min-height:0;margin-bottom:14px;display:block;-webkit-line-clamp:unset}.arcade-categories:empty{display:none}.arcade-social{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.arcade-social>.muted{font-size:11px;margin-left:auto}.arcade-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.arcade-card-actions button{flex:1;min-height:44px;font-size:13px;padding:10px}.arcade-card-actions [data-action=preview]{flex-basis:100%}.selection-hint{font-size:12px;color:var(--muted);margin:16px 0 0}
#player-area{scroll-margin-top:var(--arcade-sticky-top,140px)}#player-empty{padding:36px 20px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#player-empty strong{font-family:'Space Grotesk',sans-serif;font-size:25px}#player-empty p{margin:12px 0 0}.is-empty .friendly-help,.is-empty .cart-actions{display:none}.is-empty .play-layout{display:block!important;padding-top:0!important}.is-empty .emulator-column{max-width:none}.console-shell{position:relative}
.arcade-dragging,.arcade-dragging *{cursor:grabbing!important;user-select:none!important}.arcade-picked{opacity:.3}
@media(max-width:1050px){.arcade-browser{grid-template-columns:minmax(0,1fr) 290px;gap:22px}.arcade-selection{padding:14px}.arcade-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
@media(max-width:700px){.browse-quick{gap:14px}.browse-search{flex-basis:100%}.arcade-browser{grid-template-columns:minmax(0,1fr);gap:20px}.arcade-selection{position:static;max-height:none;grid-row:1}.arcade-selection>div{display:flow-root}.selection-art{float:left;width:94px;margin:0 16px 10px 0}.arcade-selection h3{font-size:22px}.arcade-social{clear:both}.arcade-card-actions [data-action=preview]{flex-basis:auto}.selection-hint{clear:both}.arcade-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.numeric-controls{gap:8px}#player-empty{min-height:160px;padding:20px 12px}}
@media(prefers-reduced-motion:reduce){.sample-cart-arc{animation:none}}

.arcade-selection{scroll-margin-top:var(--arcade-sticky-top,140px)}

/* One persistent station, beside the whole arcade rather than inside its grid. */
.arcade-workspace{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:32px;align-items:start;margin-top:30px}
.arcade-workspace>#community-panel{margin:0 0 48px;min-width:0}.arcade-workspace .community-heading{align-items:start}.arcade-workspace .community-heading>.community-tag{display:none}.arcade-workspace .community-heading h1{font-size:clamp(28px,3vw,42px)}
.arcade-workspace .arcade-browser{display:block}.arcade-workspace .browse-search{min-width:190px!important}.arcade-workspace .browse-quick{gap:14px}.arcade-workspace .browse-quick>.community-check{flex-basis:100%}.arcade-workspace .community-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.preview-station{position:sticky;top:var(--arcade-sticky-top,140px);max-height:calc(100dvh - var(--arcade-sticky-top,140px) - 20px);overflow:auto;overscroll-behavior:contain;min-width:0;background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:5px 5px 0 #000;scroll-margin-top:var(--arcade-sticky-top,140px);scrollbar-gutter:stable}
.station-toolbar{position:sticky;top:0;z-index:5;background:var(--sage);border-bottom:2px solid var(--border);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.station-toolbar strong{font:700 14px 'Space Grotesk',sans-serif}.station-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.station-toolbar button{font-size:11px;padding:6px 9px;min-height:34px}.station-content{padding:18px}
#station-media{position:relative;min-width:0;border-radius:7px}.preview-station .selection-art{float:none;width:min(100%,300px);aspect-ratio:1;margin:0 auto 20px}.preview-station .selection-art img{width:100%;height:100%}.preview-station .arcade-selection{position:static;max-height:none;overflow:visible;border:0;border-radius:1px;box-shadow:none;padding:0;scrollbar-gutter:auto}.preview-station .arcade-selection>div{display:block}
.preview-station #player-area{margin:0;scroll-margin:0}.preview-station #player-area .play-layout{display:block;padding-top:0}.preview-station .console-shell{max-width:100%;border:0;box-shadow:none;border-radius:5px}.preview-station .friendly-help{margin:12px 0 18px;font-size:11px}.preview-station .control-guide{margin:8px 0;gap:6px}.preview-station kbd{padding:2px 4px;font-size:10px}.preview-station .friendly-help p{display:none}
.preview-station:not(.station-playing) #player-area,.preview-station.station-playing #station-art{display:none}.preview-station #player-empty{min-height:160px}.preview-station .arcade-card-actions{margin-top:14px}.preview-station .arcade-description{font-size:13px}.preview-station .selection-hint{font-size:11px}
#station-cart-tools{margin:20px 0 0;padding-top:12px;font-size:12px}#station-cart-tools>summary{font-size:12px}.preview-station .cart-actions{padding:0;margin:0;border:0;box-shadow:none;background:transparent}.preview-station .cart-actions>h2,.preview-station .cart-actions>p{display:none}.preview-station .cart-actions .actions{gap:8px}.preview-station .cart-actions .actions>*{font-size:11px;padding:8px}.preview-station #share-details{font-size:12px}
.station-expanded{grid-template-columns:minmax(0,1fr)}.station-expanded>.preview-station{position:relative;top:auto;max-height:none;grid-column:1/-1}.station-expanded .station-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:24px;align-items:start}.station-expanded #station-media{grid-column:1;grid-row:1/3}.station-expanded #station-cart-tools{grid-column:2;margin:0}.station-expanded .selection-art{width:min(100%,420px)}.station-expanded #community-panel{grid-column:1/-1}.station-expanded .community-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.station-tools-route{display:block}.station-tools-route>#community-panel{display:none}.station-tools-route>.preview-station{position:static;max-height:none}.station-tools-route .station-toolbar,.station-tools-route #arcade-selection,.station-tools-route #station-art,.station-tools-route #station-cart-tools{display:none}.station-tools-route #player-area:not([hidden]){display:block}.station-tools-route:has(#player-area[hidden]){display:none}.station-tools-route .station-content{display:block}.station-tools-route .console-shell{max-width:660px}
.station-modal-open{overflow:hidden}
@media(max-width:1100px) and (min-width:851px){.arcade-workspace{grid-template-columns:320px minmax(0,1fr);gap:24px}.station-expanded{grid-template-columns:minmax(0,1fr)}.station-toolbar{gap:8px}.station-content{padding:14px}.arcade-workspace .browse-search{flex-basis:100%}}
@media(max-width:850px){
 .arcade-workspace{display:block;margin-top:26px}.arcade-workspace>.preview-station{display:none}.arcade-workspace>.preview-station.station-open{display:block;position:fixed;inset:0;z-index:150;max-height:none;height:100dvh;width:100%;border:0;border-radius:1px;box-shadow:none;scrollbar-gutter:auto;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}
 .station-toolbar{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;flex-wrap:nowrap}.station-toolbar>div{justify-content:flex-end}.station-toolbar button{min-height:42px;font-size:12px}.station-content{padding:18px;max-width:620px;margin:auto}.preview-station .selection-art{width:min(100%,300px)}.preview-station .arcade-selection h3{font-size:27px}.preview-station .arcade-description{font-size:14px}.preview-station .arcade-card-actions button{min-height:46px}.preview-station .arcade-card-actions [data-action=preview]{flex-basis:100%}.preview-station .arcade-social{clear:none}.preview-station .selection-hint{font-size:12px}.preview-station #station-media{scroll-margin-top:75px}.arcade-workspace .browse-quick>.community-check{flex-basis:auto}.station-tools-route>.preview-station{display:block;position:static;height:auto;max-height:none}.station-tools-route:has(#player-area[hidden]){display:none}
}
@media(max-width:410px){.arcade-workspace .community-filter-grid{grid-template-columns:1fr}}

/* Native pixel-art sizes; the scroll rail sits outside the artwork column. */
.arcade-workspace{grid-template-columns:310px minmax(0,1fr);gap:24px 30px}.arcade-workspace>.community-heading{grid-column:1/-1;margin:0 0 8px}.arcade-workspace>.community-heading h1{font-size:clamp(30px,4vw,46px)}.arcade-workspace>.community-heading>.community-tag{display:none}
.arcade-workspace .arcade-grid{grid-template-columns:repeat(auto-fill,132px);gap:4px;justify-content:start}.arcade-card{width:132px;height:132px;aspect-ratio:auto}.arcade-cover{width:132px;height:132px}.arcade-cover img{width:128px;height:128px;max-width:none;max-height:none;object-fit:contain}
.preview-station{background:transparent;border:0;box-shadow:none;border-radius:1px;overflow:visible;max-height:none;scrollbar-gutter:auto}.station-toolbar{position:static;background:transparent;border:0;padding:0 0 10px;min-height:42px;flex-wrap:nowrap}.station-toolbar strong{font-size:18px}.station-toolbar button{min-height:34px}.station-scroll{background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-panel);box-shadow:4px 4px 0 #000;overflow:auto;max-height:calc(100dvh - var(--arcade-sticky-top,140px) - 78px);scrollbar-gutter:stable;overscroll-behavior:contain;padding:0}.station-content{padding:16px;min-width:0}.preview-station .selection-art{box-sizing:content-box;width:256px;height:256px;max-width:none;aspect-ratio:auto;margin:0 auto 18px;border:0;outline:2px solid var(--border);outline-offset:0}.preview-station .selection-art img{width:256px;height:256px;max-width:none;max-height:none;object-fit:contain}
.selection-specs{display:flex;flex-direction:column;text-align:right;gap:4px;max-width:55%;overflow-wrap:anywhere}.selection-category{font-weight:600;font-size:12px}.selection-specs small{font-size:11px;color:var(--muted)}.sd-badge,.selection-count{display:inline-block;font-size:11px;padding:4px 7px;margin:0 0 10px;background:var(--mint);border:1px solid var(--border);border-radius:5px}.selection-count{background:var(--lavender);margin-left:5px}
.pixel-rating{display:inline-flex;gap:2px;flex-shrink:0}.pixel-star{width:18px;height:18px;shape-rendering:crispEdges;overflow:visible;filter:drop-shadow(0 1px 0 #79501c)}.star-edge{fill:#706B58}.star-face{fill:#E2DFD4}.star-shine{fill:#FFFDF6}.filled .star-edge{fill:#97620A}.filled .star-face{fill:#F9C533}.filled .star-shine{fill:#FFF1A8}
.preview-station .arcade-social{gap:16px;margin:10px 0 2px}.preview-station .arcade-social button{border:0;background:transparent;box-shadow:none;padding:4px 0;min-height:36px;font-size:16px;transform:none}.arcade-social [data-action=like]:is(:hover,:focus-visible,.is-selected){color:#B52D37}.arcade-social [data-action=favorite]:is(:hover,:focus-visible,.is-selected){color:#A56D00}.arcade-social [data-action=favorite]:hover{color:#E7AE00}.arcade-social button span{font-size:12px}.preview-station .arcade-card-actions{gap:10px}.preview-station .arcade-card-actions>*{flex-basis:100%;width:100%;text-align:center;min-height:42px;font-size:12px;padding:9px}.preview-station #share-details{margin:18px 0 0;padding-top:14px}.preview-station #share-details>summary{font-size:13px}.preview-station #share-details label{font-size:12px}.preview-station #share-details input{min-width:0;width:100%}
.arcade-workspace .browse-quick{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,180px) 44px;gap:5px 12px;margin:0 0 12px;align-items:end}.arcade-workspace .browse-search{min-width:0!important}.arcade-workspace .browse-quick>.community-check{grid-column:1/-1;grid-row:2;font-size:12px;min-height:24px}.arcade-workspace .browse-quick label{font-size:12px}.arcade-workspace .browse-quick label input,.arcade-workspace .browse-quick label select{margin-bottom:0}.arcade-workspace #browse-options{grid-column:3;grid-row:1;padding:8px;width:44px;height:42px;display:grid;place-items:center}.community-toolbar{border:0;padding:0;margin:0 0 12px;gap:10px}.community-toolbar:has(>button:not([hidden])){padding-top:4px}.community-toolbar #catalog-count{font-size:11px}.arcade-workspace #browse-quick{order:0}
.station-expanded{grid-template-columns:minmax(0,1fr)}.station-expanded>.preview-station{grid-column:1/-1}.station-expanded .station-scroll{max-height:none;overflow:visible;scrollbar-gutter:auto}.station-expanded .station-content{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.station-expanded #share-details{grid-column:2;margin-top:0}.station-expanded #station-media{grid-row:1/3}.station-tools-route>.community-heading{display:none}.station-tools-route .station-scroll{max-height:none}.station-tools-route .station-toolbar{display:none}
@media(max-width:1100px) and (min-width:851px){.arcade-workspace{grid-template-columns:310px minmax(0,1fr);gap:24px}.station-expanded{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.arcade-workspace{display:block}.arcade-workspace>.community-heading{margin-bottom:24px}.arcade-workspace>.preview-station.station-open{padding:12px 12px env(safe-area-inset-bottom);background:var(--panel);overflow:hidden;display:flex;flex-direction:column}.station-toolbar{padding:env(safe-area-inset-top) 4px 10px;flex:none;min-height:48px}.station-toolbar button{min-height:40px}.station-scroll{max-height:none;flex:1;min-height:0;box-shadow:none}.station-content{padding:16px;max-width:none}.preview-station .selection-art{width:256px;height:256px}.preview-station .arcade-card-actions>*{flex-basis:100%}.station-tools-route>.preview-station{display:block}.station-tools-route .station-scroll{overflow:visible}.arcade-workspace .browse-quick{grid-template-columns:minmax(0,1fr) 44px}.arcade-workspace .browse-quick>label:nth-child(2){grid-column:1;grid-row:2}.arcade-workspace .browse-quick>.community-check{grid-row:3}.arcade-workspace #browse-options{grid-column:2;grid-row:1}}

.selection-specs{text-transform:none}.preview-station .selection-art>.cover-placeholder{width:256px;height:256px;border:0;box-shadow:none}

/* Ratings share the artwork's 128-pixel grid; each logical pixel renders at 2px. */
.arcade-title-row{display:flex;align-items:center;justify-content:flex-start;gap:24px;flex-wrap:wrap;margin:0 0 12px}.arcade-workspace .arcade-title-row h1{margin:0}.arcade-title-row #station-resume{flex:none;font-size:13px;min-height:36px}
.station-return{display:flex;align-items:center;gap:12px;padding:0 0 12px}.station-return:not(:has(button:not([hidden]))){display:none}.station-return button{font-size:13px;min-height:36px}.station-tools-route .station-return{display:none}
.station-scroll{max-height:calc(100dvh - var(--arcade-sticky-top,140px) - 20px)}
.preview-station .selection-art{position:relative}.selection-art .pixel-rating{position:absolute;left:16px;bottom:8px;width:224px;height:40px;display:block;pointer-events:none}.pixel-star{filter:none}.star-outline{fill:#21190e}.star-edge{fill:#716c60}.star-face{fill:#aaa594}.star-shine{fill:#e5e0ce}.filled .star-edge{fill:#ac6217}.filled .star-face{fill:#f7bd28}.filled .star-shine{fill:#fff2a1}
.selection-specs{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;text-align:left;max-width:none;width:100%}.selection-category{font-size:11px;letter-spacing:0}.selection-specs small{white-space:nowrap;flex:none}
.selection-contents{margin:14px 0;font-size:13px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}.selection-contents summary{cursor:pointer;font-weight:600}.selection-contents ul{list-style:none;padding-left:14px;margin:8px 0;border-left:1px solid var(--sage)}.selection-contents>ul{padding-left:0;border:0}.selection-contents li{padding:3px 0;overflow-wrap:anywhere}.toc-folder>span{font-weight:700}.selection-contents .toc-game{color:var(--muted);position:relative;padding-left:12px}.toc-game::before{content:'·';position:absolute;left:0}
@media(max-width:850px){.arcade-title-row{gap:12px}.station-return{flex:none;padding:env(safe-area-inset-top) 4px 12px}.station-return button{min-height:42px}.station-scroll{max-height:none}}

/* Compact preview details; native overflow reserves a rail only when needed. */
.station-scroll{scrollbar-gutter:auto}.station-content{padding:12px}
.preview-station #selection-title{font-size:22px;line-height:1.15;margin:0 0 10px;overflow-wrap:anywhere}
.preview-station .selection-art{margin-bottom:10px}.preview-station .arcade-card-meta{margin-bottom:6px}
.selection-sizes{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;text-align:right}
.preview-station .arcade-byline{margin:0 0 6px}.preview-station .arcade-description{line-height:1.45;margin:0 0 8px}
.preview-station .arcade-social{margin:4px 0 0}.preview-station .arcade-card-actions{margin-top:8px;gap:6px}.preview-station .arcade-card-actions>*{min-height:38px;padding:7px}
.preview-station #share-details{margin-top:10px;padding-top:10px}.selection-contents{margin:8px 0;padding:8px 0}
.station-expanded #selection-title{grid-column:1/-1;margin-bottom:0}.station-expanded #station-media{grid-row:2/4}.station-expanded #arcade-selection{grid-column:2;grid-row:2}.station-expanded #share-details{grid-row:3}.station-expanded .station-content{row-gap:12px}
.station-tools-route #selection-title{display:none}
@media(max-width:850px), (max-width:1100px) and (max-height:500px){.preview-station .arcade-card-actions>*{min-height:44px}.preview-station .arcade-social button{min-height:44px}}

/* Compact app navigation and icon controls. */
.arcade-cover{cursor:pointer}.arcade-workspace>.community-heading:not(:has(button:not([hidden]))){display:none}.arcade-workspace>.community-heading{margin:0}.arcade-title-row{margin:0}.community-toolbar:not(:has(>button:not([hidden]))){display:none}
.arcade-cover,.preview-station button,.preview-station a,.selection-art{-webkit-tap-highlight-color:transparent}
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px}.site-footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.site-footer #show-licenses{font:inherit;color:inherit;background:none;border:0;box-shadow:none;border-radius:1px;padding:0;min-height:0;transform:none}.site-footer #show-licenses:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}.site-footer .footer-copyright{margin:0;text-align:center;white-space:nowrap}.site-footer .footer-tagline{margin:0;justify-self:end;text-align:right}.license-list{list-style:none;padding:0;margin:20px 0}.license-list li{padding:12px 0;border-bottom:1px solid var(--sage)}.license-list strong,.license-list span{display:block}.license-list span{font-size:13px;color:var(--muted);margin:4px 0}.licenses-dialog p{font-size:14px}
@media(max-width:650px){.site-footer{grid-template-columns:1fr;justify-items:center;gap:14px}.site-footer nav{justify-content:center}.site-footer .footer-tagline{justify-self:center;text-align:center}.site-footer #show-licenses,.site-footer nav a{padding:8px 0}}
.arcade-workspace .browse-search{position:relative;display:block}.browse-search>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2;pointer-events:none}.arcade-workspace .browse-search input{padding-left:42px}.arcade-workspace .browse-quick input[type=search],.arcade-workspace .browse-quick select{box-shadow:3px 3px 0 #000}
.arcade-workspace .browse-quick{row-gap:10px}.arcade-workspace .browse-quick>.community-check{grid-column:2/-1;grid-row:2;justify-self:end;margin:0}.arcade-workspace #browse-quick #catalog-count{grid-column:1;grid-row:2;align-self:center;justify-self:start;margin:0;font-size:11px}
.station-content,.station-expanded .station-content{display:block}.station-scroll{overflow-x:hidden}.station-identity{position:sticky;top:-12px;z-index:6;background:var(--panel);padding-top:1px;padding-bottom:8px}.preview-station #selection-title{margin:0 0 3px;font-size:22px}.preview-station #selection-author{margin:0;font-size:12px;color:var(--muted);font-weight:600;line-height:1.4}
.station-pages{min-width:0}.station-overview{min-width:0}.station-subpage #station-back{font-size:12px;min-height:36px;margin:0 0 14px}.station-subpage h4{font-size:18px;margin:0 0 12px}.station-subpage .selection-contents{border:0;padding:0;margin:0}.station-subpage .selection-contents>ul{margin-top:0}.preview-station #share-details{border:0;padding:0;margin:0}.preview-station #share-details p{font-size:12px;line-height:1.5}.preview-station #share-details textarea{width:100%;min-width:0}.preview-station #share-details button{font-size:12px}
.preview-station .station-icon-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:8px 0 0}.preview-station .station-icon-row>.station-icon{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:1;width:100%;min-width:0;height:auto;min-height:0;padding:8px;flex:none;border:2px solid var(--border);border-radius:6px;box-shadow:2px 2px 0 #000;color:var(--ink)}
.station-icon svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.preview-station .station-icon-row>.social-icon{border-color:transparent;background:transparent;box-shadow:none;transform:none}.station-icon-row .social-icon.is-selected svg{fill:currentColor}.station-icon-row [data-action=like]:is(:hover,:focus-visible,.is-selected){color:#b52d37}.station-icon-row [data-action=favorite]:is(:hover,:focus-visible,.is-selected){color:#b17a00}.station-icon-row .like-count{position:absolute;right:1px;bottom:0;font-size:9px;line-height:1;background:var(--panel);padding:2px;border-radius:4px}.station-icon-row>.station-icon:focus-visible{outline:2px dashed var(--ink);outline-offset:2px}
.preview-station .selection-art{cursor:help;margin-top:2px;margin-bottom:10px}.selection-art:focus-visible{outline:3px dashed var(--ink);outline-offset:3px}
.station-navigation{margin-top:12px;border-top:1px solid var(--border);padding-top:4px}.station-navigation button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;font-size:12px;padding:7px 2px;background:transparent;border:0;box-shadow:none;text-align:left;transform:none;border-radius:4px}.station-navigation button:hover{background:var(--sage)}
.station-expanded .station-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:20px;align-items:start}.station-expanded #station-media,.station-expanded #arcade-selection{grid-row:auto;grid-column:auto}.station-expanded .station-icon-row{max-width:360px}.station-expanded .station-subpage{max-width:680px}.station-expanded .station-subpage #share-details{margin:0}
.arcade-tooltip{position:fixed;z-index:400;max-width:min(320px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:10px 12px;background:var(--panel);color:var(--ink);border:2px solid var(--border);border-radius:7px;box-shadow:4px 4px 0 #000;font:500 12px/1.45 'DM Sans',system-ui,sans-serif;overflow-wrap:anywhere}.arcade-tooltip.preview-tooltip{width:300px;padding:14px}.arcade-tooltip .arcade-description{font-size:13px;line-height:1.5;margin:10px 0 0}.arcade-tooltip .selection-specs{gap:16px}.arcade-tooltip .selection-category{font-size:12px}.arcade-tooltip .selection-sizes small{font-size:11px}
.preview-station .station-details>.arcade-description{margin:14px 0 10px}.selection-flash{margin-top:12px;font-size:12px}.selection-flash>div:first-child{display:flex;justify-content:space-between;gap:12px}.flash-meter{height:12px;margin:6px 0;border:2px solid var(--border);border-radius:4px;background:var(--panel);overflow:hidden}.flash-meter>span{display:block;height:100%;background:var(--sage)}.selection-flash>small{font-size:11px;color:var(--muted)}
.station-expanded .station-pages{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);grid-template-rows:auto 1fr;gap:14px 20px;align-items:start}.station-expanded .station-overview,.station-expanded #arcade-selection,.station-expanded #arcade-selection>div{display:contents}.station-expanded #station-media{grid-column:1;grid-row:1/3}.station-expanded .station-icon-row{grid-column:2;grid-row:1;grid-template-columns:repeat(5,minmax(0,1fr));max-width:310px;margin-top:0}.station-expanded [data-action=preview]{display:none!important}.station-expanded .station-details,.station-expanded .station-subpage{grid-column:2;grid-row:2;min-width:0;max-width:none}.station-expanded .station-details>.arcade-description{margin-top:0}.station-expanded .station-subview .station-details{display:none}.station-expanded .station-subpage{overflow:hidden}
.station-expanded .station-pages:not(:has(.station-icon-row)) :is(.station-details,.station-subpage){grid-row:1/3}
/* Animate a single clean card shell; text and tiles move without duplicate layers. */
::view-transition-group(*){animation-duration:420ms;animation-timing-function:cubic-bezier(.22,1,.36,1);z-index:1}
::view-transition-image-pair(*){overflow:clip}
::view-transition-old(*),::view-transition-new(*){height:100%;object-fit:none;object-position:top left;mix-blend-mode:normal}
::view-transition-old(*){display:none}
::view-transition-new(*){animation:none}
::view-transition-group(arcade-station){background:var(--panel);border:2px solid var(--border);border-radius:9px;box-shadow:4px 4px 0 #000;box-sizing:border-box;z-index:3;overflow:hidden}
::view-transition-old(arcade-station),::view-transition-new(arcade-station){opacity:0!important;animation:none}
::view-transition-group(arcade-media){z-index:4;background:#000;overflow:visible;border-radius:5px}
::view-transition-image-pair(arcade-media){overflow:visible}
::view-transition-old(arcade-media),::view-transition-new(arcade-media){object-fit:fill}
::view-transition-old(arcade-media){display:block;animation:station-fade-out 80ms ease-out both}
::view-transition-new(arcade-media){animation:station-fade-in 120ms 80ms ease-out both}
::view-transition-group(arcade-identity),::view-transition-group(arcade-description),::view-transition-group(arcade-navigation),::view-transition-group(arcade-subpage),::view-transition-group(arcade-action-add),::view-transition-group(arcade-action-download),::view-transition-group(arcade-action-install),::view-transition-group(arcade-action-like),::view-transition-group(arcade-action-favorite),::view-transition-group(arcade-action-edit),::view-transition-group(arcade-action-curate){z-index:5}
::view-transition-old(arcade-description),::view-transition-old(arcade-navigation),::view-transition-old(arcade-subpage),::view-transition-old(arcade-help),::view-transition-old(arcade-action-preview),::view-transition-old(arcade-action-add),::view-transition-old(arcade-action-download),::view-transition-old(arcade-action-install),::view-transition-old(arcade-action-like),::view-transition-old(arcade-action-favorite),::view-transition-old(arcade-action-edit),::view-transition-old(arcade-action-curate){display:block;animation:station-fade-out 70ms ease-out both}
::view-transition-new(arcade-description),::view-transition-new(arcade-navigation),::view-transition-new(arcade-subpage),::view-transition-new(arcade-help),::view-transition-new(arcade-action-preview),::view-transition-new(arcade-action-add),::view-transition-new(arcade-action-download),::view-transition-new(arcade-action-install),::view-transition-new(arcade-action-like),::view-transition-new(arcade-action-favorite),::view-transition-new(arcade-action-edit),::view-transition-new(arcade-action-curate){animation:station-fade-in 130ms 250ms ease-out both}
::view-transition-old(arcade-identity){display:none}
::view-transition-new(arcade-identity){animation:none}
::view-transition-group(root),::view-transition-new(root){animation:none}::view-transition-old(root){display:none}
@keyframes station-fade-out{to{opacity:0}}@keyframes station-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}
@media(max-width:850px){.arcade-workspace>.community-heading{margin-bottom:14px}.arcade-workspace .browse-quick>.community-check{grid-column:1/-1;grid-row:3;justify-self:end}.arcade-workspace #browse-quick #catalog-count{grid-row:3}.preview-station .station-icon-row>.station-icon{min-height:44px}.station-navigation button{min-height:44px}.station-subpage #station-back{min-height:44px}}

/* Arcade color and density refinements. Dialog-close is the shared close-button style. */
.drop-bubble,.drop-bubble.has-document,.drop-bubble::before{background:var(--sage)}
.drop-bubble:hover,.drop-bubble:focus-visible,.drop-bubble:hover::before{background:var(--mint)}
.preview-station .station-icon[data-action=preview]{background:var(--yellow)}
.preview-station .station-icon[data-action=preview]:hover{background:#FFE881}
.group-stars{color:#E5AB18;text-shadow:0 1px 0 #967010;letter-spacing:1px;margin-right:4px}
.preview-station .selection-art{background:#000;border:8px solid #000;box-sizing:content-box;border-radius:5px}
.preview-station .selection-art>img{border:0;border-radius:2px}
#browse-filters{padding:14px;margin-bottom:18px}
#browse-filters .community-filter-grid{gap:10px 14px}
#browse-filters input,#browse-filters select{padding:7px 10px;margin-top:4px}
#browse-filters select[multiple]{min-height:70px;height:78px}
#browse-filters .browse-advanced{margin:14px 0 12px;padding-top:12px}
#browse-filters>.actions{margin-top:12px;gap:8px}
#browse-filters .filter-range{gap:8px}
.file-formats dt{display:flex;flex-wrap:wrap;gap:7px;align-self:start;color:var(--ink)}
.file-type-badge{padding:5px 9px;color:var(--ink);background:var(--lavender);border:2px solid var(--border);border-radius:6px;box-shadow:2px 2px 0 #000}

.arcade-cover[aria-pressed=true]{animation:selected-rainbow 8s linear infinite;outline:3px solid #E8B54A;outline-offset:4px}
@keyframes selected-rainbow{0%,100%{outline-color:#E8B54A}16.67%{outline-color:#DE6886}33.33%{outline-color:var(--lavender)}50%{outline-color:var(--blue)}66.67%{outline-color:var(--mint)}83.33%{outline-color:var(--sage)}}
@media(prefers-reduced-motion:reduce){.arcade-cover[aria-pressed=true]{animation:none}}

.station-content{position:relative}

/* Keep the same action colors in the arcade and Cart Builder. */
.preview-station .station-icon[data-action=add]{background:var(--sage)}
.preview-station .station-icon[data-action=add]:hover{background:var(--mint)}
.preview-station .station-icon[data-action=install]{background:var(--lavender)}
.preview-station .station-icon[data-action=install]:hover{background:color-mix(in srgb,var(--lavender) 75%,var(--panel))}
.preview-station .selection-download{background:var(--blue)}
.preview-station .selection-download:hover{background:color-mix(in srgb,var(--blue) 60%,var(--panel))}
#test-cart,#station-resume{background:var(--yellow)}
#test-cart:hover,#station-resume:hover{background:#FFE881}
#make-embed{margin-bottom:12px}
#station-resume{font-size:13px;min-height:36px}
@media(min-width:851px){
 .preview-station>#station-resume{position:absolute;right:-12px;top:0;transform:translateY(calc(-100% + 9px));z-index:8}
 .station-tools-route .preview-station>#station-resume{display:none}
}

/* Pin browse mode at its initial screen position; expanded mode stays in the page. */
@media(min-width:851px){
 .arcade-workspace:not(.station-tools-route){margin-top:10px}
 .arcade-workspace:not(.station-expanded):not(.station-tools-route)>.preview-station{position:sticky;top:var(--arcade-sticky-top);z-index:2}
 .preview-station .station-scroll{max-height:calc(100dvh - var(--arcade-sticky-top) - 20px);overflow:auto}
 .station-expanded .station-scroll{max-height:none}
 .preview-station .station-identity{position:static}
}
/* Keep smooth artwork sampling at rest and throughout the hover motion. */
.arcade-card{rotate:none;transform:translateZ(0) scale(.9) rotate(var(--cover-tilt,0deg));backface-visibility:hidden;transition:transform 240ms cubic-bezier(.2,.8,.2,1)}
.arcade-card.cover-raised{transform:translate3d(0,-7px,0) scale(1) rotate(0deg)}
.arcade-card .arcade-cover img{image-rendering:auto;transform:translateZ(0);backface-visibility:hidden}
.selection-art[data-play-preview],.selection-art[data-resume-preview]{cursor:pointer}
.arcade-tooltip{white-space:pre-line}
.selection-play-hint{margin:12px 0 0;border-top:1px solid var(--line);padding-top:10px}
.station-pages{overflow:visible;isolation:isolate}
.station-expanded :is(.station-details,.station-subpage){overflow:clip;overflow-clip-margin:3px}
::view-transition-group(arcade-resume),::view-transition-group(arcade-close){z-index:9;overflow:visible}
::view-transition-image-pair(arcade-resume),::view-transition-image-pair(arcade-close){overflow:visible}
::view-transition-new(arcade-resume),::view-transition-new(arcade-close){height:auto;object-fit:fill}

.arcade-card{z-index:0}
.arcade-card:has(.arcade-cover[aria-pressed=true]){z-index:1}
.arcade-card:is(:hover,:focus-within){z-index:2}
.arcade-cover{background:#000;border-color:#000;transform:translateZ(0);backface-visibility:hidden;transition:transform 180ms cubic-bezier(.2,.8,.2,1),box-shadow 180ms ease}
.arcade-cover:is(:hover,[aria-pressed=true]){background:#000;border-color:#000}
.arcade-card.cover-raised .arcade-cover{box-shadow:5px 8px 0 #000}
.arcade-card .arcade-cover:active{transform:translate3d(0,3px,0) scale(.96);box-shadow:1px 1px 0 #000}
.arcade-cover::after{content:'';position:absolute;inset:-50% auto -50% -80%;width:75%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.arcade-cover.cover-shine::after{animation:cover-shine 300ms ease-out}
@keyframes cover-shine{0%{translate:0;opacity:0}12%{opacity:.8}70%{opacity:.6}100%{translate:260% 0;opacity:0}}
.social-spark{position:absolute;left:50%;top:50%;pointer-events:none;z-index:10;font-size:12px;line-height:1;text-shadow:0 1px 0 var(--border)}
.heart-spark{color:#E47491}.star-spark{color:#E8B426}
@media(prefers-reduced-motion:reduce){.arcade-card,.arcade-cover{transition:none}.arcade-card.cover-raised{transform:scale(1) rotate(0deg)}.arcade-card .arcade-cover:active{transform:none}.arcade-cover.cover-shine::after{animation:none}}
/* Retained actions stay visible for the whole journey to the right-hand column. */
::view-transition-old(arcade-action-add),::view-transition-old(arcade-action-download),::view-transition-old(arcade-action-install),::view-transition-old(arcade-action-like),::view-transition-old(arcade-action-favorite),::view-transition-old(arcade-action-edit),::view-transition-old(arcade-action-curate){display:none}
::view-transition-new(arcade-action-add),::view-transition-new(arcade-action-download),::view-transition-new(arcade-action-install),::view-transition-new(arcade-action-like),::view-transition-new(arcade-action-favorite),::view-transition-new(arcade-action-edit),::view-transition-new(arcade-action-curate){animation:none}

/* One attached desktop toggle moves horizontally with the card's top edge. */
#station-resume{min-width:96px;justify-content:center}
.resume-awaiting-hop{visibility:hidden}
.preview-station.resume-hopping>.station-scroll{position:relative;z-index:1}
.station-toggle-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.station-toggle-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.station-toggle-outgoing{position:absolute;inset:0}
@media(min-width:851px){.preview-station>.station-return{display:none}}
::view-transition-group(arcade-toggle),::view-transition-group(arcade-toggle-label){z-index:9;overflow:visible}
::view-transition-image-pair(arcade-toggle),::view-transition-image-pair(arcade-toggle-label){overflow:visible}
::view-transition-new(arcade-toggle){height:auto;object-fit:fill;animation:none}
::view-transition-old(arcade-toggle-label){display:block;animation:station-fade-out 100ms ease-out both}
::view-transition-new(arcade-toggle-label){animation:station-fade-in 180ms 120ms ease-out both}
/* The outer frame has the radius; the actual screen stays square to its corners. */
.preview-station #play-host{width:100%;padding:5px;background:#000;border:0;border-radius:5px;aspect-ratio:1;overflow:hidden}
.preview-station #play-host iframe{border-radius:0;background:#000}
.preview-station #player-empty{aspect-ratio:1;min-height:0;background:#000;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:20px}
/* Rings clear the hard shadow; the very faint ambient shadow adds depth underneath. */
.arcade-cover:is(:hover,[aria-pressed=true],:focus-visible){outline-offset:10px}
.arcade-card::before{content:'';position:absolute;inset:8px;border-radius:8px;box-shadow:0 4px 14px 3px rgb(0 0 0 / .065);pointer-events:none;transition:box-shadow 240ms ease;z-index:-1}
.arcade-card.cover-raised::before{box-shadow:0 11px 20px 5px rgb(0 0 0 / .085)}
.arcade-card:has(.arcade-cover:active)::before{box-shadow:0 3px 9px 1px rgb(0 0 0 / .05)}
@media(prefers-reduced-motion:reduce){.arcade-card::before{transition:none}}

/* Contents use native, keyboard-accessible folder accordions and game actions. */
.selection-contents ul{border:0;padding-left:12px;margin:4px 0 8px}
.selection-contents>ul{padding:0}
.selection-contents .toc-folder{padding:0;margin:0 0 6px}
.selection-contents .toc-folder>details{border:0;padding:0;margin:0;background:none}
.selection-contents .toc-folder summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:9px 8px;margin:0;min-height:36px;border:0;border-radius:5px;font-size:13px;color:var(--ink);list-style:none}
.selection-contents .toc-folder summary::-webkit-details-marker{display:none}
.selection-contents .toc-folder summary::before{content:'+';font-size:18px;line-height:1}
.selection-contents .toc-folder details[open]>summary::before{content:'−'}
.selection-contents .toc-folder summary:hover{background:var(--sage)}
.selection-contents .toc-game{padding:0;color:var(--ink)}
.selection-contents .toc-game::before{content:none}
.selection-contents .toc-game button{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;margin:0;padding:6px 8px;border:0;border-radius:5px;background:transparent;box-shadow:none;transform:none;text-align:left;justify-content:flex-start;font-size:12px;font-weight:500;line-height:1.4}
.selection-contents .toc-game button::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.selection-contents .toc-game button:hover{background:var(--sage)}

/* Drag feedback follows the actual artwork/screen, never its surrounding margins. */
.arcade-drag-guide{transition:opacity .15s ease,visibility 0s .15s}
.arcade-drag-guide.guide-on{transition-delay:0s}
.arcade-drag-arc{position:fixed;inset:0;z-index:92;width:100%;height:100%;pointer-events:none;overflow:visible}
.arcade-drag-ghost{position:fixed;z-index:93;pointer-events:none;width:128px;height:128px;transform:translate(-50%,-50%)}
.arcade-drag-ghost img,.arcade-drag-ghost>.cover-placeholder{display:block;width:128px;height:128px;object-fit:cover;image-rendering:pixelated;border:0;outline:2px solid #000;border-radius:5px;background:#000;box-shadow:3px 3px 0 #000}
.arcade-drag-ghost>.drag-caption{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:max-content;max-width:220px;margin:0;padding:7px 10px;border:2px solid var(--border);border-radius:7px;background:var(--yellow);box-shadow:3px 3px 0 #000;font-size:11px;line-height:1.4;text-align:center}
.arcade-drag-player,.arcade-drag-cart{position:fixed;z-index:91;pointer-events:none;border:2px dashed var(--border);border-radius:5px;background:var(--sage);color:var(--ink);box-sizing:border-box}
.arcade-drag-player{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:clamp(16px,3vw,28px);text-align:center;font-size:clamp(13px,1.4vw,18px);line-height:1.4}
.arcade-drag-player.is-over,.arcade-drag-cart.is-over{background:var(--yellow);border-style:solid}
.drag-play-icon{display:grid;place-items:center;width:42px;height:42px;padding-left:3px;border:2px solid var(--border);border-radius:50%;background:var(--yellow);box-shadow:2px 2px 0 #000;font-size:20px}
.arcade-drag-cart{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 14px;border-style:solid;border-radius:999px;box-shadow:3px 3px 0 #000;font-size:13px;text-align:center}
.arcade-drag-cart svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* The emulator belongs to Play; wheel scrolling chains through its desktop panel. */
.arcade-workspace.station-tools-route{display:none!important}
.preview-station,.preview-station .station-scroll{overscroll-behavior:auto}
@media(max-width:850px), (max-width:1100px) and (max-height:500px){.preview-station.station-open .station-scroll{overscroll-behavior:contain}}
.preview-station .local-preview-actions{display:flex;flex-wrap:wrap}
.preview-station .local-preview-actions>.station-icon{width:44px;height:44px;flex:none}
.preview-station [data-preview-action=resume]{background:var(--yellow)}
.station-expanded [data-preview-action=resume]{display:none!important}
.preview-station [data-preview-action=add]{background:var(--sage)}
.preview-station [data-preview-action=install]{background:var(--lavender)}
#drop-bubble.arcade-cart-ready{outline:none}
/* Creation and cart settings share the green action palette. */
#builder-panel :is(#new-cart,#cart-details,#new-folder){background:var(--sage)}
#builder-panel :is(#new-cart,#cart-details,#new-folder):hover{background:var(--mint)}
#builder-panel .cart-cover-upload{background:var(--blue)}
#builder-panel .cart-cover-upload:hover{background:color-mix(in srgb,var(--blue) 60%,var(--panel))}
.arcade-drag-cart::after{content:'';position:absolute;inset:4px;border:2px dashed var(--border);border-radius:inherit;pointer-events:none}
.arcade-drag-player,.arcade-drag-cart{transition:background-color 120ms ease-out}
@media(prefers-reduced-motion:reduce){.arcade-drag-player,.arcade-drag-cart{transition:none}}
#drop-bubble.arcade-cart-over{background:var(--yellow);outline-style:solid}
@media(prefers-reduced-motion:reduce){.arcade-drag-guide{transition:none}}
.expanded-preview-stats{display:none}
.station-expanded .expanded-preview-stats{display:block;margin-top:24px}
.expanded-preview-stats h3{font-size:16px;margin:0 0 12px}
.expanded-preview-stats dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0 0 20px}
.expanded-preview-stats dt{font-size:11px;color:var(--muted)}
.expanded-preview-stats dd{margin:3px 0 0;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.station-expanded #preview-station .station-icon-row{display:flex;flex-wrap:wrap;gap:38px 28px;max-width:none;padding:0 12px 25px;margin-bottom:10px}
.station-expanded #preview-station .station-icon-row>.station-icon{width:44px;height:44px;min-height:44px;flex:0 0 44px;overflow:visible}
.station-expanded .station-icon-row>.station-icon:after{content:attr(aria-label);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);width:76px;text-align:center;font-size:11px;line-height:1.25;font-weight:650;color:var(--ink);pointer-events:none}
.station-expanded .station-icon-row>[data-action=like]:after{content:'Like'}
.station-expanded .station-icon-row>[data-action=favorite]:after{content:'Favorite'}
.station-expanded .station-icon-row>[data-action=install]:after,.station-expanded .station-icon-row>[data-preview-action=install]:after{content:'Install'}
.station-expanded .station-icon-row>[data-preview-action=resume]:after{content:'Resume'}
.station-expanded .station-icon-row>.selection-download:after{content:'Download'}
.station-expanded .station-details>.arcade-description{display:block;-webkit-line-clamp:unset}
/* Categories are quiet marks on the page; only the game covers have depth. */
.arcade-workspace .browse-quick>.browse-grouping{grid-column:1/-1;grid-row:2;justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 18px;padding-left:85px;min-width:0}
.browse-grouping .community-check{white-space:nowrap;font-size:12px;min-height:28px;gap:7px}
.arcade-results{container-type:inline-size}
.category-shelves{display:grid;grid-template-columns:repeat(var(--category-columns),var(--tile-step));grid-auto-flow:row;align-items:start;gap:0;--category-columns:1;padding:0}
.category-shelf{grid-column:span min(var(--category-count),var(--category-columns));min-width:0;max-width:100%;position:relative;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.category-shelf-heading{position:absolute;top:0;left:0;right:24px;transform:translateY(-50%);display:flex;align-items:center;gap:8px;min-width:0;height:24px;margin:0;padding:0;background:transparent;color:var(--muted);font-size:11px;font-weight:650;line-height:24px;letter-spacing:.1em;text-transform:uppercase}
.category-shelf-heading::before,.category-shelf-heading::after{content:'';height:3px;border-radius:2px;background:#E6E2D3}
.category-shelf-heading::before{width:12px;flex:none}
.category-shelf-heading::after{flex:1;min-width:8px}
.category-shelf-heading>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.category-shelf-heading>small{flex:none;color:var(--muted);font-size:10px;font-weight:450;letter-spacing:0;font-variant-numeric:tabular-nums}
.arcade-workspace .category-shelf>.arcade-grid{grid-template-columns:repeat(min(var(--category-count),var(--category-columns)),var(--tile-step));gap:0;justify-content:start}
@container(min-width:288px){.category-shelves{--category-columns:2}}
@container(min-width:432px){.category-shelves{--category-columns:3}}
@container(min-width:576px){.category-shelves{--category-columns:4}}
@container(min-width:720px){.category-shelves{--category-columns:5}}
@container(min-width:864px){.category-shelves{--category-columns:6}}
@container(min-width:1008px){.category-shelves{--category-columns:7}}
@container(min-width:1152px){.category-shelves{--category-columns:8}}
@container(min-width:1296px){.category-shelves{--category-columns:9}}
@container(min-width:1440px){.category-shelves{--category-columns:10}}
@media(max-width:850px){.arcade-workspace .browse-quick>.browse-grouping{grid-row:3;padding-left:85px}}
@media(max-width:550px){.arcade-workspace .browse-quick>.browse-grouping{justify-self:stretch;justify-content:space-between;padding-left:0;gap:6px 10px}.arcade-workspace #browse-quick #catalog-count{grid-row:4}.browse-grouping .community-check{font-size:11px}}

/* The page's 24px dot grid anchors columns, rules and cover centers. */
.app-main:has(>.arcade-workspace:not(.station-tools-route)){max-width:none;padding-inline:max(48px,calc((100% - 1440px)/2));padding-top:calc(round(up,calc(var(--site-header-height,108px) + 36px),24px) - var(--site-header-height,108px))}
.arcade-workspace:not(.station-tools-route){--tile-step:144px;width:100%;grid-template-columns:312px minmax(0,1fr);gap:24px;margin-top:0}
.arcade-workspace.station-expanded{grid-template-columns:minmax(0,1fr)}
.arcade-workspace .browse-quick{grid-template-columns:minmax(0,1fr) 168px 48px;grid-template-rows:72px 48px;gap:0 24px;margin-bottom:0}
.arcade-workspace .browse-quick>label:nth-child(2){display:grid;grid-template-rows:24px 48px;line-height:24px}
.arcade-workspace .browse-quick label input,.arcade-workspace .browse-quick label select{height:48px;margin:0}
.arcade-workspace #browse-options{width:48px;height:48px}
.arcade-workspace .browse-quick>.browse-grouping{align-self:stretch;gap:8px 24px}
.arcade-workspace .arcade-group{margin-bottom:24px}
.arcade-workspace .arcade-group-heading{height:24px;margin:0 0 24px}
.arcade-workspace .arcade-group:has(>.category-shelves)>.arcade-group-heading{margin-bottom:24px}
.arcade-workspace .arcade-group-heading h2{line-height:24px}
.arcade-workspace .arcade-grid{grid-template-columns:repeat(auto-fill,var(--tile-step));gap:0}
.arcade-workspace .arcade-card{width:var(--tile-step);height:var(--tile-step);max-width:none;aspect-ratio:1}
.arcade-workspace .arcade-cover{inset:6px;width:calc(var(--tile-step) - 12px);height:calc(var(--tile-step) - 12px);max-width:none}
.arcade-workspace .arcade-cover img{width:100%;height:100%;max-width:100%;max-height:100%}
.arcade-workspace #browse-filters{margin:0 0 var(--filter-grid-gap,24px)}
@media(min-width:851px){
 .preview-station .station-scroll{max-height:round(down,calc(100dvh - var(--arcade-sticky-top) - 24px),24px)}
 .station-expanded .station-scroll{max-height:none}
}
@media(max-width:850px){
 .app-main:has(>.arcade-workspace:not(.station-tools-route)){padding-inline:24px}
 .arcade-workspace .browse-quick{grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:48px 72px 48px;gap:0 24px}
 .arcade-workspace .browse-quick>.browse-grouping{grid-row:3}
}
@media(max-width:550px){
 .arcade-workspace .browse-quick>.browse-grouping{gap:8px 12px}
 .arcade-workspace .browse-grouping .community-check{font-size:11px}
 /* Three flexible tracks fit phone widths; each tile retains a gutter for its frame and shadow. */
 .arcade-workspace .arcade-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}
 .arcade-workspace .arcade-card{width:100%;height:auto;aspect-ratio:1}
 .arcade-workspace .arcade-cover{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
 .arcade-workspace .browse-quick{grid-template-rows:48px 72px 48px 24px}
 .arcade-workspace #browse-quick #catalog-count{align-self:start;line-height:24px}
 .category-shelves{--category-columns:3;grid-template-columns:repeat(3,minmax(0,1fr))}
 .arcade-workspace .category-shelf>.arcade-grid{grid-template-columns:repeat(min(var(--category-count),var(--category-columns)),minmax(0,1fr))}
 .category-shelf-heading{right:12px}
}
@media(max-width:360px){
 .arcade-workspace .browse-quick>.browse-grouping{column-gap:4px}
 .arcade-workspace .browse-grouping .community-check{gap:3px}
}

.category-shelf .arcade-card.cover-raised{transform:scale(1) rotate(0deg)}
.category-shelf .arcade-cover:is(:hover,[aria-pressed=true],:focus-visible){outline-offset:3px}
.category-shelf .arcade-card:focus-within{outline:0}
/* Warm accents live behind the artwork and its hard shadow. */
.heat-heating{--heat-color:#f5cf43}
.heat-fire{--heat-color:#ef684f}
.cover-heat{position:absolute;inset:2px -2px -2px 2px;border-radius:11px;background:var(--heat-color);pointer-events:none;z-index:-1;opacity:.8}
.cover-heat i{display:none}
.heat-heating>.cover-heat.heat-visible{animation:heat-breathe 3.6s ease-in-out infinite}
.heat-fire>.cover-heat.heat-visible{animation:fire-breathe 2.8s ease-in-out infinite}
.heat-fire>.cover-heat i{display:block;position:absolute;top:0;left:calc(6% + var(--ember)*11%);width:2px;height:2px;border-radius:0;background:var(--heat-color);opacity:0}
.heat-fire>.cover-heat i:nth-child(1){--ember:0}
.heat-fire>.cover-heat i:nth-child(2){--ember:1}
.heat-fire>.cover-heat i:nth-child(3){--ember:2}
.heat-fire>.cover-heat i:nth-child(4){--ember:3}
.heat-fire>.cover-heat i:nth-child(5){--ember:4}
.heat-fire>.cover-heat i:nth-child(6){--ember:5}
.heat-fire>.cover-heat i:nth-child(7){--ember:6}
.heat-fire>.cover-heat i:nth-child(8){--ember:7}
.heat-fire>.cover-heat i:nth-child(9){--ember:8}
.heat-fire>.cover-heat.heat-visible i{animation:heat-ember 2.7s linear infinite;animation-delay:calc(var(--ember)*-.7s)}
.heat-paused .cover-heat,.heat-paused .cover-heat i{animation-play-state:paused!important}
@keyframes heat-breathe{0%,100%{opacity:.45;box-shadow:0 0 0 0 var(--heat-color)}50%{opacity:1;box-shadow:0 0 0 2px var(--heat-color)}}
@keyframes fire-breathe{0%,100%{opacity:.45;box-shadow:0 0 0 0 var(--heat-color)}50%{opacity:1;box-shadow:0 0 0 2px var(--heat-color)}}
@keyframes heat-ember{0%{opacity:0;transform:translate(0,0)}12%,55%{opacity:1}100%{opacity:0;transform:translate(4px,-24px)}}
.game-heat{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;margin:4px 0 8px;border:2px solid var(--border);border-radius:6px;background:var(--heat-color);color:#000;box-shadow:2px 2px 0 #000;font-size:11px;font-weight:750;line-height:16px;white-space:nowrap}
.game-heat svg{width:14px;height:16px;fill:currentColor}
.arcade-card.toc-highlight::after{content:'';position:absolute;border:2px solid var(--ink);pointer-events:none;animation:toc-locate 600ms ease-in-out 3;z-index:3}
@keyframes toc-locate{0%,100%{opacity:0}45%,65%{opacity:1}}
@media(max-width:550px){.cover-heat{inset:-4px -7px -7px -4px}.arcade-card.toc-highlight::after{inset:-5px -8px -8px -5px}}
@media(prefers-reduced-motion:reduce){.cover-heat,.cover-heat i,.arcade-card.toc-highlight::after{animation:none!important}.cover-heat{opacity:1}.cover-heat i{display:none}.arcade-card.toc-highlight::after{opacity:1}}

/* Preserve the artwork bezel throughout preview transitions. */
.preview-station .selection-art{position:relative;overflow:visible}
.preview-station .selection-art>img,.preview-station .selection-art>.cover-placeholder{border-radius:7px}
/* Action snapshots include shadows and expanded labels outside the button box. */
::view-transition-image-pair(arcade-action-add),::view-transition-image-pair(arcade-action-download),::view-transition-image-pair(arcade-action-install),::view-transition-image-pair(arcade-action-like),::view-transition-image-pair(arcade-action-favorite),::view-transition-image-pair(arcade-action-edit),::view-transition-image-pair(arcade-action-curate),::view-transition-image-pair(arcade-action-preview),::view-transition-image-pair(arcade-action-resume),::view-transition-image-pair(arcade-heat){overflow:visible}
::view-transition-group(arcade-action-preview),::view-transition-group(arcade-action-resume),::view-transition-group(arcade-heat){z-index:6;overflow:visible}
::view-transition-old(arcade-action-resume){display:block;animation:station-fade-out 100ms ease-out both}
::view-transition-new(arcade-action-resume){animation:station-fade-in 180ms 180ms ease-out both}
::view-transition-old(arcade-heat){display:block;animation:station-fade-out 100ms ease-out both}
::view-transition-new(arcade-heat){animation:station-fade-in 180ms 180ms ease-out both}

/* Animate the sticker without replacing its resting rotation. */
.game-heat{position:relative;isolation:isolate}
.game-heat.heat-visible.heat-heating{animation:badge-breathe 3.6s ease-in-out infinite}
.game-heat.heat-visible.heat-fire{animation:badge-breathe 2.8s ease-in-out infinite}
.game-heat>.cover-heat{inset:-2px;border-radius:inherit;background:transparent;opacity:1}
.game-heat.heat-fire>.cover-heat.heat-visible{animation:none}
.heat-paused .game-heat{animation-play-state:paused!important}
@keyframes badge-breathe{0%,100%{scale:1}50%{scale:1.18}}
@media(prefers-reduced-motion:reduce){.game-heat{animation:none!important;scale:1}}

.selection-art .pixel-rating{display:flex;align-items:center;justify-content:space-between;gap:6px;height:36px;bottom:8px}
.preview-station .selection-art .pixel-rating>img{width:40px;height:36px;flex:none;object-fit:contain;border:0;border-radius:0;image-rendering:pixelated}
.pixel-rating .unlit{filter:grayscale(1) brightness(.72)}
#station-details-toggle,#station-controls-return{display:none}
.preview-station.station-playing :is([data-preview-action=resume],[data-action=preview]){display:none!important}
@media(max-width:850px), (max-width:1100px) and (max-height:500px){
 .preview-station.station-open .station-scroll{border:0;border-radius:0;box-shadow:none;scrollbar-gutter:auto}
 .preview-station.station-open .station-return{justify-content:flex-end;gap:12px;padding:8px 4px 12px}
 .preview-station #station-close{order:2;border:2px solid var(--border);border-radius:999px;box-shadow:3px 3px 0 #000;background:var(--yellow);color:var(--on-accent);min-height:36px;min-width:96px;padding:7px 12px}
 .preview-station #station-close:hover{background:#ffe881;color:var(--on-accent)}
 .preview-station:focus,.preview-station #station-close:not(.keyboard-focus){outline:none;-webkit-tap-highlight-color:transparent}
 .preview-station #station-close.keyboard-focus:focus{outline:2px solid var(--ink);outline-offset:3px}
 .preview-station.station-playing #station-details-toggle{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:7px;border-radius:50%;background:var(--panel);color:var(--ink)}
 .preview-station .friendly-help{display:none}
 .preview-station.station-playing:not(.mobile-details-open) #arcade-selection{display:none}
 .preview-station.station-playing #play-host{aspect-ratio:auto;overflow:visible;background:transparent;padding:0;border-radius:0}
 .preview-station.station-playing #play-host iframe{display:block;width:100%;background:transparent}
 .preview-station.station-playing .station-content{padding:4px 4px 16px}
 .preview-station.station-playing .station-subpage{margin-top:16px}
}


@media(max-width:850px), (max-width:1100px) and (max-height:500px){.preview-station .station-icon-row{display:flex;flex-wrap:wrap;gap:8px}.preview-station .station-icon-row>.station-icon{width:44px;height:44px;min-height:44px;flex:0 0 44px}}

/* Slide only inside the station viewport. Decorative badges live outside it. */
.preview-station .station-scroll{overflow-x:hidden}
.station-heat-overlay{position:absolute;width:max-content;height:auto;pointer-events:none;z-index:10;overflow:visible}
.station-heat-overlay>.game-heat{--badge-tilt:11deg;position:relative;margin:0;transform:rotate(var(--badge-tilt));transform-origin:center;pointer-events:auto;cursor:default}
.station-heat-overlay>.game-heat .cover-heat i{rotate:calc(-1 * var(--badge-tilt))}
.station-heat-overlay[hidden]{display:none}
/* Every tile layer uses the same face, frame and corner geometry. */
.arcade-card{--cover-inset:6px;--cover-radius:7px;--cover-shadow:3px;isolation:isolate}
.arcade-card::before,.arcade-card.cover-raised::before,.arcade-card:has(.arcade-cover:active)::before{inset:calc(var(--cover-inset) - 2px);border-radius:calc(var(--cover-radius) + 2px);background:#000;box-shadow:var(--cover-shadow) var(--cover-shadow) 0 #000;transition:none;z-index:-2}
.arcade-card>.cover-heat{inset:calc(var(--cover-inset) - 2px);border-radius:calc(var(--cover-radius) + 2px);z-index:-1}
.arcade-card .arcade-cover,.arcade-card.cover-raised .arcade-cover,.arcade-card .arcade-cover:is(:hover,:focus-visible,:active,[aria-pressed=true]){border-radius:var(--cover-radius);box-shadow:none}
.arcade-card .arcade-cover:is(:hover,:focus-visible,[aria-pressed=true]),.category-shelf .arcade-cover:is(:hover,:focus-visible,[aria-pressed=true]){outline:none;animation:none}
.arcade-card:focus-within{outline:none}
.arcade-card .arcade-cover:active{transform:none}
.arcade-card:has(.arcade-cover:active){translate:2px 2px}
/* Four clear background pixels beyond the bezel AND its bottom/right shadow.
   Include the locator's own 2px border when calculating its outer bounds. */
.arcade-card:has(.arcade-cover:is(:hover,:focus-visible,[aria-pressed=true]))::after,.arcade-card.toc-highlight::after{content:'';position:absolute;inset:calc(var(--cover-inset) - 8px) calc(var(--cover-inset) - 8px - var(--cover-shadow)) calc(var(--cover-inset) - 8px - var(--cover-shadow)) calc(var(--cover-inset) - 8px);border:2px solid var(--yellow);border-radius:calc(var(--cover-radius) + 8px);pointer-events:none;z-index:2}
.arcade-card:has(.arcade-cover[aria-pressed=true])::after{animation:selected-frame-rainbow 8s linear infinite}
.arcade-card:has(.arcade-cover:focus-visible)::after{border-style:dashed}
.arcade-card.toc-highlight:has(.arcade-cover)::after{border-color:var(--ink);animation:toc-locate 600ms ease-in-out 3}
@keyframes selected-frame-rainbow{0%,100%{border-color:#E8B54A}16.67%{border-color:#DE6886}33.33%{border-color:var(--lavender)}50%{border-color:var(--blue)}66.67%{border-color:var(--mint)}83.33%{border-color:var(--sage)}}
@media(prefers-reduced-motion:reduce){.arcade-card:has(.arcade-cover)::after{animation:none!important}}
@media(max-width:550px){.arcade-card{--cover-inset:8px}}

/* Tablet playback: actions stay with the screen, metadata gets its own page. */
.station-navigation .station-stats-link,.station-mobile-heading:empty{display:none}
/* Personal collections are filters on the same catalog, not alternate pages. */
#community-panel>.community-toolbar{gap:8px;margin:0 0 20px;padding:0;align-items:center}
#community-panel>.community-toolbar button{min-height:36px;padding:6px 14px;border-radius:999px;font-size:13px;line-height:1.3}
#community-panel>.community-toolbar button[aria-pressed=true]{background:var(--yellow);color:var(--on-accent)}
#community-panel>.community-toolbar #browse-admin{margin-left:auto}
#station-stats .expanded-preview-stats{display:block;margin:0}
#station-stats .expanded-preview-stats>h3{display:none}
@media(min-width:851px) and (max-width:1100px){
 .station-expanded #station-media{grid-row:1;grid-column:1}
 .station-expanded #preview-station .station-icon-row{grid-row:2;grid-column:1;justify-content:center;gap:38px 24px;margin:0;padding:4px 8px 28px}
 .station-expanded .station-details,.station-expanded .station-subpage{grid-column:2;grid-row:1/3}
 .station-expanded .station-details>.expanded-preview-stats{display:none}
 .station-expanded .station-stats-link{display:flex}
}
/* The iframe paints only its bezel and controls over this shared page surface. */
.preview-station.station-playing #play-host{padding:0;background:transparent;border-radius:0;overflow:visible;aspect-ratio:auto}
.preview-station.station-playing #play-host iframe{background:transparent}
.preview-station.station-playing .console-shell{background:transparent;border-radius:0}
.station-restoring #player-empty{aspect-ratio:1;background:#000;color:#f2f0e8;border-radius:16px}
.station-restoring #station-art{display:none}
.station-mobile-footer{display:none}
@media(max-width:850px), (max-width:1100px) and (max-height:500px){
 .station-return #station-close{order:0!important}
 .station-return #station-resume{order:1}
 .preview-station .station-return :is(#station-close,#station-resume){height:36px;min-height:36px;padding:0 12px;border:2px solid var(--border);border-radius:999px;box-shadow:3px 3px 0 #000;box-sizing:border-box}
 .preview-station:not(.station-playing) #arcade-selection{background:transparent}
 .site-header>#station-resume{position:absolute;left:calc(44% + 4vw + 20px);bottom:0;transform:translateY(50%);z-index:9;border-radius:999px;color:var(--on-accent);box-shadow:4px 4px 0 #000}
}
@media(max-width:550px){
 .site-header:has(>#station-resume:not([hidden])) .drop-bubble{width:min(312px,calc(100% - 168px))}
 .site-header>#station-resume{left:calc(44px + min(312px,100% - 168px))}
 .site-header:has(>#station-resume:not([hidden])) #drop-label:not(.cart-icon){min-width:0;max-width:100%}
 .site-header:has(>#station-resume:not([hidden])) #drop-label .insert-game-label{width:100%;height:auto}
}
@media(max-width:850px), (max-width:1100px) and (max-height:500px){
 .arcade-workspace>.preview-station.station-open{background-color:var(--bg);background-image:var(--page-pattern);background-size:24px 24px;background-position:center top}
 .preview-station.station-open .station-scroll{background:transparent;scrollbar-gutter:auto;scrollbar-width:none}
 .station-mobile-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;flex:none;padding:2px 4px 6px}
 .station-mobile-heading .station-identity{position:static;min-width:0;padding:0;background:transparent}
 .station-mobile-heading #selection-title{font-size:20px;overflow-wrap:anywhere}
 .preview-station.station-open .station-mobile-heading .station-return{padding:0;gap:8px}
 .preview-station .station-stats-link{display:flex}
 .preview-station .station-details>.expanded-preview-stats{display:none}
}
/* Mobile playback is a fixed page with a persistent system-control dock. */
@media(max-width:850px), (max-width:1100px) and (max-height:500px){
 html:has(.station-modal-open){overflow:hidden}
 .preview-station.station-open{width:100vw!important}
 .preview-station.station-playing .station-mobile-footer{--dock-bottom:max(16px,env(safe-area-inset-bottom));position:relative;display:grid;place-items:center;flex:none;width:100%;padding:14px 0 var(--dock-bottom);z-index:6}
 .station-system-controls{display:flex;gap:12px}
 .station-system-controls button{width:100px;min-height:42px;background:var(--panel);color:#000;border:3px solid #000;border-radius:10px;box-shadow:4px 4px 0 #000;font-weight:800;touch-action:none}
 .preview-station.station-playing :is(#station-details-toggle,#station-controls-return){display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:8px;background:var(--panel);color:var(--ink);border-radius:50%}
 .preview-station.station-playing #station-details-toggle{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:calc(var(--dock-bottom) - 2px)}
 .preview-station.station-playing :is(#station-details-toggle,#station-controls-return) svg{width:20px;height:20px}
 .preview-station.station-playing .station-scroll{position:relative;overflow:visible;container-type:size;z-index:8}
 .preview-station.station-playing :is(.station-content,.station-pages,.station-overview,#station-media,#player-area,.play-layout,.emulator-column,.console-shell,#play-host){height:100%;min-height:0}
 .arcade-workspace>.preview-station.station-playing.station-open{padding:max(8px,env(safe-area-inset-top)) 0 0}
 .preview-station.station-playing .station-mobile-heading{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 .preview-station.station-playing .station-content{padding:4px 0 0}
 .preview-station.station-playing .station-system-controls{justify-self:center;gap:10px}
 .preview-station.station-playing .station-system-controls button{position:relative;width:76px;height:36px;min-height:36px;padding:0;font-size:13px;border-width:2px;border-radius:9px;box-shadow:3px 3px 0 #000;color:var(--ink)}
 .preview-station.station-playing .station-system-controls button::before{content:'';position:absolute;inset:-4px 0}
 .preview-station.station-playing .station-system-controls button:active{translate:2px 2px;box-shadow:1px 1px 0 #000}
 .preview-station.station-playing #play-host iframe{height:100%!important}
 .preview-station.station-playing.mobile-details-open #arcade-selection,.preview-station.station-playing .station-subpage{position:absolute;inset:var(--station-controls-top,65%) 0 0;min-height:0!important;max-width:none;margin:0;padding:60px 16px 12px;overflow:auto;scrollbar-width:none;background:var(--bg);z-index:7}
 .preview-station.station-playing.mobile-details-open .station-subpage{z-index:8}
 .preview-station.station-playing.mobile-details-open .station-mobile-footer{pointer-events:none}
 .preview-station.station-playing.station-controls-returning .station-mobile-footer{pointer-events:auto}
 .preview-station.station-playing.mobile-details-open #arcade-selection,.preview-station.station-playing .station-subpage{bottom:calc(-1 * var(--station-dock-height,66px));padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .preview-station.station-playing.mobile-details-open #arcade-selection{padding-top:4px}
 .preview-station.station-playing.mobile-details-open .station-icon-row{margin-top:0}
 .preview-station.station-playing.station-subview.station-controls-returning #arcade-selection{visibility:hidden}
 .preview-station.station-playing.mobile-details-open :is(.station-icon-row,.station-subpage-actions)>#station-controls-return{position:static;margin-left:auto;flex:0 0 44px;width:44px;height:44px;min-height:44px}
 .preview-station.station-playing.mobile-details-open .station-subpage{padding-top:12px}
 .preview-station.station-playing .station-subpage-actions{display:flex;align-items:center;gap:12px;margin-bottom:16px}
 .preview-station.station-playing .station-subpage-actions #station-back{height:44px;min-height:44px;margin:0;padding-block:0;box-sizing:border-box;border-radius:999px}
 .preview-station.station-restoring #player-empty{width:100%;margin:0;min-height:0;padding:0;border-radius:0;background:#000;font-size:0}
 .preview-station.station-restoring:has(#play-host iframe) #player-empty{display:none}
 .preview-station.station-restoring #player-empty strong{font-size:14px}
}

.arcade-workspace #browse-options[aria-expanded=true],.arcade-workspace #browse-options[aria-expanded=true]:hover{background:var(--yellow);color:#000}
@media(max-width:550px) and (max-height:760px){
 .preview-station.station-playing .station-mobile-heading{padding-top:4px;padding-bottom:0}
}
/* In a short, wide player the controls flank the canvas. Details use the
   available middle area instead of opening below an already full-height game. */
@media(min-width:600px) and (max-width:850px) and (max-height:600px), (min-width:851px) and (max-width:1100px) and (max-height:500px){
 .preview-station.station-playing.mobile-details-open #arcade-selection,
 .preview-station.station-playing .station-subpage{inset:0 0 calc(-1 * var(--station-dock-height,66px));padding-top:12px}
}

/* A short landscape window uses the same fixed station as a portrait phone.
   The catalog, header, and other workspaces retain their own breakpoints. */
@media(max-width:360px){.preview-station.station-playing.mobile-details-open .station-icon-row{gap:4px}}
@media(min-width:851px) and (max-width:1100px) and (max-height:500px){
 .arcade-workspace:not(.station-tools-route)>.preview-station.station-open{display:flex;flex-direction:column;position:fixed;inset:0;z-index:150;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:hidden;scrollbar-gutter:auto;overscroll-behavior:contain}
 .preview-station.station-open .station-scroll{flex:1;min-height:0;max-height:none;padding-bottom:0}
 .preview-station.station-open .station-content{max-width:none;margin:0}
 .preview-station.station-open:not(.station-playing){padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 .preview-station.station-playing .station-scroll{border:0;border-radius:0;box-shadow:none}
}

.station-game-info,.station-game-controls{display:grid;gap:18px;margin:20px 0 0;font-size:13px;line-height:1.5}
#station-info{padding-bottom:16px}
.station-game-info>div,.station-game-controls>div{min-width:0}
.station-game-info dt,.station-game-controls dt{font-weight:700;margin-bottom:4px}
.station-game-info dd,.station-game-controls dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.station-game-info a{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;color:var(--notification-link);text-decoration:underline;text-underline-offset:3px}
.station-game-info a .ui-icon{width:14px;height:14px;flex:none;align-self:center}
.station-game-info a span{min-width:0;overflow-wrap:anywhere}
.station-game-info a:hover{color:var(--ink)}
.station-game-controls>div{display:grid;grid-template-columns:minmax(44px,auto) minmax(0,1fr);gap:12px;align-items:baseline}
.station-game-controls dt{padding:4px 8px;border:2px solid var(--border);border-radius:var(--radius-inset);background:var(--panel);box-shadow:2px 2px 0 #000;max-width:110px;overflow-wrap:anywhere}
/* Search, personal filters and listing count share a compact control area. */
.arcade-workspace .browse-quick{grid-template-columns:minmax(0,1fr) 168px 40px;grid-template-rows:56px auto;gap:8px 16px;margin-bottom:12px}
.arcade-workspace .browse-quick>label:nth-child(2){grid-template-rows:18px 38px;line-height:18px}
.arcade-workspace .browse-quick label input[type=search],.arcade-workspace .browse-quick label select{height:38px;min-height:38px;padding-block:7px;font-size:12px}
#arcade-workspace #browse-options{width:38px;height:38px;min-height:38px;padding:5px;box-sizing:border-box}
.arcade-workspace .browse-quick>.browse-personal-filters{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0;padding-right:220px}
.browse-personal-filters button{font-size:12px;min-height:30px;padding:5px 12px;border-radius:999px}
.arcade-workspace #browse-quick .browse-personal-filters #catalog-count{margin-left:12px;line-height:30px;white-space:nowrap}
.arcade-workspace .browse-quick>.browse-grouping{grid-column:1/-1;grid-row:2;align-self:center;padding:0;gap:8px 16px}
#community-panel>.community-toolbar:not(:has(>button:not([hidden]))){display:none}
@media(max-width:1000px){.arcade-workspace .browse-quick>.browse-personal-filters{padding-right:0}.arcade-workspace .browse-quick>.browse-grouping{grid-row:3;justify-self:end}}
@media(max-width:850px){.arcade-workspace .browse-quick{grid-template-columns:minmax(0,1fr) 40px;grid-template-rows:38px 56px auto auto;gap:6px 12px}.arcade-workspace .browse-quick>.browse-personal-filters{grid-row:3}.arcade-workspace .browse-quick>.browse-grouping{grid-row:4;justify-self:start}.arcade-workspace .browse-quick>label:nth-child(2){grid-column:1;grid-row:2}}
/* Direct game shelves keep their titles close to the covers. */
.arcade-workspace .arcade-group:has(>.arcade-grid)>.arcade-group-heading{margin-bottom:8px}
