*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #07101F;--surface: #0D1A2D;--border: #142035;--text: #CBD5E1;--muted: #4A6380;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overflow:hidden}.app{display:flex;flex-direction:column;align-items:center;height:100dvh;background:radial-gradient(ellipse at 50% 40%,#0a1e38 0%,var(--bg) 70%)}.top-bar{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:22px 0 0;flex-shrink:0}.logo-dot{width:8px;height:8px;border-radius:50%;transition:background .6s ease;box-shadow:0 0 10px var(--orb-color, #0EA5E9)}.brand{font-size:14px;font-weight:600;letter-spacing:.06em;color:#94a3b8;text-transform:uppercase}.brand-x{color:var(--orb-color, #0EA5E9);margin:0 2px}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%}.waveform-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;width:420px;height:420px;max-width:90vw;max-height:90vw}.orb-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ring{position:absolute;border-radius:50%;border:1px solid var(--orb-color, #0EA5E9);opacity:0;pointer-events:none;transition:border-color .6s ease}.ring-1{top:-18px;right:-18px;bottom:-18px;left:-18px}.ring-2{top:-36px;right:-36px;bottom:-36px;left:-36px}.ring-3{top:-56px;right:-56px;bottom:-56px;left:-56px}.state-idle .ring-1{animation:breathe 3.5s ease-in-out infinite;opacity:.25}.state-idle .ring-2{animation:breathe 3.5s ease-in-out infinite 1.2s;opacity:.12}.state-idle .ring-3{animation:breathe 3.5s ease-in-out infinite 2.4s;opacity:.07}.state-listening .ring-1{animation:pulse 1.6s ease-out infinite;opacity:.4}.state-listening .ring-2{animation:pulse 1.6s ease-out infinite .5s;opacity:.22}.state-listening .ring-3{animation:pulse 1.6s ease-out infinite 1s;opacity:.12}.state-processing .ring-1{opacity:.5;animation:spin 1.4s linear infinite;border-style:dashed}.state-processing .ring-2{animation:spin 2.2s linear infinite reverse;opacity:.2}.state-speaking .ring-1{animation:expand 1.8s ease-out infinite;opacity:.45}.state-speaking .ring-2{animation:expand 1.8s ease-out infinite .6s;opacity:.25}.state-speaking .ring-3{animation:expand 1.8s ease-out infinite 1.2s;opacity:.12}@keyframes breathe{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.08);opacity:.35}}@keyframes pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.25);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes expand{0%{transform:scale(1);opacity:.5}to{transform:scale(1.4);opacity:0}}.orb{width:140px;height:140px;border-radius:50%;position:relative;transition:transform .08s ease,background .6s ease,box-shadow .6s ease;background:radial-gradient(circle at 35% 32%,color-mix(in srgb,var(--orb-color, #0EA5E9) 55%,#fff),var(--orb-color, #0EA5E9) 45%,color-mix(in srgb,var(--orb-color, #0EA5E9) 70%,#000) 100%);box-shadow:0 0 40px 8px var(--orb-glow, rgba(14,165,233,.35)),0 0 80px 20px var(--orb-glow, rgba(14,165,233,.15)),inset 0 2px 8px #ffffff2e}.orb-shine{position:absolute;top:14%;left:18%;width:34%;height:28%;border-radius:50%;background:#ffffff38;filter:blur(4px);pointer-events:none}.state-processing .orb{animation:orb-think 1.2s ease-in-out infinite}@keyframes orb-think{0%,to{opacity:.85}50%{opacity:1;box-shadow:0 0 60px 14px var(--orb-glow),0 0 100px 30px var(--orb-glow)}}.status-label{margin-top:40px;font-size:15px;font-weight:500;letter-spacing:.04em;transition:color .5s ease;min-height:22px}.silence-hint{margin-top:8px;font-size:11px;color:var(--muted);letter-spacing:.03em}.live-transcript{margin-top:14px;max-width:320px;text-align:center;font-size:14px;line-height:1.5;color:#e2e8f0;border-radius:10px;padding:8px 16px;animation:fadeIn .15s ease}.user-transcript{background:#10b9811a;border:1px solid rgba(16,185,129,.25)}.ai-transcript{background:#14b8a61a;border:1px solid rgba(20,184,166,.25);color:#ccfbf1;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bottom-bar{padding:0 0 24px;font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.booking-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.booking-card{width:100%;max-width:440px;background:linear-gradient(160deg,#0b2416,#0d2a1a);border:1px solid #1d5c35;border-radius:20px;padding:24px;animation:slide-up .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 -8px 60px #10b98133,0 0 0 1px #10b9811a}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-header{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:#4ade80;margin-bottom:18px}.booking-check{width:26px;height:26px;background:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff}.booking-grid{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:13.5px;margin-bottom:16px}.bl{color:#6ebf95;white-space:nowrap}.bv{color:#d1fae5;font-weight:500}.booking-sms{font-size:12px;color:#86efac;background:#16a34a1a;border-radius:8px;padding:8px 12px;margin-bottom:16px}.booking-close{width:100%;padding:11px;background:#16a34a26;border:1px solid rgba(22,163,74,.35);border-radius:10px;color:#4ade80;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.booking-close:hover{background:#16a34a40}@media (max-width: 480px){.waveform-canvas{width:320px;height:320px}.orb{width:120px;height:120px}.orb-wrap{width:160px;height:160px}}
