:root{--accent:#3b82f6;--accent-soft:rgba(59,130,246,0.35);--accent-glow:rgba(59,130,246,0.18);--bg:#030409;--bg-panel:rgba(13,18,32,0.55);--text:#e6ecf7;--text-dim:#8b96ad;--border:rgba(120,160,255,0.14);--glow-intensity:1;--glass-opacity:0.55;--blur:18px;--radius:16px;--font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overflow:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(120,160,255,.18);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(120,160,255,.32)}.glass{background:var(--bg-panel);backdrop-filter:blur(var(--blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05),inset 0 0 22px -14px var(--accent-soft)}.glass-hover{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.glass-hover:hover{border-color:var(--accent-soft);box-shadow:0 8px 40px rgba(0,0,0,.5),0 0 24px calc(var(--glow-intensity) * 8px) var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.06)}.accent-text{color:var(--accent)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;position:relative;transition:box-shadow .25s ease,transform .12s ease}button:hover:not(:disabled){box-shadow:0 0 14px -4px var(--accent-glow)}button:active:not(:disabled){transform:scale(.985);animation:neuralPulse .35s ease-out}@keyframes neuralPulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}to{box-shadow:0 0 0 9px rgba(0,0,0,0)}}input,select,textarea{font-family:inherit;color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:calc(var(--radius) * .6);padding:10px 14px;outline:none;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-glow)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.fade-up{animation:fadeUp .45s cubic-bezier(.22,1,.36,1) both}