/* Official-site references and artwork provenance: reference-art/README.md. */
html[data-theme='witcher3'] {
 --forest:#0b191c; --deep:#071113; --ink:#f0f0e6; --muted:#b8c9c5; --gold:#e9d19c; --gold-bright:#ffe8b7;
 --line:#596562; --panel:#172b2c; --button-ink:#1b211a; --scene:url('./themes/witcher3.webp');
 --heading-font:'Cormorant Unicase',Georgia,serif; --heading-weight:700; --heading-spacing:-.035em;
}
html[data-theme='witcher3'] .hero { min-height:820px; }
html[data-theme='witcher3'] .hero-art { background-position:60% center; }
html[data-theme='witcher3'] .hero::after { background:linear-gradient(90deg,#071113f2 0%,#071113cc 25%,#07111330 66%),linear-gradient(0deg,#0b191c,transparent 42%); }
html[data-theme='witcher3'] .hero h1 { text-transform:uppercase; font-size:clamp(3.8rem,7.3vw,7rem); line-height:.98; }
html[data-theme='witcher3'] .hero h1 em { color:#e9d19c; }
html[data-theme='witcher3'] .hero .eyebrow span { background:#ce3a35; box-shadow:5px 0 #ce3a35,-5px 0 #ce3a35; width:2px; height:15px; transform:skew(-12deg); }
html[data-theme='witcher3'] .button { clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%); padding-inline:25px; }
html[data-theme='witcher3'] .community-panel { border-top:2px solid #e9d19c; background:linear-gradient(120deg,#203738,#101e21); }

html[data-theme='expedition33'] {
 --forest:#11100f; --deep:#080807; --ink:#f4eadb; --muted:#c7baa8; --gold:#eccfa3; --gold-bright:#ffe3b9;
 --line:#655c49; --panel:#23211d; --button-ink:#231d14; --scene:url('./themes/expedition33.webp');
 --heading-font:'Cormorant Garamond',Georgia,serif; --heading-weight:700; --heading-spacing:-.025em;
}
html[data-theme='expedition33'] .hero { min-height:820px; }
html[data-theme='expedition33'] .hero-art { inset:90px 0 30px 28%; background-position:65% center; mask-image:linear-gradient(90deg,transparent,#000 28%); }
html[data-theme='expedition33'] .hero::after { background:linear-gradient(90deg,#11100f 0%,#11100fc9 30%,transparent 75%),linear-gradient(0deg,#11100f,transparent 40%); }
html[data-theme='expedition33'] .hero h1 { text-transform:uppercase; font-size:clamp(4rem,7.4vw,7.1rem); line-height:.98; width:fit-content; padding-bottom:22px; border-bottom:1px solid #eccfa370; }
html[data-theme='expedition33'] .hero .eyebrow span { width:18px; height:1px; transform:none; }
html[data-theme='expedition33'] .button { clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%); padding-inline:25px; }
html[data-theme='expedition33'] .community-panel { border-inline:3px double #eccfa3; }
html[data-theme='expedition33'] .section-intro h2 { font-style:italic; }

html[data-theme='splitfiction'] {
 --forest:#151128; --deep:#0b091b; --ink:#f7f3ff; --muted:#c7bfdd; --gold:#04c3dc; --gold-bright:#66edff;
 --line:#5a4975; --panel:#29203e; --button-ink:#081e28; --scene:url('./themes/splitfiction.webp');
 --heading-font:'Oswald',sans-serif; --heading-weight:700; --heading-spacing:-.035em;
}
html[data-theme='splitfiction'] .hero { min-height:800px; }
html[data-theme='splitfiction'] .hero-art { inset:80px 0 0 32%; background-position:55% center; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); }
html[data-theme='splitfiction'] .hero::after { background:linear-gradient(90deg,#151128 0%,#151128e6 28%,#15112855 55%,transparent 80%),linear-gradient(0deg,#151128,transparent 40%); }
html[data-theme='splitfiction'] .hero h1 { text-transform:uppercase; font-size:clamp(3.8rem,6.8vw,6.5rem); line-height:1; }
html[data-theme='splitfiction'] .hero h1 em { color:#eeb4ff; }
html[data-theme='splitfiction'] .button { border-radius:4px; }
html[data-theme='splitfiction'] .project { border-left:5px solid #892fed; }
html[data-theme='splitfiction'] .community-panel { background:linear-gradient(110deg,#422566,#1d2342); border-color:#a879cf; }
html[data-theme='splitfiction'] .section-intro h2,html[data-theme='splitfiction'] .community h2 { text-transform:uppercase; }

html[data-theme='dota2'] {
 --forest:#15171d; --deep:#090c11; --ink:#f5f1e9; --muted:#bfc3ca; --gold:#ff6046; --gold-bright:#ff9d7e;
 --line:#4e535c; --panel:#222831; --button-ink:#fff6ec; --scene:url('./themes/dota2.webp');
 --heading-font:'Cormorant Unicase',Georgia,serif; --heading-weight:700; --heading-spacing:-.025em;
}
html[data-theme='dota2'] .hero { min-height:800px; }
html[data-theme='dota2'] .hero-art { background-position:62% center; }
html[data-theme='dota2'] .hero::after { background:linear-gradient(90deg,#090c11e6,#090c1199 29%,transparent 78%),linear-gradient(0deg,#15171d,transparent 45%); }
html[data-theme='dota2'] .hero h1 { text-transform:uppercase; font-size:clamp(3.8rem,7.4vw,7rem); line-height:1; }
html[data-theme='dota2'] .hero h1 em { color:#f5f1e9; }
html[data-theme='dota2'] .hero h1::after { content:''; display:block; width:82px; height:3px; background:#ff6046; margin-top:25px; }
html[data-theme='dota2'] .button-primary { color:#f5f1e9; background:#ffffff08; border:2px solid #aeb4ba; }
html[data-theme='dota2'] .button-primary:hover { background:#ff6046; border-color:#ff6046; }
html[data-theme='dota2'] .button { text-transform:uppercase; letter-spacing:.04em; }
html[data-theme='dota2'] .community-panel { border-bottom:3px solid #ff6046; background:linear-gradient(120deg,#2c3039,#151a22); }

html[data-theme='halflife'] {
 color-scheme:light; --forest:#e9e8e9; --deep:#dcdadd; --ink:#293331; --muted:#535d59; --gold:#b4500a; --gold-bright:#8d3c02;
 --line:#a7afaa; --panel:#d7dcda; --button-ink:#fffaf3; --scene:url('./themes/halflife.webp');
 --heading-font:'Oswald',sans-serif; --heading-weight:700; --heading-spacing:.01em;
}
html[data-theme='halflife'] .hero { min-height:800px; }
html[data-theme='halflife'] .hero-art { inset:0 0 0 48%; background-position:center; }
html[data-theme='halflife'] .hero::after { background:linear-gradient(90deg,#e9e8e9 45%,transparent 60%),linear-gradient(0deg,#e9e8e9,transparent 30%); }
html[data-theme='halflife'] .topbar { background:#e9e8e9eb; padding-inline:16px; }
html[data-theme='halflife'] .brand img { filter:brightness(.25); }
html[data-theme='halflife'] .hero-copy { width:min(calc(48% - 64px),560px); margin-left:max(48px,calc((100% - 1224px)/2)); margin-right:auto; padding-left:0; }
html[data-theme='halflife'] .hero h1 { text-transform:uppercase; font-size:clamp(3.3rem,6.6vw,6.8rem); line-height:1.08; letter-spacing:-.035em; }
html[data-theme='halflife'] .hero h1 em { color:#b4500a; }
html[data-theme='halflife'] .hero .eyebrow span { background:none; width:20px; height:20px; transform:none; }
html[data-theme='halflife'] .hero .eyebrow span::after { content:'λ'; font:700 25px/20px sans-serif; }
html[data-theme='halflife'] .hero .button-primary { background:#ff862c; border-color:#ff862c; color:#1b201c; }
html[data-theme='halflife'] .hero .button-primary:hover { background:#ffad70; }
html[data-theme='halflife'] .project { border-top:4px solid #ff862c; }
html[data-theme='halflife'] .community-panel { border-left:4px solid #ff862c; }

html[data-theme='pubg'] {
 color-scheme:light; --forest:#ece9e1; --deep:#ded8cb; --ink:#28271f; --muted:#5a594f; --gold:#956300; --gold-bright:#704a00;
 --line:#b1aa96; --panel:#e0dccf; --button-ink:#fff6df; --scene:url('./themes/pubg.webp');
 --heading-font:'Oswald',sans-serif; --heading-weight:700; --heading-spacing:-.035em;
}
html[data-theme='pubg'] .hero { min-height:800px; color:#f5f2e9; background:#111; --gold:#f2aa00; --gold-bright:#ffd055; --button-ink:#17150c; }
html[data-theme='pubg'] .hero-art { background-position:64% center; background-color:#111; }
html[data-theme='pubg'] .hero::after { background:linear-gradient(90deg,#111111eb 0%,#111111a6 27%,transparent 80%),linear-gradient(0deg,#111,transparent 35%); }
html[data-theme='pubg'] .hero h1 { text-transform:uppercase; font-size:clamp(4rem,8vw,7.8rem); line-height:.96; }
html[data-theme='pubg'] .hero .hero-description,html[data-theme='pubg'] .hero-caption { color:#f5f2e9; }
html[data-theme='pubg'] .hero .button-secondary { color:#f5f2e9; background:#111c; border-color:#a39e8c; }
html[data-theme='pubg'] .topbar { color:#f5f2e9; border-color:#f5f2e940; }
html[data-theme='pubg'] .topbar nav,html[data-theme='pubg'] .top-link span { color:#f5f2e9; }
html[data-theme='pubg'] .project { border-left:6px solid #f2aa00; }
html[data-theme='pubg'] .community-panel { border-top:4px solid #f2aa00; }
html[data-theme='pubg'] .section-intro h2,html[data-theme='pubg'] .community h2 { text-transform:uppercase; }

html[data-theme='warhammer'] {
 --forest:#101824; --deep:#080f18; --ink:#eee5cf; --muted:#b4bcc7; --gold:#dccea8; --gold-bright:#ffedba;
 --line:#6d737c; --panel:#1c2d43; --button-ink:#182236; --scene:url('./themes/warhammer.webp');
 --heading-font:'Cormorant Unicase',Georgia,serif; --heading-weight:700; --heading-spacing:-.035em;
}
html[data-theme='warhammer'] .hero { min-height:820px; }
html[data-theme='warhammer'] .hero-art { background-position:66% center; }
html[data-theme='warhammer'] .hero::after { background:linear-gradient(90deg,#080f18f5 0%,#080f18cf 27%,#080f1833 65%),linear-gradient(0deg,#101824,transparent 40%); }
html[data-theme='warhammer'] .hero h1 { text-transform:uppercase; font-size:clamp(3.8rem,7.4vw,7.2rem); line-height:.98; text-shadow:0 3px 0 #2a2930; }
html[data-theme='warhammer'] .topbar { border-bottom:2px solid #dccea850; }
html[data-theme='warhammer'] .button { border:2px solid #dccea8; box-shadow:inset 0 0 0 2px #192538; }
html[data-theme='warhammer'] .button-secondary { color:#dccea8; background:#162337; }
html[data-theme='warhammer'] .project,html[data-theme='warhammer'] .community-panel { border:3px double #9b9d99; box-shadow:inset 0 6px 0 #ffffff0a,inset 0 -6px 0 #0004; }
html[data-theme='warhammer'] .section-intro h2,html[data-theme='warhammer'] .community h2 { text-transform:uppercase; }

html[data-theme='thefront'] {
 --forest:#102032; --deep:#091624; --ink:#e6eef1; --muted:#b8c9d7; --gold:#ecc760; --gold-bright:#ffe4a0;
 --line:#60798d; --panel:#1d344a; --button-ink:#172333; --scene:url('./themes/thefront.webp');
 --heading-font:'Tektur',sans-serif; --heading-weight:700; --heading-spacing:-.045em;
}
html[data-theme='thefront'] .hero { min-height:840px; }
html[data-theme='thefront'] .hero-art { background-position:60% center; }
html[data-theme='thefront'] .hero::after { background:radial-gradient(ellipse at 50% 40%,#091624bd,#09162455 70%),linear-gradient(0deg,#102032,transparent 45%); }
html[data-theme='thefront'] .hero-copy { text-align:center; }
html[data-theme='thefront'] .hero .eyebrow,html[data-theme='thefront'] .hero .actions { justify-content:center; }
html[data-theme='thefront'] .hero h1 { text-transform:uppercase; font-size:clamp(3.2rem,6.1vw,6rem); line-height:1.02; text-shadow:0 2px 0 #617181,0 7px 22px #091624; }
html[data-theme='thefront'] .hero h1 em { color:#e6eef1; }
html[data-theme='thefront'] .hero-description { margin-inline:auto; max-width:470px; text-shadow:0 2px 7px #091624; }
html[data-theme='thefront'] .hero .eyebrow { letter-spacing:.3em; }
html[data-theme='thefront'] .button-primary { background:linear-gradient(#f5d881,#dfb64c); }
html[data-theme='thefront'] .button-primary:hover { background:#ffe4a0; }
html[data-theme='thefront'] .community-panel { border-top:3px solid #ecc760; background:linear-gradient(110deg,#29445c,#122539); }

@media (max-width:900px) {
 html[data-theme='halflife'] .hero { min-height:1000px; }
 html[data-theme='halflife'] .hero-art { inset:80px 0 auto; height:340px; }
 html[data-theme='halflife'] .hero::after { background:linear-gradient(0deg,#e9e8e9 0%,#e9e8e9 56%,transparent 70%); }
 html[data-theme='halflife'] .hero-copy { width:calc(100% - 56px); margin-inline:auto; padding:380px 0 35px; }
 html[data-theme='halflife'] .hero-description { max-width:460px; }
}
@media (max-width:640px) {
 html[data-theme='witcher3'] .hero h1,html[data-theme='expedition33'] .hero h1,html[data-theme='warhammer'] .hero h1 { font-size:clamp(2.7rem,10.7vw,4.4rem); }
 html[data-theme='witcher3'] .hero-art { background-position:54% center; }
 html[data-theme='expedition33'] .hero-art { inset:65px 0 0; background-position:65% center; mask-image:none; }
 html[data-theme='expedition33'] .hero::after { background:linear-gradient(90deg,#11100fd9,#11100f44),linear-gradient(0deg,#11100f,transparent 60%); }
 html[data-theme='splitfiction'] .hero h1 { font-size:clamp(3.1rem,12vw,4.8rem); }
 html[data-theme='splitfiction'] .hero-art { inset:65px 0 0; clip-path:none; background-position:60% center; }
 html[data-theme='splitfiction'] .hero::after { background:linear-gradient(90deg,#151128dd,#15112877),linear-gradient(0deg,#151128,transparent 65%); }
 html[data-theme='dota2'] .hero h1 { font-size:clamp(2.7rem,10.7vw,4.4rem); }
 html[data-theme='dota2'] .hero-art { background-position:63% center; }
 html[data-theme='halflife'] .topbar { padding-inline:0; }
 html[data-theme='halflife'] .hero-copy { width:calc(100% - 36px); }
 html[data-theme='halflife'] .hero-art { top:65px; }
 html[data-theme='halflife'] .hero h1 { font-size:clamp(2.65rem,10.5vw,4.5rem); }
 html[data-theme='pubg'] .hero h1 { font-size:clamp(3.1rem,12.3vw,5rem); }
 html[data-theme='pubg'] .hero::after { background:linear-gradient(90deg,#111d,#1117),linear-gradient(0deg,#111,transparent 60%); }
 html[data-theme='warhammer'] .hero-art { background-position:45% center; }
 html[data-theme='warhammer'] .hero::after { background:linear-gradient(90deg,#080f18e6,#080f1866),linear-gradient(0deg,#101824,transparent 60%); }
 html[data-theme='thefront'] .hero h1 { font-size:clamp(2rem,9.5vw,3.7rem); }
 html[data-theme='thefront'] .hero .eyebrow { letter-spacing:.12em; }
}
