@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--text:#a3a0b0;--text-h:#f5f3ff;--text-muted:#8b8698;--text-faint:#6f6a80;--bg:#0a0712;--surface:#ffffff0b;--surface-hover:#ffffff12;--surface-weak:#ffffff05;--border:#ffffff17;--border-weak:#ffffff0f;--accent:#8b5cf6;--accent-2:#7c3aed;--accent-soft:#8b5cf62e;--success:#34d399;--success-soft:#34d39924;--warning:#fb923c;--warning-soft:#fb923c24;--danger:#f87171;--danger-soft:#f871711a;--sans:"Manrope", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Space Grotesk", var(--sans);font:16px/145% var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}a{color:inherit}h1{font-family:var(--display);color:var(--text-h);letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:700}button{font:inherit;border:1px solid var(--border);background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border-radius:8px;padding:.5em 1em;transition:transform .15s,box-shadow .2s}button:hover:not(:disabled){box-shadow:0 6px 18px #7c3aed59}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:8px;padding:.55em .75em}select option{color:#1a1625;background:#fff}input:focus,textarea:focus,select:focus{border-color:#a855f799;outline:none;box-shadow:0 0 0 3px #a855f726}.app-shell{background:radial-gradient(700px 500px at 90% 0%, #8b5cf61f, transparent 60%), var(--bg);flex-direction:column;flex:1;min-height:100svh;display:flex}.app-header{padding:calc(1.75rem + env(safe-area-inset-top)) calc(2rem + env(safe-area-inset-right)) 0 calc(2rem + env(safe-area-inset-left));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.app-brand{align-items:center;gap:.6rem;display:flex}.app-brand-name{font-family:var(--display);color:var(--text-h);font-size:1.1rem;font-weight:700}.app-user{align-items:center;gap:.75rem;display:flex}.app-avatar{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.app-user-name{color:var(--text);white-space:nowrap;font-size:.85rem}.app-user-name strong{color:var(--text-h);font-weight:600}.app-user-role{color:var(--text-faint)}.app-signout{background:var(--surface-hover);border:1px solid var(--border);height:36px;color:var(--text-h);border-radius:9px;padding:0 1rem;font-size:.85rem;font-weight:600}.app-signout:hover{box-shadow:none;background:#ffffff1a}.app-content{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.dock{bottom:calc(24px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);background:#ffffff0d;border:1px solid #ffffff17;border-radius:18px;align-self:center;gap:6px;margin-top:auto;padding:8px;display:flex;position:sticky}.dock-item{width:52px;height:52px;color:var(--text-muted);border-radius:13px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.dock-item:hover:not(.dock-item-disabled){color:var(--text-h);background:#ffffff0f}.dock-item-active{background:var(--accent-soft);color:#c4b5fd}.dock-item-disabled{cursor:not-allowed;opacity:.55}.page-heading{flex-direction:column;gap:.25rem;display:flex}.page-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.page-header{flex-direction:column;gap:.9rem;display:flex}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.back-link{color:var(--text-muted);align-items:center;gap:6px;width:fit-content;font-size:.8rem;font-weight:600;text-decoration:none;display:flex}.back-link:hover{color:var(--text-h)}.empty-state{color:var(--text-muted);font-size:.9rem}.login-page{background:#0a0e1a;flex:1;justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-aurora{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.aurora-blob{filter:blur(80px);opacity:.5;will-change:transform;border-radius:50%;position:absolute}.aurora-blob-1{background:radial-gradient(circle,#7c3aed 0%,#0000 70%);width:420px;height:420px;animation:12s ease-in-out infinite alternate aurora-drift-1;top:-10%;left:-10%}.aurora-blob-2{background:radial-gradient(circle,#a855f7 0%,#0000 70%);width:350px;height:350px;animation:14s ease-in-out infinite alternate aurora-drift-2;bottom:-5%;right:-8%}.aurora-blob-3{background:radial-gradient(circle,#6d28d9 0%,#0000 70%);width:280px;height:280px;animation:10s ease-in-out infinite alternate aurora-drift-3;top:40%;left:50%}@keyframes aurora-drift-1{0%{transform:translate(0)scale(1)}to{transform:translate(60px,40px)scale(1.15)}}@keyframes aurora-drift-2{0%{transform:translate(0)scale(1)}to{transform:translate(-50px,-30px)scale(1.1)}}@keyframes aurora-drift-3{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-50px)scale(1.2)}}.login-form{z-index:1;-webkit-backdrop-filter:blur(24px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;gap:1.25rem;width:100%;max-width:380px;padding:2.5rem 2rem 2rem;animation:.6s cubic-bezier(.22,1,.36,1) both card-enter;display:flex;position:relative;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff14}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand{flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.75rem;display:flex}.login-eq-icon{width:64px;height:40px;margin-bottom:.5rem}.eq-bar{transform-origin:bottom;height:20px}.eq-bar-1{animation:1.1s ease-in-out infinite eq-bounce}.eq-bar-2{animation:.9s ease-in-out .1s infinite eq-bounce}.eq-bar-3{animation:1.3s ease-in-out .2s infinite eq-bounce}.eq-bar-4{animation:.8s ease-in-out .15s infinite eq-bounce}.eq-bar-5{animation:1s ease-in-out 50ms infinite eq-bounce}.eq-bar-6{animation:1.2s ease-in-out .25s infinite eq-bounce}.eq-bar-7{animation:.95s ease-in-out .12s infinite eq-bounce}.eq-bar-8{animation:1.15s ease-in-out .18s infinite eq-bounce}@keyframes eq-bounce{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.login-title{letter-spacing:-.02em;background:linear-gradient(135deg,#e9d5ff,#c084fc,#a855f7,#e9d5ff) 0 0/300% 300%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.75rem;font-weight:700;animation:4s infinite gradient-shift}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.login-subtitle{color:#ffffff73;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.85rem}.login-form label{text-align:left;color:#fff9;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:500;display:flex}.login-form input{color:#f3f4f6;background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;padding:.7em .85em;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.login-form input::placeholder{color:#ffffff40}.login-form input:focus{border-color:#a855f799;outline:none;box-shadow:0 0 0 3px #a855f726}.login-error{color:#f87171;background:#f871711a;border:1px solid #f8717133;border-radius:8px;margin:-.25rem 0;padding:.5em .75em;font-size:.85rem}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:12px;width:100%;padding:.75em 1em;font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 4px 16px #7c3aed4d}.login-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#a855f7,#c084fc);transition:opacity .25s;position:absolute;inset:0}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #a855f773}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-footer-eq{opacity:.35;justify-content:center;align-items:flex-end;gap:3px;height:20px;margin-top:.5rem;display:flex}.mini-bar{background:linear-gradient(#c084fc,#7c3aed);border-radius:2px;width:3px;display:block}.mini-bar-1{height:8px;animation:1s ease-in-out infinite mini-eq}.mini-bar-2{height:14px;animation:.8s ease-in-out .1s infinite mini-eq}.mini-bar-3{height:10px;animation:1.2s ease-in-out .2s infinite mini-eq}.mini-bar-4{height:18px;animation:.7s ease-in-out 50ms infinite mini-eq}.mini-bar-5{height:12px;animation:1.1s ease-in-out .15s infinite mini-eq}.mini-bar-6{height:16px;animation:.9s ease-in-out .25s infinite mini-eq}.mini-bar-7{height:9px;animation:1.3s ease-in-out 80ms infinite mini-eq}.mini-bar-8{height:13px;animation:.85s ease-in-out .18s infinite mini-eq}.mini-bar-9{height:7px;animation:1.05s ease-in-out .12s infinite mini-eq}@keyframes mini-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.home-page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 2rem}.home-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.75rem;display:grid}@media (width>=640px){.home-grid{grid-template-columns:repeat(3,1fr)}}.mesa-page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 2rem}.module-card{background:var(--surface);border:1px solid var(--border);color:inherit;cursor:pointer;border-radius:16px;flex-direction:column;gap:14px;padding:26px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.module-card:not(.module-card-disabled):hover,.module-card:not(.module-card-disabled):focus-visible{border-color:#a78bfa80;transform:translateY(-2px)}.module-card-icon{background:var(--accent-soft);color:#c4b5fd;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.module-card-title{color:var(--text-h);font-size:16px;font-weight:700;display:block}.module-card-desc{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.4;display:block}.module-card-disabled{background:var(--surface-weak);border-color:var(--border-weak);opacity:.6;cursor:not-allowed}.module-card-disabled .module-card-icon{color:var(--text-muted);background:#ffffff0d}.module-card-badge{color:var(--text);background:#ffffff0f;border-radius:999px;margin-top:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.mesa-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem;display:grid}@media (width>=480px){.mesa-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.mesa-grid{grid-template-columns:repeat(3,1fr)}}.preset-list{flex-direction:column;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.preset-list-item{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:12px;flex-direction:column;gap:.35rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,background .12s;display:flex}.preset-list-item:hover,.preset-list-item:focus-visible{background:var(--surface-hover);border-color:#a78bfa80}.item-title{color:var(--text-h);font-weight:600}.item-desc{color:var(--text-muted);font-size:.9rem}.preset-section{margin-top:1.5rem}.preset-section h2{color:var(--text-h);margin:0 0 .5rem;font-size:1.1rem}.preset-params{grid-template-columns:1fr;gap:.5rem 1.5rem;margin:0;display:grid}@media (width>=480px){.preset-params{grid-template-columns:repeat(2,1fr)}}.preset-param{border-bottom:1px solid var(--border-weak);justify-content:space-between;gap:.75rem;padding:.4em 0;display:flex}.preset-param dt{color:var(--text)}.preset-param dd{color:var(--text-h);text-align:right;margin:0;font-weight:600}.mesa-action{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#fff;border:none;border-radius:10px;padding:.5em 1em;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 4px 14px #7c3aed4d}.mesa-action:hover{box-shadow:0 6px 18px #7c3aed66}.import-step{border-top:1px solid var(--border-weak);margin-top:2rem;padding-top:1.5rem}.import-step h2{color:var(--text-h);margin:0 0 .75rem;font-size:1.15rem}.import-step h3{color:var(--text-h);margin:1.25rem 0 .5rem;font-size:1rem}.import-hint{color:var(--text-muted);margin-top:.5rem;font-size:.85rem}.import-summary{grid-template-columns:1fr;gap:.5rem 1.5rem;margin:0;display:grid}@media (width>=480px){.import-summary{grid-template-columns:repeat(2,1fr)}}.import-summary div{border-bottom:1px solid var(--border-weak);justify-content:space-between;gap:.75rem;padding:.4em 0;display:flex}.import-summary dt{color:var(--text)}.import-summary dd{color:var(--text-h);text-align:right;margin:0;font-weight:600}.channel-list{grid-template-columns:1fr;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.channel-list{grid-template-columns:repeat(2,1fr)}}.channel-item{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:inherit;border-radius:10px;flex-direction:column;gap:.25rem;padding:.6em .85em;display:flex}.channel-item:hover:not(:disabled){box-shadow:none;border-color:#a78bfa66}.channel-item-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-h)}.channel-name{color:var(--text-h);font-weight:600}.channel-type{color:var(--text-muted);font-size:.8rem}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.9rem;display:flex}.checkbox-field{color:var(--text);align-items:center;gap:.5rem;margin:1rem 0;font-size:.9rem;display:flex}.diff-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.diff-summary-chips{gap:10px;display:flex}.diff-chip{border-radius:999px;align-items:center;gap:7px;height:32px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.diff-chip-equal{background:var(--success-soft);color:#6ee7b7;border:1px solid #34d3994d}.diff-chip-different{background:var(--warning-soft);color:#fdba74;border:1px solid #fb923c4d}.status-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot-equal{background:var(--success)}.status-dot-different,.status-dot-onlyA,.status-dot-onlyB{background:var(--warning)}.status-cell{align-items:center;gap:8px;display:inline-flex}.diff-table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow-x:auto}.diff-table{border-collapse:collapse;width:100%;font-size:.9rem}.diff-table th,.diff-table td{border-bottom:1px solid var(--border-weak);text-align:left;white-space:nowrap;padding:.65em 1em}.diff-table tr:last-child td{border-bottom:none}.diff-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.diff-table td:first-child{white-space:normal;color:var(--text-h);font-weight:600}.diff-equal td:last-child{color:var(--text)}.diff-different td:last-child,.diff-onlyA td:last-child,.diff-onlyB td:last-child{color:#fdba74;font-weight:600}.strip-editor{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.strip-tab-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.strip-tab-btn{color:var(--text-muted);box-shadow:none;background:0 0;border:none;border-radius:9px;padding:.5em 1em;font-size:.85rem;font-weight:600}.strip-tab-btn:hover:not(:disabled){box-shadow:none;color:var(--text-h)}.strip-tab-btn-active{background:var(--accent-soft);color:#c4b5fd}.strip-save-btn{margin-left:auto;padding:.5em 1.2em;font-size:.85rem}.strip-tab{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.strip-tab-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.strip-tab-header h3,.strip-tab>h3{color:var(--text-h);margin:0;font-size:1.05rem}.switch-field{color:var(--text);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.switch-field input{width:16px;height:16px;padding:0}.curve-graph{background:var(--surface-weak);border:1px solid var(--border-weak);border-radius:12px;width:100%;max-width:420px}.curve-graph-editable{cursor:crosshair}.curve-axis{stroke:var(--border);stroke-width:1px}.curve-axis-zero{stroke:var(--border);stroke-dasharray:3 3}.curve-line{stroke:var(--success);stroke-width:2px}.curve-handle{fill:var(--success);stroke:var(--bg);stroke-width:2px}.curve-graph-editable .curve-handle{cursor:grab}.eq-band-handle{fill:var(--success)}.eq-band-handle-active{fill:var(--success);stroke:#fff;stroke-width:2px}.curve-handle-lowcut{fill:var(--success)}.eq-band-tabs{flex-wrap:wrap;gap:6px;display:flex}.eq-band-tab{border:1px solid var(--border);background:var(--surface-weak);color:var(--text-muted);box-shadow:none;border-radius:999px;padding:.4em .9em;font-size:.78rem;font-weight:600}.eq-band-tab:hover:not(:disabled){box-shadow:none;color:var(--text-h)}.eq-band-tab-active{background:var(--success-soft);color:var(--success);border-color:#34d39980}.knob-row{flex-wrap:wrap;gap:1.5rem;display:flex}.knob-field{flex-direction:column;align-items:center;gap:.35rem;width:76px;display:flex}.knob{background:radial-gradient(circle at 35% 30%, #ffffff14, transparent 60%), var(--surface-hover);border:1px solid var(--border);touch-action:none;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.knob-field-editable .knob{cursor:ns-resize}.knob-dial{justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex}.knob-indicator{background:var(--accent);border-radius:2px;width:3px;height:22px;margin-top:6px}.knob-value{color:var(--text-h);font-size:.78rem;font-weight:700}.knob-label{color:var(--text-faint);text-align:center;font-size:.7rem}.sends-row{flex-wrap:wrap;gap:1.5rem;display:flex}.send-fader{flex-direction:column;align-items:center;gap:.5rem;display:flex}.send-fader-input{writing-mode:vertical-lr;direction:rtl;width:24px;height:120px;padding:0}.send-fader-value{color:var(--text-muted);font-size:.75rem}.send-fader-toggle{text-align:center;flex-direction:column;gap:.25rem;font-size:.75rem}.mesa-actions{flex-wrap:wrap;gap:.5rem;display:flex}.mesa-action-secondary{background:var(--surface);border:1px solid var(--border);box-shadow:none}.mesa-action-secondary:hover{background:var(--surface-hover);box-shadow:none}.session-bar{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;margin-bottom:1.25rem;padding:.9rem 1rem}.session-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.session-bar-info{align-items:center;gap:.7rem;display:flex}.session-bar-info strong{color:var(--text-h);font-size:.95rem;display:block}.session-bar-meta{color:var(--text-muted);font-size:.8rem;display:block}.session-btn{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:.5em 1em;font-size:.85rem;font-weight:600}.session-btn:disabled{opacity:.5;cursor:not-allowed}.session-btn-secondary{background:var(--surface);border:1px solid var(--border)}.session-form-actions{gap:.5rem;display:flex}.history-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.history-item{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:1rem}.history-item-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.history-item-head h2{color:var(--text-h);margin:0;font-size:1.05rem}.history-chip-closed{background:var(--surface-weak);border:1px solid var(--border);color:var(--text-muted)}.history-meta{color:var(--text-muted);margin:.35rem 0 0;font-size:.82rem}.history-team{margin:.5rem 0 0;font-size:.88rem}.history-presets{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.history-presets a{border:1px solid var(--border);background:var(--surface-weak);color:var(--text-h);border-radius:999px;padding:.3em .7em;font-size:.8rem;text-decoration:none;display:inline-block}.history-presets a span{color:var(--text-muted)}
