*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #07070a;--bg2: #0d0d11;--bg3: #131318;--bg4: #1a1a20;--line: rgba(255,255,255,.06);--line2: rgba(255,255,255,.11);--line3: rgba(255,255,255,.2);--text: #e6e4de;--text2: rgba(230,228,222,.52);--text3: rgba(230,228,222,.26);--gold: #c8a84b;--gold-dim: rgba(200,168,75,.14);--gold-ring: rgba(200,168,75,.35);--green: #4cb87c;--green-dim: rgba(76,184,124,.12);--red: #e05858;--red-dim: rgba(224,88,88,.12);--amber: #d49238;--amber-dim: rgba(212,146,56,.12);--mic: #e05858;--mic-dim: rgba(224,88,88,.18);--mic-ring: rgba(224,88,88,.4);--font-disp: "Barlow Condensed", sans-serif;--font-body: "Instrument Sans", sans-serif;--r: 6px;--r2: 12px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:44px 44px}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}textarea,input{font-family:var(--font-body)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--line3);border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes micPulse1{0%{transform:scale(1);opacity:.7}to{transform:scale(2.4);opacity:0}}@keyframes micPulse2{0%{transform:scale(1);opacity:.5}to{transform:scale(1.8);opacity:0}}@keyframes wave1{0%,to{height:4px}50%{height:18px}}@keyframes wave2{0%,to{height:8px}50%{height:28px}}@keyframes wave3{0%,to{height:14px}50%{height:36px}}@keyframes wave4{0%,to{height:6px}50%{height:22px}}@keyframes wave5{0%,to{height:10px}50%{height:30px}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.anim-fade-up{animation:fadeUp .45s cubic-bezier(.16,1,.3,1) forwards}.anim-fade-in{animation:fadeIn .35s ease forwards}.anim-slide-in{animation:slideIn .4s cubic-bezier(.16,1,.3,1) forwards}.panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r2)}.label-caps{font-family:var(--font-disp);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3)}.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#07070a;font-family:var(--font-disp);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:13px 28px;border-radius:var(--r);transition:opacity .15s,transform .12s}.btn-gold:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-gold:disabled{opacity:.3;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--text2);font-family:var(--font-disp);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:11px 22px;border-radius:var(--r);border:1px solid var(--line2);transition:border-color .15s,color .15s}.btn-outline:hover{border-color:var(--line3);color:var(--text)}.btn-outline:disabled{opacity:.35;cursor:not-allowed}.spinner{width:16px;height:16px;border:1.5px solid rgba(7,7,10,.3);border-top-color:#07070a;border-radius:50%;animation:spin .65s linear infinite}.chip{display:inline-flex;align-items:center;background:var(--bg3);border:1px solid var(--line);border-radius:4px;padding:3px 9px;font-size:11px;font-weight:500;color:var(--text2);letter-spacing:.02em}.mic-btn{position:relative;width:80px;height:80px;border-radius:50%;background:var(--bg3);border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;flex-shrink:0}.mic-btn.recording{background:var(--mic-dim);border-color:var(--mic)}.mic-btn .ring1,.mic-btn .ring2{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--mic-ring);animation:micPulse1 1.6s ease-out infinite;display:none}.mic-btn .ring2{animation:micPulse2 1.6s ease-out infinite .4s}.mic-btn.recording .ring1,.mic-btn.recording .ring2{display:block}.waveform{display:flex;align-items:center;gap:3px;height:40px}.waveform .bar{width:3px;border-radius:2px;background:var(--mic);transition:height .1s}.waveform.active .bar:nth-child(1){animation:wave1 .7s ease-in-out infinite}.waveform.active .bar:nth-child(2){animation:wave2 .7s ease-in-out infinite .1s}.waveform.active .bar:nth-child(3){animation:wave3 .7s ease-in-out infinite .05s}.waveform.active .bar:nth-child(4){animation:wave4 .7s ease-in-out infinite .15s}.waveform.active .bar:nth-child(5){animation:wave5 .7s ease-in-out infinite .08s}.waveform.active .bar:nth-child(6){animation:wave2 .7s ease-in-out infinite .2s}.waveform.active .bar:nth-child(7){animation:wave1 .7s ease-in-out infinite .12s}.waveform .bar{height:4px}.tts-shimmer{background:linear-gradient(90deg,var(--text2) 0%,var(--gold) 40%,var(--text2) 80%);background-size:400px 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 2s linear infinite}.dot-live{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 2s step-end infinite;display:inline-block}
