@font-face{font-family:'Fira Code';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/FiraCode-700.woff2') format('woff2')}
/* =====================================================================
   K0G — 60-second commercial (v2): rare, powerful agents; complex systems
   ===================================================================== */
:root{
  --bg:#05070a; --bg-1:#080b10; --panel:#0a0e14; --line:#1a2430; --line-2:#26323f;
  --txt:#e8eef2; --txt-2:#93a4b0; --txt-3:#5c6b77;
  --acc:#a3e635; --acc-l:#ccf279; --cyn:#38bdf8; --amb:#ffc24d; --vio:#a78bfa;
  --red:#ff2b45; --red-l:#ff6178; --red-d:#c81030;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:#000;color:var(--txt);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}
.stage{position:relative;height:100vh;width:100vw;overflow:hidden;background:radial-gradient(1200px 800px at 50% 30%,#0a1017,#04060a 70%)}
.stage.hit{animation:shakeS .3s cubic-bezier(.36,.07,.19,.97)}
@keyframes shakeS{0%,100%{transform:translate(0,0)}25%{transform:translate(-6px,3px)}50%{transform:translate(7px,-4px)}75%{transform:translate(-4px,4px)}}

.fx-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(163,230,53,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(163,230,53,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 30%,transparent 80%);opacity:.55;animation:gridpan 12s linear infinite}
@keyframes gridpan{to{background-position:48px 48px}}
.fx-scan{position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(0,0,0,.28) 2px 3px);opacity:.32;pointer-events:none;mix-blend-mode:multiply}
.fx-vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(0,0,0,.72) 100%);pointer-events:none}

.brand{position:absolute;top:26px;left:30px;z-index:30;display:flex;align-items:center;gap:9px;color:var(--acc);font-family:var(--mono);font-weight:800;font-size:19px;letter-spacing:.05em;opacity:0;transition:opacity .5s}
.brand svg{width:26px;height:26px}.brand.show{opacity:1}
.progress{position:absolute;top:32px;right:30px;z-index:30;display:flex;gap:8px;opacity:0;transition:opacity .5s}
.progress.show{opacity:1}
.progress i{width:30px;height:3px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden;position:relative}
.progress i b{position:absolute;inset:0;width:0;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.progress i.on b{width:100%;transition:width 8s linear}

.scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden}
.scene.on{opacity:1;visibility:visible}

/* ---------- INTRO ---------- */
.intro-mark{color:var(--acc);opacity:0;transform:scale(.6);filter:drop-shadow(0 0 22px rgba(163,230,53,.6))}
.intro-mark svg{width:74px;height:74px}
.intro.play .intro-mark{animation:popIn .7s cubic-bezier(.2,.9,.2,1.2) forwards}
.intro-h1{font-family:var(--mono);font-weight:800;font-size:clamp(70px,15vw,190px);letter-spacing:.02em;margin:6px 0 0;color:#fff;text-shadow:0 0 50px rgba(163,230,53,.35);opacity:0}
.intro.play .intro-h1{animation:riseIn .7s .18s cubic-bezier(.2,.7,.2,1) forwards}
.intro-sub{font-family:var(--mono);font-size:clamp(11px,1.5vw,16px);letter-spacing:.42em;color:var(--acc);margin-top:6px;opacity:0}
.intro.play .intro-sub{animation:riseIn .6s .38s ease forwards}
.intro-tag{font-size:clamp(16px,2.4vw,28px);font-weight:300;color:var(--txt-2);margin-top:22px;opacity:0}
.intro.play .intro-tag{animation:riseIn .6s .56s ease forwards}
@keyframes popIn{to{opacity:1;transform:scale(1)}}
@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ---------- SEGMENT SHARED ---------- */
.seg-head{position:absolute;top:11%;left:7%;display:flex;align-items:center;gap:20px;z-index:12;transform:translateX(-40px);opacity:0}
.seg.play .seg-head{animation:slideIn .55s cubic-bezier(.2,.8,.2,1) forwards}
.seg-no{font-family:var(--mono);font-weight:800;font-size:clamp(40px,7vw,84px);color:transparent;-webkit-text-stroke:2px var(--acc);line-height:.8}
.seg-name{font-weight:900;font-size:clamp(28px,4.6vw,58px);letter-spacing:-.02em;line-height:1;color:#fff}
.seg-sub{font-family:var(--mono);font-size:clamp(10px,1.15vw,13px);letter-spacing:.12em;text-transform:uppercase;color:var(--txt-2);margin-top:8px}
@keyframes slideIn{to{transform:none;opacity:1}}

.mock{position:relative;width:min(820px,84vw);border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--panel),#070a0e);box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden;transform:translateY(30px) scale(.98);opacity:0}
.seg.play .mock{animation:mockIn .55s .1s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes mockIn{to{transform:none;opacity:1}}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;border-bottom:1px solid var(--line);background:#0c1119}
.dot{width:9px;height:9px;border-radius:50%}.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
.mock-bar .mono{margin-left:8px;font-family:var(--mono);font-size:12px;color:var(--txt-2)}

.stamp{position:absolute;z-index:22;left:50%;bottom:12%;transform:translateX(-50%) scale(.6) rotate(-4deg);opacity:0;
  font-family:var(--mono);font-weight:800;font-size:clamp(17px,2.4vw,28px);letter-spacing:.02em;color:#fff;
  padding:14px 26px;border:2px solid var(--red);border-radius:10px;background:rgba(30,0,6,.75);
  box-shadow:0 0 0 5px rgba(255,43,69,.16),0 0 48px rgba(255,43,69,.45);white-space:nowrap;display:flex;align-items:center;gap:14px}
.stamp.hit{animation:stampIn .5s cubic-bezier(.2,1.5,.3,1) forwards}
.stamp-k{font-size:.6em;letter-spacing:.16em;color:#03130c;background:var(--red);padding:4px 9px;border-radius:5px}
@keyframes stampIn{0%{opacity:0;transform:translateX(-50%) scale(.6) rotate(-4deg)}60%{opacity:1;transform:translateX(-50%) scale(1.07) rotate(-1deg)}100%{opacity:1;transform:translateX(-50%) scale(1) rotate(-1.5deg)}}

/* detonation on a struck element */
.det{animation:det .5s ease}
@keyframes det{0%{box-shadow:0 0 0 0 rgba(255,43,69,.7)}30%{box-shadow:0 0 0 3px var(--red),0 0 40px rgba(255,43,69,.55)}100%{box-shadow:0 0 0 0 rgba(255,43,69,0)}}

/* ---------- API (dense) ---------- */
.api-cat{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px;padding:14px 18px}
.api-col{display:grid;gap:5px}
.api-row{display:flex;align-items:center;gap:10px;color:var(--txt-2);font-family:var(--mono);font-size:12.5px;padding:5px 8px;border-radius:6px;transition:.25s}
.api-row.strike{background:rgba(255,43,69,.12);color:var(--red-l);box-shadow:0 0 0 1px rgba(255,43,69,.4)}
.verb{font-weight:700;font-size:10px;padding:3px 6px;border-radius:4px;flex-shrink:0}
.verb.get{background:rgba(56,189,248,.16);color:var(--cyn)}.verb.post{background:rgba(167,139,250,.16);color:var(--vio)}
.code{margin-left:auto;color:var(--acc);font-size:11px}.code.err{color:var(--amb)}
.q{color:var(--txt-3);font-size:11px}
.api-leak{padding:11px 18px;border-top:1px dashed var(--line-2);font-family:var(--mono);font-size:12px;color:var(--red-l);display:grid;gap:4px}
.api-leak div{opacity:0;transform:translateY(6px)}
.api-leak div.show{animation:riseIn .35s forwards}
.api-leak b{color:#fff}

/* ---------- WEB (tear through screens) ---------- */
.mock.web{width:min(680px,80vw)}
.web-view{position:relative;height:340px;background:linear-gradient(180deg,#0b1017,#080b10);overflow:hidden}
.web-screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:22px 24px;opacity:0;visibility:hidden}
.web-screen.on{opacity:1;visibility:visible}
.web-screen[data-scr="login"]{align-items:center;justify-content:center}
.web-card{width:320px;background:#0e131b;border:1px solid var(--line);border-radius:12px;padding:22px;transition:.3s}
.web-card.hot{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,43,69,.22)}
.web-brand{font-weight:700;font-size:16px;margin-bottom:16px}
.web-field{margin-bottom:12px}
.web-field label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);margin-bottom:5px}
.web-input{font-family:var(--mono);font-size:13px;color:var(--txt);background:#0a0e14;border:1px solid var(--line-2);border-radius:7px;padding:9px 11px;min-height:34px}
.web-input.hot{border-color:var(--red);color:var(--red-l)}
.web-btn{margin-top:6px;text-align:center;background:var(--acc);color:#03130c;font-weight:700;font-size:13px;padding:10px;border-radius:7px}
.web-btn.fire{background:var(--red);color:#fff}
.web-q{margin-top:14px;font-family:var(--mono);font-size:10.5px;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.web-q em{font-style:normal;color:#fff;background:rgba(255,43,69,.4);padding:0 3px;border-radius:3px}
.ws-h{font-weight:800;font-size:20px;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ws-rows{display:flex;justify-content:space-between;padding:12px 14px;background:#0e131b;border:1px solid var(--line);border-radius:8px;margin-bottom:9px;font-size:13px;color:var(--txt-2)}
.ws-rows b{color:#fff}.ws-rows b.crit{color:var(--red-l)}
.web-scrtag{position:absolute;z-index:16;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.1em;color:#fff;background:var(--red);padding:5px 12px;border-radius:6px;opacity:0;pointer-events:none;box-shadow:0 0 22px rgba(255,43,69,.5)}
.web-scrtag.show{opacity:1}

/* ---------- CLOUD ---------- */
.cloud-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:16px}
.cloud-res{display:flex;align-items:center;gap:9px;background:#0c1119;border:1px solid var(--line);border-radius:9px;padding:12px 13px;font-family:var(--mono);font-size:12px;color:var(--txt-2);transition:.25s}
.cloud-res .cr-k{font-weight:700;font-size:10px;color:var(--cyn);border:1px solid rgba(56,189,248,.3);border-radius:4px;padding:2px 6px;flex-shrink:0}
.cloud-res .cr-t{margin-left:auto;font-size:10.5px;color:var(--txt-3)}
.cloud-res.pub{border-color:rgba(255,43,69,.4)}.cloud-res.pub .cr-t{color:var(--red-l)}
.cloud-res.strike{box-shadow:0 0 0 1px var(--red),0 0 20px rgba(255,43,69,.3)}
.cloud-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:14px;border-top:1px dashed var(--line-2);font-family:var(--mono);font-size:12px}
.cloud-chain .ch{padding:6px 11px;border:1px solid var(--line-2);border-radius:6px;color:var(--txt-2);opacity:.32;transition:.3s}
.cloud-chain .ch.lit{opacity:1;border-color:var(--acc);color:var(--acc-l)}
.cloud-chain .ch.crit.lit{border-color:var(--red);color:var(--red-l);box-shadow:0 0 14px rgba(255,43,69,.4)}
.cloud-chain .arw{color:var(--txt-3);opacity:.32;transition:.3s}.cloud-chain .arw.lit{opacity:1;color:var(--acc)}

/* ---------- MOBILE (screen flip) ---------- */
.mock.mobile{border:0;background:none;box-shadow:none;display:flex;align-items:center;gap:44px;width:auto}
.phone{width:214px;height:430px;border-radius:36px;background:#0c1119;border:2px solid var(--line-2);box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 0 0 6px #05080c;position:relative;padding:26px 16px 16px;flex-shrink:0;transform:none;opacity:1;overflow:hidden}
.phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:80px;height:18px;background:#05080c;border-radius:10px;z-index:3}
.phone-screens{position:relative;height:100%}
.ph-scr{position:absolute;inset:0;opacity:0;visibility:hidden}
.ph-scr.on{opacity:1;visibility:visible}
.pa-logo{font-weight:800;font-size:22px;color:#fff;text-align:center;margin:6px 0 18px}.pa-logo.sm{font-size:16px;margin-bottom:14px;color:var(--acc-l)}
.ph-field{font-family:var(--mono);font-size:12px;color:var(--txt-2);background:#0e131b;border:1px solid var(--line);border-radius:8px;padding:11px;margin-bottom:10px}
.ph-btn{text-align:center;background:var(--acc);color:#03130c;font-weight:700;font-size:13px;padding:11px;border-radius:8px;margin-top:4px}
.pa-row{display:flex;justify-content:space-between;padding:12px;background:#0e131b;border:1px solid var(--line);border-radius:9px;margin-bottom:9px;font-size:12.5px;color:var(--txt-2)}
.pa-row b{color:#fff}.pa-row b.crit{color:var(--red-l)}
.pa-card{font-family:var(--mono);font-size:15px;color:#fff;background:linear-gradient(120deg,#12202e,#0e131b);border:1px solid var(--line);border-radius:10px;padding:22px 14px;margin-bottom:11px;letter-spacing:.1em}
.phone-scrtag{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:4;font-family:var(--mono);font-weight:700;font-size:10.5px;letter-spacing:.08em;color:#fff;background:var(--red);padding:4px 10px;border-radius:5px;opacity:0;white-space:nowrap;box-shadow:0 0 18px rgba(255,43,69,.5)}
.phone-scrtag.show{opacity:1}
.decompile{width:360px;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;font-family:var(--mono);opacity:0;transform:translateX(20px)}
.seg.play .decompile{animation:slideIn .5s .5s forwards}
.dc-h{padding:10px 14px;border-bottom:1px solid var(--line);font-size:11px;color:var(--txt-3);background:#0c1119}
.dc-l{padding:9px 14px;font-size:12px;color:var(--txt-2);border-bottom:1px solid #0f1620}
.dc-l.hot{color:var(--red-l);background:rgba(255,43,69,.08)}
.dc-l .byp{color:var(--red);font-weight:700}

/* ---------- NETWORK ---------- */
.mock.net{border:0;background:none;box-shadow:none;width:min(820px,86vw)}
.net-svg{width:100%;height:auto}
.net-edges path{stroke:var(--line-2);stroke-width:2;fill:none;stroke-dasharray:5 5}
.net-edges path.lit{stroke:var(--red);animation:flow 1s linear infinite;filter:drop-shadow(0 0 4px rgba(255,43,69,.5))}
@keyframes flow{to{stroke-dashoffset:-40}}
.net-node rect{fill:#0c1119;stroke:var(--line-2);stroke-width:1.5}
.net-node.lit rect{stroke:var(--red);fill:rgba(255,43,69,.08)}
.net-node.dc.lit rect{stroke:var(--red);filter:drop-shadow(0 0 8px rgba(255,43,69,.6))}
.net-node text{font-family:var(--mono);font-size:10.5px;fill:var(--txt-2)}
.net-node.lit text{fill:var(--red-l)}
.net-node .ic{fill:var(--txt-3)}.net-node.lit .ic{fill:var(--red)}

/* ---------- AI ---------- */
.ai-wrap{display:grid;grid-template-columns:150px 1fr;gap:0}
.ai-tools{border-right:1px solid var(--line);padding:14px;display:grid;gap:8px;align-content:start}
.ai-tool{font-family:var(--mono);font-size:11.5px;color:var(--txt-2);background:#0c1119;border:1px solid var(--line);border-radius:6px;padding:8px 10px;transition:.25s}
.ai-tool.abuse{border-color:var(--red);color:var(--red-l);box-shadow:0 0 14px rgba(255,43,69,.3)}
.ai-chat{padding:18px;display:grid;gap:12px;align-content:center}
.ai-msg{max-width:94%;padding:12px 15px;border-radius:12px;font-size:13px;line-height:1.5;opacity:0;transform:translateY(10px)}
.ai-msg.user{justify-self:end;background:#12202e;border:1px solid rgba(56,189,248,.25);color:#cfe6f5;border-bottom-right-radius:4px}
.ai-msg.bot{justify-self:start;background:#160309;border:1px solid rgba(255,43,69,.3);color:var(--red-l);border-bottom-left-radius:4px;font-family:var(--mono);font-size:12px}
.ai-msg.show{animation:riseIn .45s forwards}
.ai-sys{color:#fff;background:rgba(255,43,69,.28);padding:1px 5px;border-radius:4px}
.ai-msg.bot b{color:#fff}

/* ---------- OUTRO / COMPLIANCE ---------- */
.outro-head{text-align:center;opacity:0;transform:translateY(16px)}
.outro.play .outro-head{animation:riseIn .6s forwards}
.oh-kick{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-bottom:12px}
.oh-title{font-weight:900;font-size:clamp(30px,5.2vw,60px);letter-spacing:-.02em;margin:0;color:#fff}
.reports{display:flex;gap:18px;margin-top:38px;perspective:1000px}
.report{width:172px;background:linear-gradient(180deg,#fbfaf6,#efece3);color:#1a2230;border-radius:10px;padding:16px 15px;box-shadow:0 24px 60px rgba(0,0,0,.5);opacity:0;transform:translateY(40px) rotateX(18deg)}
.report.show{animation:repIn .55s cubic-bezier(.2,.9,.2,1.1) forwards}
.report-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d2c4;padding-bottom:9px;margin-bottom:10px}
.report-fw{font-weight:800;font-size:13px}
.report-seal{width:30px;height:30px;border-radius:50%;background:var(--acc);color:#03130c;display:grid;place-items:center;font-size:15px;font-weight:800;box-shadow:0 0 0 3px rgba(163,230,53,.25)}
.report-sub{font-size:10px;color:#5c6675;font-family:var(--mono);letter-spacing:.04em}
.report-rows{margin-top:11px;display:grid;gap:6px}
.report-rows div{display:flex;align-items:center;gap:7px;font-size:11px;color:#2c3646}
.report-rows div::before{content:'✓';color:#0a9d5f;font-weight:800}
.report-badge{margin-top:12px;text-align:center;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:#0a9d5f;border:1px solid #0a9d5f;border-radius:5px;padding:5px}
@keyframes repIn{to{opacity:1;transform:none}}
.endcard{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(1000px 700px at 50% 45%,#0a1017,#04060a 72%);opacity:0;visibility:hidden}
.endcard.show{opacity:1;visibility:visible;animation:riseIn .6s forwards}
.ec-mark{color:var(--acc);filter:drop-shadow(0 0 24px rgba(163,230,53,.5))}
.ec-mark svg{width:66px;height:66px}
.ec-word{font-family:var(--mono);font-weight:800;font-size:clamp(52px,10vw,110px);color:#fff;letter-spacing:.04em;text-shadow:0 0 50px rgba(163,230,53,.35);margin-top:8px}
.ec-tag{font-size:clamp(18px,2.6vw,30px);font-weight:300;color:var(--acc-l)}
.ec-cta{display:flex;align-items:center;gap:16px;margin-top:26px}
.ec-cta span{font-family:var(--mono);font-size:13px;letter-spacing:.1em;border:1px solid var(--line-2);color:var(--txt-2);padding:11px 20px;border-radius:8px}
.ec-cta .ec-url{background:var(--acc);color:#03130c;font-weight:700;border-color:var(--acc)}

/* ---------- AGENTS (rare + powerful) ---------- */
.spiders{position:absolute;inset:0;z-index:18;pointer-events:none}
.spider{position:absolute;top:0;left:0;width:70px;height:70px;will-change:transform}
.spider .aura{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,43,69,.28),transparent 68%);animation:aura 1.3s ease-in-out infinite}
@keyframes aura{0%,100%{transform:scale(.9);opacity:.6}50%{transform:scale(1.12);opacity:.95}}
.spider .rot{position:absolute;inset:10px;will-change:transform;filter:drop-shadow(0 0 8px rgba(255,43,69,.85))}
.spider .rot svg{width:100%;height:100%;overflow:visible}
.spider .abdomen{fill:#1a0308;stroke:var(--red);stroke-width:1.5}
.spider .body{fill:#12060a;stroke:var(--red-l);stroke-width:1.5}
.spider .mark{fill:var(--red)}
.spider .eye{fill:#fff;filter:drop-shadow(0 0 3px var(--red-l))}
.spider .leg{stroke:var(--red);stroke-width:2.2;stroke-linecap:round;fill:none}
.spider .legs-a{transform-box:fill-box;transform-origin:center;animation:scut .12s steps(2) infinite}
.spider .legs-b{transform-box:fill-box;transform-origin:center;animation:scut .12s steps(2) infinite reverse}
@keyframes scut{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}100%{transform:rotate(-6deg)}}
.spider.lunge{animation:lunge .22s ease}
@keyframes lunge{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}

/* impact shockwave + strike reticle */
.shock{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;border:3px solid var(--red);pointer-events:none;animation:shock .55s cubic-bezier(.1,.6,.2,1) forwards}
@keyframes shock{0%{transform:scale(.4);opacity:1;box-shadow:0 0 30px var(--red)}100%{transform:scale(10);opacity:0}}
.retX{position:absolute;width:74px;height:74px;margin:-37px 0 0 -37px;pointer-events:none;color:var(--red);animation:retX .5s ease forwards}
.retX svg{width:100%;height:100%}
@keyframes retX{0%{transform:scale(1.8) rotate(0);opacity:0}30%{opacity:1}100%{transform:scale(.7) rotate(45deg);opacity:0}}

/* transition flash */
.flash{position:absolute;inset:0;z-index:40;pointer-events:none;background:#fff;opacity:0}
.flash.go{animation:flashGo .3s ease}
.flash.red{background:var(--red)}
@keyframes flashGo{0%{opacity:0}30%{opacity:.8}100%{opacity:0}}

/* launch / replay */
.launch{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:rgba(4,6,10,.8);backdrop-filter:blur(6px)}
.launch[hidden]{display:none}
.launch-btn{display:flex;align-items:center;gap:12px;cursor:pointer;padding:20px 36px;border-radius:14px;border:1px solid rgba(163,230,53,.4);background:linear-gradient(180deg,rgba(163,230,53,.12),rgba(163,230,53,.03));color:#e8eef2;font-family:var(--sans);font-weight:700;font-size:19px}
.launch-btn span:first-child{color:var(--acc)}
.replay{position:absolute;right:20px;bottom:20px;z-index:55;padding:11px 20px;border-radius:9px;border:1px solid var(--line-2);background:var(--bg-1);color:#e8eef2;font-weight:600;font-size:13px;cursor:pointer}
.replay[hidden]{display:none}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.k0glogo{width:auto;display:block;color:var(--acc);filter:drop-shadow(0 0 8px rgba(163,230,53,.3))}
.brand .k0glogo{height:24px}
.intro-logo{display:flex;justify-content:center;opacity:0;transform:scale(.72);filter:drop-shadow(0 0 42px rgba(163,230,53,.42))}
.intro.play .intro-logo{animation:popIn .8s cubic-bezier(.2,.9,.2,1.2) forwards}
.intro-logo .k0glogo{height:clamp(84px,14vw,150px)}
.ec-logo{display:flex;justify-content:center;filter:drop-shadow(0 0 34px rgba(163,230,53,.42))}
.ec-logo .k0glogo{height:clamp(76px,12vw,124px)}
