:root{
  --night:#2B1027; --ink:#14060F; --plum:#722C59; --plum2:#3D1636;
  --pink:#E73B94; --orange:#F6932E; --yellow:#FAE267; --sky:#54C9F1; --teal:#67C6C0;
  --peach:#FBE0CD; --blush:#F4B9B8; --white:#FFFFFF;
  --display:'Lilita One', Impact, 'Arial Black', sans-serif;
  --brush:Knewave, 'Lilita One', Impact, sans-serif;
  --body:Rubik, 'Trebuchet MS', system-ui, sans-serif;
  --gutter:clamp(16px, 4vw, 56px);
  --shadow:6px 6px 0 var(--ink);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background-color:var(--night);background-image:radial-gradient(rgba(250,226,103,.09) 2px,transparent 2.6px);background-size:30px 30px;color:var(--peach);font-family:var(--body);font-size:18px;line-height:1.55;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--yellow)}a:hover{color:var(--white)}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
.brush{font-family:var(--brush)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--yellow);color:var(--ink);padding:10px 16px;border-radius:10px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border:4px solid var(--ink);border-radius:18px;box-shadow:var(--shadow);font-family:var(--display);font-size:clamp(19px,1.6vw,24px);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;color:var(--ink);background:var(--yellow)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink);color:var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.btn--pink{background:var(--pink);color:var(--white)}.btn--pink:hover{color:var(--white)}
.btn--dark{background:var(--plum2);color:var(--peach)}.btn--dark:hover{color:var(--peach)}
.btn--sky{background:var(--sky)}.btn--teal{background:var(--teal)}
.btn--sm{padding:11px 18px;font-size:18px;border-width:3px;border-radius:14px;box-shadow:4px 4px 0 var(--ink)}

.sticker{display:inline-block;padding:7px 16px;border:3px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--ink);font-family:var(--display);font-size:clamp(15px,1.4vw,20px);letter-spacing:.05em;color:var(--ink)}
.eyebrow{font-family:var(--display);font-size:clamp(15px,1.5vw,21px);letter-spacing:.08em;text-transform:uppercase}
.h2{font-size:clamp(44px,5.4vw,80px);line-height:.95;color:var(--peach);text-shadow:5px 5px 0 var(--ink)}
.lede{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--blush)}
section{position:relative}

/* ---- header ---- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(43,16,39,.92);backdrop-filter:blur(6px);border-bottom:3px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--ink);box-shadow:0 4px 0 rgba(20,6,15,.6)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo img{height:clamp(50px,5vw,70px);width:auto}
.nav{display:flex;gap:4px;padding:6px;background:var(--plum2);border:3px solid var(--ink);border-radius:999px;box-shadow:5px 5px 0 var(--ink)}
.nav a{padding:9px 18px;border-radius:999px;font-family:var(--display);font-size:18px;letter-spacing:.03em;color:var(--peach);text-decoration:none}
.nav a:hover{background:var(--pink);color:var(--white)}
.menu-btn{display:none;width:52px;height:52px;align-items:center;justify-content:center;background:var(--pink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);cursor:pointer}
.mobile-nav{display:none}
@media (max-width:980px){
  .nav,.header-cta{display:none}
  .menu-btn{display:inline-flex}
  .mobile-nav{display:grid;gap:10px;padding:0 var(--gutter) 18px}
  .mobile-nav[hidden]{display:none}
  .mobile-nav a{display:block;padding:14px 18px;background:var(--plum2);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);font-family:var(--display);font-size:22px;color:var(--peach);text-decoration:none}
}

/* ---- hero ---- */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(24px,4vw,48px) clamp(60px,7vw,100px)}
.hero-copy{display:flex;flex-direction:column;gap:26px;position:relative;z-index:2}
.hero .sticker{align-self:flex-start;background:var(--yellow);transform:rotate(-3deg)}
.hero h1{font-size:clamp(58px,8vw,118px);line-height:.9;color:var(--peach);text-shadow:6px 6px 0 var(--ink)}
.hero h1 .bam{display:inline-block;font-family:var(--brush);font-size:1.3em;color:var(--pink);-webkit-text-stroke:clamp(2px,.3vw,4px) var(--ink);text-shadow:8px 8px 0 var(--ink);transform:rotate(-5deg) translateY(.08em);animation:bamPop .9s ease-out .3s}
@keyframes bamPop{0%{transform:rotate(-5deg) translateY(.08em) scale(1)}35%{transform:rotate(-14deg) translateY(.08em) scale(1.18)}100%{transform:rotate(-5deg) translateY(.08em) scale(1)}}
.hero .lede{max-width:560px;font-size:clamp(17px,1.5vw,21px)}
.hero .lede strong{color:var(--peach)}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tag{padding:5px 13px;border:2px solid currentColor;border-radius:999px;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.hero-art{position:relative;width:100%;max-width:660px;aspect-ratio:660/640;justify-self:center}
.hero-art .burst{position:absolute;inset:-3% -3% auto 3%;width:100%;animation:spin 40s linear infinite}
.hero-art .shot{position:absolute;left:6%;top:17%;width:91%;transform:rotate(3deg);border:6px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:14px 14px 0 var(--ink);background:var(--ink)}
.hero-art .fsk{position:absolute;right:-1%;top:0;width:29%;filter:drop-shadow(6px 6px 0 var(--ink));animation:bob 3.2s ease-in-out infinite}
.hero-art .guy{position:absolute;left:-11%;bottom:-6%;height:66%;width:auto;filter:drop-shadow(8px 8px 0 var(--ink))}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:.4em .8em;border:4px solid var(--ink);border-radius:999px;box-shadow:5px 5px 0 var(--ink);font-family:var(--display);font-size:clamp(17px,2vw,26px)}
.chip--coins{right:4%;bottom:9%;background:var(--night);color:var(--yellow);transform:rotate(-4deg)}
.chip--stars{right:25%;bottom:0;background:var(--sky);border-radius:16px;gap:2px;transform:rotate(3deg)}
.chip svg{width:1.3em;height:1.3em}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-10px) rotate(6deg)}}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-art{max-width:520px;margin-top:10px}
  .hero-art .guy{left:-5%}
}

/* ---- ticker ---- */
.ticker{width:calc(100% + 80px);margin-left:-40px;transform:rotate(-1.5deg);background:var(--pink);border-block:5px solid var(--ink);padding-block:12px;overflow:hidden;box-shadow:0 8px 0 var(--ink)}
.ticker-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.ticker-set{display:flex;align-items:center;gap:34px;padding-right:34px;font-family:var(--display);font-size:clamp(28px,3.2vw,44px);color:var(--yellow);-webkit-text-stroke:2px var(--ink);white-space:nowrap}
.ticker-set .star{color:var(--white)}
.ticker-set .b{font-family:var(--brush);color:var(--sky)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---- game spotlight ---- */
.spot{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,4vw,56px);align-items:center;padding-block:clamp(80px,9vw,130px) clamp(60px,7vw,96px)}
.device{position:relative}
.device-frame{transform:rotate(-2deg);padding:clamp(8px,1.2vw,16px);background:var(--ink);border-radius:clamp(20px,2.5vw,36px);box-shadow:14px 14px 0 var(--pink)}
.device-frame img{border-radius:clamp(12px,1.6vw,22px);width:100%}
.device .sticker{position:absolute;left:-14px;top:-24px;background:var(--sky);transform:rotate(-6deg)}
.spot-copy{display:flex;flex-direction:column;gap:20px}
.spot-copy .eyebrow{color:var(--teal)}
.stores{display:flex;gap:14px;flex-wrap:wrap;padding-top:6px}
.store{display:flex;align-items:center;gap:12px;padding:11px 18px;background:var(--peach);color:var(--ink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink)}
.store small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em}
.store b{font-family:var(--display);font-weight:400;font-size:20px}
@media (max-width:900px){.spot{grid-template-columns:1fr}}

/* ---- modes ---- */
.modes{display:flex;flex-direction:column;gap:36px;padding-block:20px clamp(80px,8vw,110px)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.sec-head p{max-width:460px}
.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.mode{display:flex;flex-direction:column;background:var(--peach);color:var(--night);border:4px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);overflow:hidden;transition:transform .15s ease}
.mode:hover{transform:translateY(-6px) rotate(-.5deg)}
.mode-band{padding:9px 18px;border-bottom:4px solid var(--ink);font-family:var(--display);font-size:17px;letter-spacing:.08em}
.mode img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:4px solid var(--ink)}
.mode-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px}
.mode h3{font-size:clamp(24px,2.2vw,30px);line-height:1.05}
.mode p{font-size:16px;line-height:1.5}
@media (max-width:1100px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .mode-grid{grid-template-columns:1fr;gap:16px}
  .mode{display:grid;grid-template-columns:112px 1fr;align-items:center;padding:10px;gap:0 14px;border-width:3px;border-radius:18px;box-shadow:5px 5px 0 var(--ink)}
  .mode-band{display:none}
  .mode img{width:112px;height:96px;aspect-ratio:auto;border:3px solid var(--ink);border-radius:12px}
  .mode-body{padding:0;gap:4px}
  .mode h3{font-size:21px}
  .mode p{font-size:14px;line-height:1.4}
}

/* ---- BAM meter ---- */
.bam{background:var(--plum);border-block:5px solid var(--ink)}
.bam-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,64px);align-items:center;padding-block:clamp(56px,7vw,96px)}
.bam-copy{display:flex;flex-direction:column;gap:20px}
.bam-copy .eyebrow{color:var(--yellow)}
.bam-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.6}
.bam-copy .alt{color:var(--blush)}
.bam .h2 .brush{color:var(--yellow);-webkit-text-stroke:2px var(--ink)}
.meter-panel{display:flex;flex-direction:column;gap:20px;padding:clamp(20px,2.5vw,36px);background:var(--night);border:5px solid var(--ink);border-radius:28px;box-shadow:12px 12px 0 var(--ink)}
.meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.meter-top span:first-child{font-family:var(--display);font-size:clamp(18px,1.8vw,26px);letter-spacing:.08em}
.meter-val{font-family:var(--display);font-size:clamp(40px,4vw,56px);font-variant-numeric:tabular-nums;text-shadow:3px 3px 0 var(--ink)}
.meter{height:clamp(40px,4vw,56px);background:var(--ink);border:4px solid var(--ink);border-radius:999px;overflow:hidden}
.meter-fill{height:100%;border-radius:999px;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 14px,transparent 14px 28px);transition:width .4s cubic-bezier(.3,1.4,.5,1),background-color .3s}
.meter-status{font-family:var(--display);font-size:clamp(22px,2.2vw,30px);line-height:1.15}
.genie{display:flex;gap:14px;align-items:center;padding:12px 16px 12px 12px;background:var(--peach);color:var(--ink);border:4px solid var(--ink);border-radius:20px}
.genie img{flex-shrink:0;width:clamp(52px,5vw,72px);height:clamp(52px,5vw,72px);object-fit:cover;background:var(--sky);border:3px solid var(--ink);border-radius:50%}
.genie small{display:block;font-family:var(--display);font-size:14px;letter-spacing:.08em;color:var(--plum)}
.genie p{font-size:clamp(15px,1.3vw,18px);line-height:1.4;font-weight:500}
.genie.pop{animation:pop .35s ease}
@keyframes pop{50%{transform:scale(1.04) rotate(-1deg)}}
.boosts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.boosts .btn{padding:14px 10px;font-size:clamp(16px,1.4vw,20px);text-align:center}
.reset{align-self:flex-start;padding:6px 2px;background:none;border:0;color:var(--blush);font:500 16px var(--body);text-decoration:underline;cursor:pointer}
.bam.maxed .meter-panel{animation:shake .5s ease}
@keyframes shake{20%{transform:rotate(-1deg)}40%{transform:rotate(1deg)}60%{transform:rotate(-.6deg)}80%{transform:rotate(.4deg)}}
@media (max-width:900px){.bam-in{grid-template-columns:1fr}}
@media (max-width:560px){.boosts{grid-template-columns:1fr}}

/* ---- journey ---- */
.journey{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,4vw,56px);align-items:center;padding-block:clamp(80px,8vw,110px) clamp(60px,7vw,96px)}
.journey .h2{font-size:clamp(40px,4.6vw,68px)}
.journey .h2 span{color:var(--orange)}
.steps{list-style:none;margin:26px 0 0;padding:0}
.steps li{position:relative;margin-left:22px;padding:0 0 22px 32px;border-left:4px dashed var(--orange)}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps .n{position:absolute;left:-26px;top:-4px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink);border:4px solid var(--ink);border-radius:50%;font-family:var(--display);font-size:22px}
.steps li:last-child .n{background:var(--pink)}
.steps strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(21px,1.9vw,26px);color:var(--peach)}
.steps span.t{font-size:17px;color:var(--blush)}
.map{position:relative}
.map img{width:100%;filter:drop-shadow(10px 10px 0 var(--ink))}
.map .sticker{position:absolute;right:10px;top:-10px;background:var(--teal);transform:rotate(4deg)}
@media (max-width:900px){.journey{grid-template-columns:1fr}}

/* ---- cast ---- */
.cast{display:flex;flex-direction:column;gap:36px;padding-block:20px clamp(80px,8vw,110px)}
.cast .h2 .brush{color:var(--pink);-webkit-text-stroke:2px var(--ink)}
.cast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.char{display:flex;flex-direction:column;background:var(--plum2);border:4px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--c);overflow:hidden;transition:transform .15s ease}
.char:hover{transform:translateY(-6px) rotate(.5deg)}
.char-art{height:clamp(160px,21vw,300px);display:flex;align-items:flex-end;justify-content:center;background:var(--c);border-bottom:4px solid var(--ink);overflow:hidden}
.char-art img{height:97%;width:auto}
.char-art.locked{flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--ink)}
.char-art.locked .q{font-family:var(--display);font-size:clamp(76px,10vw,150px);line-height:1;color:var(--plum2);-webkit-text-stroke:3px var(--yellow)}
.char-art.locked .lock{display:flex;align-items:center;gap:7px;padding:5px 12px;border:2px solid var(--yellow);border-radius:999px;font-family:var(--display);font-size:clamp(11px,1.2vw,16px);letter-spacing:.06em;color:var(--yellow)}
.char-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 24px}
.role{align-self:flex-start;padding:3px 11px;background:var(--c);color:var(--ink);border:2px solid var(--ink);border-radius:8px;font-family:var(--display);font-size:clamp(11px,1.1vw,15px);letter-spacing:.08em}
.role.w{color:var(--white)}
.char h3{font-size:clamp(24px,2.6vw,38px);line-height:1;color:var(--peach)}
.char p{font-size:clamp(13px,1.2vw,17px);line-height:1.5;color:var(--blush)}
@media (max-width:1100px){.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cast-grid{gap:14px}.char{border-width:3px;border-radius:16px;box-shadow:5px 5px 0 var(--c)}.char-body{padding:10px 12px 14px}}

/* ---- crew ---- */
.crew{display:flex;flex-direction:column;gap:40px;padding-block:20px clamp(80px,8vw,110px)}
.crew .h2 .brush{color:var(--sky)}
.crew-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.player{display:flex;flex-direction:column;background:var(--plum2);border:5px solid var(--ink);border-radius:28px;box-shadow:10px 10px 0 var(--c);overflow:hidden}
.player-bar{display:flex;justify-content:space-between;padding:11px 24px;background:var(--c);color:var(--ink);border-bottom:5px solid var(--ink);font-family:var(--display);font-size:clamp(16px,1.6vw,22px);letter-spacing:.08em}
.player-bar.w{color:var(--white)}
.player-body{display:flex;gap:24px;padding:28px 28px 32px;align-items:flex-start}
.avatar{flex-shrink:0;width:clamp(76px,9vw,130px);height:clamp(76px,9vw,130px);object-fit:cover;background:var(--c);border:5px solid var(--ink);border-radius:24px}
.player h3{font-size:clamp(28px,2.8vw,40px);color:var(--peach)}
.player .in{display:block;font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--c);margin:4px 0 10px}
.player p{font-size:17px;color:var(--blush)}
.quote{margin:14px 0 0;padding:13px 17px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);border-radius:16px;font-family:var(--display);font-size:clamp(18px,1.7vw,22px);line-height:1.25;transform:rotate(-1deg)}
@media (max-width:900px){.crew-grid{grid-template-columns:1fr}}
@media (max-width:560px){.player-body{flex-direction:column;padding:20px}}

/* ---- blog ---- */
.blog{display:flex;flex-direction:column;gap:34px;padding-block:20px clamp(70px,7vw,96px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.post{display:flex;flex-direction:column;gap:16px;min-height:200px;padding:26px;background:var(--c);color:var(--ink);border:4px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);text-decoration:none;transition:transform .15s ease}
.post:hover{transform:translateY(-6px) rotate(-.5deg);color:var(--ink)}
.post .k{align-self:flex-start;padding:3px 12px;background:var(--ink);color:var(--c);border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.08em}
.post .t{flex-grow:1;font-family:var(--display);font-size:clamp(24px,2.3vw,32px);line-height:1.1}
.post .r{font-weight:700;font-size:17px}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr}.post{min-height:0}}

/* ---- launch ---- */
.launch{padding-block:clamp(90px,10vw,140px) clamp(60px,7vw,96px)}
.launch-box{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:36px;align-items:center;padding:clamp(24px,4vw,56px) clamp(20px,4vw,60px);background:var(--pink);color:var(--ink);border:6px solid var(--ink);border-radius:36px;box-shadow:14px 14px 0 var(--ink)}
.launch h2{font-size:clamp(44px,5.4vw,78px);line-height:.95;color:var(--white);text-shadow:5px 5px 0 var(--ink)}
.launch-copy{display:flex;flex-direction:column;gap:16px}
.launch-copy p{max-width:560px;font-weight:500;font-size:clamp(16px,1.4vw,20px)}
.socials{display:flex;gap:12px;flex-wrap:wrap}
.socials a{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;background:var(--peach);color:var(--ink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);font-weight:700;font-size:16px;text-decoration:none}
.signup{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--night);border:4px solid var(--ink);border-radius:24px}
.signup label{font-family:var(--display);font-size:21px;color:var(--peach);letter-spacing:.04em}
.signup input{padding:15px 17px;background:var(--peach);color:var(--ink);border:3px solid var(--ink);border-radius:14px;font:18px var(--body)}
.signup .note{font-size:14px;color:var(--blush)}
.signup .done{font-family:var(--display);font-size:20px;color:var(--yellow)}
.launch-box .peek{position:absolute;right:-26px;top:clamp(-190px,-13vw,-120px);height:clamp(140px,16vw,230px);width:auto;filter:drop-shadow(6px 6px 0 var(--ink))}
@media (max-width:900px){.launch-box{grid-template-columns:1fr}}

/* ---- footer ---- */
.site-footer{background:var(--ink);border-top:5px solid var(--pink);padding-block:36px 44px;padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))}
.foot{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;font-size:15px;color:var(--blush)}
.foot-id{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.foot-id img{height:60px;width:auto}
.foot nav{display:flex;gap:10px 22px;flex-wrap:wrap;font-weight:500;font-size:16px}

.preview-note{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 10px 8px 16px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink);font-size:14px;font-weight:500}
.preview-note button{flex-shrink:0;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;background:var(--white);cursor:pointer;font-weight:700}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* =====================================================================
   Multi-page additions
   ===================================================================== */
.nav a[aria-current="page"]{background:var(--pink);color:var(--white)}
.mobile-nav a[aria-current="page"]{background:var(--pink);color:var(--white)}
.section{padding-block:clamp(70px,8vw,110px)}
.section--tight{padding-block:clamp(40px,5vw,70px)}
.band{background:var(--plum);border-block:5px solid var(--ink)}
.stack{display:flex;flex-direction:column;gap:20px}
.center{text-align:center;align-items:center}
.muted{color:var(--blush)}

/* ---- sub-page hero ---- */
.page-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,56px);align-items:center;padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,96px)}
.page-hero h1{font-size:clamp(54px,7.4vw,108px);line-height:.9;color:var(--peach);text-shadow:6px 6px 0 var(--ink)}
.page-hero h1 .brush{display:inline-block;color:var(--pink);-webkit-text-stroke:clamp(2px,.3vw,4px) var(--ink);transform:rotate(-4deg)}
.page-hero .sticker{align-self:flex-start;transform:rotate(-3deg)}
.page-hero-art{position:relative;justify-self:center;width:100%;max-width:560px}
.page-hero-art .frame{transform:rotate(3deg);border:6px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:14px 14px 0 var(--ink);background:var(--ink)}
.page-hero-art .badge{position:absolute;filter:drop-shadow(6px 6px 0 var(--ink))}
.crumbs{font-size:15px;font-weight:500;color:var(--blush)}
.crumbs a{color:var(--blush)}
@media (max-width:900px){.page-hero{grid-template-columns:1fr}}

/* ---- feature rows (game page) ---- */
.features{display:flex;flex-direction:column;gap:clamp(56px,7vw,100px)}
.feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,64px);align-items:center}
.feature:nth-child(even) .feature-media{order:2}
.feature-media{position:relative}
.feature-media .frame{padding:clamp(8px,1vw,14px);background:var(--ink);border-radius:clamp(20px,2.4vw,32px);box-shadow:12px 12px 0 var(--c,var(--pink));transform:rotate(-1.5deg)}
.feature:nth-child(even) .feature-media .frame{transform:rotate(1.5deg)}
.feature-media .frame img{width:100%;border-radius:clamp(12px,1.5vw,20px)}
.feature-media .sticker{position:absolute;left:-12px;top:-22px;background:var(--c,var(--pink));transform:rotate(-5deg)}
.feature-copy{display:flex;flex-direction:column;gap:16px}
.feature-copy h3{font-size:clamp(34px,3.6vw,54px);line-height:1;color:var(--peach);text-shadow:4px 4px 0 var(--ink)}
.feature-copy .kicker{font-family:var(--display);font-size:clamp(15px,1.4vw,19px);letter-spacing:.08em;color:var(--c,var(--pink))}
.feature-copy p{font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:var(--blush)}
.checks{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:17px;color:var(--peach)}
.checks li::before{content:"";flex-shrink:0;width:22px;height:22px;margin-top:3px;border:3px solid var(--ink);border-radius:7px;background:var(--c,var(--yellow)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314060F' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat}
@media (max-width:900px){.feature{grid-template-columns:1fr}.feature:nth-child(even) .feature-media{order:0}}

/* ---- worlds ---- */
.worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.world{display:flex;flex-direction:column;gap:12px;padding:26px;background:var(--plum2);border:4px solid var(--ink);border-radius:24px;box-shadow:8px 8px 0 var(--c)}
.world .state{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--c);color:var(--ink);font-family:var(--display);font-size:14px;letter-spacing:.06em}
.world h3{font-size:clamp(28px,2.6vw,36px);color:var(--peach)}
.world p{font-size:17px;color:var(--blush)}
.world.locked{background:repeating-linear-gradient(-45deg,#240C20 0 16px,#2B1027 16px 32px)}
@media (max-width:900px){.worlds{grid-template-columns:1fr}}

/* ---- about ---- */
.mv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.mv-card{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3vw,40px);background:var(--c);color:var(--ink);border:5px solid var(--ink);border-radius:28px;box-shadow:10px 10px 0 var(--ink)}
.mv-card .eyebrow{letter-spacing:.1em}
.mv-card h2{font-size:clamp(36px,3.8vw,56px);line-height:1}
.mv-card p{font-size:clamp(16px,1.4vw,19px);line-height:1.6;font-weight:500}
.origin{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:center}
.origin-art{position:relative;max-width:460px;justify-self:center;width:100%}
.origin-art img{width:100%;filter:drop-shadow(10px 10px 0 var(--ink))}
.speech{position:relative;padding:clamp(22px,3vw,36px);background:var(--peach);color:var(--ink);border:5px solid var(--ink);border-radius:28px;box-shadow:10px 10px 0 var(--ink)}
.speech p{font-size:clamp(16px,1.4vw,19px);line-height:1.65}
.speech p+p{margin-top:14px}
.speech .who{display:block;margin-top:16px;font-family:var(--display);font-size:20px;color:var(--plum)}
.bigquote{font-family:var(--display);font-size:clamp(40px,5.6vw,88px);line-height:.98;color:var(--yellow);text-shadow:6px 6px 0 var(--ink);text-wrap:balance}
.bigquote .brush{color:var(--pink);-webkit-text-stroke:3px var(--ink)}
.bigquote-by{font-family:var(--display);font-size:22px;color:var(--peach);letter-spacing:.04em}
@media (max-width:900px){.mv,.origin{grid-template-columns:1fr}}

/* ---- blog index ---- */
.blog-tools{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chipbtn{padding:9px 16px;background:var(--plum2);color:var(--peach);border:3px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font-family:var(--display);font-size:16px;letter-spacing:.03em;cursor:pointer}
.chipbtn[aria-pressed="true"]{background:var(--yellow);color:var(--ink)}
.chipbtn .ct{opacity:.7;margin-left:4px;font-family:var(--body);font-weight:700;font-size:13px}
.search{position:relative;flex:1 1 260px;max-width:380px}
.search input{width:100%;padding:13px 16px 13px 46px;background:var(--peach);color:var(--ink);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);font:17px var(--body)}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%)}
.featured{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0;background:var(--yellow);color:var(--ink);border:5px solid var(--ink);border-radius:30px;box-shadow:12px 12px 0 var(--ink);overflow:hidden;text-decoration:none}
.featured:hover{color:var(--ink)}
.featured-copy{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3.4vw,48px)}
.featured-copy h2{font-size:clamp(32px,3.6vw,54px);line-height:1}
.featured-copy p{font-size:18px;line-height:1.6}
.featured-art{display:flex;align-items:center;justify-content:center;background:var(--pink);border-left:5px solid var(--ink);padding:24px}
.featured-art span{font-family:var(--brush);font-size:clamp(60px,8vw,120px);color:var(--yellow);-webkit-text-stroke:3px var(--ink);text-shadow:6px 6px 0 var(--ink);transform:rotate(-8deg)}
.pill{align-self:flex-start;padding:4px 12px;background:var(--ink);color:var(--c,var(--yellow));border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.meta{font-size:14px;font-weight:700;letter-spacing:.04em;opacity:.8}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--c);color:var(--ink);border:4px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--ink);text-decoration:none;transition:transform .15s ease}
.card:hover{transform:translateY(-5px) rotate(-.4deg);color:var(--ink)}
.card h3{font-size:clamp(22px,1.9vw,27px);line-height:1.1;flex-grow:0}
.card p{font-size:15px;line-height:1.55;flex-grow:1}
.card .r{font-weight:700;font-size:16px}
.card[hidden]{display:none}
.empty{padding:40px;text-align:center;font-family:var(--display);font-size:26px;color:var(--peach)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards{grid-template-columns:1fr}.featured{grid-template-columns:1fr}.featured-art{border-left:0;border-top:5px solid var(--ink);padding:14px}}

/* ---- article ---- */
.article-top{display:flex;flex-direction:column;gap:18px;max-width:900px;padding-block:clamp(24px,4vw,48px) 36px}
.article-top h1{font-size:clamp(40px,5.2vw,74px);line-height:.98;color:var(--peach);text-shadow:5px 5px 0 var(--ink)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,3vw,44px);align-items:start;padding-bottom:clamp(60px,7vw,100px)}
.paper{padding:clamp(22px,4vw,56px);background:var(--peach);color:#2A1426;border:5px solid var(--ink);border-radius:28px;box-shadow:12px 12px 0 var(--ink);font-size:clamp(17px,1.3vw,19px);line-height:1.75}
.paper > *{max-width:72ch}
.paper p{margin:0 0 1.1em}
.paper h2,.paper h3,.paper h4{font-family:var(--display);font-weight:400;color:var(--plum);line-height:1.1;margin:1.6em 0 .6em}
.paper h2{font-size:clamp(28px,2.6vw,36px)}.paper h3{font-size:clamp(23px,2vw,28px)}.paper h4{font-size:21px}
.paper p > strong:only-child{font-family:var(--display);font-weight:400;font-size:1.35em;color:var(--plum)}
.paper ul,.paper ol{margin:0 0 1.2em;padding-left:1.3em}
.paper li{margin-bottom:.5em}
.paper li::marker{color:var(--pink);font-weight:700}
.paper a{color:#B01F6E;font-weight:500;text-decoration-thickness:2px;text-underline-offset:3px}
.paper a:hover{color:var(--ink)}
.paper img{margin:1.2em 0;border:4px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);background:#e9cdb9}
.paper table{border-collapse:collapse;margin:0 0 1.2em;display:block;overflow-x:auto}
.paper td,.paper th{border:2px solid var(--ink);padding:8px 12px}
.paper blockquote{margin:0 0 1.2em;padding:12px 18px;border-left:6px solid var(--pink);background:rgba(231,59,148,.08);border-radius:0 12px 12px 0}
.aside{position:sticky;top:120px;display:flex;flex-direction:column;gap:22px}
.aside-card{display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--plum2);border:4px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--c,var(--pink))}
.aside-card h2{font-size:26px;line-height:1.05;color:var(--peach)}
.aside-card p{font-size:15px;color:var(--blush)}
.aside-card img{width:120px;align-self:center;filter:drop-shadow(5px 5px 0 var(--ink))}
.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.post-nav a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--plum2);color:var(--peach);border:4px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);text-decoration:none;font-family:var(--display);font-size:20px;line-height:1.15}
.post-nav a span{font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--yellow)}
.post-nav a.next{text-align:right}
.post-nav a:hover{background:var(--pink);color:var(--white)}
@media (max-width:1000px){.article-layout{grid-template-columns:1fr}.aside{position:static}}
@media (max-width:560px){.post-nav{grid-template-columns:1fr}.post-nav a.next{text-align:left}}

/* ---- support ---- */
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.contact-card{display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--c);color:var(--ink);border:4px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 var(--ink);text-decoration:none}
.contact-card:hover{color:var(--ink)}
.contact-card .ic{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--ink);border-radius:16px}
.contact-card h3{font-size:26px}
.contact-card .v{font-weight:700;font-size:18px;word-break:break-word}
.contact-card p{font-size:15px}
.form-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:start}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:clamp(22px,3vw,36px);background:var(--night);border:5px solid var(--ink);border-radius:28px;box-shadow:12px 12px 0 var(--pink)}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--display);font-size:18px;letter-spacing:.03em;color:var(--peach)}
.field label .req{color:var(--pink)}
.field input,.field textarea,.field select{padding:13px 15px;background:var(--peach);color:var(--ink);border:3px solid var(--ink);border-radius:12px;font:17px var(--body)}
.field textarea{min-height:140px;resize:vertical}
.form .btn{grid-column:1/-1;justify-self:start}
.form .note{grid-column:1/-1;font-size:14px;color:var(--blush)}
.form .note.done{font-family:var(--display);font-size:20px;color:var(--yellow)}
.faq{display:flex;flex-direction:column;gap:14px}
.faq details{background:var(--plum2);border:4px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);overflow:hidden}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--display);font-size:clamp(19px,1.7vw,23px);color:var(--peach)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);border-radius:10px;font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–";background:var(--pink);color:var(--white)}
.faq details[open] summary{border-bottom:3px dashed rgba(250,226,103,.35)}
.faq .a{padding:16px 22px 20px;font-size:17px;line-height:1.65;color:var(--blush)}
.faq .a a{color:var(--yellow)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.form-wrap{grid-template-columns:1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}}

/* ---- legal ---- */
.legal .paper h2{font-size:26px}
.faq-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr}}
.page-hero h1 .brush{line-height:1.1;padding-bottom:.08em;transform:rotate(-3deg)}
.page-hero h1{padding-bottom:.1em}
@media (max-width:560px){.preview-note{font-size:12px;padding:5px 6px 5px 12px;gap:6px}.preview-note button{width:24px;height:24px}}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn:disabled{opacity:.6;cursor:wait}
.signup .note.done{font-family:var(--display);font-size:20px;color:var(--yellow)}

/* ---- Artist Results form embeds ---- */
.ar-embed{display:flex;flex-direction:column;gap:10px;min-width:0}
.ar-embed iframe{display:block;width:100%;border:0;background:#101014;border:4px solid var(--ink);border-radius:24px;box-shadow:8px 8px 0 var(--ink);transition:height .2s ease}
.ar-embed--contact iframe{box-shadow:12px 12px 0 var(--pink);border-width:5px;border-radius:28px}
.ar-fallback{font-size:14px;color:var(--ink);font-weight:500}
.ar-embed--contact .ar-fallback{color:var(--blush)}
.ar-fallback a{color:inherit;text-decoration:underline}
.ar-embed--contact{max-width:560px}
.ar-embed--contact iframe{background:#0B0C0F}
.contact-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.contact-grid--two{grid-template-columns:1fr}}
.contact-card .cc-title{font-family:var(--display);font-weight:400;font-size:26px;margin:0}
