:root{--bg:#0a0e1a;--blue:#3b82f6;--purple:#8b5cf6;--em:#10b981}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#e5e7eb;font-family:'Vazirmatn',sans-serif;min-height:100vh;overflow-x:hidden}
.mono{font-family:'JetBrains Mono',monospace;direction:ltr;unicode-bidi:embed}
.blob{position:fixed;width:520px;height:520px;border-radius:50%;filter:blur(120px);opacity:.28;z-index:0;pointer-events:none;animation:float 22s ease-in-out infinite}
.b1{background:var(--blue);top:-150px;right:-120px}
.b2{background:var(--purple);bottom:-200px;left:-150px;animation-delay:-7s}
.b3{background:var(--em);top:40%;left:40%;width:380px;height:380px;opacity:.15;animation-delay:-14s}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,-40px) scale(1.1)}}
#root{position:relative;z-index:1}
.glass{background:rgba(255,255,255,.045);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.09);border-radius:18px}
.glass-h{transition:.25s}
.glass-h:hover{border-color:rgba(139,92,246,.45);box-shadow:0 0 28px -6px rgba(59,130,246,.45);transform:translateY(-2px)}
.grad{background:linear-gradient(90deg,#60a5fa,#a78bfa,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent}
.pulse{animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,.7)}50%{opacity:.6;box-shadow:0 0 0 6px rgba(16,185,129,0)}}
.flash-up{animation:fu 1s}
.flash-down{animation:fd 1s}
@keyframes fu{0%{background:rgba(16,185,129,.35)}100%{background:transparent}}
@keyframes fd{0%{background:rgba(239,68,68,.35)}100%{background:transparent}}
.toast{animation:tin .35s cubic-bezier(.2,1.4,.4,1)}
@keyframes tin{from{transform:translateX(-120%);opacity:0}to{transform:none;opacity:1}}
.rise{animation:rise .5s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
input,select,textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;color:#fff;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--purple)}
select option{background:#111827}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#374151;border-radius:3px}
.btn{background:linear-gradient(135deg,var(--blue),var(--purple));padding:8px 16px;border-radius:12px;font-weight:800;transition:.2s}
.btn:hover{filter:brightness(1.15)}
.btn2{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:6px 12px;border-radius:10px;transition:.2s}
.btn2:hover{background:rgba(255,255,255,.14)}