:root{color-scheme:dark;--void:#05060a;--void-2:#080a12;--ink:#eef2ff;--ink-soft:#b3bdd6;--ink-faint:#96a2c6;--gold:#f6c860;--gold-deep:#c9922a;--violet:#a86cff;--blue:#5f9dff;--cyan:#4fd8e8;--pink:#ff6fbd;--line:rgba(146,162,210,.16);--line-strong:rgba(146,162,210,.3);--glass:rgba(11,13,22,.82);--glass-2:rgba(8,10,18,.92);--shadow-lg:0 32px 90px -30px rgba(0,0,0,.95);--shadow-md:0 18px 46px -22px rgba(0,0,0,.9);--radius:18px;--radius-sm:11px;--step--1:clamp(.75rem,.72rem + .14vw,.84rem);--step-0:clamp(.9rem,.86rem + .2vw,1.02rem);--step-1:clamp(1.05rem,.98rem + .34vw,1.28rem);--step-2:clamp(1.3rem,1.14rem + .78vw,1.9rem);--step-3:clamp(1.75rem,1.4rem + 1.7vw,3rem);--step-4:clamp(2.3rem,1.6rem + 3.3vw,4.6rem);--shell:min(100% - 2.4rem,78rem);--header-h:4.4rem;--ease:cubic-bezier(.22,.8,.28,1);--ease-out:cubic-bezier(.16,1,.3,1);--px:0;--py:0;--font:"Inter var","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",system-ui,sans-serif;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace}@media (min-width:62rem){:root{--header-h:5rem}}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;min-height:100svh;overflow-x:clip;background:var(--void);color:var(--ink);font-family:var(--font);font-size:var(--step-0);line-height:1.62;letter-spacing:.008em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}body > *,main > *,section{max-inline-size:100%}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}h1,h2,h3{line-height:1.04;letter-spacing:-.03em;font-weight:800;text-wrap:balance}p{text-wrap:pretty}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:.6rem;left:.6rem;z-index:200;padding:.7rem 1.1rem;border-radius:var(--radius-sm);background:var(--gold);color:#14100a;font-weight:700;transform:translateY(-160%);transition:transform .2s var(--ease)}.skip-link:focus-visible{transform:none}html.nav-locked,html.nav-locked body{overflow:hidden}.cosmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.nebula{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;will-change:transform}.nebula-a{inset:-22% -10% auto -18%;width:78vmax;height:66vmax;background:radial-gradient(circle at 38% 42%,rgba(122,74,220,.5),transparent 62%);transform:translate3d(calc(var(--px) * -26px),calc(var(--py) * -20px),0);animation:drift-a 46s var(--ease) infinite alternate}.nebula-b{inset:auto -24% -26% auto;width:74vmax;height:62vmax;background:radial-gradient(circle at 60% 50%,rgba(38,96,224,.45),transparent 63%);transform:translate3d(calc(var(--px) * 30px),calc(var(--py) * 22px),0);animation:drift-b 58s var(--ease) infinite alternate}.nebula-c{inset:18% -18% auto auto;width:52vmax;height:46vmax;background:radial-gradient(circle at 50% 50%,rgba(214,142,46,.3),transparent 64%);transform:translate3d(calc(var(--px) * -18px),calc(var(--py) * 26px),0);animation:drift-a 66s var(--ease) infinite alternate-reverse}.nebula-d{inset:auto auto -8% -12%;width:46vmax;height:40vmax;background:radial-gradient(circle at 50% 50%,rgba(210,60,150,.24),transparent 66%);transform:translate3d(calc(var(--px) * 22px),calc(var(--py) * -16px),0);animation:drift-b 52s var(--ease) infinite alternate}@keyframes drift-a{to{translate:5% 3%;scale:1.1}}@keyframes drift-b{to{translate:-6% -4%;scale:1.13}}#cosmic-gl,#cosmic-canvas{position:absolute;inset:0;width:100%;height:100%}html[data-field="webgl"] .nebula{display:none}.vignette{position:absolute;inset:0;background:radial-gradient(140% 100% at 50% 0%,transparent 52%,rgba(5,6,10,.38) 100%),linear-gradient(180deg,transparent 72%,rgba(5,6,10,.45) 100%)}.grain{position:absolute;inset:-50%;opacity:.028;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 7s steps(6) infinite}@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(4%,2%)}}.shell{width:var(--shell);margin-inline:auto}.section{position:relative;z-index:1;padding-block:clamp(4rem,9vw,8.5rem)}.section-index{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem}.section-index::before{content:"";display:inline-block;width:1.7rem;height:1px;margin-right:.8rem;vertical-align:middle;background:var(--line-strong)}.section-head h2{font-size:var(--step-3)}.section-head h2 span{background:linear-gradient(100deg,var(--gold),var(--violet) 55%,var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.section-head > p{max-width:46ch;margin-top:1.1rem;color:var(--ink-soft)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);flex:none;box-shadow:0 0 0 0 rgb(from var(--chain-color) r g b / .6);animation:pulse 2.6s var(--ease) infinite}@keyframes pulse{70%{box-shadow:0 0 0 .55rem rgb(from var(--chain-color) r g b / 0)}100%{box-shadow:0 0 0 0 rgb(from var(--chain-color) r g b / 0)}}.reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}.d1{transition-delay:.09s}.d2{transition-delay:.18s}.d3{transition-delay:.27s}html.no-js .reveal{opacity:1;transform:none}.btn{--mx:0px;--my:0px;position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.92em 1.6em;border-radius:100px;font-weight:700;font-size:var(--step-0);letter-spacing:.02em;transform:translate3d(var(--mx),var(--my),0);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s var(--ease);will-change:transform;isolation:isolate}.btn-primary{background:linear-gradient(120deg,var(--gold),#ffdf92 45%,var(--gold-deep));color:#17120a;box-shadow:0 14px 40px -14px rgb(from var(--chain-color) r g b / .7)}.btn-primary:hover{box-shadow:0 20px 52px -14px rgb(from var(--chain-color) r g b / .85)}.btn-quiet{border:1px solid var(--line-strong);background:rgba(255,255,255,.03);color:var(--ink);backdrop-filter:blur(8px)}.btn-quiet:hover{background:rgba(255,255,255,.07);border-color:var(--gold)}.btn span{transition:transform .35s var(--ease)}.btn:hover span{transform:translate(2px,-2px)}.header{position:fixed;inset-block-start:0;inset-inline:0;z-index:90;padding-block:.55rem;padding-inline:max(1.2rem,env(safe-area-inset-left)) max(1.2rem,env(safe-area-inset-right));transition:background .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s;border-bottom:1px solid transparent}.header.is-scrolled{background:rgba(6,7,12,.82);backdrop-filter:blur(18px) saturate(150%);border-bottom-color:var(--line)}.header-row{width:var(--shell);margin-inline:auto;min-height:calc(var(--header-h) - 1.1rem);display:flex;align-items:center;gap:.7rem}.brand{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1 1 auto}.brand img{width:clamp(2rem,6vw,2.6rem);height:auto;flex:none;filter:drop-shadow(0 4px 14px rgb(from var(--chain-color) r g b / .35));transition:transform .5s var(--ease)}.brand:hover img{transform:rotate(-8deg) scale(1.06)}.wordmark{font-weight:900;font-size:clamp(.95rem,4.4vw,1.45rem);letter-spacing:.1em;white-space:nowrap;min-width:0;background:linear-gradient(100deg,#fff,var(--gold) 60%,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}@media (min-width:26rem){.wordmark{font-size:clamp(1.05rem,3.4vw,1.5rem)}}.header-tools{display:flex;align-items:center;gap:.5rem;flex:none}.icon-btn{width:2.75rem;height:2.75rem;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--glass);transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.icon-btn:hover{border-color:var(--gold);transform:translateY(-2px)}.anthem-tag{position:relative;color:color-mix(in srgb,var(--chain-color) 16%,#000);background:linear-gradient(140deg,color-mix(in srgb,var(--chain-color) 78%,#fff),var(--chain-color) 70%);border-color:transparent;box-shadow:0 8px 24px -10px rgb(from var(--chain-color) r g b / .8)}.anthem-tag svg{width:1.15rem;height:1.15rem}.anthem-tag.is-playing::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgb(from var(--chain-color) r g b / .6);animation:ring 1.9s var(--ease) infinite}@keyframes ring{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}.nav-toggle{display:grid;gap:5px}.nav-toggle i{display:block;width:17px;height:1.5px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),opacity .25s var(--ease)}.nav-toggle[aria-expanded="true"] i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav a{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);transition:color .25s var(--ease)}.nav a:hover,.nav a[aria-current]{color:var(--gold)}@media (max-width:61.99rem){.nav{position:fixed;inset:var(--header-h) 0 0;display:grid;align-content:start;gap:.3rem;padding:1.4rem max(1.4rem,env(safe-area-inset-left)) 2rem;padding-bottom:max(2rem,env(safe-area-inset-bottom));background:rgba(6,7,12,.96);backdrop-filter:blur(22px);border-top:1px solid var(--line);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}.nav.is-open{opacity:1;visibility:visible;transform:none}.nav a{padding:.95rem .4rem;font-size:1rem;letter-spacing:.16em;border-bottom:1px solid var(--line)}}@media (min-width:62rem){.nav-toggle{display:none}.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,1.9rem);margin-left:auto}.brand{flex:0 0 auto}.header-tools{order:3}}.anthem-panel{position:absolute;inset-block-start:calc(100% - .2rem);inset-inline:max(.7rem,env(safe-area-inset-left)) max(.7rem,env(safe-area-inset-right));z-index:95;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.985);transform-origin:top right;transition:opacity .32s var(--ease),transform .32s var(--ease),visibility .32s}.anthem-panel.is-open{opacity:1;visibility:visible;transform:none}.anthem-inner{position:relative;margin-inline:auto;max-width:44rem;padding:clamp(.9rem,2.6vw,1.2rem);border-radius:var(--radius);border:1px solid var(--line-strong);background:linear-gradient(150deg,rgb(from var(--chain-color) r g b / .07),transparent 42%),var(--glass-2);backdrop-filter:blur(24px) saturate(160%);box-shadow:var(--shadow-lg);display:grid;gap:.85rem}.anthem-top{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.anthem-meta{min-width:0;flex:1 1 9rem}.anthem-kicker{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.26em;color:var(--chain-color)}.anthem-meta strong{display:block;font-size:var(--step-0);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anthem-btn{width:2.9rem;height:2.9rem;flex:none;display:grid;place-items:center;border-radius:50%;background:linear-gradient(140deg,color-mix(in srgb,var(--chain-color) 78%,#fff),var(--chain-color));color:color-mix(in srgb,var(--chain-color) 14%,#000);box-shadow:0 10px 26px -10px rgb(from var(--chain-color) r g b / .9);transition:transform .25s var(--ease)}.anthem-btn:hover{transform:scale(1.07)}.anthem-btn svg{width:1.05rem;height:1.05rem}.anthem-btn .ico-pause,.anthem-btn.is-playing .ico-play{display:none}.anthem-btn.is-playing .ico-pause{display:block}.anthem-ghost{width:2.75rem;height:2.75rem;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);color:var(--ink-soft);transition:color .25s,border-color .25s}.anthem-ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.anthem-ghost svg{width:.95rem;height:.95rem}.anthem-ghost.is-muted{color:var(--pink);border-color:var(--pink)}.eq-wrap{--progress:0%;position:relative;height:3.4rem;border-radius:var(--radius-sm);overflow:hidden;background:rgba(255,255,255,.022)}.eq-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.eq-wrap::before{content:"";position:absolute;inset-inline:0;top:50%;height:2px;margin-top:-1px;background:rgba(255,255,255,.1)}.eq-wrap::after{content:"";position:absolute;inset-inline-start:0;top:50%;width:var(--progress);height:2px;margin-top:-1px;background:linear-gradient(90deg,var(--violet),var(--gold));box-shadow:0 0 12px rgb(from var(--chain-color) r g b / .6)}.anthem-seek{position:absolute;inset-inline:0;top:50%;width:100%;height:2.4rem;margin-top:-1.2rem;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.anthem-seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgb(from var(--chain-color) r g b / .22),0 2px 10px rgba(0,0,0,.6)}.anthem-seek::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgb(from var(--chain-color) r g b / .22)}.anthem-time{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.68rem;color:var(--ink-faint);letter-spacing:.08em}.lyrics{min-height:3.5rem;display:grid;align-content:center;gap:.15rem;padding:.5rem .2rem;text-align:center;overflow:hidden}.lyric-now{font-size:clamp(.95rem,3.2vw,1.22rem);font-weight:700;line-height:1.32;letter-spacing:-.01em;text-wrap:balance}.lyric-now.is-in{animation:lyric-in .5s var(--ease-out) both}@keyframes lyric-in{from{opacity:0;transform:translateY(9px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.lyric-word{--fill:0%;position:relative;display:inline-block;color:var(--ink-faint);transition:color .18s linear}.lyric-word[data-state="live"]{background:linear-gradient(90deg,var(--gold) var(--fill),rgba(123,134,163,1) var(--fill));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lyric-word[data-state="done"]{color:var(--ink);text-shadow:0 0 18px rgb(from var(--chain-color) r g b / .3)}.lyric-next{font-size:.76rem;color:rgba(123,134,163,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anthem-vol{display:flex;align-items:center;gap:.55rem}.anthem-vol input{-webkit-appearance:none;appearance:none;flex:1 1 4rem;min-width:3rem;max-width:9rem;height:3px;border-radius:3px;background:var(--line-strong);cursor:pointer}.anthem-vol input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--ink)}.anthem-vol input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--ink)}.anthem-percent{font-family:var(--mono);font-size:.68rem;color:var(--ink-faint);min-width:3.4rem;text-align:right}.anthem-fallback{display:none;margin-top:.3rem;padding:.55rem .8rem;border-radius:var(--radius-sm);border:1px solid rgb(from var(--chain-color) r g b / .3);background:rgb(from var(--chain-color) r g b / .07);font-size:.76rem;color:var(--ink-soft);align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.anthem-fallback.is-visible{display:flex}.anthem-fallback button{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--gold);text-decoration:underline}.hero{position:relative;z-index:1;min-height:100svh;padding-block:calc(var(--header-h) + 3rem) 3rem;display:grid;align-items:center;gap:clamp(2rem,5vw,3.5rem)}.hero-grid{width:var(--shell);margin-inline:auto;display:grid;gap:clamp(2rem,5vw,3rem)}@media (min-width:58rem){.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center}}.hero-title{font-size:var(--step-4);font-weight:900;letter-spacing:-.045em;margin-block:1rem .6rem;display:flex;flex-wrap:wrap;align-items:baseline}.hero-title b{font-weight:900;background:linear-gradient(105deg,#fff 10%,var(--gold) 55%,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-title i{position:relative;z-index:3;font-style:normal;font-weight:900;background:linear-gradient(180deg,var(--gold),var(--gold-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-shadow:0 0 40px rgb(from var(--chain-color) r g b / .35)}.hero-tagline{font-size:var(--step-1);font-weight:700;line-height:1.28;letter-spacing:-.01em}.hero-tagline em{font-style:normal;background:linear-gradient(100deg,var(--violet),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-body{margin-top:1rem;max-width:44ch;color:var(--ink-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.hero-art{position:relative;display:grid;place-items:center;isolation:isolate}.hero-art img{position:relative;z-index:2;width:min(100%,25rem);height:auto;filter:drop-shadow(0 40px 70px rgba(0,0,0,.8));animation:float 9s var(--ease) infinite alternate;transform:translate3d(calc(var(--px) * 9px),calc(var(--py) * 9px),0)}@keyframes float{to{translate:0 -18px;rotate:1.2deg}}.hero-glow{position:absolute;z-index:1;width:min(112%,30rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(from var(--chain-color) r g b / .2),rgba(168,108,255,.12) 42%,transparent 68%);filter:blur(28px);animation:breathe 7s var(--ease) infinite alternate}@keyframes breathe{to{transform:scale(1.14);opacity:.78}}.orbit{position:absolute;z-index:1;border-radius:50%;border:1px solid var(--line);animation:spin 34s linear infinite}.orbit-a{width:min(104%,27rem);aspect-ratio:1}.orbit-b{width:min(84%,22rem);aspect-ratio:1;border-style:dashed;border-color:rgb(from var(--chain-color) r g b / .16);animation-duration:26s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.telemetry{position:absolute;z-index:4;padding:.5rem .7rem;border-radius:9px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;color:var(--ink-faint);line-height:1.5}.telemetry strong{color:var(--gold)}.telemetry-a{top:6%;left:0}.telemetry-b{bottom:10%;right:0}@media (max-width:34rem){.telemetry{display:none}}.scroll-cue{justify-self:center;display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.28em;color:var(--ink-faint)}.scroll-cue i{display:block;width:1px;height:2.2rem;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s var(--ease) infinite}@keyframes cue{0%,100%{opacity:.25;transform:scaleY(.5)}50%{opacity:1;transform:none}}.statement{text-align:center}.statement h2{font-size:var(--step-4)}.statement h2 span{display:block;background:linear-gradient(100deg,var(--violet),var(--blue) 50%,var(--cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.rule{width:5rem;height:2px;margin:2rem auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.lead{max-width:52ch;margin-inline:auto;font-size:var(--step-1);color:var(--ink-soft)}.duality{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2.4rem;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.2em;color:var(--ink-faint)}.duality b{color:var(--gold);font-size:1.2rem}.foundation{display:grid;gap:1rem;margin-top:3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.foundation article{--rx:0deg;--ry:0deg;position:relative;padding:1.5rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--glass);overflow:hidden;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease),border-color .3s var(--ease)}.foundation article:hover{border-color:rgb(from var(--chain-color) r g b / .4)}.foundation article i{font-family:var(--mono);font-style:normal;font-size:.68rem;letter-spacing:.24em;color:var(--gold)}.foundation article strong{display:block;font-size:var(--step-2);margin-block:.5rem .3rem}.foundation article small{color:var(--ink-faint);font-size:var(--step--1)}.future-intro{text-align:center;margin-block:clamp(3.5rem,8vw,6rem) 2.5rem}.future-word{font-size:var(--step-4);font-weight:900;letter-spacing:-.05em;background:linear-gradient(100deg,var(--gold),var(--pink) 45%,var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:hue 9s linear infinite}@keyframes hue{to{filter:hue-rotate(360deg)}}.future-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.future-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;position:relative;padding:1.35rem 1.2rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.03),transparent),rgba(5,6,10,.8);overflow:hidden;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .35s var(--ease),border-color .3s,background .3s}.future-card::before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(20rem circle at var(--gx) var(--gy),rgba(168,108,255,.16),transparent 60%);transition:opacity .35s var(--ease)}.future-card:hover{border-color:rgba(168,108,255,.42)}.future-card:hover::before{opacity:1}.future-card span{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;color:var(--ink-faint)}.future-card strong{display:block;font-size:var(--step-1);margin-block:.45rem .7rem}.future-card i{font-family:var(--mono);font-style:normal;font-size:.58rem;letter-spacing:.2em;color:var(--violet);padding:.18rem .5rem;border-radius:4px;border:1px solid rgba(168,108,255,.3)}.mission-statement{font-size:var(--step-2);font-weight:700;line-height:1.3;margin-block:1.2rem;background:linear-gradient(100deg,var(--gold),#fff 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.principles{display:grid;gap:1rem;margin-top:3rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.principle{padding:1.6rem 1.4rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.035),transparent),rgba(5,6,10,.82);transition:transform .35s var(--ease),border-color .3s}.principle:hover{transform:translateY(-5px);border-color:var(--line-strong)}.principle span{font-family:var(--mono);font-size:2rem;font-weight:700;color:transparent;-webkit-text-stroke:1px rgb(from var(--chain-color) r g b / .38)}.principle h3{font-size:var(--step-1);margin-block:.6rem .5rem}.principle p{color:var(--ink-faint);font-size:var(--step--1)}.community-grid{display:grid;gap:clamp(2.5rem,6vw,4rem);align-items:center}@media (min-width:58rem){.community-grid{grid-template-columns:1fr 1fr}}.community h2{font-size:var(--step-4)}.community h3{font-size:var(--step-3);background:linear-gradient(100deg,var(--gold),var(--pink));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.microcopy{display:grid;gap:.5rem;margin-block:1.6rem}.microcopy span{font-family:var(--mono);font-size:var(--step--1);color:var(--ink-faint);padding-left:1.1rem;position:relative}.microcopy span::before{content:"▹";position:absolute;left:0;color:var(--gold)}.dog-art{position:relative;display:grid;place-items:center}.dog-halo{position:absolute;width:min(100%,22rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(from var(--chain-color) r g b / .2),transparent 66%);filter:blur(30px);animation:breathe 6s var(--ease) infinite alternate}.dog-btn{position:relative;z-index:2;width:min(74%,17rem);border-radius:50%;animation:wobble 6.5s var(--ease) infinite;transition:transform .3s var(--ease)}.dog-btn:hover{transform:scale(1.05)}.dog-btn.is-poked{animation:poke .55s var(--ease)}@keyframes wobble{0%,100%{transform:translateY(0) rotate(-1.6deg)}50%{transform:translateY(-12px) rotate(1.6deg)}}@keyframes poke{0%{transform:scale(1)}35%{transform:scale(.93) rotate(-5deg)}70%{transform:scale(1.07) rotate(4deg)}100%{transform:scale(1)}}.dog-btn img{width:100%;height:auto;filter:drop-shadow(0 20px 44px rgba(0,0,0,.75))}.dog-bubble{position:absolute;z-index:5;left:50%;top:50%;padding:.75rem 1.15rem;font-weight:900;font-size:clamp(.8rem,2.4vw,1.05rem);letter-spacing:.02em;white-space:nowrap;color:#0d0a16;opacity:0;pointer-events:none;transform:translate(-50%,-50%) translate(var(--bx),var(--by)) rotate(var(--brot)) scale(.4);transition:opacity .22s var(--ease),transform .34s cubic-bezier(.2,1.5,.4,1)}.dog-bubble.is-visible{opacity:1;transform:translate(-50%,-50%) translate(var(--bx),var(--by)) rotate(var(--brot)) scale(var(--bscale))}.dog-bubble.is-popping{transition-duration:.16s;transform:translate(-50%,-50%) translate(var(--bx),var(--by)) scale(1.35);opacity:0}.dog-bubble.s1{border-radius:50% 50% 50% 8px / 60% 60% 40% 8px}.dog-bubble.s2{border-radius:22px 22px 22px 4px}.dog-bubble.s3{border-radius:40% 60% 55% 45% / 55% 45% 55% 45%}.dog-bubble.gold{background:linear-gradient(140deg,#ffe08a,var(--gold));box-shadow:0 12px 30px -10px rgb(from var(--chain-color) r g b / .8)}.dog-bubble.blue{background:linear-gradient(140deg,#a8ccff,var(--blue));box-shadow:0 12px 30px -10px rgba(95,157,255,.8)}.dog-bubble.violet{background:linear-gradient(140deg,#d3b4ff,var(--violet));box-shadow:0 12px 30px -10px rgba(168,108,255,.8)}.dog-bubble.pink{background:linear-gradient(140deg,#ffb3da,var(--pink));box-shadow:0 12px 30px -10px rgba(255,111,189,.8)}.dog-bubble.cyan{background:linear-gradient(140deg,#a7f0f8,var(--cyan));box-shadow:0 12px 30px -10px rgba(79,216,232,.8)}.dog-bubble.white{background:linear-gradient(140deg,#fff,#cfd8f0);box-shadow:0 12px 30px -10px rgba(255,255,255,.5)}.cinematic{text-align:center}.cinematic-word{font-size:var(--step-4);font-weight:900;letter-spacing:-.05em;line-height:.96;opacity:.14;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(14px)}.cinematic.is-visible .cinematic-word{opacity:1;transform:none}.cinematic.is-visible .cinematic-word:nth-child(2){transition-delay:.12s}.cinematic.is-visible .cinematic-word:nth-child(3){transition-delay:.24s}.cinematic-word:nth-child(2){color:var(--gold)}.cinematic-word:nth-child(3){background:linear-gradient(100deg,var(--violet),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.vision{max-width:40rem;margin:3rem auto 0;padding:1.6rem;border-radius:var(--radius);border:1px solid rgb(from var(--chain-color) r g b / .22);background:linear-gradient(rgb(from var(--chain-color) r g b / .05),transparent),rgba(5,6,10,.84)}.vision span{font-family:var(--mono);font-size:.62rem;letter-spacing:.3em;color:var(--gold)}.vision p{font-size:var(--step-1);font-weight:700;margin-top:.6rem}.viewer{margin-top:2.6rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--glass-2);overflow:hidden;box-shadow:var(--shadow-md)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}.viewer-status{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;color:var(--ink-faint)}.viewer-ctrl{display:flex;gap:.35rem;flex-wrap:wrap}.viewer-ctrl button{min-width:2.75rem;height:2.75rem;padding-inline:.7rem;border-radius:8px;border:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--ink-soft);transition:border-color .25s,color .25s,background .25s}.viewer-ctrl button:hover{border-color:var(--gold);color:var(--gold)}.viewer-stage{position:relative;height:clamp(20rem,62vh,40rem);overflow:hidden;cursor:grab;touch-action:pan-y pinch-zoom;background:linear-gradient(rgba(146,162,210,.05) 1px,transparent 1px) 0 0 / 42px 42px,linear-gradient(90deg,rgba(146,162,210,.05) 1px,transparent 1px) 0 0 / 42px 42px}.viewer.is-zoomed .viewer-stage{cursor:grab;touch-action:none}.viewer-stage.is-dragging{cursor:grabbing}.viewer-space{position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0);transform-origin:center;will-change:transform}.viewer-space img{width:min(92vw,68rem);height:auto;max-height:none;user-select:none;-webkit-user-drag:none}.viewer-hint{position:absolute;inset-block-end:.7rem;inset-inline:0;text-align:center;font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;color:var(--ink-faint);pointer-events:none;text-shadow:0 2px 8px #000}.viewer.is-fullscreen{border-radius:0}.viewer.is-fullscreen .viewer-stage{height:calc(100vh - 3.7rem)}.docs-note{margin-top:1.4rem;padding:1.1rem 1.3rem;border-radius:var(--radius-sm);border-left:2px solid var(--gold);background:rgba(5,6,10,.82)}.docs-note span{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;color:var(--gold)}.docs-note p{margin-top:.4rem;color:var(--ink-faint);font-size:var(--step--1)}.team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.team-count{text-align:right}.team-count strong{display:block;font-size:var(--step-4);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gold)}.team-count span{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;color:var(--ink-faint)}.rail-wrap{position:relative;margin-top:2.6rem}.rail{display:flex;gap:1.1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:.6rem calc((100% - var(--shell)) / 2) 1.4rem}.rail::-webkit-scrollbar{display:none}.rail.is-dragging{scroll-snap-type:none;cursor:grabbing}.team-card{flex:0 0 min(78vw,17.5rem);scroll-snap-align:center;aspect-ratio:9 / 11;perspective:1400px;cursor:pointer;-webkit-tap-highlight-color:transparent}@media (min-width:48rem){.team-card{flex-basis:17rem}}.team-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .78s var(--ease)}.team-card.is-flipped .team-inner{transform:rotateY(180deg)}.team-face{position:absolute;inset:0;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:radial-gradient(120% 80% at 50% 8%,rgba(168,108,255,.16),transparent 58%),linear-gradient(180deg,rgba(18,21,34,.9),rgba(8,10,18,.96))}.team-front{display:grid}.team-front img{grid-area:1 / 1;width:100%;height:100%;object-fit:contain;object-position:center 12%;transition:transform .6s var(--ease)}.team-card:hover .team-front img{transform:scale(1.045)}.team-type{grid-area:1 / 1;place-self:start end;z-index:2;padding:.34rem .6rem;border-radius:0 var(--radius) 0 10px;font-family:var(--mono);font-size:.56rem;letter-spacing:.2em;background:rgba(95,157,255,.16);border-left:1px solid rgba(95,157,255,.3);border-bottom:1px solid rgba(95,157,255,.3);color:#a8ccff;backdrop-filter:blur(8px)}.team-type.human{background:rgb(from var(--chain-color) r g b / .16);border-color:rgb(from var(--chain-color) r g b / .34);color:var(--gold)}.team-band{grid-area:1 / 1;align-self:end;z-index:2;padding:1.4rem .95rem .95rem;background:linear-gradient(transparent,rgba(5,6,10,.88) 42%);backdrop-filter:blur(3px)}.team-band strong{display:block;font-size:var(--step-1);font-weight:900;letter-spacing:.04em}.team-band span{display:block;margin-top:.15rem;font-size:.66rem;line-height:1.4;color:var(--ink-faint)}.team-back{transform:rotateY(180deg);padding:1.3rem 1.15rem;overflow-y:auto;display:grid;align-content:start;gap:.7rem;text-align:left}.team-back-kicker{font-family:var(--mono);font-size:.53rem;letter-spacing:.16em;color:var(--gold);line-height:1.5}.team-back h3{font-size:var(--step-2)}.team-back p{font-size:.74rem;line-height:1.58;color:var(--ink-soft)}.team-back b{display:block;margin-bottom:.15rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;color:var(--ink-faint);font-weight:400}.rail-nav{display:flex;gap:.5rem;justify-content:center;margin-top:.4rem}.rail-nav button{width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--line);color:var(--ink-soft);display:grid;place-items:center;transition:border-color .25s,color .25s,opacity .25s}.rail-nav button:hover:not([disabled]){border-color:var(--gold);color:var(--gold)}.rail-nav button[disabled]{opacity:.3;cursor:not-allowed}.team-hint{text-align:center;margin-top:.9rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;color:var(--ink-faint)}.disclaimer{margin-block:2rem;padding:1.2rem 1.4rem;border-radius:var(--radius-sm);border:1px solid rgba(255,111,189,.28);background:linear-gradient(rgba(255,111,189,.06),transparent),rgba(5,6,10,.84)}.disclaimer strong{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;color:var(--pink)}.disclaimer p{margin-top:.5rem;font-size:var(--step--1);color:var(--ink-soft)}.faq-groups{display:grid;gap:2.4rem;margin-top:2.4rem}.faq-group-title{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--gold);margin-bottom:1rem}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;font-weight:600;font-size:var(--step-0);cursor:pointer;list-style:none;transition:color .25s var(--ease)}summary::-webkit-details-marker{display:none}summary::after{content:"+";flex:none;font-family:var(--mono);font-size:1.15rem;color:var(--gold);transition:transform .3s var(--ease)}details[open] summary{color:var(--gold)}details[open] summary::after{transform:rotate(45deg)}details > p,details > div{padding-bottom:1.1rem;font-size:var(--step--1);color:var(--ink-soft);max-width:68ch}details[open] > p{animation:reveal-down .4s var(--ease-out) both}@keyframes reveal-down{from{opacity:0;transform:translateY(-6px)}}.regulatory{padding:1.4rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(5,6,10,.82);display:grid;gap:.8rem}.regulatory p{font-size:var(--step--1);color:var(--ink-faint)}.cta{text-align:center}.cta h2{font-size:var(--step-4)}.cta h2 span{display:block;background:linear-gradient(100deg,var(--gold),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.cta .hero-actions{justify-content:center}.footer{position:relative;z-index:1;border-top:1px solid var(--line);padding-block:3rem;padding-bottom:max(3rem,env(safe-area-inset-bottom))}.footer-grid{width:var(--shell);margin-inline:auto;display:grid;gap:2rem}@media (min-width:48rem){.footer-grid{grid-template-columns:1.4fr 1fr 1.6fr}}.footer p{color:var(--ink-faint);font-size:var(--step--1);margin-top:.8rem}.footer nav{display:grid;gap:.5rem;align-content:start}.footer nav a{font-size:var(--step--1);color:var(--ink-faint);transition:color .25s}.footer nav a:hover{color:var(--gold)}.legal span{display:block;margin-top:.9rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--ink-faint)}.noscript{position:relative;z-index:10;margin:calc(var(--header-h) + 1rem) auto 0;width:var(--shell);padding:1rem 1.2rem;border-radius:var(--radius-sm);border:1px solid rgb(from var(--chain-color) r g b / .3);background:rgb(from var(--chain-color) r g b / .06);font-size:var(--step--1)}.hero-copy,.section-head,.statement .shell,.cinematic,.launch,.cta .shell,.footer-grid,.team-head,.faq-group,.community-grid > div:first-child{position:relative;isolation:isolate}.hero-copy::before,.section-head::before,.statement .shell::before,.cinematic::before,.launch::before,.cta .shell::before,.footer-grid::before,.team-head::before,.faq-group::before,.community-grid > div:first-child::before{content:"";position:absolute;inset:-2.2rem -2.8rem;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 78% 74% at 50% 50%,rgba(5,6,10,.88) 0%,rgba(5,6,10,.78) 46%,rgba(5,6,10,.42) 68%,rgba(5,6,10,0) 84%)}.hero-copy::before{inset:-3rem -6rem -3rem -4rem;background:radial-gradient(ellipse 70% 78% at 34% 50%,rgba(5,6,10,.9) 0%,rgba(5,6,10,.8) 44%,rgba(5,6,10,.4) 70%,rgba(5,6,10,0) 86%)}[data-parallax]{transform:translate3d(0,var(--shift,0px),0);will-change:transform}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}.reveal{opacity:1 !important;transform:none !important}.team-inner{transition:none !important}[data-parallax]{transform:none !important}.cinematic-word{opacity:1;transform:none}.nebula{animation:none}}@media (min-width:100rem){:root{--shell:min(100% - 4rem,88rem)}}@media (max-height:34rem) and (orientation:landscape){.hero{min-height:auto;padding-block:calc(var(--header-h) + 2rem) 2rem}.scroll-cue{display:none}}.launch{text-align:center}.launch-live{display:none}.launch.is-live .launch-pending{display:none}.launch.is-live .launch-live{display:block}.launch h2{font-size:var(--step-3)}.launch h2 span{background:linear-gradient(100deg,var(--gold),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.launch .eyebrow{justify-content:center}.live-tag{padding:.1rem .45rem;border-radius:4px;background:rgba(52,224,122,.16);border:1px solid rgba(52,224,122,.4);color:#34e07a;font-weight:700}.ca-warn{max-width:46ch;margin:1.1rem auto 0;font-size:var(--step--1);color:var(--ink-soft)}.ca-box{max-width:44rem;margin:1.8rem auto 0;padding:clamp(1rem,3vw,1.5rem);border-radius:var(--radius);border:1px solid rgb(from var(--chain-color) r g b / .3);background:linear-gradient(160deg,rgb(from var(--chain-color) r g b / .07),rgba(168,108,255,.05)),rgba(5,6,10,.84);backdrop-filter:blur(10px);display:grid;gap:1rem;justify-items:center}.ca-value{font-family:var(--mono);font-size:clamp(.62rem,2.3vw,.95rem);letter-spacing:.02em;line-height:1.5;word-break:break-all;color:var(--gold);cursor:pointer;padding:.5rem .7rem;border-radius:8px;background:rgba(0,0,0,.35);border:1px solid var(--line);transition:border-color .25s var(--ease);max-width:100%}.ca-value:hover{border-color:var(--gold)}.ca-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.ca-copy .ca-copy-done{display:none}.ca-copy.is-copied{background:linear-gradient(120deg,#34e07a,#1db954)}.ca-copy.is-copied .ca-copy-idle{display:none}.ca-copy.is-copied .ca-copy-done{display:inline}.ca-links{display:grid;gap:.6rem;margin-top:1.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.ca-link{padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(5,6,10,.8);text-align:left;transition:border-color .25s var(--ease),transform .25s var(--ease),background .25s}.ca-link:hover{border-color:var(--gold);transform:translateY(-3px);background:rgba(255,255,255,.045)}.ca-link b{display:block;font-size:var(--step-0);font-weight:700}.ca-link b::after{content:" ↗";color:var(--gold);font-weight:400}.ca-link span{display:block;margin-top:.1rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.chain-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}.chain-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-decoration:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);transition:transform .15s ease,box-shadow .15s ease}.chain-badge:hover{transform:translateY(-1px)}.chain-badge__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor,0 0 12px currentColor;animation:chainPulse 2.2s ease-in-out infinite}@keyframes chainPulse{0%,100%{opacity:1}50%{opacity:.45}}.chain-badge--bsc{color:#F0B90B;box-shadow:0 0 0 1px rgb(from var(--chain-color) r g b / .25) inset}.chain-badge--ethereum{color:#8EA6FF;box-shadow:0 0 0 1px rgba(142,166,255,.25) inset}.chain-badge--robinhood{color:#CCFF00;box-shadow:0 0 0 1px rgba(204,255,0,.25) inset}

/* ============================================================================
   MoonDoge — multi-chain card rows (added: multi-chain launch section)
   ----------------------------------------------------------------------------
   One .chain-row per LIVE chain, rendered by js/launch.js from
   js/site-data.js. Desktop: all rows fully expanded, stacked, no header.
   Mobile (<=760px): each row becomes a collapsible accordion — icon + name
   + chevron header, tap to expand/collapse. First live chain opens by
   default; the rest start collapsed. --chain-color is set inline per row
   from site-data.js so BSC/ETH/Robinhood each keep their own accent without
   any chain-specific CSS classes being required.
   ========================================================================== */
.chain-rows{display:grid;gap:.9rem;margin-top:1.6rem;text-align:left}
.chain-row{border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--chain-color,var(--gold)) 22%,var(--line));background:rgba(5,6,10,.55);overflow:clip}
.chain-row-head{display:none;width:100%;align-items:center;gap:.7rem;padding:.9rem 1.1rem;text-align:left;background:none;border:0;color:inherit;cursor:pointer}
.chain-row-icon{border-radius:50%;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--chain-color,var(--gold)) 70%,transparent))}
.chain-row-name{flex:1;font-weight:800;font-size:var(--step-0);color:var(--chain-color,var(--gold))}
.chain-row-name small{display:block;font-weight:500;font-size:.68rem;letter-spacing:.04em;color:var(--ink-faint);text-transform:none}
.chain-row-chevron{width:18px;height:18px;color:var(--ink-faint);transition:transform .25s var(--ease)}
.chain-row.is-open .chain-row-chevron{transform:rotate(180deg)}
.chain-row-body{display:grid;gap:.6rem;padding:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.chain-row .ca-link{border-color:color-mix(in srgb,var(--chain-color,var(--gold)) 20%,var(--line))}
.chain-row .ca-link:hover{border-color:var(--chain-color,var(--gold));background:color-mix(in srgb,var(--chain-color,var(--gold)) 6%,rgba(255,255,255,.045))}
.chain-row .ca-link b::after{color:var(--chain-color,var(--gold))}

@media (max-width:760px){
  .chain-row-head{display:flex}
  .chain-row-body{grid-template-columns:repeat(2,1fr);display:none;padding:.9rem}
  .chain-row.is-open .chain-row-body{display:grid}
}

/* ============================================================================
   MoonDoge — anthem player close button (added)
   ----------------------------------------------------------------------------
   Small glowing "x" pinned to the top-right corner of the anthem card.
   Closes the CARD ONLY — see js/anthem.js: it calls the same setOpen(false)
   used by Escape/outside-click, which never touches playback. Re-opening is
   only possible via the green header button (data-anthem-toggle).
   ========================================================================== */
.anthem-close{position:absolute;top:.55rem;right:.55rem;z-index:2;width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;border:1px solid rgb(from var(--chain-color) r g b / .4);background:rgba(5,6,10,.6);color:var(--chain-color);transition:color .2s,border-color .2s,box-shadow .2s;box-shadow:0 0 8px rgb(from var(--chain-color) r g b / .35),0 0 16px rgb(from var(--chain-color) r g b / .15)}
.anthem-close svg{width:.85rem;height:.85rem}
.anthem-close:hover{border-color:var(--chain-color);box-shadow:0 0 12px rgb(from var(--chain-color) r g b / .65),0 0 26px rgb(from var(--chain-color) r g b / .35)}
.anthem-close:focus-visible{outline:2px solid var(--chain-color);outline-offset:2px}

/* Build stamp in footer — small, unobtrusive, but always visible so a stale
   cached page is identifiable at a glance without opening devtools. */
.build-stamp{display:block;margin-top:.5rem;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);opacity:.45}

/* ==========================================================================
   DASHBOARD LAUNCHER — second header row
   A physical, pressable slab. Built the way the reference button is: a thick
   extruded body (stacked hard shadows for the side wall), an inner top
   highlight and bottom shade to fake surface curvature, and a pointer-tracked
   specular sweep so light appears to move across it. On press the body sinks
   into its own wall and tilts toward the pointer, so it bends where you push.
   Everything animates transform/opacity/box-shadow only — no layout work.
   ========================================================================== */
/* No band, no blur: the button sits directly on the page so nothing
   translucent floats over the hero behind it. */
.dash-row{position:relative;z-index:5;display:flex;justify-content:center;
  padding:.75rem 1rem .9rem}
.dash-row[hidden]{display:none}
.dash-launch{display:flex;flex-direction:column;align-items:center;gap:.7rem}

.dash-btn{
  /* Side-wall ramp, derived from the active chain colour so the button's
     3D edge matches the face instead of staying gold. */
  --wall-1:color-mix(in srgb,var(--chain-color) 72%,#000);
  --wall-2:color-mix(in srgb,var(--chain-color) 62%,#000);
  --wall-3:color-mix(in srgb,var(--chain-color) 52%,#000);
  --wall-4:color-mix(in srgb,var(--chain-color) 42%,#000);
  --wall-5:color-mix(in srgb,var(--chain-color) 34%,#000);
  position:relative;display:inline-block;text-decoration:none;
  perspective:800px;isolation:isolate;
  -webkit-tap-highlight-color:transparent}

/* The slab itself. */
.dash-btn-face{color:color-mix(in srgb,var(--chain-color) 18%,#000);position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.2rem;
  padding:.72rem 2.1rem;border-radius:999px;
  background:
    radial-gradient(140% 120% at 50% -20%, #fff3c9 0%, transparent 45%),
    linear-gradient(180deg,#ffe6a0 0%,var(--gold) 38%,#d9a63c 72%,#b8842a 100%);
  color:#1a1206;text-align:center;
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px);
  transform-style:preserve-3d;will-change:transform;
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.9),
    inset 0 -3px 2px rgba(120,80,10,.45),
    0 2px 0 var(--wall-1), 0 4px 0 var(--wall-2), 0 6px 0 var(--wall-3), 0 8px 0 var(--wall-4),
    0 14px 26px rgba(0,0,0,.6),
    0 0 34px rgb(from var(--chain-color) r g b / .4);
  transition:transform .15s cubic-bezier(.2,.9,.3,1.1),box-shadow .22s var(--ease)}

/* Moving specular highlight. */
.dash-btn-face::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.75),transparent 55%);
  opacity:.32;transition:opacity .25s;mix-blend-mode:screen}

.dash-btn-label{font-weight:900;font-size:clamp(.85rem,2vw,1.02rem);letter-spacing:.12em;
  text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.dash-btn-sub{font-size:.6rem;letter-spacing:.06em;font-weight:800;opacity:.68}

/* Halo. */
.dash-btn-glow{position:absolute;inset:-18px;border-radius:999px;z-index:1;pointer-events:none;
  background:radial-gradient(closest-side,rgb(from var(--chain-color) r g b / .5),transparent 70%);
  opacity:.5;filter:blur(14px);transition:opacity .3s,transform .3s}

.dash-btn:hover .dash-btn-face{
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.95),
    inset 0 -3px 2px rgba(120,80,10,.45),
    0 2px 0 var(--wall-1), 0 4px 0 var(--wall-2), 0 6px 0 var(--wall-3), 0 8px 0 var(--wall-4),
    0 11px 0 var(--wall-5),
    0 22px 38px rgba(0,0,0,.65),
    0 0 60px rgb(from var(--chain-color) r g b / .7)}
.dash-btn:hover .dash-btn-face::after{opacity:.62}
.dash-btn:hover .dash-btn-glow{opacity:1;transform:scale(1.08)}

/* Pressed: sinks through the extruded wall, keeps the pointer tilt. */
.dash-btn.is-pressed .dash-btn-face{
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(7px) scale(.99);
  box-shadow:
    inset 0 3px 6px rgba(120,80,10,.55),
    inset 0 -1px 0 rgba(255,255,255,.35),
    0 1px 0 var(--wall-4),
    0 3px 9px rgba(0,0,0,.55),
    0 0 26px rgb(from var(--chain-color) r g b / .55)}
.dash-btn:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:999px}

/* Per-chain shortcuts — only rendered when 2+ chains are live. */
.dash-chains{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.dash-chains:empty{display:none}
.dash-chain{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .75rem;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--chain-color) 35%,var(--line));
  background:rgba(5,6,10,.65);color:var(--ink-soft);font-size:.7rem;font-weight:700;
  text-decoration:none;transition:border-color .2s,color .2s,box-shadow .2s,transform .2s}
.dash-chain img{border-radius:50%}
.dash-chain:hover{color:var(--chain-color);border-color:var(--chain-color);transform:translateY(-1px);
  box-shadow:0 0 14px color-mix(in srgb,var(--chain-color) 45%,transparent)}

@media (prefers-reduced-motion:reduce){
  .dash-btn-face,.dash-btn-glow,.dash-chain{transition:none}
  .dash-btn-face{transform:translateY(-3px) !important}
}
@media (max-width:520px){
  .dash-btn-face{padding:.85rem 1.8rem}
  .dash-row{padding:.85rem .8rem 1.05rem}
}

/* ==========================================================================
   CHAIN THEMING
   --chain-color is set on <html> at runtime (launch.js on the homepage,
   dash.js / admin.js on the dashboards) from the active chain's `color`
   field in config. Everything chain-tinted reads from this one variable, so
   switching chains recolours the whole page with no per-chain CSS.
   Falls back to gold before a chain resolves, so nothing flashes unstyled.
   ========================================================================== */
:root{--chain-color:var(--gold)}

/* Accents that should follow the active chain. */
.chain-badge{border-color:color-mix(in srgb,var(--chain-color) 45%,var(--line))}
.chain-badge__dot{background:var(--chain-color);
  box-shadow:0 0 8px color-mix(in srgb,var(--chain-color) 80%,transparent)}
.chain-badge__label{color:var(--chain-color)}

.dash-btn-face{
  background:
    radial-gradient(140% 120% at 50% -20%, color-mix(in srgb,var(--chain-color) 35%,#fff) 0%, transparent 45%),
    linear-gradient(180deg,
      color-mix(in srgb,var(--chain-color) 55%,#fff) 0%,
      var(--chain-color) 38%,
      color-mix(in srgb,var(--chain-color) 80%,#000) 72%,
      color-mix(in srgb,var(--chain-color) 62%,#000) 100%)}
.dash-btn-glow{background:radial-gradient(closest-side,
  color-mix(in srgb,var(--chain-color) 55%,transparent),transparent 70%)}

/* ==========================================================================
   CHAIN SWITCHER — popover card
   Behaves like an account switcher: a compact trigger showing the current
   chain, opening a card listing every LIVE chain with its own colour. Only
   rendered when 2+ chains are live; with one live chain the trigger is a
   plain non-interactive badge, because there is nothing to switch to.
   ========================================================================== */
.chain-menu{position:relative;display:inline-block}
.chain-menu-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .7rem;
  border-radius:999px;border:1px solid color-mix(in srgb,var(--chain-color) 45%,var(--line));
  background:rgba(5,6,10,.6);color:var(--chain-color);font-size:.74rem;font-weight:800;
  cursor:pointer;transition:box-shadow .25s,border-color .25s}
.chain-menu-trigger:hover{box-shadow:0 0 14px color-mix(in srgb,var(--chain-color) 40%,transparent)}
.chain-menu-trigger svg.chev{width:12px;height:12px;opacity:.7;transition:transform .25s}
.chain-menu.is-open .chain-menu-trigger svg.chev{transform:rotate(180deg)}
.chain-menu-trigger img,.chain-menu-trigger svg:not(.chev){width:17px;height:17px;border-radius:50%}

.chain-menu-card{position:absolute;top:calc(100% + .5rem);right:0;z-index:60;min-width:14rem;
  padding:.4rem;border-radius:14px;border:1px solid var(--line-strong);
  background:rgba(10,12,18,.97);backdrop-filter:blur(18px);
  box-shadow:0 18px 40px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);
  transition:opacity .2s,transform .2s,visibility .2s}
.chain-menu.is-open .chain-menu-card{opacity:1;visibility:visible;transform:none}
.chain-menu-head{padding:.45rem .6rem .5rem;font-size:.6rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line)}
.chain-opt{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem;border-radius:10px;
  background:none;border:0;color:var(--ink);font-size:.82rem;font-weight:700;text-align:left;
  cursor:pointer;transition:background .18s}
.chain-opt:hover{background:color-mix(in srgb,var(--opt-color) 12%,transparent)}
.chain-opt img,.chain-opt svg{width:20px;height:20px;border-radius:50%;flex:none}
.chain-opt small{display:block;font-size:.62rem;font-weight:500;color:var(--ink-faint)}
.chain-opt .tick{margin-left:auto;width:14px;height:14px;color:var(--opt-color);opacity:0}
.chain-opt.is-current .tick{opacity:1}
.chain-opt.is-current{background:color-mix(in srgb,var(--opt-color) 14%,transparent)}

/* ==========================================================================
   ANTHEM BUTTON — attention without sound
   Nothing autoplays. Instead the button gives a short wiggle plus an
   expanding ring every few seconds, so visitors notice the anthem exists.
   Stops permanently on first hover or click (remembered in localStorage).
   ========================================================================== */
.anthem-tag{position:relative}
.anthem-tag.is-nagging{animation:anthem-juggle 1.4s cubic-bezier(.36,.07,.19,.97) both}
@keyframes anthem-juggle{
  0%,100%{transform:rotate(0) scale(1)}
  8%{transform:rotate(-13deg) scale(1.07)}
  18%{transform:rotate(11deg) scale(1.07)}
  28%{transform:rotate(-9deg) scale(1.05)}
  38%{transform:rotate(7deg) scale(1.04)}
  48%{transform:rotate(-4deg) scale(1.02)}
  58%{transform:rotate(2deg) scale(1.01)}
}
.anthem-tag.is-nagging::after{content:"";position:absolute;inset:-4px;border-radius:50%;
  border:2px solid var(--chain-color);pointer-events:none;
  animation:anthem-ring 1.4s ease-out 2}
@keyframes anthem-ring{
  0%{transform:scale(.9);opacity:.85}
  100%{transform:scale(1.7);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .anthem-tag.is-nagging,.anthem-tag.is-nagging::after{animation:none}
}

/* ==========================================================================
   NAV SAFETY
   The mobile nav is a full-height overlay anchored under the fixed header.
   It must always be reachable and scrollable — if the option list ever grows
   taller than the viewport it scrolls internally rather than pushing items
   off-screen where they can't be reached.
   ========================================================================== */
@media (max-width:900px){
  .nav{overflow-y:auto;overscroll-behavior:contain;
       max-height:calc(100dvh - var(--header-h))}
}

/* ==========================================================================
   LAUNCHER POSITION FIX
   .header is position:fixed, so anything placed after it in the document
   starts at y=0 — underneath the header, overlapping the nav and unclickable.
   That is exactly what happened. Offsetting by the header height puts it in
   its own row below; the hero then only needs its normal breathing room
   rather than a second full header offset.
   ========================================================================== */
.dash-row{margin-block-start:var(--header-h)}
html:has(.dash-row:not([hidden])) .hero{padding-block-start:1.5rem}

/* ==========================================================================
   FULL CHAIN THEMING
   --gold is remapped at runtime to the active chain's colour (see launch.js
   / dash.js / admin.js). Because virtually every accent on the site already
   resolves through --gold, one assignment retints the ENTIRE page — hero
   gradients, buttons, links, borders, glows, focus rings — instead of the
   handful of elements a --chain-color-only approach reached.
   ========================================================================== */
