:root{--bg:#05030f;--c1:#00f0ff;--c2:#ff2bd6;--c3:#b6ff3b;--glass:rgba(20,14,40,.55);--txt:#e8e6ff}
body.u8{--bg:#1b0f2e;--c1:#ffb3f0;--c2:#8ae9ff;--c3:#fff07a;--glass:rgba(60,30,80,.5)}
html,body{margin:0;background:var(--bg);color:var(--txt);font-family:'Unbounded',sans-serif;min-height:100vh;transition:background .6s}
.mono{font-family:'Fragment Mono',monospace}
.stars{position:fixed;inset:0;z-index:0;pointer-events:none;background:
radial-gradient(1px 1px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 80%,#fff,transparent),
radial-gradient(2px 2px at 70% 30%,var(--c1),transparent),radial-gradient(1px 1px at 90% 60%,#fff,transparent),
radial-gradient(2px 2px at 50% 50%,var(--c2),transparent),radial-gradient(1px 1px at 20% 60%,#fff,transparent),
radial-gradient(1px 1px at 80% 90%,#fff,transparent),radial-gradient(600px 400px at 15% 0%,rgba(0,240,255,.12),transparent),
radial-gradient(700px 500px at 100% 100%,rgba(255,43,214,.12),transparent);background-size:400px 400px,500px 500px,600px 600px,300px 300px,700px 700px,350px 350px,450px 450px,100% 100%,100% 100%;animation:drift 120s linear infinite}
@keyframes drift{to{background-position:400px 800px,-500px 500px,600px -600px,300px 300px,700px 0,0 350px,-450px 450px,0 0,0 0}}
.glass{background:var(--glass);backdrop-filter:blur(14px);border:1px solid transparent;border-radius:18px;
background-image:linear-gradient(var(--glass),var(--glass)),linear-gradient(120deg,var(--c1),var(--c2),var(--c3));background-origin:border-box;background-clip:padding-box,border-box}
.grad-text{background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3));-webkit-background-clip:text;background-clip:text;color:transparent}
.btn-grad{background:linear-gradient(90deg,var(--c1),var(--c2));color:#05030f;font-weight:800;border-radius:999px;box-shadow:0 0 24px rgba(255,43,214,.4);transition:transform .15s}
.btn-grad:hover{transform:translateY(-1px) scale(1.02)}
.btn-grad:disabled{opacity:.4;transform:none}
.chip{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 10px;font-size:11px;transition:all .2s;background:rgba(255,255,255,.03)}
.chip:hover{border-color:var(--c1);color:var(--c1)}
.ghost{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:6px 10px;font-size:12px;background:rgba(255,255,255,.04)}
.ghost:hover{border-color:var(--c3);color:var(--c3)}
.orb{width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--c1),var(--c2),var(--c3),var(--c1));animation:wob 4s ease-in-out infinite,spin 6s linear infinite;box-shadow:0 0 22px var(--c2);cursor:pointer}
@keyframes wob{50%{border-radius:42% 58% 55% 45%}}
@keyframes spin{to{filter:hue-rotate(360deg)}}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--c3);box-shadow:0 0 10px var(--c3);animation:pl 1.4s infinite}
@keyframes pl{50%{opacity:.3}}
.marquee{overflow:hidden;white-space:nowrap}
.marquee span{display:inline-block;padding-left:100%;animation:mq 50s linear infinite}
@keyframes mq{to{transform:translateX(-100%)}}
.portal{width:140px;height:140px;border-radius:50%;border:6px solid transparent;border-top-color:var(--c1);border-right-color:var(--c2);border-bottom-color:var(--c3);animation:rot 1s linear infinite;box-shadow:0 0 40px var(--c2),inset 0 0 40px var(--c1)}
@keyframes rot{to{transform:rotate(360deg)}}
.scan::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}
.reveal{animation:rv .6s both}
@keyframes rv{from{opacity:0;transform:translateY(14px)}}
textarea,input,select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);color:var(--txt);border-radius:12px;outline:none}
textarea:focus,input:focus,select:focus{border-color:var(--c1);box-shadow:0 0 0 2px rgba(0,240,255,.25)}
input[type=range]{accent-color:var(--c2);border:none;background:none}
button:focus-visible{outline:2px solid var(--c3);outline-offset:2px}
.tk-tag{color:var(--c2)}.tk-str{color:var(--c3)}.tk-com{color:#777}.tk-kw{color:var(--c1)}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:8px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}