/* Five-across portrait game cards, with compact stats and no cursor tilt. */
#game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
#game-grid>.empty-state{grid-column:1/-1}
.game-card{aspect-ratio:2/3}
.game-genre-tag{text-transform:uppercase;font-weight:700;letter-spacing:.035em}
.game-poster-details .game-genre-tag{position:static;display:block;width:fit-content;max-width:100%;padding:2px 6px;border-radius:4px;font-size:.625rem;line-height:1.3;backdrop-filter:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-poster-details{padding:13px 15px;transition:transform .28s var(--ease)}
.game-poster-details h2{font-size:1rem;line-height:1.15;margin:0 0 3px}
.home-mod-card.image-card>.card-link{grid-template-rows:minmax(0,1fr) auto auto auto}
.home-mod-card.image-card .card-meta-clip{grid-column:1/-1;margin-bottom:1px}
.home-mod-card.image-card .card-release-version,.home-mod-card.image-card .card-release-downloads{grid-row:4;margin-bottom:11px}
.home-mod-card.image-card .card-home-game{grid-column:1;grid-row:4;position:relative;z-index:1;display:block;min-width:0;height:17px;line-height:17px;margin:0 0 11px 12px;font-size:.65rem;color:#f2edebad;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){.home-mod-card.image-card .card-home-game{margin-left:9px;margin-bottom:8px;font-size:.625rem}.home-mod-card.image-card .card-release-version,.home-mod-card.image-card .card-release-downloads{margin-bottom:8px}}
.game-poster-stats{gap:12px;margin-top:7px;font-size:.74rem;color:#ffffffc4}
.game-poster-stats>span{gap:4px}
.game-poster-stats svg{width:12px;height:12px;stroke-width:2;filter:none}
.game-browse-hint{position:absolute;left:15px;bottom:11px;display:flex;align-items:center;gap:7px;line-height:1.4;font-size:.8rem;font-weight:700;color:var(--tile-accent);opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .25s,transform .25s}
.game-browse-hint svg{width:15px;height:15px;stroke-width:2.2;transition:transform .25s}
.game-card:is(:hover,:focus-within){border-color:var(--tile-accent);box-shadow:0 10px 28px #0005,0 0 15px color-mix(in srgb,var(--tile-accent) 16%,transparent)}
.game-card:is(:hover,:focus-within) .game-poster-details{transform:translateY(-25px)}
.game-card:is(:hover,:focus-within) .game-browse-hint{opacity:1;transform:none}
.game-card:is(:hover,:focus-within) .game-browse-hint svg{transform:translateX(4px)}
@media(max-width:880px){#game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}}
@media(max-width:680px){#game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.game-poster-details{padding:12px}.game-browse-hint{left:12px}}
@media(max-width:480px){#game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-poster-stats{gap:10px}.game-poster-details h2{font-size:.95rem}}
@media(max-width:1220px){.horizontal-section .strip-arrow{display:none}}
/* One shared vertical gap throughout every game hub. */
.hub-feed{display:flex;flex-direction:column;gap:var(--section-gap,24px)}
.hub-feed>*{margin-top:0;margin-bottom:0}
.hub-feed>.hub-section,.hub-feed>.hub-notice,.hub-feed>.hub-ranking{margin-top:0;margin-bottom:0}
/* Framed Back control and slash breadcrumb path. */
.header-location{display:flex;align-items:center;gap:0;flex:1 1 0;min-width:0;min-height:47px;padding:5px 9px;border:1px solid var(--glass-edge);border-radius:10px;background:var(--glass-input);box-shadow:inset 0 1px 0 var(--glass-line)}
.header-location:has(.header-crumbs[hidden]){flex:0 0 auto}
.header-navigation>.header-location{flex:0 1 auto;width:max-content;max-width:100%;align-self:center}
.header-navigation>.header-tabs{margin-left:auto}
.header-back{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-height:34px;padding:6px 9px 6px 4px;border-radius:6px;font-size:.76rem;font-weight:600;color:var(--secondary);transition:background .18s,color .18s}
.header-back:hover{color:var(--text);background:var(--nav-hl-hover)}
.header-back svg{height:15px;width:15px;color:var(--accent2)}
.header-location .header-crumbs{display:flex;align-items:center;flex:0 1 auto;width:max-content;max-width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:7px;min-width:0;padding:0 3px;margin:0;border:0;font-size:.73rem;line-height:1.5;overflow:hidden}
.header-back:not([hidden])+.header-crumbs:not([hidden]){padding-left:12px;margin-left:4px;border-left:1px solid var(--glass-edge)}
.header-location .header-crumbs>a,.header-location .header-crumbs>span:not(.crumb-separator){min-width:24px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-location .header-crumbs>a{flex:0 1 auto;color:var(--secondary);transition:color .18s}
.header-location .header-crumbs>a:hover{color:var(--accent2)}
.header-location .header-crumbs>a:first-child{flex-shrink:0}
.header-location .header-crumbs>span[aria-current=page]{flex:0 1 auto;max-width:none;font-weight:600;color:var(--text)}
.header-location .crumb-separator{flex:none;font-size:.7rem;color:var(--muted);opacity:.55}
/* Expanding Browse tab, with categories visible on hubs and browse pages. */
.browse-controls.has-country .browse-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr)) 36px}
.browse-controls.has-brand.has-country .browse-filter-fields{grid-template-columns:repeat(5,minmax(0,1fr)) 36px}
.glass-option-label,.glass-select-value{display:flex;align-items:center;gap:9px;min-width:0}
.glass-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.glass-option-label .brand-logo,.glass-select-value .brand-logo{width:24px;height:18px;max-width:24px;object-fit:contain;flex-shrink:0}
.brand-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.65em;font-weight:700;letter-spacing:-.04em;color:var(--secondary);line-height:1}
.country-flag-neutral{fill:none;stroke:var(--muted);stroke-width:1.5;box-shadow:none;border-radius:0}
.glass-option-label .country-flag,.glass-select-value .country-flag{width:22px;height:15px;max-width:22px;object-fit:cover;flex-shrink:0}
.download-author-byline{border:1px solid var(--border);border-radius:4px;background:var(--input);padding:3px 8px;min-height:28px}
.share-copy{background:var(--glass-input);color:var(--secondary);border-color:var(--glass-edge)}
.share-copy:hover{background:var(--hover);color:var(--text);border-color:var(--glass-edge)}
.legal-page{width:100%;max-width:none;margin-inline:0;padding:24px}
.legal-page h1{margin:0;font:700 1.8rem/1.2 var(--font-display)}
.legal-page .hub-section-heading{margin-bottom:20px}
.legal-tabs{display:flex;gap:6px;border-bottom:1px solid var(--glass-line);padding-bottom:12px;margin-bottom:24px;flex-wrap:wrap}
.legal-tabs [role=tab]{padding:9px 14px;border:1px solid transparent;border-radius:6px;font-size:.85rem;color:var(--secondary)}
.legal-tabs [aria-selected=true]{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.12);color:var(--text)}
.legal-tabs [role=tab]:hover{background:var(--hover);color:var(--text)}
.legal-copy{font-size:.9rem;line-height:1.8;color:var(--secondary);overflow-wrap:anywhere}
.legal-copy h2{font:700 1.4rem/1.25 var(--font-display);color:var(--text);margin:0 0 18px}
.legal-copy h3{font-size:1rem;line-height:1.5;color:var(--text);margin:24px 0 9px}
.legal-copy p{margin:0 0 14px}.legal-copy li{margin-bottom:7px}
.legal-copy a{color:var(--accent2);text-decoration:underline;text-underline-offset:3px}
.legal-page>.legal-note{padding-top:18px;margin:24px 0 0;border-top:1px solid var(--glass-line);font-size:.75rem;color:var(--muted)}
@media(max-width:620px){.legal-page{padding:18px}.legal-tabs{gap:3px}.legal-tabs [role=tab]{font-size:.77rem;padding:8px 10px}}
.game-search-field{position:relative;min-width:0;display:flex}
.game-search-field #game-search{width:100%;padding-right:42px}
.game-search-field .search-clear,.global-search-bar .search-clear{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;color:var(--secondary);background:transparent;transition:color .2s,background .2s}
.game-search-field .search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.game-search-field .search-clear:is(:hover,:focus-visible),.global-search-bar .search-clear:is(:hover,:focus-visible){color:var(--text);background:var(--hover)}
.game-search-field .search-clear svg,.global-search-bar .search-clear svg{width:15px;height:15px;color:inherit}
#global-search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
@media(prefers-reduced-motion:reduce){.game-search-field .search-clear,.global-search-bar .search-clear{transition:none}}
@media(max-width:760px){.game-filters .game-search-field{grid-column:1/-1}}
@media(max-width:760px){.browse-controls.has-country .browse-filter-fields,.browse-controls.has-brand.has-country .browse-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.header-browse-wrap{display:flex;align-items:center;position:relative;min-width:0}
.header-browse-wrap>button{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:39px;padding:9px 12px;border:1px solid transparent;border-radius:7px;color:var(--secondary);font-size:.82rem;font-weight:600;line-height:1.3;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.header-browse-wrap>button:is(:hover,[aria-expanded=true]){color:var(--text);background:var(--nav-hl-hover)}
.header-browse-wrap>button[aria-current=page]{color:var(--text);border-color:rgba(var(--accent-rgb),.35);background:linear-gradient(130deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.06));box-shadow:inset 0 1px 0 var(--glass-line)}
.header-browse-wrap>button[aria-current=page]>svg:first-child{color:var(--accent2)}
.header-browse-wrap>button>.browse-chevron{height:11px;width:11px;opacity:.7;transition:transform .25s}
.header-browse-wrap>button[aria-expanded=true]>.browse-chevron{transform:rotate(180deg)}
.browse-menu{display:flex;align-items:stretch;gap:3px;max-width:0;margin:0;padding:0;border:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-width .32s var(--ease),opacity .22s,margin .32s var(--ease),padding .32s var(--ease);transform:translateX(-3px)}
.header-browse-wrap.is-expanded>.browse-menu{max-width:340px;margin-left:6px;padding-left:6px;border-left:1px solid var(--glass-edge);opacity:1;pointer-events:auto;transform:none}
.browse-menu>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:0 0 auto;gap:2px;min-width:54px;max-width:110px;min-height:39px;padding:5px 8px;border:1px solid var(--glass-edge);border-radius:6px;background:var(--glass-input);line-height:1.2;font-size:.76rem;font-weight:600;transition:color .18s,background .18s,border-color .18s}
.browse-menu>a>span:first-child{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browse-menu>a:is(:hover,:focus-visible){background:var(--nav-hl-hover);color:var(--text)}
.browse-menu>a[aria-current=page]{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.28);color:var(--accent2)}
.browse-menu-count{font-size:.61rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted)}
.browse-menu>a[aria-current=page]>.browse-menu-count{color:var(--accent2)}
.search-preference{align-items:flex-start;margin-top:0;padding-bottom:17px;border-bottom:1px solid var(--glass-edge)}
.search-preference>input{margin-top:4px;flex-shrink:0}
.search-preference>span{display:flex;flex-direction:column;gap:5px}
.search-preference small{font-size:.74rem;line-height:1.6;color:var(--muted);font-weight:400}
.search-preference+.modal-field{padding-top:14px}
/* Clip crossfades to a single artwork layer, without negative stacking. */
.header-feature-inner>.home-banner,.header-feature-inner>.game-hub-hero{overflow:hidden;border-top:0}
.header-feature .home-banner-art,.header-feature .hub-banner-art{inset:-1px;z-index:0;overflow:hidden;pointer-events:none}
.header-feature .home-banner-bg,.header-feature .hub-banner-bg{display:block;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);max-width:none;backface-visibility:hidden;object-fit:cover}
.header-feature .home-banner-content,.header-feature .hub-banner-poster,.header-feature .game-hub-heading,.header-feature .game-banner-description{position:relative;z-index:1}
/* The photo and shade are backgrounds of one fixed, opaque preview surface. */
.mod-card:not(.game-card) .card-media{isolation:isolate}
.mod-card:not(.game-card):hover{transform:none}
.mod-card:not(.game-card) .card-media>img{position:absolute;inset:0;display:block;width:100%;height:100%}
.mod-card:not(.game-card) .card-media.has-card-background{--preview-shade:linear-gradient(transparent 50%,#0007);background-color:#1a1918;background-image:var(--preview-shade),var(--preview-photo);background-repeat:no-repeat;background-position:center;background-size:100% 100%,var(--preview-cover-width,100%) var(--preview-cover-height,100%);transition:background-size .3s var(--ease)}
.mod-card.image-card .card-media.has-card-background{--preview-shade:linear-gradient(180deg,rgba(0,0,0,.09) 10%,rgba(0,0,0,.12) 33%,rgba(0,0,0,.78) 80%,rgba(0,0,0,.88))}
.mod-card:not(.game-card):is(:hover,:focus-within) .card-media.has-card-background{background-size:100% 100%,var(--preview-zoom-width,102.5%) var(--preview-zoom-height,102.5%)}
.mod-card:not(.game-card) .card-media.has-card-background:after{display:none}
.mod-card:not(.game-card) .card-media.has-card-background>img{opacity:0;transform:none;transition:none}
.mod-card:not(.game-card) .card-media.has-card-background.sk-media-loading{animation:none}
/* Keep the established blurred-image treatment when the NSFW preference is on. */
html[data-nsfw-blur="1"] .mod-card.is-nsfw .card-media.has-card-background{background-image:none}
html[data-nsfw-blur="1"] .mod-card.is-nsfw .card-media.has-card-background>img{opacity:1;filter:blur(13px);transform:scale(1.07)}
html[data-nsfw-blur="1"] .mod-card.is-nsfw .card-media.has-card-background:after{display:block}
@media(prefers-reduced-motion:reduce){.mod-card:not(.game-card) .card-media.has-card-background{transition:none}.mod-card:not(.game-card):is(:hover,:focus-within) .card-media.has-card-background{background-size:100% 100%,var(--preview-cover-width,100%) var(--preview-cover-height,100%)}}
/* Game posters use the same stable surface while keeping their caption reveal. */
.game-card:is(:hover,:focus-within){transform:none}
.game-card .game-poster.has-card-background{background-color:#151515;background-image:linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.56) 21%,rgba(0,0,0,.03) 48%,transparent 65%),var(--preview-photo);background-repeat:no-repeat;background-position:center;background-size:100% 100%,var(--preview-cover-width,100%) var(--preview-cover-height,100%);transition:background-size .45s var(--ease)}
.game-card:is(:hover,:focus-within) .game-poster.has-card-background{background-size:100% 100%,var(--preview-zoom-width,103.5%) var(--preview-zoom-height,103.5%)}
.game-card>a:has(>.game-poster.has-card-background):after{display:none}
.game-card .game-poster.has-card-background>img{opacity:0;transform:none;transition:none}
.game-card .game-poster.has-card-background.sk-media-loading{animation:none}
@media(prefers-reduced-motion:reduce){.game-card .game-poster.has-card-background{transition:none}.game-card:is(:hover,:focus-within) .game-poster.has-card-background{background-size:100% 100%,var(--preview-cover-width,100%) var(--preview-cover-height,100%)}}
/* Individual mod-page revisions. */
.download-title{font-size:1.5rem;line-height:1.2;font-weight:700}
.gallery-image+.content-tabs{margin-top:var(--section-gap,24px)}
.gallery-stage+.content-tabs{margin-top:var(--section-gap,24px)}
.download-author-byline{display:inline-flex;align-items:baseline;column-gap:.35em;min-width:0}
.download-author-byline>.author-name{min-width:0;overflow-wrap:anywhere}
.mod-info .detail-brand{display:inline-flex;align-items:center;gap:6px;font:inherit;color:inherit;padding:0;border:0;border-radius:0;background:none;box-shadow:none;min-height:0}
.mod-info .detail-brand>.brand-logo{height:14px;max-width:22px;width:auto;object-fit:contain;vertical-align:middle}
.mod-info .detail-brand>span{font:inherit}
.download-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.download-tags>.tag{font-size:.75rem;line-height:1.5;padding:3px 7px;overflow-wrap:anywhere}
.download-footer-row>.card-release-downloads{flex-shrink:0;align-self:flex-end;white-space:nowrap}
.card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px}
.card-tags>.tag{font-size:.65rem;line-height:1.45;padding:1px 5px;overflow-wrap:anywhere}
.card-open-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.card-open-link:focus-visible{outline:2px solid var(--accent2);outline-offset:-3px}
.mod-card .card-tags,.mod-card .card-utility-row,.mod-card .card-folder{position:relative;z-index:3}
.mod-card .card-game.mod-tag-filter{z-index:3}
.mod-card>.bookmark{z-index:4}
.mod-tag-filter{cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.mod-tag-filter:is(:hover,:focus-visible){color:var(--accent2);border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.12)}
.browse-controls.has-tag .browse-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr)) 36px}
.browse-controls.has-tag:is(.has-country,.has-brand) .browse-filter-fields{grid-template-columns:repeat(5,minmax(0,1fr)) 36px}
.browse-controls.has-tag.has-country.has-brand .browse-filter-fields{grid-template-columns:repeat(6,minmax(0,1fr)) 36px}
@media(max-width:1000px){.browse-controls.has-tag .browse-filter-fields,.browse-controls.has-tag:is(.has-country,.has-brand) .browse-filter-fields,.browse-controls.has-tag.has-country.has-brand .browse-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.browse-controls.has-tag .browse-filter-fields,.browse-controls.has-tag:is(.has-country,.has-brand) .browse-filter-fields,.browse-controls.has-tag.has-country.has-brand .browse-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mod-card.image-card .card-tags{display:none}
.detail-side>.download-card,.detail-side>.side-actions,.detail-side>.mod-info{margin-top:0;margin-bottom:0}
@media(min-width:761px){.detail-side{display:flex;flex-direction:column;gap:14px}}
@media(max-width:760px){.detail-grid{gap:14px}}
/* Neutral glass at rest; the current game's accent tints hover and keyboard focus. */
.mod-download.primary-button{position:relative;background:var(--glass-input);border:1px solid var(--glass-edge);border-radius:6px;color:var(--text);box-shadow:inset 0 1px 0 var(--glass-line);filter:none;transform:none;transition:background .15s,border-color .15s,color .15s}
.mod-download.primary-button:before{content:none}
.mod-download.primary-button:is(:hover,:focus-visible):not(:disabled){background:linear-gradient(rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.12)),var(--glass-input);border-color:rgba(var(--accent-rgb),.55);color:var(--accent2);box-shadow:inset 0 1px 0 var(--glass-line);filter:none;transform:none}
.mod-download.primary-button:active:not(:disabled){background:linear-gradient(rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.18)),var(--glass-input)}
@media(max-width:1100px){.header-navigation{align-items:stretch;flex-direction:column;gap:12px}.header-location{flex-basis:auto;width:100%;min-height:43px}.header-location:has(.header-crumbs[hidden]){align-self:flex-start;width:auto}.header-tabs{width:100%;justify-content:flex-start}.header-tabs>a{flex:0 0 auto}.header-tabs>[data-nav=saved]{margin-left:auto}.header-browse-wrap{flex:0 1 auto}.header-browse-wrap>button{padding:9px 10px}}
@media(max-width:760px){.header-tabs{flex-wrap:wrap;gap:3px}.header-tabs>a,.header-browse-wrap>button{flex:1 1 0;min-width:0}.header-tabs>[data-nav=saved]{margin-left:0}.header-browse-wrap{display:contents}.header-browse-wrap>button{width:auto}.browse-menu{order:5;flex:0 0 100%;max-width:none;max-height:0;justify-content:stretch;transform:none;transition:max-height .3s var(--ease),opacity .22s,margin .3s var(--ease),padding .3s var(--ease)}.header-browse-wrap.is-expanded>.browse-menu{max-width:none;max-height:65px;margin:4px 0 0;padding:6px 0 0;border-left:0;border-top:1px solid var(--glass-edge)}.browse-menu>a{flex:1;max-width:none;align-items:center;min-height:41px;text-align:center}}
@media(max-width:620px){.header-location{padding:4px 6px}.header-back{font-size:.72rem;padding-right:7px}.header-location .header-crumbs{font-size:.7rem;gap:5px}.header-back:not([hidden])+.header-crumbs:not([hidden]){padding-left:8px;margin-left:2px}.header-browse-wrap>button{font-size:.72rem;gap:5px;padding:9px 5px;min-height:38px}.header-browse-wrap>button>.browse-chevron{width:9px;height:9px}.header-tabs>a{padding-left:5px;padding-right:5px}.header-tabs>a>svg,.header-browse-wrap>button>svg:first-child{display:none}.header-feature .game-banner-description{grid-column:1/-1;width:100%;max-width:none}}
@media(max-width:360px){.header-tabs{display:flex}}
@media(prefers-reduced-motion:reduce){.game-poster-details,.game-browse-hint,.game-browse-hint svg,.header-back,.header-browse-wrap>button,.browse-menu,.browse-menu>a,.mod-download.primary-button{transition:none}}
/* Mouse focus survives a drag, but only keyboard navigation should draw rings. */
html[data-focus-mode=pointer] :focus-visible,
html[data-focus-mode=pointer] .game-card:has(>a:focus-visible){outline:none}
/* Keep the thumbnail frame and selection border inside the scroll viewport. */
.gallery-thumbs .thumb:hover{transform:none}
.gallery-thumbs .thumb:focus-visible{outline-offset:-3px}
.gallery-thumbs .thumb img{transition:transform .22s var(--ease),filter .22s}
.gallery-thumbs .thumb:hover img{transform:scale(1.035);filter:brightness(1.06)}
/* Gallery navigation is separate from the button which opens the lightbox. */
.gallery-stage{position:relative;min-width:0}
.preview-step{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:5px;border:1px solid #ffffff36;border-radius:50%;background:rgba(12,13,14,.58);color:#fff;box-shadow:0 2px 8px #0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .18s,background .18s,border-color .18s}
.preview-step svg{height:18px;width:18px;stroke-width:2.2}
.preview-step:hover{background:rgba(12,13,14,.85);border-color:#ffffff70}
.gallery-step{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;z-index:2;opacity:0}
.gallery-step svg{height:22px;width:22px}
.gallery-previous{left:12px}.gallery-next{right:12px}
.gallery-stage:is(:hover,:focus-within)>.gallery-step{opacity:1}
/* Sibling controls avoid nesting buttons inside a mod card's link. */
.card-preview-controls{position:absolute;inset:0 0 auto;aspect-ratio:16/9;display:flex;align-items:center;justify-content:space-between;padding:0 7px;z-index:3;pointer-events:none;opacity:0;transition:opacity .18s}
.card-preview-controls>.preview-step{pointer-events:auto}
.mod-card.image-card>.card-preview-controls{aspect-ratio:16/10}
.mod-card:is(:hover,:focus-within)>.card-preview-controls{opacity:1}
.card-preview-counter{position:absolute;top:7px;left:50%;transform:translateX(-50%);font-size:.62rem;line-height:1.4;font-variant-numeric:tabular-nums;padding:3px 6px;border-radius:4px;background:rgba(12,13,14,.62);color:#fff;white-space:nowrap}
html[data-nsfw-blur="1"] .mod-card.is-nsfw .card-preview-controls{visibility:hidden}
@media(hover:none),(pointer:coarse){.gallery-step,.card-preview-controls{opacity:1}}
@media(prefers-reduced-motion:reduce){.gallery-thumbs .thumb img,.preview-step,.card-preview-controls{transition:none}.gallery-thumbs .thumb:hover img{transform:none}}

/* One compact heading for Share and the actual mod name. */
.share-popover-heading>div{min-width:0;flex:1}
.share-popover-heading h2{overflow-wrap:anywhere;line-height:1.45}
.share-popover-heading>.share-close{flex-shrink:0}
.share-popover-heading+.share-targets{margin-top:12px}
@media(max-width:1100px){.header-navigation>.header-location{align-self:flex-start;width:fit-content}.header-navigation>.header-tabs{margin-left:0}}
/* Shared scrollbar geometry for the page, galleries, lists and glass popups. */
html[data-design=modern]{--scrollbar-size:8px;--scrollbar-step:14px}
html[data-design=modern],html[data-design=modern] *{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.58) transparent}
@supports selector(::-webkit-scrollbar){
 html[data-design=modern],html[data-design=modern] *{scrollbar-width:auto;scrollbar-color:auto}
}
html[data-design=modern]::-webkit-scrollbar,
html[data-design=modern] ::-webkit-scrollbar{display:block;width:var(--scrollbar-size);height:var(--scrollbar-size);background:transparent}
html[data-design=modern]::-webkit-scrollbar-track,
html[data-design=modern] ::-webkit-scrollbar-track{background:rgba(16,16,17,.08);border:0;border-radius:8px}
html[data-design=modern]::-webkit-scrollbar-thumb,
html[data-design=modern] ::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.58);border:1px solid transparent;background-clip:padding-box;border-radius:8px;min-height:24px;min-width:24px}
html[data-design=modern]::-webkit-scrollbar-thumb:hover,
html[data-design=modern] ::-webkit-scrollbar-thumb:hover{background-color:var(--accent2)}
html[data-design=modern]::-webkit-scrollbar-corner,
html[data-design=modern] ::-webkit-scrollbar-corner{background:transparent}
html[data-design=modern]::-webkit-scrollbar-button,
html[data-design=modern] ::-webkit-scrollbar-button{display:none;width:0;height:0}
html[data-design=modern]::-webkit-scrollbar-button:single-button,
html[data-design=modern] ::-webkit-scrollbar-button:single-button{display:block;border:0;border-radius:3px;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:7px 7px}
html[data-design=modern]::-webkit-scrollbar-button:horizontal:single-button,
html[data-design=modern] ::-webkit-scrollbar-button:horizontal:single-button{width:var(--scrollbar-step);height:var(--scrollbar-size)}
html[data-design=modern]::-webkit-scrollbar-button:vertical:single-button,
html[data-design=modern] ::-webkit-scrollbar-button:vertical:single-button{width:var(--scrollbar-size);height:var(--scrollbar-step)}
html[data-design=modern]::-webkit-scrollbar-button:horizontal:decrement,
html[data-design=modern] ::-webkit-scrollbar-button:horizontal:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='none' stroke='%23b9b3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m5 1-3 3 3 3'/%3E%3C/svg%3E")}
html[data-design=modern]::-webkit-scrollbar-button:horizontal:increment,
html[data-design=modern] ::-webkit-scrollbar-button:horizontal:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='none' stroke='%23b9b3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m3 1 3 3-3 3'/%3E%3C/svg%3E")}
html[data-design=modern]::-webkit-scrollbar-button:vertical:decrement,
html[data-design=modern] ::-webkit-scrollbar-button:vertical:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='none' stroke='%23b9b3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m1 5 3-3 3 3'/%3E%3C/svg%3E")}
html[data-design=modern]::-webkit-scrollbar-button:vertical:increment,
html[data-design=modern] ::-webkit-scrollbar-button:vertical:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='none' stroke='%23b9b3af' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='m1 3 3 3 3-3'/%3E%3C/svg%3E")}
html[data-design=modern]::-webkit-scrollbar-button:single-button:hover,
html[data-design=modern] ::-webkit-scrollbar-button:single-button:hover{background-color:rgba(var(--accent-rgb),.18)}
/* Removed or invalid mod links share the same glass and game context. */
.mod-not-found{max-width:760px;min-height:360px;margin:20px auto 40px;padding:44px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.missing-mod-symbol{display:grid;place-items:center;width:62px;height:62px;margin-bottom:13px;border:1px solid var(--glass-edge);border-radius:15px;background:var(--glass-input);color:var(--accent2)}
.missing-mod-symbol svg{width:31px;height:31px;stroke-width:1.4}
.missing-mod-code{font-size:.72rem;font-weight:600;letter-spacing:.14em;color:var(--muted)}
.mod-not-found h1{font-family:var(--font-display);font-size:2.7rem;line-height:1.1;text-transform:uppercase;letter-spacing:.025em;margin:8px 0 13px}
.mod-not-found>p{font-size:.9rem;line-height:1.7;max-width:420px;margin:0;color:var(--secondary)}
.missing-mod-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.missing-mod-actions>.primary-button,.missing-mod-actions>.subtle-button{width:auto;min-width:140px;padding:11px 20px;font-size:.82rem;font-weight:600}
.missing-mod-actions>.primary-button{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff}
@media(max-width:480px){.mod-not-found{margin:0 auto 24px;padding:32px 18px}.mod-not-found h1{font-size:2.2rem}.missing-mod-actions{width:100%}.missing-mod-actions>a{flex:1;min-width:0!important}}

/* Mod-page colour is slightly clearer near the preview, easing back at the footer. */
html[data-page=mod] .wallpaper-layer{filter:blur(calc(var(--wp-blur,16px)*var(--mod-wallpaper-blur-scale,1))) saturate(1.05) brightness(.9)}
