:root{--void-deep: #050505;--void-base: #0a0a0a;--void-surface: #141414;--void-elevated: #1c1c1c;--bloom-primary: #a3a3a3;--bloom-bright: #d5d5d5;--bloom-dim: #767676;--bloom-glow: rgba(163, 163, 163, .2);--active-primary: #dedede;--active-bright: #ffffff;--active-border: #888888;--active-glow: rgba(255, 255, 255, .16);--text-primary: #e8e8e8;--text-secondary: #a3a3a3;--text-ghost: #949494;--icon-ghost: #767676;--border-subtle: rgba(255, 255, 255, .06);--border-visible: rgba(255, 255, 255, .12);--border-active: rgba(163, 163, 163, .4);--glass-bg: rgba(10, 10, 10, .75);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--success: #e8e8e8;--warning: #dedede;--error: var(--text-primary);--recording: #ef4444;--info: #a3a3a3;--font-display: "Geist", "SF Pro Display", system-ui, sans-serif;--font-body: "Space Grotesk", "Geist", system-ui, sans-serif;--font-mono: "Geist Mono", "SF Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--radius-none: 0;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--radius-image: var(--radius-xs);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--surface-hover: rgba(255, 255, 255, .08);--surface-pressed: rgba(255, 255, 255, .12);--duration-record-pulse: 1.4s;--duration-spinner: .7s;--duration-ticker: 8s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .1, .25, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .4s;--duration-panel: .32s;--duration-shimmer: 1.5s;--duration-ambient: 2s}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in-centered{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:var(--void-deep);color:var(--text-primary);font-family:var(--font-body);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:var(--text-base)}#app{width:100%;height:100%;display:flex;flex-direction:column;position:relative}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast) var(--ease-out)}:is(.control-button,.play-button,.record-btn):active:not(:disabled){transform:scale(.96)}input,select,textarea{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--bloom-bright);outline-offset:2px}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 1ms;--duration-normal: 1ms;--duration-slow: 1ms;--duration-panel: 1ms;--duration-shimmer: 1ms;--duration-ambient: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important}:is(.control-button,.play-button,.record-btn):active:not(:disabled),button:hover{transform:none!important}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-visible);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--text-ghost)}:root{--toolbar-h: 76px;--transport-h: 112px}.control-button{display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.control-button:hover:not(:disabled){color:var(--text-primary)}.control-button.active{color:var(--active-primary)}.control-button[aria-pressed=true] svg{fill:currentColor}.control-button:disabled{opacity:.35;cursor:default}.popup-backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:140;background:transparent;border:0}.app-popover{position:fixed;z-index:150;bottom:calc(var(--transport-h) + var(--space-3));right:var(--space-3);width:min(400px,calc(100vw - var(--space-6)));max-height:max(0px,calc(100dvh - var(--toolbar-h) - var(--transport-h) - var(--space-6)));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-visible);border-radius:var(--radius-xl);background:#181818;color:var(--text-primary);box-shadow:inset 0 1px #ffffff08,0 16px 56px #0009}.app-popover[hidden]{display:none}.popover-heading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5);flex:0 0 auto}.popover-heading h2{flex:1;font:600 var(--text-lg) var(--font-body);letter-spacing:-.02em;margin:0}.popover-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}.menu-action{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.menu-action:hover{background:var(--surface-hover)}.menu-action kbd{margin-left:auto;color:var(--text-secondary);font:var(--text-xs) var(--font-mono)}@media(max-width:640px){:root{--toolbar-h: 64px}}@media(max-width:560px){:root{--transport-h: 160px}}@property --beam-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}:root{--duration-beam: 8s}.beam-rim{position:relative}.beam-rim:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--beam-angle),transparent 54%,#ffffff19 57%,#ffffff4d 60%,#ffffff99 63%,#ffffffbf 66%,#ffffff99 69%,#ffffff4d 72%,#ffffff19 75%,transparent 78%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:beam-rim var(--duration-beam) var(--ease-out) infinite}@keyframes beam-rim{to{--beam-angle: 360deg}}@media(prefers-reduced-motion:reduce){.beam-rim:after{animation:none}}
