/* GhostFlix year-round looks: Neon Arcade, Noir Cinema, Frosted Aurora, Cyber Ghost.
   Hooked on html[data-season=…] (set by theme-init.js before paint and season.js live).
   Accents come in through settings.js (LOOKS); scenery is injected into .bg #gfFx and #gfFxTop. */

/* ---------- shared plumbing ---------- */
:is(html[data-season=arcade],html[data-season=noir],html[data-season=aurora],html[data-season=terminal]) body{background:var(--bg)}
:is(html[data-season=arcade],html[data-season=noir],html[data-season=aurora],html[data-season=terminal]) #gfSpooky{display:none!important}
#gfFx{position:absolute;inset:0;overflow:hidden;pointer-events:none}
#gfFx>*{position:absolute;display:block;pointer-events:none}
#gfFxTop{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden}
#gfFxTop .fx-over{position:absolute;inset:0;display:block}
#gfGlow{position:fixed;left:0;top:0;width:var(--gs,320px);height:var(--gs,320px);margin:calc(var(--gs,320px) / -2) 0 0 calc(var(--gs,320px) / -2);border-radius:50%;opacity:0;transition:opacity .4s;display:none}
@media (hover:hover) and (pointer:fine){html[data-pumpkin] #gfGlow{display:block}html[data-pumpkin] #gfGlow.on{opacity:var(--go,.5)}}
html:not([data-bganim]) #gfFx *,html:not([data-bganim]) #gfFxTop *,html[data-motion=reduced] #gfFx *,html[data-motion=reduced] #gfFxTop *{animation:none!important}
@media (prefers-reduced-motion:reduce){#gfFx *,#gfFxTop *{animation:none!important}}
:is(html[data-season=arcade],html[data-season=noir],html[data-season=aurora],html[data-season=terminal]) .hero-in{position:relative}

/* =====================================================================
   1. NEON ARCADE — synthwave sky, perspective grid, chrome type
   ===================================================================== */
html[data-season=arcade]{--bg:#0d0322;--bg2:#160634;--card:#1a0a3a;--line:rgba(255,79,216,.24);--txt:#fff;--mute:#dccdf5;--dim:#b4a0dc;--r:4px;--gs:280px;--go:.55;color-scheme:dark}
html[data-season=arcade] body{font-family:"Exo 2",system-ui,sans-serif;color:var(--txt)}
html[data-season=arcade] .bg{background:radial-gradient(70vw 22vh at 50% 62%,rgba(255,79,216,.35),transparent 70%),linear-gradient(180deg,#05010f 0%,#14053a 40%,#3b0b63 61.5%,#0d0322 62%,#0d0322 100%)!important}
html[data-season=arcade] .fx-stars{inset:0 0 40% 0;background:radial-gradient(1.2px 1.2px at 20px 30px,#fff 98%,transparent),radial-gradient(1px 1px at 90px 80px,#ffd6fa 98%,transparent),radial-gradient(1.5px 1.5px at 150px 20px,#bff8ff 98%,transparent);background-size:180px 120px;opacity:.7;animation:arcTw 3s ease-in-out infinite alternate}
@keyframes arcTw{to{opacity:.35}}
html[data-season=arcade] .fx-sun{left:50%;top:calc(62% - 30vmin);width:40vmin;height:40vmin;translate:-50% 0;border-radius:50%;background:linear-gradient(180deg,#fff17a 0%,#ffb03d 40%,#ff4fd8 78%,#b02cff 100%);-webkit-mask:linear-gradient(#000 0 50%,transparent 50% 54%,#000 54% 61%,transparent 61% 66%,#000 66% 72%,transparent 72% 79%,#000 79% 86%,transparent 86%);mask:linear-gradient(#000 0 50%,transparent 50% 54%,#000 54% 61%,transparent 61% 66%,#000 66% 72%,transparent 72% 79%,#000 79% 86%,transparent 86%);opacity:.85}
html[data-season=arcade] .fx-mtn{left:0;right:0;bottom:38%;height:14vh;background:linear-gradient(180deg,#2a0a52,#14042e);clip-path:polygon(0 100%,0 62%,7% 40%,13% 58%,21% 18%,30% 64%,36% 46%,42% 70%,50% 100%,58% 70%,64% 38%,71% 60%,79% 12%,87% 52%,93% 34%,100% 58%,100% 100%)}
html[data-season=arcade] .fx-grid{left:-60%;right:-60%;top:62%;height:60%;transform-origin:50% 0;transform:perspective(26vh) rotateX(58deg);background:linear-gradient(transparent 0 calc(100% - 2px),rgba(255,79,216,.85) 0) 0 0/100% 46px,linear-gradient(90deg,transparent 0 calc(100% - 2px),rgba(34,232,255,.7) 0) 50% 0/60px 100%;-webkit-mask:linear-gradient(transparent,#000 22%);mask:linear-gradient(transparent,#000 22%);animation:arcGrid 1.1s linear infinite}
@keyframes arcGrid{to{background-position:0 46px,50% 0}}
html[data-season=arcade] .fx-over{background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);opacity:.55}
html[data-season=arcade] #gfGlow{background:radial-gradient(closest-side,rgba(255,79,216,.45),rgba(34,232,255,.18) 55%,transparent);mix-blend-mode:screen}
/* header */
html[data-season=arcade] .nav{background:linear-gradient(180deg,rgba(13,3,34,.92),rgba(13,3,34,.35))}
html[data-season=arcade] .nav.solid{background:rgba(13,3,34,.86);box-shadow:none}
html[data-season=arcade] .nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#ff4fd8 20%,#22e8ff 80%,transparent);box-shadow:0 0 14px rgba(255,79,216,.8);opacity:.9}
html[data-season=arcade] .logo .wm-img,html[data-season=arcade] .logo>img{filter:hue-rotate(95deg) saturate(1.6) drop-shadow(0 0 6px rgba(255,79,216,.6))}
html[data-season=arcade] .links a{font-family:Orbitron,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e7dcff}
html[data-season=arcade] .links a.on{color:#22e8ff;text-shadow:0 0 10px rgba(34,232,255,.8)}
html[data-season=arcade] .links a.on::after{background:linear-gradient(90deg,#ff4fd8,#22e8ff);border-radius:0;box-shadow:0 0 10px #ff4fd8}
html[data-season=arcade] .search{border-radius:4px;border:1px solid rgba(34,232,255,.45);background:rgba(13,3,34,.7);box-shadow:inset 0 0 12px rgba(34,232,255,.12)}
html[data-season=arcade] .search svg{stroke:#22e8ff}
html[data-season=arcade] :is(.theme-tgl,.burger){border-radius:6px;border-color:rgba(255,79,216,.55);background:rgba(13,3,34,.7);box-shadow:0 0 10px rgba(255,79,216,.25)}
html[data-season=arcade] .sso{border-radius:6px}
/* hero */
html[data-season=arcade] .hero-bg{opacity:.55}
html[data-season=arcade] .hero-bg img{filter:grayscale(1) contrast(1.25) brightness(.9)}
html[data-season=arcade] .hero.lowres .hero-bg img{filter:grayscale(1) blur(26px) brightness(.7) contrast(1.2)}
html[data-season=arcade] .hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ff4fd8,#6a2cff 50%,#22e8ff);mix-blend-mode:color;opacity:.75}
html[data-season=arcade] .hero::before{background:linear-gradient(90deg,rgba(13,3,34,.9) 0%,rgba(13,3,34,.5) 42%,rgba(13,3,34,0) 72%),linear-gradient(0deg,var(--bg) 0%,rgba(13,3,34,0) 40%)}
html[data-season=arcade] .hero h1{font-family:Orbitron,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;font-size:clamp(30px,4.4vw,62px);background:linear-gradient(180deg,#fff 0%,#ffe3fb 40%,#ff7be3 56%,#9b3cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 16px rgba(255,79,216,.55));overflow-wrap:break-word}
html[data-season=arcade] .kicker{font-family:Orbitron,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#22e8ff;text-shadow:0 0 10px rgba(34,232,255,.7)}
html[data-season=arcade] .hero p.ov{color:#eee6ff}
html[data-season=arcade] .chip{border-radius:2px;transform:skewX(-10deg);border-color:rgba(34,232,255,.5);color:#bff8ff;background:rgba(34,232,255,.08)}
html[data-season=arcade] .hero-poster{border-radius:4px;box-shadow:0 0 0 2px #ff4fd8,0 0 0 5px rgba(13,3,34,.9),0 0 0 6px rgba(34,232,255,.7),0 0 50px rgba(255,79,216,.45);transform:perspective(900px) rotateY(-8deg)}
html[data-season=arcade] .hero-poster.art::before{background:linear-gradient(180deg,rgba(255,79,216,.35),rgba(106,44,255,.1) 45%,rgba(13,3,34,.92) 90%)}
html[data-season=arcade] .hero-dots button,html[data-season=arcade] .hero-dots i{border-radius:0;transform:skewX(-20deg)}
/* buttons */
html[data-season=arcade] .btn{font-family:Orbitron,sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;transform:skewX(-10deg);transition:transform .2s,box-shadow .25s,background-position .5s,filter .2s}
html[data-season=arcade] .btn:hover{transform:skewX(-10deg) translateY(-2px)}
html[data-season=arcade] .btn:active{transform:skewX(-10deg) scale(.97)}
html[data-season=arcade] :is(.btn.play,.btn.glow,.btn.cta){background:linear-gradient(90deg,#ff4fd8,#ff9a3d,#ff4fd8) 0 0/200% 100%;color:#1a0030;border:0;box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 0 22px rgba(255,79,216,.55)}
html[data-season=arcade] :is(.btn.play,.btn.glow,.btn.cta):hover{background-position:100% 0;box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 0 34px rgba(255,79,216,.8),0 0 60px rgba(34,232,255,.25)}
html[data-season=arcade] :is(.btn.ghost,.btn.icon,.btn.dark){background:rgba(13,3,34,.6);color:#d9fbff;border:2px solid #22e8ff;box-shadow:0 0 14px rgba(34,232,255,.35),inset 0 0 10px rgba(34,232,255,.2)}
html[data-season=arcade] :is(.btn.ghost,.btn.icon,.btn.dark):hover{background:rgba(34,232,255,.16)}
/* rows + cards */
html[data-season=arcade] .row-h h2,html[data-season=arcade] .sec>h2,html[data-season=arcade] .page h1{font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#fff;text-shadow:0 0 12px rgba(255,79,216,.65)}
html[data-season=arcade] .row-h h2{font-size:clamp(14px,1.4vw,18px)}
html[data-season=arcade] .row-h h2::before{content:"";display:inline-block;width:8px;height:1em;margin-right:10px;vertical-align:-2px;background:linear-gradient(#22e8ff,#ff4fd8);transform:skewX(-14deg);box-shadow:0 0 10px #22e8ff}
html[data-season=arcade] .card .pic{border-radius:0;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));box-shadow:none;background:linear-gradient(135deg,#2a0b55,#0d0322)}
html[data-season=arcade] .card .pic::before{content:"";position:absolute;left:0;right:0;top:-30%;height:30%;z-index:3;background:linear-gradient(180deg,transparent,rgba(34,232,255,.35),transparent);opacity:0;pointer-events:none}
html[data-season=arcade] .card .info b{font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
html[data-season=arcade] .card .acts :is(button,a){border-radius:4px;border-color:#22e8ff}
html[data-season=arcade] .card .acts .p{background:#ff4fd8;border-color:#ff4fd8;color:#1a0030}
@media (hover:hover){
html[data-season=arcade] .card:hover{transform:perspective(700px) rotateY(-9deg) rotateX(4deg) scale(1.1);filter:drop-shadow(0 0 2px #22e8ff) drop-shadow(0 0 10px rgba(255,79,216,.85))}
html[data-season=arcade] .card:hover .pic{box-shadow:none}
html[data-season=arcade] .card:hover .pic::before{opacity:1;animation:arcScan 1.1s linear infinite}
html[data-season=arcade] .gtile:hover{transform:skewX(-4deg) translateY(-3px)}}
@keyframes arcScan{to{top:100%}}
html[data-season=arcade] .card.top .num{font-family:Orbitron,sans-serif;color:transparent;-webkit-text-stroke:2px #ff4fd8;text-shadow:0 0 18px rgba(255,79,216,.6)}
html[data-season=arcade] .gtile{border-radius:0;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
html[data-season=arcade] .gtile::before{background:linear-gradient(200deg,transparent 20%,rgba(13,3,34,.92) 92%),linear-gradient(120deg,rgba(255,79,216,.55),rgba(34,232,255,.2) 62%,transparent)}
html[data-season=arcade] .gtile img{filter:grayscale(.6) contrast(1.1)}
html[data-season=arcade] .gtile .gt-n{font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:19px}
html[data-season=arcade] :is(.pill,.seg button,.seg a){border-radius:3px;font-family:Orbitron,sans-serif;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
html[data-season=arcade] .pill.on{background:linear-gradient(90deg,#ff4fd8,#ff9a3d);color:#1a0030;border-color:transparent}
html[data-season=arcade] :is(.facts,.set-group,.tile){background:rgba(26,10,58,.72);border:1px solid rgba(255,79,216,.25);border-radius:4px}
html[data-season=arcade] .skel{background:linear-gradient(100deg,#1a0a3a 30%,#3a1270 50%,#1a0a3a 70%) 0 0/300% 100%}
/* dock + footer */
html[data-season=arcade] .dock{border-radius:8px;background:rgba(20,6,45,.88);border-color:rgba(255,79,216,.45);box-shadow:0 0 24px rgba(255,79,216,.25)}
html[data-season=arcade] .dock a{border-radius:5px}
html[data-season=arcade] .dock a.on{background:linear-gradient(90deg,#ff4fd8,#ff9a3d);color:#1a0030;box-shadow:0 0 18px rgba(255,79,216,.55)}
html[data-season=arcade] .dock a.on span{font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
html[data-season=arcade] .foot{position:relative;border-top:0;background:linear-gradient(0deg,rgba(255,79,216,.1),transparent)}
html[data-season=arcade] .foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#22e8ff,#ff4fd8,#22e8ff);box-shadow:0 0 14px #ff4fd8}
html[data-season=arcade] .foot a{color:#bff8ff}

/* =====================================================================
   2. NOIR CINEMA — black & ivory, gold rules, film grain, marquee bulbs
   ===================================================================== */
html[data-season=noir]{--bg:#0a0a0a;--bg2:#121212;--card:#151515;--line:rgba(227,194,107,.24);--txt:#f3eee2;--mute:#cfc7b3;--dim:#a89f8b;--r:2px;--gs:520px;--go:1;color-scheme:dark}
html[data-season=noir] body{font-family:Lora,Georgia,serif;color:var(--txt)}
html[data-season=noir] .bg{background:radial-gradient(1100px 650px at 50% -12%,#2b2720 0%,#0a0a0a 62%)!important}
html[data-season=noir] .fx-beam{top:-12%;right:-6%;width:78vw;height:125vh;background:linear-gradient(205deg,rgba(255,240,205,.13),rgba(255,240,205,.03) 55%,transparent 75%);clip-path:polygon(88% 0,100% 0,38% 100%,0 100%);filter:blur(6px);animation:noirBeam 7s ease-in-out infinite alternate}
@keyframes noirBeam{0%{opacity:.75}48%{opacity:.95}50%{opacity:.7}100%{opacity:1}}
html[data-season=noir] .fx-dust{inset:-10% 0 0 0;background:radial-gradient(1.4px 1.4px at 30px 40px,rgba(255,240,205,.55),transparent),radial-gradient(1px 1px at 120px 150px,rgba(255,240,205,.4),transparent),radial-gradient(1.8px 1.8px at 200px 70px,rgba(255,240,205,.3),transparent);background-size:240px 220px;animation:noirDust 40s linear infinite;opacity:.6}
@keyframes noirDust{to{transform:translate3d(-60px,-220px,0)}}
html[data-season=noir] .fx-vig{inset:0;background:radial-gradient(130% 100% at 50% 40%,transparent 55%,rgba(0,0,0,.75))}
html[data-season=noir] .fx-over{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.07;inset:-40px!important;animation:noirGrain .5s steps(4) infinite}
html[data-season=noir] .fx-over::after{content:"";position:absolute;top:0;bottom:0;left:37%;width:1px;background:rgba(255,248,230,.5);animation:noirScratch 5s steps(1) infinite}
@keyframes noirGrain{0%{transform:translate(0,0)}25%{transform:translate(-14px,9px)}50%{transform:translate(10px,-12px)}75%{transform:translate(-6px,-4px)}}
@keyframes noirScratch{0%{left:37%;opacity:.0}10%{left:61%;opacity:1}14%{opacity:0}50%{left:22%;opacity:.8}53%{opacity:0}}
html[data-season=noir] #gfGlow{background:radial-gradient(closest-side,rgba(255,236,190,.11),rgba(255,236,190,.04) 60%,transparent);mix-blend-mode:screen}
/* header: marquee bulbs */
html[data-season=noir] .nav{background:linear-gradient(180deg,rgba(6,6,6,.96),rgba(6,6,6,.55))}
html[data-season=noir] .nav.solid{background:rgba(8,8,8,.92);box-shadow:none}
html[data-season=noir] .nav::before,html[data-season=noir] .nav::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:6px;pointer-events:none;background:radial-gradient(circle,#fff1c4 0 1.4px,rgba(255,206,110,.45) 2.4px,transparent 3.4px) 0 50%/18px 6px repeat-x}
html[data-season=noir] .nav::before{border-top:1px solid rgba(227,194,107,.55);bottom:-5px;background-position:0 2px}
html[data-season=noir] .nav::after{background-position:9px 2px;opacity:.25;animation:noirBulb 1s steps(1) infinite}
@keyframes noirBulb{50%{opacity:1}}
html[data-season=noir] .logo .wm-img,html[data-season=noir] .logo>img{filter:grayscale(1) sepia(1) saturate(1.7) brightness(1.08) drop-shadow(0 0 6px rgba(227,194,107,.35))}
html[data-season=noir] .links a{font-family:Lora,serif;font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#d9d1bd}
html[data-season=noir] .links a.on{color:#e3c26b}
html[data-season=noir] .links a.on::after{height:1px;background:#e3c26b;box-shadow:none;border-radius:0}
html[data-season=noir] .search{border-radius:0;border:1px solid rgba(227,194,107,.35);background:rgba(0,0,0,.6)}
html[data-season=noir] .search svg{stroke:#e3c26b}
html[data-season=noir] .search input{font-style:italic}
html[data-season=noir] :is(.theme-tgl,.burger){border-radius:0;border-color:rgba(227,194,107,.45);background:rgba(0,0,0,.6)}
html[data-season=noir] .sso{border-radius:0}
html[data-season=noir] .sso.d{background:#2a2a2a;box-shadow:inset 0 0 0 1px rgba(227,194,107,.5)}
/* hero */
html[data-season=noir] .hero-bg img{filter:grayscale(1) contrast(1.3) brightness(.78)}
html[data-season=noir] .hero.lowres .hero-bg img{filter:grayscale(1) blur(22px) brightness(.55) contrast(1.3)}
html[data-season=noir] .hero .hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 520px at 72% 30%,rgba(255,236,190,.14),transparent 65%)}
html[data-season=noir] .hero::before{background:linear-gradient(90deg,rgba(6,6,6,.95) 0%,rgba(6,6,6,.6) 40%,rgba(6,6,6,0) 72%),linear-gradient(0deg,var(--bg) 0%,rgba(6,6,6,0) 40%)}
html[data-season=noir] .hero h1{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:900;letter-spacing:-.005em;line-height:1.02;font-size:clamp(36px,5.4vw,80px);color:#f7f0dc;text-shadow:0 2px 0 #000,0 0 40px rgba(227,194,107,.22)}
html[data-season=noir] .hero h1::after{content:"";display:block;width:min(160px,40%);height:1px;margin-top:16px;background:linear-gradient(90deg,#e3c26b,transparent);box-shadow:0 4px 0 -0px rgba(227,194,107,.35)}
html[data-season=noir] .kicker{font-family:Limelight,serif;letter-spacing:.24em;text-transform:uppercase;color:#e3c26b;font-weight:400}
html[data-season=noir] .hero p.ov{font-style:italic;color:#e4ddcb}
html[data-season=noir] .chip{border-radius:0;border-color:rgba(227,194,107,.55);color:#e3c26b;background:transparent;font-variant:small-caps;letter-spacing:.08em}
html[data-season=noir] .hero-poster{border-radius:0;box-shadow:0 0 0 1px #e3c26b,0 0 0 7px #0a0a0a,0 0 0 8px rgba(227,194,107,.45),0 40px 80px rgba(0,0,0,.85)}
html[data-season=noir] .hero-poster img{filter:grayscale(1) contrast(1.15)}
html[data-season=noir] .hero-poster.art::before{background:linear-gradient(180deg,rgba(227,194,107,.18),rgba(0,0,0,.1) 45%,rgba(0,0,0,.92) 90%)}
html[data-season=noir] .art-t b{font-family:"Playfair Display",serif;font-style:italic;text-transform:none;letter-spacing:0}
html[data-season=noir] .art-t small{color:#e3c26b;font-family:Lora,serif}
html[data-season=noir] .hero-dots :is(button,i){border-radius:0}
/* buttons: square, double gold rule */
html[data-season=noir] .btn{font-family:Lora,serif;font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;border-radius:0;border:1px solid rgba(227,194,107,.7);background:rgba(0,0,0,.45);color:#f3e6c4;box-shadow:inset 0 0 0 3px #0a0a0a,inset 0 0 0 4px rgba(227,194,107,.35);transition:background .3s,box-shadow .3s,color .3s}
html[data-season=noir] .btn:hover{background:rgba(227,194,107,.14);transform:none}
html[data-season=noir] :is(.btn.play,.btn.glow,.btn.cta){background:linear-gradient(180deg,#f4dc93,#c79a3c);color:#140f04;border-color:#f4dc93;box-shadow:inset 0 0 0 3px #e9c873,inset 0 0 0 4px rgba(20,15,4,.55),0 10px 30px rgba(0,0,0,.6)}
html[data-season=noir] :is(.btn.play,.btn.glow,.btn.cta):hover{background:linear-gradient(180deg,#fff0b8,#d9ab4a);box-shadow:inset 0 0 0 3px #f0d488,inset 0 0 0 4px rgba(20,15,4,.55),0 0 34px rgba(227,194,107,.35)}
/* rows + cards */
html[data-season=noir] .row-h h2,html[data-season=noir] .sec>h2,html[data-season=noir] .page h1{font-family:"Playfair Display",serif;font-style:italic;font-weight:700;color:#f7f0dc;letter-spacing:0}
html[data-season=noir] .row-h h2{font-size:clamp(19px,1.8vw,25px)}
html[data-season=noir] .row-h h2::before{content:"✦";font-style:normal;font-size:.55em;color:#e3c26b;margin-right:10px;vertical-align:.25em}
html[data-season=noir] .card .pic{border-radius:0;box-shadow:0 0 0 1px rgba(227,194,107,.3);background:#141414}
html[data-season=noir] .card img{filter:grayscale(1) contrast(1.08) brightness(.92);transition:filter .6s,transform .6s var(--ease)}
html[data-season=noir] .card .pic::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 35%,rgba(255,240,205,.22) 50%,transparent 65%) -150% 0/250% 100% no-repeat;transition:background-position .9s;pointer-events:none}
html[data-season=noir] .card .info b{font-family:"Playfair Display",serif;font-style:italic;font-size:14px}
html[data-season=noir] .card .acts :is(button,a){border-radius:0;border-color:rgba(227,194,107,.6)}
html[data-season=noir] .card .acts .p{background:#e3c26b;border-color:#e3c26b}
@media (hover:hover){
html[data-season=noir] .card:hover{transform:translateY(-6px) scale(1.06)}
html[data-season=noir] .card:hover .pic{box-shadow:0 0 0 1px #e3c26b,0 0 0 5px #0a0a0a,0 0 0 6px rgba(227,194,107,.55),0 24px 50px rgba(0,0,0,.85)}
html[data-season=noir] .card:hover img{filter:grayscale(.15) sepia(.35) contrast(1.05)}
html[data-season=noir] .card:hover .pic::before{background-position:150% 0}}
html[data-season=noir] .card.top .num{font-family:"Playfair Display",serif;font-style:italic;color:transparent;-webkit-text-stroke:1.5px #e3c26b}
html[data-season=noir] .gtile{border-radius:0;box-shadow:0 0 0 1px rgba(227,194,107,.35)}
html[data-season=noir] .gtile img{filter:grayscale(1) contrast(1.1) brightness(.85)}
html[data-season=noir] .gtile::before{background:linear-gradient(200deg,transparent 20%,rgba(0,0,0,.92) 92%),linear-gradient(120deg,rgba(227,194,107,.18),transparent 62%)}
html[data-season=noir] .gtile .gt-n{font-family:"Playfair Display",serif;font-style:italic;font-size:24px}
html[data-season=noir] .gtile:hover{box-shadow:0 0 0 1px #e3c26b,0 0 0 5px #0a0a0a,0 0 0 6px rgba(227,194,107,.5)}
html[data-season=noir] .gtile:hover img{filter:grayscale(.2) sepia(.4)}
html[data-season=noir] :is(.pill,.seg button,.seg a){border-radius:0;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
html[data-season=noir] .pill.on{background:#e3c26b;color:#140f04;border-color:#e3c26b}
html[data-season=noir] :is(.facts,.set-group,.tile){background:rgba(16,16,16,.85);border:1px solid rgba(227,194,107,.22);border-radius:0}
html[data-season=noir] .skel{background:linear-gradient(100deg,#151515 30%,#2a2721 50%,#151515 70%) 0 0/300% 100%}
/* dock + footer */
html[data-season=noir] .dock{border-radius:0;background:rgba(8,8,8,.92);border-color:rgba(227,194,107,.45)}
html[data-season=noir] .dock a{border-radius:0}
html[data-season=noir] .dock a.on{background:linear-gradient(180deg,#f4dc93,#c79a3c);color:#140f04;box-shadow:none}
html[data-season=noir] .dock a.on span{letter-spacing:.12em;text-transform:uppercase;font-size:12.5px}
html[data-season=noir] .foot{border-top:3px double rgba(227,194,107,.45);text-align:center}
html[data-season=noir] .foot-in{margin:0 auto}
html[data-season=noir] .foot::before{content:"✦  The End  ✦";display:block;margin-bottom:16px;font-family:Limelight,serif;font-size:18px;letter-spacing:.3em;text-transform:uppercase;color:#e3c26b}
html[data-season=noir] .foot a{color:#e3c26b;text-decoration-color:rgba(227,194,107,.35)}

/* =====================================================================
   3. FROSTED AURORA — northern lights, glass panels, floating pill UI
   ===================================================================== */
html[data-season=aurora]{--bg:#0a0f24;--bg2:#10183a;--card:rgba(255,255,255,.06);--line:rgba(255,255,255,.16);--txt:#fff;--mute:#cdd4ee;--dim:#a3add2;--r:20px;--gs:380px;--go:.9;color-scheme:dark}
html[data-season=aurora] body{font-family:Nunito,system-ui,sans-serif;color:var(--txt)}
html[data-season=aurora] .bg{background:linear-gradient(180deg,#060a1c 0%,#0c1534 55%,#0a0f24 100%)!important}
html[data-season=aurora] .fx-a1,html[data-season=aurora] .fx-a2,html[data-season=aurora] .fx-a3{width:90vmax;height:46vmax;border-radius:50%}
html[data-season=aurora] .fx-a1{left:-30vmax;top:-18vmax;background:radial-gradient(closest-side,rgba(60,240,192,.42),rgba(60,240,192,.12) 55%,transparent);transform:rotate(-14deg);animation:auA 22s ease-in-out infinite alternate}
html[data-season=aurora] .fx-a2{right:-34vmax;top:-10vmax;background:radial-gradient(closest-side,rgba(139,92,246,.45),rgba(139,92,246,.12) 55%,transparent);transform:rotate(12deg);animation:auB 26s ease-in-out infinite alternate}
html[data-season=aurora] .fx-a3{left:10vmax;top:30vh;background:radial-gradient(closest-side,rgba(244,114,182,.22),rgba(56,189,248,.1) 55%,transparent);animation:auA 30s ease-in-out infinite alternate-reverse}
@keyframes auA{to{transform:translate3d(14vw,8vh,0) rotate(6deg) scale(1.15)}}
@keyframes auB{to{transform:translate3d(-16vw,10vh,0) rotate(-8deg) scale(1.2)}}
html[data-season=aurora] .fx-stars{inset:0;background:radial-gradient(1.2px 1.2px at 40px 60px,#fff,transparent),radial-gradient(1px 1px at 160px 30px,#dff,transparent),radial-gradient(1px 1px at 230px 140px,#fff,transparent);background-size:260px 200px;opacity:.55;animation:arcTw 4s ease-in-out infinite alternate}
html[data-season=aurora] .fx-over{display:none!important}
html[data-season=aurora] #gfGlow{background:radial-gradient(closest-side,rgba(124,245,208,.16),rgba(167,139,250,.08) 55%,transparent);mix-blend-mode:screen}
/* floating glass header */
html[data-season=aurora] .nav,html[data-season=aurora] .nav.solid{top:10px;left:10px;right:10px;height:60px;border-radius:22px;padding:0 max(10px,calc(var(--pad) - 10px));background:rgba(18,26,62,.42);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.13);box-shadow:0 10px 30px rgba(0,0,0,.25)}
html[data-season=aurora] .nav.solid{background:rgba(18,26,62,.72)}
@media (max-width:760px){html[data-season=aurora] .nav,html[data-season=aurora] .nav.solid{top:8px;left:8px;right:8px;height:54px;border-radius:18px;padding:0 8px}}
html[data-season=aurora] .logo .wm-img,html[data-season=aurora] .logo>img{filter:hue-rotate(-25deg) saturate(1.1) drop-shadow(0 0 10px rgba(124,245,208,.35))}
html[data-season=aurora] .links a{font-family:Outfit,sans-serif;font-size:14.5px;font-weight:500;padding:6px 12px;border-radius:999px}
html[data-season=aurora] .links{gap:6px}
html[data-season=aurora] .links a.on{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
html[data-season=aurora] .links a.on::after{display:none}
html[data-season=aurora] .search{border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07)}
html[data-season=aurora] :is(.theme-tgl,.burger){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
/* hero */
html[data-season=aurora] .hero-bg{opacity:.5}
html[data-season=aurora] .hero-bg img{filter:saturate(1.15) brightness(.9)}
html[data-season=aurora] .hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(60,240,192,.35),rgba(139,92,246,.35));mix-blend-mode:soft-light}
html[data-season=aurora] .hero::before{background:linear-gradient(0deg,var(--bg) 0%,rgba(10,15,36,0) 45%),linear-gradient(90deg,rgba(10,15,36,.55),rgba(10,15,36,0) 70%)}
html[data-season=aurora] .hero-in{padding:26px 28px;border-radius:28px;background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.3)}
@media (max-width:760px){html[data-season=aurora] .hero-in{padding:18px;border-radius:22px}}
html[data-season=aurora] .hero h1{font-family:Outfit,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.02;background:linear-gradient(90deg,#fff 0%,#c9fff0 45%,#dccfff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
html[data-season=aurora] .kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(124,245,208,.12);border:1px solid rgba(124,245,208,.35);color:#a8ffe6;letter-spacing:.1em;font-family:Outfit,sans-serif}
html[data-season=aurora] .hero p.ov{color:#e6ebff}
html[data-season=aurora] .chip{border-radius:999px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
html[data-season=aurora] .hero-poster{border-radius:28px;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 30px 80px rgba(0,0,0,.45),0 0 80px rgba(124,245,208,.25);animation:auFloat 6s ease-in-out infinite alternate}
@keyframes auFloat{to{translate:0 -10px}}
html[data-season=aurora] .hero-poster.art::before{background:linear-gradient(180deg,rgba(124,245,208,.28),rgba(139,92,246,.12) 45%,rgba(10,15,36,.92) 90%)}
html[data-season=aurora] .art-t b{font-family:Outfit,sans-serif}
/* buttons: pills */
html[data-season=aurora] .btn{font-family:Outfit,sans-serif;font-weight:600;border-radius:999px;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
html[data-season=aurora] .btn:hover{transform:translateY(-2px)}
html[data-season=aurora] :is(.btn.play,.btn.glow,.btn.cta){background:linear-gradient(120deg,#7cf5d0,#a78bfa);color:#0a0f24;border:0;box-shadow:0 10px 30px rgba(124,245,208,.3)}
html[data-season=aurora] :is(.btn.play,.btn.glow,.btn.cta):hover{box-shadow:0 14px 40px rgba(167,139,250,.45)}
html[data-season=aurora] :is(.btn.ghost,.btn.icon,.btn.dark){background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* rows + cards */
html[data-season=aurora] .row-h h2,html[data-season=aurora] .sec>h2,html[data-season=aurora] .page h1{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.01em}
html[data-season=aurora] .row-h h2::before{content:"";display:inline-block;width:22px;height:8px;border-radius:99px;margin-right:10px;vertical-align:.18em;background:linear-gradient(90deg,#7cf5d0,#a78bfa);box-shadow:0 0 12px rgba(124,245,208,.6)}
html[data-season=aurora] .card .pic{border-radius:20px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 10px 28px rgba(0,0,0,.35)}
html[data-season=aurora] .card .pic::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 62%) -160% 0/250% 100% no-repeat;transition:background-position .9s var(--ease)}
html[data-season=aurora] .card .info b{font-family:Outfit,sans-serif}
@media (hover:hover){
html[data-season=aurora] .card:hover{transform:translateY(-10px) scale(1.06)}
html[data-season=aurora] .card:hover .pic{box-shadow:0 0 0 1px rgba(255,255,255,.45),0 24px 50px rgba(0,0,0,.45),0 0 40px rgba(124,245,208,.3)}
html[data-season=aurora] .card:hover .pic::before{background-position:160% 0}}
html[data-season=aurora] .card .pic::after{background:linear-gradient(0deg,rgba(10,15,36,.95) 0%,rgba(10,15,36,.35) 45%,transparent 62%)}
html[data-season=aurora] .card.top .num{font-family:Outfit,sans-serif;color:transparent;-webkit-text-stroke:2px rgba(124,245,208,.85)}
html[data-season=aurora] .gtile{border-radius:24px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
html[data-season=aurora] .gtile::before{background:linear-gradient(200deg,transparent 25%,rgba(10,15,36,.9) 92%),linear-gradient(120deg,hsl(var(--gh) 85% 65% / .4),transparent 62%)}
html[data-season=aurora] .gtile .gt-n{font-family:Outfit,sans-serif}
html[data-season=aurora] :is(.pill,.seg){border-radius:999px}
html[data-season=aurora] .pill{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
html[data-season=aurora] .pill.on{background:linear-gradient(120deg,#7cf5d0,#a78bfa);color:#0a0f24;border-color:transparent}
html[data-season=aurora] :is(.facts,.set-group,.tile){background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.13);border-radius:22px}
html[data-season=aurora] .skel{background:linear-gradient(100deg,rgba(255,255,255,.05) 30%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.05) 70%) 0 0/300% 100%;border-radius:20px}
/* dock + footer */
html[data-season=aurora] .dock{background:rgba(18,26,62,.55);border-color:rgba(255,255,255,.16)}
html[data-season=aurora] .dock a.on{background:linear-gradient(120deg,#7cf5d0,#a78bfa);color:#0a0f24;box-shadow:0 0 22px rgba(124,245,208,.35)}
html[data-season=aurora] .foot{margin:30px var(--pad) 0;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-left:28px;padding-right:28px}
html[data-season=aurora] .foot a{color:#a8ffe6}
@media (max-width:760px){html[data-season=aurora] .foot{margin:24px 10px 0;padding-left:18px;padding-right:18px;border-radius:20px 20px 0 0}}

/* =====================================================================
   4. CYBER GHOST — green phosphor terminal, glyph rain, CRT scanlines
   ===================================================================== */
html[data-season=terminal]{--bg:#020a05;--bg2:#04140a;--card:#03120a;--line:rgba(57,255,136,.26);--txt:#d8ffe6;--mute:#9de9b9;--dim:#74c998;--r:0px;--gs:240px;--go:.6;color-scheme:dark}
html[data-season=terminal] body{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;color:var(--txt)}
html[data-season=terminal] .bg{background:radial-gradient(120% 90% at 50% 30%,#06200f 0%,#020a05 70%)!important}
html[data-season=terminal] .fx-rain{inset:0;width:100%;height:100%;opacity:.22}
html[data-season=terminal] .fx-glow{inset:0;background:radial-gradient(120% 100% at 50% 50%,transparent 50%,rgba(0,0,0,.7))}
html[data-season=terminal] .fx-over{background:repeating-linear-gradient(0deg,rgba(0,0,0,.24) 0 1px,transparent 1px 3px);opacity:.6}
html[data-season=terminal] .fx-over::after{content:"";position:absolute;left:0;right:0;height:140px;top:-140px;background:linear-gradient(180deg,transparent,rgba(57,255,136,.05),transparent);animation:termBar 9s linear infinite}
@keyframes termBar{to{top:100%}}
html[data-season=terminal] #gfGlow{background:radial-gradient(closest-side,rgba(57,255,136,.3),rgba(57,255,136,.08) 55%,transparent);mix-blend-mode:screen}
/* header */
html[data-season=terminal] .nav{background:linear-gradient(180deg,rgba(2,10,5,.96),rgba(2,10,5,.6));border-bottom:1px solid rgba(57,255,136,.3)}
html[data-season=terminal] .nav.solid{background:rgba(2,10,5,.94);box-shadow:none}
html[data-season=terminal] .logo .wm-img,html[data-season=terminal] .logo>img{filter:grayscale(1) sepia(1) hue-rotate(75deg) saturate(3.5) brightness(1.05) drop-shadow(0 0 6px rgba(57,255,136,.55))}
html[data-season=terminal] .links{gap:8px}
html[data-season=terminal] .links a{font-size:12.5px;text-transform:lowercase;color:#9de9b9;padding:3px 6px}
html[data-season=terminal] .links a::before{content:"./";color:rgba(57,255,136,.5)}
html[data-season=terminal] .links a:hover{color:#39ff88}
html[data-season=terminal] .links a.on{background:#39ff88;color:#021006;font-weight:700}
html[data-season=terminal] .links a.on::before{color:#04381a}
html[data-season=terminal] .links a.on::after{display:none}
html[data-season=terminal] .search{border-radius:0;border:1px solid rgba(57,255,136,.45);background:rgba(2,10,5,.8)}
html[data-season=terminal] .search svg{stroke:#39ff88}
html[data-season=terminal] .search input{color:#39ff88;caret-color:#39ff88}
html[data-season=terminal] :is(.theme-tgl,.burger){border-radius:0;border-color:rgba(57,255,136,.5);background:rgba(2,10,5,.8)}
html[data-season=terminal] .burger i,html[data-season=terminal] .burger span{border-radius:0}
html[data-season=terminal] .sso{border-radius:0}
/* hero */
html[data-season=terminal] .hero-bg img{filter:grayscale(1) contrast(1.35) brightness(.6)}
html[data-season=terminal] .hero.lowres .hero-bg img{filter:grayscale(1) blur(20px) brightness(.5) contrast(1.4)}
html[data-season=terminal] .hero .hero-bg::after{content:"";position:absolute;inset:0;background:#39ff88;mix-blend-mode:multiply;opacity:.55}
html[data-season=terminal] .hero::before{background:linear-gradient(90deg,rgba(2,10,5,.95) 0%,rgba(2,10,5,.6) 42%,rgba(2,10,5,.05) 75%),linear-gradient(0deg,var(--bg) 0%,rgba(2,10,5,0) 40%)}
html[data-season=terminal] .hero-in::before{content:"ghost@flix:~$ ./play --featured";display:block;margin-bottom:10px;font-size:12.5px;color:#74c998;overflow-wrap:anywhere}
html[data-season=terminal] .hero h1{font-family:VT323,ui-monospace,monospace;font-weight:400;line-height:.92;font-size:clamp(46px,6.6vw,96px);letter-spacing:.01em;color:#39ff88;text-shadow:0 0 8px rgba(57,255,136,.55),0 0 26px rgba(57,255,136,.25)}
html[data-season=terminal] .hero h1::after{content:"";display:inline-block;width:.45em;height:.75em;margin-left:.12em;vertical-align:-.04em;background:#39ff88;box-shadow:0 0 10px #39ff88;animation:termCaret 1.05s steps(1) infinite}
@keyframes termCaret{50%{opacity:0}}
html[data-season=terminal] .kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#39ff88}
html[data-season=terminal] .kicker::before{content:">";margin-right:2px}
html[data-season=terminal] .hero p.ov{color:#c4f7d6;font-size:14px;line-height:1.65}
html[data-season=terminal] .chip{border-radius:0;border-color:rgba(57,255,136,.55);color:#39ff88;background:rgba(57,255,136,.08)}
html[data-season=terminal] .hero-poster{border-radius:0;box-shadow:0 0 0 1px #39ff88,0 0 30px rgba(57,255,136,.35),0 30px 80px rgba(0,0,0,.7)}
html[data-season=terminal] .hero-poster img{filter:grayscale(1) contrast(1.2) brightness(.85) sepia(1) hue-rotate(70deg) saturate(2.2)}
html[data-season=terminal] .hero-poster.art::before{background:linear-gradient(180deg,rgba(57,255,136,.25),rgba(0,194,168,.08) 45%,rgba(2,10,5,.94) 90%)}
html[data-season=terminal] .art-t b{font-family:VT323,monospace;font-weight:400;font-size:clamp(18px,1.6vw,24px);letter-spacing:.02em;color:#c4ffd9}
html[data-season=terminal] .art-t small{color:#39ff88}
html[data-season=terminal] .hero-dots :is(button,i){border-radius:0}
/* buttons: [ bracketed ] */
html[data-season=terminal] .btn{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border-radius:0;border:1px solid #39ff88;background:rgba(2,10,5,.75);color:#39ff88;transition:background .12s,color .12s,box-shadow .2s}
html[data-season=terminal] .btn:not(.icon)::before{content:"[";opacity:.7}
html[data-season=terminal] .btn:not(.icon)::after{content:"]";opacity:.7}
html[data-season=terminal] .btn:hover{background:#39ff88;color:#021006;box-shadow:0 0 22px rgba(57,255,136,.5);transform:none}
html[data-season=terminal] :is(.btn.play,.btn.glow,.btn.cta){background:#39ff88;color:#021006;box-shadow:0 0 18px rgba(57,255,136,.4)}
html[data-season=terminal] :is(.btn.play,.btn.glow,.btn.cta):hover{background:#021006;color:#39ff88;animation:termGlitch .28s steps(2) 1}
@keyframes termGlitch{0%{transform:translate(2px,-1px);box-shadow:-2px 0 #ff2a6d,2px 0 #00c2a8}50%{transform:translate(-2px,1px)}100%{transform:none}}
/* rows + cards */
html[data-season=terminal] .row-h h2,html[data-season=terminal] .sec>h2,html[data-season=terminal] .page h1{font-family:VT323,monospace;font-weight:400;color:#39ff88;letter-spacing:.02em;text-shadow:0 0 8px rgba(57,255,136,.4)}
html[data-season=terminal] .row-h h2{font-size:clamp(22px,2vw,28px)}
html[data-season=terminal] .page h1{font-size:clamp(34px,4vw,52px)}
html[data-season=terminal] .row-h h2::before{content:"$ ";color:#74c998}
html[data-season=terminal] .page h1::before{content:"// ";color:#74c998}
html[data-season=terminal] .card .pic{border-radius:0;box-shadow:0 0 0 1px rgba(57,255,136,.35);background:#03120a}
html[data-season=terminal] .card img{filter:grayscale(1) contrast(1.15) brightness(.85) sepia(1) hue-rotate(70deg) saturate(1.8);transition:filter .15s}
html[data-season=terminal] .card:not(.top)::before{content:"";position:absolute;inset:-5px;z-index:8;pointer-events:none;opacity:0;transition:opacity .15s;background:linear-gradient(#39ff88,#39ff88) 0 0/12px 2px,linear-gradient(#39ff88,#39ff88) 0 0/2px 12px,linear-gradient(#39ff88,#39ff88) 100% 0/12px 2px,linear-gradient(#39ff88,#39ff88) 100% 0/2px 12px,linear-gradient(#39ff88,#39ff88) 0 100%/12px 2px,linear-gradient(#39ff88,#39ff88) 0 100%/2px 12px,linear-gradient(#39ff88,#39ff88) 100% 100%/12px 2px,linear-gradient(#39ff88,#39ff88) 100% 100%/2px 12px;background-repeat:no-repeat}
html[data-season=terminal] .card .info b{font-size:12.5px}
html[data-season=terminal] .card .info .rt::before{color:#39ff88}
html[data-season=terminal] .card .acts :is(button,a){border-radius:0;border-color:#39ff88}
html[data-season=terminal] .card .acts .p{background:#39ff88;border-color:#39ff88;color:#021006}
html[data-season=terminal] .card .prog,html[data-season=terminal] .card .prog i{border-radius:0}
@media (hover:hover){
html[data-season=terminal] .card:hover{transform:scale(1.07);animation:termGlitch .3s steps(2) 1}
html[data-season=terminal] .card:hover::before{opacity:1}
html[data-season=terminal] .card:hover .pic{box-shadow:0 0 0 1px #39ff88,0 0 26px rgba(57,255,136,.45)}
html[data-season=terminal] .card:hover img{filter:none}}
html[data-season=terminal] .card.top .num{font-family:VT323,monospace;font-weight:400;color:transparent;-webkit-text-stroke:1.5px #39ff88}
html[data-season=terminal] .gtile{border-radius:0;box-shadow:0 0 0 1px rgba(57,255,136,.35)}
html[data-season=terminal] .gtile img{filter:grayscale(1) contrast(1.2) brightness(.7) sepia(1) hue-rotate(70deg) saturate(1.6)}
html[data-season=terminal] .gtile::before{background:linear-gradient(200deg,transparent 20%,rgba(2,10,5,.94) 92%),repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
html[data-season=terminal] .gtile .gt-n{font-family:VT323,monospace;font-weight:400;font-size:30px;color:#39ff88;text-shadow:0 0 8px rgba(57,255,136,.45)}
html[data-season=terminal] .gtile .gt-n::before{content:"> "}
html[data-season=terminal] .gtile .gt-t{color:#9de9b9}
html[data-season=terminal] .gtile:hover{box-shadow:0 0 0 1px #39ff88,0 0 26px rgba(57,255,136,.4)}
html[data-season=terminal] :is(.pill,.seg,.seg button,.seg a){border-radius:0}
html[data-season=terminal] .pill{border-color:rgba(57,255,136,.4);color:#9de9b9}
html[data-season=terminal] .pill.on{background:#39ff88;color:#021006;border-color:#39ff88}
html[data-season=terminal] :is(.facts,.set-group,.tile){background:rgba(3,18,10,.88);border:1px solid rgba(57,255,136,.25);border-radius:0}
html[data-season=terminal] .skel{background:linear-gradient(100deg,#03120a 30%,#0a3a1d 50%,#03120a 70%) 0 0/300% 100%;border-radius:0}
/* dock + footer */
html[data-season=terminal] .dock{border-radius:0;background:rgba(2,10,5,.94);border-color:rgba(57,255,136,.5);box-shadow:0 0 20px rgba(57,255,136,.18)}
html[data-season=terminal] .dock a{border-radius:0;color:#9de9b9}
html[data-season=terminal] .dock a.on{background:#39ff88;color:#021006;box-shadow:none}
html[data-season=terminal] .dock a.on span{text-transform:lowercase;font-size:13px}
html[data-season=terminal] .foot{border-top:1px dashed rgba(57,255,136,.4)}
html[data-season=terminal] .foot::before{content:"-- EOF -- end of transmission";display:block;margin-bottom:12px;font-family:VT323,monospace;font-size:22px;color:#39ff88}
html[data-season=terminal] .foot a{color:#39ff88;text-decoration-color:rgba(57,255,136,.35)}

/* ---------- Settings › Appearance picker thumbnails ---------- */
.seasons .so-arcade span{background:linear-gradient(transparent 0 calc(100% - 1px),rgba(255,79,216,.6) 0) 0 62%/100% 9px,linear-gradient(180deg,#14053a,#3b0b63 60%,#0d0322 60%)}
.seasons .so-arcade i{background:linear-gradient(90deg,#ff4fd8,#22e8ff)}
.seasons .so-arcade .so-art{background-image:url("/favicon-arcade.svg?v=1");background-size:30%;background-position:50% 32%}
.seasons .so-noir span{background:radial-gradient(120% 90% at 85% 0,rgba(255,236,190,.22),transparent 60%),#0a0a0a;box-shadow:inset 0 0 0 1px rgba(227,194,107,.35)}
.seasons .so-noir i{background:linear-gradient(90deg,#f4dc93,#b8892b)}
.seasons .so-noir .so-art{background-image:url("/favicon-noir.svg?v=1");background-size:30%;background-position:50% 32%}
.seasons .so-aurora span{background:radial-gradient(80% 70% at 10% 0,rgba(60,240,192,.45),transparent 60%),radial-gradient(80% 70% at 100% 10%,rgba(139,92,246,.5),transparent 60%),#0a0f24}
.seasons .so-aurora i{background:linear-gradient(90deg,#7cf5d0,#a78bfa)}
.seasons .so-aurora .so-art{background-image:url("/favicon-aurora.svg?v=1");background-size:30%;background-position:50% 32%}
.seasons .so-terminal span{background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 1px,transparent 1px 3px),radial-gradient(100% 90% at 50% 30%,#0a3a1d,#020a05 70%)}
.seasons .so-terminal i{background:linear-gradient(90deg,#39ff88,#00c2a8)}
.seasons .so-terminal .so-art{background-image:url("/favicon-terminal.svg?v=1");background-size:30%;background-position:50% 32%}

/* ---------- mobile hero readability + tile palettes ---------- */
@media (max-width:760px){
html[data-season=arcade] .hero::before{background:linear-gradient(0deg,var(--bg) 4%,rgba(13,3,34,.78) 48%,rgba(13,3,34,.3) 100%)}
html[data-season=noir] .hero::before{background:linear-gradient(0deg,var(--bg) 4%,rgba(6,6,6,.7) 50%,rgba(6,6,6,.3) 100%)}
html[data-season=terminal] .hero::before{background:linear-gradient(0deg,var(--bg) 4%,rgba(2,10,5,.75) 50%,rgba(2,10,5,.3) 100%)}
html[data-season=aurora] .hero::before{background:linear-gradient(0deg,var(--bg) 4%,rgba(10,15,36,.4) 55%,rgba(10,15,36,0) 100%)}}
html[data-season=noir] .gtile{background:linear-gradient(135deg,hsl(var(--gh) 12% 20%),#0c0c0c 75%)}
html[data-season=terminal] .gtile{background:linear-gradient(135deg,#06301a,#020a05 75%)}
html[data-season=arcade] .gtile{background:linear-gradient(135deg,hsl(calc(var(--gh) / 4 + 270) 80% 30%),#0d0322 80%)}
html[data-season=aurora] .gtile{background:linear-gradient(135deg,hsl(var(--gh) 60% 40% / .55),rgba(10,15,36,.6) 80%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media (max-width:400px){html[data-season=aurora] .nav,html[data-season=aurora] .nav.solid{left:4px;right:4px;top:6px;padding:0 4px;border-radius:16px}}
