:root{--bg:#05060f;--cyan:#2ff3ff;--mag:#ff2fb3;--lime:#b6ff3b;--ink:#d8e3ff;}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Mono',monospace;}
body{background-image:linear-gradient(rgba(47,243,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(47,243,255,.05) 1px,transparent 1px),radial-gradient(ellipse at 70% 20%,rgba(255,47,179,.12),transparent 60%),radial-gradient(ellipse at 10% 90%,rgba(47,243,255,.1),transparent 60%);background-size:32px 32px,32px 32px,100% 100%,100% 100%;min-height:100vh;}
.title{font-family:'Syne Mono',monospace;letter-spacing:.05em;}
.title:hover{text-shadow:2px 0 var(--mag),-2px 0 var(--cyan);}
.serif{font-family:'Instrument Serif',serif;font-style:italic;}
.glass{background:rgba(14,18,40,.55);border:1px solid rgba(47,243,255,.18);backdrop-filter:blur(10px);border-radius:14px;}
.bub-u{background:rgba(47,243,255,.12);border:1px solid rgba(47,243,255,.4);}
.bub-b{background:rgba(255,47,179,.1);border:1px solid rgba(255,47,179,.4);box-shadow:0 0 18px rgba(255,47,179,.15);}
.chip{border:1px solid rgba(182,255,59,.4);color:var(--lime);border-radius:999px;padding:2px 10px;font-size:11px;transition:.2s;}
.chip:hover{background:rgba(182,255,59,.15);}
.btn{border:1px solid rgba(47,243,255,.4);border-radius:8px;padding:4px 10px;font-size:12px;transition:.2s;}
.btn:hover{background:rgba(47,243,255,.15);box-shadow:0 0 12px rgba(47,243,255,.3);}
.btn-m{border-color:rgba(255,47,179,.5);}
.btn-m:hover{background:rgba(255,47,179,.15);}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.pulse{animation:pulse 1.6s infinite;display:inline-block}
@keyframes dot{0%,100%{opacity:.2}50%{opacity:1}}
.dot{animation:dot 1s infinite;display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mag);margin:0 2px}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rise{animation:rise .5s both}
input[type=range]{accent-color:var(--mag);width:100%}
canvas{touch-action:none;display:block}
.scroll::-webkit-scrollbar{width:6px}.scroll::-webkit-scrollbar-thumb{background:rgba(47,243,255,.3);border-radius:3px}