/*! © 2026 Anubhav Jaiswal · badalpe.com · All rights reserved. Not licensed for copying or reuse. */:root{--bp-sig: "e78da3ba2d0f";--bg1: #03030a;--bg2: #050018;--accent: #00f5ff;--accent-soft: rgba(0, 245, 255, .35);--accent-pink: #ff00ff;--text-main: #f5f5ff;--text-muted: #a6a6c9}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--cp-display);color:var(--text-main);text-align:center;overflow:hidden;background:radial-gradient(circle at top left,#3a0066 0,transparent 55%),radial-gradient(circle at bottom right,#001f3f 0,transparent 55%),linear-gradient(135deg,var(--bg1),var(--bg2));background-size:200% 200%;animation:bgShift 20s ease-in-out infinite alternate}@keyframes bgShift{0%{background-position:0% 0%}50%{background-position:50% 100%}to{background-position:100% 50%}}.crt-overlay{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.65) 100%);mix-blend-mode:multiply;z-index:2}.scanlines{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:100% 3px;opacity:.25;z-index:3;mix-blend-mode:soft-light}body:before,body:after{content:"";position:fixed;width:180%;height:180%;pointer-events:none;background-image:linear-gradient(120deg,rgba(0,245,255,.18) 1px,transparent 1px),linear-gradient(-120deg,rgba(255,0,255,.12) 1px,transparent 1px);background-size:120px 120px;opacity:.08;z-index:1;transform:translateZ(0);animation:shardsDrift 45s linear infinite}body:after{animation-duration:60s;opacity:.06}@keyframes shardsDrift{0%{transform:translate3d(-10%,-10%,0)}to{transform:translate3d(10%,10%,0)}}.container{position:relative;z-index:4;padding:32px 20px 40px;max-width:720px}.logo-wrap{display:inline-block;padding:14px;border-radius:24px;background:radial-gradient(circle,var(--accent-soft),transparent 70%);box-shadow:0 0 32px #00f5ffa6,0 0 80px #9900ff80}.floating{animation:floating 3.5s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logo-img{max-width:360px;width:100%;height:auto;display:block;filter:drop-shadow(0 0 16px rgba(0,245,255,.9)) drop-shadow(0 0 40px rgba(119,0,255,.7));animation:logoGlitch 6s infinite}@keyframes logoGlitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,1px)}94%{transform:translate(2px,-1px)}96%{transform:translate(-1px,2px)}}#site-title{font-size:clamp(2.4rem,4vw,3.2rem);margin:1.6rem 0 .8rem;letter-spacing:.15em;text-transform:uppercase;position:relative;display:inline-block}#site-title:before,#site-title:after{content:attr(data-text);position:absolute;left:0;top:0;opacity:.7;pointer-events:none}#site-title:before{color:var(--accent-pink);mix-blend-mode:screen;animation:glitch1 2.5s infinite}#site-title:after{color:var(--accent);mix-blend-mode:screen;animation:glitch2 3s infinite}@keyframes glitch1{0%{transform:translate(0);clip-path:inset(0 0 0 0)}15%{transform:translate(-2px,-1px);clip-path:inset(0 0 55% 0)}30%{transform:translate(2px,1px);clip-path:inset(45% 0 0 0)}45%{transform:translate(-1px);clip-path:inset(10% 0 30% 0)}60%,to{transform:translate(0);clip-path:inset(0 0 0 0)}}@keyframes glitch2{0%{transform:translate(0);clip-path:inset(0 0 0 0)}20%{transform:translate(2px,1px);clip-path:inset(40% 0 0 0)}35%{transform:translate(-2px,-1px);clip-path:inset(0 0 60% 0)}50%{transform:translate(1px);clip-path:inset(20% 0 20% 0)}65%,to{transform:translate(0);clip-path:inset(0 0 0 0)}}.tagline{color:var(--text-muted);font-size:1.05rem;margin-bottom:.8rem}.easter-egg{opacity:0;margin-top:.6rem;font-size:1.1rem;color:var(--accent);text-shadow:0 0 12px var(--accent);transition:opacity .8s ease}.easter-egg.visible{opacity:1}.chip{margin-top:1.6rem;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 1rem;border-radius:999px;border:1px solid rgba(0,245,255,.45);background:#00000073;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);backdrop-filter:blur(6px)}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.5);opacity:.4}}.uplink-wrap{margin-top:1.4rem}.uplink{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:.8rem;padding:.7rem 1.2rem;background:#00f5ffb3;color:var(--accent);font-family:var(--cp-mono);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:background .2s ease,color .2s ease}.uplink:before{content:"";position:absolute;inset:1px;z-index:-1;background:#06061a;clip-path:polygon(11.5px 0,100% 0,100% calc(100% - 11.5px),calc(100% - 11.5px) 100%,0 100%,0 11.5px);transition:background .2s ease}.uplink:hover,.uplink:focus-visible{background:var(--accent);color:var(--text-main);outline:none}.uplink:hover:before,.uplink:focus-visible:before{background:#0a2233}.uplink-wrap:has(.uplink:hover,.uplink:focus-visible){filter:drop-shadow(0 0 10px rgba(0,245,255,.8)) drop-shadow(0 0 24px rgba(255,0,255,.5))}.uplink-pulse{width:60px;height:16px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.uplink-pulse-base{stroke:#00f5ff40}.uplink-pulse-beat{stroke:var(--accent-pink);stroke-dasharray:28 72;animation:uplinkBeat 1.8s linear infinite}.uplink:hover .uplink-pulse-beat,.uplink:focus-visible .uplink-pulse-beat{animation-duration:.7s}@keyframes uplinkBeat{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.uplink-key{padding:.1rem .4rem;border:1px solid rgba(255,0,255,.6);border-radius:3px;color:var(--accent-pink);font:inherit;font-size:.7rem;letter-spacing:0}.uplink-overlay{position:fixed;inset:0;z-index:10;display:flex;justify-content:center;align-items:center;background:#03030af0;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s}.uplink-overlay.active{opacity:1;visibility:visible;animation:uplinkJitter .25s steps(2) 3}@keyframes uplinkJitter{0%{transform:translate(0)}50%{transform:translate(-3px,1px)}to{transform:translate(2px,-1px)}}.uplink-log{min-width:min(30rem,86vw);min-height:6.5em;font-family:var(--cp-mono);font-size:clamp(.8rem,2.6vw,1rem);line-height:1.6;text-align:left;white-space:pre-wrap;color:var(--accent);text-shadow:0 0 10px var(--accent),2px 0 0 rgba(255,0,255,.5)}@media (hover: none){.uplink-key{display:none}}@media (prefers-reduced-motion: reduce){.uplink-pulse-beat,.uplink-overlay.active{animation:none}}.svg-preview{margin-top:2rem}.svg-logo{width:min(420px,80vw);height:auto}footer{position:fixed;bottom:18px;left:0;right:0;text-align:center;font-size:.85rem;color:var(--text-muted);z-index:4}footer a{color:var(--accent);text-decoration:none;font-weight:600}footer a:hover{text-shadow:0 0 10px rgba(0,245,255,.7)}body.flash{filter:brightness(1.3)}#site-title.micro-glitch{transform:translate3d(1px,-1px,0)}@media (max-width: 480px){.logo-img{max-width:280px}}
