:root{color:#f8fbff;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;background:#050508;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}button,a{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{--ui-text:#fafcfff0;--ui-muted:#f1f4ff9e;--ui-panel:#08080e75;--ui-panel-strong:#08080ead;--ui-border:#ffffff29;--ui-active:#fff3;--brand-a:#71f0ff;--brand-b:#ff9a3d;--brand-c:#ff4fd8;--page-bg:#050508;isolation:isolate;width:100%;height:100%;color:var(--ui-text);background:#050508;position:relative}.app[data-mode=light]{--ui-text:#0a161eeb;--ui-muted:#11222d9e;--ui-panel:#f7fcfd94;--ui-panel-strong:#f7fcfdc2;--ui-border:#08222d29;--ui-active:#0c2d3e1f;--brand-a:#147cff;--brand-b:#ff7a32;--brand-c:#9b5cff;--page-bg:#eef8fa;background:#eef8fa}.visualizer-canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.topbar{z-index:4;top:max(22px, env(safe-area-inset-top));left:max(24px, env(safe-area-inset-left));pointer-events:none;align-items:center;display:flex;position:absolute}.brand{min-height:40px;color:var(--ui-text);text-shadow:0 10px 28px #00000057;pointer-events:auto;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{width:34px;height:34px;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--brand-a), transparent 50%));display:inline-block;position:relative}.brand-ring{border:4px solid #0000;border-top-color:var(--brand-a);border-right-color:var(--brand-c);border-bottom-color:var(--brand-b);border-left-color:color-mix(in srgb, var(--brand-a), transparent 38%);box-shadow:inset 0 0 12px color-mix(in srgb, var(--brand-a), transparent 64%), 0 0 18px color-mix(in srgb, var(--brand-c), transparent 70%);border-radius:50%;position:absolute;inset:4px;transform:rotate(-18deg)}.brand-cut{background:var(--page-bg,#050508);border-radius:9px 0 0 9px;width:14px;height:11px;position:absolute;bottom:8px;right:0;transform:rotate(-16deg)}.brand-stem{background:linear-gradient(180deg, var(--brand-c), var(--brand-b));width:5px;height:16px;box-shadow:0 0 16px color-mix(in srgb, var(--brand-c), transparent 58%);border-radius:999px;position:absolute;bottom:5px;right:6px}.brand-pulse{width:7px;height:7px;box-shadow:0 0 16px var(--brand-a), 0 0 30px var(--brand-b);background:#fff;border-radius:50%;position:absolute;top:13px;left:13px}.brand-text{letter-spacing:0;font-size:clamp(1rem,1.42vw,1.14rem);font-weight:780;line-height:1}.control-rail{z-index:5;top:50%;right:max(20px, env(safe-area-inset-right));flex-direction:column;gap:10px;display:flex;position:absolute;transform:translateY(-50%)}.icon-button{width:46px;height:46px;color:var(--ui-text);background:var(--ui-panel);border:1px solid var(--ui-border);-webkit-backdrop-filter:blur(18px)saturate(1.28);backdrop-filter:blur(18px)saturate(1.28);cursor:pointer;border-radius:8px;place-items:center;padding:0;transition:transform .16s,background .16s,border-color .16s,opacity .16s;display:grid;box-shadow:0 20px 44px #00000038}.icon-button:hover,.icon-button:focus-visible{background:var(--ui-active);outline:none;transform:translate(-2px)}.icon-button.is-active{border-color:color-mix(in srgb, var(--brand-a), white 22%);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-a), transparent 74%), transparent), var(--ui-panel-strong)}.icon-button:disabled{opacity:.55;cursor:wait}.permission-panel{z-index:3;left:50%;bottom:max(84px, calc(env(safe-area-inset-bottom) + 56px));width:min(520px,100vw - 40px);color:var(--ui-text);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-a), transparent 88%), transparent 46%), var(--ui-panel-strong);border:1px solid var(--ui-border);-webkit-backdrop-filter:blur(24px)saturate(1.35);backdrop-filter:blur(24px)saturate(1.35);border-radius:8px;padding:22px;position:absolute;transform:translate(-50%);box-shadow:0 28px 70px #00000047}.permission-panel.is-compact{width:min(420px,100vw - 40px)}.panel-brand{align-items:center;gap:10px;margin-bottom:16px;display:inline-flex}.panel-brand .brand-mark{width:30px;height:30px}.panel-brand .brand-text{font-size:1.02rem}.panel-kicker{color:var(--ui-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.permission-panel h1{letter-spacing:0;max-width:460px;margin:0;font-size:clamp(1.85rem,4vw,3.2rem);line-height:.96}.permission-panel p:not(.panel-kicker){max-width:440px;color:var(--ui-muted);margin:14px 0 0;font-size:clamp(.94rem,1.5vw,1.02rem);line-height:1.45}.permission-panel .panel-detail{color:color-mix(in srgb, var(--ui-text), var(--brand-b) 34%);font-size:.88rem}.panel-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.primary-button,.secondary-button{min-width:124px;min-height:44px;color:var(--ui-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 15px;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.primary-button{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-a), white 10%), color-mix(in srgb, var(--brand-b), var(--brand-c) 28%));border:1px solid color-mix(in srgb, var(--brand-a), white 30%);color:#061015;font-weight:760}.secondary-button{background:color-mix(in srgb, var(--ui-panel), transparent 12%);border:1px solid var(--ui-border)}.primary-button:hover,.primary-button:focus-visible,.secondary-button:hover,.secondary-button:focus-visible{outline:none;transform:translateY(-1px)}.status-strip{z-index:4;left:max(24px, env(safe-area-inset-left));right:max(86px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute}.status-pill{max-width:180px;min-height:32px;color:var(--ui-text);white-space:nowrap;text-overflow:ellipsis;background:var(--ui-panel);border:1px solid var(--ui-border);-webkit-backdrop-filter:blur(16px)saturate(1.25);backdrop-filter:blur(16px)saturate(1.25);border-radius:8px;align-items:center;gap:8px;padding:0 11px;font-size:.82rem;display:inline-flex;overflow:hidden;box-shadow:0 14px 34px #0003}.live-dot{background:var(--brand-a);width:7px;height:7px;box-shadow:0 0 18px var(--brand-a);border-radius:50%;flex:none}.app[data-input=listening] .live-dot,.app[data-input=demo] .live-dot{animation:1.4s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:.68;transform:scale(.86)}50%{opacity:1;transform:scale(1.18)}}@media (width<=720px){.topbar{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left))}.brand{gap:9px}.brand-mark{width:30px;height:30px}.control-rail{top:max(78px, calc(env(safe-area-inset-top) + 70px));right:max(14px, env(safe-area-inset-right));transform:none}.icon-button{width:42px;height:42px}.permission-panel{bottom:max(88px, calc(env(safe-area-inset-bottom) + 74px));padding:18px}.permission-panel h1{line-height:1}.status-strip{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom))}.status-pill{max-width:calc(50vw - 20px);font-size:.76rem}}
