/* ARABVX — cinematic storefront. Release files and behavior are unchanged. */
:root {
  color-scheme: dark;
  --paper: #0d0d0d;
  --ink: #f5f5f5;
  --muted: #9f9f9f;
  --lime: #f5f5f5;
  --blue: #f5f5f5;
  --line: #ffffff12;
  --line-dark: #ffffff18;
  --radius-xl: 28px;
  --max: 1320px;
}
html { scroll-padding-top: 104px; scrollbar-color: #484848 #0d0d0d; }
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
body,h1,h2,h3,p,.eyebrow,.section-kicker,.principle h3,.step h3 { letter-spacing: normal !important; }
[hidden] { display: none !important; }
button,a,input { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
button:active { transform: scale(.98); }
::selection { background: #e3e3e3; color: #121212; }
.container { width: min(calc(100% - 96px),var(--max)); }
.site-header,.site-header.scrolled { background: #0d0d0ddb; border: 0; box-shadow: none; backdrop-filter: blur(22px); }
.site-header.scrolled { border-bottom: 1px solid #ffffff0a; }
.nav { height: 88px; gap: 32px; }
.nav-center { position: static; display: flex; align-items: center; justify-content: center; flex: 1; min-width: 0; max-width: 580px; height: 44px; }
.nav-center .nav-links { justify-content: center; }
.header-search { position: absolute; inset: auto; left: var(--search-x); top: var(--search-y); width: var(--search-width); height: 44px; margin: 0; }
.header-search-bar { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 8px 0 18px; padding-inline-start: 18px; padding-inline-end: 8px; border: 1px solid #ffffff24; border-radius: 999px; background: #171717; }
.header-search-bar { position: absolute; top: 0; left: 0; width: 100%; overflow: hidden; transform-origin: left top; }
.header-search[inert] { pointer-events: none; }
.site-header.search-open #searchButton { opacity: 0; pointer-events: none; }
#searchButton:active { transform: none; }
.header-search-bar:focus-within { border-color: #ffffff70; }
.header-search-bar > svg { position: absolute; right: 12px; top: calc(50% - 9px); width: 18px; height: 18px; color: #ededed; opacity: 0; pointer-events: none; }
.header-search .search-input { flex: 1; min-width: 0; width: auto; min-height: 0; height: 40px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: 14px; color: #f5f5f5; }
.header-search .search-input:focus { outline: 0; border: 0; box-shadow: none; }
.header-search .search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.header-search .close-search { width: 36px; min-width: 36px; height: 36px; min-height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; font-size: 23px; color: #a9a9a9; }
.header-search .close-search:hover { background: #ffffff10; color: #fff; }
.header-search-results { position: absolute; top: calc(100% + 16px); inset-inline: 0; padding: 18px; border: 1px solid #ffffff16; border-radius: 20px; background: #171717; box-shadow: 0 20px 48px #0006; max-height: min(440px,calc(100dvh - 190px)); overflow-y: auto; }
.header-search .search-hint { margin: 0 4px; font-size: 11px; color: #969696; }
.header-search .search-results { margin-top: 12px; }
.header-search .search-result { padding: 16px; }
.header-search .search-result strong { font: 500 17px/1.5 'Space Grotesk',sans-serif; }
.header-search .search-empty { padding: 12px 4px; }
.site-header.search-open #searchButton { color: #fff; background: #ffffff0d; border-color: #ffffff30; }
.brand { gap: 12px; font-size: 23px; align-items: center; line-height: 0; }
.brand > .latin { color: #ffffff; letter-spacing: .015em; }
.brand span span { color: var(--lime); }
.brand-mark { width: 56px; height: 42px; filter: none; transform: translateY(-3.5px); }
.brand-wordmark { display: block; width: 212px; height: auto; object-fit: contain; }
.nav-links { gap: 8px; color: #a6a6a6; font-size: 14px; }
.nav-links a { min-height: 44px; padding: 10px 20px; border-radius: 50px; }
.nav-links a::after { display: none; }
.nav-links a:hover { background: #ffffff06; }
.nav-links a.active { color: #f4f4f4; background: #ffffff09; }
.nav-icon { width: 44px; height: 44px; border-radius: 50%; border-color: #ffffff16; }
.nav-icon:hover { background: #ffffff0c; border-color: #ffffff40; transform: none; }
.hero { min-height: 520px; margin: 88px 24px 0; padding: 0; border-radius: 32px; overflow: hidden; align-items: center; isolation: isolate; background: #111111; }
.hero::before { z-index: 1; background: linear-gradient(270deg,#0e0e0e 1%,#0e0e0eee 25%,#0e0e0e40 64%,#0e0e0e0a),linear-gradient(0deg,#0e0e0e 0%,transparent 30%); }
.hero-art { opacity: .025; object-fit: contain; object-position: right; }
.cinematic-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 28% center; z-index: 0; opacity: .88; }
.hero-content { width: min(calc(100% - 96px),var(--max)); padding: 48px 0; display: flex; align-items: flex-start; flex-direction: column; }
.hero .eyebrow { font-size: 13px; color: #cbcbcb; font-weight: 400; padding: 8px 14px; border: 1px solid #ffffff20; border-radius: 30px; background: #ffffff03; }
.eyebrow::before { width: 5px; height: 5px; background: var(--lime); box-shadow: none; }
.hero h1 { font-size: clamp(48px,5vw,72px); line-height: 1.35; margin: 0 0 18px; font-weight: 600; max-width: 660px; }
.hero h1 em { color: var(--lime); }
.hero-lede { max-width: 445px; font-size: 16px; line-height: 1.95; color: #adadad; margin-bottom: 30px; }
.hero-actions { gap: 12px; }
.button { min-height: 52px; padding: 0 26px; font-size: 14px; border-radius: 999px; box-shadow: none; transition: background .18s,color .18s,transform .18s; }
.button-primary { color: #181818; background: var(--lime); box-shadow: none; }
.button-primary:hover { color: #181818; background: #ededed; box-shadow: none; transform: translateY(-2px); }
.button-secondary { border-color: #ffffff24; background: #ffffff04; color: #e6e6e6; }
.button-secondary:hover { background: #ffffff10; border-color: #ffffff40; color: #ffffff; }
.hero-meta { border: 0; padding: 0; margin-top: 40px; color: #8c8c8c; font-size: 11px; gap: 36px; }
.scroll-cue i { height: 20px; background: #767676; }
.hero-release { position: absolute; left: 4px; bottom: 0; display: flex; flex-direction: row-reverse; align-items: center; gap: 20px; width: 380px; padding: 16px; border: 1px solid #ffffff1a; border-radius: 20px; background: #141414d9; backdrop-filter: blur(20px); box-shadow: 0 15px 45px #00000033; transition: background .2s,transform .2s; }
.hero-release:hover { background: #202020f0; transform: translateY(-3px); }
.release-art { width: 116px; flex: 0 0 116px; }
.release-art img { display: block; width: 100%; aspect-ratio: 1.45; border-radius: 10px; object-fit: cover; }
.release-info { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex: 1; }
.store-label { color: #b7b7b7; font-size: 11px; font-weight: 400; letter-spacing: .12em; }
.release-info h2 { font: 500 24px/1.3 'Space Grotesk',sans-serif; margin: 4px 0; text-align: right; }
.release-info p { margin: 0; font-size: 11px; color: #aeaeae; }
.release-arrow { font-size: 25px; color: var(--lime); }
.announcement { background: transparent; border-bottom: 1px solid #ffffff0b; color: #898989; font-size: 12px; padding: 25px 24px; }
.announcement a { color: #d4d4d4; text-decoration: none; margin-inline-start: 5px; }
.section { padding: 104px 0; scroll-margin-top: 85px; }
.section-head { margin-bottom: 36px; gap: 48px; align-items: end; }
.section-kicker { color: #838383; font-size: 11px; }
.section h2 { font-size: clamp(32px,3.4vw,48px); font-weight: 500; line-height: 1.5; margin-top: 12px; }
.section-intro { color: #9c9c9c; font-size: 15px; line-height: 1.9; max-width: 370px; }
.text-link { color: #e7e7e7; font-size: 13px; min-height: 44px; margin-top: 10px; gap: 20px; }
.text-link span { color: var(--lime); }
.library-toolbar { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ffffff13; padding: 0 0 18px; margin-bottom: 28px; font-size: 14px; }
.library-toolbar > div { display: flex; gap: 10px; align-items: center; }
.toolbar-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--lime); }
.library-count { padding: 4px 9px; border-radius: 6px; background: #ffffff07; font-size: 10px; color: #929292; margin-inline-start: 12px; }
.library-toolbar button { border: 1px solid #ffffff16; border-radius: 999px; color: #bababa; padding: 10px 18px; font-size: 12px; background: #ffffff03; display: flex; gap: 50px; align-items: center; min-height: 44px; }
.library-toolbar button:hover { border-color: #ffffff40; }
.featured-layout { grid-template-columns: 1fr; gap: 0; }
.feature-art { min-height: 320px; border-radius: 24px; border: 1px solid #ffffff0d; box-shadow: none; }
.feature-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 25% center; }
.feature-art:hover img { transform: scale(1.025); }
.feature-art::after { background: linear-gradient(270deg,#0d0d0df5,#0d0d0dc0 30%,#0d0d0d25 65%); }
.feature-overlay { inset: 50% 36px auto; max-width: 420px; transform: translateY(-50%); }
.feature-label { color: var(--lime); font-size: 11px; }
.feature-overlay h3 { font: 500 clamp(32px,3.5vw,44px)/1.2 'Space Grotesk',sans-serif; margin: 8px 0 12px; }
.feature-overlay p { color: #b9b9b9; font-size: 14px; line-height: 1.9; max-width: 480px; }
.feature-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; font-size: 13px; }
.feature-cta > span { display: grid; place-items: center; border-radius: 50%; width: 36px; height: 36px; color: #161616; background: var(--lime); font-size: 20px; }
.feature-card { min-height: 480px; background: #161616; border: 1px solid #ffffff0d; border-radius: 24px; padding: 34px; box-shadow: none; }
.feature-card:hover { box-shadow: none; transform: none; border-color: #ffffff24; }
.feature-card .mini-logo { width: 130px; height: 70px; object-fit: contain; mix-blend-mode: screen; filter: none; object-position: right; }
.feature-card h3 { font-size: 34px; line-height: 1.5; font-weight: 500; margin: 32px 0 16px; }
.feature-card p { font-size: 14px; color: #9e9e9e; }
.feature-card-bottom { border-color: #ffffff12; color: #8e8e8e; font-size: 11px; margin-top: 28px; padding-top: 16px; gap: 10px; }
.feature-open { color: #e7e7e7; font-size: 12px; padding-inline: 12px; }.feature-open:hover { background: #ffffff07; color: var(--lime); }
.section-dark { background: #121212; border-block: 1px solid #ffffff07; }
.manifesto { grid-template-columns: .55fr 1.45fr; gap: 48px; }
.manifesto-number { color: #898989; font-size: 12px; }
.manifesto-copy h2 { font-size: clamp(32px,3.8vw,52px); line-height: 1.6; font-weight: 500; }
.manifesto-copy h2 span { color: #8b8b8b; }
.manifesto-copy p { color: #9e9e9e; font-size: 16px; line-height: 1.95; margin-top: 24px; }
.principles { margin-top: 64px; border-bottom: 0; gap: 16px; }
.principle { padding: 28px 20px; min-height: 210px; border-color: #ffffff0d; }
.principle b { color: #767676; font-size: 12px; margin-bottom: 24px; }
.principle h3 { font-size: 22px; font-weight: 500; }.principle p { color: #989898; font-size: 14px; line-height: 1.9; }
.steps { gap: 20px; }.step { background: #161616; border: 1px solid #ffffff0d; border-radius: 24px; min-height: 280px; padding: 30px; }
.step:hover { transform: translateY(-4px); box-shadow: none; border-color: #ffffff25; }
.step-index { color: #8b8b8b; font-size: 12px; }.step-arrow { color: var(--lime); }
.step h3 { font-size: 24px; font-weight: 500; margin-top: 16px; }.step p { color: #989898; font-size: 14px; }
.cta { margin: 0 24px 24px; border-radius: 28px; padding: 64px 0; background: #1a1a1a; border: 1px solid #e3e3e312; }
.cta h2 { font-size: clamp(32px,3.5vw,50px); font-weight: 500; line-height: 1.5; }.cta p { color: #a4a4a4; font-size: 15px; }
.cta::after { color: #e3e3e3; opacity: .035; bottom: -30px; }.cta-inner { gap: 40px; }
.site-footer { background: #0d0d0d; padding: 28px 0; }.footer-top { align-items: center; padding-bottom: 28px; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 24px; color: #a4a4a4; font-size: 12px; }.footer-nav a { min-height: 44px; display: flex; align-items: center; }.footer-nav a:hover { color: #fff; }
.library-section { padding: 56px 0 40px; }
.library-toolbar h2 { font-size: 26px; line-height: 1.5; margin: 0; }
.library-meta { display: flex; flex-wrap: wrap; gap: 18px; color: #aaa; font-size: 11px; margin-top: 16px; }
.support-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 32px 0; border-top: 1px solid #ffffff10; border-bottom: 1px solid #ffffff10; }
.support-strip section { scroll-margin-top: 110px; }
.support-strip h2 { margin: 0 0 10px; font-size: 17px; font-weight: 500; }.support-strip p { margin: 0; color: #929292; max-width: 460px; font-size: 13px; line-height: 1.9; }
.support-strip .text-link { font-size: 12px; margin: 8px 0 0; min-height: 36px; }
.footer-links { gap: 40px; grid-template-columns: repeat(3,120px); }.footer-links a { color: #aeaeae; font-size: 13px; margin-block: 13px; }
.footer-links h3,.footer-intro p,.footer-bottom { color: #7f7f7f; }.footer-intro p { font-size: 13px; }
.footer-links a:hover { color: #ffffff; }
.search-modal { padding-top: min(18vh,160px); background: #070707cc; }
.search-panel { background: #1b1b1b; border-radius: 24px; padding: 28px; border-color: #ffffff1c; }
.search-input { border-radius: 14px; background: #121212; min-height: 56px; }.search-input:focus { border-color: #e3e3e388; box-shadow: 0 0 0 3px #ffffff15; }
.search-result { padding: 20px; border-radius: 14px; background: #ffffff03; }.search-result:hover { background: #e3e3e308; border-color: #e3e3e340; }
.search-hint,.search-empty,.search-result small { color: #a4a4a4; }.close-search { min-width: 44px; min-height: 44px; color: #c6c6c6; }
/* A full-screen detail canvas with compact chrome and a media-first layout. */
.game-modal { padding: 0; place-items: start center; background: #0d0d0d; backdrop-filter: none; isolation: isolate; }
.game-modal::before { content: ''; position: fixed; inset: 0; background: linear-gradient(180deg,#0d0d0d45 0%,#0d0d0d85 48%,#0d0d0df5 82%,#0d0d0d 100%),linear-gradient(90deg,#0d0d0d78 0%,#0d0d0d18 50%,#0d0d0d88 100%),url('mad-father/mad-father-page-bg.png') center top / cover; background-repeat: no-repeat; pointer-events: none; z-index: -1; opacity: .86; }
.game-dialog { position: relative; width: min(100%,1320px); max-height: none; padding: 28px 40px 96px; overflow: visible; margin: 0; display: grid; grid-template-columns: minmax(0,1.6fr) minmax(360px,.74fr); gap: 28px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.game-dialog > * { min-width: 0; }
.game-titlebar { grid-column: 1 / -1; padding: 0; }
.game-titlebar > a { display: flex; align-items: center; min-height: 44px; font-size: 12px; color: #a4a4a4; padding-inline-end: 170px; }
.game-titlebar > div { width: 100%; max-width: none; margin: 0; padding: 16px 24px 14px; border: 1px solid #ffffff0b; border-radius: 18px; background: linear-gradient(90deg,#0d0d0d10,#0d0d0d68 58%,#0d0d0db0); backdrop-filter: blur(12px); }
.game-titlebar .store-label { font-size: 10px; color: var(--lime); letter-spacing: .15em; }
.game-titlebar h2 { font: 500 clamp(40px,4.5vw,60px)/1.1 'Space Grotesk',sans-serif; margin: 8px 0 10px; text-align: right; }
.game-titlebar p { color: #a6a6a6; font-size: 14px; margin: 0; }
.game-titlebar nav { display: flex; gap: 32px; width: 100%; max-width: none; margin: 14px 0 0; padding-inline: 12px; border-bottom: 1px solid #ffffff13; }
.game-titlebar nav a { display: flex; align-items: center; min-height: 56px; color: #a4a4a4; font-size: 13px; border-bottom: 2px solid transparent; }
.game-titlebar nav a:first-child { border-color: var(--lime); color: #f5f5f5; }
.game-titlebar nav a:hover { color: #ffffff; }
.close-game { position: fixed; top: 30px; inset-inline-end: 36px; display: flex; align-items: center; justify-content: center; gap: 12px; width: auto; height: 44px; padding: 0 18px; border-radius: 50px; border: 1px solid #ffffff24; background: #1b1b1be0; backdrop-filter: blur(16px); color: #cdcdcd; font-size: 12px; font-weight: 400; }
.close-game > span { font-size: 19px; }.close-game:hover { background: #2c2c2c; color: #ffffff; }
.game-dialog-art { min-height: 0; background: none; }
.store-stage { position: relative; border: 1px solid #ffffff0f; border-radius: 22px; background: #060606; overflow: hidden; }
.store-stage > img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; display: block; }
.store-stage > button { position: absolute; top: 16px; left: 16px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid #ffffff25; color: #ffffff; background: #151515d9; font-size: 24px; backdrop-filter: blur(12px); }
.stage-counter { position: absolute; inset: auto 0 0; display: flex; align-items: center; justify-content: space-between; padding: 25px 24px 18px; gap: 16px; font-size: 11px; color: #cecece; background: linear-gradient(0deg,#000000cc,transparent); pointer-events: none; }
#stageCounter { direction: ltr; font-family: 'Space Grotesk',sans-serif; font-size: 12px; }
.store-thumbs { display: flex; gap: 10px; padding: 16px 0 8px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #454545 transparent; }
.store-thumbs .gallery-item { flex: 0 0 116px; border: 2px solid transparent; border-radius: 12px; opacity: .6; transition: opacity .2s,border-color .2s; }
.store-thumbs .gallery-item[aria-pressed='true'] { border-color: var(--lime); opacity: 1; }.store-thumbs .gallery-item:hover { opacity: 1; }
.store-thumbs .gallery-item img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 9px; }
.media-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 10px; color: #868686; font-size: 12px; }
.media-pagination button { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid #ffffff18; background: #ffffff04; color: #d9d9d9; font-size: 20px; }
.media-pagination button:hover { background: #ffffff10; }
.game-dialog-copy { position: static; padding: 28px; background: #171717e8; border: 1px solid #ffffff16; border-radius: 24px; align-self: start; backdrop-filter: blur(18px); box-shadow: 0 24px 60px #0004; }
.detail-cover { display: block; float: inline-start; width: 64px; height: 86px; object-fit: cover; object-position: top; border-radius: 9px; margin-inline-end: 18px; margin-bottom: 22px; }
#gameDescription { clear: both; }
.game-dialog-kicker { color: var(--lime); font-size: 11px; font-weight: 400; }
.game-dialog-copy h2 { font: 500 34px/1.2 'Space Grotesk',sans-serif; margin: 12px 0; }
.game-dialog-subtitle { color: #9b9b9b; font-size: 13px; margin-bottom: 20px; }
.game-dialog-copy > p:not(.game-dialog-subtitle):not(.game-notice) { color: #aeaeae; font-size: 15px; line-height: 1.9; }
.game-meta { gap: 6px; margin: 24px 0; }.game-meta span { font-size: 10px; color: #afafaf; padding: 6px 9px; border-radius: 6px; background: #ffffff04; border: 1px solid #ffffff0c; }
.game-download-box { padding: 20px 0 0; border: 0; border-top: 1px solid #ffffff12; border-radius: 0; background: none; display: flex; flex-direction: column; align-items: stretch; gap: 16px; margin: 24px 0 12px; }
.game-download-box > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }.game-download-box strong { font-size: 14px; font-weight: 400; }.game-download-box span { font-size: 11px; color: #9b9b9b; }
.game-download-box .button { width: 100%; min-height: 52px; color: #1c1c1c; background: var(--lime); }.game-download-box .button span { color: inherit; font-size: 19px; }.game-download-box .button:hover { background: #ededed; }
.game-notice { color: #a0a0a0; font-size: 11px; line-height: 1.9; margin: 0 0 24px; }
.game-dialog-copy h3 { padding-top: 20px; border-top: 1px solid #ffffff10; font-size: 14px; font-weight: 500; margin: 24px 0 14px; }
.install-list { font-size: 12px; color: #a3a3a3; gap: 9px; margin-bottom: 20px; }
.checksum { font-size: 10px; color: #787878; padding-top: 14px; border-color: #ffffff0b; }.checksum code { color: #959595; font-size: 10px; }
.game-media { padding: 24px 0 0; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 24px 32px; align-items: start; }
.installation-panel { grid-column: 1 / -1; grid-row: 1; padding: 32px; border: 1px solid #ffffff0d; border-radius: 24px; background: #161616; margin-bottom: 30px; }
.setup-heading h3 { margin: 10px 0 24px; font-size: 28px; font-weight: 500; }
.installation-panel .install-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding: 0; list-style: none; counter-reset: install; margin: 0; }
.installation-panel li { counter-increment: install; font-size: 14px; color: #b9b9b9; padding-top: 16px; border-top: 1px solid #ffffff14; }
.installation-panel li::before { content: '0' counter(install); display: block; margin-bottom: 12px; color: #7a7a7a; font: 13px/1.5 'Space Grotesk',sans-serif; }
.installation-panel .checksum { margin-top: 24px; padding-top: 18px; display: block; }
.checksum summary { cursor: pointer; font-size: 12px; color: #949494; }.checksum code { display: block; padding-top: 12px; }
.game-media > .media-head { grid-column: 1; grid-row: 2; }.game-video { grid-column: 1; grid-row: 3 / span 2; border-radius: 20px; margin: 0; border-color: #ffffff12; }
.game-video video { object-fit: contain; width: 100%; }.game-media > #gameScreenshots { grid-column: 2; grid-row: 2; }
.game-media .media-head { margin: 0; align-items: start; flex-wrap: wrap; gap: 14px; }.media-head h3 { font-size: 24px; font-weight: 500; margin: 0 0 8px; }.media-head p { color: #949494; font-size: 13px; line-height: 1.8; }
.game-gallery { grid-column: 2; grid-row: 3; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.gallery-item { padding: 0; min-width: 0; border: 0; border-radius: 10px; overflow: hidden; background: #0b0b0b; }.gallery-item img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: opacity .2s,transform .2s; }
.gallery-item:hover img { opacity: 1; transform: scale(1.025); }
.gallery-modal { background: #070707ee; backdrop-filter: blur(18px); }.gallery-dialog img { border-radius: 16px; }.gallery-control,.close-gallery { border-radius: 50%; width: 48px; height: 48px; border-color: #ffffff25; background: #1b1b1b; }
.gallery-control:hover,.close-gallery:hover { background: #e3e3e3; color: #161616; }
/* Steam-inspired game detail layout: compact title chrome, media-first hero, and a dedicated info rail. */
.game-titlebar { position: relative; z-index: 1; }
.steam-info-column { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.game-titlebar { grid-column: auto; grid-row: auto; }
.game-titlebar > div { padding: 8px 0 4px; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
.game-titlebar h2 { font-size: clamp(42px, 4.5vw, 62px); margin: 4px 0 6px; letter-spacing: -.04em !important; }
.game-titlebar p { font-size: 14px; }
.game-titlebar nav { margin-top: 8px; padding-inline: 0; }
.game-titlebar nav a { min-height: 48px; }
.game-dialog-art { grid-column: 1; grid-row: 1; }
.game-dialog-copy { grid-column: auto; grid-row: auto; }
.store-stage { box-shadow: 0 22px 60px #0007; }
.game-media { grid-row: 3; }
.game-about,.system-requirements { grid-column: 1 / -1; padding: 28px 32px; border: 1px solid #ffffff12; border-radius: 20px; background: #151515e8; box-shadow: 0 18px 45px #0003; }
.game-about { grid-row: 1; }
.system-requirements { grid-row: 2; }
.installation-panel { grid-row: 3; }
.game-about h3,.system-requirements h3 { margin: 10px 0 16px; font-size: 26px; font-weight: 500; }
.game-about p { max-width: 880px; margin: 0 0 10px; color: #b8b8b8; font-size: 14px; line-height: 2; }
.section-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #757575; font-size: 10px; letter-spacing: .08em; }
.requirements-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: 28px; }
.requirement-card,.requirement-note { padding-top: 16px; border-top: 1px solid #ffffff14; }
.requirement-card h4,.requirement-note h4 { margin: 0 0 14px; font-size: 14px; font-weight: 500; }
.requirement-card dl { display: grid; gap: 8px; margin: 0; }
.requirement-card dl div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 18px; color: #aaa; font-size: 12px; }
.requirement-card dt { color: #707070; }.requirement-card dd { margin: 0; color: #c8c8c8; }
.requirement-note p { margin: 0 0 18px; color: #9d9d9d; font-size: 13px; line-height: 1.9; }.requirement-note span { color: #d4d4d4; font-size: 11px; }
.game-media > .media-head { grid-row: 4; }
.game-media > #gameScreenshots { grid-row: 4; }
.game-media > .game-video { grid-row: 4 / span 2; }
.game-media > .game-gallery { grid-row: 5; }
.game-media > .game-video { grid-column: 1 / -1; width: min(100%, 860px); justify-self: end; }
.game-modal { background: #0d0d0d; }
.game-modal::before { position: absolute; inset: 0 0 auto; height: 680px; background: linear-gradient(180deg,#0d0d0d28 0%,#0d0d0d62 62%,#0d0d0df8 100%),linear-gradient(90deg,#0d0d0d80,#0d0d0d18 50%,#0d0d0d90),url('mad-father/mad-father-page-bg.png') center top / cover; opacity: .72; }
.game-dialog-copy { border-radius: 8px; background: #171717; backdrop-filter: none; box-shadow: 0 18px 38px #0005; }
.store-stage { border-radius: 6px; }
.game-about,.system-requirements,.installation-panel { border-radius: 8px; background: #171717; box-shadow: none; }
@media (max-width: 800px) { .game-modal::before { height: 560px; } }
body.reveal-ready [data-reveal] { opacity: 1; transform: none; }
@media (min-width: 801px) and (max-width: 1150px) {
  .hero h1 { font-size: 58px; }.hero-content { width: calc(100% - 72px); }.hero-release { width: 290px; gap: 12px; }.release-art { flex-basis: 80px; width: 80px; }.release-info h2 { font-size: 21px; }.release-arrow { display: none; }
  .hero-lede { max-width: 360px; }.nav-links a { padding-inline: 12px; }.hero { min-height: 480px; }
  .game-dialog { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); padding-inline: 32px; gap: 24px; }.game-dialog-copy { padding: 22px; }.game-dialog-copy h2 { font-size: 28px; }
  .cta-inner { flex-wrap: wrap; }.footer-links { grid-template-columns: repeat(3,90px); gap: 24px; }
}
@media (max-width: 800px) {
  .nav-center { display: contents; position: static; }
  .nav { justify-content: space-between; }
  .site-header.search-open { background: #0d0d0df5; }
  .site-header.search-open .brand { opacity: 0; pointer-events: none; }
  .header-search-results { top: calc(100% + 12px); padding: 14px; max-height: calc(100dvh - 160px); }
  .brand-mark { transform: translateY(-2.5px); }
  .brand-wordmark { width: 144px; }
  .container { width: calc(100% - 40px); }.nav { height: 72px; gap: 12px; }.brand { font-size: 19px; gap: 8px; }.brand-mark { width: 44px; height: 34px; }
  .nav-links { inset: 72px 16px auto; background: #191919f8; border-radius: 20px; padding: 8px; }.nav-links a { border-radius: 12px; }
  .hero { margin: 72px 10px 0; border-radius: 24px; min-height: 0; }.hero-content { width: calc(100% - 40px); padding: 40px 0 24px; }.hero::before { background: linear-gradient(0deg,#0e0e0e 7%,#0e0e0e90 57%,#0e0e0e30),linear-gradient(270deg,#0e0e0ede,#0e0e0e44); }
  .cinematic-art { object-position: 28% top; height: 75%; opacity: .7; }.hero .eyebrow { font-size: 10px; padding: 7px 11px; }.hero h1 { font-size: clamp(43px,10.7vw,62px); margin-top: 30px; line-height: 1.45; max-width: 100%; }
  .hero-lede { font-size: 14px; max-width: 310px; color: #b7b7b7; margin-bottom: 24px; }.hero-actions { gap: 8px; }.button { padding-inline: 20px; font-size: 12px; min-height: 48px; }
  .hero-meta { margin-top: 24px; font-size: 10px; }.scroll-cue { display: none; }
  .hero-release { position: static; width: 100%; margin-top: 32px; gap: 14px; padding: 12px; border-radius: 16px; }.release-art { flex-basis: 88px; width: 88px; }.release-info h2 { font-size: 22px; }.release-info p,.store-label { font-size: 10px; }.release-arrow { font-size: 22px; }.release-info { gap: 8px; }
  .announcement { font-size: 10px; padding: 20px; line-height: 1.9; }.section { padding: 56px 0; }.section-head { gap: 20px; margin-bottom: 24px; }.section h2 { font-size: 30px; line-height: 1.6; }.section-intro { font-size: 14px; margin-top: 20px; }.section-head .text-link { margin-top: 6px; }
  .library-toolbar { padding-bottom: 16px; margin-bottom: 20px; font-size: 12px; }.library-count { display: none; }.library-toolbar button { font-size: 11px; gap: 18px; padding: 8px 14px; }
  .featured-layout { grid-template-columns: 1fr; gap: 0; }.feature-art { min-height: 320px; border-radius: 20px; }.feature-overlay { inset: 50% 24px auto; max-width: 270px; }.feature-overlay h3 { font-size: 34px; }.feature-overlay p { font-size: 13px; }.feature-card { min-height: 350px; border-radius: 20px; padding: 28px; }.feature-card h3 { font-size: 30px; margin-top: 22px; }
  .manifesto { grid-template-columns: 1fr; gap: 16px; }.manifesto-copy h2 { font-size: 30px; }.manifesto-copy p { font-size: 14px; }.principles { margin-top: 32px; gap: 0; }.principle { padding: 24px 0; min-height: 0; border-color: #ffffff0b; }.principle b { margin-bottom: 12px; }
  .steps { gap: 14px; }.step { min-height: 235px; padding: 26px; border-radius: 20px; }.step h3 { font-size: 23px; }
  .cta { padding: 36px 0; border-radius: 24px; margin: 0 10px 10px; }.cta-inner { width: calc(100% - 40px); }.cta h2 { font-size: 32px; }.cta p { font-size: 14px; margin: 20px 0 24px; }
  .site-footer { padding: 28px 0 24px; }.footer-top { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 24px; }.footer-links { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 36px; }.footer-links a { font-size: 12px; }.footer-bottom { font-size: 10px; }
  .library-section { padding: 36px 0 28px; }.library-toolbar h2 { font-size: 24px; }.support-strip { grid-template-columns: 1fr; gap: 28px; padding: 28px 0; }.footer-nav { gap: 20px; }
  .game-modal { padding: 0; }.game-modal::before { height: 100%; }.game-dialog { grid-template-columns: 1fr; width: 100%; padding: 20px 20px 48px; gap: 24px; max-height: none; }.steam-info-column { grid-column: 1; grid-row: 2; }.game-dialog-art { grid-column: 1; grid-row: 1; }.game-dialog-copy,.game-media { grid-column: 1; grid-row: auto; }.game-titlebar > a { font-size: 10px; padding-inline-end: 135px; }.game-titlebar > div { padding: 16px 20px 14px; }.game-titlebar nav { padding-inline: 0; }
  .close-game { top: 20px; inset-inline-end: 16px; padding-inline: 14px; height: 40px; font-size: 10px; gap: 8px; }.game-titlebar > div { padding: 26px 0 8px; }.game-titlebar h2 { font-size: 47px; margin-bottom: 14px; }.game-titlebar .store-label { font-size: 8px; }.game-titlebar p { font-size: 14px; }.game-titlebar nav { gap: 25px; }.game-titlebar nav a { font-size: 12px; min-height: 52px; }
  .game-dialog-art { min-height: 0; max-height: none; }.store-stage { border-radius: 16px; }.store-stage > button { top: 10px; left: 10px; width: 36px; height: 36px; border-radius: 10px; font-size: 21px; }.stage-counter { font-size: 9px; padding: 20px 14px 12px; }
  .store-thumbs { gap: 8px; padding-top: 12px; }.store-thumbs .gallery-item { flex-basis: 88px; border-radius: 9px; }.store-thumbs .gallery-item img { border-radius: 6px; }.media-pagination { font-size: 11px; }.media-pagination button { width: 38px; height: 38px; }
  .game-dialog-copy { padding: 24px; border-radius: 20px; }.detail-cover { width: 62px; height: 82px; margin-bottom: 18px; }.game-dialog-copy h2 { font-size: 31px; }.game-dialog-copy > p:not(.game-dialog-subtitle):not(.game-notice) { font-size: 14px; }.game-download-box { flex-direction: column; }.game-download-box .button { min-height: 52px; font-size: 14px; }
  .game-media { display: flex; flex-direction: column; padding: 12px 0 0; gap: 20px; }.game-media > * { width: 100%; }.game-video { border-radius: 16px; margin-bottom: 20px; }.media-head h3 { font-size: 23px; }.game-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .installation-panel { padding: 24px; border-radius: 20px; margin-bottom: 14px; }.setup-heading h3 { font-size: 25px; line-height: 1.6; }.installation-panel .install-list { grid-template-columns: 1fr; gap: 18px; }.installation-panel li { font-size: 14px; }.installation-panel li::before { margin-bottom: 7px; }
  .gallery-dialog { grid-template-columns: 1fr; gap: 14px; }.gallery-dialog figure { grid-row: 1; grid-column: 1 / -1; }.gallery-control { grid-row: 2; position: absolute; bottom: -60px; }.gallery-control#galleryNext { left: 0; }.gallery-control#galleryPrev { right: 0; }.close-gallery { top: -58px; }
}
@media (max-width: 380px) {
  .brand-wordmark { width: 120px; }
  .brand-mark { width: 38px; transform: translateY(-2.25px); }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: 0s !important; } }

/* Mad Father detail — a clean Steam-like store page. */
.game-modal {
  background: #1b2838;
  color: #d6d7d8;
}
.game-modal::before {
  position: absolute;
  inset: 0 0 auto;
  height: 720px;
  background:
    linear-gradient(180deg, #1b28382b 0%, #1b283891 58%, #1b2838 100%),
    linear-gradient(90deg, #1b2838d9 0%, #1b28383c 50%, #1b2838ed 100%),
    url('mad-father/mad-father-page-bg.png') center top / cover;
  opacity: .74;
}
.game-dialog {
  width: min(100%, 1240px);
  padding: 22px 36px 80px;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .8fr);
  gap: 22px;
}
.game-titlebar {
  grid-column: 1 / -1;
  grid-row: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "main crumb" "nav nav";
  align-items: end;
  width: 100%;
  padding: 0 0 11px;
  border-bottom: 1px solid #2a475e;
}
.game-titlebar > div {
  grid-area: main;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}
.game-titlebar > a {
  grid-area: crumb;
  justify-self: start;
  padding: 0 0 5px;
  color: #8fa9bd;
  font-size: 11px;
}
.game-titlebar .store-label {
  color: #8fa9bd;
  font-size: 10px;
  letter-spacing: .14em;
}
.game-titlebar h2 {
  margin: 5px 0 2px;
  color: #fff;
  font-size: clamp(30px, 3.3vw, 42px);
  letter-spacing: -.03em !important;
}
.game-titlebar p { color: #a9bdcb; font-size: 13px; }
.game-titlebar nav {
  grid-area: nav;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  gap: 24px;
}
.game-titlebar nav a {
  min-height: 35px;
  color: #8fa9bd;
  font-size: 12px;
  border-bottom-width: 2px;
}
.game-titlebar nav a:first-child { color: #fff; border-color: #1a9fff; }
.close-game {
  top: 22px;
  inset-inline-end: 36px;
  z-index: 5;
  height: 36px;
  padding: 0 12px;
  border-radius: 3px;
  border-color: #2a475e;
  background: #101923dd;
  color: #b7c9d5;
  font-size: 11px;
}
.close-game:hover { background: #1a9fff; color: #fff; }
.game-dialog-art { grid-column: 1; grid-row: 2; }
.game-dialog-copy {
  grid-column: 2;
  grid-row: 2;
  padding: 20px;
  border: 1px solid #2a475e;
  border-radius: 3px;
  background: #101923e8;
  box-shadow: none;
}
.store-stage {
  border: 1px solid #2a475e;
  border-radius: 3px;
  box-shadow: none;
  background: #07121c;
}
.store-stage > img { aspect-ratio: 16 / 9; object-fit: cover; }
.store-stage > button {
  width: 38px;
  height: 38px;
  border-radius: 3px;
  border-color: #2a475e;
  background: #101923d9;
}
.stage-counter { padding: 28px 18px 13px; background: linear-gradient(0deg, #07121ce8, transparent); }
.store-thumbs { gap: 7px; padding: 10px 0 6px; }
.store-thumbs .gallery-item {
  flex-basis: 104px;
  border-radius: 3px;
  border-color: transparent;
  opacity: .64;
}
.store-thumbs .gallery-item[aria-pressed='true'] { border-color: #1a9fff; opacity: 1; }
.store-thumbs .gallery-item img { border-radius: 2px; }
.media-pagination { padding-top: 7px; color: #8fa9bd; }
.media-pagination button { width: 34px; height: 34px; border-radius: 3px; border-color: #2a475e; background: #101923; }
.detail-cover { width: 78px; height: 104px; border-radius: 2px; margin-inline-end: 16px; }
.game-dialog-kicker { color: #8fa9bd; }
.game-dialog-copy h2 { margin-top: 7px; font-size: 30px; }
.game-dialog-subtitle { color: #a9bdcb; }
.game-dialog-copy > p:not(.game-dialog-subtitle):not(.game-notice) { color: #c3d2dc; font-size: 13px; line-height: 1.8; }
.game-meta { margin: 18px 0; }
.game-meta span { padding: 5px 8px; border-radius: 2px; border-color: #2a475e; background: #17283a; color: #c3d2dc; }
.game-download-box { margin: 18px 0 10px; padding-top: 16px; border-color: #2a475e; }
.game-download-box .button { min-height: 45px; border-radius: 2px; background: #1a9fff; color: #fff; }
.game-download-box .button:hover { background: #66c0f4; }
.game-download-box span { color: #a9bdcb; }
.game-notice { color: #8fa9bd; }
.steam-facts { display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #2a475e; }
.steam-facts div { display: flex; justify-content: space-between; gap: 14px; font-size: 11px; }
.steam-facts span { color: #7890a2; }
.steam-facts strong { color: #c3d2dc; font-weight: 400; }
.steam-feature-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.steam-feature-list span { padding: 5px 7px; border: 1px solid #2a475e; border-radius: 2px; color: #8fc9ee; font-size: 10px; background: #0d1a26; }
.game-media { grid-column: 1 / -1; grid-row: 3; padding-top: 20px; gap: 18px 24px; }
.game-about,.system-requirements,.installation-panel {
  border: 1px solid #2a475e;
  border-radius: 3px;
  background: #101923e8;
  box-shadow: none;
}
.game-about { grid-column: 1 / -1; grid-row: 1; padding: 24px 28px; }
.system-requirements { grid-column: 1 / -1; grid-row: 2; padding: 24px 28px; }
.installation-panel { grid-column: 1 / -1; grid-row: 3; padding: 24px 28px; }
.game-about h3,.system-requirements h3 { margin: 8px 0 14px; color: #fff; font-size: 24px; }
.game-about p { color: #c3d2dc; font-size: 13px; line-height: 1.85; }
.section-caption { color: #7890a2; }
.requirements-grid { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 24px; }
.requirement-card,.requirement-note { border-color: #2a475e; }
.requirement-card h4,.requirement-note h4 { color: #fff; }
.requirement-card dl div { color: #b4c4cf; font-size: 12px; }
.requirement-card dt { color: #7890a2; }
.requirement-card dd { color: #d6d7d8; }
.requirement-note p { color: #a9bdcb; }
.installation-panel .install-list { gap: 22px; }
.installation-panel li { color: #c3d2dc; border-color: #2a475e; }
.installation-panel li::before { color: #1a9fff; }
.checksum { border-color: #2a475e; }
.media-head h3 { color: #fff; }
.media-head p { color: #a9bdcb; }
.game-video { border-radius: 3px; border-color: #2a475e; }

@media (max-width: 800px) {
  .game-dialog { grid-template-columns: 1fr; padding: 18px 20px 48px; gap: 18px; }
  .game-titlebar { grid-column: 1; grid-row: 1; display: block; padding-bottom: 8px; }
  .game-titlebar > a { padding: 0 0 8px; }
  .game-titlebar > div { padding: 0; }
  .game-titlebar h2 { font-size: 34px; }
  .game-titlebar nav { gap: 18px; margin-top: 10px; overflow-x: auto; }
  .game-titlebar nav a { min-height: 34px; white-space: nowrap; }
  .game-dialog-art { grid-column: 1; grid-row: 2; }
  .game-dialog-copy { grid-column: 1; grid-row: 3; }
  .game-media { grid-column: 1; grid-row: 4; }
  .close-game { top: 18px; inset-inline-end: 20px; }
  .game-about,.system-requirements,.installation-panel { padding: 20px; }
  .requirements-grid { grid-template-columns: 1fr; gap: 20px; }
  .game-modal::before { height: 560px; }
}

/* Keep the Steam structure, but restore ARABVX's black-and-white visual language. */
.game-modal {
  background: #0d0d0d;
  color: #e8e8e8;
}
.game-modal::before {
  height: 720px;
  background:
    linear-gradient(180deg, #0d0d0d2b 0%, #0d0d0d91 58%, #0d0d0d 100%),
    linear-gradient(90deg, #0d0d0de8 0%, #0d0d0d40 50%, #0d0d0df2 100%),
    url('mad-father/mad-father-page-bg.png') center top / cover;
  opacity: .78;
}
.game-titlebar { border-bottom-color: #ffffff13; }
.game-titlebar > a,
.game-titlebar .store-label,
.game-dialog-kicker,
.section-caption { color: #9b9b9b; }
.game-titlebar h2,
.game-about h3,
.system-requirements h3,
.media-head h3 { color: #f5f5f5; }
.game-titlebar p,
.game-titlebar nav a,
.game-dialog-subtitle,
.media-head p { color: #a4a4a4; }
.game-titlebar nav a:first-child { color: #fff; border-color: #fff; }
.close-game {
  border-color: #ffffff24;
  border-radius: 999px;
  background: #171717e8;
  color: #cfcfcf;
}
.close-game:hover { background: #f1f1f1; color: #111; }
.game-dialog-copy,
.game-about,
.system-requirements,
.installation-panel {
  border-color: #ffffff16;
  border-radius: 24px;
  background: #171717e8;
}
.game-dialog-copy { box-shadow: 0 18px 38px #0005; }
.store-stage {
  border-color: #ffffff16;
  border-radius: 22px;
  background: #070707;
  box-shadow: 0 22px 60px #0007;
}
.stage-counter { background: linear-gradient(0deg, #000000ee, transparent); }
.store-stage > button {
  border-color: #ffffff25;
  border-radius: 12px;
  background: #151515d9;
}
.store-thumbs .gallery-item {
  border-radius: 12px;
  border-color: transparent;
}
.store-thumbs .gallery-item[aria-pressed='true'] { border-color: #fff; }
.store-thumbs .gallery-item img { border-radius: 9px; }
.media-pagination { color: #9b9b9b; }
.media-pagination button {
  border-color: #ffffff18;
  border-radius: 50%;
  background: #ffffff04;
}
.game-dialog-copy > p:not(.game-dialog-subtitle):not(.game-notice),
.game-about p { color: #bdbdbd; }
.game-meta span,
.steam-feature-list span {
  border-color: #ffffff12;
  border-radius: 6px;
  background: #ffffff05;
  color: #cfcfcf;
}
.game-download-box { border-color: #ffffff12; }
.game-download-box .button {
  border-radius: 999px;
  background: #f1f1f1;
  color: #111;
}
.game-download-box .button span { color: inherit; }
.game-download-box .button:hover { background: #fff; }
.game-download-box span,
.game-notice { color: #9b9b9b; }
.steam-facts,
.requirement-card,
.requirement-note,
.installation-panel li,
.checksum { border-color: #ffffff12; }
.steam-facts span,
.requirement-card dt { color: #858585; }
.steam-facts strong,
.requirement-card dd { color: #d2d2d2; }
.steam-feature-list span { color: #cfcfcf; }
.requirement-card dl div,
.installation-panel li { color: #bdbdbd; }
.requirement-note p { color: #a4a4a4; }
.installation-panel li::before { color: #fff; }
.game-video { border-radius: 20px; border-color: #ffffff12; }
.game-media > .installation-panel { grid-row: 1; }
.game-media > .game-about { grid-row: 2; }
.game-media > .system-requirements { grid-row: 3; }
.requirements-grid { grid-template-columns: minmax(0, 1fr); }
.requirement-card { width: min(100%, 680px); justify-self: start; }
.game-media { display: flex; flex-direction: column; gap: 18px; }
.game-media > * { width: 100%; }
.game-media > .media-head { align-self: stretch; width: 100%; justify-content: flex-start; }
.game-media > .game-video { align-self: stretch; width: 100%; max-width: none; }
.requirement-card dl div { display: flex; align-items: baseline; justify-content: flex-start; gap: 24px; }
.requirement-card dt { flex: 0 0 130px; text-align: right; }
.requirement-card dd { flex: 0 1 auto; min-width: 0; text-align: left; direction: ltr; unicode-bidi: isolate; white-space: nowrap; }

/* Banner supplied for the About This Game section. */
.game-about-banner {
  width: 100%;
  max-width: none;
  align-self: stretch;
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid #ffffff16;
  border-radius: 24px;
  background: #111;
  line-height: 0;
}
.game-about-banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.requirement-card dl div { display: grid; grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 24px; padding: 9px 0; border-bottom: 1px solid #ffffff0b; }
.requirement-card dl div:last-child { border-bottom: 0; }
.requirement-card dd { width: 100%; }
.game-download-box > div { direction: rtl; }
.game-download-box > div span[dir='ltr'] { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.game-download-box > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.game-download-box > div strong { min-width: 0; text-align: right; }
.game-download-box > div span[dir='ltr'] { min-width: 0; text-align: left; }
.game-titlebar { grid-template-columns: 1fr; grid-template-areas: "main" "nav"; }
.game-titlebar > div { padding-inline-start: 0; padding-top: 48px; box-sizing: border-box; }
.close-game { inset-inline-start: 36px; inset-inline-end: auto; }

@media (max-width: 800px) {
  .game-modal::before { height: 560px; }
  .game-dialog-copy,
  .game-about,
  .system-requirements,
  .installation-panel { border-radius: 20px; }
  .store-stage { border-radius: 16px; }
  .game-about-banner { border-radius: 20px; }
  .requirement-card { width: 100%; }
  .game-titlebar > div { padding-inline-start: 0; padding-top: 48px; }
  .close-game { inset-inline-start: 20px; inset-inline-end: auto; }
}

/* Calm game-page entrance: fade + a tiny vertical settle, with no zoom. */
.game-modal {
  transition: opacity .2s ease, visibility .2s linear;
}
.game-dialog {
  opacity: 0;
  transform: translateY(10px);
  will-change: opacity, transform;
  transition: opacity .24s ease-out, transform .24s ease-out;
}
.game-modal.open .game-dialog {
  opacity: 1;
  transform: translateY(0);
}

/* Calm loading handoff before the game page appears. */
.game-loading {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: #0d0d0d;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s linear;
}
.game-loading.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.game-loading-bar {
  position: relative;
  width: min(220px, 58vw);
  height: 1px;
  overflow: hidden;
  background: #ffffff1c;
}
.game-loading-bar span {
  position: absolute;
  inset: 0;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left center;
}
.game-loading.open .game-loading-bar span {
  transform: scaleX(1);
  transition: transform .42s ease-out;
}

/* Thmanyah Sans — the site's Arabic typeface. */
@font-face {
  font-family: 'Thmanyah Sans';
  src: url('fonts/thmanyahsans-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Thmanyah Sans';
  src: url('fonts/thmanyahsans-Light.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'Thmanyah Sans';
  src: url('fonts/thmanyahsans-Medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
}
@font-face {
  font-family: 'Thmanyah Sans';
  src: url('fonts/thmanyahsans-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}
@font-face {
  font-family: 'Thmanyah Sans';
  src: url('fonts/thmanyahsans-Black.woff2') format('woff2');
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
html,
body,
body * {
  font-family: 'Thmanyah Sans', sans-serif !important;
}

/* Search opens from the left-side trigger in RTL, with no duplicate lens inside the field. */
.header-search-bar {
  direction: rtl;
  transform-origin: left center;
}
.header-search-bar > svg {
  display: none !important;
  opacity: 0 !important;
}
.header-search .search-input {
  direction: rtl;
  text-align: right;
}
.header-search .close-search {
  flex: 0 0 36px;
}
