:root{--bg:#07070f;--cy:#00f0ff;--mg:#ff00c8;--ac:#e8ff00;--panel:rgba(20,20,40,.55);--line:rgba(0,240,255,.18)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#e6e6f0;font-family:'Syne',sans-serif;min-height:100vh;
background-image:radial-gradient(circle at 15% 10%,rgba(255,0,200,.12),transparent 40%),radial-gradient(circle at 85% 80%,rgba(0,240,255,.1),transparent 45%),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px)}
.mono{font-family:'JetBrains Mono',monospace}
.title{font-weight:800;background:linear-gradient(90deg,var(--cy),var(--mg),var(--ac),var(--cy));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 8s linear infinite}
@keyframes shim{to{background-position:300% 0}}
.glass{background:var(--panel);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px}
.glow{box-shadow:0 0 0 1px rgba(0,240,255,.3),0 0 30px rgba(255,0,200,.2);animation:pulse 4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 1px rgba(255,0,200,.4),0 0 40px rgba(0,240,255,.25)}}
.btn{transition:all .15s;border:1px solid var(--line);border-radius:10px;padding:.45rem .8rem;background:rgba(255,255,255,.04)}
.btn:hover{border-color:var(--cy);box-shadow:0 0 14px rgba(0,240,255,.35)}
.btn:active{transform:scale(.95)}
.btn-main{background:linear-gradient(90deg,var(--mg),#7a00ff);border:none;color:#fff;font-weight:800;letter-spacing:.05em}
.btn-main:hover{box-shadow:0 0 24px rgba(255,0,200,.6)}
.btn:disabled{opacity:.5;cursor:wait}
.chip{font-size:.75rem;padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(232,255,0,.3);color:var(--ac);transition:.15s}
.chip:hover{background:rgba(232,255,0,.12)}
.chip.on{background:var(--ac);color:#000}
textarea,input,select{background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:10px;color:#e6e6f0;outline:none}
textarea:focus,input:focus{border-color:var(--cy)}
.editor{display:flex;height:320px;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:#05050c}
.lines{padding:.6rem .4rem;color:#444a6a;text-align:right;user-select:none;font-size:12px;line-height:18px;overflow:hidden;white-space:pre}
.code{flex:1;border:none;border-radius:0;background:transparent;padding:.6rem;font-size:12px;line-height:18px;resize:none;white-space:pre;color:#9ff;tab-size:2}
.fade{animation:fade .5s ease both}
@keyframes fade{from{opacity:0;transform:translateY(10px)}}
.conf{position:fixed;top:-10px;width:8px;height:14px;z-index:99;animation:fall 2.2s linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}
a{color:var(--cy)}