/* Poly 2.2 — a desktop workspace, with the scene as the main working surface. */
body.desktop-app{--text:#e0e6eb;--muted:#929fa9;--line:#343d45;--accent:#9dd7c6;--mint:#b7dfd1;--left-panel:0px;--right-panel:0px;--sequence-size:34px;font-family:"Segoe UI",Arial,sans-serif;font-size:12px;background:#171c21;color:var(--text);padding:0;margin:0;min-width:320px;height:100dvh;max-height:100dvh;display:grid;grid-template-rows:30px 48px minmax(0,1fr) 30px 24px;overflow:hidden}
.desktop-app *{box-sizing:border-box}.desktop-app [hidden]{display:none!important}.desktop-app button,.desktop-app input,.desktop-app select{font-family:inherit}.desktop-app button{cursor:pointer}.desktop-app button:disabled{cursor:default;opacity:.38}.desktop-app button:focus-visible,.desktop-app summary:focus-visible{outline:2px solid #9dd7c6;outline-offset:-2px}.desktop-app input,.desktop-app select{accent-color:#9dd7c6}.desktop-app input[type=range]{cursor:pointer}
.desktop-menubar{grid-row:1;display:flex;align-items:center;gap:8px;min-width:0;background:#252c32;border-bottom:1px solid #11171c;position:relative;z-index:60;padding:0 9px}.desktop-menubar .brand{display:flex;align-items:center;gap:5px;flex-shrink:0;padding:0;margin:0}.desktop-menubar .brand>svg{width:18px;height:18px}.desktop-menubar .brand>span{font-size:19px;letter-spacing:-1px}.desktop-menubar .brand-dot{color:var(--accent)}.desktop-menus{display:flex;align-items:stretch;height:100%;flex-shrink:0}.desktop-menu{position:relative;display:flex}.desktop-menu>[role=menuitem]{font:12px "Segoe UI",sans-serif;color:#e1e7ec;border:0;background:none;border-radius:0;padding:0 10px;min-height:28px}.desktop-menu>[role=menuitem]:hover,.desktop-menu>[aria-expanded=true]{background:#3c464e}.desktop-menu-popup{position:absolute;top:100%;left:0;min-width:254px;padding:5px;background:#282f36;border:1px solid #49545d;border-radius:0 0 5px 5px;box-shadow:0 12px 30px #0007;z-index:80}.desktop-menu-popup button{display:flex;align-items:center;gap:8px;text-align:left;width:100%;min-height:30px;padding:5px 8px;color:#e1e6eb;font-size:12px;border:0;border-radius:3px;background:none;white-space:nowrap}.desktop-menu-popup button:hover,.desktop-menu-popup button:focus-visible{background:#40514f;outline:0}.desktop-menu-popup button:disabled{opacity:.38;background:none}.desktop-menu-popup [role=separator]{height:1px;background:#465059;margin:5px 6px}.menu-tick{width:14px;color:var(--accent);flex-shrink:0}.desktop-menu-popup kbd{margin-left:auto;padding-left:20px;font:11px "Segoe UI",sans-serif;color:#9caab5}.desktop-menubar .project-title{display:flex;align-items:center;gap:7px;margin-left:auto;border:0;padding:0;min-width:0;font-size:11px;color:#aeb9c2}.desktop-menubar #projectTitle{max-width:290px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-menubar .project-title .version{display:none}.desktop-prototype{white-space:nowrap;flex-shrink:0;font-size:10px;color:#8e9ca6;padding:0 4px 0 10px;border-left:1px solid #465059}.desktop-prototype>span:last-child{color:#bdc8d0;margin-left:4px}
.desktop-app .topbar{grid-row:2;display:flex;align-items:center;gap:0;width:100%;height:48px;min-height:48px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;border-bottom:1px solid #3b444d;background:#20262c;scrollbar-width:thin;position:relative;z-index:20}.desktop-app .topbar>*{flex-shrink:0}.desktop-file-tools,.desktop-panel-tools,.desktop-utilities{display:flex;align-items:center;gap:3px;height:32px}.desktop-file-tools{padding-right:9px;margin-right:9px;border-right:1px solid #424b53}.desktop-app .desktop-file-tools button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:5px;background:none;border:1px solid transparent;border-radius:4px;color:#c7d2db}.desktop-app .desktop-file-tools button:hover{background:#303b44;border-color:#45545e}.desktop-file-tools svg{width:17px;height:17px}.desktop-file-tools #exportBtn{font-size:20px;color:var(--accent)}
.desktop-app .topbar .transport{height:32px;min-height:0;display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin:0;padding:0;border:0;background:none;flex:0 0 auto}.desktop-app .transport-play{min-width:0;gap:3px}.desktop-app .transport-play .play-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;height:31px;min-width:76px;background:#9dd7c6;border:1px solid #b5dfd2;border-radius:4px;color:#172b26;font-size:12px;font-weight:600}.desktop-app .topbar .transport-play .play-btn>span{display:inline}.desktop-app .transport-play .icon-btn{width:29px;height:30px;padding:6px;color:#c3ced6;border-radius:4px}.desktop-app .transport-play .icon-btn svg{width:14px;height:14px}.desktop-app .transport-play .shortcut{display:none}.desktop-app .tempo-control{display:flex;align-items:center;gap:4px;padding:0 10px;margin:0;border:0;border-right:1px solid #424b53}.desktop-app .tempo-control label{display:none}.desktop-app .tempo-control input{font-size:16px;width:43px;padding:2px 0;background:none;color:#e3eaf0}.desktop-app .tempo-control>span{font-size:10px}.desktop-app .beat-counter{font:15px Consolas,monospace;display:flex;align-items:center;gap:4px;padding:0 10px;border:0}.desktop-app .beat-counter>div{display:none}.desktop-app .transport-mode{display:flex;align-items:center;gap:0;padding:0 9px 0 0}.desktop-app .transport-mode .tiny-label{display:none}.desktop-app .transport-mode select{font-size:11px;min-width:90px;background:#2b333b;color:#dae2e9;border:1px solid #444f59;border-radius:3px;padding:5px 4px}.desktop-app .master-control{display:flex;align-items:center;gap:5px;margin:0;padding:0 9px 0 0;border-right:1px solid #424b53}.desktop-app .master-control>svg{display:block;width:14px;height:14px;color:#a3b7bd}.desktop-app .master-control input{width:55px}.desktop-app .master-control output{display:none}.desktop-app .master-control .meters{display:flex;height:20px;width:7px;gap:2px}.desktop-app .master-control .meters i{width:2px;background:#a9d7b9}
.desktop-app .performance-bar{display:flex;align-items:center;gap:4px;padding:0 9px;margin:0;border:0;height:32px;flex-wrap:nowrap;background:none}.desktop-app .performance-bar button{font-size:10px;white-space:nowrap;padding:6px;border:1px solid #465059;border-radius:3px;color:#c8d2db;background:none}.desktop-app .performance-bar #recordTakeBtn{color:#efb3a6}.desktop-app .performance-bar #recordTakeBtn.recording{background:#713f3a;color:#fff}.desktop-app .performance-bar label{display:flex;align-items:center;gap:3px;font-size:10px;white-space:nowrap}.desktop-app .performance-bar label span{display:none}.desktop-app .performance-bar #takeStatus{display:none}.desktop-app .performance-bar #replayTakeBtn{max-width:86px;overflow:hidden;text-overflow:ellipsis}.desktop-app .desktop-utilities{padding-left:7px;border-left:1px solid #424b53;gap:5px}.desktop-app .desktop-utilities #automationBtn{font-size:10px;padding:5px;color:#b9c9cb}.desktop-app .language-control{position:static;display:flex}.desktop-app .language-control select{font-size:10px;min-width:70px;max-width:85px;padding:5px;background:#29323a;color:#d8e1e7;border:1px solid #46535d;border-radius:3px}.desktop-app #helpBtn{position:static;display:flex;width:27px;height:28px;min-width:27px;padding:5px;align-items:center;justify-content:center;font-size:0;border:1px solid transparent;background:none}.desktop-app #helpBtn .help-label{display:none}.desktop-app #helpBtn svg{width:16px;height:16px}
.desktop-panel-tools{margin-left:auto;padding-left:7px;gap:3px}.desktop-panel-tools button{height:28px;min-width:29px;padding:4px 7px;background:#252e35;color:#afc0cd;border:1px solid #414e58;border-radius:4px;font-size:14px}.desktop-panel-tools #inspectorPanelBtn{font-size:11px}.desktop-panel-tools button[aria-pressed=true]{border-color:#7bafa4;color:#c7e9df;background:#30423f}.desktop-panel-tools button:hover{background:#35434b}
.desktop-app .workspace{grid-row:3;display:grid;grid-template-columns:var(--left-panel) minmax(0,1fr) var(--right-panel);grid-template-rows:minmax(0,1fr) var(--sequence-size);width:100%;height:auto;min-height:0;max-height:none;min-width:0;overflow:hidden;background:#171d22}.desktop-app.show-voices{--left-panel:206px}.desktop-app.show-inspector{--right-panel:286px}.desktop-app.show-sequence{--sequence-size:var(--sequence-height,230px)}.desktop-app.focus-view{--left-panel:0px;--right-panel:0px;--sequence-size:0px}
.desktop-app .tracks-panel{grid-column:1;grid-row:1;display:none;position:relative;flex-direction:column;min-width:0;min-height:0;height:100%;padding:0 10px 10px;border:0;border-right:1px solid #38434b;background:#20272d;overflow:auto}.desktop-app.show-voices .tracks-panel{display:flex}.desktop-app .panel-heading{display:flex;align-items:center;gap:6px;min-height:39px;padding:0;margin:0 0 8px;border-bottom:1px solid #3b454d;flex-shrink:0}.desktop-app .panel-heading h2{font-size:12px;font-weight:600;letter-spacing:.2px;margin:0;color:#dbe5ec}.desktop-app .panel-heading>span{font:9px Consolas,monospace;margin-left:auto;color:#92a6b4}.desktop-app .panel-heading>button{width:24px;height:25px;font-size:17px;color:#8fa1ae;margin-left:auto;border:0;background:none;border-radius:3px}.desktop-app .panel-heading>span+button{margin-left:2px}.desktop-app .panel-heading>button:hover{background:#3b454d;color:white}.desktop-app .track-list{flex:0 1 auto;max-height:none;min-height:0;overflow:visible;display:flex;flex-direction:column;gap:7px}.desktop-app .track-card{padding:10px 8px;min-height:0;border:1px solid #3d4750;border-left:3px solid var(--voice);border-radius:4px;background:#252d34}.desktop-app .track-card.selected{background:#34413f;border-color:#728b80;border-left-color:var(--voice)}.desktop-app .track-card.muted{opacity:.5}.desktop-app .track-card-top{gap:7px}.desktop-app .track-card .poly-icon{width:22px;height:22px;flex-shrink:0}.desktop-app .track-card-top>div{min-width:0}.desktop-app .track-name{font-size:12px;font-weight:600}.desktop-app .track-type{font-size:9px;line-height:1.5;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9bbc4}.desktop-app .track-index{display:none}.desktop-app .track-card-bottom{margin-top:9px;gap:5px}.desktop-app .track-note{font-size:10px}.desktop-app .mini-meter{display:block;min-width:20px}.desktop-app .ms-btn{width:22px;height:20px;font-size:10px;border-radius:3px}.desktop-app .card-vertices{margin-top:8px;padding-top:6px;border-color:#61716c55}.desktop-app .card-vertices>span{font-size:8px}.desktop-app .card-vertices .vertex-toggle{width:18px;height:18px;font-size:8px}.desktop-app .add-track{font-size:11px;min-height:32px;margin:8px 0 10px;padding:7px;border-color:#53636d;color:#b4c6d0;flex-shrink:0}.desktop-app .desktop-library{border-top:1px solid #3a454e;padding-top:10px;margin-top:4px;flex-shrink:0}.desktop-library summary{font-size:11px;color:#b7c8d2;cursor:pointer;list-style-position:inside;padding-bottom:8px}.desktop-app .library{padding:0;margin:0;border:0}.desktop-app .library .eyebrow,.desktop-app .library>label{display:none}.desktop-app .library select{font-size:11px;padding:8px;min-width:0;width:100%;color:#d9e6ed;background:#29343c;border-color:#4b5a64}.desktop-app .library p{font-size:10px;line-height:1.6;margin:8px 0;color:#98adb9}
.desktop-app .stage{grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;border:0;position:relative;overflow:hidden}.desktop-app #sceneCanvas{display:block;width:100%;height:100%;touch-action:none}.desktop-app .stage-heading{position:absolute;top:15px;left:18px;pointer-events:none}.desktop-app .stage-heading .eyebrow{font-size:9px;letter-spacing:1px;color:#93aaa2}.desktop-app .stage-heading h1,.desktop-app .stage-heading p{display:none}.desktop-app .scene-dock{left:16px;right:16px;bottom:10px}.desktop-app .scene-dock .variation-deck{width:min(490px,100%);margin-bottom:10px}.desktop-app .variation-row{grid-template-columns:76px minmax(0,1fr) 26px 37px 24px;gap:5px}.desktop-app .variation-label{font-size:10px}.desktop-app .variation-pad{height:26px}.desktop-app .variation-pad b{font-size:11px}.desktop-app .variation-auto{font-size:10px}.desktop-app .variation-new,.desktop-app .variation-auto,.desktop-app .variation-auto-settings{height:26px}.desktop-app .scene-controlbar{min-height:33px;padding-top:6px;border-top-color:#9db9ae33;gap:8px;flex-wrap:wrap;justify-content:space-between}.desktop-app .scene-dock .shape-tools button{font-size:10px;padding:5px 7px;min-height:28px}.desktop-app .scene-dock .view-tools .icon-btn{width:27px;height:27px;font-size:10px}.desktop-app .scene-dock .stage-sync{font-size:10px;padding:5px}.desktop-app .scene-dock .scene-transport output{font-size:11px}.desktop-app .scene-dock .scene-transport button{width:26px;height:27px}.desktop-app .scene-controlbar-end{gap:6px}.desktop-app .stage .placement-hint{bottom:155px}.desktop-app .stage .axis-marker{bottom:150px}
.desktop-app .inspector{display:none;grid-column:3;grid-row:1;min-width:0;min-height:0;height:100%;padding:0 12px 12px;overflow:auto;border:0;border-left:1px solid #3a4650;background:#20272d}.desktop-app.show-inspector .inspector{display:block}.desktop-app .inspector .panel-heading{margin-bottom:0;position:sticky;top:0;background:#20272d;z-index:4}.inspector-tabs{display:flex;gap:0;position:sticky;top:39px;z-index:3;margin:0 -12px 12px;padding:0 5px;border-bottom:1px solid #44515a;background:#252e35}.inspector-tabs button{min-width:0;flex:1;padding:10px 3px;font-size:11px;border:0;border-bottom:2px solid transparent;background:none;color:#a7bac7}.inspector-tabs button[aria-selected=true]{color:#c9e8df;border-bottom-color:#9dd7c6;background:#31403e}.desktop-app .voice-heading{display:flex;align-items:center;gap:10px;margin:0;padding:4px 2px 15px}.desktop-app .voice-heading h3{font-size:16px;font-weight:600}.desktop-app .voice-heading>svg{width:30px;height:30px}.desktop-app .voice-heading span{font-size:9px;color:#93a9b7}.desktop-editor-group{padding:13px 0;border-top:1px solid #3b4851}.desktop-editor-group:first-child{padding-top:0;border-top:0}.desktop-editor-group h3{font-size:11px;margin:0 0 13px;color:#afc6ce;font-weight:600}.desktop-app .inspector .form-label{font-size:11px;letter-spacing:0;margin-bottom:6px;color:#a6bbc8}.desktop-app .inspector select{font-size:12px;color:#dde7ee;width:100%;padding:8px;background:#2c363f;border:1px solid #4d5c67;border-radius:4px;min-width:0}.desktop-app .inspector .form-row{margin-top:13px;gap:10px}.desktop-app .inspector .range-label{font-size:11px;color:#b7c9d3;margin-top:13px;margin-bottom:6px}.desktop-app .inspector output{font-size:11px;color:#dfebe7}.desktop-app .inspector input[type=range]{margin:0 0 9px;width:100%}.desktop-app .auto-launch{font-size:9px;min-width:20px;min-height:18px;padding:0 4px;margin-left:5px}.voice-listen{display:flex;gap:7px;margin-top:13px}.voice-listen button{flex:1;padding:8px 5px;font-size:10px;border:1px solid #4b5e68;border-radius:4px;color:#b2c9d4;background:#2a353e}.voice-listen button[aria-pressed=true]{border-color:#9dd7c6;color:#d1eee3;background:#35534a}.desktop-app .voice-actions{margin-top:15px;padding-top:12px;border-top:1px solid #3c4a53;gap:8px}.desktop-app .voice-actions button{font-size:11px;min-height:31px}.desktop-app .voice-actions svg{width:13px;height:13px}.desktop-app .inspector .placement{padding:10px 0 0;margin:0;border:0}.desktop-app .inspector .placement p{font-size:10px;line-height:1.6;margin:4px 0 12px}.desktop-app .inspector .placement input{font-size:11px;padding:6px}.desktop-app .desktop-fold{margin-top:0;padding:12px 0}.desktop-fold summary{font-size:10px;font-weight:600;color:#bacbd5;cursor:pointer;letter-spacing:.3px}.desktop-app .rotation-actions{display:flex;flex-wrap:wrap;gap:5px}.desktop-app .rotation-actions button{font-size:10px;min-height:29px}.desktop-app .reverse-row{font-size:11px}.desktop-app .vertices .vertex-toggle{width:25px;height:25px;font-size:10px}.desktop-app .inspector .effects{padding-top:8px;margin-top:0;border:0}.desktop-app .inspector .section-title{font-size:10px;letter-spacing:.5px;line-height:1.5;color:#b0c6ce}.desktop-app .intersection-intro,.desktop-app .intersection-status{font-size:11px;line-height:1.6;color:#a6bac7}.desktop-app .collision-option{font-size:11px;line-height:1.5;gap:7px;margin:12px 0}.desktop-app #intersectionMeter{width:100%}
.desktop-app .sequencer{display:block;position:relative;grid-column:1/-1;grid-row:2;min-width:0;min-height:0;height:100%;padding:0 12px 9px;overflow:hidden;border-top:1px solid #46545c;border-left:0;background:#20282f}.desktop-app .sequencer-header{height:33px;min-height:33px;display:flex;align-items:center;gap:8px;margin:0;padding:0}.desktop-app .sequencer-header>div:first-of-type{display:flex;align-items:center;gap:12px;min-width:0}.desktop-app .sequencer-header h2{font-size:11px;white-space:nowrap}.desktop-app .sequencer-header>div>span{font-size:10px;margin:0;color:#8ea4b2}.desktop-app .sequence-actions{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:10px}.desktop-app .sequence-actions .quiet-btn{font-size:10px;padding:4px;gap:4px}.desktop-app .sequence-actions select{font-size:11px;padding:3px}.desktop-app .sequence-actions .tiny-label{font-size:9px}.desktop-app #sequenceDisclosure{display:flex;align-items:center;gap:6px;background:none;color:#a4c6bf;font-size:15px;padding:3px 2px;border:0;min-width:30px}.disclosure-arrow{display:inline-block;transform:rotate(180deg);font-size:15px}.show-sequence .disclosure-arrow{transform:none}.desktop-app #sequenceGrid{height:calc(100% - 36px);overflow:auto;min-height:0}.desktop-app .seq-row{grid-template-columns:125px repeat(var(--steps,16),minmax(22px,1fr));min-height:30px;gap:4px}.desktop-app .seq-row.labels{height:23px;min-height:23px}.desktop-app .seq-row.labels span{font:9px Consolas,monospace}.desktop-app .seq-name{font-size:11px}.desktop-app .step{height:25px;min-height:25px;border-radius:3px}.sequence-resizer{display:none;position:absolute;top:0;left:0;right:0;height:5px;cursor:row-resize;z-index:8}.show-sequence .sequence-resizer{display:block}.sequence-resizer:focus-visible{outline:2px solid #9dd7c6}.desktop-app:not(.show-sequence) .sequencer-header>div>span,.desktop-app:not(.show-sequence) .sequence-actions{display:none}
.desktop-commandbar{grid-row:4;display:flex;align-items:center;gap:8px;padding:3px 12px;border-top:1px solid #3b4851;background:#1b2228;min-width:0;z-index:15}.command-prompt{font:20px Consolas,monospace;color:#8ab9ad;line-height:1}.desktop-app .command-entry{display:flex;flex:1;min-width:0;margin:0;padding:0;border:0}.desktop-app .command-entry input{height:23px;margin:0;border:1px solid #3d4b54;border-radius:3px;background:#141c21;color:#cadbdc;width:100%;font:12px Consolas,monospace;padding:2px 8px}.desktop-app .command-entry input:focus{border-color:#86bbae;outline:none;background:#18262a}.desktop-app .engine-status{display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:0;padding:0;margin:0;font-size:9px;color:#8fa8b5;border:0}.desktop-app .engine-status #fps{display:inline;margin:0 0 0 5px;font-size:9px}
.desktop-app .studio-footer{grid-row:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 12px;min-height:24px;height:24px;position:relative;bottom:auto;border-top:1px solid #2e3d45;background:#1b2228;z-index:45;font-size:9px}.desktop-app .studio-footer .poly-credit{display:flex;align-items:center;gap:9px;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;max-width:none;width:auto;flex-wrap:nowrap;position:static}.desktop-app .credit-identity{display:flex;flex-direction:row;align-items:center;gap:7px}.desktop-app .credit-identity>strong{font-size:9px;font-weight:400;color:#a3b8c2}.desktop-app .credit-identity>span{font-size:9px;color:#7f98a7}.desktop-app .credit-site{font-size:9px;padding:0;border:0}.desktop-app .credit-source,.desktop-app #creditHelpBtn{display:none}.desktop-app #creditsToggle{font-size:9px;padding:0 5px;height:18px;border:0;background:none;color:#9eb9c4}.desktop-app .credit-details{position:fixed;bottom:30px;top:auto;left:12px;right:auto;width:410px;max-width:calc(100vw - 24px);padding:15px;border:1px solid #667e88;border-radius:5px;background:#27343c;line-height:1.6;color:#bacdd6;box-shadow:0 8px 30px #0009;font-size:11px}.desktop-app .credit-details strong{font-size:12px;color:#e1ecec}.desktop-app .studio-footer #saveStatus{display:block;font-size:9px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7f9eaa}.desktop-app .footer-right{display:none}
.desktop-app.focus-view .tracks-panel,.desktop-app.focus-view .inspector,.desktop-app.focus-view .sequencer{display:none}.desktop-app .workspace .stage:fullscreen{width:100vw;height:100dvh}.desktop-app dialog{font-family:"Segoe UI",Arial,sans-serif;background:#253038;border:1px solid #61747f;color:#d9e6ec}.desktop-app dialog select,.desktop-app dialog input:not([type=checkbox]):not([type=range]){background:#18242b;color:#dce8ed}.desktop-app dialog::backdrop{background:#070d12a8}.desktop-app .toast{background:#293e40;border-color:#5e8c83;color:#d7ebe5}
@media(max-width:1050px){body.desktop-app{--left-panel:0px!important;--right-panel:0px!important}.desktop-app .tracks-panel,.desktop-app .inspector{display:none!important}.desktop-app[data-overlay=voices]:not(.focus-view) .tracks-panel,.desktop-app[data-overlay=inspector]:not(.focus-view) .inspector{display:flex!important;flex-direction:column;position:fixed;top:78px;bottom:54px;height:auto;z-index:35;box-shadow:0 8px 35px #0009;width:286px;max-width:calc(100vw - 30px);border:1px solid #586c78}.desktop-app[data-overlay=voices] .tracks-panel{left:0;width:230px}.desktop-app[data-overlay=inspector] .inspector{right:0}.desktop-app .desktop-panel-tools{margin-left:8px}.desktop-menubar #projectTitle{max-width:160px}.desktop-app .desktop-utilities #automationBtn{display:none}.desktop-app .stage .axis-marker{display:none}.desktop-app .scene-controlbar{justify-content:center}.desktop-app .sequencer-header>div>span{display:none}}
@media(max-width:650px){body.desktop-app{grid-template-rows:30px 44px minmax(0,1fr) 31px 21px}.desktop-menubar{padding:0 5px;gap:3px}.desktop-menubar .brand>span{display:none}.desktop-menubar .brand>svg{width:17px;height:17px}.desktop-menu>[role=menuitem]{font-size:11px;padding:0 7px}.desktop-menubar .project-title{display:none}.desktop-prototype{margin-left:auto;border:0;padding:0;font-size:9px}.desktop-prototype>span:first-child{display:none}.desktop-app .topbar{height:44px;min-height:44px;padding:4px 6px}.desktop-app .desktop-file-tools{margin-right:5px;padding-right:5px}.desktop-app .desktop-file-tools button{width:27px;min-width:27px}.desktop-app .master-control{display:flex}.desktop-app .desktop-utilities{padding-left:5px}.desktop-app #helpBtn{display:flex}.desktop-app[data-overlay=voices]:not(.focus-view) .tracks-panel,.desktop-app[data-overlay=inspector]:not(.focus-view) .inspector{top:74px;bottom:52px}.desktop-app .scene-dock{left:9px;right:9px;bottom:9px}.desktop-app .variation-row{grid-template-columns:57px minmax(0,1fr) 23px 31px 21px;gap:3px}.desktop-app .variation-label{font-size:9px}.desktop-app .variation-pad b{font-size:10px}.desktop-app .scene-controlbar{gap:4px;padding-top:5px}.desktop-app .scene-dock .shape-tools{gap:0}.desktop-app .scene-dock .shape-tools button{font-size:9px;padding:5px}.desktop-app .scene-dock .stage-sync{font-size:9px}.desktop-app .scene-dock .view-tools .icon-btn{width:24px}.desktop-app .stage .placement-hint{bottom:180px;font-size:10px}.desktop-app .stage-heading{top:12px;left:13px}.desktop-app .stage-heading .eyebrow{font-size:8px}.desktop-commandbar{padding:3px 8px;gap:6px}.desktop-app .engine-status #engineStatus{display:none}.desktop-app .engine-status #fps{font-size:8px}.desktop-app .studio-footer{height:21px;min-height:21px;padding:1px 8px;gap:5px}.desktop-app .studio-footer .poly-credit{gap:4px}.desktop-app .credit-identity>strong{font-size:8px}.desktop-app .credit-identity>span{font-size:8px}.desktop-app .credit-site{display:none}.desktop-app .studio-footer #saveStatus{font-size:8px}.desktop-app #creditsToggle{font-size:8px;padding:0 3px}.desktop-app .sequencer{padding:0 8px 8px}.desktop-app .sequence-actions{gap:5px}.desktop-app .sequence-actions .quiet-btn{font-size:9px}.desktop-app .seq-row{grid-template-columns:90px repeat(var(--steps,16),minmax(22px,1fr))}}

.desktop-app .sequencer-header{justify-content:flex-start}.desktop-app .sequencer-header>div:not(.sequence-actions){margin-right:auto}.desktop-app .desktop-file-tools #newBtn{font-size:0}

.desktop-app .topbar>*{order:0!important}.desktop-app .inspector>.panel-heading{align-self:stretch;width:100%}
@media(max-width:365px){.desktop-menu>[role=menuitem]{padding:0 5px;font-size:10px}.desktop-prototype{font-size:8px}}

.desktop-app .inspector .placement input[type=range]{padding:0;border:0;background:none}

/* Keep every sequencer row reachable above the permanent command bar. */
.desktop-app .sequencer{display:flex;flex-direction:column}
.desktop-app .sequencer-header{flex:0 0 33px}
.desktop-app .sequence-tools{flex:0 0 auto;min-height:28px;margin:0 0 3px;padding:0}
.desktop-app .sequence-scroll{flex:1;min-height:0;height:auto;max-height:none;overflow:auto}
.desktop-app #sequenceGrid{height:auto;overflow:visible}
.desktop-app:not(.show-sequence) .sequence-tools,.desktop-app:not(.show-sequence) .sequence-scroll{display:none}

/* A stable, searchable instrument browser, independent of live geometry. */
.desktop-app .instrument-browse-row{display:flex;align-items:center;gap:8px;margin:8px 0 0;min-width:0}
.desktop-app .instrument-family{font-size:10px;line-height:1.5;color:#92adaf;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desktop-app #instrumentBrowseBtn{flex-shrink:0;padding:5px 9px;min-height:27px;color:#bce5d7;background:#2b413d;border:1px solid #52766b;border-radius:4px;font-size:11px}
.desktop-app #instrumentBrowseBtn:hover{background:#39564e;border-color:#8ab9a7}
.desktop-app .instrument-dialog{width:680px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);height:720px;padding:0;overflow:hidden;border:1px solid #647a85;border-radius:8px;background:#222c33;box-shadow:0 20px 80px #0009}
.desktop-app .instrument-dialog[open]{display:flex;flex-direction:column}
.instrument-dialog-heading{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 50px 15px 20px;flex-shrink:0;border-bottom:1px solid #3d4e58;background:#293740}
.desktop-app .instrument-dialog h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.2px}.instrument-dialog-heading p{margin:5px 0 0;font-size:11px;line-height:1.5;color:#adc4ce}
.desktop-app .instrument-dialog .dialog-close{top:16px;right:14px;width:30px;height:30px;min-height:30px;padding:0;border:1px solid #4d626d;border-radius:4px;background:none;color:#bfd0d8;font-size:22px;line-height:1}
.instrument-browser-controls{padding:14px 18px 12px;flex-shrink:0;border-bottom:1px solid #3b4a54}
.instrument-search-row{display:flex;align-items:center;gap:9px;padding:0 10px;height:38px;background:#16232a;border:1px solid #5c7f84;border-radius:5px;box-shadow:0 0 0 1px #8fcbbb0b}
.instrument-search-row:focus-within{border-color:#a1d8c7;box-shadow:0 0 0 2px #9dd7c61a}.instrument-search-row svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:#96bab7;stroke-width:1.6}
.desktop-app .instrument-dialog #instrumentSearch{flex:1;min-width:0;width:100%;height:34px;margin:0;padding:3px 0;border:0;outline:none;background:none;box-shadow:none;border-radius:0;font-size:13px;color:#e0ecee}.desktop-app #instrumentSearch::-webkit-search-cancel-button{display:none}.desktop-app #instrumentSearch::placeholder{color:#7e9ba5}
.instrument-search-row button{font-size:19px;color:#a1b8c0;background:none;border:0;min-width:22px;min-height:26px;padding:0}
.instrument-type-filters{display:flex;gap:3px;margin:12px 0 10px;padding:3px;background:#1a242b;border:1px solid #3b505b;border-radius:5px}
.instrument-type-filters button{flex:1;border:1px solid transparent;border-radius:3px;background:none;color:#a4bbc7;padding:7px 9px;min-height:31px;font-size:12px}
.instrument-type-filters button[aria-pressed=true]{background:#38534b;color:#d7f0e6;border-color:#6d9e8d}.instrument-type-filters button:hover{color:white;background:#344941}
.instrument-family-filters{display:flex;flex-wrap:wrap;gap:6px}.instrument-family-filters button{display:flex;align-items:center;gap:6px;min-height:26px;padding:4px 8px;border:1px solid #465d69;border-radius:4px;background:#283740;color:#bed0d8;font-size:10px;line-height:1.3}
.instrument-family-filters button[aria-pressed=true]{color:#e5f4ec;background:#365348;border-color:#8fbcaa}.instrument-family-filters button:disabled{opacity:.3;cursor:default}.instrument-family-count{padding:1px 4px;min-width:18px;text-align:center;background:#121f2560;border-radius:3px;color:#a0c0be;font:9px Consolas,monospace}
.instrument-results-scroll{flex:1;min-height:60px;overflow:auto;overscroll-behavior:contain;padding:4px 18px 16px;scrollbar-width:thin;scrollbar-color:#577267 #1c282f}.instrument-result-group{margin:12px 0 0}
.instrument-result-group h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px;padding:4px 1px;color:#acccc9;font-size:11px;font-weight:600;letter-spacing:.2px}.instrument-result-group h3>span{font:10px Consolas,monospace;color:#789e9d}
.instrument-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.instrument-choice{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:left;min-width:0;min-height:55px;padding:9px 30px 9px 11px;background:#2a3841;border:1px solid #41545f;border-radius:5px;color:#dbe8ed}
.instrument-choice-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;line-height:1.3}.instrument-choice-kind{font-size:9px;color:#88a7b5;line-height:1.3}
.instrument-choice[aria-selected=true]{border-color:#95c9b4;background:#344d44}.instrument-choice[aria-selected=true] .instrument-choice-kind{color:#a8d2bf}.instrument-choice:hover{background:#354b4b;border-color:#8baea7}.instrument-choice:focus-visible{outline:2px solid #b7dfcd;outline-offset:-2px}.instrument-check{position:absolute;top:11px;right:10px;color:#c4ecce;font-size:14px}
.instrument-empty{padding:30px 10px;text-align:center;font-size:12px;color:#a8bec8;line-height:1.8}
.desktop-app .instrument-dialog-footer{position:static;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-shrink:0;min-height:38px;height:auto;margin:0;padding:10px 18px;background:#1b282f;border-top:1px solid #3e525c;color:#91b1bc;font-size:10px}
.instrument-dialog-footer #instrumentCurrent{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.instrument-dialog-footer #instrumentResultCount{flex-shrink:0;color:#b6d0d4;font:10px Consolas,monospace}
@media(max-width:540px){.desktop-app .instrument-dialog{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);max-width:calc(100vw - 16px);border-radius:6px}.instrument-dialog-heading{padding:15px 45px 11px 14px}.desktop-app .instrument-dialog h2{font-size:18px}.instrument-browser-controls{padding:11px 12px}.instrument-type-filters button{font-size:11px;padding:6px}.instrument-family-filters{gap:5px}.instrument-family-filters button{font-size:10px;padding:4px 6px}.instrument-results-scroll{padding:2px 12px 12px}.instrument-result-grid{grid-template-columns:1fr}.instrument-choice{min-height:49px;padding-top:7px;padding-bottom:7px}.desktop-app .instrument-dialog-footer{padding:9px 12px;gap:8px;font-size:9px}.instrument-dialog-footer #instrumentResultCount{font-size:9px}}

/* Musical direction: small entry point, readable inspector and bounded dialog. */
.music-direction-btn{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9acdb9!important}
.music-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #465451;border-radius:10px;background:#171e1e;color:#e4e9e6;box-shadow:0 22px 90px #0009}
.music-dialog[open]{display:flex;flex-direction:column}.music-dialog::backdrop{background:#0008}
.music-dialog header,.music-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;flex:none}
.music-dialog header{border-bottom:1px solid #ffffff16}.music-dialog h2{font-size:18px;margin:0}.music-dialog header button{font-size:22px;padding:2px 10px}
.music-dialog footer{border-top:1px solid #ffffff16;font-size:11px;color:#acbab5}.music-dialog footer button{color:#b3e3ce}
.music-dialog-scroll{overflow:auto;min-height:0;padding:0 20px 18px}.music-intro{font-size:13px;line-height:1.6;color:#b9c7c1;margin:16px 0}
.music-controls{display:grid;gap:9px}.music-controls>label,.music-voice>label,.music-advanced label{font-size:12px;color:#b9c7c1}.music-controls select,.music-voice>select{width:100%;min-width:0;box-sizing:border-box}
.music-tonality{display:grid;grid-template-columns:1fr 1fr;gap:10px}.music-tonality label{display:grid;gap:6px;font-size:12px;color:#b9c7c1}.music-tonality[hidden]{display:none}
.music-switches{display:grid;grid-template-columns:1fr;gap:8px;margin:6px 0}.music-switches label{display:flex;align-items:center;gap:9px;font-size:13px}.music-switches input{accent-color:#9acdb9;width:16px;height:16px}
.music-advanced{border-top:1px solid #ffffff16;padding-top:10px}.music-advanced summary{cursor:pointer;font-size:12px;color:#b7c8c1;padding:5px 0}.music-advanced label{display:grid;grid-template-columns:1fr auto;gap:7px;margin:14px 0}.music-advanced input,.music-advanced select{grid-column:1/-1;width:100%;box-sizing:border-box}.music-advanced output{grid-row:1;grid-column:2;color:#9acdb9}
.music-explanation,.music-note{font-size:11px;line-height:1.6;color:#9aaaa2;margin:6px 0}.music-summary{font-size:11px;line-height:1.5;color:#9acdb9;margin:7px 0 11px}.music-voice h3{margin-bottom:12px}.music-voice>button{width:100%;font-size:11px;margin-top:10px}.music-voice #musicOwnControls[hidden]{display:none}
@media(max-width:600px){.music-direction-btn{max-width:118px}.music-dialog header,.music-dialog footer{padding:12px 14px}.music-dialog-scroll{padding:0 14px 14px}}
.desktop-submenu{position:fixed;max-width:calc(100vw - 12px);min-width:230px;overflow-y:auto;overscroll-behavior:contain;border-radius:5px;z-index:90}.desktop-submenu button{white-space:normal;min-height:32px}.desktop-menu-popup .menu-arrow{margin-left:auto;font-size:11px;color:#b9c8ce}.desktop-menu-popup .menu-arrow+kbd:empty{display:none}.desktop-submenu[role=alert]{padding:12px;white-space:normal;font-size:12px}

/* Fixed vertex slots keep voice cards still during live changes of geometry. */
.desktop-app .tracks-panel{scrollbar-gutter:stable}.desktop-app .track-list{flex:0 0 auto}.desktop-app .track-card{flex:0 0 auto}.desktop-app .track-card-top{height:32px}.desktop-app .track-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-app .track-note{white-space:nowrap;font-variant-numeric:tabular-nums}.desktop-app .card-vertices>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-app .card-vertex-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(2,18px);gap:3px 1px}.desktop-app .card-vertex-slot{display:flex;align-items:center;justify-content:center;min-width:0;height:18px}.desktop-app .card-vertex-grid .vertex-toggle{margin:0;width:18px;height:18px}.desktop-app .card-vertex-grid .vertex-toggle[hidden]{display:none}

.composition-dialog{width:min(850px,94vw);max-height:85vh;padding:20px;background:#17212c;color:#e6edf4;border:1px solid #456077;border-radius:12px}.composition-dialog::backdrop{background:#0009}.composition-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}#compositionRows{max-height:48vh;overflow:auto}.composition-row{display:flex;gap:6px;padding:6px 0}.composition-row input{min-width:0;flex:1}.composition-dialog button{padding:7px 10px}.composition-dialog p{font-size:13px;color:#aec2d2}

.composition-dialog[open]{display:flex;flex-direction:column;gap:6px;overflow:hidden;box-sizing:border-box}.composition-dialog h2,.composition-dialog p{margin:4px 0}.composition-dialog #compositionRows{min-height:90px;flex:1;overflow:auto}.composition-dialog>button{align-self:flex-end;flex-shrink:0}

#automationPoints{max-height:240px;overflow:auto}#automationPoints>button{margin:4px}.automation-point{display:flex;gap:8px;padding:4px}.automation-point input,.automation-point select{min-width:0;flex:1}.automation-point input{max-width:150px}

.midi-import-dialog{box-sizing:border-box;width:min(850px,94vw);max-height:90vh;background:#24313a;color:#e6edf4;border:1px solid #6b8892;border-radius:12px;padding:22px;overflow:auto}.midi-import-dialog::backdrop{background:#0009}.midi-import-tools,.midi-import-dialog footer{display:flex;gap:10px;flex-wrap:wrap}.midi-import-dialog footer{justify-content:flex-end;margin-top:16px}.midi-import-dialog fieldset{border:0;padding:0;margin:12px 0}.midi-import-dialog p{font-size:13px;line-height:1.5}.midi-range{display:flex;gap:10px}.midi-range>label{min-width:0;flex:1}.midi-import-dialog label{display:block;margin:8px 0}.midi-part{display:flex;gap:12px;align-items:center;padding:6px 0}.midi-part label,.midi-part select{flex:1;min-width:0}.midi-import-dialog input[type=checkbox]{width:auto;margin-right:8px}.midi-import-status{white-space:pre-line;background:#152129;padding:12px;border-radius:6px}.midi-import-dialog button{padding:8px 12px}@media(max-width:550px){.midi-part{display:block}}

.midi-part label,#midiFilename{overflow-wrap:anywhere}

.midi-import-dialog #midiTitle,.midi-import-dialog input[type=number]{box-sizing:border-box;width:100%;min-width:0;padding:8px;border-radius:5px;background:#152129;border:1px solid #58717e;color:#e6edf4}.midi-import-dialog footer button{font-size:13px;min-height:36px;padding:8px 18px;border-radius:6px;border:1px solid #58717e;color:#e6edf4}.midi-import-dialog #midiConfirmBtn{background:#a0dcc9;color:#122528;border-color:transparent;font-weight:600}.midi-import-dialog #midiConfirmBtn:disabled{opacity:.4}

/* Small direct controls; keep the stage and transport compact. */
.tempo-control .auto-launch{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:22px;padding:2px 4px;line-height:1}.video-motion{display:grid;gap:8px;margin:12px 0}.video-motion label{display:flex;gap:8px;align-items:center}.video-motion input[type=range]{width:100%}#stageTitle{text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65vw;display:inline-block}#removeVoiceBtn{margin-top:4px}
#librarySourceDialog form{display:grid;gap:.8rem}#librarySourceFile{width:100%;min-width:0}#librarySourceStatus{overflow-wrap:anywhere;min-height:1.4em}
