@font-face{font-family:Plex;src:url(/runtime/fonts/plex-mono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url(/runtime/fonts/plex-mono-600.woff2)format("woff2");font-weight:600;font-display:swap}:root,:root[data-theme=instrument]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#e4e2dc;--panel:#d6d3cb;--raised:#f5f4f0;--ink:#26231f;--muted:#736d64;--line:#c9c5bc;--accent:#ff5a1f;--accent-ink:#fff;--accent-soft:#ffe2d6;--screen:#fbfbf7;--screen-ink:#26231f;--danger:#b2402f;--canvas:#dedbd3;--paper:#ecebe6;--red:var(--danger);--radius:10px;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-label:Plex, ui-monospace, monospace}:root[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#f2f1ea;--panel:#ebeae2;--raised:#f8f7f1;--ink:#111;--muted:#555;--line:#11111140;--accent:#111;--accent-ink:#f2f1ea;--accent-soft:#dcdbd2;--screen:#d9dccf;--screen-ink:#111;--danger:#8a1f12;--canvas:#e6e5dc;--paper:#ebeae2;--radius:2px;--font-body:Plex, ui-monospace, monospace;--font-label:Plex, ui-monospace, monospace}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#15181a;--panel:#1d2124;--raised:#262b2f;--ink:#e9ecea;--muted:#8d969a;--line:#30363a;--accent:#3ddc84;--accent-ink:#06200f;--accent-soft:#173b28;--screen:#c9cdb8;--screen-ink:#111;--danger:#e5735f;--canvas:#101314;--paper:#1d2124;--radius:8px;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-label:Plex, ui-monospace, monospace}:root{font-family:var(--font-body);color:var(--ink);background:var(--surface);font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:9px;padding:7px 10px;transition:background .12s,color .12s}button:hover{background:var(--surface)}button:disabled{opacity:.4;cursor:default}button.active,button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000}input,textarea,select{border:1px solid var(--line);background:var(--raised);border-radius:7px;width:100%;min-width:0;padding:8px}textarea{resize:vertical;min-height:70px}label{color:var(--muted);text-transform:capitalize;flex-direction:column;gap:6px;margin:10px 0;font-size:11px;display:flex}input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}small{color:var(--muted);font-size:10px}.studio{flex-direction:column;height:100dvh;min-height:420px;display:flex;overflow:hidden}.studio-header{border-bottom:1px solid var(--line);background:var(--raised);flex-shrink:0;align-items:center;gap:28px;height:72px;padding:12px 22px;display:flex}.studio-brand{color:var(--ink);letter-spacing:-.6px;white-space:nowrap;align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.studio-brand>span{width:34px;height:34px;color:var(--surface);background:var(--ink);border-radius:11px;place-items:center;font-family:Plex,monospace;display:grid}.studio-brand em{letter-spacing:1.5px;color:var(--muted);margin-left:4px;font-family:Plex,monospace;font-size:10px;font-style:normal;font-weight:400}.project-name{flex:1;min-width:100px;max-width:330px}.project-name input{background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.project-name small{margin-top:5px;font-size:10px;display:block}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:10px 14px;font-weight:600}.primary:hover{background:var(--accent);filter:brightness(.92)}.connection-button{border-color:#0000;font-size:11px}.connection-button i{background:var(--muted);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.connection-button i.online{background:#3a9b5c}.studio-toolbar{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0;align-items:center;gap:6px;height:51px;padding:8px 18px;display:flex}.studio-toolbar button{border-color:#0000;font-size:12px}.segmented{background:var(--surface);border-radius:10px;padding:2px;display:flex}.toolbar-divider{background:var(--line);width:1px;height:22px;margin:0 7px}.spacer{flex:1}.studio-main{flex:1;grid-template-columns:244px minmax(0,1fr) 270px;min-height:0;display:grid}.studio-main.left-closed{grid-template-columns:minmax(0,1fr) 270px}.studio-main.right-closed{grid-template-columns:244px minmax(0,1fr)}.studio-main.left-closed.right-closed{grid-template-columns:minmax(0,1fr)}aside{background:var(--panel);scrollbar-width:thin;overflow:auto}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.data-sources label{margin:10px 0;display:block}.data-sources input:not([type=checkbox]),.data-sources select,.data-sources textarea{width:100%;min-width:0}.data-sources fieldset{border:1px solid var(--line);min-width:0;margin:12px 0}.data-sources pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.data-sources .row{flex-wrap:wrap;margin:8px 0}.source-form>button{margin:4px 0}.panel-tabs{z-index:3;background:var(--panel);border-bottom:1px solid var(--line);gap:3px;padding:11px 10px 9px;display:flex;position:sticky;top:0}.panel-tabs button{text-transform:capitalize;border-color:#0000;flex:1;padding:8px;font-size:11px}.panel-content{padding:14px}.section-heading{justify-content:space-between;align-items:center;gap:8px;margin:4px 0 14px;font-size:12px;font-weight:600;display:flex}.section-heading>button{border:0;padding:4px 8px;font-size:18px;line-height:16px}.section-heading small{font-size:9px;font-weight:400}.screen-list{flex-direction:column;gap:5px;display:flex}.screen-row{text-align:left;border-color:#0000;border-radius:11px;align-items:center;gap:9px;padding:10px 8px;display:flex}.screen-row>span:nth-child(2){flex:1}.screen-row small{margin-top:4px;font-size:9px;display:block}.screen-icon{color:var(--muted);font-size:17px}.full{width:100%;margin-top:14px}.parts-grid{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:24px;display:grid}.parts-grid button{text-transform:capitalize;background:var(--raised);height:82px;padding:6px;font-size:10px;line-height:1.5}.part-icon{height:37px;font-family:Plex,monospace;font-size:23px;line-height:32px;display:block}.pattern-row{text-align:left;border:0;gap:9px;width:100%;padding:11px 7px;font-size:11px;display:flex}.pattern-row small{white-space:nowrap;margin-left:auto;font-size:9px}.pattern-row>span{color:var(--muted);font-size:16px}.layer-row{border-radius:8px;align-items:center;margin-bottom:3px;display:flex}.layer-row.active{background:var(--accent-soft)}.layer-row>button{text-align:left;border:0;padding:9px 4px}.layer-row>button:first-child{flex:1;font-size:11px;overflow:hidden}.layer-row span{margin-right:7px}.layer-row small{white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0 20px;display:block;overflow:hidden}.history-row{color:var(--muted);padding:7px 0;font-size:10px}.board{touch-action:none;background-color:var(--canvas);-webkit-user-select:none;user-select:none;background-image:radial-gradient(#b7c0b45c .8px,#0000 .8px);background-size:18px 18px;outline:none;position:relative;overflow:hidden}.board-world{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.hand-tool{cursor:grab}.hand-tool:active{cursor:grabbing}.screen-frame{width:400px;height:300px;position:absolute;box-shadow:0 4px 14px #2b372917}.frame-label{width:400px;height:25px;color:var(--muted);cursor:grab;white-space:nowrap;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex;position:absolute;top:-33px;left:0}.frame-label>small{margin-left:auto;font-family:Plex,monospace;font-size:10px}.selected-frame .frame-label{color:var(--accent);font-weight:700}.frame-content{background:var(--paper);outline:1px solid #3f483523;width:400px;height:300px;position:relative;overflow:hidden}.selected-frame .frame-content{outline:2px solid var(--accent)}.frame-content>canvas,.preview-screen>canvas{width:400px;height:300px;image-rendering:pixelated;display:block}.component-hit{cursor:move;position:absolute}.component-hit:hover{outline:1px solid #52897688}.component-hit.selected-component{outline:1.5px solid #397ee9}.locked-component{cursor:default}.resize-handle{background:var(--raised);cursor:nwse-resize;border:1.5px solid #397ee9;width:8px;height:8px;position:absolute;bottom:-4px;right:-4px}.focus-outline{outline:2px dashed var(--accent);pointer-events:none;position:absolute}.snap-guide,.manual-guide{pointer-events:none;z-index:5;background:#d53e81;position:absolute}.vertical{width:1px;height:300px;top:0}.horizontal{width:400px;height:1px;left:0}.manual-guide{background:#5299cf66}.flow-svg{pointer-events:none;width:1px;height:1px;color:var(--accent);position:absolute;top:0;left:0;overflow:visible}.flow-svg>g>path,.flow-svg>path{fill:none;stroke:currentColor;stroke-width:2px;opacity:.65}.flow-svg text{fill:currentColor;font-family:Plex,monospace;font-size:10px}.flow-port{cursor:crosshair;color:var(--accent);font-size:18px}.marquee{pointer-events:none;background:#397ee922;border:1px solid #397ee9;position:absolute}.property-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.property-grid .wide{grid-column:1/-1}.check{flex-direction:row;align-items:center;gap:7px;font-size:11px;display:flex}.row{align-items:center;gap:5px;display:flex}.row>button{white-space:nowrap;flex:1;padding:7px 5px;font-size:10px}.row>label{flex:1}.hint{color:var(--muted);font-size:11px;line-height:1.6}.empty{color:var(--muted);background:var(--surface);border-radius:8px;padding:15px;font-size:12px}.pattern-note{justify-content:space-between;align-items:center;padding:11px 0;font-size:11px;display:flex}.pattern-note strong{font-weight:500}.pattern-note button{font-size:10px}details{border-top:1px solid var(--line);margin-top:12px;padding:13px 0}summary{cursor:pointer;font-size:11px;font-weight:600}fieldset{border:1px solid var(--line);border-radius:9px;margin:12px 0}legend{font-size:11px}.action-card{border:1px solid var(--line);background:var(--raised);border-radius:12px;margin:10px 0;padding:10px}.action-fields{flex-direction:column;gap:7px;margin-top:8px;display:flex}.action-fields select,.action-fields input{font-size:11px}.text-button{color:var(--muted);border:0;padding:8px 0;font-size:10px}.eyebrow{letter-spacing:1px;color:var(--muted);font-family:Plex,monospace;font-size:9px}.focus-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:5px;margin:12px 0;padding-bottom:12px;font-size:11px;display:flex}.focus-row>span{flex:1}.focus-row .action-fields,.focus-action{width:100%}.focus-row>button{padding:2px 6px}.alignment-panel{border-top:1px solid var(--line)}.arrange-grid{grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:10px;display:grid}.arrange-grid button{padding:6px;font-size:16px}.studio-footer{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:42px;padding:6px 14px;font-size:10px;display:flex}.studio-footer>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.footer-options{white-space:nowrap;align-items:center;gap:6px;display:flex}.footer-options label{flex-direction:row;align-items:center;margin:0 8px 0 0;font-size:10px;display:flex}.footer-options select{width:auto;padding:5px;font-size:10px}.footer-options button{border:0;padding:4px 6px;font-size:11px}.footer-options>span{text-align:center;width:38px;font-family:Plex,monospace}.board-loading{background:var(--surface);place-items:center;display:grid;position:absolute;inset:0}.context-menu{background:var(--raised);border:1px solid var(--line);z-index:10;border-radius:12px;flex-direction:column;min-width:150px;padding:7px;display:flex;position:absolute;box-shadow:0 9px 40px #24342125}.context-menu button{text-align:left;text-transform:capitalize;border:0}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c27255c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.preview-dialog{background:var(--panel);border:1px solid var(--raised);border-radius:24px;width:500px;max-width:100%;max-height:95dvh;padding:24px;overflow:auto;box-shadow:0 20px 100px #12251b45}.preview-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.preview-heading h2{margin:7px 0 0;font-size:20px;font-weight:500}.preview-heading>button{border:0;font-size:22px}.device-bezel{background:#303735;border-radius:18px;padding:22px;box-shadow:inset 0 1px 1px #fff4}.preview-screen{transform-origin:0 0;width:400px;height:300px;position:relative;overflow:hidden}.hardware-controls{gap:18px;margin-top:24px;display:flex}.encoder-controls,.gamepad-controls{flex:1}.encoder-controls>div{align-items:center;gap:8px;margin:9px 0;display:flex}.encoder-controls .knob{background:var(--surface);border:6px solid var(--line);border-radius:50%;width:62px;height:62px;font-family:Plex,monospace;font-size:9px}.encoder-controls>button{font-size:10px}.gamepad-controls button{margin:3px;padding:7px;font-family:Plex,monospace;font-size:10px}.dpad{margin-top:8px}.simulation-log{background:var(--surface);border-radius:12px;margin-top:18px;padding:12px;font-family:Plex,monospace;font-size:10px;line-height:1.6}.simulation-log p{margin:7px 0}.preview-dialog>.hint{margin-bottom:0}@media (max-width:1100px){.studio-main{grid-template-columns:210px minmax(0,1fr) 236px}.studio-main.left-closed{grid-template-columns:minmax(0,1fr) 236px}.studio-main.right-closed{grid-template-columns:210px minmax(0,1fr)}.studio-header{gap:16px;padding:12px 15px}.studio-brand em{display:none}.connection-button{font-size:10px}.studio-toolbar{padding:8px 10px}.panel-content{padding:12px}}@media (max-width:760px){.studio-header{gap:12px;height:67px;padding:10px 12px}.studio-brand{font-size:14px}.studio-brand>span{width:30px;height:30px}.project-name{min-width:40px;max-width:150px}.project-name input{font-size:12px}.project-name small{font-size:8px}.header-actions{gap:4px}.header-actions button{padding:8px;font-size:10px}.connection-button{display:none}.studio-toolbar{gap:2px;height:46px;overflow-x:auto}.studio-toolbar button{padding:7px;font-size:10px}.studio-toolbar button span{display:none}.toolbar-divider{margin:0 2px}.studio-main,.studio-main.left-closed,.studio-main.right-closed{display:block;position:relative}.board{position:absolute;inset:0}.left-panel,.right-panel{z-index:10;border:1px solid var(--line);background:var(--raised);border-radius:15px;width:calc(50% - 16px);min-width:160px;max-height:46%;position:absolute;bottom:10px;box-shadow:0 4px 18px #28352625}.left-panel{left:10px}.right-panel{right:10px}.studio-main.left-closed .right-panel,.studio-main.right-closed .left-panel{width:min(360px,100% - 20px)}.panel-tabs{padding:7px}.panel-tabs button{padding:5px;font-size:9px}.section-heading{font-size:11px}.panel-content{padding:10px}.parts-grid{gap:5px}.parts-grid button{height:67px;font-size:9px}.part-icon{height:29px;font-size:19px;line-height:25px}.studio-footer{height:38px;padding:4px 10px}.studio-footer>span{display:none}.footer-options{justify-content:flex-end;gap:3px;width:100%}.footer-options label{margin-right:auto;font-size:9px}.preview-dialog{border-radius:18px;padding:16px}.device-bezel{aspect-ratio:424/324;width:100%;padding:12px;overflow:hidden}.preview-screen{scale:calc((100vw - 98px) / 400);max-width:none}.hardware-controls{gap:10px}.preview-heading{margin-bottom:12px}.modal-backdrop{padding:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.device-bezel .preview-screen{aspect-ratio:4/3;width:100%;height:auto;transform:none}.preview-screen>canvas{width:100%;height:100%}.test-session{border:1px solid var(--line);border-radius:12px;margin:0 0 18px;padding:12px}.test-session p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.5}.test-session.testing{border-color:var(--accent);background:var(--accent-soft)}.test-session strong{font-size:12px}.test-session.testing button{float:right;font-size:10px}.test-session.testing p{clear:both;padding-top:8px}.simulation-log{overflow-wrap:anywhere}.studio-header .connection-button{max-width:130px}.preview-dialog{width:500px}.modal-backdrop{grid-template-columns:minmax(0,1fr)}.preview-dialog{min-width:0;max-width:min(500px,100vw - 24px)}@media (max-width:760px){.studio-footer{flex-direction:column;align-items:stretch;gap:4px;height:auto;min-height:58px}.studio-footer>span{white-space:normal;max-height:36px;line-height:1.4;display:block;overflow:auto}.connection-button{display:block}.studio-brand{gap:0;font-size:0}.studio-header{gap:6px}.header-actions button{padding:6px;font-size:9px}.header-actions .connection-button{max-width:72px}.device-bezel{aspect-ratio:auto}.studio-toolbar{overflow-x:auto}.studio-toolbar>button{flex-shrink:0}.test-session.testing button{float:none;margin-top:8px;display:block}}.connection-dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(580px,100vw - 32px);max-height:calc(100dvh - 40px);padding:24px;overflow-y:auto}.connection-dialog::backdrop{background:#20242680}.connection-dialog h2{margin:5px 0 0}.connection-dialog h3{font-size:15px}.connection-dialog p{line-height:1.55}.connection-dialog a{color:var(--accent);font-size:12px}.connection-summary{gap:10px;margin:24px 0;display:grid}.connection-summary>div{justify-content:space-between;gap:12px;display:flex}.connection-summary dt{color:var(--muted)}.connection-summary dd{text-align:right;margin:0}.connection-actions{flex-wrap:wrap;gap:8px;display:flex}.connection-actions button{white-space:normal}.connection-actions input{letter-spacing:.15em;width:140px;font-family:monospace}.connection-error{border:1px solid var(--red);color:var(--red);overflow-wrap:anywhere;border-radius:8px;padding:12px}.connection-notice,.pairing-comparison{background:var(--accent-soft);border-radius:12px;margin:16px 0;padding:16px}.pairing-form{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.pairing-form>label{margin-bottom:8px;display:block}.pairing-comparison output{letter-spacing:.18em;margin-top:12px;font:36px monospace;display:block}.connection-footnote{color:var(--muted);margin-top:24px;font-size:12px}[hidden]{display:none!important}.controller-app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.controller-nav{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0;align-items:center;gap:16px;height:52px;min-height:52px;padding:6px 20px;display:flex}.controller-nav nav{flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.controller-nav nav button{border-color:#0000;flex-shrink:0}.controller-nav a{color:var(--muted);white-space:nowrap;font-size:11px}.controller-design{flex:1;min-height:0}.controller-design .studio{height:100%;min-height:0}.controller-content{background:var(--canvas);flex:1;min-height:0;padding:24px;overflow:auto}.controller-content>section{max-width:1480px;margin:auto}.controller-notice{z-index:2000;background:var(--ink);color:#fff;pointer-events:none;border-radius:10px;align-items:center;gap:16px;max-width:min(600px,100vw - 32px);padding:10px 12px 10px 18px;line-height:1.5;display:flex;position:fixed;top:62px;right:16px;box-shadow:0 8px 24px #0002}.controller-notice button{pointer-events:auto;color:#fff;border:0}.controller-notice button:hover{background:var(--raised)}.control-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.control-columns>div{min-width:0}.control-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0;margin-bottom:20px;padding:22px}.control-card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.control-card h2{margin:0;font-size:17px}.control-card h1{overflow-wrap:anywhere;margin:12px 0;font-size:clamp(22px,2.5vw,34px);line-height:1.15}.control-card h3{margin-top:24px;font-size:14px}.control-card p,.control-card li{line-height:1.6}.control-card li{margin:10px 0}.control-card fieldset{border:0;min-width:0;padding:0}.control-card code{overflow-wrap:anywhere}.control-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.control-actions label{margin:0}.control-actions button{white-space:normal}.control-muted{color:var(--muted);font-size:12px}.control-volume{text-transform:none;margin:24px 0 10px}.control-volume>span{justify-content:space-between;gap:16px;display:flex}.control-volume input{accent-color:var(--accent);padding:0}.control-mirror{background:var(--ink);border-radius:18px;margin:0;padding:14px}.control-mirror canvas{width:100%;max-width:400px;height:auto;image-rendering:pixelated;border-radius:4px;margin:auto;display:block}.control-mirror figcaption{text-align:center;color:var(--surface);margin-top:12px;font-size:10px}.control-list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;width:100%;min-width:0;padding:14px 0;display:flex}button.control-list-row{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0}.control-list-row>div:not(.control-actions){flex:1;min-width:0}.control-list-row strong{overflow-wrap:anywhere;display:block}.control-list-row small{overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.control-list-row .control-actions{flex-shrink:0;max-width:180px}.item-number{color:var(--muted);font:12px Plex,monospace}.control-chip{background:var(--accent-soft);white-space:nowrap;border-radius:6px;padding:5px 9px;font-size:10px}.station-editor{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:20px;padding:16px}.station-edit-row{grid-template-columns:minmax(90px,1fr) minmax(100px,2fr) auto;align-items:end;gap:8px;display:grid}.station-edit-row>button{margin-bottom:10px}.cartridge-drop{text-align:center;border:2px dashed var(--line);background:var(--accent-soft);text-transform:none;border-radius:12px;justify-content:center;align-items:center;min-height:160px;padding:24px}.cartridge-drop input{background:0 0;border:0;max-width:300px}.cartridge-drop.disabled{opacity:.6}.control-diagnostics{margin:0}.control-diagnostics>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.control-diagnostics dd{text-align:right;overflow-wrap:anywhere;margin:0}.control-diagnostics dt{color:var(--muted)}.clock-invite{background:var(--accent-soft);border-radius:12px;margin:20px 0;padding:18px}.clock-invite small{margin-top:12px;display:block}.invite-qr{width:min(230px,100%);image-rendering:pixelated;margin:auto;display:block}.control-check{text-transform:none;flex-direction:row;align-items:center;display:flex}.home-control-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.home-now-card{background:var(--surface)}.now-playing-copy{align-items:center;gap:24px;margin:24px 0;display:flex}.control-artwork{object-fit:cover;border-radius:8px;flex-shrink:0;width:54px;height:54px}.control-artwork.placeholder{background:var(--accent-soft);color:var(--accent);place-items:center;font:20px Plex,monospace;display:grid}.now-playing-copy .control-artwork{border-radius:14px;width:clamp(72px,10vw,150px);height:clamp(72px,10vw,150px);font-size:36px}.spotify-search{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.spotify-search label:first-child{flex:1;min-width:150px}.spotify-search>button{margin-bottom:10px}.spotify-pagination{justify-content:space-between;margin-top:16px}.spotify-link{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.controller-mini-player{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;align-items:center;gap:12px;padding:10px 24px;display:flex}.mini-player-title{text-align:left;border:0;flex:1;min-width:0}.mini-player-title strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.mini-player-title small{margin-top:4px;display:block}@media (max-width:900px){.control-columns,.home-control-grid{grid-template-columns:minmax(0,1fr)}.controller-content{padding:16px}}@media (max-width:600px){.controller-nav{gap:6px;padding:5px 8px}.controller-nav>a{display:none}.controller-nav nav button{padding:8px;font-size:12px}.controller-nav>.control-actions{flex-wrap:nowrap;gap:3px}.controller-nav>.control-actions button{padding:6px;font-size:11px}.control-card{padding:16px}.control-card>header{margin-bottom:14px}.control-list-row{flex-wrap:wrap}.control-list-row .control-actions{max-width:none}.station-edit-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:0}.station-edit-row>button{justify-self:end}.controller-mini-player{gap:4px;padding:8px}}.asset-entry{border-bottom:1px solid var(--line);padding:6px 0}.asset-actions{flex-wrap:wrap;gap:4px;padding:0 5px 5px;display:flex}.asset-actions button{padding:5px 7px;font-size:11px}.asset-inspector{margin:12px 0}.asset-inspector .row{flex-wrap:wrap}.guide-row{align-items:end;gap:6px;display:flex}.guide-row label{flex:1;min-width:0}.checkpoint-date{color:var(--muted);margin-top:4px;font-size:10px;display:block}.flow-overview-row,.diagnostic-row{text-align:left;white-space:normal;overflow-wrap:anywhere;width:100%;margin-top:6px;display:block}.flow-overview-row small,.diagnostic-row small{color:var(--muted);margin:4px 0;display:block}.diagnostic-row:disabled{opacity:1;cursor:default}.diagnostic-row.warning{border-color:#b78631}.diagnostic-row.error{border-color:var(--red)}.comparison-dialog{width:min(900px,100vw - 32px)}.comparison-canvases{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.comparison-canvases figure{min-width:0;margin:10px 0}.comparison-canvases figcaption{margin-bottom:8px;font-size:12px}.comparison-canvases canvas{width:100%;height:auto}.checkpoint-diff{flex-wrap:wrap;gap:6px;display:flex}.flow-dialog label,.comparison-dialog label{gap:5px;margin:12px 0;display:grid}@media (max-width:650px){.comparison-canvases{grid-template-columns:1fr}}@media (max-width:760px){.studio-footer{flex-flow:column wrap;align-items:stretch;gap:4px;height:auto;min-height:38px}.studio-footer>span{white-space:normal;flex-basis:auto;max-width:100%;font-size:10px;display:block;overflow:auto}.footer-options{flex-wrap:wrap;max-width:100%}}.software-status{grid-template-columns:auto minmax(0,1fr);gap:6px;font-size:11px;display:grid}.software-status dd{overflow-wrap:anywhere;margin:0}.software-log{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--canvas);max-height:180px;padding:8px;font-size:10px;overflow:auto}.device-software input[type=file]{max-width:100%;font-size:11px}.device-software progress{width:100%;margin:10px 0}.board.no-grid{background-image:none}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-option{border-radius:var(--radius);border:1px solid var(--line);background:var(--raised);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.theme-option[aria-checked=true]{outline:2px solid var(--accent);outline-offset:1px}.theme-swatch{border-radius:calc(var(--radius) - 2px);width:100%;height:34px}.theme-option-instrument .theme-swatch{background:linear-gradient(90deg,#d6d3cb 50%,#ff5a1f 50%)}.theme-option-paper .theme-swatch{background:linear-gradient(90deg,#f2f1ea 50%,#111 50%)}.theme-option-night .theme-swatch{background:linear-gradient(90deg,#15181a 50%,#3ddc84 50%)}.controller-app{background:var(--surface);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,340px) minmax(0,1fr);display:grid}.controller-app.is-designing{flex-direction:column;display:flex}.controller-app.is-designing .controller-workspace{flex:none}.controller-workspace{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.clock-pane{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:12px;min-height:0;padding:16px;display:flex;overflow:auto}.clock-pane .control-mirror canvas{border-radius:var(--radius);background:var(--screen);width:100%;height:auto;box-shadow:inset 0 1px 5px #0003}.source-switch{background:var(--line);border-radius:999px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.source-switch button{background:0 0;border:0;border-radius:999px}.source-switch button[aria-pressed=true]{background:var(--raised);font-weight:600;box-shadow:0 1px #0002}.clock-pane-now{align-items:center;gap:12px;display:flex}.clock-pane-now h2{margin:4px 0 2px;font-size:17px}.clock-pane-now p{color:var(--muted);margin:0}.clock-pane-transport button.primary{background:var(--accent);color:var(--accent-ink)}.clock-pane-footer{align-items:center;gap:6px;margin-top:auto;display:flex}.clock-pane-footer button:last-child{margin-left:auto}.clock-pane-footer i{background:var(--danger);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.clock-pane-footer i.online{background:#3a9b5c}.controller-nav nav button[aria-pressed=true]{color:var(--accent);font-weight:600}.control-chip,.control-card h2,.eyebrow{font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase}button{border-radius:999px}@media (max-width:900px){.controller-app:not(.is-designing){flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.controller-app:not(.is-designing) .controller-workspace,.controller-app:not(.is-designing) .controller-content{overflow:visible}.clock-pane{border-right:0;border-bottom:1px solid var(--line)}}.launchpad{flex-direction:column;gap:22px;padding:18px;display:flex}.launchpad-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.launchpad-header h2{font:600 11px/1 var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.launchpad-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.launchpad-tile{border-radius:var(--radius);border:1px solid var(--line);background:var(--raised);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:12px;display:flex}.launchpad-tile small{color:var(--muted)}.launchpad-tile.on-air{outline:2px solid var(--accent)}.launchpad-tile .control-artwork{aspect-ratio:1;width:100%;height:auto}.control-columns{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;display:grid}.control-card{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius)}.control-list-row{border-radius:calc(var(--radius) - 2px)}.spotify-search{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.spotify-search input{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px}.spotify-chips button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.spotify-results section+section{margin-top:14px}.spotify-section-header{justify-content:space-between;align-items:center;display:flex}.spotify-top-result .control-list-row{background:var(--accent-soft)}@media (max-width:900px){.control-columns,.radio-columns{grid-template-columns:minmax(0,1fr)}}.settings-layout{grid-template-columns:200px minmax(0,1fr);gap:18px;display:grid}.settings-sections{flex-direction:column;align-self:start;gap:4px;display:flex;position:sticky;top:0}.settings-sections button{text-align:left;border-radius:calc(var(--radius) - 2px);background:0 0;border:0;padding:7px 10px}.settings-sections button[aria-current=true]{background:var(--raised);font-weight:600;box-shadow:0 1px #0002}.settings-page{flex-direction:column;gap:16px;min-width:0;padding-bottom:60vh;display:flex}.settings-page .control-card{scroll-margin-top:12px}@media (max-width:900px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-sections{flex-flow:wrap;position:static}}.studio-exit{border:1px solid var(--line);background:var(--raised);align-items:center;gap:6px;display:inline-flex}.studio-header .controller-mini-player{box-shadow:none;background:0 0;border:0;position:static}.studio-software{margin-left:auto;position:relative}.studio-software-panel{z-index:20;border-radius:var(--radius);border:1px solid var(--line);background:var(--raised);width:min(520px,90vw);max-height:70vh;padding:12px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 40px #0003}.studio-header,.studio-toolbar{background:var(--panel);border-color:var(--line)}.clock-pane .control-mirror{background:0 0;border-radius:0;padding:0}.clock-pane .control-mirror figcaption{color:var(--muted);margin-top:6px}.clock-pane .control-mirror canvas[hidden]+figcaption{aspect-ratio:4/3;text-align:center;background:var(--screen);color:var(--muted);border-radius:var(--radius);justify-content:center;align-items:center;margin:0;padding:16px;display:flex;box-shadow:inset 0 1px 5px #0003}:root[data-theme=paper] button{border-radius:var(--radius)}.control-list-row{flex-wrap:wrap}.control-list-row>div:not(.control-actions){flex:14ch}.control-list-row small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.radio-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
