/* Reference-aligned directory layout. Existing game and consent behavior is retained. */
@font-face{font-family:Directory Sans;src:url('/assets/type/dm-sans-latin.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
html:has(body[data-ui=portal]){color-scheme:light;scrollbar-color:#667383 #f3f1e9;scrollbar-width:thin}
body[data-ui=portal][data-page]{--bg:#f3f1e9;--panel:#fffefa;--text:#171c24;--muted:#62666b;--line:#d1cec5;--accent:#d1f14c;--max:none;margin:0;background:var(--bg);color:var(--text);font:16px/1.6 'Directory Sans',Arial,sans-serif}
body[data-ui=portal] *,body[data-ui=portal] *:before,body[data-ui=portal] *:after{box-sizing:border-box}
body[data-ui=portal] ::selection{background:#d1f14c;color:#171c24}
body[data-ui=portal] :focus-visible{outline:3px solid #526a29;outline-offset:4px}
body[data-ui=portal] input{caret-color:#526a29}
body[data-ui=portal][data-page] .site-header{position:sticky;top:0;z-index:20;background:#fbfaf5;color:#171c24;border-bottom:2px solid #171c24}
body[data-ui=portal][data-page] .header-inner{max-width:none;height:76px;min-height:76px;margin:0;padding:10px 24px 10px 10px;gap:14px;display:flex;flex-wrap:nowrap}
body[data-ui=portal][data-page] .brand-full{background:transparent;width:207px;height:44px;flex:none;border:0;border-radius:0;overflow:visible}
body[data-ui=portal][data-page] .brand-full .site-brand-image{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
body[data-ui=portal][data-page] .hub-search{order:0;display:flex;align-items:center;gap:8px;flex:0 1 440px;width:440px;max-width:440px;height:46px;border:1px solid #a8a9a2;border-radius:2px;background:#fff;padding:0 5px 0 14px;margin:0}
body[data-ui=portal][data-page] .hub-search input{min-width:0;width:100%;color:#171c24;padding:0;background:transparent;font:inherit;font-size:13px;border:0;outline-offset:0}
body[data-ui=portal][data-page] .hub-search input::placeholder{color:#62666b}
body[data-ui=portal][data-page] .hub-search button{background:#d1f14c;color:#171c24;width:36px;height:36px;flex:none;display:grid;place-items:center;border:0;border-radius:0;padding:7px}
body[data-ui=portal][data-page] .hub-search button svg{width:23px;height:23px}
body[data-ui=portal][data-page] .top-links{gap:25px;margin-left:auto;margin-right:0;font-size:13px;font-weight:700;white-space:nowrap}
body[data-ui=portal][data-page] .top-links a{padding:0;color:#171c24;border-radius:0;background:none}
body[data-ui=portal][data-page] .top-links a:is(:hover,[aria-current=page]){color:#40571e;background:none;text-decoration:underline;text-underline-offset:5px}
body[data-ui=portal][data-page] .saved-link{display:flex;gap:12px;min-height:38px;padding:8px 13px;border:1px solid #171c24;color:#171c24;font-size:13px;font-weight:700}
body[data-ui=portal][data-page] .saved-link svg{display:none}
body[data-ui=portal][data-page] .saved-link span{display:inline}
body[data-ui=portal][data-page] [data-saved-count]{color:#526a29;font-variant-numeric:tabular-nums}
.directory-menu{display:none;background:transparent;border:0;color:#171c24;width:40px;height:44px;padding:8px;flex:none}
.directory-icon{width:21px;height:21px;flex:none;vertical-align:middle}
.directory-shell{display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;min-width:0}
.directory-sidebar{position:sticky;top:78px;height:calc(100dvh - 78px);overflow:auto;overscroll-behavior-y:contain;background:#202c3b;color:#eef1f7;padding:22px 15px;scrollbar-width:thin;scrollbar-color:#667383 #202c3b}
.directory-sidebar-title{color:#a8b7cb;font-size:10px;font-weight:800;letter-spacing:.12em;margin:4px 10px 12px}
.directory-sidebar nav{display:flex;flex-direction:column;gap:3px}
.directory-sidebar nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;color:#eef1f7;border-radius:2px;font-size:13px;font-weight:600;line-height:1.5;text-decoration:none}
.directory-sidebar nav a:hover{background:#364356;color:white}
.directory-sidebar nav a[aria-current=page]{background:#d1f14c;color:#171c24}
.directory-sidebar nav a b{margin-left:auto;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.directory-sidebar nav a [data-saved-count]{color:inherit!important}
.directory-sidebar nav[aria-label="Game collections"] a{font-size:12px;min-height:40px}
.directory-sidebar-divider{border-top:1px solid #52616d;padding-top:22px;margin-top:30px}
.directory-sidebar-note{margin-top:28px;padding:22px 10px 10px;border-top:1px solid #52616d;font-size:12px}
.directory-sidebar-note strong{font-size:14px;color:#eef1f7}.directory-sidebar-note p{color:#b8c3d2;line-height:1.7;margin:10px 0 18px}.directory-sidebar-note a{color:#ffe15a;font-weight:700}
.directory-mobile-nav{position:fixed;top:78px;left:0;right:0;max-height:calc(100dvh - 78px);overflow:auto;background:#202c3b;color:white;z-index:19;padding:12px 20px 20px;box-shadow:0 12px 20px #171c2420}
.directory-mobile-nav a{display:block;padding:12px 4px;border-bottom:1px solid #52616d;font-size:14px}
body[data-ui=portal][data-page] main.directory-content{min-width:0;width:100%;max-width:none;margin:0;padding:22px 42px 40px 20px}
.portal-home-heading{align-items:center;margin:0 0 20px;gap:18px}.portal-home-heading h1{font-family:inherit;font-size:clamp(18px,1.6vw,23px);font-weight:800;letter-spacing:-.035em;line-height:1.2;margin:0 0 5px}.portal-home-heading p{font-size:12px;color:#62666b;margin:0}.portal-home-heading>span{display:none}
.play-options-note{font-size:14px;line-height:1.6;margin:0 0 22px;color:#171c24}.play-options-note a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.portal-row{margin:0 0 34px}.portal-section-heading{margin:0 0 16px;gap:12px;min-height:52px}.portal-section-heading>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}
.portal-section-heading h2{font-family:'Arial Black','Directory Sans',sans-serif;font-weight:900;letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(21px,2vw,28px);line-height:1.2;border:2px solid #171c24;box-shadow:3px 3px 0 #171c24;padding:8px 13px;background:#ffb3a1;color:#171c24}
.portal-section-heading h2 a:hover{color:#171c24}.portal-row:nth-of-type(3n+2) .portal-section-heading h2{background:#bba4f5}.portal-row:nth-of-type(3n) .portal-section-heading h2{background:#86d7a2}.portal-section-heading span{font-size:12px;color:#62666b}
.portal-row-actions{gap:12px;align-items:center}.portal-row-actions>a{order:3;display:flex;align-items:center;justify-content:center;gap:14px;background:#202c3b;color:#fffefa;border-radius:8px;min-height:52px;padding:0 20px;margin:0;font-size:13px;font-weight:700}.portal-row-actions>a span{color:inherit;font-size:18px}.portal-row-actions>a:hover{background:#d1f14c;color:#171c24}
.portal-row-actions button{width:44px;height:44px;border:2px solid #171c24;border-radius:0;background:#f3f1e9;box-shadow:3px 3px 0 #171c24;color:#171c24;font-size:28px;padding:0}.portal-row-actions button:hover:not(:disabled){background:#d1f14c}.portal-row-actions button:disabled{opacity:.45;box-shadow:none;cursor:default}
.portal-row-body{display:block;background:none!important;border:0;border-radius:0;padding:0;min-width:0}
.portal-rail{scroll-padding-inline:0;overflow-anchor:none}
body[data-ui=portal][data-page] .portal-rail,body[data-ui=portal][data-page] .game-grid.portal-rail{--shelf-columns:7;display:grid;grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:calc((100% - 96px)/7);gap:18px 16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#171c24 #dedbd2;padding:0 6px 12px 0;align-items:stretch;width:100%}
body[data-ui=portal][data-page] .game-card{position:relative;display:flex;flex-direction:column;padding:0;border:2px solid #171c24;background:#fffefa;box-shadow:3px 3px 0 #171c24;border-radius:0;min-width:0;flex:initial!important;transform:none;transition:transform .16s ease,box-shadow .16s ease}
body[data-ui=portal][data-page] .game-card__img-wrap{display:block;width:100%;aspect-ratio:2/3;overflow:hidden;background:#18212c;border:0;border-bottom:2px solid #171c24;border-radius:0;box-shadow:none;flex:none}
body[data-ui=portal][data-page] .game-cover{display:block;width:100%;height:100%}body[data-ui=portal][data-page] .game-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#fffefa;filter:none}
body[data-ui=portal][data-page] .game-card h2{font:800 16px/1.18 'Directory Sans',Arial,sans-serif;letter-spacing:-.035em;color:#19231b;padding:0;margin:11px 12px 8px;min-height:2.36em;overflow-wrap:anywhere}
body[data-ui=portal][data-page] .game-card h2 a:hover{color:#40571e}
body[data-ui=portal][data-page] .case-meta{display:block;font-size:11px;color:#565c61;line-height:1.5;padding:0;margin:0 12px 11px;min-height:16px;margin-top:auto}
body[data-ui=portal][data-page] .case-meta:before{content:"";display:inline-block;width:8px;height:8px;border:1px solid #171c24;background:#86d7a2;margin-right:7px}.case-meta>span{display:inline!important}.case-meta>span+span:before{content:" · ";white-space:pre}
body[data-ui=portal][data-page] .launch-label,body[data-ui=portal][data-page] .launch-label.is-external{color:#565c61;white-space:normal}
body[data-ui=portal][data-page] .save-game{width:32px;height:32px;top:7px;right:7px;background:#fffefa;color:#171c24;border:1px solid #171c24;border-radius:0;opacity:0;transition:opacity .15s}
body[data-ui=portal][data-page] .save-game[aria-pressed=true]{background:#d1f14c;color:#171c24;border-color:#171c24;opacity:1}
body[data-ui=portal][data-page] .game-card:is(:hover,:focus-within) .save-game{opacity:1}.save-game:focus-visible{opacity:1!important}
body[data-ui=portal][data-page] .external-tag{color:#fffefa;background:#18212ce6;border:0;font-size:9px;line-height:1.5;padding:3px 5px;bottom:6px;left:6px}
body[data-ui=portal][data-page] .tile-play{background:#171c2470;color:white}
body[data-ui=portal][data-page] .game-grid:not(.portal-rail){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 16px;padding:0 6px 12px 0;align-items:stretch}
.portal-library-heading{margin:0 0 24px}.portal-library-heading .portal-kicker{display:none}.portal-library-heading h1{font:800 28px/1.2 'Directory Sans',Arial,sans-serif;color:#171c24}.portal-library-heading>div>p:last-child,.portal-library-heading #count{color:#62666b}
.portal-collections{border-color:#d1cec5}.portal-collections a{border-color:#b5b8b1;color:#171c24;background:#fffefa;border-radius:0}.portal-collections a[aria-current=page]{background:#d1f14c;border-color:#171c24;color:#171c24}
body[data-ui=portal][data-page] .genre-tabs button{border:1px solid #a8a9a2;background:#fffefa;color:#171c24;border-radius:0;min-height:38px;font:inherit;font-size:12px}body[data-ui=portal][data-page] .genre-tabs button[aria-pressed=true]{background:#202c3b;color:#fffefa;border-color:#202c3b}
body[data-ui=portal][data-page] .view-tabs button,body[data-ui=portal][data-page] .mode-tabs button{color:#565c61}body[data-ui=portal][data-page] :is(.view-tabs,.mode-tabs) button[aria-pressed=true]{color:#171c24;border-color:#171c24;font-weight:700}
body[data-ui=portal][data-page] .sort-bar select{background:#fffefa;color:#171c24;border:1px solid #a8a9a2;border-radius:0}.portal-library .sort-bar{border-color:#d1cec5}.portal-library :is(.sort-bar,.catalog-controls){flex-wrap:wrap}
.portal-partners{background:#fffefa;border:1px solid #d1cec5;border-radius:0;padding:24px;margin:34px 0}.portal-partners .portal-section-heading h2{font-family:inherit;background:none;border:0;box-shadow:none;padding:0;text-transform:none;font-size:24px}.portal-partners .portal-section-heading>a{color:#40571e}.portal-partner-grid article{border:1px solid #171c24;background:#fffefa;border-radius:0}.portal-partner-grid :is(h3,p,small){color:#171c24}.portal-partner-grid img{object-fit:cover}.portal-about{border-color:#d1cec5;color:#62666b}.portal-about h2{color:#171c24}.portal-about a{color:#40571e}
.portal-guide-links .shelf-more{color:#171c24;border-color:#d1cec5}.portal-guide-links .shelf-more>span{color:#62666b}.portal-guide-links a:hover{color:#40571e}
body[data-ui=portal][data-page] .site-footer{background:#fbfaf5;color:#171c24;border-color:#171c24;margin:0}body[data-ui=portal][data-page] .footer-inner{max-width:none;padding:36px 42px 24px 27px;gap:24px}body[data-ui=portal][data-page] .footer-inner :is(p,nav){color:#62666b}body[data-ui=portal][data-page] .footer-inner .footer-note{border-color:#d1cec5}
body[data-ui=portal][data-page] .footer-inner .brand-full{background:none;width:200px;height:46px}body[data-ui=portal][data-page] .footer-inner .brand-full .site-brand-image{position:static;width:100%;height:100%;object-fit:contain}
body[data-ui=portal][data-page] .play-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}body[data-ui=portal][data-page] .player-card{border:2px solid #171c24;border-radius:0;background:#101720}.player-bar{background:#202c3b;color:white}.game-stage{background:#101720}body[data-ui=portal][data-page] .primary-play{background:#d1f14c;color:#171c24;border-radius:2px}body[data-ui=portal][data-page] .recommendations{background:#fffefa;border:1px solid #d1cec5;border-radius:0}.player-status,.player-recovery{color:#62666b}.player-recovery a{color:#40571e}
body[data-ui=portal][data-page] :is(.quick-panels>section,.player-guide,.search-help,.guide-notes){background:#fffefa;color:#171c24;border-color:#d1cec5;border-radius:0}body[data-ui=portal][data-page] :is(.quick-panels,.player-guide,.search-help,.guide-notes) :is(h2,h3,strong){color:#171c24}body[data-ui=portal][data-page] :is(.source-line,.search-help,.guide-notes) a{color:#40571e}.section-kicker{display:none}.game-requirements,.source-line,.breadcrumbs,.quick-panels p{color:#62666b}.quick-panels li,.how-to-steps li,.game-about p{color:#40464b}.launch-warning{color:#fffefa;background:#18212ce8}.external-player-disclosure{color:#364454;background:#fffefa;border-color:#d1cec5}.player-tools button{color:#eef1f7}.player-label span{color:#c4ceda}
body[data-ui=portal][data-page] .info-page{max-width:100%;padding-right:max(42px,calc((100vw - 1200px)/2))}#privacy-form{border-color:#a8a9a2;background:#fffefa}#privacy-form #privacy-signal{color:#40571e}
@media(hover:hover){body[data-ui=portal][data-page] .game-card:hover{transform:translateY(-3px);box-shadow:3px 6px 0 #171c24}body[data-ui=portal][data-page] .game-card:hover .game-card__img-wrap{border-color:#171c24}}
@media(min-width:1800px){body[data-ui=portal][data-page] .game-grid:not(.portal-rail){grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:1200px){body[data-ui=portal][data-page] .portal-rail,body[data-ui=portal][data-page] .game-grid.portal-rail{--shelf-columns:4;grid-auto-columns:calc((100% - 48px)/4)}body[data-ui=portal][data-page] .game-grid:not(.portal-rail){grid-template-columns:repeat(4,minmax(0,1fr))}.portal-section-heading>div:first-child{flex-wrap:wrap;gap:12px}.portal-section-heading span{max-width:48ch}}
@media(max-width:1050px){.directory-shell{grid-template-columns:1fr}.directory-sidebar{display:none}body[data-ui=portal][data-page] .top-links,body[data-ui=portal][data-page] .saved-link{display:none}.directory-menu{display:block}body[data-ui=portal][data-page] .hub-search{margin-left:auto;flex-basis:360px}body[data-ui=portal][data-page] main.directory-content{padding:22px 28px 40px}body[data-ui=portal][data-page] .footer-inner{padding:30px 28px}body[data-ui=portal][data-page] .play-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}}
@media(max-width:900px){.portal-section-heading{flex-wrap:wrap;gap:14px}.portal-section-heading>div:first-child{flex-basis:100%}.portal-row-actions{width:100%;justify-content:flex-start}.portal-row-actions>a{margin-left:auto}body[data-ui=portal][data-page] .play-layout{display:flex;flex-direction:column}.recommendations{width:100%}.recommend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){body[data-ui=portal][data-page] .portal-rail,body[data-ui=portal][data-page] .game-grid.portal-rail{--shelf-columns:2;grid-auto-columns:calc((100% - 12px)/2);gap:16px 12px}body[data-ui=portal][data-page] .game-grid:not(.portal-rail){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}body[data-ui=portal][data-page] main.directory-content{padding:20px 14px 32px}.portal-home-heading{display:block}.portal-home-heading h1{font-size:20px}.portal-home-heading p{margin-top:8px}.portal-row{margin-bottom:28px}.portal-section-heading h2{font-size:18px;padding:7px 9px}.portal-section-heading span{font-size:11px}.portal-row-actions>a{font-size:12px;padding:0 14px;min-height:44px}.portal-library-heading h1{font-size:24px}body[data-ui=portal][data-page] .game-card h2{font-size:14px;margin:9px 9px 8px}body[data-ui=portal][data-page] .case-meta{font-size:10px;margin:0 9px 9px;min-height:30px}body[data-ui=portal][data-page] .save-game{opacity:1;width:28px;height:28px;top:5px;right:5px}.portal-partners{padding:16px}.portal-partner-grid article{display:block}.portal-partner-grid img{aspect-ratio:4/3}.portal-partners .portal-section-heading{align-items:flex-start}.portal-partners .portal-section-heading h2{font-size:20px}.portal-partners .portal-section-heading>a{white-space:normal;max-width:100px}.quick-panels{grid-template-columns:1fr}.portal-library .sort-bar{gap:12px}.portal-library .view-tabs{gap:12px;flex-wrap:wrap}}
@media(max-width:600px){body[data-ui=portal][data-page] .header-inner{height:62px;min-height:62px;padding:8px 10px;gap:8px}body[data-ui=portal][data-page] .site-header .brand-full{width:135px;height:38px}body[data-ui=portal][data-page] .site-header .brand-full .site-brand-image{position:static;width:100%;height:100%}body[data-ui=portal][data-page] .hub-search{flex:1;width:auto;max-width:none;min-width:0;height:36px;padding:0 3px 0 8px;gap:2px}body[data-ui=portal][data-page] .hub-search input{font-size:11px}body[data-ui=portal][data-page] .hub-search button{width:28px;height:28px;padding:5px}.directory-menu{width:30px;padding:4px}.directory-mobile-nav{top:64px;max-height:calc(100dvh - 64px)}body[data-ui=portal][data-page] .footer-inner{padding:28px 16px}.portal-collections{flex-wrap:wrap}.portal-collections a{font-size:11px;padding:8px 10px}.portal-library .sort-bar{flex-wrap:wrap}body[data-ui=portal][data-page] .mode-tabs{gap:10px 14px}.recommend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body[data-ui=portal][data-page] .game-stage{min-height:360px}body[data-ui=portal][data-page] #cover-title{color:#fffefa}body[data-ui=portal][data-page] :is(.quick-panels,.player-guide) a{color:#40571e}body[data-ui=portal][data-page] :is(.quick-panels,.how-to-steps) li::marker{color:#40571e}
@media(max-width:600px){.directory-menu{order:-1}body[data-ui=portal][data-page] .site-header .brand-full{width:125px}body[data-ui=portal][data-page] .hub-search{margin-left:0}body[data-ui=portal][data-page] .game-stage{min-height:400px}}
@media(max-width:380px){body[data-ui=portal][data-page] .site-header .brand-full{width:114px}.hub-search input::placeholder{font-size:10px}}
@media(prefers-reduced-motion:reduce){body[data-ui=portal] *,body[data-ui=portal] *:before,body[data-ui=portal] *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}body[data-ui=portal][data-page] .game-card:hover{transform:none}}

/* The approved joystick and wordmark share a transparent, baseline-aligned lockup. */
body[data-ui=portal][data-page] .brand-lockup{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:0;letter-spacing:0;text-decoration:none}
.brand-symbol{position:relative;display:block;width:36px;height:38px;flex:none;overflow:hidden}
body[data-ui=portal][data-page] .brand-symbol img{position:absolute;display:block;width:54px;height:54px;max-width:none;left:-9px;top:-8px;object-fit:contain}
.brand-wordmark{display:flex;align-items:baseline;gap:3px;white-space:nowrap;font:900 italic 21px/1 'Directory Sans',Arial,sans-serif;letter-spacing:-.035em;transform:translateY(1px)}
.brand-wordmark>span:first-child{color:#007b9a}.brand-wordmark>span:last-child{color:#b65309}
body[data-ui=portal][data-page] .footer-inner .brand-lockup{width:max-content;height:44px;margin:0 0 8px}
body[data-ui=portal][data-page] .footer-inner>.footer-brand>p{margin:0;max-width:42ch;line-height:1.7}
@media(max-width:600px){body[data-ui=portal][data-page] .site-header .brand-lockup{width:138px;height:40px;gap:6px}.site-header .brand-symbol{width:24px;height:27px}body[data-ui=portal][data-page] .site-header .brand-symbol img{width:36px;height:36px;left:-6px;top:-5px}.site-header .brand-wordmark{font-size:14.5px;gap:2px}body[data-ui=portal][data-page] .footer-inner{padding:28px 14px}}
@media(max-width:380px){body[data-ui=portal][data-page] .site-header .brand-lockup{width:122px;gap:5px}.site-header .brand-wordmark{font-size:13px;gap:1px}}

/* Undead Corridor's landscape Unity menu is cropped in the taller mobile stage. */
@media(max-width:650px){body[data-ui=portal][data-page][data-game-slug="undead-corridor"] .game-stage[data-playing="true"]{min-height:0;aspect-ratio:16/9}}

/* Owner-approved raccoon logo, 2026-11-13. Preserve the complete artwork. */
body[data-ui=portal][data-page] .site-header .brand-raccoon{display:flex;align-items:center;width:150px;height:58px;padding:0;flex:none;position:relative;overflow:hidden}
body[data-ui=portal][data-page] .brand-full.brand-raccoon .site-brand-image{position:absolute;display:block;width:111%;height:auto;max-width:none;left:-5.8%;top:50%;transform:translateY(-50%)}
body[data-ui=portal][data-page] .footer-inner .brand-raccoon{display:block;width:180px;height:70px;margin:0 0 8px;position:relative;overflow:hidden}
@media(max-width:600px){body[data-ui=portal][data-page] .site-header .brand-raccoon{width:112px;height:43px}}
@media(max-width:380px){body[data-ui=portal][data-page] .site-header .brand-raccoon{width:100px;height:39px}}

/* Compact recommendations keep partner artwork secondary to the game library. */
.portal-partners{padding:16px;margin:28px 0}
.portal-partners .portal-section-heading{margin-bottom:16px;gap:12px}
.portal-partners .portal-section-heading h2{font-size:20px}
.portal-partners .portal-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-partners .portal-partner-grid article{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px;padding:12px}
.portal-partners .portal-partner-grid article>a{display:block}
.portal-partners .portal-partner-grid img{width:112px;height:84px;aspect-ratio:4/3;object-fit:cover;background:#fffefa}
.portal-partners .portal-partner-grid article>div{padding:0;min-width:0}
.portal-partners .portal-partner-grid h3{font-size:16px;line-height:1.3;margin:3px 0 6px;overflow-wrap:anywhere}
.portal-partners .portal-partner-grid p{font-size:12px;line-height:1.5}
@media(max-width:1200px){.portal-partners .portal-partner-grid{grid-template-columns:1fr}}
@media(max-width:640px){.portal-partners .portal-section-heading{flex-wrap:wrap}.portal-partners .portal-section-heading h2{font-size:18px}.portal-partners .portal-section-heading>a{max-width:none;min-height:32px;display:inline-flex;align-items:center}.portal-partners .portal-partner-grid article{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:10px}.portal-partners .portal-partner-grid img{width:88px;height:66px}.portal-partners .portal-partner-grid h3{font-size:14px}}

/* Preserve artwork proportions in cards and previews. Curated covers already include their portrait framing. */
body[data-ui=portal][data-page] .game-cover:hover img{transform:none}
body[data-ui=portal][data-page] .recommend-tile img,
body[data-ui=portal][data-page] .player-preview,
body[data-ui=portal][data-page] .shelf-recommendation-media{object-fit:cover;object-position:center}

body[data-ui=portal][data-page] .game-card .game-cover img{object-fit:cover}

/* This source artwork is a white fan symbol on transparency. */
body[data-ui=portal][data-page] .game-card[data-game="five-nights-at-epsteins"] .game-cover img,
body[data-ui=portal][data-page] .recommend-tile[href="/play/five-nights-at-epsteins/"] img,
body[data-ui=portal][data-page][data-game-slug="five-nights-at-epsteins"] .player-preview{background:#18212c}
/* Owner-selected landscape artwork fills the frame while retaining the complete image. */
body[data-ui=portal][data-page] .game-card:is([data-game="counter-strike-surf"],[data-game="dragon-ball-z-budokai-tenkaichi-3"],[data-game="nfs-underground-2"]) .game-cover img{object-fit:cover;background:#101720}
body[data-ui=portal][data-page] .portal-rail>.game-card[hidden]{display:none!important}
