.splash-loader-overlay{z-index:99999;opacity:1;pointer-events:all;-webkit-user-select:none;user-select:none;background-color:#07050f;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .15s ease-out,visibility .15s ease-out;display:flex;position:fixed;top:0;left:0}.splash-loader-overlay.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loader-container{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.loader{--size-loader:100px;--size-orbe:20px;width:var(--size-loader);height:var(--size-loader);position:relative;transform:rotate(45deg)}.orbe{--delay:calc(var(--index) * .1s);width:100%;height:100%;animation:orbit7456 ease-in-out 1.5s var(--delay) infinite;opacity:calc(1 - calc(.2 * var(--index)));position:absolute}.orbe:after{content:"";width:var(--size-orbe);height:var(--size-orbe);background-color:#00f0ff;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 20px 2px #00f0ff,0 0 8px 1px #00f0ff80}.loader-text{color:#00f0ff;text-shadow:0 0 8px #00f0ff,0 0 15px #00f0ff99;pointer-events:none;font-family:Outfit,Inter,system-ui,sans-serif;font-size:1.15rem;font-weight:800;position:absolute}.loader-label{color:#ffffff80;letter-spacing:2px;text-transform:uppercase;margin-top:24px;font-family:Outfit,Inter,system-ui,sans-serif;font-size:.85rem;font-weight:700}@keyframes orbit7456{0%{}80%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.aurora-container{width:100%;height:100%}.darkveil-canvas{width:100%;height:100%;display:block}.color-bends-container{width:100%;height:100%;position:relative;overflow:hidden}.dot-field-container{width:100%;height:100%;position:relative}.light-pillar-fallback{color:#888;background-color:#0000001a;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;display:flex;position:absolute;top:0;left:0}.light-pillar-container{width:100%;height:100%;position:absolute;top:0;left:0}.orb-container{width:100%;height:100%;position:relative}.plasma-container{width:100%;height:100%;position:relative;overflow:hidden}.prism-container{width:100%;height:100%;position:relative}.prismatic-burst-container{width:100%;height:100%;position:relative;overflow:hidden}.liquid-ether-container{touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.blob-container{width:100%;height:100%;position:relative;top:0;left:0}.blob-main{pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;background:0 0;width:100%;height:100%;position:absolute;overflow:hidden}.blob{will-change:transform;position:absolute;transform:translate(-50%,-50%)}.inner-dot{position:absolute}.shiny-text{color:#b5b5b5a4;background:linear-gradient(120deg,#fff0 40%,#fffc 50%,#fff0 60%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;animation:5s linear infinite shine;display:inline-block}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.shiny-text.disabled{animation:none}.card-spotlight{--mouse-x:50%;--mouse-y:50%;--spotlight-color:#ffffff0d;background-color:#111;border:1px solid #222;border-radius:1.5rem;padding:2rem;position:relative;overflow:hidden}.card-spotlight:before{content:"";background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), var(--spotlight-color), transparent 80%);opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:.6}:root{--landing-mint:#7bf1a8;--landing-purple:#c3a8ff;--landing-violet:#d4bfff;--landing-dark:#07050f;--landing-surface:#ffffff05;--landing-border:#ffffff0d;--landing-border-hover:#ffffff1f;--landing-glass-glow:0 8px 32px 0 #0000005e}.landing-page-container{flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.landing-header{border-bottom:1px solid var(--landing-border);justify-content:space-between;align-items:center;width:100%;height:80px;margin-bottom:40px;display:flex}.landing-logo{letter-spacing:-.5px;color:#fff;align-items:center;gap:8px;font-size:1.5rem;font-weight:900;display:flex}.landing-logo-dot{background-color:var(--landing-mint);width:8px;height:8px;box-shadow:0 0 10px var(--landing-mint);border-radius:50%}.landing-hero{text-align:center;flex-direction:column;align-items:center;max-width:800px;margin:60px auto 80px;display:flex}.landing-hero-badge{color:var(--landing-mint);text-transform:uppercase;borderRadius:20px;letter-spacing:1.5px;background:#7bf1a812;border:1px solid #7bf1a826;margin-bottom:24px;padding:6px 14px;font-size:.75rem;font-weight:800}.landing-hero-title{letter-spacing:-1.5px;text-wrap:balance;color:#fff;margin:0 0 16px;font-size:3.5rem;font-weight:900;line-height:1.1}.landing-hero-subtitle{color:#94a3b8;text-wrap:pretty;margin:0 0 40px;font-size:1.15rem;line-height:1.6}.landing-hero-ctas{justify-content:center;align-items:center;gap:16px;display:flex}.btn-primary-studio{color:var(--landing-dark);cursor:pointer;background-color:#fff;border:none;border-radius:30px;padding:14px 28px;font-size:.94rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 15px #ffffff1a}.btn-primary-studio:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fff3}.btn-primary-studio:active{transform:scale(.97)}.btn-secondary-info{color:#f8fafc;border:1px solid var(--landing-border);cursor:pointer;background:#ffffff0a;border-radius:30px;padding:13px 26px;font-size:.94rem;font-weight:700;transition:background-color .15s,transform .15s}.btn-secondary-info:hover{background:#ffffff14;transform:translateY(-1px)}.btn-secondary-info:active{transform:scale(.98)}.landing-bento-grid{grid-template-columns:repeat(2,1fr);gap:20px;width:100%;max-width:960px;margin:80px auto;display:grid}.bento-card-wrapper{border:1px solid var(--landing-border);background:#12101ce0;border-radius:16px;padding:30px;transition:border-color .2s,background-color .2s;position:relative;overflow:hidden}.bento-card-wrapper:hover{border-color:var(--landing-border-hover);box-shadow:0 10px 30px #0003}.bento-card-double-width{grid-column:span 2}.bento-card-icon{width:44px;height:44px;color:var(--landing-mint);background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.bento-card-title{color:#fff;margin:0 0 10px;font-size:1.35rem;font-weight:800}.bento-card-description{color:#64748b;font-size:.94rem;line-height:1.5}.landing-support-section{text-align:center;border-top:1px solid var(--landing-border);width:100%;max-width:960px;margin:80px auto;padding-top:80px}.support-title{color:#fff;margin:0 0 16px;font-size:2.2rem;font-weight:900}.support-description{color:#94a3b8;text-wrap:pretty;max-width:700px;margin:0 auto 40px;font-size:1rem;line-height:1.6}.support-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.support-card{border:1px solid var(--landing-border);color:inherit;background:#ffffff03;border-radius:12px;flex-direction:column;align-items:center;padding:24px 16px;text-decoration:none;transition:transform .15s,border-color .15s,background-color .15s;display:flex}.support-card:hover{background:#ffffff08;border-color:#ffffff26;transform:translateY(-4px)}.support-card-name{color:#fff;margin:12px 0 6px;font-size:1.05rem;font-weight:800}.support-card-desc{color:#64748b;text-align:center;font-size:.78rem;line-height:1.4}.support-card-icon{color:var(--landing-purple);font-size:1.5rem}.landing-faq-section{border-top:1px solid var(--landing-border);width:100%;max-width:760px;margin:80px auto;padding-top:80px}.faq-title{text-align:center;color:#fff;margin:0 0 40px;font-size:2rem;font-weight:900}.faq-list{flex-direction:column;gap:16px;display:flex}.faq-item{border:1px solid var(--landing-border);cursor:pointer;background:#ffffff03;border-radius:10px;padding:20px;transition:border-color .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.faq-item:hover{background:#ffffff05;border-color:#ffffff26}.faq-item.is-open{background:#9b6cff0a;border-color:#9b6cff59;box-shadow:0 4px 20px #0003}.faq-question{color:#f8fafc;justify-content:space-between;align-items:center;font-size:1rem;font-weight:800;display:flex}.faq-toggle-icon{color:var(--landing-mint);font-size:1.1rem;transition:transform .2s}.faq-item.is-open .faq-toggle-icon{transform:rotate(180deg)}.faq-answer{color:#94a3b8;text-wrap:pretty;margin-top:12px;font-size:.92rem;line-height:1.55;animation:.2s ease-out fadeIn}.landing-footer{border-top:1px solid var(--landing-border);color:#64748b;justify-content:space-between;align-items:center;width:100%;margin-top:80px;padding:40px 0;font-size:.82rem;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}to{opacity:.9;transform:scale(1)}}.preview-dual-grid{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}.landing-piano-wrapper::-webkit-scrollbar{height:6px}.landing-piano-wrapper::-webkit-scrollbar-track{background:#ffffff03;border-radius:4px}.landing-piano-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.landing-piano-wrapper::-webkit-scrollbar-thumb:hover{background:#9b6cff4d}@media (width<=900px){.landing-hero-title{font-size:2.8rem}.landing-bento-grid{grid-template-columns:1fr}.bento-card-double-width{grid-column:span 1}}@media (width<=768px){.preview-dual-grid{grid-template-columns:1fr;gap:16px}.audience-grid{grid-template-columns:1fr!important}}@media (width<=600px){.landing-hero-title{font-size:2.2rem}.landing-hero-ctas{flex-direction:column;width:100%}.btn-primary-studio,.btn-secondary-info{width:100%}.landing-footer{text-align:center;flex-direction:column;gap:16px}}.btn-toggle-sound{color:#94a3b8;cursor:pointer;background:#ffffff05;border:1px solid #ffffff1a;border-radius:30px;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.btn-toggle-sound:hover{color:#fff;background:#ffffff0f;border-color:#fff3}.btn-toggle-sound.sound-active{color:#7bf1a8;background:#7bf1a814;border:1px solid #7bf1a899;box-shadow:0 0 12px #7bf1a826}.btn-toggle-sound.sound-active:hover{background:#7bf1a826;border-color:#7bf1a8cc;box-shadow:0 0 16px #7bf1a840}@keyframes glow-yoyo{0%{color:#7bf1a8;background:#7bf1a805;border-color:#7bf1a84d;box-shadow:0 0 4px #7bf1a826,inset 0 0 2px #7bf1a81a}50%{color:#fff;background:#7bf1a81f;border-color:#7bf1a8bf;transform:scale(1.03);box-shadow:0 0 16px #7bf1a8a6,inset 0 0 8px #7bf1a84d}to{color:#7bf1a8;background:#7bf1a805;border-color:#7bf1a84d;box-shadow:0 0 4px #7bf1a826,inset 0 0 2px #7bf1a81a}}.btn-glow-yoyo{animation:1.8s ease-in-out infinite glow-yoyo}.audience-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.audience-card{border:1px solid var(--landing-border);will-change:transform;background:#12101cd9;border-radius:16px;flex-direction:column;gap:16px;padding:28px;transition:border-color .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:flex}.audience-card:hover{border-color:#9b6cff59;transform:translateY(-4px);box-shadow:0 12px 30px #0006,0 0 15px #9b6cff0f}:root[data-theme=ghost-dark],:root{--bg-app:#111112;--bg-panel:#15161bd1;--bg-panel-hover:#1a171df0;--border-panel:#32343b;--border-button:#45464d;--border-input:#454b55;--text-primary:#f4f1ea;--text-secondary:#c7c2b9;--text-muted:#8e9098;--text-eyebrow:#d9ad66;--bg-button:#23242a;--accent-primary:#7bd3c3;--brand-violet:#9b6cff;--brand-violet-glow:#9b6cff29;--brand-violet-glow-strong:#9b6cff59;--brand-white-light:#fbfaff;--piano-user-white-start:#e4fff9;--piano-user-white-end:#90c4ba;--piano-user-white-border:#5fcabb;--piano-user-black-start:#375c5d;--piano-user-black-end:#132124;--piano-user-black-border:#7bd3c3;--piano-playback-white-start:#fffcf0;--piano-playback-white-end:#f5d198;--piano-playback-white-border:#e6b76c;--piano-playback-black-start:#5c4b37;--piano-playback-black-end:#261f16;--piano-playback-black-border:#ffd593;--piano-diatonic-white-start:#f8f6ff;--piano-diatonic-white-end:#d6cbff;--piano-diatonic-white-border:#b194ff;--piano-diatonic-black-start:#3f2a70;--piano-diatonic-black-end:#170e2b;--piano-diatonic-black-border:#aa8cff}:root[data-theme=celestial-violet]{--bg-app:#07050f;--bg-panel:#110e20cc;--bg-panel-hover:#17122bf2;--border-panel:#8b5cf640;--border-button:#8b5cf666;--border-input:#8b5cf680;--text-primary:#fbfaff;--text-secondary:#e2d8ff;--text-muted:#a497d3;--text-eyebrow:#8b5cf6;--bg-button:#8b5cf626;--accent-primary:#00f0ff;--brand-violet:#c6adff;--brand-violet-glow:#c6adff33;--brand-violet-glow-strong:#c6adff66;--brand-white-light:#fff;--piano-user-white-start:#e0fcff;--piano-user-white-end:#74ebf5;--piano-user-white-border:#00f0ff;--piano-user-black-start:#0f4659;--piano-user-black-end:#071926;--piano-user-black-border:#00d0de;--piano-playback-white-start:#fff0fc;--piano-playback-white-end:#e59be3;--piano-playback-white-border:#d463d1;--piano-playback-black-start:#591b5c;--piano-playback-black-end:#280a2b;--piano-playback-black-border:#c440c1}:root[data-theme=claude-ivory]{--bg-app:#f7f4ed;--bg-panel:#fffffff2;--bg-panel-hover:#faf9f6;--border-panel:#e5e0d8;--border-button:#d5cfc5;--border-input:#c4beb4;--text-primary:#1f1f1e;--text-secondary:#4a4947;--text-muted:#8b8882;--text-eyebrow:#d97706;--bg-button:#f0ebe1;--accent-primary:#7c5dfa;--brand-violet:#a084fc;--brand-violet-glow:#7c5dfa1a;--brand-violet-glow-strong:#7c5dfa40;--brand-white-light:#1f1f1e;--piano-user-white-start:#f2eeff;--piano-user-white-end:#c9bbfc;--piano-user-white-border:#9b81f9;--piano-user-black-start:#7865c4;--piano-user-black-end:#413575;--piano-user-black-border:#56479b;--piano-playback-white-start:#fff4e6;--piano-playback-white-end:#ffd6a8;--piano-playback-white-border:#ffa94d;--piano-playback-black-start:#c4762b;--piano-playback-black-end:#5c3510;--piano-playback-black-border:#f08c00}:root[data-theme=gruvbox-light]{--bg-app:#fbf1c7;--bg-panel:#f2e5bcf2;--bg-panel-hover:#ebdbb2;--border-panel:#d5c4a1;--border-button:#bdae93;--border-input:#a89984;--text-primary:#282828;--text-secondary:#3c3836;--text-muted:#7c6f64;--text-eyebrow:#98971a;--bg-button:#eaddb0;--accent-primary:#af3a03;--brand-violet:#8f3f71;--brand-violet-glow:#af3a031a;--brand-violet-glow-strong:#af3a0340;--brand-white-light:#282828;--piano-user-white-start:#ffeedb;--piano-user-white-end:#f0ad78;--piano-user-white-border:#d65d0e;--piano-user-black-start:#b34a07;--piano-user-black-end:#612702;--piano-user-black-border:#9a3f05;--piano-playback-white-start:#eef7de;--piano-playback-white-end:#c0de98;--piano-playback-white-border:#98971a;--piano-playback-black-start:#6f7011;--piano-playback-black-end:#3b3c08;--piano-playback-black-border:#797914}:root[data-theme=custom]{--bg-app:#0c0a14;--bg-panel:#171426d9;--border-panel:#9b6cff40;--text-primary:#f8f7ff;--accent-primary:#00f0ff;--piano-user-white-start:#00f0ff;--piano-user-white-border:#00f0ff;--piano-user-black-start:#00a3b0;--piano-user-black-border:#00f0ff}:root{color:var(--text-primary);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand-violet:#9b6cff;--brand-violet-glow:#9b6cff29;--brand-violet-glow-strong:#9b6cff59;--brand-white-light:#fbfaff;--piano-diatonic-white-start:#f8f6ff;--piano-diatonic-white-end:#d6cbff;--piano-diatonic-white-border:#b194ff;--piano-diatonic-black-start:#3f2a70;--piano-diatonic-black-end:#170e2b;--piano-diatonic-black-border:#aa8cff;--piano-user-white-start:#e4fff9;--piano-user-white-end:#90c4ba;--piano-user-white-border:#5fcabb;--piano-user-black-start:#375c5d;--piano-user-black-end:#132124;--piano-user-black-border:var(--accent-primary);--piano-playback-white-start:#fffcf0;--piano-playback-white-end:#f5d198;--piano-playback-white-border:#e6b76c;--piano-playback-black-start:#5c4b37;--piano-playback-black-end:#261f16;--piano-playback-black-border:#ffd593;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:1px solid var(--border-button);min-height:2.5rem;color:var(--text-primary);background:var(--bg-button);cursor:pointer;border-radius:6px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}button:disabled{color:var(--text-muted);border-color:var(--border-panel);background:var(--bg-panel);cursor:not-allowed}.app-shell{background:radial-gradient(circle at 50% 0%, var(--bg-panel-hover) 0%, var(--bg-app) 100%);min-height:100vh;padding:24px}.app-header{z-index:10;justify-content:space-between;align-items:center;gap:24px;max-width:1480px;margin:0 auto 18px;padding:4px 2px;display:flex;position:relative;overflow:visible}.app-header h1,.studio-panel h2,.piano-surface h2{letter-spacing:0;margin:0}.app-header h1{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1}.app-header nav{gap:8px;display:flex}.app-header a{border:1px solid var(--border-button);color:var(--text-secondary);background:var(--bg-button);border-radius:6px;padding:10px 14px;transition:background-color .18s,border-color .18s,color .18s}.app-header a:hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-panel-hover)}.ghost-primary-nav,.reactbits-navigation-interactive{justify-content:flex-end;align-items:center;max-width:min(100%,520px);min-height:44px;display:inline-flex;overflow:visible}.reactbits-navigation-interactive{border:1px solid color-mix(in srgb, var(--accent-primary) 30%, var(--border-panel));background:var(--bg-panel);border-radius:12px;box-shadow:inset 0 1px #ffffff0a,0 16px 36px #00000026}.reactbits-navigation--card,.reactbits-navigation--staggered{gap:6px;padding:4px}.reactbits-navigation--card a,.reactbits-navigation--staggered a{min-height:34px;color:var(--text-secondary);background:var(--bg-button);border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:0 12px;transition:color .15s,background-color .15s,border-color .15s,transform .15s;display:inline-flex}.reactbits-navigation--card a:hover,.reactbits-navigation--staggered a:hover{color:var(--text-primary);border-color:color-mix(in srgb, var(--accent-primary) 36%, transparent);background:var(--bg-panel-hover);transform:translateY(-1px)}.reactbits-navigation--staggered a span{color:var(--accent-primary);font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:900}.reactbits-navigation--dock{padding:4px}.reactbits-navigation--dock .dock-outer,.reactbits-navigation--glass>div{max-width:100%;margin:0}.reactbits-navigation--dock .dock-panel{background:0 0;border-color:#0000;border-radius:10px;gap:6px;padding:0;position:relative;inset:auto;transform:none}.reactbits-navigation--dock .dock-item{border-color:color-mix(in srgb, var(--accent-primary) 22%, var(--border-panel));background:var(--bg-button)}.reactbits-navigation--dock .dock-label{border-color:color-mix(in srgb, var(--accent-primary) 25%, transparent);background:var(--bg-panel);color:var(--text-primary);top:calc(-100% - 4px)}.reactbits-navigation--gooey{padding:4px}.reactbits-navigation--gooey .gooey-nav-container nav ul{color:var(--text-secondary);gap:4px;padding:0}.reactbits-navigation--gooey .gooey-nav-container nav ul li a{min-height:34px;padding:8px 12px}.reactbits-navigation--gooey .gooey-nav-container nav ul li:after,.reactbits-navigation--gooey .gooey-nav-container .effect.filter:after{background:var(--accent-primary)}.reactbits-navigation--gooey .gooey-nav-container .effect.filter{filter:blur(5px)contrast(64);mix-blend-mode:screen}.reactbits-navigation--gooey .gooey-nav-container .effect.filter:before{display:none}.reactbits-navigation--gooey .gooey-nav-container nav ul li.active{color:var(--bg-app)}.studio-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(220px,300px);gap:16px;max-width:1480px;margin:0 auto;display:grid}.studio-modular-panel{border:1px solid var(--border-panel);background:var(--bg-panel);border-radius:8px;flex-direction:column;height:100%;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 18px 42px #0000003d}.studio-modular-panel__content-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.studio-modular-panel__content{scrollbar-width:thin;scrollbar-color:#9b6cff40 transparent;flex:1;padding:18px;overflow-y:auto}#piano .studio-modular-panel__content{flex-direction:column;display:flex;overflow:hidden}@container (width<=380px){.studio-modular-panel__content{padding:12px}.project-name-input{font-size:1.08rem}.studio-meter-list div,.inspector-note,.chord-anatomy-panel{padding:9px!important}.session-actions__buttons,.progression-text-summary-bar{flex-direction:column;align-items:stretch}.layout-control-btn{padding-inline:10px}}@container (height<=320px){.studio-modular-panel__content{padding-block:10px}.project-title-container,.studio-meter-list,.session-actions{margin-bottom:10px!important}.panel-eyebrow,.control-label{margin-bottom:4px}}.studio-modular-panel p{color:var(--text-secondary);line-height:1.5}.panel-eyebrow{color:var(--text-eyebrow);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:800}.muted-copy{color:var(--text-muted);margin:0}.studio-meter-list{gap:10px;margin:0;display:grid}.studio-meter-list div,.inspector-note{border:1px solid var(--border-panel);background:var(--bg-button);border-radius:8px;padding:12px}.studio-meter-list dt{color:var(--text-muted);text-transform:uppercase;font-size:.76rem;font-weight:700}.studio-meter-list dd{color:var(--text-primary);margin:4px 0 0;font-size:1.05rem;font-weight:700}.audio-control-stack{gap:12px;margin-top:auto;display:grid}.workspace-control,.tempo-control,.volume-control,.toggle-control{border:1px solid var(--border-panel);background:var(--bg-button);border-radius:8px}.workspace-control{gap:10px;padding:12px;display:grid}.volume-control{grid-template-columns:1fr auto;gap:10px;min-width:0;padding:12px;display:grid}.workspace-control>span,.tempo-control span,.volume-control span,.toggle-control span{color:var(--text-secondary);font-size:.82rem;font-weight:800}.workspace-control__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.workspace-control__buttons button{min-height:38px;color:var(--text-secondary);padding:0 10px;font-size:.78rem;font-weight:800;transition:background-color .16s,border-color .16s,color .16s}.workspace-control__buttons button.is-active{color:var(--bg-app);border-color:var(--accent-primary);background:var(--accent-primary)}.tempo-control{grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.tempo-control input{border:1px solid var(--border-input);width:84px;min-height:34px;color:var(--text-primary);background:var(--bg-app);font:inherit;border-radius:6px;padding:6px 8px;font-weight:800}.volume-control strong{color:var(--text-primary);font-size:.82rem}.volume-control input{width:100%;min-width:0;accent-color:var(--accent-primary);grid-column:1/-1}.toggle-control{justify-content:flex-start;align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:flex}.toggle-control input{width:20px;height:20px;accent-color:var(--accent-primary);margin:0}.piano-surface{flex-direction:column;min-width:0;display:flex;overflow:hidden}.surface-header{border-bottom:1px solid var(--border-panel);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.transport-strip{align-items:center;gap:8px;display:flex}.transport-strip button{min-width:70px;padding:0 14px}.transport-strip span{min-width:76px;color:var(--text-muted);text-align:right;font-size:.92rem;font-weight:700}.piano-stage{background:0 0;flex-direction:column;flex:1;justify-content:flex-end;gap:16px;min-width:0;padding:22px;display:flex;overflow:visible!important}.active-note-strip{flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;display:flex}.active-note-strip span{border:1px solid var(--border-panel);min-width:44px;color:var(--text-primary);background:var(--bg-panel);text-align:center;border-radius:6px;padding:7px 10px;font-size:.86rem;font-weight:800}.virtual-piano{width:100%;min-width:0;min-height:var(--piano-white-key-height,300px);max-width:min(100%, calc(var(--white-key-count) * 62px));-webkit-user-select:none;user-select:none;margin:0 auto;padding:0 2px 2px;position:relative}.virtual-piano__white-keys{grid-template-columns:repeat(var(--white-key-count), 1fr);gap:var(--piano-key-gap,3px);height:var(--piano-white-key-height,300px);z-index:1;display:grid;position:relative}.virtual-piano__black-keys{height:var(--piano-black-key-height,188px);pointer-events:none;z-index:2;position:absolute;inset:0 2px auto;transform-style:preserve-3d!important}.virtual-piano__key{border-radius:var(--piano-key-roundness,6px);-webkit-user-select:none;user-select:none;touch-action:none;min-width:0;transition:transform .14s ease, border-color var(--key-release-decay,.15s) ease, box-shadow var(--key-release-decay,.15s) ease, background-color var(--key-release-decay,.15s) ease;outline:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;padding:0 4px 14px;display:flex;position:relative}.virtual-piano__key--white{min-height:var(--piano-white-key-height,300px);color:#212126;background:linear-gradient(#fffdf7 0%,#eee5d6 78%,#d8c9b4 100%);border-color:#cac3b5;box-shadow:inset 0 -18px 22px #54443029}.virtual-piano__key--black{top:0;left:calc(((var(--white-key-index) + 1) / var(--white-key-count)) * (100% + var(--piano-key-gap,3px)) - (var(--piano-key-gap,3px) / 2));width:calc(((100% - (var(--white-key-count) - 1) * var(--piano-key-gap,3px)) / var(--white-key-count)) * .65);min-height:var(--piano-black-key-height,186px);height:var(--piano-black-key-height,186px);color:#f5efe5;pointer-events:auto;transition:transform .14s ease, border-color var(--key-release-decay,.15s) ease, box-shadow var(--key-release-decay,.15s) ease, background-color var(--key-release-decay,.15s) ease;background:linear-gradient(#27272d 0%,#0e0f13 82%),#0e0f13;border-color:#050507;padding-bottom:12px;position:absolute;transform:translate(-50%);box-shadow:inset 0 -14px 18px #0000007a,0 14px 18px #00000057;z-index:100!important}.virtual-piano__key:hover{border-color:var(--accent-primary)}.virtual-piano__key:focus-visible{z-index:4}.virtual-piano__key--white.is-active{border-color:var(--piano-user-white-border);background:linear-gradient(180deg, var(--piano-user-white-start) 0%, #b9e7dc 78%, var(--piano-user-white-end) 100%);z-index:1;transform:translateY(3px);box-shadow:inset 0 0 0 2px #32696347,inset 0 -20px 22px #1d595529}.virtual-piano__key--black.is-active{border-color:var(--piano-user-black-border);background:linear-gradient(180deg, var(--piano-user-black-start) 0%, var(--piano-user-black-end) 82%), var(--piano-user-black-end);transform:translate(-50%)translateY(3px);box-shadow:inset 0 0 0 2px #7bd3c347,0 9px 14px #00000057;z-index:10!important}.virtual-piano__key--white.is-playback-active{border-color:var(--piano-playback-white-border);background:linear-gradient(180deg, var(--piano-playback-white-start) 0%, #ecd0ab 78%, var(--piano-playback-white-end) 100%);z-index:1;transform:translateY(2px);box-shadow:inset 0 0 0 2px #d9ad6647,inset 0 -20px 22px #99763d29}.virtual-piano__key--black.is-playback-active{border-color:var(--piano-playback-black-border);background:linear-gradient(180deg, var(--piano-playback-black-start) 0%, var(--piano-playback-black-end) 82%), var(--piano-playback-black-end);transform:translate(-50%)translateY(2px);box-shadow:inset 0 0 0 2px #e6b86a47,0 9px 14px #00000057;z-index:10!important}.grid-stack{--studio-module-min-width:344px;width:100%;max-width:1480px;min-height:880px;margin:0 auto}.grid-stack-item{min-width:min(var(--studio-module-min-width), 100%);container-type:size}.grid-stack-item-content{background:0 0!important;overflow:visible!important}.grid-stack-item--piano{min-width:min(var(--studio-module-min-width), 100%);container-type:size}.grid-stack-item--piano>.ui-resizable-handle{display:none!important}.grid-stack-item--piano .grid-stack-item-content{overflow:hidden!important}.grid-stack-animate .grid-stack-item--piano,.grid-stack-animate .grid-stack-item--piano>.grid-stack-item-content{transition:left .3s,top .3s,width .3s!important}.grid-stack-item--piano .studio-modular-panel{min-height:100%;max-height:100%}.grid-stack-item--piano .studio-modular-panel__content{min-height:0;display:flex;overflow:hidden auto}.grid-stack-item--piano .piano-stage{flex-direction:column;flex:1;justify-content:space-between;min-height:0;display:flex;padding:14px 22px 32px!important;overflow:visible!important}.grid-stack-item--piano .piano-stage.is-controls-collapsed{justify-content:flex-start;gap:0;padding:10px 0 18px!important}.grid-stack-item--piano .virtual-piano{flex:0 0 calc(var(--piano-white-key-height,300px) + 92px);height:calc(var(--piano-white-key-height,300px) + 92px)!important;min-height:calc(var(--piano-white-key-height,300px) + 92px)!important;margin-top:0!important;margin-bottom:8px!important;padding-top:44px!important;padding-bottom:48px!important}.grid-stack-item--piano .piano-config-bar,.grid-stack-item--piano .piano-config-sub-panel,.grid-stack-item--piano .active-note-strip{flex:none;position:relative}.grid-stack-item--piano .piano-config-bar{z-index:3}.grid-stack-item--piano .piano-config-sub-panel{z-index:2}.grid-stack-item--piano .active-note-strip{z-index:1}.grid-stack-item--piano .virtual-piano__white-keys,.grid-stack-item--piano .virtual-piano__key--white{height:var(--piano-white-key-height,270px)!important;min-height:var(--piano-white-key-height,270px)!important}.grid-stack-item--piano .virtual-piano__black-keys{height:var(--piano-black-key-height,172px)!important;top:44px!important}.grid-stack-item--piano .virtual-piano__key--black{min-height:var(--piano-black-key-height,170px)!important}@container (height<=620px){.grid-stack-item--piano .piano-config-bar,.grid-stack-item--piano .piano-config-sub-panel{gap:6px!important;margin-bottom:8px!important;padding:6px 10px!important}.grid-stack-item--piano .piano-stage{gap:8px;padding-top:10px!important}.grid-stack-item--piano .active-note-strip{min-height:28px;margin-bottom:8px!important}.grid-stack-item--piano .active-note-strip span{min-width:36px;padding:5px 8px;font-size:.76rem}}.piano-config-bar,.progression-config-bar{flex-wrap:wrap!important;align-items:center!important;gap:12px 18px!important;display:flex!important}.piano-config-bar>*,.progression-config-bar>*{flex:0 auto!important;align-items:center!important;gap:8px!important;min-width:max-content!important;display:flex!important}.piano-config-bar input[type=range],.progression-config-bar input[type=range]{min-width:58px;width:100%!important}.piano-config-bar select,.progression-config-bar select{max-width:100%}.progression-config-bar__group{flex-wrap:wrap;min-width:0}.progression-config-bar__group .progression-select{flex:92px;min-width:0}.piano-config-sub-panel{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))!important;gap:12px!important}.studio-modular-panel__content{scrollbar-width:thin;scrollbar-color:#9b6cff38 transparent;min-height:0;overflow:hidden auto;container-type:size}.studio-modular-panel__content::-webkit-scrollbar{width:6px}.studio-modular-panel__content::-webkit-scrollbar-track{background:0 0}.studio-modular-panel__content::-webkit-scrollbar-thumb{background:#9b6cff38;border-radius:999px}.studio-modular-panel__content::-webkit-scrollbar-thumb:hover{background:#9b6cff6b}.grid-stack-item>.ui-resizable-se{opacity:.3;border-bottom:2px solid #9b6cff66;border-right:2px solid #9b6cff66;width:10px;height:10px;transition:opacity .2s,border-color .2s;bottom:6px;right:6px;background-image:none!important}.grid-stack-item:hover>.ui-resizable-se{opacity:1;border-color:var(--brand-violet)}.grid-stack-item.ui-draggable-dragging .studio-modular-panel{opacity:.9;transform:scale(.985)translateZ(0);border-color:var(--brand-violet)!important;cursor:grabbing!important;box-shadow:0 25px 55px #0009!important}.grid-stack-item{will-change:transform, left, top, width, height}.grid-stack.is-grid-interacting .grid-stack-item-content{pointer-events:none!important}.grid-stack-item--piano.ui-draggable-dragging .studio-modular-panel{opacity:1;transform:none;box-shadow:0 12px 32px #00000073!important}.studio-modular-panel__header{cursor:grab}.studio-modular-panel__header:active{cursor:grabbing}.studio-workspace-grid{width:100%!important;max-width:1480px!important;margin:0 auto!important;padding:16px 0!important;display:block!important}.grid-stack-item.is-hidden-widget{display:none!important}.studio-workspace-grid{grid-template-columns:280px 1fr 300px;align-items:start;gap:16px;max-width:1480px;margin:0 auto;display:grid}.studio-piano-grid-wrapper{width:100%;max-width:min(100%, calc(var(--white-key-count) * 62px + 64px));flex-direction:column;grid-column:1/-1;margin:16px auto 0;display:flex;transition:none!important}.studio-grid-area{border:1px solid #0000;border-radius:12px;flex-direction:column;gap:16px;min-height:380px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.studio-grid-area.is-drag-over{background:#9b6cff08;border:1px dashed #9b6cff73;box-shadow:0 0 16px #9b6cff14}.studio-grid-area--left{width:280px;min-width:280px}.studio-grid-area--right{width:300px;min-width:300px}.studio-grid-area .studio-panel{scrollbar-width:thin!important;scrollbar-color:#ffffff26 transparent!important;height:380px!important;min-height:380px!important;max-height:380px!important;overflow-y:auto!important}.studio-grid-area .studio-panel::-webkit-scrollbar{width:6px!important;height:6px!important}.studio-grid-area .studio-panel::-webkit-scrollbar-track{background:0 0!important}.studio-grid-area .studio-panel::-webkit-scrollbar-thumb{background:#9b6cff40!important;border:1px solid #ffffff08!important;border-radius:4px!important}.studio-grid-area .studio-panel::-webkit-scrollbar-thumb:hover{background:var(--brand-violet)!important;box-shadow:0 0 8px var(--brand-violet-glow-strong)!important}.studio-grid-area::-webkit-scrollbar{width:4px}.studio-panel::-webkit-scrollbar{width:4px}.studio-grid-area::-webkit-scrollbar-track{background:0 0}.studio-panel::-webkit-scrollbar-track{background:0 0}.studio-grid-area::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.studio-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.studio-grid-area::-webkit-scrollbar-thumb:hover{background:#fff3}.studio-panel::-webkit-scrollbar-thumb:hover{background:#fff3}.studio-grid-area--center{flex:1;min-width:0}.studio-grid-area.is-empty{opacity:.15;pointer-events:auto;background:#ffffff03;border:1px dashed #ffffff14;min-height:380px!important}.grid-stack-item{transition:transform .45s cubic-bezier(.2,1.15,.4,1),left .45s cubic-bezier(.2,1.15,.4,1),top .45s cubic-bezier(.2,1.15,.4,1),width .45s cubic-bezier(.2,1.15,.4,1),height .45s cubic-bezier(.2,1.15,.4,1)}.grid-stack-item.ui-draggable-dragging,.grid-stack-item.ui-resizable-resizing{z-index:10000!important;transition:none!important}.project-title-container{flex-direction:column;gap:6px;display:flex;position:relative}.project-name-input{border-radius:6px;width:100%;padding:8px 12px;transition:all .2s ease-in-out;border:1px solid var(--border-panel)!important;color:var(--text-primary)!important;background:var(--bg-app)!important;outline:none!important;font-size:.84rem!important;font-weight:700!important}.project-name-input:hover{border-color:var(--border-button)!important;background:var(--bg-panel-hover)!important}.project-name-input:focus{border-color:var(--accent-primary)!important;background:var(--bg-app)!important;box-shadow:0 0 12px color-mix(in srgb, var(--accent-primary) 30%, transparent)!important;outline:none!important}.persistence-badge{letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:3px 8px;font-size:.68rem;font-weight:700;transition:background-color .2s,color .2s;display:inline-flex}.persistence-badge.is-idle{color:#a0a6ae;background:#ffffff0a}.persistence-badge.is-saving{color:#ffd899;background:#d9ad661f;animation:1.5s ease-in-out infinite pulse-persistence}.persistence-badge.is-saved{color:#a1ebd9;background:#7bd3c31f}.persistence-badge.is-error{color:#f99;background:#ff646424}@keyframes pulse-persistence{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.session-actions{border:1px solid var(--border-panel);background:var(--bg-button);border-radius:8px;gap:10px;padding:12px;display:grid}.session-actions .control-label{color:var(--text-secondary);font-size:.82rem;font-weight:800}.session-actions__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.session-btn{border:1px solid var(--border-input);min-height:38px;color:var(--text-secondary);background:var(--bg-button);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;padding:0 12px;font-size:.76rem;font-weight:800;transition:transform .1s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.session-btn:hover{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg-panel-hover)}.session-btn:active{transform:scale(.97)}.session-btn--import-label input[type=file]{display:none!important}.transport-strip span,.tempo-control input{font-variant-numeric:tabular-nums}.studio-modular-panel{border:1px solid var(--border-panel);background:var(--bg-panel);box-shadow:0 8px 16px #00000014, inset 0 0 0 1px color-mix(in srgb, var(--bg-button) 50%, transparent);border-radius:12px;flex-direction:column;display:flex;position:relative}.tempo-direct-input{color:var(--brand-white-light);text-align:center;-moz-appearance:textfield;background:0 0;border:none;border-bottom:1.5px solid #ffffff14;outline:none;width:38px;padding:2px 0;font-family:inherit;font-size:.95rem;font-weight:900;transition:border-color .2s,background-color .2s}.tempo-direct-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tempo-direct-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tempo-direct-input:focus{background:#ffffff08;border-color:#00f2ff;border-radius:4px}.tempo-slider-interactive-wrap{align-items:center;width:90px;height:32px;display:flex;position:relative}.tempo-range-scrub{appearance:none;cursor:ew-resize;background:#ffffff0f;border-radius:2px;outline:none;width:100%;height:4px}.tempo-range-scrub::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#00f2ff;border-radius:50%;width:12px;height:12px;transition:transform .15s cubic-bezier(.25,1,.5,1);box-shadow:0 0 8px #00f2ff99}.tempo-range-scrub::-webkit-slider-thumb:hover{transform:scale(1.4)}.tempo-scrub-ticks{pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.tick-mark{background:#ffffff2e;border-radius:.5px;width:1px;height:6px;position:absolute}.ghost-lab-toggle-btn{z-index:9999!important;background:var(--brand-violet-glow-strong)!important;border:1.5px solid var(--accent-primary)!important;width:48px!important;height:48px!important;color:var(--text-primary)!important;cursor:pointer!important;box-shadow:0 8px 32px var(--brand-violet-glow), inset 0 1px 2px #ffffff4d!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;font-size:1.3rem!important;transition:transform .3s cubic-bezier(.25,1,.5,1),box-shadow .3s!important;display:flex!important;position:fixed!important;bottom:24px!important;right:24px!important}.ghost-lab-toggle-btn:hover{box-shadow:0 12px 40px var(--brand-violet-glow-strong)!important;transform:scale(1.1)rotate(15deg)!important}.ghost-lab-panel{z-index:9998!important;-webkit-backdrop-filter:blur(28px)!important;background:#0a0816e0!important;border:1.5px solid #9b6cff38!important;border-radius:18px!important;flex-direction:column!important;width:320px!important;animation:.4s cubic-bezier(.25,1,.5,1) slideInRight!important;display:flex!important;position:fixed!important;top:76px!important;bottom:24px!important;right:24px!important;overflow:hidden!important;box-shadow:0 24px 60px #000000d9,0 0 32px #9b6cff14!important}@keyframes slideInRight{0%{opacity:0;transform:translate(360px)}to{opacity:1;transform:translate(0)}}.ghost-lab-header{background:#9b6cff0f!important;border-bottom:1px solid #ffffff0d!important;justify-content:space-between!important;align-items:center!important;padding:16px!important;display:flex!important}.ghost-lab-header h3{letter-spacing:2px!important;text-transform:uppercase!important;color:var(--brand-white-light)!important;align-items:center!important;gap:8px!important;margin:0!important;font-size:.92rem!important;font-weight:900!important;display:flex!important}.ghost-lab-content{flex-direction:column!important;flex:1!important;gap:16px!important;padding:16px!important;display:flex!important;overflow-y:auto!important}.ghost-lab-sec{border-bottom:1px solid #ffffff0a!important;padding-bottom:12px!important}.ghost-lab-sec-header{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;justify-content:space-between!important;align-items:center!important;padding:4px 0!important;display:flex!important}.ghost-lab-sec-header span{text-transform:uppercase!important;letter-spacing:1.5px!important;color:#9b6cffd9!important;font-size:.72rem!important;font-weight:850!important}.ghost-lab-sec-content{flex-direction:column!important;gap:12px!important;margin-top:10px!important;display:flex!important}.ghost-lab-ctrl{flex-direction:column!important;gap:6px!important;display:flex!important}.ghost-lab-ctrl-info{color:#a0a6ae!important;justify-content:space-between!important;font-size:.76rem!important;font-weight:600!important;display:flex!important}.ghost-lab-ctrl-info span.val{color:#00f2ff!important;font-weight:800!important}.ghost-lab-input-range{appearance:none!important;background:#ffffff14!important;border-radius:2px!important;outline:none!important;width:100%!important;height:4px!important}.ghost-lab-input-range::-webkit-slider-thumb{appearance:none!important;cursor:pointer!important;background:#00f2ff!important;border-radius:50%!important;width:12px!important;height:12px!important;transition:transform .1s!important;box-shadow:0 0 8px #00f2ff!important}.ghost-lab-input-range::-webkit-slider-thumb:hover{transform:scale(1.3)!important}.theme-selector-row{background:#00000040!important;border:1px solid #ffffff0a!important;border-radius:8px!important;gap:4px!important;padding:3px!important;display:flex!important}.theme-selector-btn{text-transform:uppercase!important;letter-spacing:1px!important;color:#a0a6ae!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:6px!important;flex:1!important;padding:6px 0!important;font-size:.72rem!important;font-weight:800!important;transition:all .2s!important}.theme-selector-btn.is-active{color:#fff!important;background:linear-gradient(135deg,#372363 0%,#1c0e3a 100%)!important;border:1px solid #9b6cff40!important;box-shadow:0 4px 12px #9b6cff33!important}.virtual-piano__shortcut{top:var(--shortcut-pos-white,66%);color:hsla(var(--shortcut-hue,45), 100%, 85%, .95);background:hsla(var(--shortcut-hue,45), 100%, 50%, .12);border:1px solid hsla(var(--shortcut-hue,45), 100%, 55%, .35);text-align:center;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none;min-width:18px;box-shadow:0 0 6px hsla(var(--shortcut-hue,45), 100%, 55%, .25);border-radius:4px;padding:1px 5px;font-size:.68rem;font-weight:800;transition:color .15s,background-color .15s,border-color .15s,top .1s;position:absolute;left:50%;transform:translate(-50%)}.virtual-piano__key--black .virtual-piano__shortcut{top:var(--shortcut-pos-black,30%);background:hsla(var(--shortcut-hue,45), 100%, 50%, .18);border-color:hsla(var(--shortcut-hue,45), 100%, 55%, .45)}.virtual-piano__key.is-active .virtual-piano__shortcut,.virtual-piano__key.is-playback-active .virtual-piano__shortcut{color:#fff;background:hsla(var(--shortcut-hue,45), 100%, 55%, .35);border-color:hsla(var(--shortcut-hue,45), 100%, 70%, .7);box-shadow:0 0 10px hsla(var(--shortcut-hue,45), 100%, 70%, .5)}.virtual-piano__note{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:800;transition:color .15s,text-shadow .15s}.virtual-piano__key--black .virtual-piano__note{position:absolute!important;top:14px!important;left:50%!important;transform:translate(-50%)!important}.virtual-piano__key--white.is-active .virtual-piano__note{color:#fff;text-shadow:0 0 8px #5fcabbd9,0 0 16px #5fcabb66}.virtual-piano__key--white.is-playback-active .virtual-piano__note{color:#fff;text-shadow:0 0 8px #e6b86ad9,0 0 16px #e6b86a66}.virtual-piano__key--black.is-playback-active .virtual-piano__note{color:#fff;text-shadow:0 0 8px #ffd593d9,0 0 16px #ffd59366}.inspector-note-stack{gap:10px;min-height:88px;display:grid}.inspector-note{justify-content:space-between;align-items:center;gap:10px;display:flex}.inspector-note strong{font-size:1.08rem}.inspector-note span{color:#aeb7b6;font-size:.84rem;font-weight:700}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;display:grid}.shortcut-grid span{color:#d9d4cb;background:#ffffff0a;border:1px solid #323842;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-height:34px;padding:6px 7px;font-size:.78rem;font-weight:800;display:flex}.shortcut-grid span.is-active{color:#e7fff9;background:#7bd3c324;border-color:#518a83}kbd{color:#fff8ec;min-width:20px;font:inherit;text-align:center;text-transform:uppercase;background:#252733;border:1px solid #494d55;border-radius:5px;padding:2px 5px;font-size:.72rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1100px){.studio-workspace{grid-template-columns:minmax(200px,250px) minmax(0,1fr)}.studio-panel:last-child{grid-column:1/-1;min-height:260px}}@media (width<=760px){.app-shell{padding:16px}.app-header,.surface-header{flex-direction:column;align-items:flex-start}.app-header nav{flex-wrap:wrap}.studio-workspace{grid-template-columns:1fr}.studio-panel,.piano-surface{min-height:auto}.transport-strip{flex-wrap:wrap;width:100%}.transport-strip span{text-align:left;margin-left:0}.piano-stage{padding:16px}.virtual-piano{width:100%;min-width:0;max-width:min(100%, calc(var(--white-key-count) * 62px));min-height:250px;transition:none!important}.virtual-piano__white-keys{grid-template-columns:repeat(var(--white-key-count), 1fr);height:250px}.virtual-piano__key--white{min-height:250px}.virtual-piano__key--black{min-height:154px;width:calc(((100% - (var(--white-key-count) - 1) * var(--piano-key-gap,3px)) / var(--white-key-count)) * .65)}.virtual-piano__black-keys{height:156px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.studio-toolbar{z-index:9;border:1px solid var(--border-panel);background:var(--bg-panel);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;max-width:1480px;margin:0 auto 16px;padding:10px 20px;display:flex;position:relative;box-shadow:0 8px 16px #00000026,inset 0 1px #ffffff05}.studio-toolbar__left{align-items:center;gap:16px;display:flex}.studio-toolbar__brand{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:2px;transition:opacity .2s,transform .2s;display:flex}.studio-toolbar__brand:hover{opacity:.85}.studio-toolbar__brand:active{transform:scale(.97)}.studio-toolbar__brand h1{color:var(--text-primary);letter-spacing:-.5px;text-shadow:0 0 16px var(--brand-violet-glow-strong);margin:0;font-size:1.25rem;font-weight:900}.studio-toolbar__center{border:1px solid var(--border-panel);background:var(--bg-panel-hover);border-radius:8px;align-items:center;gap:12px;padding:4px 12px;display:flex}.studio-toolbar__right{align-items:center;gap:10px;display:flex}.studio-toolbar-midi{border:1px solid var(--border-panel);width:36px;height:36px;color:var(--text-muted);background:var(--bg-panel-hover);border-radius:8px;justify-content:center;align-items:center;transition:color .18s,border-color .18s,background-color .18s,box-shadow .18s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 .5px #ffffff05}.studio-toolbar-midi__icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.studio-toolbar-midi__led{background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;right:5px;box-shadow:0 0 #0000}.studio-toolbar-midi.is-connected{color:var(--accent-primary);background:#a1ebd914;border-color:#a1ebd975;box-shadow:0 0 14px #a1ebd938,inset 0 0 0 .5px #a1ebd929}.studio-toolbar-midi.is-connected .studio-toolbar-midi__led{box-shadow:0 0 8px,0 0 16px}.studio-toolbar-midi.is-requesting{color:var(--text-eyebrow);background:#d9ad6614;border-color:#d9ad6659;animation:1.5s ease-in-out infinite pulse-midi-requesting}.studio-toolbar-midi.is-unsupported,.studio-toolbar-midi.is-permission-denied{color:#f99;background:#ff99990f;border-color:#ff999947}.layout-control-btn{border:1px solid var(--border-input,var(--border-panel));width:38px;min-width:38px;height:38px;color:var(--text-secondary);background:var(--bg-button);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;transition:transform .12s cubic-bezier(.16,1,.3,1),border-color .2s,background-color .2s,color .2s,box-shadow .2s;display:inline-flex}.layout-control-btn:hover{color:var(--text-primary);border-color:var(--brand-violet-glow-strong);background:var(--bg-panel-hover)}.layout-control-btn:active{transform:scale(.93)}.layout-control-btn.is-active{color:var(--text-primary);border-color:var(--brand-violet-glow-strong);background:var(--brand-violet-glow);box-shadow:0 0 12px var(--brand-violet-glow), inset 0 0 0 .5px #9b6cff33}.layout-control-btn__led{background:var(--text-muted,#4b4c53);width:5px;height:5px;box-shadow:none;border-radius:50%;transition:background-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);display:inline-block}.layout-control-btn.is-active .layout-control-btn__led{background:var(--brand-violet);box-shadow:0 0 6px var(--brand-violet), 0 0 12px var(--brand-violet)}.layout-control-btn__icon{stroke:currentColor;fill:none;width:15px;height:15px;transition:color .2s,filter .2s}.layout-control-btn.is-active .layout-control-btn__icon{color:#ccb3ff;filter:drop-shadow(0 0 4px #9b6cffcc)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;text-transform:none;letter-spacing:0;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;background:#0c0817e6;border:1px solid #9b6cff59;border-radius:6px;padding:6px 10px;font-size:.68rem;font-weight:700;transition:opacity .2s cubic-bezier(.16,1,.3,1) .8s,transform .2s cubic-bezier(.16,1,.3,1) .8s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)scale(.9);box-shadow:0 4px 16px #00000080,0 0 10px #9b6cff26}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)scale(1)}@media (width<=1180px){.studio-toolbar{flex-wrap:wrap;gap:10px}.studio-toolbar__center{flex-wrap:wrap;order:3;justify-content:center;width:100%}.studio-toolbar__right{margin-left:auto}}@media (width<=760px){.studio-toolbar{padding:10px 12px}.layout-control-btn{width:34px;min-width:34px;height:34px}}.virtual-piano__key--white.is-diatonic{background:linear-gradient(180deg, var(--piano-diatonic-white-start) 0%, var(--piano-diatonic-white-end) 100%);border-color:var(--piano-diatonic-white-border);box-shadow:inset 0 -18px 22px #9b6cff14}.virtual-piano__key--black.is-diatonic{background:linear-gradient(180deg, var(--text-eyebrow) 0%, #3e2808 82%), #3e2808;border-color:#ffd899;box-shadow:inset 0 -14px 18px #00000080,0 10px 15px #d9ad6633}.virtual-piano__key--black.is-out-of-scale:not(.is-active):not(.is-playback-active){opacity:max(.45, var(--piano-out-of-scale-opacity,.8))!important;filter:brightness(.8)contrast(.9)!important}.virtual-piano.piano-texture-marfil-clasico .virtual-piano__key--white:not(.is-active):not(.is-playback-active):not(.is-diatonic){color:#212126!important;background:linear-gradient(#fffdf7 0%,#eee5d6 78%,#d8c9b4 100%)!important;border:1.5px solid #cac3b5!important;box-shadow:inset 0 -18px 22px #54443029!important}.virtual-piano.piano-texture-marfil-clasico .virtual-piano__key--black:not(.is-active):not(.is-playback-active):not(.is-diatonic){color:#f5efe5!important;background:linear-gradient(#27272d 0%,#0e0f13 82%),#0e0f13!important;border:1.5px solid #050507!important;box-shadow:inset 0 -14px 18px #0000007a,0 14px 18px #00000057!important}.virtual-piano.piano-texture-cristal-frosty .virtual-piano__key--white:not(.is-active):not(.is-playback-active):not(.is-diatonic){color:#fffffff2!important;-webkit-backdrop-filter:blur(12px)!important;background:linear-gradient(#ffffff26 0%,#ffffff0d 100%)!important;border:1.5px solid #ffffff40!important;box-shadow:inset 0 1px 2px #ffffff4d,0 8px 16px #00000040!important}.virtual-piano.piano-texture-cristal-frosty .virtual-piano__key--black:not(.is-active):not(.is-playback-active):not(.is-diatonic){color:#fffffff2!important;-webkit-backdrop-filter:blur(12px)!important;background:linear-gradient(#ffffff4d 0%,#ffffff14 100%)!important;border:1.5px solid #ffffff59!important;box-shadow:inset 0 1px 2px #ffffff4d,0 8px 16px #00000059!important}.virtual-piano__note{text-align:center;width:100%;color:var(--text-secondary);pointer-events:none;font-size:.74rem;font-weight:900;line-height:1;transition:color .15s,text-shadow .15s;position:absolute;bottom:8px}.virtual-piano__key.is-active .virtual-piano__note{color:var(--accent-primary);text-shadow:0 0 10px var(--accent-primary)}.virtual-piano__key.is-playback-active .virtual-piano__note{color:var(--accent-primary);text-shadow:0 0 8px var(--accent-primary)}.virtual-piano__key--black .virtual-piano__note{color:var(--text-muted);margin-bottom:2px}.virtual-piano__key--black.is-active .virtual-piano__note{color:var(--brand-violet);text-shadow:0 0 10px var(--brand-violet)}.virtual-piano__shortcut{top:var(--shortcut-pos-white,66%)!important;border:1px solid hsla(var(--shortcut-hue,45), 100%, 55%, .35)!important;background:hsla(var(--shortcut-hue,45), 100%, 50%, .12)!important;-webkit-backdrop-filter:blur(4px)!important;min-width:18px!important;height:18px!important;color:hsla(var(--shortcut-hue,45), 100%, 85%, .95)!important;text-transform:uppercase!important;pointer-events:none!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;padding:0!important;font-size:.58rem!important;font-weight:800!important;line-height:1!important;transition:all .2s!important;display:flex!important;position:absolute!important;left:50%!important;transform:translate(-50%)!important;box-shadow:0 2px 6px #0000004d!important}.virtual-piano__key--black .virtual-piano__shortcut{border-color:hsla(var(--shortcut-hue,45), 100%, 55%, .45)!important;background:hsla(var(--shortcut-hue,45), 100%, 50%, .18)!important;color:hsla(var(--shortcut-hue,45), 100%, 85%, .8)!important;top:var(--shortcut-pos-black,30%)!important}.virtual-piano__key.is-active .virtual-piano__shortcut{color:#00f2ff!important;background:#00f2ff14!important;border-color:#00f2ff66!important;box-shadow:0 0 8px #00f2ff4d!important}.virtual-piano__key--black.is-active .virtual-piano__shortcut{color:#e6b76c!important;background:#e6b76c14!important;border-color:#e6b76c66!important;box-shadow:0 0 8px #e6b76c4d!important}.virtual-piano__key.is-active,.virtual-piano__key.is-playback-active{transition:transform 50ms cubic-bezier(.1,.8,.2,1),border-color,box-shadow,background-color!important}.grid-stack-item--piano .virtual-piano{contain:layout style;isolation:isolate}.virtual-piano__key{backface-visibility:hidden}.virtual-piano__key.is-active .virtual-piano__shortcut,.virtual-piano__key.is-playback-active .virtual-piano__shortcut{-webkit-backdrop-filter:none!important;transition:none!important}.grid-stack-item.ui-draggable-dragging .virtual-piano__key{pointer-events:none!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;border-color:#ffffff1a!important}.grid-stack-item.ui-draggable-dragging .virtual-piano__key:before,.grid-stack-item.ui-draggable-dragging .virtual-piano__key:after{display:none!important}.grid-stack-item.ui-draggable-dragging .virtual-piano{will-change:transform;transform:rotateX(0)!important}.grid-stack-item.ui-draggable-dragging .studio-modular-panel,.grid-stack-item.ui-draggable-dragging .studio-modular-panel__header,.grid-stack-item.ui-draggable-dragging .studio-modular-panel__content{-webkit-backdrop-filter:none!important;background-color:#0a0a0ff2!important}.piano-shift-btn{color:#fff6;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;justify-content:center;align-items:center;height:100%;padding:0 4px;transition:all .2s;display:flex}.piano-shift-btn:hover{color:#a1ebd9;background:#a1ebd91a;border-color:#a1ebd966;box-shadow:0 0 12px #a1ebd933}.piano-shift-btn:disabled{opacity:.3;cursor:not-allowed}.estilo-antigravity .virtual-piano__key--white{color:var(--brand-white-light)!important;background:linear-gradient(#ffffff14 0%,#ffffff05 80%,#9b6cff0a 100%)!important;border:1.5px solid #ffffff0f!important;transition:transform .2s cubic-bezier(.25,1,.5,1),border-color .2s,box-shadow .2s!important;box-shadow:inset 0 1px 1px #ffffff26,0 10px 30px #0006!important}.estilo-antigravity .virtual-piano__key--black{background:linear-gradient(#1c1836e0 0%,#0d0a1bf0 100%)!important;border:1.5px solid #9b6cff38!important;transition:transform .2s cubic-bezier(.25,1,.5,1),border-color .2s,box-shadow .2s!important;box-shadow:inset 0 1px 2px #ffffff1f,0 12px 24px #000000a6!important}.estilo-antigravity .virtual-piano__key--black.is-out-of-scale:not(.is-active):not(.is-playback-active){opacity:max(.45, var(--piano-out-of-scale-opacity,.8))!important;-webkit-backdrop-filter:blur(8px)!important;background:linear-gradient(#1c1836b3 0%,#0d0a1bcc 100%)!important;border:1.5px solid #9b6cff14!important;box-shadow:0 4px 10px #0006!important}.estilo-antigravity .virtual-piano__key--white.is-diatonic{border-color:hsla(var(--siri-hue,270), 100%, 70%, .45)!important;background:linear-gradient(180deg, hsla(var(--siri-hue,270), 100%, 70%, .18) 0%, #1c0e3a59 100%)!important;box-shadow:inset 0 1px 2px #ffffff26, 0 0 var(--piano-glow-intensity,15px) hsla(var(--siri-hue,270), 100%, 70%, .3), 0 0 calc(var(--piano-glow-intensity,15px) * 1.8) hsla(var(--siri-hue,270), 100%, 70%, .15)!important;animation:4s ease-in-out infinite siri-respira!important}.estilo-antigravity .virtual-piano__key--black.is-diatonic{border-color:hsla(var(--siri-hue,270), 100%, 70%, .65)!important;background:linear-gradient(180deg, hsla(var(--siri-hue,270), 100%, 35%, .85) 0%, #15102af0 100%)!important;box-shadow:inset 0 1px 2px #ffffff2e, 0 0 var(--piano-glow-intensity,15px) hsla(var(--siri-hue,270), 100%, 70%, .35), 0 0 calc(var(--piano-glow-intensity,15px) * 1.8) hsla(var(--siri-hue,270), 100%, 70%, .18)!important;animation:4s ease-in-out infinite siri-respira!important}@keyframes siri-respira{0%{opacity:.85}50%{opacity:1}to{opacity:.85}}.virtual-piano.siri-rainbow-active .virtual-piano__key--white.is-diatonic,.virtual-piano.siri-rainbow-active .virtual-piano__key--black.is-diatonic{animation:4s ease-in-out infinite siri-respira,8s linear infinite siri-rainbow-loop!important}@keyframes siri-rainbow-loop{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.estilo-antigravity .virtual-piano__key--white.is-active{opacity:1!important;filter:none!important;background:linear-gradient(#00f2ff40 0%,#9b6cff33 100%)!important;border-color:#00f2ff!important;transform:translateY(3px)!important;box-shadow:0 0 25px #00f2ff99,inset 0 1px 2px #fff6!important}.estilo-antigravity .virtual-piano__key--black.is-active{z-index:5!important;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;background:linear-gradient(#e6b76c 0%,#1e1936 100%)!important;border-color:#e6b76c!important;transform:translate(-50%)translateY(3px)!important;box-shadow:0 0 25px #e6b76cb3,inset 0 1px 2px #ffffff4d!important}.estilo-antigravity .virtual-piano__key--white.is-playback-active{opacity:1!important;filter:none!important;background:linear-gradient(#7bd3c333 0%,#1c0e3a59 100%)!important;border-color:#a1ebd9!important;transform:translateY(1.5px)!important;box-shadow:0 0 15px #7bd3c366!important}.estilo-antigravity .virtual-piano__key--black.is-playback-active{z-index:5!important;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;background:linear-gradient(#a1ebd9 0%,#1e1936 100%)!important;border-color:#a1ebd9!important;transform:translate(-50%)translateY(1.5px)!important;box-shadow:0 0 15px #7bd3c366!important}.chord-block-card.is-dragging{pointer-events:none;opacity:0!important}.chord-block-card.is-drag-over{border-color:#00f2ff!important;transform:scale(1.04)translateY(-4px)!important;box-shadow:0 0 18px #00f2ff59!important}.chord-block-card{background:var(--bg-app)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid var(--border-panel)!important;border-radius:12px!important;flex-direction:column!important;flex:0 0 140px!important;justify-content:space-between!important;width:140px!important;min-width:140px!important;height:160px!important;padding:10px!important;transition:transform .2s cubic-bezier(.25,1,.5,1),border-color .2s,background .2s,box-shadow .2s!important;display:flex!important;box-shadow:0 4px 16px #0000001a!important}.chord-block-card:hover{border-color:var(--accent-primary)!important;background:var(--bg-panel-hover)!important;box-shadow:0 8px 24px var(--brand-violet-glow-strong)!important;transform:translateY(-4px)!important}.chord-block-card.is-selected{border-color:var(--brand-violet)!important;box-shadow:0 0 20px var(--brand-violet-glow-strong), inset 0 0 0 1px #9b6cff40!important;background:#9b6cff1f!important}@keyframes pulse-playing-card{0%{box-shadow:0 0 12px #a1ebd926,inset 0 0 0 1px #a1ebd926}50%{box-shadow:0 0 24px #a1ebd966,inset 0 0 0 1.5px #a1ebd94d}to{box-shadow:0 0 12px #a1ebd926,inset 0 0 0 1px #a1ebd926}}.chord-block-card-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:6px;display:flex}.chord-block-card-degree{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);text-shadow:0 0 8px var(--brand-violet-glow);font-size:.72rem;font-weight:900}.chord-block-duration-badge{color:var(--text-muted);background:var(--bg-panel-hover);opacity:1;font-variant-numeric:tabular-nums;border-radius:4px;padding:1.5px 5px;font-size:.65rem;font-weight:800;transition:opacity .15s;position:absolute;top:6px;right:6px}.chord-block-card:hover .chord-block-duration-badge{opacity:0;pointer-events:none}.mini-chord-piano-container{background:#00000059;border:1px solid #ffffff0a;border-radius:6px;align-items:flex-start;width:100%;height:52px;margin:6px 0;padding:0 1px;display:flex;position:relative;overflow:hidden}.chord-block-selector-trigger{border:1px solid var(--border-panel);width:100%;color:var(--text-primary);background:var(--bg-panel-hover);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;padding:0 8px;font-size:.95rem;font-weight:800;transition:all .15s;display:flex;height:32px!important;min-height:32px!important}.chord-block-selector-trigger:hover{border-color:var(--accent-primary);background:var(--brand-violet-glow);box-shadow:0 0 12px var(--brand-violet-glow)}.chord-block-selector-trigger:after{content:"▾";color:var(--text-muted);font-size:.7rem;transition:transform .15s}.chord-block-card.is-selected .chord-block-selector-trigger{border-color:var(--brand-violet);background:#9b6cff40}.studio-custom-dropdown{-webkit-backdrop-filter:blur(24px);width:254px;max-height:320px;box-shadow:0 24px 64px #0006, 0 0 32px var(--brand-violet-glow), inset 0 1px 1px #ffffff0d;opacity:0;pointer-events:none;transform-origin:bottom;scrollbar-width:thin;scrollbar-color:var(--brand-violet-glow-strong) transparent;border-radius:14px;padding:10px;transition:opacity .22s cubic-bezier(.25,1,.5,1),transform .28s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-100%)translateY(-12px)scale(.92);background:var(--bg-panel-hover)!important;border:1px solid var(--brand-violet-glow-strong)!important;z-index:99999!important;position:fixed!important;overflow:hidden auto!important}.studio-custom-dropdown::-webkit-scrollbar{width:4px}.studio-custom-dropdown::-webkit-scrollbar-thumb{background:var(--brand-violet-glow-strong);border-radius:2px}.studio-custom-dropdown.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-100%)translateY(-12px)scale(1)}.studio-custom-dropdown-header{text-transform:uppercase;letter-spacing:.8px;color:var(--brand-violet);border-bottom:1px solid var(--border-panel);margin-top:6px;padding:8px 8px 4px;font-size:.64rem;font-weight:900;display:block}.studio-custom-dropdown-header:first-of-type{margin-top:0}.studio-custom-dropdown-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;margin:2px 0;padding:6px 10px;transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s;display:flex;min-height:42px!important}.studio-custom-dropdown-item:hover{background:var(--brand-violet-glow);box-shadow:inset 0 0 0 1px var(--brand-violet-glow-strong);transform:translate(2px)}.studio-custom-dropdown-item.is-selected{background:var(--brand-violet-glow-strong);border-left:3px solid var(--brand-violet);border-radius:2px 6px 6px 2px}.studio-custom-dropdown-item-title-row{justify-content:space-between;align-items:center;width:100%;display:flex}.studio-custom-dropdown-item-symbol{color:var(--text-primary);font-size:.88rem;font-weight:800}.studio-custom-dropdown-item-degree{color:var(--accent-primary);background:var(--brand-violet-glow);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.7rem;font-weight:700}.studio-custom-dropdown-item-desc{color:var(--text-secondary);margin-top:2px;font-size:.66rem}.progression-editor-container{border-top:1px solid var(--border-panel);background:#0e0f1373;flex-direction:column;gap:16px;padding:20px;display:flex}.progression-config-bar{background:#ffffff05;border:1px solid #2d2f36;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.progression-config-bar__group{align-items:center;gap:8px;display:flex}.progression-config-bar__group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.74rem;font-weight:800}.progression-select{border:1px solid var(--border-input,var(--border-panel));min-height:34px;color:var(--text-primary);background:var(--bg-panel-hover);cursor:pointer;border-radius:6px;outline:none;padding:4px 10px;font-family:inherit;font-size:.8rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.progression-select:hover,.progression-select:focus{border-color:var(--accent-primary);box-shadow:0 0 6px #7bd3c326}.progression-action-btn{border:1px solid var(--accent-primary);min-height:34px;color:var(--text-primary);background:var(--brand-violet-glow-strong);box-shadow:0 4px 12px var(--brand-violet-glow);border-radius:6px;padding:0 16px;font-size:.8rem;font-weight:800;transition:transform .1s,border-color .15s,background-color .15s}.progression-action-btn:hover{border-color:var(--accent-primary);background:linear-gradient(135deg,#276257 0%,#1a493f 100%);box-shadow:0 4px 16px #7bd3c333}.progression-action-btn:active{transform:scale(.97)}.chord-blocks-scroller{scrollbar-width:thin;scrollbar-color:#3b3e4a transparent;align-items:center;gap:12px;min-height:124px;padding:8px 4px;display:flex;overflow:auto hidden}.chord-blocks-scroller::-webkit-scrollbar{height:6px}.chord-blocks-scroller::-webkit-scrollbar-thumb{background:#3b3e4a;border-radius:4px}.chord-block-card{border:1px solid var(--border-panel);width:112px;min-width:112px;height:98px;color:var(--text-primary);background:var(--bg-button);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;flex:none;padding:12px;transition:transform .12s,border-color .15s,background-color .15s,box-shadow .15s;display:flex;position:relative}.chord-block-card:hover{border-color:var(--border-input);background:var(--bg-panel-hover);transform:translateY(-2px)}.chord-block-card:active{transform:scale(.97)translateY(-2px)}.chord-block-card.is-selected{border-color:var(--brand-violet);background:var(--brand-violet-glow);box-shadow:0 0 16px var(--brand-violet-glow), inset 0 0 0 1px var(--brand-violet-glow-strong)}.chord-block-card.is-playing-bar{border-color:var(--text-eyebrow);background:#d9ad661f;animation:2s ease-in-out infinite pulse-playing-bar;box-shadow:0 0 18px #d9ad6640,inset 0 0 0 1px #d9ad664d}@keyframes pulse-playing-bar{0%{box-shadow:0 0 12px #d9ad6626,inset 0 0 0 1px #d9ad6633}50%{box-shadow:0 0 22px #d9ad6659,inset 0 0 0 1.5px #d9ad6666}to{box-shadow:0 0 12px #d9ad6626,inset 0 0 0 1px #d9ad6633}}.chord-block-card__delete{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-height:auto;padding:0;font-size:.65rem;font-weight:800;transition:opacity .15s,color .15s,background-color .15s;display:flex;position:absolute;top:6px;right:6px}.chord-block-card:hover .chord-block-card__delete{opacity:1}.chord-block-card__delete:hover{color:#fff;background:#f55}.chord-block-symbol-select{color:#fff;cursor:pointer;background:#00000040;border:1px solid #ffffff0d;border-radius:6px;outline:none;width:100%;margin-top:2px;margin-left:-4px;padding:4px 6px;font-family:inherit;font-size:1.05rem;font-weight:800;transition:border-color .15s,background-color .15s,box-shadow .15s}.chord-block-symbol-select:hover{background:#ffffff0a;border-color:#9b6cff59}.chord-block-symbol-select:focus{border-color:var(--brand-violet);box-shadow:0 0 8px var(--brand-violet-glow-strong);background:#171920}.chord-block-roman{color:var(--text-eyebrow);letter-spacing:.5px;margin-top:auto;font-size:.76rem;font-weight:800}.chord-block-duration{color:#8a8e98;font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:700;position:absolute;bottom:12px;right:12px}.chord-block-add-btn{color:#a0a6ae;cursor:pointer;background:0 0;border:1px dashed #32353f;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:48px;min-width:48px;height:98px;font-size:1.4rem;transition:border-color .15s,color .15s,background-color .15s;display:flex}.chord-block-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#7bd3c308}.chord-block-add-btn:active{transform:scale(.95)}.progression-text-summary-bar{color:#aaa9aa;border-top:1px solid #23252d;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;font-size:.8rem;display:flex}.progression-text-string{text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-weight:700;overflow:hidden}.copy-badge-feedback{color:var(--accent-primary);font-size:.76rem;font-weight:800;animation:1.8s forwards fade-in-out-badge}@keyframes fade-in-out-badge{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.midi-status-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:12px;align-items:center;gap:6px;padding:2px 8px;font-size:.72rem;font-weight:800;transition:all .2s;display:inline-flex}.midi-status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.midi-status-badge.is-connected{color:var(--accent-primary);background:#7bd3c31a;box-shadow:0 0 8px #7bd3c326}.midi-status-badge.is-disconnected{color:#8a8e98;background:#8a8e9814}.midi-status-badge.is-requesting{color:var(--text-eyebrow);background:#d9ad661a;animation:1.5s ease-in-out infinite pulse-midi-requesting;box-shadow:0 0 8px #d9ad6626}.midi-status-badge.is-unsupported,.midi-status-badge.is-permission-denied{color:#f55;background:#ff555514}@keyframes pulse-midi-requesting{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.chord-anatomy-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff05;border:1px solid #32353f;border-radius:10px;flex-direction:column;gap:14px;margin-top:20px;padding:16px;animation:.25s cubic-bezier(.16,1,.3,1) forwards chord-panel-slide-in;display:flex}@keyframes chord-panel-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chord-anatomy-header{border-bottom:1px solid #23252d;flex-direction:column;gap:2px;padding-bottom:10px;display:flex}.chord-anatomy-symbol{color:var(--accent-primary);letter-spacing:-.5px;text-shadow:0 0 12px #7bd3c333;font-size:1.6rem;font-weight:800;line-height:1.2}.chord-anatomy-quality{color:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.5px;font-size:.76rem;font-weight:700}.chord-anatomy-details{flex-direction:column;gap:8px;display:flex}.chord-anatomy-row{border-bottom:1px solid #ffffff05;justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;display:flex}.chord-anatomy-row:last-child{border-bottom:none;padding-bottom:0}.chord-anatomy-label{color:#a0a6ae;text-transform:uppercase;letter-spacing:.3px;font-size:.74rem;font-weight:700}.chord-anatomy-value{color:#fff8ec;font-size:.82rem;font-weight:800}.chord-anatomy-device{border-top:1px dashed #32353f;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:10px;font-size:.7rem;display:flex}.chord-anatomy-device .chord-anatomy-label{color:#8a8e98}.chord-anatomy-device .chord-anatomy-value{color:#a0a6ae;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:600;overflow:hidden}.inspector-harmonic-panel{border-top:1px solid #ffffff0d;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px;display:flex}.harmonic-analysis-card{background:linear-gradient(135deg,#9b6cff0a 0%,#0000 100%),#ffffff03;border:1px solid #9b6cff2e;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex;box-shadow:0 8px 24px #00000026}.harmonic-analysis-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.harmonic-analysis-card__degree{color:var(--brand-white-light);letter-spacing:.5px;font-size:1.45rem;font-weight:900}.harmonic-analysis-card__badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;padding:4px 10px;font-size:.68rem;font-weight:800;display:inline-flex}.harmonic-analysis-card__badge.is-tonica{color:#a1ebd9;background:#7bd3c31f}.harmonic-analysis-card__badge.is-subdominante{color:#9cf;background:#64b4ff1f}.harmonic-analysis-card__badge.is-dominante,.harmonic-analysis-card__badge.is-sensible{color:#ffb3b3;background:#ff78781f}.harmonic-analysis-card__badge.is-intercambio-modal{color:#e4c4ff;background:#b478ff24}.harmonic-analysis-card__description{color:#c0c2cc;margin:0;font-size:.78rem;line-height:1.5}.harmonic-analysis-card__meta-grid{border-top:1px solid #ffffff08;grid-template-columns:repeat(2,1fr);gap:8px;padding-top:10px;font-size:.72rem;display:grid}.harmonic-analysis-meta{flex-direction:column;gap:2px;display:flex}.harmonic-analysis-meta__label{color:#8c8e98;text-transform:uppercase;font-weight:700}.harmonic-analysis-meta__value{color:var(--brand-white-light);font-weight:800}.reactbits-global-background{z-index:0;pointer-events:none;background:var(--bg-app);position:fixed;inset:0;overflow:hidden}.reactbits-global-background:after{content:"";background:radial-gradient(circle at 50% 15%, color-mix(in srgb, var(--text-primary) 10%, transparent), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--bg-app) 10%, transparent), color-mix(in srgb, var(--bg-app) 68%, transparent));pointer-events:none;position:absolute;inset:0}.reactbits-global-background__canvas{min-height:100vh;position:absolute;inset:0}.reactbits-global-background__canvas>*{width:100%;height:100%}.reactbits-global-cursor{z-index:80;pointer-events:none;position:fixed;inset:0}.ghost-applied-surface{background:0 0;border:0;border-radius:12px;height:100%;min-height:0;display:block;position:relative;overflow:hidden;padding:0!important}.grid-stack-item-content>.ghost-applied-surface,.ghost-applied-surface__content,.ghost-applied-surface .border-glow-inner,.ghost-applied-surface .eb-content{height:100%;min-height:0}.ghost-applied-surface__content{z-index:2;position:relative}.ghost-applied-surface__effect{z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ghost-applied-surface__effect canvas{display:block;width:100%!important;height:100%!important}.ghost-applied-surface .studio-modular-panel{height:100%}.ghost-applied-surface--spotlight.card-spotlight{background:0 0;border-color:#0000;overflow:visible}.ghost-applied-surface--spotlight.card-spotlight:before{z-index:2;border-radius:inherit}.ghost-applied-surface--spotlight.card-spotlight>.studio-modular-panel{z-index:1}.ghost-applied-surface--border-glow.border-glow-card{background:0 0}.ghost-applied-surface--border-glow .border-glow-inner{overflow:visible}.ghost-applied-surface--electric-border.electric-border{height:100%}.ghost-applied-surface--shape-blur .ghost-applied-surface__effect{opacity:.58;mix-blend-mode:screen}.ghost-applied-surface--shape-blur .studio-modular-panel{background:linear-gradient(145deg,#0f172ad1,#020617b3)!important}.ghost-applied-surface--gradual-blur{overflow:hidden}.ghost-applied-surface--gradual-blur .studio-modular-panel{position:relative}.ghost-applied-surface--gradual-blur .ghost-applied-surface__gradual{border-radius:inherit}.ghost-applied-surface--magic-rings .ghost-applied-surface__effect{opacity:.72;mix-blend-mode:screen}.ghost-applied-surface--magic-rings .studio-modular-panel{background:linear-gradient(145deg,#120f1cd1,#020617b8)!important}.ghost-applied-elastic-slider.slider-container{gap:0;min-width:80px;max-width:100%;position:relative}.ghost-applied-elastic-slider .slider-wrapper{gap:.35rem;width:100%;overflow:hidden}.ghost-applied-elastic-slider .slider-root{min-width:52px;padding:.55rem 14px}.ghost-applied-elastic-slider .slider-icon{color:#e2e8f0ad;will-change:opacity, transform;flex:0 0 18px}.ghost-applied-elastic-slider .slider-track{background:#ffffff29}.ghost-applied-elastic-slider .slider-range{background:linear-gradient(90deg, var(--ghost-bg-accent-a,#70f2ce), var(--ghost-bg-accent-b,#8b5cf6));box-shadow:0 0 12px color-mix(in srgb, var(--ghost-bg-accent-a,#70f2ce) 42%, transparent)}.ghost-applied-elastic-slider__value{color:#a1ebd9;font-variant-numeric:tabular-nums;justify-content:flex-end;min-width:34px;font-size:.72rem;font-weight:900;display:inline-flex}body[data-ghost-background]:not([data-ghost-background=off]) .app-shell{z-index:1;background:radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--text-primary) 6%, transparent), transparent 32%), color-mix(in srgb, var(--bg-app) 34%, transparent);position:relative}body[data-ghost-background]:not([data-ghost-background=off]) .studio-toolbar,body[data-ghost-background]:not([data-ghost-background=off]) .studio-modular-panel,body[data-ghost-background]:not([data-ghost-background=off]) .ghost-lab-panel{-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15)}body[data-ghost-surface]:not([data-ghost-surface=off]) .ghost-surface-target,body[data-ghost-surface]:not([data-ghost-surface=off]) .ghost-lab-panel,body[data-ghost-surface]:not([data-ghost-surface=off]) .studio-toolbar{border-color:color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 45%, #94a3b833);border-radius:var(--ghost-surface-radius,14px);box-shadow:0 0 calc(20px * var(--ghost-surface-glow,.85)) color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 22%, transparent), 0 18px 45px #00000059}body[data-ghost-surface=spotlight-card] .ghost-surface-target,body[data-ghost-surface=spotlight-card] .studio-modular-panel,body[data-ghost-surface=spotlight-card] .ghost-lab-panel,body[data-ghost-surface=spotlight-card] .studio-toolbar{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--ghost-surface-accent,#fff) 24%, transparent), transparent 42%), var(--bg-panel)!important}body[data-ghost-surface]:not([data-ghost-surface=off]) .ghost-surface-target{position:relative;overflow:hidden}body[data-ghost-surface=spotlight-card] .ghost-surface-target:before,body[data-ghost-surface=border-glow] .ghost-surface-target:before,body[data-ghost-surface=electric-border] .ghost-surface-target:before{content:"";border-radius:inherit;background:radial-gradient(circle at 50% 15%, color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 34%, transparent), transparent 55%);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;position:absolute;inset:-1px;transform:scale(.92)}body[data-ghost-surface=spotlight-card] .ghost-surface-target:hover:before,body[data-ghost-surface=border-glow] .ghost-surface-target:hover:before,body[data-ghost-surface=electric-border] .ghost-surface-target:hover:before,body[data-ghost-surface=spotlight-card] .ghost-surface-target:focus-visible:before,body[data-ghost-surface=border-glow] .ghost-surface-target:focus-visible:before,body[data-ghost-surface=electric-border] .ghost-surface-target:focus-visible:before{opacity:1;transform:scale(1)}body[data-ghost-surface=border-glow] .ghost-surface-target,body[data-ghost-surface=border-glow] .studio-modular-panel,body[data-ghost-surface=border-glow] .ghost-lab-panel,body[data-ghost-surface=border-glow] .studio-toolbar{outline:1px solid color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 58%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 36%, transparent), 0 0 18px color-mix(in srgb, var(--ghost-surface-accent,#70f2ce) 24%, transparent)}body[data-ghost-surface=electric-border] .ghost-surface-target,body[data-ghost-surface=electric-border] .studio-modular-panel,body[data-ghost-surface=electric-border] .ghost-lab-panel,body[data-ghost-surface=electric-border] .studio-toolbar{animation:ghost-app-electric-border var(--ghost-surface-speed,3s) linear infinite;border-color:var(--ghost-surface-accent,#52fff0)!important}body[data-ghost-surface=magic-bento] .ghost-surface-target,body[data-ghost-surface=magic-rings] .ghost-surface-target,body[data-ghost-surface=shape-blur] .ghost-surface-target,body[data-ghost-surface=gradual-blur] .ghost-surface-target,body[data-ghost-surface=magic-bento] .studio-modular-panel,body[data-ghost-surface=magic-rings] .studio-modular-panel,body[data-ghost-surface=shape-blur] .studio-modular-panel,body[data-ghost-surface=gradual-blur] .studio-modular-panel,body[data-ghost-surface=magic-bento] .studio-toolbar,body[data-ghost-surface=magic-rings] .studio-toolbar,body[data-ghost-surface=shape-blur] .studio-toolbar,body[data-ghost-surface=gradual-blur] .studio-toolbar{background:radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--ghost-surface-accent,#8b5cf6) 22%, transparent), transparent 30%), linear-gradient(145deg, var(--bg-panel-hover), var(--bg-panel))!important}body[data-ghost-surface=shape-blur] .ghost-surface-target,body[data-ghost-surface=gradual-blur] .ghost-surface-target{isolation:isolate;position:relative}body[data-ghost-text]:not([data-ghost-text=off]) .studio-toolbar__brand h1,body[data-ghost-text]:not([data-ghost-text=off]) .app-header h1,body[data-ghost-text]:not([data-ghost-text=off]) .studio-modular-panel__title{background:linear-gradient(110deg, var(--ghost-text-a,#f8fafc), var(--ghost-text-b,#70f2ce), var(--ghost-text-c,#ffcf5a), var(--ghost-text-a,#f8fafc));animation:ghost-app-text-flow var(--ghost-text-speed,7s) linear infinite;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:#0000!important}body[data-ghost-text=blur-text] .studio-modular-panel__title,body[data-ghost-text=scroll-reveal] .studio-modular-panel__title{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--ghost-text-b,#70f2ce) 35%, transparent))}body[data-ghost-text=blur-text] .app-shell :is(.studio-toolbar__brand h1,.app-header h1,.studio-modular-panel__title,.panel-eyebrow),body[data-ghost-text=scroll-reveal] .app-shell :is(.studio-toolbar__brand h1,.app-header h1,.studio-modular-panel__title,.panel-eyebrow){animation:ghost-app-text-soft-focus var(--ghost-text-speed,7s) ease-in-out infinite;text-shadow:0 0 12px color-mix(in srgb, var(--ghost-text-b,#70f2ce) 24%, transparent)}body[data-ghost-text=fuzzy-text] .studio-modular-panel__title,body[data-ghost-text=variable-proximity] .studio-modular-panel__title{text-shadow:1px 0 color-mix(in srgb, var(--ghost-text-b,#70f2ce) 42%, transparent), -1px 0 color-mix(in srgb, var(--ghost-text-c,#ffcf5a) 32%, transparent)}body[data-ghost-text=fuzzy-text] .app-shell :is(.studio-toolbar__brand h1,.app-header h1,.studio-modular-panel__title),body[data-ghost-text=variable-proximity] .app-shell :is(.studio-toolbar__brand h1,.app-header h1,.studio-modular-panel__title){animation:.82s steps(2,end) infinite ghost-app-text-fuzz}body[data-ghost-navigation]:not([data-ghost-navigation=off]) .app-header nav,body[data-ghost-navigation]:not([data-ghost-navigation=off]) .layout-controls,body[data-ghost-navigation]:not([data-ghost-navigation=off]) .studio-toolbar__right{border-color:color-mix(in srgb, var(--ghost-nav-accent,#70f2ce) 36%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--ghost-nav-accent,#70f2ce) 14%, transparent)}body[data-ghost-navigation=dock] .layout-control-btn,body[data-ghost-navigation=glass-icons] .layout-control-btn,body[data-ghost-navigation=gooey-nav] .layout-control-btn,body[data-ghost-navigation=card-nav] .layout-control-btn,body[data-ghost-navigation=staggered-menu] .layout-control-btn{border-color:color-mix(in srgb, var(--ghost-nav-accent,#70f2ce) 42%, transparent);background:color-mix(in srgb, var(--ghost-nav-bg,#101824) 82%, #0f172ab8)!important}body[data-ghost-controls=elastic-slider] input[type=range]{accent-color:var(--ghost-bg-accent-a,#70f2ce);filter:drop-shadow(0 0 9px color-mix(in srgb, var(--ghost-bg-accent-a,#70f2ce) 34%, transparent))}body[data-ghost-controls=elastic-slider] .session-btn,body[data-ghost-controls=elastic-slider] .layout-control-btn,body[data-ghost-controls=elastic-slider] .progression-select,body[data-ghost-controls=elastic-slider] .chord-block-selector-trigger,body[data-ghost-controls=elastic-slider] .app-shell button{transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .16s,box-shadow .16s}body[data-ghost-controls=elastic-slider] .session-btn:hover,body[data-ghost-controls=elastic-slider] .layout-control-btn:hover,body[data-ghost-controls=elastic-slider] .chord-block-selector-trigger:hover,body[data-ghost-controls=elastic-slider] .app-shell button:hover{transform:translateY(-1px)scale(1.015)}body[data-ghost-layout=animated-list] .studio-modular-panel{animation:ghost-app-panel-enter var(--ghost-layout-duration,.55s) ease both}body[data-ghost-layout=masonry] .grid-stack{align-items:start}body[data-ghost-layout=masonry] .studio-modular-panel{transition:transform var(--ghost-layout-duration,.55s) ease, filter var(--ghost-layout-duration,.55s) ease}body[data-ghost-layout=masonry] .studio-modular-panel:hover{filter:saturate(1.08);transform:translateY(-2px)}@keyframes ghost-app-electric-border{0%,to{box-shadow:0 0 10px color-mix(in srgb, var(--ghost-surface-accent,#52fff0) 18%, transparent)}50%{box-shadow:0 0 24px color-mix(in srgb, var(--ghost-surface-accent,#52fff0) 34%, transparent)}}@keyframes ghost-app-text-flow{0%{background-position:0%}to{background-position:220%}}@keyframes ghost-app-text-soft-focus{0%,to{filter:blur();opacity:1}48%{filter:blur(.8px);opacity:.92}52%{filter:blur(1.4px);opacity:.86}}@keyframes ghost-app-text-fuzz{0%,to{text-shadow:1px 0 color-mix(in srgb, var(--ghost-text-b,#70f2ce) 44%, transparent), -1px 0 color-mix(in srgb, var(--ghost-text-c,#ffcf5a) 28%, transparent);transform:translate(0,0)}50%{text-shadow:-1px 0 color-mix(in srgb, var(--ghost-text-b,#70f2ce) 42%, transparent), 1px 0 color-mix(in srgb, var(--ghost-text-c,#ffcf5a) 30%, transparent);transform:translate(.3px,-.2px)}}@keyframes ghost-app-panel-enter{0%{opacity:.86;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.ghost-effects-lab{gap:14px;display:grid}.ghost-effects-lab__summary,.ghost-effects-category{background:#0206176b;border:1px solid #94a3b829;border-radius:8px}.ghost-effects-lab__summary{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.ghost-effects-lab__summary strong{color:#f8fafc;margin-top:3px;font-size:.92rem;display:block}.ghost-effects-reset{flex:none}.ghost-effects-category{gap:10px;padding:12px;display:grid}.ghost-effects-category__header{justify-content:space-between;gap:12px;display:flex}.ghost-effects-category h4{color:#f8fafc;margin:0;font-size:.92rem}.ghost-effects-category p{color:#94a3b8;margin:4px 0 0;font-size:.76rem;line-height:1.35}.ghost-effects-description{color:#cbd5e1!important}.ghost-effects-cost{color:#cbd5e1;text-align:center;text-transform:uppercase;border:1px solid #94a3b838;border-radius:999px;align-self:flex-start;min-width:46px;padding:3px 7px;font-size:.62rem;font-weight:800}.ghost-effects-cost.is-high{color:#fecaca;border-color:#f8717157}.ghost-effects-variants{flex-wrap:wrap;gap:7px;display:flex}.ghost-effects-variant{color:#cbd5e1;cursor:pointer;background:#0f172a9e;border:1px solid #94a3b82e;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:6px 9px;font-size:.72rem;font-weight:750;display:inline-flex}.ghost-effects-variant:hover,.ghost-effects-variant.is-active{color:#f8fafc;background:#0f172aeb;border-color:#70f2ce8c}.ghost-effects-variant__dot{background:#94a3b899;border-radius:50%;width:7px;height:7px}.ghost-effects-variant.is-active .ghost-effects-variant__dot{background:#70f2ce;box-shadow:0 0 12px #70f2cead}.ghost-effects-meta{color:#64748b;letter-spacing:0;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:.68rem;display:flex}.ghost-effects-meta a{color:#70f2ce}.reactbits-preview-frame{background:radial-gradient(circle at 20% 20%,#70f2ce24,#0000 34%),linear-gradient(135deg,#0f172adb,#020617f0);border:1px solid #94a3b82e;border-radius:8px;min-height:236px;position:relative;overflow:hidden}.reactbits-preview-empty,.reactbits-preview-loading{color:#94a3b8;text-align:center;place-items:center;min-height:96px;padding:16px;font-size:.78rem;display:grid}.reactbits-global-applied-preview{color:#f8fafc;text-align:center;align-content:center;place-items:center;gap:8px;min-height:236px;padding:24px;display:grid}.reactbits-global-applied-preview span{color:#70f2ce;text-transform:uppercase;font-size:.7rem;font-weight:850}.reactbits-global-applied-preview strong{text-transform:capitalize;font-size:1.1rem}.reactbits-global-applied-preview p{color:#cbd5e1;max-width:360px;margin:0}.reactbits-background-preview{min-height:236px;position:absolute;inset:0}.reactbits-background-preview>*{width:100%;height:100%}.reactbits-sample-panel{color:#f8fafc;background:#0f172ad6;gap:8px;width:min(100%,320px);min-height:160px;padding:18px;display:grid}.reactbits-sample-panel span{color:#70f2ce;text-transform:uppercase;font-size:.7rem;font-weight:850}.reactbits-sample-panel strong{font-size:1.15rem}.reactbits-sample-panel p{color:#cbd5e1;margin:0}.reactbits-sample-panel button{color:#eafff9;background:#70f2ce1f;border:1px solid #70f2ce59;border-radius:7px;width:fit-content;margin-top:4px;padding:7px 11px;font-weight:750}.reactbits-card-preview{place-items:center;min-height:236px;display:grid}.reactbits-bento-wrap{max-height:420px;padding:12px;overflow:auto}.reactbits-gradual-wrap{place-items:center;min-height:236px;display:grid;position:relative;overflow:hidden}.reactbits-text-preview{color:#f8fafc;text-align:center;place-items:center;min-height:236px;padding:20px;font-size:clamp(2rem,7vw,4.8rem);font-weight:900;display:grid}.reactbits-variable-text{color:#f8fafc;font-size:clamp(2.4rem,8vw,5.2rem);line-height:1;display:inline-block}.reactbits-scroll-preview{color:#f8fafc;max-height:236px;padding:18px 22px;font-size:2rem;font-weight:850;overflow-y:auto}.reactbits-nav-preview,.reactbits-dock-preview,.reactbits-gooey-preview,.reactbits-staggered-preview,.reactbits-control-preview,.reactbits-cursor-preview{place-items:center;min-height:236px;padding:20px;display:grid;position:relative}.reactbits-nav-preview{min-height:330px}.reactbits-icon-symbol{color:currentColor;place-items:center;width:100%;height:100%;font-weight:900;display:grid}.reactbits-cursor-preview{cursor:crosshair;overflow:hidden}.reactbits-cursor-preview--splash span{z-index:2;color:#e2e8f0;background:#0f172ab8;border-radius:7px;padding:8px 12px;position:relative}.ghost-effects-params{gap:10px;display:grid}.ghost-effects-param{color:#cbd5e1;gap:6px;font-size:.74rem;display:grid}.ghost-effects-param span{justify-content:space-between;gap:10px;display:flex}.ghost-effects-param b{color:#70f2ce;font-size:.68rem}.ghost-effects-param--toggle,.ghost-effects-param--color,.ghost-effects-param--select{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ghost-effects-param--toggle span,.ghost-effects-param--color span,.ghost-effects-param--select span{display:block}.ghost-effects-param input[type=color]{background:0 0;border:1px solid #94a3b847;border-radius:7px;width:42px;height:28px;padding:0}.ghost-effects-param select{color:#f8fafc;background:#0f172ad1;border:1px solid #94a3b838;border-radius:7px;min-width:130px;padding:6px 8px}.runtime-error-boundary{color:#ffe8e8;background:#261016d6;border:1px solid #ff999961;border-radius:8px;gap:10px;width:100%;padding:18px;display:grid}.runtime-error-boundary--compact{padding:14px}.runtime-error-boundary strong{color:#fff5f5;font-size:.95rem}.runtime-error-boundary p{color:#ffe8e8c7;margin:0;font-size:.78rem;line-height:1.45}.runtime-error-boundary code{color:#ffd1d1;background:#0000003d;border:1px solid #ff999942;border-radius:6px;max-width:100%;padding:8px;font-size:.72rem;overflow-x:auto}.runtime-error-boundary .session-btn{justify-self:start}.progression-error-message{color:#ffb4b4;margin:0;font-size:.76rem;font-weight:800;line-height:1.35}@media (prefers-reduced-motion:reduce){.reactbits-global-background,.reactbits-preview-frame{animation:none!important}}@keyframes yoyo-glow{0%{border-color:#ffcf5a38;transform:scale(1);box-shadow:0 0 4px #ffcf5a26}to{border-color:#ffcf5a73;transform:scale(1.03);box-shadow:0 0 14px #ffcf5a85,0 0 4px #ffcf5a38}}@keyframes yoyo-glow-heart{0%{filter:drop-shadow(0 0 1px #ffcf5a26);color:#ffcf5a73}to{filter:drop-shadow(0 0 8px #ffcf5abf);color:#ffcf5af2}}.heart-icon-glow{animation:1.5s ease-in-out infinite alternate-reverse yoyo-glow-heart}@keyframes yoyo-glow-cyan{0%{border-color:#a1ebd94d;transform:scale(1);box-shadow:0 0 4px #a1ebd933}to{border-color:#a1ebd999;transform:scale(1.03);box-shadow:0 0 14px #a1ebd9b3,0 0 4px #a1ebd94d}}.app-shell{-webkit-user-select:none!important;user-select:none!important}.app-shell input,.app-shell textarea,.app-shell [contenteditable=true],.selectable-text,.selectable-text *,.inspector-note,.inspector-note *,.chord-anatomy-panel,.chord-anatomy-panel *,.project-title-container,.project-title-container *,.project-name-input,body[data-ctrl-pressed=true] .app-shell,body[data-ctrl-pressed=true] .app-shell *{-webkit-user-select:text!important;user-select:text!important}.studio-modular-panel:before{content:"";border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;position:absolute;inset:-1px;box-shadow:0 0 12px 2px #9b6cff00}.studio-modular-panel:hover:before{opacity:1;box-shadow:0 0 18px 4px #9b6cff14}.studio-modular-panel:hover{border-color:#9b6cff2e;box-shadow:0 12px 24px #00000038,inset 0 0 0 1px #9b6cff0f,0 0 16px #9b6cff0f}.studio-modular-panel.is-collapsed{box-shadow:0 4px 12px #00000026;max-height:48px!important}.studio-modular-panel__header{-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;display:flex}.studio-modular-panel__drag-handle{flex:1;align-items:center;gap:10px;display:flex}.drag-indicator{color:#4b4c53;cursor:grab;font-size:.8rem}.studio-modular-panel__title-group{flex-direction:column;gap:1px;display:flex}.studio-modular-panel__title{color:var(--brand-white-light);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.82rem;font-weight:800}.studio-modular-panel__subtitle{color:#8c8e98;font-size:.68rem;font-weight:600}.studio-modular-panel__actions{align-items:center;gap:10px;display:flex}.studio-modular-panel__collapse-btn{color:#8a8e98;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;min-height:auto;padding:0;transition:all .18s;display:flex}.studio-modular-panel__collapse-btn:hover{color:#fff;background:#ffffff0f;border-color:#ffffff1f}.collapse-chevron{transition:transform .3s cubic-bezier(.16,1,.3,1)}.collapse-chevron.is-rotated{transform:rotate(180deg)}.studio-modular-panel__content-wrapper{grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.16,1,.3,1);display:grid}.studio-modular-panel__content-wrapper.is-hidden{grid-template-rows:0fr}.studio-modular-panel__content{padding:16px;overflow:hidden auto}.virtual-piano__key--white.is-diatonic{box-shadow:inset 0 0 0 1px #9b6cff38, inset 0 -22px 24px var(--brand-violet-glow), 0 4px 12px #9b6cff0f}.virtual-piano__key--white.is-diatonic:hover{border-color:var(--brand-violet);box-shadow:inset 0 0 0 1.5px var(--brand-violet), inset 0 -22px 24px var(--brand-violet-glow-strong), 0 6px 18px #9b6cff1f}.virtual-piano__key--black.is-diatonic{box-shadow:inset 0 0 0 1px #aa8cff59,0 10px 14px #0000007a}.virtual-piano__key--black.is-diatonic:hover{border-color:var(--brand-violet);box-shadow:inset 0 0 0 1.5px var(--brand-violet), 0 10px 18px var(--brand-violet-glow-strong)}.virtual-piano__key.is-out-of-scale:not(.is-active):not(.is-playback-active){opacity:var(--piano-out-of-scale-opacity,.8);filter:contrast(.85)grayscale(.2)}.virtual-piano__key.is-out-of-scale:not(.is-active):not(.is-playback-active):hover{opacity:.75;filter:none}.studio-modular-panel.is-dragging{opacity:.35;border:1px dashed var(--brand-violet);transform:scale(.97);box-shadow:0 4px 12px #0000001f}.studio-grid-area{border:2px dashed #0000;border-radius:14px;min-height:100px;padding:4px;position:relative}.studio-grid-area.is-drag-over{box-shadow:0 0 24px var(--brand-violet-glow);background:radial-gradient(circle,#9b6cff0d 0%,#0000 100%),#ffffff03;border-color:#9b6cff59}.studio-grid-area.is-drag-over:after{content:"Soltar panel aquÃ­";color:var(--brand-white-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-transform:uppercase;letter-spacing:.5px;z-index:10;pointer-events:none;background:#0f0c16bf;border-radius:10px;justify-content:center;align-items:center;font-size:.74rem;font-weight:800;animation:1.5s ease-in-out infinite pulse-drop-zone;display:flex;position:absolute;inset:6px}@keyframes pulse-drop-zone{0%{opacity:.6}50%{opacity:.95}to{opacity:.6}}.virtual-piano__white-keys{overflow:visible;grid-template-columns:repeat(var(--white-key-count), minmax(0, 1fr))!important;gap:var(--piano-key-gap,3px)!important;height:var(--piano-white-key-height,270px)!important;transform-style:preserve-3d!important;display:grid!important}.virtual-piano{-webkit-user-select:none;user-select:none;width:100%;min-width:0;position:relative;perspective:1200px!important;transform-style:preserve-3d!important;transform:perspective(1200px) rotateX(var(--piano-tilt-angle,0deg))!important;padding:0 4px 28px!important;transition:transform .3s cubic-bezier(.16,1,.3,1)!important;overflow:visible!important}.estilo-antigravity.virtual-piano{-webkit-backdrop-filter:none!important;background:0 0!important}.virtual-piano__key{will-change:transform, opacity;border-radius:var(--piano-key-roundness,6px)!important;-webkit-user-select:none!important;user-select:none!important;transform-origin:top!important;outline:none!important}.virtual-piano__key:focus{outline:none!important}@keyframes key-ghost-fade-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}.virtual-piano__key--black{top:0!important;left:calc(((var(--white-key-index) + 1) / var(--white-key-count)) * (100% + var(--piano-key-gap,3px)) - (var(--piano-key-gap,3px) / 2))!important;width:calc(((100% - (var(--white-key-count) - 1) * var(--piano-key-gap,3px)) / var(--white-key-count)) * .65)!important;height:var(--piano-black-key-height,170px)!important;min-height:var(--piano-black-key-height,170px)!important;border-radius:calc(var(--piano-key-roundness,6px) * .7)!important;z-index:3!important;transition:left .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1),transform .14s,border-color .14s,box-shadow .14s,background-color .14s!important;position:absolute!important;transform:translate(-50%)!important}
