@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Orbitron:wght@500;700;800;900&display=swap');

:root{
  --bg:#05030a;
  --bg2:#0a0512;
  --panel:rgba(13,8,18,.76);
  --panel-2:rgba(22,13,20,.88);
  --panel-3:rgba(26,15,22,.96);
  --line:rgba(255,176,95,.18);
  --line-strong:rgba(255,196,132,.32);
  --text:#f7f1ea;
  --muted:#d0bdad;
  --accent:#ff9b49;
  --accent-2:#ffd1a2;
  --cyan:#ffbe74;
  --pink:#ff7d43;
  --shadow:0 18px 60px rgba(10,4,2,.48), inset 0 1px 0 rgba(255,255,255,.03);
  --glow-soft:0 0 0 1px rgba(255,179,102,.12), 0 0 32px rgba(255,132,66,.18);
  --radius:28px;
  --max:1360px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:Inter,system-ui,sans-serif;
  background:
    radial-gradient(1000px 700px at 18% 12%, rgba(255,151,56,.10), transparent 55%),
    radial-gradient(1000px 700px at 78% 14%, rgba(255,84,0,.10), transparent 58%),
    radial-gradient(800px 520px at 50% 0%, rgba(104,63,255,.16), transparent 48%),
    linear-gradient(180deg, #030208 0%, #07030d 52%, #04030a 100%);
  min-height:100vh;
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
body::before{
  opacity:.12;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.5), rgba(0,0,0,0));
}
body::after{
  opacity:.05;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px);
}
body.modal-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}

.neon-shell,.project-single,.page-shell{position:relative;z-index:1}
.section-frame{width:min(calc(100vw - 48px), var(--max));margin:0 auto}
body.admin-bar .intro-overlay{top:32px;height:calc(100vh - 32px)}
@media (max-width:782px){body.admin-bar .intro-overlay{top:46px;height:calc(100vh - 46px)}}

.ambient-video-wrap{position:fixed;inset:0;z-index:-2;background-size:cover;background-position:center;overflow:hidden}
.ambient-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;filter:brightness(.45) saturate(1.18) contrast(1.08)}
.ambient-video__overlay{position:absolute;inset:0;background:
  radial-gradient(circle at 16% 15%, rgba(0,186,255,.08), transparent 22%),
  radial-gradient(circle at 84% 15%, rgba(255,0,128,.09), transparent 24%),
  radial-gradient(circle at 50% 0, rgba(116,72,255,.16), transparent 28%),
  linear-gradient(180deg, rgba(4,3,8,.30), rgba(4,3,8,.78) 55%, rgba(4,3,8,.94));}
.ambient-video__grid{position:absolute;inset:0;background:
  linear-gradient(rgba(124,230,255,.035) 1px, transparent 1px),
  linear-gradient(90deg, rgba(147,112,255,.03) 1px, transparent 1px);background-size:110px 110px;opacity:.18}
.ambient-video__vignette{position:absolute;inset:0;box-shadow:inset 0 0 180px rgba(0,0,0,.65)}

/* intro */
.intro-overlay{
  position:fixed;inset:0;z-index:60;display:grid;place-items:center;overflow:hidden;
  background:rgba(2,1,5,.9);transition:opacity .9s ease, transform 1.0s cubic-bezier(.22,.61,.36,1);
}
.intro-overlay.is-exiting{opacity:0;transform:translateY(-10vh) scale(.985)}
.intro-overlay__bg,.intro-noise,.intro-scanline{position:absolute;inset:0}
.intro-overlay__bg{background:
  radial-gradient(circle at 18% 22%, rgba(0,196,255,.08), transparent 18%),
  radial-gradient(circle at 80% 18%, rgba(255,0,153,.09), transparent 20%),
  radial-gradient(circle at 50% 34%, rgba(134,94,255,.22), transparent 22%),
  linear-gradient(180deg, rgba(2,1,4,.55), rgba(2,1,4,.90));z-index:1}
.intro-noise{opacity:.06;z-index:2;background:repeating-linear-gradient(180deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px)}
.intro-scanline{opacity:.08;z-index:2;background:linear-gradient(180deg, transparent 0, rgba(125,255,255,.08) 50%, transparent 100%);background-size:100% 5px;mix-blend-mode:screen}
.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:brightness(.44) saturate(1.2)}
.intro-copy{position:relative;z-index:3;width:min(92vw,940px);padding:24px;text-align:center}
.eyebrow{display:inline-block;font-family:Orbitron,sans-serif;letter-spacing:.28em;text-transform:uppercase;font-size:11px;color:#ddd1ff;opacity:.9;margin-bottom:16px}
.intro-card{
  position:relative;padding:34px 38px 34px;border-radius:32px;background:linear-gradient(180deg, rgba(13,9,27,.70), rgba(8,6,18,.82));
  border:1px solid rgba(152,126,255,.15);box-shadow:0 26px 100px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.03);
}
.intro-card::before{
  content:"";position:absolute;inset:18px;border-radius:28px;border:1px solid rgba(155,126,255,.18);pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,238,255,.04), 0 0 40px rgba(140,110,255,.08);
}
.press-start{
  position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:228px;padding:20px 40px;border-radius:28px;
  border:1px solid rgba(159,139,255,.22);color:#f4efff;background:linear-gradient(180deg, rgba(7,5,15,.84), rgba(15,9,29,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(255,255,255,.02), 0 18px 60px rgba(33,12,77,.34);
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.press-start:hover,.press-start:focus-visible{transform:translateY(-2px);border-color:rgba(186,173,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(166,149,255,.12), 0 20px 70px rgba(66,33,145,.32), 0 0 30px rgba(125,101,255,.16)}
.press-start span{font-family:Orbitron,sans-serif;font-weight:800;font-size:clamp(48px,8vw,106px);line-height:.92;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 18px rgba(255,255,255,.06)}
.intro-subtitle{margin:18px 0 16px;color:var(--muted);font-size:clamp(16px,2vw,19px)}
.intro-progress{display:grid;grid-template-columns:118px 1fr 54px;align-items:center;gap:14px;margin-top:14px}
.intro-progress__label,.intro-progress__value{font-family:Orbitron,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#ebe0ff}
.intro-progress__track{position:relative;height:18px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,165,100,.14);overflow:hidden;box-shadow:inset 0 0 18px rgba(0,0,0,.28)}
.intro-progress__track::after{content:"";position:absolute;inset:2px;border-radius:999px;background:repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 16px, rgba(255,255,255,.04) 16px 18px);opacity:.32;pointer-events:none;z-index:2;mix-blend-mode:screen}
.intro-progress__fill{position:absolute;left:0;top:2px;bottom:2px;width:0%;min-width:0;border-radius:999px;background:linear-gradient(90deg, #ffb55d 0%, #ff8c4b 55%, #ff6a3d 100%);box-shadow:0 0 18px rgba(255,140,75,.35);transition:width .12s linear;z-index:1;display:block}
.intro-boot{margin:18px auto 0;max-width:420px;padding:18px 20px;border-radius:22px;background:rgba(9,7,18,.55);border:1px solid rgba(150,122,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);text-align:left;min-height:122px}
.intro-boot.is-hidden{visibility:hidden}
.intro-boot span{display:block;min-height:1.6em;font-family:Orbitron,sans-serif;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#e6dcff;opacity:0;transition:opacity .18s ease}
.intro-boot span:not(:empty){opacity:1}
.intro-boot span.is-active::after{content:"_";color:var(--cyan);margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* main */
.levels-screen{padding:74px 0 96px}
.game-headline{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:26px;margin-bottom:28px}
.game-headline__copy{position:relative;padding:28px 34px 24px;border-radius:30px;background:linear-gradient(180deg, rgba(12,9,24,.58), rgba(10,8,20,.78));border:1px solid rgba(255,164,92,.12);box-shadow:var(--shadow)}
.game-headline__copy h1{margin:0;font-family:Orbitron,sans-serif;font-weight:800;font-size:clamp(78px,12vw,168px);line-height:.85;letter-spacing:-.02em;text-transform:uppercase;color:#dac6ff}
.game-headline__copy p{margin:14px 0 0;font-size:clamp(18px,2vw,20px);color:var(--muted)}
.game-headline__actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;justify-self:end;width:220px;padding-top:6px}
.menu-link-button{width:100%;min-width:0;padding:18px 22px;border-radius:24px;background:linear-gradient(180deg, rgba(18,11,20,.76), rgba(12,8,18,.90));border:1px solid rgba(255,170,97,.16);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.menu-link-button:hover,.menu-link-button:focus-visible{transform:translateX(-4px);border-color:rgba(255,199,145,.34);box-shadow:0 20px 50px rgba(22,8,1,.45), 0 0 0 1px rgba(255,195,132,.08)}
.menu-link-button span{display:block;font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);opacity:.86}
.menu-link-button strong{display:block;font-family:Orbitron,sans-serif;font-size:clamp(24px,2.2vw,34px);letter-spacing:.04em;line-height:1.05;margin-top:8px}
.menu-link-button--ghost{display:none}

.map-stage.game-map-shell{position:relative;min-height:980px;padding:110px 90px 130px;border-radius:34px;overflow:hidden;background:linear-gradient(180deg, rgba(11,8,22,.62), rgba(6,5,13,.82));border:1px solid rgba(255,165,96,.12);box-shadow:var(--shadow)}
.map-stage.game-map-shell::before{content:"";position:absolute;inset:14px;border-radius:28px;border:1px solid rgba(255,167,98,.06);pointer-events:none}
.map-stage.game-map-shell::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 16%, rgba(255,170,94,.05), transparent 22%), radial-gradient(circle at 80% 18%, rgba(255,97,45,.05), transparent 24%);pointer-events:none}
.map-stage__sky,.map-svg,.map-nodes{position:relative;z-index:1}
.map-stage__sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.map-stage__stars,.map-stage__mesh,.map-stage__comet,.map-stage__glow-orb,.map-stage__grid-halo,.map-stage__distant-city,.map-stage__arc{position:absolute}
.map-stage__stars{inset:0;opacity:.55;background:
  radial-gradient(circle at 10% 22%, rgba(255,255,255,.95) 0 1px, transparent 1.6px),
  radial-gradient(circle at 28% 62%, rgba(255,255,255,.75) 0 1px, transparent 1.6px),
  radial-gradient(circle at 45% 18%, rgba(255,255,255,.85) 0 1px, transparent 1.5px),
  radial-gradient(circle at 60% 78%, rgba(255,255,255,.78) 0 1.1px, transparent 1.7px),
  radial-gradient(circle at 74% 24%, rgba(255,255,255,.75) 0 1px, transparent 1.6px),
  radial-gradient(circle at 86% 58%, rgba(255,255,255,.82) 0 1px, transparent 1.6px),
  radial-gradient(circle at 18% 84%, rgba(255,255,255,.7) 0 1px, transparent 1.6px),
  radial-gradient(circle at 90% 12%, rgba(255,255,255,.78) 0 1px, transparent 1.6px);
}
.map-stage__mesh{inset:auto -8% -2% -8%;height:64%;background:
  linear-gradient(135deg, rgba(120,90,255,.08), transparent 30%),
  repeating-linear-gradient(135deg, rgba(154,129,255,.045) 0 14px, transparent 14px 30px);
  opacity:.55;transform:skewY(-10deg)
}
.map-stage__glow-orb{border-radius:50%;filter:blur(18px);opacity:.16}
.map-stage__glow-orb--one{width:260px;height:260px;left:-80px;top:160px;background:rgba(255,176,88,.28)}
.map-stage__glow-orb--two{width:320px;height:320px;right:-120px;top:80px;background:rgba(255,103,57,.18)}
.map-stage__comet{width:220px;height:2px;background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,190,111,.95), rgba(255,255,255,0));opacity:.5;filter:blur(.3px);transform:rotate(-22deg);animation:comet 11s linear infinite}
.map-stage__comet::after{content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 16px rgba(255,184,106,.85)}
.map-stage__comet--one{top:16%;left:-16%;animation-delay:-2s}
.map-stage__comet--two{top:52%;left:-20%;animation-delay:-7s;opacity:.35}
@keyframes comet{0%{transform:translateX(0) translateY(0) rotate(-22deg);opacity:0}10%{opacity:.4}100%{transform:translateX(1400px) translateY(260px) rotate(-22deg);opacity:0}}

.map-stage__hud{position:absolute;top:22px;padding:14px 18px;border-radius:20px;background:rgba(9,7,18,.68);border:1px solid rgba(255,168,99,.10);backdrop-filter:blur(12px);z-index:2}
.map-stage__hud span{display:block;font-family:Orbitron,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.map-stage__hud strong{display:block;font-family:Orbitron,sans-serif;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#f5efff;margin-top:6px}
.map-stage__hud--left{left:24px}
.map-stage__hud--right{right:24px;text-align:right}

.map-svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.map-road-edge{fill:none;stroke:rgba(255,239,218,.88);stroke-width:94;stroke-linecap:round;stroke-linejoin:round;filter:url(#mapRoadBlur)}
.map-road{fill:none;stroke:url(#mapRoadGlowGradient);stroke-width:78;stroke-linecap:round;stroke-linejoin:round}
.map-road-glow{fill:none;stroke:rgba(255,143,74,.20);stroke-width:94;stroke-linecap:round;stroke-linejoin:round}
.map-road-center{fill:none;stroke:rgba(255,122,53,.72);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 22}

.map-nodes{position:relative;z-index:2;padding-top:60px}
.map-node{position:relative;display:flex;justify-content:center}
.map-node + .map-node{margin-top:var(--node-gap, 108px)}
.map-node__anchor{position:relative;transform:translateX(var(--node-shift,0px));display:inline-flex;flex-direction:column;align-items:center}
.node-button{position:relative;width:156px;height:156px;display:grid;place-items:center;z-index:2}
.node-button__ring,.node-button__glow,.node-button__core{position:absolute;inset:0;border-radius:50%}
.node-button__ring{inset:6px;border:3px solid rgba(255,224,184,.74);box-shadow:0 0 0 1px rgba(255,194,128,.10), 0 0 28px rgba(255,151,65,.18)}
.node-button__glow{inset:-10px;background:radial-gradient(circle, rgba(255,167,95,.22), rgba(0,0,0,0) 70%);filter:blur(10px)}
.node-button__core{inset:14px;background:linear-gradient(180deg, rgba(255,246,234,.16), rgba(122,69,18,.10)), radial-gradient(circle at 35% 28%, rgba(255,255,255,.42), rgba(255,255,255,.06) 38%, rgba(14,9,32,.98) 78%);border:1px solid rgba(255,227,198,.13);box-shadow:inset 0 10px 22px rgba(255,255,255,.10), inset 0 -20px 30px rgba(40,15,3,.72), 0 14px 30px rgba(0,0,0,.34);overflow:hidden;display:grid;place-items:center}
.node-button__core strong{font-family:Orbitron,sans-serif;font-size:40px;letter-spacing:.02em;color:#fff0dd}
.node-button__core.has-image{background-size:cover;background-position:center}
.node-button__core.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,8,24,.05), rgba(12,8,24,.74))}
.node-button__badge{position:absolute;top:4px;left:50%;transform:translateX(-50%);max-width:240px;white-space:nowrap;padding:10px 16px;border-radius:999px;background:linear-gradient(180deg, rgba(42,20,7,.94), rgba(26,13,8,.96));border:1px solid rgba(255,179,114,.18);font-family:Orbitron,sans-serif;font-size:14px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 20px rgba(0,0,0,.26)}
.node-button__index{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:10px 14px;border-radius:999px;background:rgba(18,10,6,.92);border:1px solid rgba(255,180,111,.14);font-family:Orbitron,sans-serif;font-size:14px;letter-spacing:.06em}
.map-node.is-highlighted .node-button__ring,.map-node:hover .node-button__ring,.map-node:focus-within .node-button__ring{border-color:rgba(255,238,214,.95);box-shadow:0 0 0 1px rgba(255,196,124,.18), 0 0 48px rgba(255,153,82,.26)}
.map-node.is-highlighted .node-button__glow,.map-node:hover .node-button__glow,.map-node:focus-within .node-button__glow{background:radial-gradient(circle, rgba(255,177,108,.32), rgba(0,0,0,0) 72%)}
.map-node.is-highlighted .node-button__badge,.map-node:hover .node-button__badge,.map-node:focus-within .node-button__badge{border-color:rgba(255,199,145,.28)}

.node-chip{position:absolute;top:50%;min-width:320px;max-width:360px;padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg, rgba(14,10,28,.88), rgba(10,8,20,.96));border:1px solid rgba(160,139,255,.16);box-shadow:0 16px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03);opacity:0;pointer-events:none;transform:translateY(-50%) translateX(18px) scale(.98);transition:opacity .18s ease, transform .18s ease;z-index:3}
.map-node--right .node-chip{left:calc(100% + 26px)}
.map-node--left .node-chip{right:calc(100% + 26px);transform:translateY(-50%) translateX(-18px) scale(.98)}
.map-node:hover .node-chip,.map-node:focus-within .node-chip{opacity:1;pointer-events:auto}
.map-node--right:hover .node-chip,.map-node--right:focus-within .node-chip{transform:translateY(-50%) translateX(0) scale(1)}
.map-node--left:hover .node-chip,.map-node--left:focus-within .node-chip{transform:translateY(-50%) translateX(0) scale(1)}
.node-chip__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.node-chip__meta span,.node-chip__tags span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(160,139,255,.10);font-family:Orbitron,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#dcd0ff}
.node-chip strong{display:block;font-family:Orbitron,sans-serif;font-size:26px;line-height:1.04;letter-spacing:.02em;margin-bottom:10px}
.node-chip em{display:block;font-style:normal;color:var(--muted);margin-bottom:12px}
.node-chip__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.node-chip__cta{display:inline-flex;align-items:center;gap:10px;font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}

.empty-state{position:relative;z-index:2;padding:42px;border-radius:28px;background:rgba(11,9,21,.72);border:1px solid rgba(157,133,255,.14);max-width:600px}
.empty-state strong{display:block;font-family:Orbitron,sans-serif;font-size:32px;margin-bottom:10px}
.empty-state p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}

/* generic pages */
.page-shell,.project-single{padding:58px 0 90px}
.generic-page,.project-body{padding:34px;border-radius:30px;background:linear-gradient(180deg, rgba(12,9,24,.70), rgba(9,7,18,.88));border:1px solid rgba(153,129,255,.14);box-shadow:var(--shadow)}
.back-link{display:inline-flex;align-items:center;gap:8px;margin:0 auto 24px;color:var(--cyan);font-family:Orbitron,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.generic-page h1,.project-sidebar h1{margin:0 0 14px;font-family:Orbitron,sans-serif;font-size:clamp(38px,6vw,72px);letter-spacing:.02em;text-transform:uppercase}
.special-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.special-panel{padding:28px;border-radius:24px;background:rgba(255,255,255,.02);border:1px solid rgba(153,129,255,.10)}
.entry-content{color:var(--muted);line-height:1.8;font-size:17px}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stat-box{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(153,129,255,.10)}
.stat-box span{display:block;font-family:Orbitron,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stat-box strong{display:block;margin-top:8px;font-size:22px}
.skills-cloud,.contact-actions,.project-actions,.tech-pills{display:flex;flex-wrap:wrap;gap:10px}
.skills-cloud span,.contact-actions a,.project-actions a,.tech-pills li{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(153,129,255,.12);list-style:none}
.credits-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:18px;border:1px solid rgba(153,129,255,.2)}

.is-single-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:26px}
.project-hero{border-radius:26px;overflow:hidden;border:1px solid rgba(153,129,255,.12);background:rgba(255,255,255,.02)}
.project-hero video,.project-hero img{width:100%;height:auto;display:block}
.project-gallery{margin-top:20px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gallery-grid figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid rgba(153,129,255,.12)}
.project-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.spec-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(153,129,255,.10)}
.spec-item span{display:block;font-family:Orbitron,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.spec-item strong{display:block;margin-top:7px}
.project-lead-copy,.lead{color:var(--muted);line-height:1.7}

.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .55s ease, transform .55s ease}
.reveal-on-scroll.is-visible{opacity:1;transform:none}

@media (max-width:1080px){
  .game-headline{grid-template-columns:1fr}
  .game-headline__actions{justify-content:flex-start;justify-self:auto;width:auto;align-items:flex-start}
  .map-stage.game-map-shell{padding:104px 60px 120px;min-height:920px}
  .special-grid,.is-single-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  .section-frame{width:min(calc(100vw - 24px), var(--max))}
  .intro-copy{padding:14px}
  .intro-card{padding:22px 18px 22px}
  .press-start{min-height:180px}
  .press-start span{font-size:clamp(42px,12vw,76px)}
  .intro-progress{grid-template-columns:1fr;gap:8px}
  .intro-progress__value{text-align:right}
  .levels-screen{padding-top:54px}
  .game-headline__copy{padding:24px 22px 20px}
  .game-headline__copy h1{font-size:clamp(64px,18vw,110px)}
  .game-headline__actions{gap:10px;width:100%}
  .menu-link-button{min-width:unset;flex:none;width:min(260px,100%)}
  .map-stage.game-map-shell{padding:88px 20px 90px;min-height:860px}
  .map-stage__hud{position:static;display:inline-block;margin-bottom:12px}
  .map-node__anchor{transform:none !important}
  .map-node + .map-node{margin-top:88px}
  .node-button{width:128px;height:128px}
  .node-button__core strong{font-size:34px}
  .node-button__badge{max-width:180px;font-size:12px;padding:8px 12px}
  .node-chip{position:relative;top:auto;left:auto !important;right:auto !important;transform:none !important;min-width:0;max-width:min(100%, 320px);margin-top:16px;opacity:1;pointer-events:auto}
  .map-node:hover .node-chip,.map-node:focus-within .node-chip{transform:none}
  .project-specs,.stats-grid,.gallery-grid{grid-template-columns:1fr}
}


/* v11 premium purple polish */
:root{
  --line:rgba(135,110,255,.16);
  --line-strong:rgba(180,158,255,.30);
  --accent:#7f5cff;
  --accent-2:#d4c6ff;
  --cyan:#a88cff;
  --pink:#6f49ff;
  --shadow:0 18px 60px rgba(6,4,16,.52), inset 0 1px 0 rgba(255,255,255,.03);
  --glow-soft:0 0 0 1px rgba(150,128,255,.10), 0 0 32px rgba(113,89,255,.15);
}
body{
  background:
    radial-gradient(1000px 700px at 18% 12%, rgba(76,111,255,.07), transparent 55%),
    radial-gradient(1000px 700px at 78% 14%, rgba(149,58,255,.10), transparent 58%),
    radial-gradient(800px 520px at 50% 0%, rgba(104,63,255,.20), transparent 48%),
    linear-gradient(180deg, #030208 0%, #07030d 52%, #04030a 100%);
}
.ambient-video__overlay{
  background:
    radial-gradient(circle at 16% 15%, rgba(77,119,255,.08), transparent 22%),
    radial-gradient(circle at 84% 15%, rgba(186,77,255,.10), transparent 24%),
    radial-gradient(circle at 50% 0, rgba(116,72,255,.18), transparent 28%),
    linear-gradient(180deg, rgba(4,3,8,.30), rgba(4,3,8,.78) 55%, rgba(4,3,8,.94));
}
.intro-overlay__bg{
  background:
    radial-gradient(circle at 18% 22%, rgba(77,119,255,.08), transparent 18%),
    radial-gradient(circle at 80% 18%, rgba(186,77,255,.10), transparent 20%),
    radial-gradient(circle at 50% 34%, rgba(134,94,255,.24), transparent 22%),
    linear-gradient(180deg, rgba(2,1,4,.55), rgba(2,1,4,.90));
}
.intro-card{
  border:1px solid rgba(147,122,255,.14);
  box-shadow:0 26px 100px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.03), 0 0 0 1px rgba(133,99,255,.06);
}
.intro-card::before{border:1px solid rgba(155,126,255,.16);box-shadow:0 0 0 1px rgba(171,139,255,.05), 0 0 40px rgba(140,110,255,.08)}
.press-start{border:1px solid rgba(159,139,255,.20);background:linear-gradient(180deg, rgba(8,5,18,.86), rgba(15,9,29,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(255,255,255,.02), 0 18px 60px rgba(33,12,77,.26)}
.press-start:hover,.press-start:focus-visible{box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(166,149,255,.12), 0 20px 70px rgba(66,33,145,.26), 0 0 30px rgba(125,101,255,.14)}
.intro-progress__track{background:rgba(255,255,255,.03);border:1px solid rgba(147,122,255,.18)}
.intro-progress__track::after{background:repeating-linear-gradient(90deg, rgba(255,255,255,.01) 0 16px, rgba(255,255,255,.045) 16px 18px);opacity:.28}
.intro-progress__fill{top:1px;bottom:1px;left:1px;width:0%;max-width:none;border-radius:999px;background:linear-gradient(90deg, #5b39d6 0%, #8e63ff 45%, #cdb7ff 100%);box-shadow:0 0 18px rgba(128,95,255,.48), inset 0 0 0 1px rgba(255,255,255,.12);opacity:1;display:block;z-index:1}
.game-headline{grid-template-columns:minmax(0,1fr) 184px;gap:20px}
.game-headline__copy{border:1px solid rgba(138,109,255,.11)}
.game-headline__copy h1{color:#cfb7ff;text-shadow:0 0 10px rgba(156,122,255,.18), 0 0 22px rgba(108,77,204,.12);animation:levelsFlicker 5.6s ease-in-out infinite}
@keyframes levelsFlicker{
  0%,18%,22%,24%,55%,100%{opacity:1;text-shadow:0 0 8px rgba(162,130,255,.18),0 0 20px rgba(114,82,223,.14)}
  20%{opacity:.88;text-shadow:0 0 4px rgba(162,130,255,.09),0 0 10px rgba(114,82,223,.08)}
  56%{opacity:.95;text-shadow:0 0 12px rgba(174,141,255,.24),0 0 28px rgba(114,82,223,.20)}
}
.game-headline__actions{width:184px;justify-self:end;align-items:stretch}
.menu-link-button{width:184px;overflow:hidden;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg, rgba(19,13,34,.78), rgba(12,8,21,.90));border:1px solid rgba(134,105,255,.16);box-shadow:0 18px 42px rgba(7,5,16,.44), inset 0 1px 0 rgba(255,255,255,.03)}
.menu-link-button:hover,.menu-link-button:focus-visible{transform:translateX(-2px);border-color:rgba(177,155,255,.30);box-shadow:0 18px 48px rgba(12,6,30,.44), 0 0 0 1px rgba(177,155,255,.06)}
.menu-link-button strong{font-size:clamp(18px,1.9vw,28px);line-height:1;word-break:break-word}
.menu-link-button span{color:#aa8dff}
.map-stage.game-map-shell{background:linear-gradient(180deg, rgba(11,8,22,.62), rgba(6,5,13,.86));border:1px solid rgba(138,109,255,.11)}
.map-stage.game-map-shell::before{border:1px solid rgba(141,112,255,.05)}
.map-stage.game-map-shell::after{background:radial-gradient(circle at 30% 16%, rgba(119,90,255,.06), transparent 22%), radial-gradient(circle at 80% 18%, rgba(182,89,255,.05), transparent 24%)}
.map-stage__sky::before{content:"";position:absolute;left:-5%;right:-5%;bottom:16%;height:32%;background:radial-gradient(ellipse at center, rgba(108,77,204,.16), rgba(108,77,204,0) 72%);pointer-events:none;filter:blur(24px)}
.map-stage__sky::after{content:"";position:absolute;left:0;right:0;bottom:-4%;height:40%;background:linear-gradient(180deg, transparent, rgba(111,73,255,.06));pointer-events:none}
.map-stage__stars{opacity:.75;background:
  radial-gradient(circle at 6% 12%, rgba(255,255,255,.95) 0 1px, transparent 1.6px),
  radial-gradient(circle at 12% 44%, rgba(255,255,255,.60) 0 1px, transparent 1.8px),
  radial-gradient(circle at 18% 76%, rgba(255,255,255,.72) 0 1px, transparent 1.6px),
  radial-gradient(circle at 24% 32%, rgba(255,255,255,.82) 0 1px, transparent 1.7px),
  radial-gradient(circle at 31% 56%, rgba(255,255,255,.70) 0 1px, transparent 1.6px),
  radial-gradient(circle at 36% 18%, rgba(255,255,255,.88) 0 1px, transparent 1.5px),
  radial-gradient(circle at 43% 68%, rgba(255,255,255,.68) 0 1px, transparent 1.6px),
  radial-gradient(circle at 50% 10%, rgba(255,255,255,.84) 0 1px, transparent 1.6px),
  radial-gradient(circle at 58% 26%, rgba(255,255,255,.70) 0 1px, transparent 1.7px),
  radial-gradient(circle at 64% 72%, rgba(255,255,255,.88) 0 1px, transparent 1.6px),
  radial-gradient(circle at 72% 20%, rgba(255,255,255,.72) 0 1px, transparent 1.7px),
  radial-gradient(circle at 79% 52%, rgba(255,255,255,.68) 0 1px, transparent 1.6px),
  radial-gradient(circle at 86% 14%, rgba(255,255,255,.80) 0 1px, transparent 1.5px),
  radial-gradient(circle at 91% 61%, rgba(255,255,255,.74) 0 1px, transparent 1.6px),
  radial-gradient(circle at 95% 28%, rgba(255,255,255,.58) 0 1px, transparent 1.8px);
  animation:twinkle 8s ease-in-out infinite alternate;
}
@keyframes twinkle{0%{opacity:.55}100%{opacity:.82}}
.map-stage__mesh{inset:auto -10% -5% -10%;height:68%;background:
  linear-gradient(180deg, rgba(84,52,170,0) 0%, rgba(84,52,170,.06) 60%, rgba(84,52,170,.12) 100%),
  repeating-linear-gradient(0deg, rgba(167,140,255,.055) 0 2px, transparent 2px 22px),
  repeating-linear-gradient(90deg, rgba(167,140,255,.045) 0 2px, transparent 2px 36px);
  opacity:.42;transform:perspective(900px) rotateX(76deg) translateY(12%);
}
.map-stage__glow-orb--one{background:rgba(122,94,255,.20)}
.map-stage__glow-orb--two{background:rgba(183,96,255,.14)}
.map-stage__comet{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(204,186,255,.95), rgba(255,255,255,0))}
.map-stage__comet::after{box-shadow:0 0 16px rgba(180,157,255,.85)}
.map-stage__hud{background:rgba(9,7,18,.66);border:1px solid rgba(138,109,255,.10)}
.map-road-edge{stroke:rgba(240,233,255,.88)}
.map-road-glow{stroke:rgba(124,91,255,.22)}
.map-road-center{stroke:rgba(175,147,255,.76)}
.node-button__ring{border-color:rgba(222,211,255,.76);box-shadow:0 0 0 1px rgba(172,150,255,.10), 0 0 28px rgba(118,89,255,.16)}
.node-button__glow{background:radial-gradient(circle, rgba(122,94,255,.24), rgba(0,0,0,0) 70%)}
.node-button__core{background:linear-gradient(180deg, rgba(255,246,255,.16), rgba(60,34,111,.10)), radial-gradient(circle at 35% 28%, rgba(255,255,255,.40), rgba(255,255,255,.08) 38%, rgba(12,9,32,.98) 78%);border:1px solid rgba(222,214,255,.12);box-shadow:inset 0 10px 22px rgba(255,255,255,.10), inset 0 -20px 30px rgba(21,12,47,.72), 0 14px 30px rgba(0,0,0,.34)}
.node-button__core strong{color:#f4eeff}
.node-button__badge{background:linear-gradient(180deg, rgba(35,24,58,.94), rgba(22,15,38,.96));border:1px solid rgba(161,139,255,.18);box-shadow:0 10px 20px rgba(0,0,0,.26), 0 0 18px rgba(109,82,223,.08)}
.node-button__index{background:rgba(20,12,36,.92);border:1px solid rgba(161,139,255,.14)}
.map-node.is-highlighted .node-button__ring,.map-node:hover .node-button__ring,.map-node:focus-within .node-button__ring{border-color:rgba(236,230,255,.96);box-shadow:0 0 0 1px rgba(191,172,255,.16), 0 0 46px rgba(122,94,255,.28)}
.map-node.is-highlighted .node-button__glow,.map-node:hover .node-button__glow,.map-node:focus-within .node-button__glow{background:radial-gradient(circle, rgba(136,109,255,.34), rgba(0,0,0,0) 72%)}
.map-node.is-highlighted .node-button__badge,.map-node:hover .node-button__badge,.map-node:focus-within .node-button__badge{border-color:rgba(184,164,255,.28)}
.node-chip{min-width:340px;max-width:390px;background:linear-gradient(180deg, rgba(14,10,28,.88), rgba(10,8,20,.98));border:1px solid rgba(148,122,255,.16);box-shadow:0 16px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03), 0 0 20px rgba(102,79,197,.06)}
.node-chip__meta span,.node-chip__tags span{background:rgba(255,255,255,.04);border:1px solid rgba(148,122,255,.10);color:#e1d6ff}
.node-chip__tags span{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}
.node-chip__tags span em{font-style:normal;font-family:Orbitron,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#aa8dff;opacity:.9}
.node-chip__cta{color:#b49dff}
@media (max-width:1080px){
  .game-headline{grid-template-columns:1fr}
  .game-headline__actions{justify-self:start;width:100%;max-width:220px}
  .menu-link-button{width:100%}
}


/* ===== v12 premium purple pass ===== */
:root{
  --line: rgba(139,108,255,.14);
  --line-strong: rgba(184,163,255,.22);
  --accent: #8f73ff;
  --accent-2: #c9b7ff;
  --cyan: #ab95ff;
  --pink: #b86fff;
}
body{
  background:
    radial-gradient(1050px 740px at 18% 12%, rgba(31,161,255,.08), transparent 58%),
    radial-gradient(980px 720px at 82% 10%, rgba(168,44,120,.12), transparent 58%),
    radial-gradient(900px 560px at 50% 0%, rgba(98,64,255,.18), transparent 46%),
    linear-gradient(180deg,#030208 0%,#06030c 52%,#04030a 100%);
}
.ambient-video__overlay{
  background:
    radial-gradient(circle at 16% 15%, rgba(0,186,255,.06), transparent 22%),
    radial-gradient(circle at 84% 15%, rgba(212,0,255,.08), transparent 24%),
    radial-gradient(circle at 50% 0, rgba(116,72,255,.18), transparent 28%),
    linear-gradient(180deg, rgba(4,3,8,.42), rgba(4,3,8,.82) 55%, rgba(4,3,8,.96));
}
.intro-overlay{
  background: rgba(2,1,7,.72);
  backdrop-filter: blur(26px) saturate(.92);
  -webkit-backdrop-filter: blur(26px) saturate(.92);
}
.intro-overlay__bg{
  background:
    radial-gradient(circle at 18% 22%, rgba(77,119,255,.06), transparent 18%),
    radial-gradient(circle at 80% 18%, rgba(186,77,255,.08), transparent 20%),
    radial-gradient(circle at 50% 34%, rgba(134,94,255,.28), transparent 22%),
    linear-gradient(180deg, rgba(2,1,5,.74), rgba(2,1,5,.94));
}
.intro-noise{opacity:.03}
.intro-scanline{opacity:.05}
.intro-video{opacity:.12;filter:brightness(.28) saturate(.9) blur(2px)}
.intro-card{
  background: linear-gradient(180deg, rgba(10,7,20,.86), rgba(8,6,16,.92));
  border-color: rgba(131,102,255,.16);
  box-shadow: 0 28px 110px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.03), 0 0 0 1px rgba(133,99,255,.05);
}
.intro-card::before{
  border-color: rgba(148,124,255,.15);
  box-shadow: 0 0 0 1px rgba(171,139,255,.04), 0 0 46px rgba(118,89,255,.08);
}
.press-start{
  border-color: rgba(145,120,255,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px rgba(255,255,255,.02), 0 18px 60px rgba(27,12,68,.28);
}
.press-start span{
  text-shadow: 0 0 10px rgba(229,219,255,.08), 0 0 24px rgba(133,99,255,.08);
}
.intro-progress__track{
  background: rgba(255,255,255,.025);
  border-color: rgba(134,105,255,.16);
  box-shadow: inset 0 0 16px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.015);
}
.intro-progress__fill{
  width: calc(100% - 2px) !important;
  left: 1px;
  right: 1px;
  top: 1px;
  bottom: 1px;
  background: linear-gradient(90deg, #5a39d0 0%, #8861ff 48%, #c8b2ff 100%) !important;
  box-shadow: 0 0 18px rgba(128,95,255,.42), inset 0 0 0 1px rgba(255,255,255,.10);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .12s linear;
  opacity: 1 !important;
}
.game-headline{
  grid-template-columns: minmax(0,1fr) 170px;
  align-items: start;
}
.game-headline__copy{
  border-color: rgba(134,105,255,.10);
  min-width: 0;
}
.game-headline__copy h1{
  color: #cdb6ff;
  text-shadow: 0 0 10px rgba(163,129,255,.24), 0 0 26px rgba(113,82,223,.18), 0 0 50px rgba(113,82,223,.10);
  animation: levelsNeonPulse 4.8s ease-in-out infinite;
}
@keyframes levelsNeonPulse{
  0%, 18%, 22%, 54%, 100%{opacity:1;filter:brightness(1);text-shadow:0 0 8px rgba(163,129,255,.18),0 0 22px rgba(113,82,223,.14),0 0 42px rgba(113,82,223,.10)}
  20%{opacity:.92;filter:brightness(.94);text-shadow:0 0 5px rgba(163,129,255,.12),0 0 14px rgba(113,82,223,.10)}
  56%{opacity:.98;filter:brightness(1.06);text-shadow:0 0 12px rgba(181,150,255,.26),0 0 34px rgba(129,97,237,.24),0 0 58px rgba(129,97,237,.16)}
}
.game-headline__actions{
  width: 170px;
  justify-self: end;
  align-items: stretch;
  gap: 12px;
  padding-top: 4px;
}
.menu-link-button{
  width: 170px;
  padding: 16px 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(20,14,37,.76), rgba(11,8,20,.92));
  border: 1px solid rgba(134,105,255,.14);
  box-shadow: 0 18px 44px rgba(7,5,16,.42), inset 0 1px 0 rgba(255,255,255,.03), 0 0 18px rgba(96,70,188,.06);
  overflow: hidden;
}
.menu-link-button:hover,.menu-link-button:focus-visible{
  border-color: rgba(174,152,255,.26);
  box-shadow: 0 18px 52px rgba(12,6,30,.46), 0 0 0 1px rgba(177,155,255,.05), 0 0 18px rgba(123,97,231,.08);
}
.menu-link-button span{color:#9d84ff;font-size:11px;letter-spacing:.16em}
.menu-link-button strong{font-size: clamp(17px,1.8vw,24px);line-height:1.02;word-break:normal;overflow-wrap:anywhere}
.map-stage.game-map-shell{
  border-color: rgba(134,105,255,.10);
  background: linear-gradient(180deg, rgba(11,8,22,.64), rgba(6,5,13,.88));
}
.map-stage__sky::before{
  background: radial-gradient(ellipse at center, rgba(108,77,204,.18), rgba(108,77,204,0) 72%);
}
.map-stage__stars{
  opacity:.9;
  background:
    radial-gradient(circle at 4% 10%, rgba(255,255,255,.95) 0 1px, transparent 1.6px),
    radial-gradient(circle at 9% 38%, rgba(255,255,255,.55) 0 1px, transparent 1.8px),
    radial-gradient(circle at 12% 76%, rgba(255,255,255,.72) 0 1px, transparent 1.6px),
    radial-gradient(circle at 17% 22%, rgba(255,255,255,.82) 0 1px, transparent 1.7px),
    radial-gradient(circle at 24% 48%, rgba(255,255,255,.70) 0 1px, transparent 1.6px),
    radial-gradient(circle at 29% 14%, rgba(255,255,255,.88) 0 1px, transparent 1.5px),
    radial-gradient(circle at 33% 68%, rgba(255,255,255,.68) 0 1px, transparent 1.6px),
    radial-gradient(circle at 38% 30%, rgba(255,255,255,.84) 0 1px, transparent 1.6px),
    radial-gradient(circle at 44% 54%, rgba(255,255,255,.70) 0 1px, transparent 1.7px),
    radial-gradient(circle at 49% 10%, rgba(255,255,255,.84) 0 1px, transparent 1.6px),
    radial-gradient(circle at 54% 26%, rgba(255,255,255,.70) 0 1px, transparent 1.7px),
    radial-gradient(circle at 60% 72%, rgba(255,255,255,.88) 0 1px, transparent 1.6px),
    radial-gradient(circle at 66% 20%, rgba(255,255,255,.72) 0 1px, transparent 1.7px),
    radial-gradient(circle at 71% 52%, rgba(255,255,255,.68) 0 1px, transparent 1.6px),
    radial-gradient(circle at 76% 16%, rgba(255,255,255,.80) 0 1px, transparent 1.5px),
    radial-gradient(circle at 82% 44%, rgba(255,255,255,.74) 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.80) 0 1px, transparent 1.5px),
    radial-gradient(circle at 92% 61%, rgba(255,255,255,.74) 0 1px, transparent 1.6px),
    radial-gradient(circle at 96% 28%, rgba(255,255,255,.58) 0 1px, transparent 1.8px);
}
.map-stage__mesh{
  opacity:.48;
  background:
    linear-gradient(180deg, rgba(84,52,170,0) 0%, rgba(84,52,170,.05) 60%, rgba(84,52,170,.11) 100%),
    repeating-linear-gradient(0deg, rgba(167,140,255,.06) 0 2px, transparent 2px 22px),
    repeating-linear-gradient(90deg, rgba(167,140,255,.05) 0 2px, transparent 2px 36px);
}
.map-road-edge{stroke: rgba(236,230,255,.84) !important;}
.map-road{stroke: rgba(188,166,255,.30) !important;}
.map-road-glow{stroke: rgba(123,97,231,.24) !important;}
.map-road-center{stroke: rgba(166,139,255,.78) !important;}
.node-button__ring{
  border-color: rgba(222,211,255,.72);
  box-shadow: 0 0 0 1px rgba(172,150,255,.08), 0 0 26px rgba(118,89,255,.14);
}
.node-button__glow{background: radial-gradient(circle, rgba(122,94,255,.22), rgba(0,0,0,0) 70%)}
.node-button__core{
  background: linear-gradient(180deg, rgba(255,246,255,.15), rgba(60,34,111,.10)), radial-gradient(circle at 35% 28%, rgba(255,255,255,.38), rgba(255,255,255,.08) 38%, rgba(12,9,32,.98) 78%) !important;
  border-color: rgba(222,214,255,.10) !important;
  box-shadow: inset 0 10px 22px rgba(255,255,255,.08), inset 0 -20px 30px rgba(21,12,47,.72), 0 14px 30px rgba(0,0,0,.34) !important;
}
.map-node.is-highlighted .node-button__ring,.map-node:hover .node-button__ring,.map-node:focus-within .node-button__ring{
  border-color: rgba(236,230,255,.94);
  box-shadow: 0 0 0 1px rgba(191,172,255,.14), 0 0 42px rgba(122,94,255,.24);
}
.map-node.is-highlighted .node-button__glow,.map-node:hover .node-button__glow,.map-node:focus-within .node-button__glow{background:radial-gradient(circle, rgba(136,109,255,.30), rgba(0,0,0,0) 72%)}
.node-chip{
  min-width: 340px;
  max-width: 390px;
  background: linear-gradient(180deg, rgba(14,10,28,.90), rgba(10,8,20,.98));
  border: 1px solid rgba(148,122,255,.15);
}
.node-chip__tags span em{color:#a58cff}
@media (max-width: 1180px){
  .game-headline{grid-template-columns:minmax(0,1fr) 156px;}
  .game-headline__actions{width:156px}
  .menu-link-button{width:156px;padding:15px 16px}
  .menu-link-button strong{font-size:20px}
}
@media (max-width: 980px){
  .game-headline{grid-template-columns:1fr;}
  .game-headline__actions{width:100%;max-width:220px;justify-self:start}
  .menu-link-button{width:100%}
}


/* v13 ambient world-map polish */
.map-stage.game-map-shell{
  background:
    radial-gradient(1200px 640px at 18% 12%, rgba(59,126,255,.045), transparent 52%),
    radial-gradient(900px 560px at 82% 16%, rgba(178,74,255,.05), transparent 46%),
    linear-gradient(180deg, rgba(11,8,22,.66), rgba(6,5,13,.90));
}
.map-stage.game-map-shell::after{
  background:
    radial-gradient(circle at 22% 20%, rgba(88,117,255,.05), transparent 18%),
    radial-gradient(circle at 78% 18%, rgba(184,89,255,.06), transparent 22%),
    linear-gradient(140deg, transparent 0 42%, rgba(151,123,255,.035) 49%, transparent 56%),
    linear-gradient(215deg, transparent 0 64%, rgba(110,83,234,.03) 72%, transparent 80%);
}
.map-stage__sky::before{
  left:-8%;
  right:-8%;
  bottom:12%;
  height:42%;
  background:
    radial-gradient(ellipse at center, rgba(112,86,210,.20), rgba(112,86,210,.08) 28%, rgba(112,86,210,0) 72%),
    repeating-radial-gradient(circle at 50% 100%, rgba(161,138,255,.11) 0 2px, transparent 2px 22px);
  filter:blur(18px);
  opacity:.9;
}
.map-stage__sky::after{
  left:-5%;
  right:-5%;
  bottom:-2%;
  height:46%;
  background:
    linear-gradient(180deg, transparent 0%, rgba(91,64,170,.035) 44%, rgba(91,64,170,.07) 100%),
    linear-gradient(90deg, transparent 0 10%, rgba(121,97,226,.035) 16%, transparent 22%, transparent 62%, rgba(121,97,226,.03) 68%, transparent 74%),
    radial-gradient(ellipse at 50% 100%, rgba(132,101,238,.13), rgba(132,101,238,0) 70%);
  opacity:.85;
}
.map-stage__stars{
  animation:twinkle 8s ease-in-out infinite alternate, starsFloat 28s ease-in-out infinite alternate;
}
.map-stage__stars::before,
.map-stage__stars::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.map-stage__stars::before{
  opacity:.52;
  background:
    radial-gradient(circle at 7% 18%, rgba(255,255,255,.85) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 15% 58%, rgba(255,255,255,.55) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 21% 81%, rgba(255,255,255,.7) 0 .9px, transparent 1.6px),
    radial-gradient(circle at 29% 27%, rgba(255,255,255,.6) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 41% 40%, rgba(255,255,255,.75) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 47% 71%, rgba(255,255,255,.55) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 57% 19%, rgba(255,255,255,.68) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 67% 61%, rgba(255,255,255,.58) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 74% 34%, rgba(255,255,255,.82) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 83% 74%, rgba(255,255,255,.56) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 91% 23%, rgba(255,255,255,.74) 0 .8px, transparent 1.5px);
  animation:starsFloatFar 42s linear infinite;
}
.map-stage__stars::after{
  opacity:.32;
  background:
    radial-gradient(circle at 12% 26%, rgba(187,162,255,.95) 0 1.3px, transparent 2.2px),
    radial-gradient(circle at 34% 16%, rgba(173,147,255,.8) 0 1.2px, transparent 2.1px),
    radial-gradient(circle at 52% 58%, rgba(196,178,255,.88) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 72% 12%, rgba(161,137,255,.86) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 87% 46%, rgba(204,187,255,.8) 0 1.2px, transparent 2.1px),
    radial-gradient(circle at 64% 78%, rgba(171,144,255,.76) 0 1.2px, transparent 2.2px);
  filter:blur(.2px);
  animation:starsPulse 7s ease-in-out infinite alternate;
}
.map-stage__mesh{
  opacity:.56;
  background:
    linear-gradient(180deg, rgba(84,52,170,0) 0%, rgba(84,52,170,.05) 50%, rgba(84,52,170,.13) 100%),
    repeating-linear-gradient(0deg, rgba(167,140,255,.055) 0 2px, transparent 2px 24px),
    repeating-linear-gradient(90deg, rgba(167,140,255,.045) 0 2px, transparent 2px 38px);
}
.map-stage__mesh::before,
.map-stage__mesh::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.map-stage__mesh::before{
  left:8%;
  right:8%;
  bottom:18%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(185,165,255,.32), transparent);
  box-shadow:
    0 -56px 120px rgba(110,84,218,.11),
    0 18px 44px rgba(80,58,172,.16);
  opacity:.75;
}
.map-stage__mesh::after{
  width:42%;
  height:42%;
  right:-3%;
  bottom:16%;
  border-radius:50%;
  border:1px solid rgba(161,136,255,.08);
  border-right-color:transparent;
  border-bottom-color:transparent;
  transform:rotate(-18deg);
  box-shadow:
    0 0 0 14px rgba(126,97,226,.022),
    0 0 0 36px rgba(126,97,226,.018),
    0 0 70px rgba(110,84,218,.07);
  opacity:.8;
}
.map-stage__glow-orb--one{
  width:320px;
  height:320px;
  left:-110px;
  top:180px;
  background:radial-gradient(circle, rgba(95,82,198,.22), rgba(95,82,198,0) 70%);
}
.map-stage__glow-orb--two{
  width:420px;
  height:420px;
  right:-180px;
  top:120px;
  background:radial-gradient(circle, rgba(147,84,224,.15), rgba(147,84,224,0) 70%);
}
.map-stage__comet{
  width:260px;
  opacity:.42;
}
.map-stage__comet--one{top:14%;left:-20%;animation-delay:-2s}
.map-stage__comet--two{top:44%;left:-24%;animation-delay:-8s;opacity:.28}
.map-stage__hud{
  background:rgba(10,8,20,.58);
  box-shadow:0 10px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.025);
}
@keyframes starsFloat{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-8px,10px,0) scale(1.01)}
}
@keyframes starsFloatFar{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(14px,-10px,0)}
}
@keyframes starsPulse{
  0%{opacity:.22;filter:blur(.2px)}
  100%{opacity:.4;filter:blur(.45px)}
}


/* v14 world depth + looser node path */
.map-stage.game-map-shell{min-height:1080px}
.map-stage__stars{opacity:.96}
.map-stage__comet{width:320px;opacity:.34;filter:blur(.15px)}
.map-stage__comet--one{top:12%;left:-24%;animation-duration:13s}
.map-stage__comet--two{top:34%;left:-30%;animation-duration:16s;opacity:.26}
.map-stage__comet--three{top:58%;left:-22%;animation-duration:18s;animation-delay:-11s;opacity:.24}
.map-stage__comet--four{top:74%;left:-28%;animation-duration:20s;animation-delay:-4s;opacity:.18}
.map-stage__grid-halo{
  left:-12%;right:-12%;bottom:-6%;height:42%;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(132,102,245,.18), rgba(132,102,245,.08) 34%, rgba(132,102,245,0) 72%),
    linear-gradient(180deg, transparent 0%, rgba(88,64,176,.03) 42%, rgba(88,64,176,.10) 100%),
    repeating-linear-gradient(0deg, rgba(177,152,255,.055) 0 2px, transparent 2px 16px),
    repeating-linear-gradient(90deg, rgba(177,152,255,.04) 0 2px, transparent 2px 46px);
  transform:perspective(960px) rotateX(76deg) translateY(54%);
  transform-origin:bottom center;
  opacity:.42;
  filter:blur(.18px);
}
.map-stage__distant-city{
  left:4%;right:4%;bottom:8%;height:20%;opacity:.22;
  background:
    linear-gradient(180deg, rgba(121,95,226,0) 0%, rgba(121,95,226,.04) 38%, rgba(121,95,226,.12) 100%),
    repeating-linear-gradient(90deg,
      transparent 0 2%,
      rgba(177,153,255,.18) 2% 2.4%,
      transparent 2.4% 5.5%,
      rgba(177,153,255,.12) 5.5% 5.9%,
      transparent 5.9% 9.4%,
      rgba(177,153,255,.16) 9.4% 10%,
      transparent 10% 14.8%,
      rgba(177,153,255,.10) 14.8% 15.1%,
      transparent 15.1% 20%);
  mask-image:linear-gradient(180deg, transparent, rgba(0,0,0,.45) 24%, #000 48%, rgba(0,0,0,.55) 92%, transparent);
  -webkit-mask-image:linear-gradient(180deg, transparent, rgba(0,0,0,.45) 24%, #000 48%, rgba(0,0,0,.55) 92%, transparent);
  filter:blur(.25px);
}
.map-stage__arc{border-radius:50%;border:1px solid rgba(170,145,255,.07);box-shadow:0 0 0 14px rgba(121,95,226,.016),0 0 0 32px rgba(121,95,226,.012);opacity:.62}
.map-stage__arc--one{width:320px;height:320px;left:-120px;bottom:96px;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-14deg)}
.map-stage__arc--two{width:420px;height:420px;right:-180px;top:120px;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(18deg);opacity:.32}
.map-stage__mesh::before{box-shadow:0 -56px 120px rgba(110,84,218,.12),0 18px 44px rgba(80,58,172,.18),0 0 18px rgba(129,99,235,.08)}
.map-node:nth-child(odd) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(0)}
.map-node:nth-child(even) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(8px)}
.map-node:nth-child(3n) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-10px)}
.map-node:nth-child(5n) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(14px)}
@media (max-width:820px){
  .map-stage.game-map-shell{min-height:980px}
  .map-stage__grid-halo,.map-stage__distant-city,.map-stage__arc{opacity:.18}
}

/* v15 polish: stronger CTA buttons + more organic diagonal map */
:root{
  --panel-button: linear-gradient(180deg, rgba(19,13,34,.92), rgba(11,8,22,.96));
  --panel-button-hover: linear-gradient(180deg, rgba(26,18,48,.96), rgba(14,10,29,.98));
}

.project-actions{
  gap:14px;
  margin:22px 0 8px;
}
.project-actions a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  min-width:132px;
  padding:14px 20px;
  border-radius:16px;
  background:var(--panel-button);
  border:1px solid rgba(156,133,255,.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 30px rgba(5,4,14,.28),
    0 0 0 1px rgba(137,112,255,.05);
  font-family:Orbitron,sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#f3ecff;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.project-actions a::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:15px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  pointer-events:none;
}
.project-actions a::after{
  content:"↗";
  margin-left:10px;
  font-size:13px;
  opacity:.82;
}
.project-actions a:hover,
.project-actions a:focus-visible{
  transform:translateY(-2px);
  background:var(--panel-button-hover);
  border-color:rgba(199,183,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 38px rgba(13,8,34,.34),
    0 0 22px rgba(116,92,255,.16),
    0 0 0 1px rgba(170,148,255,.07);
}
.project-actions a:active{
  transform:translateY(0);
}

/* make node positions feel diagonal but not like a rigid rope */
.map-node{justify-content:flex-start;}
.map-node__anchor{margin-left:50%;will-change:transform;}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-4px)}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(10px)}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-8px)}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(16px)}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-6px)}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(12px)}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-10px)}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(8px)}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-12px)}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(14px)}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-6px)}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(12px)}

.map-road-edge{
  stroke:rgba(203,190,255,.18);
  stroke-width:92;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.map-road{
  stroke:url(#mapRoadGlowGradient);
  stroke-width:74;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.map-road-glow{
  stroke:rgba(154,126,255,.20);
  stroke-width:96;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
  filter:url(#mapRoadBlur);
}
.map-road-center{
  stroke:url(#mapCenterLineGradient);
  stroke-width:10;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
  stroke-dasharray:1 18;
  opacity:.28;
}

@media (max-width:1080px){
  .project-actions a{min-width:120px;padding:13px 18px;font-size:13px}
}
@media (max-width:820px){
  .project-actions{gap:10px}
  .project-actions a{width:100%;justify-content:center}
}


/* ===== v16 map motion + richer synthwave backdrop ===== */
:root{
  --line: rgba(124,92,255,.12);
  --line-strong: rgba(196,176,255,.20);
  --accent: #8f73ff;
  --accent-2: #d2c2ff;
  --cyan: #b69dff;
  --pink: #a26dff;
}
body{
  background:
    radial-gradient(1100px 760px at 16% 12%, rgba(0,181,255,.08), transparent 58%),
    radial-gradient(960px 700px at 86% 12%, rgba(138,22,90,.13), transparent 58%),
    radial-gradient(900px 560px at 50% 0%, rgba(103,72,255,.19), transparent 46%),
    linear-gradient(180deg,#020208 0%,#06030d 54%,#04030a 100%);
}
.intro-progress__track{border-color:rgba(146,118,255,.18)}
.intro-progress__fill{background:linear-gradient(90deg,#6c47ff 0%, #9f7eff 52%, #d7c9ff 100%);box-shadow:0 0 18px rgba(143,115,255,.4)}
.game-headline__copy,.menu-link-button,.map-stage.game-map-shell,.project-actions a,.contact-actions a{border-color:rgba(143,115,255,.14)}
.menu-link-button span,.node-chip__cta,.project-actions a::after{color:#b69dff}
.game-headline__copy h1{
  color:#d8c6ff;
  text-shadow:0 0 10px rgba(214,192,255,.14), 0 0 24px rgba(139,110,255,.12);
  animation:levelsFlicker 7.8s infinite steps(1);
}
@keyframes levelsFlicker{
  0%,14%,18%,21%,23%,100%{opacity:1;text-shadow:0 0 10px rgba(214,192,255,.14),0 0 24px rgba(139,110,255,.12),0 0 38px rgba(121,93,255,.09)}
  15%,22%{opacity:.92;text-shadow:0 0 6px rgba(214,192,255,.08),0 0 14px rgba(121,93,255,.06)}
  16%{opacity:.85}
}
.map-stage.game-map-shell{
  background:linear-gradient(180deg, rgba(10,8,22,.70), rgba(5,4,12,.88));
}
.map-stage.game-map-shell::after{
  background:
    radial-gradient(circle at 24% 18%, rgba(0,176,255,.06), transparent 18%),
    radial-gradient(circle at 82% 18%, rgba(184,71,255,.07), transparent 20%),
    radial-gradient(ellipse at 50% 100%, rgba(112,74,255,.16), transparent 52%),
    linear-gradient(180deg, rgba(7,5,16,0), rgba(7,5,16,.20));
}
.map-stage__sky::before{
  content:"";position:absolute;inset:-6% -4% auto;bottom:18%;height:72%;pointer-events:none;
  background:
    radial-gradient(circle at 16% 26%, rgba(0,196,255,.08), transparent 16%),
    radial-gradient(circle at 76% 24%, rgba(216,92,255,.08), transparent 18%),
    radial-gradient(circle at 40% 64%, rgba(116,82,255,.08), transparent 20%),
    radial-gradient(circle at 58% 52%, rgba(255,255,255,.028), transparent 10%);
  opacity:.88;
}
.map-stage__sky::after{
  content:"";position:absolute;left:-8%;right:-8%;bottom:-3%;height:42%;pointer-events:none;opacity:.28;
  background:
    linear-gradient(180deg, rgba(143,115,255,0), rgba(143,115,255,.14)),
    repeating-linear-gradient(90deg, rgba(182,157,255,.20) 0 1px, transparent 1px 62px);
  clip-path:polygon(0 100%,100% 100%,82% 36%,66% 44%,50% 34%,34% 45%,18% 36%,0 100%);
  filter:blur(.2px);
}
.map-stage__stars{
  opacity:.74;
  background:
    radial-gradient(circle at 6% 18%, rgba(255,255,255,.95) 0 1px, transparent 1.7px),
    radial-gradient(circle at 12% 58%, rgba(255,255,255,.78) 0 1px, transparent 1.6px),
    radial-gradient(circle at 18% 84%, rgba(255,255,255,.7) 0 1px, transparent 1.6px),
    radial-gradient(circle at 28% 62%, rgba(255,255,255,.75) 0 1px, transparent 1.6px),
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.85) 0 1px, transparent 1.5px),
    radial-gradient(circle at 45% 18%, rgba(255,255,255,.85) 0 1px, transparent 1.5px),
    radial-gradient(circle at 52% 52%, rgba(255,255,255,.72) 0 1px, transparent 1.6px),
    radial-gradient(circle at 60% 78%, rgba(255,255,255,.78) 0 1.1px, transparent 1.7px),
    radial-gradient(circle at 70% 38%, rgba(255,255,255,.8) 0 1px, transparent 1.6px),
    radial-gradient(circle at 74% 24%, rgba(255,255,255,.75) 0 1px, transparent 1.6px),
    radial-gradient(circle at 82% 68%, rgba(255,255,255,.72) 0 1px, transparent 1.6px),
    radial-gradient(circle at 86% 58%, rgba(255,255,255,.82) 0 1px, transparent 1.6px),
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.78) 0 1px, transparent 1.6px),
    radial-gradient(circle at 94% 42%, rgba(255,255,255,.68) 0 1px, transparent 1.6px);
  animation:starPulse 10s ease-in-out infinite alternate;
}
@keyframes starPulse{from{opacity:.58}to{opacity:.82}}
.map-stage__mesh{
  inset:auto -10% -2% -10%;height:68%;
  background:
    linear-gradient(180deg, rgba(95,64,255,.02), rgba(95,64,255,.12)),
    repeating-linear-gradient(135deg, rgba(154,129,255,.05) 0 14px, transparent 14px 30px),
    repeating-linear-gradient(0deg, rgba(120,92,255,.06) 0 1px, transparent 1px 44px);
  opacity:.62;transform:skewY(-9deg);
}
.map-stage__horizon,.map-stage__sun,.map-stage__grid,.map-stage__shard{position:absolute;pointer-events:none}
.map-stage__horizon{left:-8%;right:-8%;bottom:8%;height:180px;background:radial-gradient(ellipse at center, rgba(118,83,255,.22), rgba(118,83,255,0) 65%);opacity:.42;filter:blur(22px)}
.map-stage__sun{right:8%;bottom:16%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at center, rgba(181,132,255,.18), rgba(181,132,255,.08) 36%, rgba(181,132,255,0) 62%);filter:blur(2px);opacity:.26}
.map-stage__grid{left:-6%;right:-6%;bottom:-2%;height:34%;opacity:.22; background:
  linear-gradient(180deg, rgba(143,115,255,0), rgba(143,115,255,.16)),
  repeating-linear-gradient(90deg, rgba(182,157,255,.15) 0 1px, transparent 1px 54px),
  repeating-linear-gradient(180deg, rgba(182,157,255,.13) 0 1px, transparent 1px 38px);
  clip-path:polygon(10% 100%,90% 100%,70% 12%,30% 12%);transform:perspective(600px) rotateX(72deg);transform-origin:bottom}
.map-stage__distant-city{left:8%;right:8%;bottom:11%;height:16%;opacity:.22;background:
  linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.36)),
  linear-gradient(90deg, transparent 0 6%, rgba(143,115,255,.28) 6% 7%, transparent 7% 11%, rgba(143,115,255,.2) 11% 13%, transparent 13% 18%, rgba(143,115,255,.18) 18% 20%, transparent 20% 27%, rgba(143,115,255,.24) 27% 28%, transparent 28% 34%, rgba(143,115,255,.15) 34% 35%, transparent 35% 44%, rgba(143,115,255,.2) 44% 46%, transparent 46% 58%, rgba(143,115,255,.18) 58% 60%, transparent 60% 66%, rgba(143,115,255,.22) 66% 69%, transparent 69% 77%, rgba(143,115,255,.18) 77% 79%, transparent 79% 88%, rgba(143,115,255,.21) 88% 91%, transparent 91%);filter:blur(.4px)}
.map-stage__arc{border-color:rgba(170,145,255,.16)}
.map-stage__arc--one{width:420px;height:420px;right:-120px;top:26%;border:1px solid rgba(170,145,255,.16);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(18deg)}
.map-stage__arc--two{width:520px;height:520px;left:-180px;bottom:-120px;border:1px solid rgba(170,145,255,.11);border-right-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(-14deg)}
.map-stage__shard{width:180px;height:2px;background:linear-gradient(90deg, transparent, rgba(214,198,255,.7), transparent);opacity:.2;filter:blur(.2px)}
.map-stage__shard--one{top:28%;left:-4%;transform:rotate(-24deg)}
.map-stage__shard--two{top:66%;right:10%;transform:rotate(18deg);width:220px}
.map-stage__shard--three{top:48%;left:58%;transform:rotate(-10deg);width:160px}
.map-stage__comet{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(213,196,255,.95), rgba(255,255,255,0));opacity:.42}
.map-stage__comet::after{background:#fff;box-shadow:0 0 16px rgba(168,140,255,.8)}
.map-stage__comet--three{top:34%;left:-24%;animation-delay:-4s;opacity:.22;width:180px}
.map-stage__comet--four{top:72%;left:-12%;animation-delay:-9s;opacity:.18;width:160px}
.map-road-edge{stroke:rgba(229,220,255,.86)}
.map-road{stroke:url(#mapRoadGlowGradient)}
.map-road-glow{stroke:rgba(143,115,255,.22)}
.map-road-center{stroke:rgba(157,129,255,.55);stroke-dasharray:5 21;opacity:.4}
.node-button{animation:nodeFloat 8s ease-in-out infinite;transform-origin:center center}
.map-node:nth-child(odd) .node-button{animation-duration:8.6s;animation-delay:-1.4s}
.map-node:nth-child(even) .node-button{animation-duration:7.4s;animation-delay:-.6s}
.map-node:nth-child(3n) .node-button{animation-duration:9.2s;animation-delay:-2.1s}
@keyframes nodeFloat{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(2px,-4px,0)}50%{transform:translate3d(-3px,-1px,0)}75%{transform:translate3d(1px,3px,0)}}
.map-node{justify-content:flex-start}
.map-node__anchor{margin-left:50%;will-change:transform}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-8px)}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(18px)}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-14px)}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(12px)}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-10px)}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(20px)}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-12px)}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(10px)}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-18px)}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(12px)}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-8px)}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(16px)}
.node-chip{border-color:rgba(148,122,255,.18);box-shadow:0 18px 54px rgba(3,2,12,.46), inset 0 1px 0 rgba(255,255,255,.03), 0 0 26px rgba(95,74,190,.10)}
.node-chip__meta span,.node-chip__tags span{border-color:rgba(148,122,255,.12)}
@media (max-width:1080px){
  .map-stage.game-map-shell{padding:90px 26px 120px}
  .map-node__anchor{margin-left:50%}
}


/* ===== v17 final polish: stronger neon title, better contact fit, richer world, real zigzag path, mobile cleanup ===== */
:root{
  --line: rgba(143,115,255,.14);
  --line-strong: rgba(207,190,255,.22);
  --accent: #8f73ff;
  --accent-2: #dccfff;
  --cyan: #b69dff;
  --pink: #a476ff;
}

body{
  background:
    radial-gradient(1200px 820px at 14% 14%, rgba(0,178,255,.09), transparent 58%),
    radial-gradient(1100px 820px at 86% 12%, rgba(125,20,102,.14), transparent 58%),
    radial-gradient(860px 540px at 50% 0%, rgba(103,72,255,.20), transparent 46%),
    linear-gradient(180deg,#020208 0%,#06030d 54%,#04030a 100%);
}

.game-headline__actions{
  width: 210px;
  gap: 12px;
}
.menu-link-button{
  overflow: hidden;
  min-height: 92px;
}
.menu-link-button strong{
  white-space: nowrap;
  word-break: keep-all;
  font-size: clamp(24px, 1.8vw, 32px);
  line-height: 1;
}

.game-headline__copy h1{
  color:#d8c6ff;
  text-shadow:
    0 0 8px rgba(240,232,255,.18),
    0 0 18px rgba(182,154,255,.20),
    0 0 36px rgba(134,103,255,.22),
    0 0 64px rgba(108,78,224,.14);
  animation:
    levelsPulseV17 3.8s ease-in-out infinite,
    levelsFlickerV17 6.8s steps(1,end) infinite;
}
@keyframes levelsPulseV17{
  0%,100%{text-shadow:0 0 8px rgba(240,232,255,.16),0 0 18px rgba(182,154,255,.18),0 0 34px rgba(134,103,255,.20),0 0 58px rgba(108,78,224,.12)}
  50%{text-shadow:0 0 10px rgba(248,242,255,.28),0 0 28px rgba(190,166,255,.34),0 0 56px rgba(140,111,255,.30),0 0 96px rgba(118,91,231,.18)}
}
@keyframes levelsFlickerV17{
  0%,8%,12%,38%,40%,62%,64%,86%,100%{opacity:1}
  9%,39%,63%{opacity:.92}
  10%{opacity:.78}
  11%{opacity:.96}
  41%{opacity:.84}
  42%{opacity:.98}
  87%{opacity:.88}
  88%{opacity:1}
}

.map-stage.game-map-shell{
  min-height: 1120px;
}
.map-stage.game-map-shell::after{
  background:
    radial-gradient(circle at 24% 18%, rgba(0,176,255,.08), transparent 18%),
    radial-gradient(circle at 82% 18%, rgba(184,71,255,.09), transparent 20%),
    radial-gradient(ellipse at 50% 100%, rgba(112,74,255,.18), transparent 52%),
    linear-gradient(180deg, rgba(7,5,16,0), rgba(7,5,16,.24)),
    repeating-linear-gradient(90deg, rgba(170,145,255,.025) 0 1px, transparent 1px 92px);
}
.map-stage__sky{
  background:
    radial-gradient(circle at 14% 22%, rgba(0,196,255,.07), transparent 14%),
    radial-gradient(circle at 84% 16%, rgba(214,92,255,.08), transparent 16%),
    radial-gradient(circle at 46% 74%, rgba(117,83,255,.06), transparent 16%),
    linear-gradient(135deg, rgba(122,93,255,.025) 0%, rgba(122,93,255,0) 26%, rgba(122,93,255,.018) 48%, rgba(122,93,255,0) 70%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.015), transparent 60%);
}
.map-stage__sky::before{
  background:
    radial-gradient(circle at 10% 20%, rgba(0,196,255,.10), transparent 16%),
    radial-gradient(circle at 28% 58%, rgba(255,255,255,.025), transparent 9%),
    radial-gradient(circle at 42% 38%, rgba(118,82,255,.11), transparent 16%),
    radial-gradient(circle at 66% 68%, rgba(255,255,255,.022), transparent 10%),
    radial-gradient(circle at 80% 24%, rgba(216,92,255,.10), transparent 18%),
    radial-gradient(circle at 52% 54%, rgba(116,82,255,.09), transparent 18%);
  opacity:.95;
}
.map-stage__sky::after{
  opacity:.34;
  background:
    linear-gradient(180deg, rgba(143,115,255,0), rgba(143,115,255,.16)),
    repeating-linear-gradient(90deg, rgba(182,157,255,.22) 0 1px, transparent 1px 58px),
    radial-gradient(ellipse at 50% 100%, rgba(140,112,255,.18), rgba(140,112,255,0) 62%);
  clip-path:polygon(0 100%,100% 100%,82% 36%,66% 44%,50% 34%,34% 45%,18% 36%,0 100%);
}
.map-stage__stars{
  opacity:.88;
  animation:starPulseV17 12s ease-in-out infinite alternate;
}
@keyframes starPulseV17{from{opacity:.70}to{opacity:.93}}
.map-stage__grid-halo{
  opacity:.56;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(132,102,245,.20), rgba(132,102,245,.08) 34%, rgba(132,102,245,0) 72%),
    linear-gradient(180deg, transparent 0%, rgba(88,64,176,.03) 42%, rgba(88,64,176,.12) 100%),
    repeating-linear-gradient(0deg, rgba(177,152,255,.07) 0 2px, transparent 2px 14px),
    repeating-linear-gradient(90deg, rgba(177,152,255,.05) 0 2px, transparent 2px 42px);
}
.map-stage__distant-city{
  opacity:.28;
}
.map-stage__shard{
  opacity:.28;
}
.map-stage__comet{opacity:.34}
.map-stage__comet--one{animation-duration:12s}
.map-stage__comet--two{animation-duration:15s}
.map-stage__comet--three{animation-duration:17s}
.map-stage__comet--four{animation-duration:19s}

.map-node + .map-node{margin-top:var(--node-gap, 118px)}
.map-node__anchor{margin-left:50%;will-change:transform}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-6px)}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(18px)}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-16px)}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(16px)}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-12px)}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(18px)}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-12px)}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(16px)}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-14px)}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(18px)}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(-10px)}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * 1)) translateY(18px)}
.map-node:nth-child(odd) .node-button{animation-duration:8.8s}
.map-node:nth-child(even) .node-button{animation-duration:7.8s}
@keyframes nodeFloat{
  0%,100%{transform:translate3d(0,0,0)}
  25%{transform:translate3d(3px,-5px,0)}
  50%{transform:translate3d(-4px,2px,0)}
  75%{transform:translate3d(2px,4px,0)}
}

@media (max-width:1180px){
  .game-headline__actions{width:192px}
  .menu-link-button strong{font-size:clamp(22px, 2.2vw, 28px)}
}

@media (max-width:980px){
  .game-headline{grid-template-columns:1fr;gap:18px}
  .game-headline__actions{width:100%;max-width:420px;display:grid;grid-template-columns:1fr 1fr;justify-self:start}
}

@media (max-width:820px){
  .levels-screen{padding:42px 0 78px}
  .section-frame{width:min(calc(100vw - 24px), var(--max))}
  .game-headline__copy{padding:22px 20px 20px}
  .game-headline__copy h1{font-size:clamp(62px, 20vw, 110px)}
  .game-headline__actions{max-width:none;grid-template-columns:1fr 1fr;gap:10px}
  .menu-link-button{min-height:78px;padding:15px 16px;border-radius:18px}
  .menu-link-button strong{font-size:clamp(18px, 5vw, 24px)}
  .map-stage.game-map-shell{min-height:880px;padding:82px 16px 108px}
  .map-stage__hud{padding:10px 12px}
  .map-nodes{padding-top:28px}
  .map-node + .map-node{margin-top:78px}
  .node-button{width:112px;height:112px}
  .node-button__core{inset:10px}
  .node-button__core strong{font-size:30px}
  .node-button__badge{max-width:148px;font-size:10px;padding:7px 10px;top:2px}
  .node-button__index{bottom:4px;padding:7px 10px;font-size:11px}
  .map-node__anchor{margin-left:50%}
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .58)) translateY(-4px)}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .54)) translateY(10px)}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .60)) translateY(-8px)}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .56)) translateY(12px)}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .58)) translateY(-6px)}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .54)) translateY(12px)}
  .map-node:nth-child(7) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .56)) translateY(-8px)}
  .map-node:nth-child(8) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .54)) translateY(10px)}
  .map-node:nth-child(9) .map-node__anchor{transform:translateX(calc(var(--node-shift, 0px) * .58)) translateY(-8px)}
  .node-chip{position:relative;top:auto;left:auto!important;right:auto!important;transform:none!important;min-width:0;max-width:calc(100vw - 48px);margin-top:14px;opacity:1;pointer-events:auto}
  .map-stage__grid,.map-stage__grid-halo,.map-stage__distant-city{opacity:.18}
}


/* ===== v18 final polish overrides ===== */
.game-headline__actions{
  width:210px !important;
  gap:12px !important;
  align-self:start;
}
.menu-link-button{
  width:210px !important;
  min-height:84px;
  padding:16px 18px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:visible !important;
}
.menu-link-button strong{
  font-size:clamp(18px,1.7vw,26px) !important;
  line-height:1.02 !important;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.game-headline__copy h1{
  text-shadow:0 0 12px rgba(165,133,255,.28), 0 0 30px rgba(129,93,255,.24), 0 0 56px rgba(92,60,180,.14) !important;
  animation:levelsFlickerStrong 4.8s ease-in-out infinite !important;
}
@keyframes levelsFlickerStrong{
  0%, 16%, 18%, 19%, 21%, 60%, 100%{opacity:1;filter:drop-shadow(0 0 8px rgba(196,171,255,.2))}
  17%{opacity:.88;filter:drop-shadow(0 0 16px rgba(208,188,255,.28))}
  20%{opacity:.94;filter:drop-shadow(0 0 24px rgba(208,188,255,.34))}
  61%{opacity:.92;filter:drop-shadow(0 0 18px rgba(186,162,255,.28))}
}
.map-node + .map-node{margin-top:112px !important;}
.map-node__anchor{margin-left:50% !important;will-change:transform;}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-2px) !important;}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(8px) !important;}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-6px) !important;}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(9px) !important;}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-4px) !important;}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(8px) !important;}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-5px) !important;}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(10px) !important;}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-6px) !important;}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(9px) !important;}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(-4px) !important;}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(var(--node-shift,0px)) translateY(8px) !important;}
.map-node:nth-child(odd) .node-button{animation-duration:8.4s;}
.map-node:nth-child(even) .node-button{animation-duration:7.8s;}

@media (max-width: 1200px){
  .game-headline__actions{width:186px !important;}
  .menu-link-button{width:186px !important;min-height:78px;}
  .menu-link-button strong{font-size:clamp(18px,2vw,24px) !important;}
}

@media (max-width: 900px){
  .game-headline__actions{
    width:100% !important;
    max-width:420px;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px !important;
    justify-self:start;
  }
  .menu-link-button{width:100% !important;min-height:76px;}
  .menu-link-button strong{font-size:clamp(18px,5vw,24px) !important;}
  .map-node + .map-node{margin-top:84px !important;}
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .42)) translateY(-2px) !important;}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .38)) translateY(6px) !important;}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .44)) translateY(-5px) !important;}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .38)) translateY(7px) !important;}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .42)) translateY(-4px) !important;}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(calc(var(--node-shift,0px) * .38)) translateY(7px) !important;}
}


/* v19 final layout polish */
.game-headline{
  align-items:center !important;
}
.game-headline__actions{
  align-self:center !important;
  justify-self:end !important;
  padding-top:18px !important;
  transform:translateY(18px);
}
.menu-link-button{
  white-space:nowrap;
}
.menu-link-button strong{
  white-space:nowrap;
  overflow:visible;
}

.map-node + .map-node{margin-top:108px !important;}
.map-node__anchor{margin-left:50% !important;}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(86px) translateY(-2px) !important;}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(-62px) translateY(6px) !important;}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(74px) translateY(-4px) !important;}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(-56px) translateY(8px) !important;}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(82px) translateY(-2px) !important;}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(-60px) translateY(6px) !important;}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(70px) translateY(-4px) !important;}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(-54px) translateY(8px) !important;}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(78px) translateY(-3px) !important;}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(-58px) translateY(6px) !important;}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(72px) translateY(-3px) !important;}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(-52px) translateY(8px) !important;}

@media (max-width: 1100px){
  .game-headline__actions{
    transform:translateY(10px);
  }
}

@media (max-width: 820px){
  .game-headline{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .game-headline__actions{
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr 1fr !important;
    justify-self:stretch !important;
    align-self:start !important;
    padding-top:0 !important;
  }
  .menu-link-button{
    width:100% !important;
    min-height:74px !important;
    padding:14px 14px !important;
  }
  .menu-link-button span{
    font-size:10px !important;
    letter-spacing:.14em !important;
  }
  .menu-link-button strong{
    font-size:clamp(18px,5vw,22px) !important;
    white-space:nowrap !important;
  }

  .map-stage.game-map-shell{
    padding:84px 18px 92px !important;
    min-height:760px !important;
  }
  .map-stage__hud--left,
  .map-stage__hud--right{
    position:absolute !important;
    top:14px !important;
    margin:0 !important;
  }
  .map-stage__hud--left{left:14px !important;}
  .map-stage__hud--right{right:14px !important;}
  .map-nodes{padding-top:56px !important;}
  .map-node{
    justify-content:center !important;
  }
  .map-node + .map-node{
    margin-top:82px !important;
  }
  .map-node__anchor{
    margin-left:0 !important;
    transform:none !important;
  }
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(34px) translateY(-2px) !important;}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(-26px) translateY(6px) !important;}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(30px) translateY(-4px) !important;}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(-22px) translateY(8px) !important;}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(32px) translateY(-3px) !important;}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(-24px) translateY(7px) !important;}
  .map-node:nth-child(7) .map-node__anchor{transform:translateX(28px) translateY(-4px) !important;}
  .map-node:nth-child(8) .map-node__anchor{transform:translateX(-22px) translateY(7px) !important;}
  .map-node:nth-child(9) .map-node__anchor{transform:translateX(30px) translateY(-4px) !important;}
  .node-chip{
    display:none !important;
  }
}


/* ===== v20 glow + dashed center polish ===== */
.map-road-edge{
  stroke: rgba(242,236,255,.96) !important;
  stroke-width: 92px !important;
  opacity: .94 !important;
}
.map-road{
  stroke: url(#mapRoadGlowGradient) !important;
  stroke-width: 78px !important;
  opacity: .98 !important;
}
.map-road-glow{
  stroke: rgba(146,120,255,.34) !important;
  stroke-width: 96px !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 14px rgba(134,104,255,.32)) drop-shadow(0 0 30px rgba(134,104,255,.22));
}
.map-road-center{
  stroke: rgba(223,214,255,.82) !important;
  stroke-width: 6px !important;
  stroke-dasharray: 10 15 !important;
  stroke-linecap: round !important;
  opacity: .9 !important;
  filter: drop-shadow(0 0 4px rgba(197,177,255,.28));
}
.node-button__ring{
  box-shadow: 0 0 0 1px rgba(127,98,255,.72), 0 0 18px rgba(119,91,238,.22);
}
@media (max-width: 820px){
  .map-road-edge{stroke-width: 84px !important;}
  .map-road{stroke-width: 72px !important;}
  .map-road-glow{stroke-width: 90px !important;}
  .map-road-center{stroke-width: 5px !important; stroke-dasharray: 8 13 !important;}
}


/* ===== v21 path glow fix ===== */
.map-road-edge{
  stroke: rgba(206,190,255,.38) !important;
  stroke-width: 122px !important;
  opacity: 1 !important;
  filter: url(#mapRoadBlur) !important;
}
.map-road{
  stroke: rgba(214,201,255,.92) !important;
  stroke-width: 74px !important;
  opacity: .92 !important;
}
.map-road-glow{
  stroke: rgba(148,120,255,.58) !important;
  stroke-width: 104px !important;
  opacity: .98 !important;
  filter: url(#mapRoadGlowBlur) !important;
}
.map-road-center{
  stroke: rgba(235,228,255,.92) !important;
  stroke-width: 7px !important;
  stroke-dasharray: 7 18 !important;
  stroke-linecap: round !important;
  opacity: .92 !important;
  filter: url(#mapRoadCenterBlur) !important;
}
@media (max-width: 820px){
  .map-road-edge{stroke-width: 102px !important;}
  .map-road{stroke-width: 64px !important;}
  .map-road-glow{stroke-width: 88px !important;}
  .map-road-center{stroke-width: 5px !important;stroke-dasharray: 6 15 !important;}
}

/* ===== v23 centered road nodes + controlled zigzag ===== */
.map-stage{overflow:hidden}
.map-road-edge{
  stroke: rgba(214,198,255,.34) !important;
  stroke-width: 114px !important;
  opacity: 1 !important;
  filter: url(#mapRoadBlur) !important;
}
.map-road{
  stroke: rgba(212,198,255,.94) !important;
  stroke-width: 70px !important;
  opacity: .92 !important;
}
.map-road-glow{
  stroke: rgba(146,120,255,.54) !important;
  stroke-width: 98px !important;
  opacity: .98 !important;
  filter: url(#mapRoadGlowBlur) !important;
}
.map-road-center{
  stroke: rgba(241,236,255,.86) !important;
  stroke-width: 6px !important;
  stroke-dasharray: 7 18 !important;
  stroke-linecap: round !important;
  opacity: .92 !important;
  filter: url(#mapRoadCenterBlur) !important;
}
.map-node + .map-node{margin-top:120px !important;}
.map-node__anchor{margin-left:50% !important;will-change:transform;}
.map-node:nth-child(1) .map-node__anchor{transform:translateX(52px) translateY(-2px) !important;}
.map-node:nth-child(2) .map-node__anchor{transform:translateX(-38px) translateY(8px) !important;}
.map-node:nth-child(3) .map-node__anchor{transform:translateX(46px) translateY(-4px) !important;}
.map-node:nth-child(4) .map-node__anchor{transform:translateX(-34px) translateY(8px) !important;}
.map-node:nth-child(5) .map-node__anchor{transform:translateX(50px) translateY(-3px) !important;}
.map-node:nth-child(6) .map-node__anchor{transform:translateX(-36px) translateY(8px) !important;}
.map-node:nth-child(7) .map-node__anchor{transform:translateX(44px) translateY(-4px) !important;}
.map-node:nth-child(8) .map-node__anchor{transform:translateX(-30px) translateY(8px) !important;}
.map-node:nth-child(9) .map-node__anchor{transform:translateX(48px) translateY(-3px) !important;}
.map-node:nth-child(10) .map-node__anchor{transform:translateX(-34px) translateY(8px) !important;}
.map-node:nth-child(11) .map-node__anchor{transform:translateX(42px) translateY(-3px) !important;}
.map-node:nth-child(12) .map-node__anchor{transform:translateX(-28px) translateY(8px) !important;}

@media (max-width: 900px){
  .map-road-edge{stroke-width: 98px !important;}
  .map-road{stroke-width: 60px !important;}
  .map-road-glow{stroke-width: 86px !important;}
  .map-road-center{stroke-width: 5px !important;stroke-dasharray: 6 14 !important;}
  .map-node + .map-node{margin-top:88px !important;}
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(20px) translateY(0) !important;}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(-14px) translateY(4px) !important;}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(18px) translateY(-2px) !important;}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(-14px) translateY(5px) !important;}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(18px) translateY(-2px) !important;}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(-14px) translateY(5px) !important;}
  .map-node:nth-child(7) .map-node__anchor{transform:translateX(18px) translateY(-2px) !important;}
  .map-node:nth-child(8) .map-node__anchor{transform:translateX(-14px) translateY(5px) !important;}
  .map-node:nth-child(9) .map-node__anchor{transform:translateX(18px) translateY(-2px) !important;}
}


/* ===== v24 mobile centering + header alignment ===== */
.menu-link-button strong{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;}
@media (min-width:981px){
  .section-head.game-headline--clean{align-items:center;}
  .game-headline__actions{align-self:center !important;margin-top:18px !important;}
}
@media (max-width:900px){
  .game-headline__actions{align-self:stretch !important;margin-top:14px !important;}
  .menu-link-button strong{font-size:clamp(18px,5vw,23px) !important;}
  .map-stage{overflow:hidden !important;}
  .map-nodes{padding-top:40px !important;}
  .map-node{justify-content:center !important;}
  .map-node + .map-node{margin-top:90px !important;}
  .map-node__anchor{margin-left:0 !important;will-change:transform;}
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(18px) translateY(-1px) !important;}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(-12px) translateY(5px) !important;}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(16px) translateY(-3px) !important;}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(-11px) translateY(6px) !important;}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(15px) translateY(-2px) !important;}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(-12px) translateY(6px) !important;}
  .map-node:nth-child(7) .map-node__anchor{transform:translateX(14px) translateY(-2px) !important;}
  .map-node:nth-child(8) .map-node__anchor{transform:translateX(-10px) translateY(6px) !important;}
  .map-node:nth-child(9) .map-node__anchor{transform:translateX(15px) translateY(-2px) !important;}
  .map-node:nth-child(10) .map-node__anchor{transform:translateX(-11px) translateY(5px) !important;}
  .map-node:nth-child(11) .map-node__anchor{transform:translateX(14px) translateY(-2px) !important;}
  .map-node:nth-child(12) .map-node__anchor{transform:translateX(-10px) translateY(5px) !important;}
  .node-chip{display:none !important;}
  .map-road-edge{stroke-width:94px !important;}
  .map-road{stroke-width:58px !important;}
  .map-road-glow{stroke-width:82px !important;}
  .map-road-center{stroke-width:4px !important;stroke-dasharray:6 12 !important;}
}
@media (max-width:520px){
  .map-node + .map-node{margin-top:84px !important;}
  .map-node:nth-child(1) .map-node__anchor{transform:translateX(12px) translateY(0) !important;}
  .map-node:nth-child(2) .map-node__anchor{transform:translateX(-8px) translateY(4px) !important;}
  .map-node:nth-child(3) .map-node__anchor{transform:translateX(11px) translateY(-2px) !important;}
  .map-node:nth-child(4) .map-node__anchor{transform:translateX(-8px) translateY(5px) !important;}
  .map-node:nth-child(5) .map-node__anchor{transform:translateX(10px) translateY(-2px) !important;}
  .map-node:nth-child(6) .map-node__anchor{transform:translateX(-8px) translateY(5px) !important;}
  .map-node:nth-child(7) .map-node__anchor{transform:translateX(9px) translateY(-1px) !important;}
  .map-node:nth-child(8) .map-node__anchor{transform:translateX(-7px) translateY(5px) !important;}
  .map-node:nth-child(9) .map-node__anchor{transform:translateX(9px) translateY(-1px) !important;}
  .map-road-edge{stroke-width:86px !important;}
  .map-road{stroke-width:52px !important;}
  .map-road-glow{stroke-width:74px !important;}
}
