:root{--background:#f8f9fc;--foreground:#1a1a2e;--gamba-navy:#002b49;--gamba-navy-deep:#001a2e;--gamba-gold:#b8960c;--gamba-gold-dim:#b8960c1f}*{box-sizing:border-box}html{height:100%;overflow:hidden}body{background:var(--background);color:var(--foreground);flex-direction:column;min-height:100dvh;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 50% 30%,#002b490a 0%,#0000 70%),radial-gradient(60% 40% at 50% 80%,#b8960c08 0%,#0000 60%);position:fixed;inset:0}button{font:inherit}.gamba-shell{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100svh;padding:24px 16px 40px;display:flex;position:relative;overflow:hidden}.gamba-header{justify-content:center;align-items:center;padding:8px 0 4px;display:flex}.gamba-wordmark{letter-spacing:.35em;text-transform:uppercase;color:#0000;-webkit-user-select:none;user-select:none;background:linear-gradient(#002b49 0%,#5a8aad 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,5vw,1.875rem);font-weight:300;animation:3s ease-in-out infinite float}.gamba-divider{background:linear-gradient(90deg,#0000,#0000001a,#0000);width:48px;height:1px;margin-bottom:8px}.audio-interface{flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;max-width:448px;margin:0 auto;padding:8px 16px;display:flex}.language-switch{justify-content:center;align-items:center;gap:8px;display:flex}.language-switch button{color:#6b7280e6;cursor:pointer;letter-spacing:.18em;text-transform:uppercase;background:#ffffff80;border:1px solid #0000000d;border-radius:999px;min-width:48px;padding:8px 16px;font-size:.75rem;font-weight:700;transition:background .3s,border-color .3s,box-shadow .3s,color .3s,transform .3s}.language-switch button:hover{color:#374151;transform:translateY(-1px)}.language-switch button.selected{border-color:var(--gamba-navy);background:var(--gamba-navy);color:#fff;box-shadow:0 8px 24px #002b492e}.mic-wrap{justify-content:center;align-items:center;min-height:0;margin-top:16px;margin-bottom:56px;display:flex}.mic-stage{justify-content:center;align-items:center;width:288px;height:288px;display:flex;position:relative}.waveform-canvas{pointer-events:none;position:absolute;inset:0}.mic-ring,.mic-recording-ring,.mic-spinner,.mic-speaking-ring{pointer-events:none;border-radius:999px;position:absolute}.mic-ring-outer{background:linear-gradient(135deg,#3b82f60f,#6366f10a,#3b82f60f);border:1px solid #3b82f61f;animation:3s ease-in-out infinite blue-ring-breathe;inset:-8px}.mic-ring-inner{background:linear-gradient(315deg,#3b82f60a,#93c5fd08);border:1px solid #3b82f614;animation:3s ease-in-out .5s infinite blue-ring-breathe;inset:4px}.mic-recording-ring-fast{border:1px solid #b4530926;animation:2s cubic-bezier(0,0,.2,1) infinite ping-slow;inset:0}.mic-recording-ring-slow{border:1px solid #b4530914;animation:3s cubic-bezier(0,0,.2,1) infinite ping-slower;inset:-16px}.mic-spinner{border:2px solid #0000;border-top-color:#b4530966;animation:1s linear infinite spin;inset:24px}.mic-speaking-ring{border:1px solid #f59e0b33;animation:2s ease-in-out infinite pulse-ring;inset:16px}.mic-core{z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;justify-content:center;align-items:center;width:96px;height:96px;transition:background .5s,box-shadow .5s,opacity .5s,transform .5s;display:flex;position:relative}.mic-core:focus-visible{outline-offset:8px;outline:2px solid #60a5fa80}.mic-core:disabled{cursor:not-allowed;opacity:.5}.mic-core.idle,.mic-core.error{color:#60a5fa;background:linear-gradient(135deg,#dbeafe99,#e0e7ff66);animation:3s ease-in-out infinite blue-glow-breathe;box-shadow:0 0 20px #3b82f614,0 0 40px #3b82f60a}.mic-core.idle:hover,.mic-core.error:hover{background:linear-gradient(135deg,#dbeafecc,#e0e7ff99);transform:scale(1.05)}.mic-core.recording{color:#fff;background:linear-gradient(135deg,#f59e0b,#b45309);transform:scale(1.1);box-shadow:0 0 50px #b8960c40}.mic-core.processing{color:#b4530999;background:linear-gradient(135deg,#f59e0b80,#b4530980);box-shadow:0 0 30px #b8960c1f}.mic-core.speaking{color:#b4530999;background:linear-gradient(135deg,#fbbf244d,#d977064d);box-shadow:0 0 35px #b8960c26}.mic-icon{width:40px;height:40px;transition:color .5s,filter .5s}.mic-core.recording .mic-icon{filter:drop-shadow(0 0 12px #ffffff80)}.mic-live-dot{background:#ef4444;border-radius:999px;width:10px;height:10px;animation:1.5s ease-in-out infinite pulse-ring;position:absolute;top:12px;right:12px;box-shadow:0 0 8px #ef444499}.mic-state-label{letter-spacing:.25em;text-transform:uppercase;color:#93c5fde6;font-size:10px;font-weight:600;transition:color .5s,opacity .5s,transform .5s;position:absolute;bottom:-64px}.mic-state-label.recording{color:#d97706cc}.mic-state-label.processing{color:#d9770680;animation:1.8s ease-in-out infinite pulse-ring}.mic-state-label.speaking{color:#f59e0b80}.brand-logo-wrap{opacity:.6;justify-content:center;margin-top:4px;transition:margin .5s,opacity .5s,transform .5s;display:flex}.brand-logo-wrap.engaged{opacity:.4;margin-top:24px;transform:scale(.95)}.brand-logo{object-fit:contain}.transcript-wrap{width:100%;margin-top:24px}.transcript{flex-direction:column;align-items:center;width:100%;display:flex}.transcript-toggle{color:#4b5563;cursor:pointer;letter-spacing:.15em;text-transform:uppercase;background:#00000005;border:1px solid #0000000a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:10px;font-weight:600;transition:background .3s,border-color .3s,color .3s;display:flex}.transcript-toggle:hover{color:#1f2937;background:#0000000d;border-color:#00000014}.transcript-chevron{color:#9ca3af;width:14px;height:14px;transition:transform .3s,color .3s}.transcript-chevron.open{transform:rotate(180deg)}.transcript-content{opacity:0;pointer-events:none;width:100%;max-height:0;margin-top:0;transition:max-height .3s,margin .3s,opacity .3s;overflow:hidden}.transcript-content.open{opacity:1;pointer-events:auto;max-height:240px;margin-top:16px}.transcript-log{scrollbar-gutter:stable;scroll-behavior:smooth;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff6;border:1px solid #00000008;border-radius:16px;width:100%;max-width:576px;max-height:192px;margin:0 auto;padding:16px 20px;overflow-y:auto;box-shadow:0 4px 20px #00000005}.transcript-entry{transition:opacity .5s,transform .5s}.transcript-entry+.transcript-entry{margin-top:12px}.transcript-entry p{margin:0;font-size:.875rem;line-height:1.6}.transcript-entry.user{color:#6b7280}.transcript-entry.assistant{color:#1f2937}.transcript-entry.status{color:#9ca3af;font-size:.75rem;font-style:italic}.transcript-entry.error{color:#ef4444cc;font-size:.75rem}.transcript-entry.partial{color:#92400ebf;animation:.4s ease-out fade-in}.transcript-speaker{letter-spacing:.2em;text-transform:uppercase;opacity:.4;margin-bottom:4px;font-size:10px;display:block}.typing-cursor{vertical-align:middle;background:#d97706;width:2px;height:16px;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}.returning-dot{background:#34d399;border-radius:999px;width:12px;height:12px;position:fixed;bottom:24px;right:24px;box-shadow:0 0 0 6px #34d39929}@keyframes ping-slow{0%{opacity:.3;transform:scale(1)}75%,to{opacity:0;transform:scale(1.5)}}@keyframes ping-slower{0%{opacity:.15;transform:scale(1)}75%,to{opacity:0;transform:scale(1.8)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes blue-glow-breathe{0%,to{box-shadow:0 0 20px #3b82f614,0 0 40px #3b82f60a}50%{box-shadow:0 0 30px #3b82f633,0 0 60px #3b82f614,0 0 80px #3b82f608}}@keyframes blue-ring-breathe{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.35;transform:scale(1.03)}}@keyframes pulse-ring{0%,to{opacity:1}50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#0003}::selection{color:#002b49;background:#002b4926}@media (min-width:768px){.audio-interface{gap:24px}.mic-stage{width:320px;height:320px}.mic-core{width:112px;height:112px}.mic-icon{width:48px;height:48px}}@media (max-width:460px){.gamba-shell{padding:18px 10px 28px}.audio-interface{padding-inline:8px}.mic-stage{width:min(78vw,288px);height:min(78vw,288px)}}
