/* TIT Studio — presentation layer. Technical SVG colours and export data stay intact. */
:root{--studio-bg:#edf2f6;--surface:#fff;--surface-soft:#f6f8fb;--surface-hover:#eaf4f1;--text:#243746;--secondary:#596d7c;--border:#dce4eb;--accent:#087f70;--accent-soft:#e3f3ed;--library-width:264px;--inspector-width:290px;--navy:var(--text);--muted:var(--secondary);--line:var(--border);--teal:var(--accent);color-scheme:light}
:root[data-theme=dark]{--studio-bg:#101820;--surface:#18232f;--surface-soft:#1f2c39;--surface-hover:#293d48;--text:#e0e9ee;--secondary:#a7bbc8;--border:#354653;--accent:#72d9bc;--accent-soft:#213f3b;color-scheme:dark}
html,body{width:100%;height:100%;margin:0}body{display:flex;flex-direction:column;height:100dvh;overflow:hidden;font-family:'DM Sans',system-ui,sans-serif;font-size:13px;color:var(--text);background:var(--studio-bg)}button,input,select,textarea{font:inherit}button{border-radius:7px;background:var(--surface);border-color:var(--border);color:var(--text);transition:background .12s,border-color .12s}button:hover:enabled{background:var(--surface-hover);border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=separator]:focus-visible{outline:3px solid #17a386;outline-offset:2px}button:disabled{opacity:.35}.studioIcon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}input,select,textarea{color:var(--text);background:var(--surface);border-color:var(--border)}
.editorHeader{height:52px;min-height:52px;padding:0 16px;gap:12px;background:var(--surface);border-color:var(--border)}.editorHeader .brandmark{display:block;font-size:19px;letter-spacing:-1px;color:white;background:#087f70;border-radius:7px;padding:6px 8px}.editorHeader .brandmark span{color:#a0f0d4}.editorHeader .brand{display:block;font-size:11px;letter-spacing:.5px;color:var(--text)}.editorHeader .brand b{color:var(--accent)}.editorHeader .version{font:600 9px system-ui;color:var(--secondary);border:1px solid var(--border);padding:4px 6px;border-radius:4px}.editorHeader .local{font-size:11px;color:var(--secondary);margin-left:auto}.editorMenu>summary{font-size:12px;color:var(--secondary);padding:8px}.editorMenu[open]>summary,.editorMenu>summary:hover{color:var(--accent);background:var(--accent-soft)}.menuPopup{top:34px;background:var(--surface);border-color:var(--border);box-shadow:0 14px 32px #10203028;padding:7px;border-radius:9px}.menuPopup button{font-size:12px;color:var(--text);padding:11px;background:transparent}.menuPopup kbd{color:var(--secondary)}#studioTheme{display:flex;align-items:center;gap:7px;padding:7px 9px;font-size:11px;background:var(--surface-soft);white-space:nowrap}.editorHeader #help{border:1px solid var(--border);border-radius:50%;height:28px;width:28px;font-size:14px;color:var(--secondary)}
.documentTabs{height:40px;min-height:40px;background:var(--studio-bg);border-color:var(--border);padding:5px 12px 0;gap:6px}.documentTab{font-size:12px;padding:7px 15px;border-radius:7px 7px 0 0;color:var(--secondary)}.documentTab.current{background:var(--surface);color:var(--accent);border-top:2px solid var(--accent)}.documentTab span,.documentTab small{font-size:10px;color:var(--secondary)}.documentTabs>span{font-size:10px;color:var(--secondary)}#studioFind{margin:0 0 5px 14px;display:flex;align-items:center;gap:9px;min-width:160px;padding:5px 9px;color:var(--secondary);font-size:11px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}#studioFind .studioIcon{width:15px}#studioFind kbd{margin-left:auto;font-size:10px;padding:1px 4px;border:1px solid var(--border);border-radius:3px}
.topToolbar{height:46px;min-height:46px;padding:6px 12px;gap:10px;background:var(--surface);border-color:var(--border)}.toolgroup{gap:3px;border-color:var(--border);padding-right:10px}.topToolbar button{height:32px;min-width:32px;padding:6px;border-radius:6px;color:var(--secondary);font-size:10px;font-weight:700}.topToolbar button.active,.verticalToolbar button.active{color:var(--accent);background:var(--accent-soft);border-color:var(--border)}.topToolbar #zoomLabel{font-size:11px;width:48px;color:var(--secondary)}.toolbarMode{font-size:11px;color:var(--secondary)}
.editorMain,.hideInspector .editorMain{position:relative;display:grid;grid-template-columns:44px var(--library-width) minmax(220px,1fr) var(--inspector-width);height:auto;flex:1;min-height:0;background:var(--studio-bg);overflow:hidden}.hideInspector .editorMain{grid-template-columns:44px var(--library-width) minmax(220px,1fr)}.hideLibrary .editorMain{grid-template-columns:44px minmax(220px,1fr) var(--inspector-width)}.hideLibrary.hideInspector .editorMain{grid-template-columns:44px minmax(220px,1fr)}.hideLibrary .editorMain>.library{display:none}.editorMain>.library,.editorMain>.inspector{position:relative;padding:0;background:var(--surface);border-color:var(--border);overflow:auto;min-width:0;height:100%}.verticalToolbar{background:var(--surface-soft);border-color:var(--border);gap:7px;padding:10px 3px}.verticalToolbar button{width:34px;height:34px;min-height:34px;font-size:20px;border-radius:6px;color:var(--secondary);display:grid;place-items:center}.verticalToolbar>span{background:var(--border);margin:2px 0}.studioPanelHead{display:flex!important;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3;padding:12px 15px;background:var(--surface);border-bottom:1px solid var(--border);height:49px}.studioPanelHead strong{font-size:13px;letter-spacing:.1px}.studioPanelHead button{border:0;background:transparent;padding:3px;color:var(--secondary)}.studioPanelHead .studioIcon{width:15px;height:15px}.studioLibraryIntro{padding:15px}.studioCatalogCount{display:block;font-size:11px;color:var(--secondary);margin-bottom:10px}.studioSearch{display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft);padding:5px 8px;margin-bottom:11px}.studioSearch>.studioIcon{width:16px;color:var(--secondary)}.studioSearch input{width:100%;min-width:0;font-size:12px;padding:5px 0;border:0;background:transparent}.studioSearch>button{padding:3px;line-height:1;border:0;background:transparent}.studioSearch>button .studioIcon{width:15px}#browseLibrary{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;padding:11px;font-size:12px;border-radius:7px;background:#087f70;color:#fff;border-color:#087f70}#browseLibrary span{margin:0;font-size:11px;color:inherit}#browseLibrary #libraryTotal{font-size:10px;opacity:.8;white-space:nowrap}.studioGroup{border-top:1px solid var(--border);margin:0}.studioGroup>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;min-height:42px;padding:11px 15px;font-size:11px;font-weight:600;letter-spacing:.15px;color:var(--secondary)}.studioGroup>summary::-webkit-details-marker{display:none}.studioGroup>summary:before{content:'›';font-size:18px;line-height:12px;transform:rotate(0);transition:transform .1s}.studioGroup[open]>summary:before{transform:rotate(90deg)}.studioGroup[open]>summary{color:var(--text)}.studioGroupBody{padding:0 12px 12px}.library .components{margin:0;gap:6px}.library .components button{padding:10px;background:var(--surface-soft);border-color:var(--border);border-radius:6px;gap:9px}.library .components button div{font-size:12px}.library .components small{font-size:10px;color:var(--secondary)}.library .components button>span{font-size:23px;color:var(--accent)}#studioFamilies .studioGroupBody{display:grid;gap:4px}#studioFamilies button{margin:0;text-align:left;width:100%;font-size:12px;line-height:1.5;padding:9px 10px;border:0;border-radius:6px;background:var(--surface-soft);color:var(--text)}#studioCategories #quickCategories button{font-size:12px;line-height:1.5;padding:8px;background:transparent;color:var(--text)}.library .example{background:var(--surface-soft);border-radius:6px;padding:11px}.library .example strong{font-size:12px}.library .example small{font-size:10px;color:var(--secondary)}.sidebarOverview{margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.sidebarTitle{font-size:10px;color:var(--secondary);background:var(--surface-soft)}#minimap{height:135px}.passiveExamples{margin:8px 0}.quickPlacementRow{gap:4px}.library .quickPlaceButton,.library .quickDemoButton{font-size:11px;color:var(--text);background:var(--surface-soft);border-color:var(--border)}.library .quickPlacementHelp{font-size:11px;color:var(--secondary)}
.studioInspector{padding:0 18px 20px}.studioInspector>.eyebrow:first-child,.studioInspector>h2:first-of-type{display:none}.studioInspectorNav{display:flex;gap:5px;padding:9px 13px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.studioInspectorNav button{flex:1;padding:7px;font-size:11px;background:var(--surface);color:var(--secondary)}.inspector .partref{margin-top:15px;background:var(--surface-soft);border-radius:7px;padding:12px}.inspector .muted{font-size:12px;line-height:1.7;color:var(--secondary)}.inspector .field{font-size:12px;color:var(--secondary);margin:15px 0}.inspector .field input,.inspector .field select{padding:10px;font-size:13px;background:var(--surface);color:var(--text);border-color:var(--border);border-radius:6px}.inspector .measurement{font-size:12px;border-color:var(--border)}.inspector .measurement b{font-size:14px;color:var(--accent)}.inspector .resultgroup{font-size:11px;color:var(--secondary)}.inspector h2{font-size:16px;color:var(--text)}.inspector .resultshead{border-color:var(--border)}.inspector .eyebrow{font-size:10px;color:var(--secondary)}.scope,.emptyresult{background:var(--surface-soft);border-color:var(--border);color:var(--secondary)}.inspector .scope{font-size:11px;line-height:1.7;padding:12px}.scope b,.emptyresult p{color:var(--text)}.transientSettings{background:var(--surface-soft);border-color:var(--border);color:var(--secondary)}.transientSettings p{font-size:11px;line-height:1.6;color:var(--secondary)}
.studioResize{position:absolute;top:0;bottom:0;width:7px;z-index:5;cursor:col-resize;touch-action:none}.studioResize[data-panel=library]{left:calc(44px + var(--library-width) - 4px)}.studioResize[data-panel=inspector]{right:calc(var(--inspector-width) - 4px)}.studioResize:hover,.studioResize:focus-visible{background:#13a38755}.hideLibrary .studioResize[data-panel=library],.hideInspector .studioResize[data-panel=inspector]{display:none}.studioResizing,.studioResizing *{cursor:col-resize!important;user-select:none!important}
.editorMain .workspace{background:var(--studio-bg);height:100%;overflow:hidden}.projectbar{background:var(--surface-soft);border-color:var(--border);padding:9px 17px;height:51px;min-height:51px}.projectbar>div{display:block;flex:1}.projectbar .eyebrow{display:block;font-size:9px;letter-spacing:1px;color:var(--secondary)}.projectbar input{font-size:13px;font-weight:600;max-width:100%;width:100%;padding:2px 0;color:var(--text);border:0;background:transparent}.projectbar>span{font-size:10px;color:var(--secondary)}#wiringAssistant{min-height:39px;background:var(--surface);border-color:var(--border);padding:6px 14px;gap:9px}#wiringAssistant button{font-size:11px;color:var(--text);background:var(--surface-soft);border-color:var(--border);border-radius:5px;padding:6px 9px}#wireInstruction{font-size:11px;color:var(--secondary)}.canvaswrap{background:#f7fafc}.canvasnote{background:#f7fafce8;color:#596e7c;font-size:10px;padding:5px 7px;border:1px solid #e1e8ee;border-radius:5px}.canvasbadge{font-size:10px;color:#9dafba}#grid path{stroke:#d6e1e8;stroke-width:.65}#sheetBoundary{stroke:#afc4d0;stroke-dasharray:5 5}.workspace footer{height:27px;min-height:27px;background:var(--surface);border-color:var(--border);font-size:10px;color:var(--secondary);padding:7px 13px}
.simulationBar{height:49px;min-height:49px;padding:6px 12px;background:var(--surface);border-color:var(--border);gap:11px;color:var(--secondary)}.simControls{gap:4px}.simControls button{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:34px;height:33px;padding:5px 10px;color:var(--secondary);font-size:16px;border:1px solid var(--border);border-radius:6px}.simControls #run{color:#fff;background:#087f70;border-color:#087f70}.simControls .running{background:#087f70!important;color:white!important;border-color:#087f70!important}.simControls #pause,.simControls #stop{font-size:15px}.studioControlLabel{font-size:11px;font-weight:600}.simControls .paused{background:#fff0cc!important;color:#815a14!important}.simControls button:disabled{opacity:.35}#simulationState{font-size:11px;color:var(--text)}#simulationDescription{font-size:10px;color:var(--secondary)}#messagesButton{font-size:11px;color:var(--secondary);border-color:var(--border)}#messageCount{color:var(--secondary);background:var(--surface-soft)}.sheetStatus{font-size:10px;color:var(--secondary);border-color:var(--border)}
/* Library dialogs and reports use the same theme. */
dialog,.libheader,.libfoot,#componentDetails,.menuPopup{background:var(--surface);color:var(--text);border-color:var(--border)}dialog p,dialog li,.detailName,.detailNote{color:var(--secondary)!important}.libheader h1{font-size:23px}.libtools{border-color:var(--border);flex-wrap:wrap;gap:8px;padding:12px 22px}.libtools input,.libtools select{background:var(--surface-soft);color:var(--text);border-color:var(--border);font-size:12px}.libtools input{min-width:180px}.libtools button{font-size:11px}.librarybody nav,.catalogmain{background:var(--surface-soft);border-color:var(--border)}#componentDetails{border-color:var(--border)}.catalogCard{background:var(--surface);border-color:var(--border);border-radius:8px}.pickComponent strong{font-size:14px;color:var(--text)}.entryName{font-size:12px;color:var(--secondary)}.pickComponent small{font-size:10px;color:var(--secondary)}#catalogSummary{font-size:12px;color:var(--secondary)}.categoryButton{font-size:12px!important;color:var(--text)}.categoryButton.current{background:var(--accent-soft);color:var(--accent)}.categoryButton small{color:var(--secondary)}.libfoot{font-size:10px;color:var(--secondary)}.pinTags span,.pcbPinMap{background:var(--surface-soft);color:var(--secondary)!important;border-color:var(--border)}.symbolPreview{background:#f2f6f8}.primary{background:#087f70;color:white;border-color:#087f70}.simBadge{font-size:9px;background:#e1f3e9;color:#086345}.symbolBadge{font-size:9px;background:#eef0f6;color:#505d78}.error{background:#fcece6;color:#963f24}.menuPopup button:hover{background:var(--surface-hover)}#reportDialog th{background:var(--surface-soft)}#reportDialog td,#reportDialog th{border-color:var(--border);font-size:12px}
.pcbActive .studioInspectorNav{display:none}.pcbActive .editorMain>.library>.studioPanelHead,.pcbActive .editorMain>.inspector>.studioPanelHead{display:flex!important}#pcbSidebar,#pcbInspector{padding:14px}.pcbActive #pcbSidebar .sidebarTitle{margin:-14px -14px 12px;padding:10px 14px}.pcbToolstrip{background:var(--surface);border-color:var(--border);min-height:49px;padding:8px;gap:6px}.pcbToolstrip button{font-size:11px;padding:8px;border-radius:5px;flex-shrink:0}.pcbToolstrip label,.pcbToolstrip select{font-size:11px;color:var(--text)}.pcbToolstrip select,.pcbToolstrip input{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.pcbToolstrip button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--border)}.pcbComponent{font-size:12px;background:var(--surface-soft);border-color:var(--border);border-radius:6px;padding:11px}.pcbComponent>span,.pcbComponent small{font-size:11px;color:var(--secondary)}.pcbSmallNote{font-size:11px!important;color:var(--secondary)!important}.pcbFooter{background:var(--surface);border-color:var(--border);color:var(--secondary);font-size:10px}.pcbPrototype{font-size:9px}#pcbHint{font-size:11px}.verifyFootprint{font-size:11px;color:var(--secondary)}.pcbLibraryCount{color:var(--secondary)}#toast{bottom:63px;z-index:70;background:#183d46;color:white;font-size:12px}
@media(max-width:1200px){.editorHeader .brand{display:none}.editorHeader .local{display:none}#studioTheme{margin-left:auto}.editorMenu>summary{padding:8px 6px}.studioControlLabel{display:none}.documentTabs>span{display:none}#studioFind{margin-left:auto}.toolbarMode{display:none}}
@media(max-width:850px){.editorMain,.hideInspector .editorMain,.hideLibrary .editorMain,.hideLibrary.hideInspector .editorMain{grid-template-columns:44px minmax(0,1fr)}.editorMain>.library{position:absolute;left:44px;top:0;bottom:0;width:min(310px,calc(100vw - 55px));z-index:12;box-shadow:8px 0 25px #10203022}.editorMain>.inspector{display:none}body:not(.hideInspector) .editorMain>.inspector.inspectorMobileOpen{display:block;position:fixed;right:0;top:138px;bottom:49px;width:min(330px,88vw);height:auto;z-index:15;box-shadow:-8px 0 25px #10203033}.hideInspector .editorMain>.inspector{display:none}.studioResize{display:none}.editorHeader .brandmark{font-size:17px}.editorHeader .version{display:none}.editorMenu>summary{font-size:11px}.editorHeader{gap:7px;padding:0 9px}.editorHeader #help{display:none}.documentTab{font-size:11px;padding:7px 10px}.librarybody{grid-template-columns:180px minmax(200px,1fr)}#componentDetails{grid-column:1/-1;max-height:230px;border-top:1px solid var(--border)}#catalogCards{grid-template-columns:repeat(2,minmax(0,1fr))}.librarybody nav{grid-row:1;max-height:100%}.catalogmain{grid-row:1}.libheader{padding:18px}.libheader h1{font-size:20px}.libtools{padding:10px 18px}.sheetStatus,#simulationDescription{display:none}#messagesButton{font-size:10px}.studioControlLabel{display:inline}.projectbar .eyebrow{display:block}}
@media(max-width:640px){.editorHeader{height:49px;min-height:49px;flex-wrap:nowrap;padding:0 7px}.editorHeader .brandmark{display:block;font-size:16px;padding:5px}.editorHeader .menuRow{overflow-x:auto;width:auto;flex:1;justify-content:flex-start;gap:0}.editorMenu>summary{font-size:11px;padding:8px 6px}.editorMenu .menuPopup{position:fixed;top:47px;left:8px;right:8px;width:auto;max-height:70dvh;overflow:auto}.editorMenu:nth-last-child(-n+3) .menuPopup{left:8px;right:8px}#studioTheme{margin-left:0;border:0;padding:6px}#studioTheme span{display:none}.documentTabs{padding-left:5px;height:38px;min-height:38px;gap:0}.documentTab small,.documentTab span{display:none}#studioFind{min-width:32px;width:32px;padding:6px;margin-left:auto;margin-right:5px}#studioFind span,#studioFind kbd{display:none}.topToolbar{height:44px;min-height:44px;padding:5px;gap:5px}.toolgroup{gap:2px;padding-right:6px}.topToolbar button{min-width:31px;height:31px}body:not(.hideInspector) .editorMain>.inspector.inspectorMobileOpen{top:131px}.projectbar{height:48px;min-height:48px;padding:7px 10px}.projectbar input{font-size:12px}.projectbar .eyebrow{font-size:8px}.projectbar>span{display:none}#wireInstruction{display:none}#wiringAssistant{min-height:37px;padding:5px 9px;flex-wrap:nowrap}#wiringAssistant button{font-size:10px;padding:5px 7px}.canvasnote{font-size:9px;bottom:7px;left:7px;max-width:85%}.canvasbadge{font-size:8px}.workspace footer{font-size:9px;padding:7px 8px}.simulationBar{gap:7px;padding:6px 7px}.simControls button{min-width:29px;padding:4px 6px}.studioControlLabel{display:none}#simulationState{font-size:10px}#messagesButton{padding:5px 7px;font-size:9px}.simDivider{display:none}.libheader p{display:none}.libtools input{flex-basis:100%;min-width:0}.libtools select{min-height:33px}.librarybody{grid-template-columns:1fr}.librarybody nav{display:none}.catalogmain{padding:12px}.libfoot{padding:8px 12px;font-size:9px}.libtools{padding:8px 12px}.libheader{padding:12px}#libraryDialog{height:95dvh;width:97vw}.studioSearch input{font-size:14px}#componentDetails{max-height:250px}.pcbFooter{font-size:9px}.pcbPrototype{max-width:90%;font-size:8px}#pcbHint{font-size:10px}}
@media print{body{display:block;height:auto;overflow:visible}.studioResize,.studioPanelHead,.studioInspectorNav{display:none!important}.editorMain,.hideInspector .editorMain,.hideLibrary .editorMain,.hideInspector.hideLibrary .editorMain{display:block;height:auto}.projectbar{background:white}.canvaswrap{background:white}#grid path{stroke:#d6e1e8}}

@media(max-width:640px){.librarybody{grid-template-rows:auto minmax(120px,1fr) auto}.librarybody nav{display:flex;grid-row:1;gap:4px;overflow-x:auto;overflow-y:hidden;padding:7px;max-height:50px;border-bottom:1px solid var(--border)}.categoryButton{width:auto;min-width:max-content;padding:7px!important;margin:0!important;font-size:11px!important}.categoryButton small,.categoryIcon{display:none}.catalogmain{grid-row:2}#componentDetails{grid-row:3;grid-column:1}}
@media(prefers-reduced-motion:reduce){button,.studioGroup>summary:before{transition:none}*{scroll-behavior:auto!important}}
@media print{:root{--text:#243746!important;--surface:#fff!important;--surface-soft:#fff!important;--secondary:#596d7c!important}body{background:white!important;color:#243746!important}}
.componentContextMenu{background:var(--surface);color:var(--text);border-color:var(--border)}.componentContextTitle{background:var(--accent-soft);color:var(--accent)}.componentContextSeparator{background:var(--border)}.componentContextMenu button:hover:enabled,.componentContextMenu button:focus-visible{background:var(--surface-hover)}:root[data-theme=dark] .componentContextMenu button.danger{color:#ffad99}.sceneToolbar,.referencePanel{background:var(--surface-soft);color:var(--text);border-color:var(--border)}.sceneToolbar button,.sceneToolbar select{background:var(--surface);color:var(--text);border-color:var(--border)}.sceneFooter{color:var(--secondary);background:var(--surface)}input[type=range],input[type=checkbox]{accent-color:var(--accent)}
@media(max-width:640px){input[type=text],input[type=search],input[type=number],select,textarea,.inspector .field input,.libtools input{font-size:16px}}
