@import url("/assets/cream-scrollbars.css");
:root{--paper:#faf8f3;--white:#fffefa;--ink:#121413;--muted:#575a59;--line:#dcd8d0;--night:#090915;--deep:#0a0619;--violet:#c640ff;--cyan:#39e7ff;--yellow:#ffe24d;--orange:#fc4d2e;--accent:var(--cyan);--accent-2:var(--violet);--accent-3:#f872d5;--cta:var(--yellow);--slash:var(--orange);--quickbar:#17141f;--art-border:#d426ff45;--control-border-1:#a37dff40;--control-border-2:#20cfff5c;--control-border-3:#da39ff71;--glyph-1:var(--violet);--glyph-2:var(--cyan);--glyph-3:#f872d5;--glyph-glow-1:#9e00ff80;--glyph-glow-2:#00ddff85;--glyph-glow-3:#ff62d880;--pad:clamp(20px,3vw,60px);--display:'Anton',Impact,sans-serif;--cond:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Inter',Arial,sans-serif}
body[data-game=hive]{--cyan:#56deee;--violet:#edff3b;--yellow:#edff3b;--orange:#fb5736;--night:#0b1110;--deep:#0b1110;--accent:#edff3b;--accent-2:#56deee;--accent-3:#c8ff3d;--cta:#edff3b;--slash:#fb5736;--quickbar:#131b19;--art-border:#edff3b55;--control-border-1:#edff3b40;--control-border-2:#56deee5c;--control-border-3:#c8ff3d71;--glyph-1:#edff3b;--glyph-2:#56deee;--glyph-3:#c8ff3d;--glyph-glow-1:#edff3b80;--glyph-glow-2:#56deee85;--glyph-glow-3:#c8ff3d80}
body[data-game=wreckage]{--cyan:#ffbc35;--violet:#ff6328;--yellow:#ffe24d;--orange:#ff6328;--night:#1c1d1b;--deep:#0a0604;--accent:#ffbc35;--accent-2:#ff6328;--accent-3:#ffe24d;--cta:#ff6328;--slash:#ff6328;--quickbar:#1c1d1b;--art-border:#ff632845;--control-border-1:#ff632840;--control-border-2:#ffbc355c;--control-border-3:#ffe24d71;--glyph-1:#ff6328;--glyph-2:#ffbc35;--glyph-3:#ffe24d;--glyph-glow-1:#ff632880;--glyph-glow-2:#ffbc3585;--glyph-glow-3:#ffe24d80}
body[data-game=lumen]{--cyan:#00cfff;--violet:#c9f5ff;--yellow:#ffe34b;--orange:#ff4b30;--night:#06121f;--deep:#06121f;--accent:#00cfff;--accent-2:#c9f5ff;--accent-3:#ffe34b;--cta:#ffe34b;--slash:#ff4b30;--quickbar:#0a1828;--art-border:#00cfff45;--control-border-1:#00cfff40;--control-border-2:#c9f5ff5c;--control-border-3:#ffe34b71;--glyph-1:#00cfff;--glyph-2:#c9f5ff;--glyph-3:#ffe34b;--glyph-glow-1:#00cfff80;--glyph-glow-2:#c9f5ff85;--glyph-glow-3:#ffe34b80}
body[data-game="fission-neon-tunnel"]{--cyan:#08d4fb;--violet:#f043d9;--yellow:#ffe34b;--orange:#ff4b30;--night:#080d1c;--deep:#080d1c;--accent:#08d4fb;--accent-2:#f043d9;--accent-3:#ffe34b;--cta:#ffe34b;--slash:#ff4b30;--quickbar:#0c1224;--art-border:#f043d945;--control-border-1:#08d4fb40;--control-border-2:#f043d95c;--control-border-3:#ffe34b71;--glyph-1:#08d4fb;--glyph-2:#f043d9;--glyph-3:#ffe34b;--glyph-glow-1:#08d4fb80;--glyph-glow-2:#f043d985;--glyph-glow-3:#ffe34b80}
body[data-game="sky-drifter"]{--cyan:#18c9ff;--violet:#8f78ff;--yellow:#ffd52e;--orange:#ff6138;--night:#05265b;--deep:#031735;--accent:#18c9ff;--accent-2:#8f78ff;--accent-3:#ffd52e;--cta:#ffd52e;--slash:#ff6138;--quickbar:#073572;--art-border:#18c9ff66;--control-border-1:#18c9ff55;--control-border-2:#8f78ff66;--control-border-3:#ffd52e77;--glyph-1:#18c9ff;--glyph-2:#8f78ff;--glyph-3:#ffd52e;--glyph-glow-1:#18c9ff80;--glyph-glow-2:#8f78ff85;--glyph-glow-3:#ffd52e80}
body[data-game="stack-tower-builder"]{--cyan:#4fdfed;--violet:#ff63ce;--yellow:#ffe34b;--orange:#ff4c30;--night:#211038;--deep:#17103f;--accent:#ff63ce;--accent-2:#4fdfed;--accent-3:#ffe34b;--cta:#ffe34b;--slash:#ff4c30;--quickbar:#211038;--art-border:#ff63ce45;--control-border-1:#ff63ce40;--control-border-2:#4fdfed5c;--control-border-3:#ffe34b71;--glyph-1:#ff63ce;--glyph-2:#4fdfed;--glyph-3:#ffe34b;--glyph-glow-1:#ff63ce80;--glyph-glow-2:#4fdfed85;--glyph-glow-3:#ffe34b80}
body[data-game="neon-horde-survivor"]{--accent:var(--cyan);--accent-2:var(--violet);--accent-3:#f872d5;--cta:var(--yellow);--slash:var(--orange)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);font:400 15px/1.55 var(--body);color:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;-webkit-text-fill-color:currentColor}button,input{font:inherit}::selection{background:var(--accent);color:var(--night)}a:focus-visible,button:focus-visible{outline:3px solid var(--slash);outline-offset:4px}.wrap{max-width:1700px;margin-inline:auto;padding-inline:var(--pad)}.label{font:800 13px/1.2 var(--cond);text-transform:uppercase;letter-spacing:.23em}.eyebrow{font:800 14px/1.2 var(--cond);text-transform:uppercase;letter-spacing:.25em}.display{font-family:var(--display);font-weight:400;line-height:.98;letter-spacing:-.012em;text-transform:uppercase}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 23px;font:800 16px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:white;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn.yellow{background:var(--cta);color:var(--ink);border-color:var(--cta)}.btn.ghost{background:transparent;color:var(--ink)}.btn.dark-outline{background:transparent;color:white;border-color:#ffffff85}.btn .arrow{font:700 22px/0.8 Arial,sans-serif}.section-tag{display:flex;align-items:center;gap:16px;font:800 13px var(--cond);text-transform:uppercase;letter-spacing:.22em}.section-tag:after{content:'';width:42px;height:1px;background:currentColor;opacity:.55}
/* Shared studio header / footer */
.header{position:relative;z-index:50;background:var(--white);border-bottom:1px solid #00000012}.header-inner{min-height:78px;display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}.brand{min-width:125px;display:inline-flex;flex-direction:column;line-height:.83}.brand strong,.brand b{font:900 46px/.83 var(--cond);letter-spacing:.02em}.brand span{font:900 17px/.9 var(--cond);letter-spacing:.02em;margin-top:4px;padding-left:3px}.header-sep{height:36px;width:1px;background:#9da09b}.nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,43px)}.nav a{position:relative;font:800 15px var(--cond);letter-spacing:.055em;text-transform:uppercase;padding:22px 0}.nav a:after{content:'';position:absolute;bottom:14px;left:0;right:100%;height:2px;background:var(--slash);transition:right .2s}.nav a:hover:after,.nav a[aria-current]:after{right:0}.header-end{margin-left:auto;display:flex;align-items:center;gap:18px}.motto{font:800 12px/1.2 var(--cond);letter-spacing:.2em;text-transform:uppercase;border-left:1px solid #9da09b;padding-left:13px}.header-btn{min-height:40px;padding:11px 16px;font-size:13px}.menu-btn{display:none;background:transparent;border:1px solid var(--line);width:42px;height:42px;font-size:23px;place-items:center;color:var(--ink);-webkit-text-fill-color:var(--ink)}.mobile-menu[hidden]{display:none}.mobile-menu{padding:8px var(--pad) 24px;background:var(--white);border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:14px 0;font:800 24px var(--cond);text-transform:uppercase;border-bottom:1px solid var(--line)}
/* Game-specific hero */
.game-hero{background:var(--white);overflow:hidden}.hero-layout{min-height:670px;display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%)}.hero-copy{padding:77px 30px 58px 0;z-index:2;position:relative;display:flex;align-items:flex-start;flex-direction:column}.hero-copy .section-tag{margin-bottom:32px}.hero-copy h1{font:400 clamp(76px,7.6vw,138px)/.91 var(--display);letter-spacing:-.015em;margin:0 0 27px;text-transform:uppercase}.hero-copy h1 .slash{display:inline-block;color:var(--slash);font-style:normal;letter-spacing:.03em;margin-inline:.02em .04em;transform:skew(-3deg);transform-origin:center}.hero-copy .lead{max-width:470px;color:#393b3b;font-size:clamp(15px,1.24vw,18px);line-height:1.64;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.status{font:700 12px var(--cond);text-transform:uppercase;letter-spacing:.17em;color:var(--muted);margin-top:21px}.hero-end{font:800 13px var(--cond);text-transform:uppercase;letter-spacing:.18em;margin-top:auto;padding-top:24px}.hero-art{position:relative;background:var(--deep);overflow:hidden;min-height:640px}.hero-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% center;transform:scale(1.12)}.hero-art:before{position:absolute;z-index:1;content:'';inset:0;background:linear-gradient(90deg,#0a0619 0%,#0a06190a 27%,#0a061900 72%),linear-gradient(0deg,#080612bd,transparent 24%)}.hero-art:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border:1px solid var(--art-border)}.hero-art .art-top,.hero-art .art-bottom{position:absolute;z-index:2;color:#fff}.art-top{top:29px;left:30px;font:800 13px var(--cond);letter-spacing:.22em;text-transform:uppercase}.art-top i{color:var(--accent);font-style:normal}.art-bottom{bottom:30px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between;gap:10px}.art-bottom span{font:800 13px/1.45 var(--cond);text-transform:uppercase;letter-spacing:.16em}.art-bottom b{font:800 25px var(--cond);color:var(--accent);letter-spacing:.08em}.game-nav{background:var(--night);color:white}.game-nav-inner{display:flex;align-items:center;gap:clamp(23px,2.7vw,55px);min-height:63px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.game-nav-inner::-webkit-scrollbar{display:none}.game-nav a{flex:0 0 auto;font:800 14px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:#c1bdca}.game-nav a:hover{color:var(--accent)}.game-nav .game-nav-end{margin-left:auto;color:var(--cta)}
/* metrics and full-bleed scene */
.quickbar{background:var(--quickbar);color:white}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-grid article{padding:26px 16px 26px 0;border-right:1px solid #ffffff3b}.quick-grid article+article{padding-left:25px}.quick-grid article:last-child{border-right:0}.quick-grid strong{font:400 clamp(30px,3vw,50px)/1 var(--display);color:white;display:block}.quick-grid small{font:700 13px var(--cond);letter-spacing:.2em;text-transform:uppercase;color:#cfcad5;display:block;margin-top:9px}.quick-grid strong em{font-style:normal;color:var(--accent)}
.intro{padding-top:104px;padding-bottom:100px}.intro-top{display:grid;grid-template-columns:55% 45%;gap:20px;align-items:end;margin-bottom:33px}.intro h2,.shots h2,.controls h2{font:400 clamp(52px,5.4vw,94px)/1 var(--display);text-transform:uppercase;margin:12px 0 0}.intro-top p,.shots-top p,.controls-top p{font-size:16px;line-height:1.7;color:var(--muted);max-width:500px;margin:0 0 5px auto}.intro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.intro-card{background:var(--white);border:1px solid var(--line);padding:28px 28px 30px;min-height:315px;display:flex;flex-direction:column;align-items:flex-start}.intro-card .count{font:800 13px var(--cond);letter-spacing:.2em;color:var(--slash)}.intro-card .mark{display:block;width:96px;height:72px;margin:18px 0 23px;color:var(--slash)}.intro-card h3{font:400 35px/1 var(--display);text-transform:uppercase;margin:0 0 11px}.intro-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:350px}.intro-card:last-child{background:#f1eee8}
.artwork-strip{background:var(--night);color:white;position:relative;overflow:hidden}.artwork-strip .main-art{height:clamp(310px,39vw,590px);width:100%;object-fit:cover;object-position:54% center}.artwork-strip:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050713df,transparent 58%),linear-gradient(0deg,#05071380,transparent 45%)}.art-overlay{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:46px;pointer-events:none}.art-overlay .section-tag{color:var(--accent)}.art-overlay h2{font:400 clamp(54px,7vw,118px)/.94 var(--display);text-transform:uppercase;margin:18px 0 11px}.art-overlay p{font:700 15px var(--cond);letter-spacing:.17em;text-transform:uppercase;margin:0;color:#d5d7ed}
/* Screenshots gallery */
.shots{padding-top:104px;padding-bottom:97px;background:#f0eee8;overflow:hidden}.shots-top{display:grid;grid-template-columns:55% 45%;align-items:end;gap:20px}.shots-top p{max-width:480px}.shot-controls{display:flex;justify-content:space-between;align-items:center;margin:28px 0 21px;gap:20px}.shot-controls .count{font:800 13px var(--cond);letter-spacing:.19em;text-transform:uppercase}.shot-buttons{display:flex;gap:7px}.round{height:43px;width:43px;display:grid;place-items:center;border:1px solid var(--ink);background:transparent;font:700 19px Arial}.round:hover{background:var(--ink);color:white}.gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#27222d transparent;padding-bottom:19px}.shot{flex:0 0 min(72vw,750px);scroll-snap-align:start;background:var(--white);border:1px solid var(--line);min-width:0}.shot-image{background:var(--deep);aspect-ratio:1000 / 460;position:relative;overflow:hidden}.shot-image img{width:100%;height:100%;object-fit:cover}.shot-body{display:flex;justify-content:space-between;gap:15px;padding:21px 24px 26px;align-items:end}.shot-body .kicker{font:800 12px var(--cond);letter-spacing:.19em;text-transform:uppercase;color:#77716c}.shot-body h3{font:400 clamp(26px,2.6vw,42px)/1 var(--display);text-transform:uppercase;margin:8px 0}.shot-body p{font:400 13px/1.55 var(--body);color:var(--muted);margin:0}.shot-body b{font:800 17px var(--cond);color:var(--slash);white-space:nowrap}
/* mechanics */
.controls{padding-top:105px;padding-bottom:105px}.controls-top{display:grid;grid-template-columns:55% 45%;align-items:end;gap:20px;margin-bottom:35px}.control-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.control{position:relative;min-height:382px;background:#10101c;color:white;border:1px solid #2b2a37;padding:27px 28px 34px;display:flex;flex-direction:column;overflow:hidden}.control:before{content:'';position:absolute;width:290px;height:290px;border:1px solid var(--control-border-1);transform:rotate(45deg);top:-170px;right:-130px;box-shadow:0 0 90px color-mix(in srgb,var(--accent-2) 18%,transparent) inset}.control:nth-child(2):before{border-color:var(--control-border-2)}.control:nth-child(3):before{border-color:var(--control-border-3)}.control .index{font:800 14px var(--cond);color:var(--accent);letter-spacing:.17em}.control .glyph{height:115px;width:100%;display:grid;place-items:center;margin:15px 0 17px;color:var(--glyph-1)}.control:nth-child(2) .glyph{color:var(--glyph-2)}.control:nth-child(3) .glyph{color:var(--glyph-3)}.control h3{font:400 clamp(33px,3.1vw,49px)/1 var(--display);margin:auto 0 11px;text-transform:uppercase}.control p{font-size:14px;color:#cac8d3;line-height:1.6;margin:0;max-width:390px}.control:before{animation:panel-drift 14s ease-in-out infinite}.control:nth-child(2):before{animation-delay:-4s}.control:nth-child(3):before{animation-delay:-8s}
/* bottom conversion and footer */
.final-cta{position:relative;overflow:hidden;background:#0c0719;color:white}.final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center;opacity:.26}.final-cta:after{content:'';inset:0;position:absolute;background:linear-gradient(90deg,#0c0719f2,#0c07196b)}.final-inner{position:relative;z-index:2;min-height:470px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:70px;padding-bottom:70px}.final-inner .section-tag{color:var(--accent)}.final-inner h2{font:400 clamp(61px,6vw,105px)/.98 var(--display);text-transform:uppercase;margin:22px 0 15px}.final-inner p{color:#e1d9eb;max-width:540px;line-height:1.7;margin:0 0 27px}.final-actions{display:flex;gap:11px;flex-wrap:wrap}.fine{color:#c4bdd0;font:700 12px var(--cond);text-transform:uppercase;letter-spacing:.13em;margin-top:23px}.footer{background:var(--white);border-top:1px solid #e0dcd4;padding:44px 0 48px}.footer-inner{display:grid;grid-template-columns:1.1fr 1.1fr .5fr .8fr;gap:26px;align-items:center}.footer p{font-size:12px;color:#565954;margin:17px 0 0;line-height:1.6}.footer-nav{display:flex;gap:clamp(12px,1.5vw,25px);flex-wrap:wrap}.footer-nav a{font:800 14px var(--cond);text-transform:uppercase}.footer-social{display:flex;gap:22px;align-items:center;font:800 23px var(--cond)}.footer-last{border-left:1px solid #a5a6a0;padding-left:25px;font:800 12px/1.4 var(--cond);letter-spacing:.14em;text-transform:uppercase}.footer-last small{display:block;font:500 11px/1.6 var(--cond);letter-spacing:.1em;margin-top:14px;color:#656661}.footer-last small a{text-decoration:underline}
@media(max-width:1120px){.motto{display:none}.hero-copy h1{font-size:clamp(70px,8vw,105px)}.hero-layout{grid-template-columns:48% 52%}.gallery .shot{flex-basis:min(80vw,720px)}.footer-inner{grid-template-columns:1fr 1fr;gap:30px}.footer-last{justify-self:end}}
@media(max-width:760px){:root{--pad:21px}.header-inner{min-height:70px;gap:18px}.brand{min-width:102px}.brand strong{font-size:39px}.brand span{font-size:14px}.header-sep{height:29px}.nav,.header-btn{display:none}.menu-btn{display:grid}.hero-layout{display:flex;flex-direction:column}.hero-copy{padding:45px 0 34px}.hero-copy .section-tag{margin-bottom:24px}.hero-copy h1{font-size:clamp(70px,13.5vw,115px);margin-bottom:20px}.hero-copy .lead{font-size:15px}.hero-end{margin-top:29px;padding:0}.hero-art{min-height:clamp(345px,75vw,580px)}.hero-art>img{transform:scale(1);object-position:center}.art-top{top:18px;left:19px}.art-bottom{bottom:21px;left:19px;right:19px}.art-bottom b{font-size:20px}.game-nav-inner{min-height:54px;gap:24px}.game-nav .game-nav-end{margin-left:0}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-grid article{padding:21px 13px 21px 0;border-bottom:1px solid #ffffff24}.quick-grid article+article{padding-left:15px}.quick-grid article:nth-child(2){border-right:0}.quick-grid article:nth-child(3),.quick-grid article:nth-child(4){border-bottom:0}.quick-grid article:nth-child(3){padding-left:0}.quick-grid strong{font-size:34px}.intro,.shots,.controls{padding-top:70px;padding-bottom:70px}.intro-top,.shots-top,.controls-top{display:block}.intro-top p,.shots-top p,.controls-top p{margin:21px 0 0}.intro h2,.shots h2,.controls h2{font-size:clamp(51px,10vw,79px)}.intro-cards{grid-template-columns:1fr;gap:9px}.intro-card{min-height:0;padding:24px}.intro-card .mark{margin:12px 0 19px;font-size:52px}.intro-card h3{font-size:33px}.artwork-strip .main-art{height:420px;object-position:center}.art-overlay{padding-bottom:29px}.art-overlay h2{font-size:57px}.gallery{gap:11px;margin-right:calc(-1 * var(--pad));padding-right:var(--pad)}.gallery .shot{flex-basis:min(86vw,580px)}.shot-body{padding:17px 19px 22px}.shot-body h3{font-size:29px}.control-panels{grid-template-columns:1fr;gap:9px}.control{min-height:325px}.control .glyph{height:83px;font-size:72px}.control h3{font-size:41px}.final-inner{min-height:440px}.final-inner h2{font-size:clamp(56px,10vw,78px)}.footer-inner{grid-template-columns:1fr 1fr}.footer-last{justify-self:stretch}}
@media(max-width:445px){.hero-copy h1{font-size:clamp(61px,14.6vw,75px)}.hero-actions{width:100%}.hero-actions .btn{flex:1}.hero-art{min-height:340px}.art-bottom span{font-size:11px}.quick-grid small{font-size:11px}.quick-grid strong{font-size:29px}.art-overlay h2{font-size:48px}.gallery .shot{flex-basis:90vw}.shot-body{display:block}.shot-body b{display:none}.footer-inner{grid-template-columns:1fr;gap:28px}.footer-last{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.footer-nav{justify-content:flex-start}}
@media(max-width:445px){.hero-actions .btn{padding:13px 12px;gap:10px;white-space:nowrap;font-size:14px}}

/* Footer socials + legal */
.footer-brand .brand{margin-bottom:0}.socials{display:flex;gap:18px;align-items:center}.socials a{display:grid;place-items:center;width:28px;height:28px;color:var(--ink);transition:color .2s,transform .2s}.socials a:hover{color:var(--slash);transform:translateY(-2px)}.socials svg{width:18px;height:18px;fill:currentColor}.legal-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}.legal-links a{font:700 12px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}

/* Cookie banner */
.cookie-banner{position:fixed;z-index:80;left:var(--pad);right:var(--pad);bottom:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;max-width:720px;margin-inline:auto;padding:16px 18px;background:var(--ink);color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.28)}
.cookie-banner[hidden]{display:none!important}
.cookie-banner p{margin:0;flex:1 1 260px;font:500 13px/1.5 var(--body)}
.cookie-banner a{color:var(--cta);text-decoration:underline}
.cookie-banner-actions{display:flex;gap:8px}
.cookie-banner-actions button{min-height:40px;padding:8px 16px;border:1px solid transparent;font:800 13px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cookie-banner-actions [data-cookie-accept]{background:var(--cta);color:var(--ink);border-color:var(--cta)}
.cookie-banner-actions [data-cookie-reject]{background:transparent;color:#fff;border-color:#ffffff66}

/* Motion */
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes side-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes slash-nudge{0%,100%{transform:skew(-3deg) translateY(0)}50%{transform:skew(-3deg) translateY(-3px)}}
@keyframes ken-soft{from{transform:scale(1.12)}to{transform:scale(1.08)}}
@keyframes pulse-cyan{0%,100%{opacity:.85}50%{opacity:1}}

.game-hero.is-ready .hero-copy > *:nth-child(1){animation:rise-in .7s cubic-bezier(.22,1,.36,1) .05s both}
.game-hero.is-ready .hero-copy > *:nth-child(2){animation:rise-in .85s cubic-bezier(.22,1,.36,1) .14s both}
.game-hero.is-ready .hero-copy > *:nth-child(3){animation:rise-in .75s cubic-bezier(.22,1,.36,1) .26s both}
.game-hero.is-ready .hero-copy > *:nth-child(4){animation:rise-in .7s cubic-bezier(.22,1,.36,1) .38s both}
.game-hero.is-ready .hero-copy > *:nth-child(5){animation:rise-in .65s cubic-bezier(.22,1,.36,1) .48s both}
.game-hero.is-ready .hero-copy > *:nth-child(6){animation:rise-in .6s cubic-bezier(.22,1,.36,1) .56s both}
.game-hero.is-ready .hero-art{animation:side-in .9s cubic-bezier(.22,1,.36,1) .24s both}
.game-hero.is-ready .hero-art > img{animation:ken-soft 8s ease-out .3s both}
.game-hero.is-ready h1 .slash{animation:slash-nudge 2.8s ease-in-out 1s infinite}
.game-hero.is-ready .art-bottom b{animation:pulse-cyan 4s ease-in-out 1.2s infinite}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal.is-in{opacity:1;transform:none}
.reveal-x{opacity:0;transform:translateX(-14px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-x.is-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.nav a:after,.socials a{transition:none}
  .game-hero .hero-copy > *,.game-hero .hero-art,.game-hero .hero-art > img,.reveal,.reveal-x{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .game-hero.is-ready h1 .slash,.game-hero.is-ready .art-bottom b{animation:none!important}
  .anim-stage,.anim-stage i,.anim-stage:before,.anim-stage:after,.control:before{animation:none!important}
}


/* In-card mechanic animations (intro marks + control glyphs) */
.anim-stage{position:relative;display:block;width:96px;height:72px;margin:0}
.anim-stage i{position:absolute;display:block;pointer-events:none}
.mark .anim-stage,.glyph .anim-stage{color:inherit}
.glyph .anim-stage{width:110px;height:110px;filter:drop-shadow(0 0 18px currentColor)}

/* 01 split — two orbs pull apart / reunite */
[data-anim=split] .anim-stage i:nth-child(1),
[data-anim=split] .anim-stage i:nth-child(2){
  top:50%;width:16px;height:16px;border-radius:50%;background:currentColor;
  transform:translate(-50%,-50%);
}
[data-anim=split] .anim-stage i:nth-child(1){left:50%;animation:orb-split-a 2.4s ease-in-out infinite}
[data-anim=split] .anim-stage i:nth-child(2){left:50%;animation:orb-split-b 2.4s ease-in-out infinite}
[data-anim=split] .anim-stage i:nth-child(3){
  left:50%;top:50%;width:44px;height:2px;background:currentColor;opacity:.35;
  transform:translate(-50%,-50%);
}
.glyph[data-anim=split] .anim-stage i:nth-child(1),
.glyph[data-anim=split] .anim-stage i:nth-child(2){width:22px;height:22px}

/* 02 ring — concentric pulse */
[data-anim=ring] .anim-stage i:nth-child(1),
[data-anim=ring] .anim-stage i:nth-child(2),
[data-anim=ring] .anim-stage i:nth-child(3){
  left:50%;top:50%;border:2px solid currentColor;border-radius:50%;
  transform:translate(-50%,-50%);
}
[data-anim=ring] .anim-stage i:nth-child(1){width:18px;height:18px;background:currentColor;border:0;animation:ring-core 2.6s ease-in-out infinite}
[data-anim=ring] .anim-stage i:nth-child(2){width:38px;height:38px;opacity:.7;animation:ring-mid 2.6s ease-in-out infinite}
[data-anim=ring] .anim-stage i:nth-child(3){width:58px;height:58px;opacity:.35;animation:ring-out 2.6s ease-in-out infinite}
.glyph[data-anim=ring] .anim-stage i:nth-child(1){width:22px;height:22px}
.glyph[data-anim=ring] .anim-stage i:nth-child(2){width:52px;height:52px}
.glyph[data-anim=ring] .anim-stage i:nth-child(3){width:82px;height:82px}

/* 03 rise — climbing chevron */
[data-anim=rise] .anim-stage i:nth-child(1),
[data-anim=rise] .anim-stage i:nth-child(2),
[data-anim=rise] .anim-stage i:nth-child(3){
  left:50%;width:22px;height:22px;border-right:3px solid currentColor;border-top:3px solid currentColor;
  transform:translate(-50%,0) rotate(-45deg);opacity:.25;
}
[data-anim=rise] .anim-stage i:nth-child(1){top:42px;animation:rise-chev 1.8s ease-in-out infinite}
[data-anim=rise] .anim-stage i:nth-child(2){top:28px;animation:rise-chev 1.8s ease-in-out .2s infinite}
[data-anim=rise] .anim-stage i:nth-child(3){top:14px;animation:rise-chev 1.8s ease-in-out .4s infinite}
.glyph[data-anim=rise] .anim-stage i:nth-child(1){top:68px;width:28px;height:28px}
.glyph[data-anim=rise] .anim-stage i:nth-child(2){top:46px;width:28px;height:28px}
.glyph[data-anim=rise] .anim-stage i:nth-child(3){top:24px;width:28px;height:28px}

/* control 01 vector — darting arrow */
[data-anim=vector] .anim-stage i:nth-child(1){
  left:18%;top:62%;width:54px;height:3px;background:currentColor;transform-origin:left center;
  transform:rotate(-35deg);animation:vector-shaft 2.2s ease-in-out infinite;
}
[data-anim=vector] .anim-stage i:nth-child(2){
  left:58%;top:28%;width:22px;height:22px;border-right:3px solid currentColor;border-top:3px solid currentColor;
  transform:rotate(45deg);animation:vector-head 2.2s ease-in-out infinite;
}
[data-anim=vector] .anim-stage i:nth-child(3){
  left:12%;top:68%;width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.5;
  animation:vector-dot 2.2s ease-in-out infinite;
}

/* control 02 select — diamond breathe + spin */
[data-anim=select] .anim-stage i:nth-child(1){
  left:50%;top:50%;width:48px;height:48px;border:2px solid currentColor;
  transform:translate(-50%,-50%) rotate(45deg);animation:select-spin 5s linear infinite,select-glow 2.4s ease-in-out infinite;
}
[data-anim=select] .anim-stage i:nth-child(2){
  left:50%;top:50%;width:16px;height:16px;background:currentColor;
  transform:translate(-50%,-50%) rotate(45deg);animation:select-core 2.4s ease-in-out infinite;
}
[data-anim=select] .anim-stage i:nth-child(3){display:none}

/* control 03 burst — spark star */
[data-anim=burst] .anim-stage i:nth-child(1),
[data-anim=burst] .anim-stage i:nth-child(2),
[data-anim=burst] .anim-stage i:nth-child(3){
  left:50%;top:50%;width:4px;height:64px;background:linear-gradient(currentColor,transparent);
  transform-origin:center center;border-radius:2px;
}
[data-anim=burst] .anim-stage i:nth-child(1){transform:translate(-50%,-50%) rotate(0deg);animation:burst-spin 6s linear infinite}
[data-anim=burst] .anim-stage i:nth-child(2){transform:translate(-50%,-50%) rotate(60deg);animation:burst-spin 6s linear infinite reverse}
[data-anim=burst] .anim-stage i:nth-child(3){
  width:18px;height:18px;border-radius:50%;background:currentColor;height:auto;
  background:currentColor;width:18px;height:18px;
  transform:translate(-50%,-50%);animation:burst-core 1.8s ease-in-out infinite;
}

@keyframes orb-split-a{0%,100%{transform:translate(-50%,-50%) translateX(0)}50%{transform:translate(-50%,-50%) translateX(-22px)}}
@keyframes orb-split-b{0%,100%{transform:translate(-50%,-50%) translateX(0)}50%{transform:translate(-50%,-50%) translateX(22px)}}
@keyframes ring-core{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(.85);opacity:.75}}
@keyframes ring-mid{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.4}}
@keyframes ring-out{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.35}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.15}}
@keyframes rise-chev{0%,100%{opacity:.2;transform:translate(-50%,6px) rotate(-45deg)}40%,60%{opacity:1;transform:translate(-50%,-2px) rotate(-45deg)}}
@keyframes vector-shaft{0%,100%{transform:rotate(-35deg) scaleX(.75);opacity:.45}50%{transform:rotate(-35deg) scaleX(1);opacity:1}}
@keyframes vector-head{0%,100%{transform:translate(-6px,6px) rotate(45deg);opacity:.45}50%{transform:translate(0,0) rotate(45deg);opacity:1}}
@keyframes vector-dot{0%,100%{transform:translate(0,0);opacity:.3}50%{transform:translate(28px,-20px);opacity:.8}}
@keyframes select-spin{to{transform:translate(-50%,-50%) rotate(405deg)}}
@keyframes select-glow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes select-core{0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(1)}50%{transform:translate(-50%,-50%) rotate(45deg) scale(1.2)}}
@keyframes burst-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes burst-core{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.25);opacity:1}}
@keyframes panel-drift{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(-10px,8px)}}

.intro-card:hover .mark,.control:hover .glyph{filter:brightness(1.08)}
@media(max-width:760px){
  .intro-card .mark{width:84px;height:64px;margin:12px 0 19px}
  .anim-stage{width:84px;height:64px}
  .glyph .anim-stage{width:90px;height:90px}
  .control .glyph{height:90px}
}

/* Portrait screenshots (phone captures) */
.gallery.is-portrait .shot{flex:0 0 min(42vw,340px)}
.gallery.is-portrait .shot-image{aspect-ratio:464 / 1000}
@media(max-width:760px){.gallery.is-portrait .shot{flex-basis:min(58vw,300px)}}
@media(max-width:445px){.gallery.is-portrait .shot{flex-basis:min(72vw,280px)}}

/* Hive CTA stays readable on acid yellow */
body[data-game=hive] .btn.yellow{color:var(--ink)}
body[data-game=wreckage] .btn.yellow{color:#fff;background:var(--cta);border-color:var(--cta)}

/* Keep game artwork clear while retaining enough contrast for labels and CTA copy. */
.hero-art:before{background:linear-gradient(0deg,#080612bd,transparent 24%)}
.final-cta img{opacity:.6}
.final-cta:after{background:linear-gradient(90deg,#0c0719bf,#0c071933)}
