/* Editor refinements share Studio's light/dark theme tokens. */
.studio.docking-enabled{grid-template-rows:54px 30px 48px minmax(0,1fr) 28px}.ide-menubar{display:flex;align-items:stretch;gap:2px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border);overflow-x:auto;z-index:30}.ide-menubar>button{border:0;border-radius:0;padding:0 10px;white-space:nowrap;background:transparent;color:var(--text);font-size:13px}.ide-menubar>button:hover,.ide-menubar>button[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.ide-menu-popup{position:fixed;z-index:10000;min-width:250px;max-width:min(480px,90vw);max-height:calc(100vh - 8px);overflow:auto;padding:5px;background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:0 10px 34px #0003;border-radius:5px}.ide-menu-popup>button{display:grid;grid-template-columns:18px minmax(130px,1fr) auto 14px;align-items:center;gap:10px;text-align:left;width:100%;padding:7px 8px;border:0;background:transparent;color:inherit;font-size:13px;white-space:nowrap}.ide-menu-popup>button:hover,.ide-menu-popup>button:focus-visible{background:var(--accent-soft);outline:1px solid var(--accent)}.ide-menu-popup>button:disabled{opacity:.4}.ide-menu-popup kbd{font-size:11px;background:transparent;color:var(--muted);border:0}.ide-menu-popup hr{border:0;border-top:1px solid var(--border);margin:5px}.ide-menubar button:focus-visible,.solution-explorer button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.solution-explorer{height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden;font-size:13px;background:var(--panel)}.solution-header{display:flex;align-items:center;padding:10px;gap:8px;border-bottom:1px solid var(--border)}.solution-header input{min-width:0;flex:1;font-weight:600;border:0;background:transparent;color:var(--text)}.solution-header span{font-size:11px;white-space:nowrap;color:var(--muted)}.solution-actions,.solution-selection>div{display:flex;gap:4px;flex-wrap:wrap;padding:6px}.solution-actions button,.solution-selection button{font-size:12px;padding:4px 6px;border:1px solid var(--border);border-radius:3px;background:var(--panel);color:var(--text)}.solution-explorer>[data-solution-search]{margin:4px 10px;width:calc(100% - 20px);padding:6px}.solution-tree{flex:1;overflow:auto;padding:5px 0}.solution-tree>[role=treeitem]{display:flex;align-items:center;gap:7px;min-height:30px;width:100%;border:0;background:transparent;color:var(--text);text-align:left;white-space:nowrap;padding-right:10px}.solution-tree>[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.solution-tree small{margin-left:auto;font-size:10px}.solution-tree .drop-target{outline:2px solid var(--accent);outline-offset:-2px}.solution-selection{padding:8px;border-top:1px solid var(--border)}.solution-selection input{width:100%;padding:6px}.solution-selection small{display:block;color:var(--muted);line-height:1.5;font-size:11px}.solution-explorer input,.rich-editors input,.rich-editors select,.resource-workbench-tools input,.resource-workbench-tools select,.resource-detail input,.resource-detail select,.motion-quick input,.motion-quick select,.motion-key-inspector input,.motion-key-inspector select{min-width:0;max-width:100%;background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:3px;padding:5px;font:inherit}
.prop-field:has(.rich-color){grid-template-columns:28px 24px minmax(0,1fr) 18px}.rich-color{width:24px!important;height:24px!important;min-width:24px;padding:1px!important;border:0!important}.rich-alpha{grid-column:2/-2;width:100%;accent-color:var(--accent);height:13px!important}.rich-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 24px;gap:4px;grid-column:1/-1;padding:4px 0}.rich-four label{display:flex;flex-direction:column;font-size:10px;text-align:center;gap:3px}.rich-four input{padding:3px;width:100%;text-align:center}.rich-four button{border:1px solid var(--border);background:var(--input);color:var(--muted)}.rich-four button.active{color:var(--accent);background:var(--accent-soft)}.scrub-label{cursor:ew-resize;user-select:none;border-bottom:1px dotted var(--muted)}.rich-segments{grid-column:1/-1;display:flex;gap:2px;flex-wrap:wrap;padding:3px 0}.rich-segments button{flex:1;font-size:10px;min-width:34px;padding:4px 3px;border:1px solid var(--border);background:var(--input);color:var(--text)}.rich-segments .active,.rich-origin .active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.rich-expression{grid-column:2/-1;background:var(--accent-soft);color:var(--accent);border:0;font-size:11px;text-align:left;padding:3px 6px}.rich-editors{border-top:1px solid var(--border)}.rich-editors details{padding:10px 12px;border-bottom:1px solid var(--border)}.rich-editors summary{font-size:12px;font-weight:600;cursor:pointer;padding:3px 0}.rich-editors details>div{padding-top:8px}.rich-row{display:flex;gap:6px;align-items:center;margin:5px 0;min-width:0}.rich-row>*{min-width:0;max-width:100%}.rich-row input,.rich-row select,.rich-row>span{flex:1}.rich-row button{flex-shrink:0}.rich-editors button,.resource-workbench-tools button,.resource-detail button,.resource-detail~section button{background:var(--input);color:var(--text);border:1px solid var(--border);padding:4px 6px;border-radius:3px;font-size:11px}.rich-ramp{height:32px;border:1px solid var(--border);position:relative;margin:10px 8px 16px;background-color:var(--input)}.gradient-handle{position:absolute;bottom:-8px;transform:translateX(-50%);width:14px;height:17px;border:2px solid white!important;box-shadow:0 0 0 1px #444;border-radius:2px!important;padding:0!important;cursor:ew-resize}.rich-stops>div{display:grid;grid-template-columns:40px 1fr 24px;gap:6px;margin:5px 0}.rich-stops input[type=color]{width:40px;padding:1px}.rich-label{display:flex;align-items:center;gap:8px;font-size:11px;margin:8px 0}.rich-label input{flex:1;accent-color:var(--accent)}.rich-transform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rich-transform-grid label,.rich-row label{display:flex;flex-direction:column;font-size:11px;gap:3px;min-width:0}.rich-origin{display:grid;grid-template-columns:repeat(3,24px);gap:3px;margin:10px auto;width:max-content}.rich-origin button{height:24px;padding:0}.resource-workbench-tools{position:sticky;top:0;padding:7px 10px;background:var(--panel);border-bottom:1px solid var(--border);z-index:2}.resource-workbench-tools .rich-row:nth-child(2){flex-wrap:wrap}.resource-row{border:0;background:transparent;color:var(--text);width:100%;text-align:left;padding:8px 12px;display:flex;gap:9px}.resource-row.active{background:var(--accent-soft)}.resource-row strong{display:block;font-size:12px}.resource-row small{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.resource-detail{padding:12px;border-top:1px solid var(--border);font-size:12px}.resource-detail>label{display:flex;flex-direction:column;gap:5px}.resource-detail details button{display:block;width:100%;text-align:left;overflow-wrap:anywhere}.resource-detail h4{margin:0 0 8px}.resource-browser{min-height:60px}
.inline-text-editor{position:absolute;z-index:80;background:var(--panel);border:2px solid var(--accent);box-shadow:0 8px 25px #0003;min-width:180px;max-width:calc(100% - 12px)}.inline-text-editor textarea{display:block;width:100%;resize:both;max-width:100%;border:0;padding:8px;color:var(--text);background:var(--panel);outline:0}.inline-text-editor>div{display:flex;align-items:center;gap:5px;padding:4px 5px;border-top:1px solid var(--border);font-size:10px}.inline-text-editor span{flex:1;color:var(--muted)}.inline-text-editor button{border:0;background:var(--accent-soft);color:var(--accent)}.direct-adorner{position:absolute;z-index:45;display:flex;gap:2px;pointer-events:auto;box-shadow:0 2px 6px #0002;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--panel)}.direct-adorner button{width:28px;height:25px;border:0;color:var(--accent);background:var(--panel);padding:0}.direct-adorner button:hover{background:var(--accent-soft)}.path-point{position:absolute;z-index:47;width:9px;height:9px;border:1px solid var(--accent);background:white;padding:0;cursor:move}.path-point.tangent{border-radius:50%;background:var(--accent-soft)}
.views-toolbar{flex-wrap:wrap;gap:7px}.views-toolbar input#views-search{width:160px;padding:5px;background:var(--input);color:var(--text);border:1px solid var(--border)}.views-toolbar>label{font-size:11px;display:flex;align-items:center;gap:5px}.views-toolbar input[type=range]{width:80px}.views-grid{justify-content:start}.view-card{min-width:0}.view-card>header{overflow:hidden;min-height:34px;gap:4px}.view-card [data-open-view]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-card .view-thumbnail{width:100%}.views-workbench-footer{display:flex;gap:8px;align-items:center;padding:7px 12px;border-top:1px solid var(--border);font-size:11px;flex-wrap:wrap}.views-workbench-footer>span:last-child{color:var(--muted)}#view-connection-editor{padding:10px;display:flex;gap:8px;align-items:end;flex-wrap:wrap;background:var(--panel);border-top:1px solid var(--border)}#view-connection-editor[hidden]{display:none}#view-connection-editor label{font-size:11px;display:flex;flex-direction:column;gap:3px}#view-connection-editor input,#view-connection-editor select{max-width:170px;background:var(--input);color:var(--text);border:1px solid var(--border);padding:5px}#view-connection-editor button{padding:5px;background:var(--input);color:var(--text);border:1px solid var(--border)}#views-empty{padding:25px;color:var(--muted)}#views-load-more{margin:10px}
.motion-quick,.motion-key-inspector{display:flex;align-items:end;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:11px;background:var(--panel);flex-shrink:0}.motion-quick label,.motion-key-inspector label{display:flex;flex-direction:column;gap:3px}.motion-quick input{width:110px}.motion-quick #motion-inline-duration{width:70px}.motion-quick #motion-quick-property{max-width:190px}.motion-quick #motion-snap{width:auto}.motion-key-inspector input{width:85px}.motion-key-inspector select{max-width:105px}.motion-quick button,.motion-key-inspector button{background:var(--input);color:var(--text);border:1px solid var(--border);padding:5px;font-size:11px}.motion-track-area{overflow:auto;min-height:70px;flex:1}.motion-key-inspector{border-top:1px solid var(--border);border-bottom:0}.motion-key.selected{outline:2px solid #25a8ff!important;color:#25a8ff!important}.motion-panel{min-height:220px}.dock-tabs{scroll-behavior:smooth}.dock-tab{scroll-margin:20px}
@media(max-width:900px){.ide-menubar{padding:0 4px}.ide-menubar>button{padding:0 7px;font-size:12px}.views-workbench-footer>span:last-child{display:none}.motion-quick{gap:5px}.motion-quick input{width:75px}.studio.docking-enabled{grid-template-rows:54px 30px 48px minmax(0,1fr) 28px}}
.dock-inspector-content .prop-field[data-rich]{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;height:auto;min-height:31px;gap:4px;padding:4px 6px}.dock-inspector-content .prop-field[data-rich]:has(.rich-color){grid-template-columns:26px 24px minmax(0,1fr) 18px}.dock-inspector-content .prop-field[data-rich]>input:not([type=color]):not([type=range]),.dock-inspector-content .prop-field[data-rich]>select{width:100%;min-width:0}.dock-inspector-content .prop-field[data-rich]>label{width:auto}.dock-inspector-content .prop-field[data-rich] .rich-four label input{height:26px}.dock-inspector-content .prop-field[data-rich]>button.reset-prop{position:static;grid-column:-2}

/* Live source diagnostics retain the current design and provide explicit recovery. */
.source-sync-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid #e89b6344;background:#d97c1515;color:var(--text);font-size:11px;flex-shrink:0}
.source-sync-banner[hidden]{display:none}.source-sync-banner button{font:inherit;color:inherit;border:1px solid var(--border);border-radius:3px;background:var(--panel);padding:3px 6px;cursor:pointer}.source-sync-banner .source-diagnostic{flex:1;text-align:left;background:transparent;border-color:transparent}.source-has-errors .canvas-header{box-shadow:inset 0 -2px #d38b3b}.source-sync-banner button:focus-visible{outline:2px solid var(--accent)}

.semantic-workspace{display:flex;flex-direction:column;height:100%;min-height:0;font-size:11px;color:var(--text)}.semantic-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:5px;border-bottom:1px solid var(--border)}.semantic-toolbar button{font:inherit;padding:4px 6px;border:1px solid var(--border);border-radius:3px;background:var(--panel);color:inherit}.semantic-filter{font:inherit;margin:6px;padding:6px;min-width:0;border:1px solid var(--border);background:var(--input);color:inherit}.semantic-summary{padding:3px 8px;color:var(--muted)}.semantic-results{min-height:0;overflow:auto;flex:1}.semantic-results>button{display:grid;grid-template-columns:15px minmax(0,1fr) auto;gap:5px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);padding:6px 8px;background:transparent;color:inherit;font:inherit}.semantic-results>button:hover,.semantic-results>button:focus-visible{background:var(--accent-soft)}.semantic-results strong,.semantic-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semantic-results small,.semantic-results code{font-size:10px;color:var(--muted)}.semantic-rename-preview{max-height:200px;overflow:auto;border:1px solid var(--border);padding:8px;font:11px/1.7 ui-monospace,monospace}
