*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--accent: #6366F1;--accent-light: #818CF8;--accent-muted: rgba(99,102,241,.14);--accent-border:rgba(99,102,241,.28);--bg: #0F1117;--bg-card: #141720;--bg-elevated: #1A1E2E;--text: #F1F5F9;--text-2: #94A3B8;--text-3: #475569;--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.12);--success: #10B981;--warning: #F59E0B;--error: #EF4444;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-wrap:pretty}#root{min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1e2236;border-radius:4px}.screen-wrap{display:flex;flex-direction:column;width:100%}.screen-enter{animation:screenIn .38s cubic-bezier(.22,1,.36,1) forwards}@keyframes screenIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px 28px;box-shadow:0 4px 32px #00000073,0 1px 4px #0003}.btn-primary{display:inline-flex;align-items:center;padding:11px 24px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .12s ease;box-shadow:0 0 20px #6366f159;letter-spacing:-.01em}.btn-primary:hover:not(:disabled){background:var(--accent-light);box-shadow:0 0 30px #6366f180;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.99)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-ghost{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-3);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .18s ease}.btn-ghost:hover{background:var(--border);color:var(--text-2)}.field-label{display:block;font-size:12px;font-weight:600;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.field-input{width:100%;padding:11px 14px;border-radius:var(--radius-md);border:1px solid var(--border-2);background:#ffffff08;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.field-input::placeholder{color:var(--text-3)}.field-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-muted)}@keyframes orbSpeak{0%{transform:scale(.96);filter:brightness(.95)}to{transform:scale(1.06);filter:brightness(1.1)}}@keyframes orbProcess{0%{transform:rotate(0);filter:hue-rotate(0deg)}to{transform:rotate(360deg);filter:hue-rotate(40deg)}}@keyframes orbIdle{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.02);opacity:1}}.orb-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(99,102,241,.4);animation:ringExpand 2.2s ease-out infinite;top:0;right:0;bottom:0;left:0}.orb-ring-2{animation-delay:.9s;border-color:#6366f133}@keyframes ringExpand{0%{transform:scale(.75);opacity:.8}to{transform:scale(1.6);opacity:0}}.wave-bar{height:var(--bar-h, 8px)}@keyframes waveBar{0%{height:3px}to{height:var(--bar-h, 20px)}}.typing-dots span{display:inline-block;animation:dotBlink 1.2s ease-in-out infinite;margin-left:1px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBlink{0%,80%,to{opacity:.2}40%{opacity:1}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(99,102,241,.5);animation:pulseRing 2.4s ease-out infinite}.pulse-ring-2{animation-delay:.8s;border-color:#6366f14d}.pulse-ring-3{animation-delay:1.6s;border-color:#6366f126}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.55);opacity:0}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:540px){.card{padding:24px 18px;border-radius:16px}.btn-primary{font-size:13px;padding:10px 20px}}
