:root{color-scheme:dark;--font:"Segoe UI",Inter,-apple-system,BlinkMacSystemFont,Arial,sans-serif;--mono:"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace;--left:232px;--right:274px;--bottom:226px}
html[data-theme=light]{color-scheme:light;}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--font);font-size:12px;}button,input,select,textarea{font:inherit;}button{cursor:pointer}button{padding:0}button:disabled{opacity:.3;cursor:default}button:not(:disabled):focus-visible,input:focus-visible,select:focus-visible{}button:not(:disabled):hover{}input,select{padding:6px 8px;}input:focus,select:focus{}svg{display:block;flex:none}svg.icon{width:16px;height:16px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}span[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none}kbd{font:10px var(--font);padding:1px 4px;white-space:nowrap}small{font-size:10px}b{font-weight:600}.hidden{display:none!important}.muted{}.dot{height:6px;width:6px;display:inline-block;flex:none}.dot.green{}.dot.purple{}.dot.red{}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top)}
.titlebar{height:39px;display:flex;align-items:center;flex:none;padding:0 14px;gap:14px;user-select:none}.brand{display:flex;align-items:center;gap:9px;padding:4px 0;white-space:nowrap}.brand:hover{}.brand>svg{}.brand>span{font-size:14px;font-weight:600;letter-spacing:-.3px}.brand>span>b{font-weight:400;}.brand em{font-style:normal;font-size:8px;letter-spacing:1px;padding:3px 4px;margin-left:3px}.title-project{font-size:11px;margin-left:15px;white-space:nowrap}.title-project>span{margin-left:8px;}.command-search{margin-left:auto;width:235px;height:25px;display:flex;align-items:center;gap:8px;font-size:11px;padding:0 9px;text-align:left}.command-search svg{width:13px;height:13px}.command-search kbd{margin-left:auto;}.profile{width:23px;height:23px;font-size:9px;}.menubar{height:27px;display:flex;align-items:center;gap:1px;padding:0 7px;flex:none;user-select:none}.menubar>button{height:25px;padding:0 10px;font-size:11px}.menubar>button.active{}.menu-spacer,.toolbar-spacer,.panel-spacer,.status-spacer,.breadcrumb-spacer{flex:1}.local-badge{display:flex;align-items:center;gap:6px;font-size:10px;padding-right:11px}.local-badge i{width:5px;height:5px;opacity:.8}.toolbar{height:41px;display:flex;align-items:center;padding:0 10px;gap:8px;flex:none;user-select:none}.toolgroup{display:flex;align-items:center;gap:3px;padding-right:10px;flex:none}.toolgroup.execution-tools{padding:0;gap:2px}.icon-button{width:29px;height:27px;display:flex;align-items:center;justify-content:center;}.toolbar .icon-button:not(:disabled):hover{}.config-select{height:25px;padding:0 8px;min-width:76px;text-align:left;font-size:11px;display:flex;justify-content:space-between;gap:15px;align-items:center}.config-select span{}.target-select{display:flex;align-items:center;gap:6px;font-size:11px;padding:0 7px;}.start-button{height:28px;padding:0 10px 0 7px;display:flex;align-items:center;gap:7px;font-size:11px;min-width:66px}.start-button svg{width:15px}.start-button:disabled{opacity:.5}.tool-divider{height:18px;width:1px;margin:0 5px}.sample-button{display:flex;align-items:center;gap:7px;font-size:11px;padding:5px 8px;}.sample-button svg{width:14px;height:14px}.build-button{display:flex;align-items:center;gap:7px;height:27px;padding:0 11px;font-size:11px}.build-button svg{width:14px;height:14px}
.workspace{display:grid;grid-template-columns:var(--left) 4px minmax(250px,1fr) 4px var(--right);flex:1;min-height:0;overflow:hidden}.tool-window{overflow:hidden;min-width:0;display:flex;flex-direction:column}.window-title{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 13px;font-size:11px;user-select:none;flex:none}.window-title>div{display:flex;gap:5px}.mini-button{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.mini-button svg{width:13px;height:13px}.splitter{position:relative;z-index:8;touch-action:none}.splitter:hover,.splitter.dragging{}.splitter.vertical{cursor:col-resize}.splitter.horizontal{height:4px;cursor:row-resize;flex:none}.explorer-search{margin:9px 9px 12px;display:flex;align-items:center;padding:0 7px;height:26px;flex:none}.explorer-search svg{width:13px;height:13px}.explorer-search input{width:100%;font-size:11px;padding:4px 6px}.solution-heading{display:flex;align-items:center;gap:5px;height:29px;font-size:11px;padding:0 7px;white-space:nowrap}.solution-heading svg{width:14px;height:14px}.solution-heading b{font-weight:500;overflow:hidden;text-overflow:ellipsis}.solution-heading small{font-size:10px;margin-left:1px}.chevron{font-size:15px;width:12px;text-align:center;flex:none}.project-heading{display:flex;align-items:center;height:28px;gap:6px;padding-left:22px;font-size:11px}.project-icon{font-size:9px;font-weight:700;line-height:15px;height:15px;width:17px;text-align:center;}.dependency-row{height:26px;display:flex;align-items:center;gap:6px;padding-left:38px;white-space:nowrap;font-size:10px;}.dependency-row svg{width:13px;height:13px;}.dependency-row>.muted{font-size:9px;}#file-tree{min-height:0;overflow:auto}.file-row{height:29px;display:flex;align-items:center;gap:7px;width:100%;padding:0 12px 0 52px;text-align:left;font-size:11px;position:relative;white-space:nowrap;}.file-row .file-dirty{margin-left:auto;width:5px;height:5px;}.file-row.selected{}.file-icon{font-size:9px;font-weight:700;letter-spacing:-1px;width:17px;display:inline-block;text-align:center}.explorer-bottom{margin-top:auto;padding:17px 15px 17px;flex:none}.workspace-tag{display:flex;align-items:center;gap:7px;font-size:10px;}.explorer-bottom p{font-size:10px;line-height:1.8;margin:8px 0 12px}.text-button{font-size:10px;text-align:left;padding:2px 0;display:inline-flex;align-items:center;gap:12px}.text-button:hover{text-decoration:underline}.text-button>span{font-size:12px}
.center-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.document-tabs{height:33px;display:flex;align-items:stretch;overflow-x:auto;flex:none;}.document-tabs::-webkit-scrollbar{height:2px}.document-tab{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;min-width:127px;max-width:240px;padding:0 9px 0 12px;}.document-tab.active{margin-bottom:-1px}.document-tab .tab-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.document-tab .tab-close{font-size:14px;margin-left:auto;padding:0 3px}.document-tab .tab-close:hover{}.tab-plus{width:29px;flex:none;font-size:16px}.editor-breadcrumb{height:28px;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:10px;flex:none}.breadcrumb-file{display:flex;align-items:center;gap:7px;white-space:nowrap}.breadcrumb-divider{font-size:16px;}.editor-breadcrumb select{min-width:90px;max-width:240px;flex:none;font-size:10px;padding:2px;cursor:pointer}.editor-profile{font-size:9px;white-space:nowrap}.editor-profile>span{margin-left:4px;padding:0 3px;font-size:8px}.diagnostic-summary{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:9px;margin-left:9px}.diagnostic-summary .dot{width:5px;height:5px}.editor-host{flex:1;min-height:100px;overflow:hidden}.sf-editor{position:relative;height:100%;width:100%;overflow:hidden}.sf-viewport{position:absolute;left:62px;top:0;right:0;bottom:0;overflow:hidden}.sf-input,.sf-highlight{font:14px/22px var(--mono);letter-spacing:0;font-variant-ligatures:none;tab-size:4;margin:0;padding:14px 16px;white-space:pre;box-sizing:border-box;text-align:left;word-wrap:normal;overflow-wrap:normal}.sf-input{position:absolute;inset:0;width:100%;height:100%;resize:none;-webkit-text-fill-color:transparent;z-index:2;overflow:auto}.sf-input::selection{}.sf-input[readonly]{}.sf-highlight{position:absolute;top:0;left:0;min-width:100%;min-height:100%;pointer-events:none;will-change:transform}.sf-gutter{position:absolute;top:0;bottom:0;left:0;width:62px;overflow:hidden;z-index:3;user-select:none}.sf-line{position:absolute;height:22px;width:61px;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;font:11px/22px var(--mono);white-space:nowrap}.sf-line:hover{}.sf-line.current{}.sf-line i{position:absolute;width:8px;height:8px;left:8px;display:none;}.sf-line:hover i{display:block;}.sf-line.breakpoint i{display:block;}.sf-line.error:after{content:'';width:2px;position:absolute;right:0;top:4px;bottom:4px}.sf-line.execution:before{content:'➜';position:absolute;left:5px;font-size:15px;z-index:2;line-height:22px}.sf-line.execution.breakpoint i{display:none}.sf-current-line{position:absolute;left:62px;right:0;height:22px;pointer-events:none}.sf-execution-line{position:absolute;left:62px;right:0;height:22px;pointer-events:none}.tok-keyword{}.tok-string{}.tok-number{}.tok-comment{font-style:normal}.tok-type{}.tok-method{}.tok-punctuation{}.sf-squiggle{text-decoration:underline wavy var(--red);text-underline-offset:4px;text-decoration-thickness:1px}html[data-theme=light] .tok-keyword{}html[data-theme=light] .tok-string{}html[data-theme=light] .tok-number{}html[data-theme=light] .tok-comment{}html[data-theme=light] .tok-type{}html[data-theme=light] .tok-method{}html[data-theme=light] .tok-punctuation{}.sf-completions{position:absolute;width:340px;max-height:230px;overflow-y:auto;z-index:20;}.sf-completions>button{width:100%;height:26px;display:flex;align-items:center;padding:0 7px;gap:7px;text-align:left;font-size:11px}.sf-completions .selected{}.sf-completions b{font-weight:400}.sf-completions small{margin-left:auto;font-size:9px}.completion-kind{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:9px;}.sf-completions footer{padding:7px 10px;font-size:10px;position:sticky;bottom:0;}.sf-tooltip{position:absolute;max-width:330px;padding:10px 12px;font:11px/1.6 var(--mono);white-space:pre-wrap;z-index:30;pointer-events:none}.sf-find{position:absolute;right:25px;top:5px;display:flex;align-items:center;gap:6px;padding:6px;z-index:15;}.sf-find input{width:185px;font-size:11px}.sf-find button{width:20px;height:24px}.sf-find-count{font-size:9px;}
.bottom-panel{height:var(--bottom);min-height:90px;max-height:65%;flex:none;display:flex;flex-direction:column;overflow:hidden}.panel-tabbar{height:32px;display:flex;align-items:stretch;flex:none;overflow-x:auto}.panel-tabbar>button[data-panel]{display:flex;align-items:center;gap:6px;padding:0 10px;white-space:nowrap;font-size:10px;}.panel-tabbar>button[data-panel] svg{width:12px;height:12px}.panel-tabbar>button.selected{}.panel-tabbar>.mini-button{margin:5px 7px}.panel-tabbar .breakpoint-dot{width:6px;height:6px;}.tab-count{font-size:9px;padding:1px 4px;min-width:14px;text-align:center}.tab-count.has-errors{}.panel-content{overflow:auto;flex:1;min-height:0;position:relative}.panel-tools{height:29px;display:flex;align-items:center;gap:7px;padding:0 13px;font-size:10px;position:sticky;top:0;z-index:3}.panel-tools select{font-size:10px;padding:2px 6px;max-width:240px}.panel-tools button{font-size:10px;padding:2px 6px;}.output-area{margin:0;padding:11px 16px;font:11px/1.9 var(--mono);white-space:pre-wrap;word-break:break-word;user-select:text;}.output-line.system{}.output-line.success{}.output-line.error{}.output-line.debug{}.output-line .timestamp{margin-right:14px}.output-caret{height:13px;width:6px;display:inline-block;vertical-align:middle;margin-top:2px;opacity:.65}.empty-state{min-height:100px;display:flex;align-items:center;justify-content:center;gap:13px;padding:22px;font-size:11px}.empty-state>span[data-icon]{}.empty-state>span[data-icon] svg{width:25px;height:25px}.empty-state b{font-weight:500;display:block;margin-bottom:5px}.empty-state p{margin:0;font-size:10px;line-height:1.8}.data-table{width:100%;font-size:11px;text-align:left;table-layout:auto}.data-table th{font-size:9px;font-weight:500;padding:7px 10px;position:sticky;top:0;z-index:2;text-align:left;white-space:nowrap}.data-table td{padding:6px 10px;vertical-align:top;line-height:1.6}.data-table tbody tr:hover{cursor:pointer}.data-table .code{font:10px/1.6 var(--mono)}.data-table .value{font:11px/1.6 var(--mono);word-break:break-word}.data-table .type{font:10px/1.6 var(--mono)}.data-table .name{white-space:nowrap}.data-table .severity{width:18px}.data-table .file-cell{white-space:nowrap;font-size:10px}.data-table .error-message{min-width:160px}.debug-grid{display:grid;grid-template-columns:1fr 1fr;min-height:100%}.debug-pane+.debug-pane{}.debug-pane-title{height:28px;display:flex;align-items:center;padding:0 11px;font-size:10px;gap:8px}.debug-pane-title>span{font-size:9px}.debug-pane-title button{margin-left:auto;width:20px;height:20px;font-size:15px;}.watch-input{display:flex;gap:6px;padding:6px 9px}.watch-input input{width:100%;font:10px var(--mono);padding:4px 7px}.watch-input button{font-size:15px;width:23px;}.remove-watch{font-size:13px;padding:0 4px}.trace-selected{}.breakpoint-enabled{}.code-dump{font:11px/1.7 var(--mono)}.code-dump .op{}.code-dump .offset{width:50px}.code-dump .point{font-size:10px}.code-dump .instruction-current{}
.diagnostic-scroll{min-height:0;overflow:auto;padding:0 14px}.session-heading{display:flex;align-items:center;gap:8px;padding:18px 0 16px;}.session-dot{width:7px;height:7px;flex:none}.session-dot.paused{}.session-dot.error{}.session-dot.running{animation:pulse 1.5s infinite}.session-heading>div{min-width:0;flex:1}.session-heading b{font-size:11px;font-weight:500;white-space:nowrap;display:block}.session-heading small{font-size:9px;display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-tag{font:8px var(--mono);letter-spacing:1px;padding:3px 5px;}.metrics-section{padding:17px 0 16px;}.metrics-section h3{font-size:9px;letter-spacing:1.2px;font-weight:500;margin:0 0 13px;display:flex;align-items:center;justify-content:space-between}.metrics-section h3>span{font-size:8px;letter-spacing:.5px;padding:2px 4px;}.hero-metric{display:flex;align-items:baseline;gap:5px;margin:5px 0 12px}.hero-metric>span:first-child{font-size:30px;letter-spacing:-1px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}.hero-metric>small{font-size:12px;margin-left:2px}.metric-caption{margin-left:auto;font-size:9px;}.timing-track{height:4px;overflow:hidden;margin-bottom:16px}.timing-track>div{width:0;height:100%;transition:width .3s}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}.metric-grid>div{display:flex;flex-direction:column;gap:5px}.metric-grid small{font-size:9px;}.metric-grid b{font-size:13px;font-weight:400;font-variant-numeric:tabular-nums}.inline-icon{height:16px;width:16px;}.inline-icon svg{width:13px;height:13px}.heap-reading{display:flex;align-items:baseline;justify-content:space-between;margin:4px 0 12px}.heap-reading b{font-size:22px;font-weight:300;letter-spacing:-.3px}.heap-reading small{font-size:12px;margin-left:2px}.heap-reading>span{font-size:9px;}.heap-track{height:6px;overflow:hidden}.heap-track>div{height:100%;width:0;min-width:0;transition:width .2s}.heap-legend{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:8px}.heap-legend>span:first-child{display:flex;align-items:center;gap:5px}.heap-legend i{height:4px;width:4px;}.metric-grid.compact{margin:16px 0 14px;row-gap:13px}.metric-grid.compact b{font-size:11px}.outline-button{width:100%;height:28px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:7px;}.outline-button svg{width:13px;height:13px}.detail-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:0 0 11px;}.detail-row b{font-weight:400;font-size:10px;font-variant-numeric:tabular-nums}.detail-row:last-child{margin-bottom:0}.exception-option{gap:3px;font-size:9px;margin-top:17px}.exception-option select{font-size:9px;padding:3px 2px;max-width:93px;}.debug-tip{display:flex;gap:10px;padding:20px 0 15px}.tip-icon{margin-top:1px}.tip-icon svg{width:16px;height:16px}.debug-tip b{font-size:10px;font-weight:500;}.debug-tip p{font-size:9px;line-height:1.9;margin:6px 0 10px}.debug-tip kbd{font-size:8px;padding:0 3px;}.debug-tip .text-button{font-size:9px}
.statusbar{height:25px;display:flex;align-items:center;padding:0 7px;gap:12px;font-size:10px;flex:none;user-select:none}.statusbar>button{height:25px;min-width:20px;padding:0 3px;display:flex;align-items:center;justify-content:center}.statusbar>button:hover{}.statusbar svg{width:13px;height:13px}.status-state,.status-saved{display:flex;align-items:center;gap:6px;white-space:nowrap}.status-state{font-weight:500}.status-saved{opacity:.75;font-size:9px}.statusbar #status-message{font-size:9px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusbar #status-cursor{min-width:78px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px}.statusbar .optional-status{opacity:.8;font-size:9px;white-space:nowrap}.statusbar.debugging{}.statusbar.running{}.menu-popup{position:fixed;min-width:228px;z-index:70;padding:5px;}.menu-popup button{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:7px 10px;width:100%;text-align:left;font-size:11px}.menu-popup button span:last-child{font-size:9px}.menu-popup hr{margin:5px 0}.toast-stack{position:fixed;bottom:42px;right:22px;display:flex;flex-direction:column;gap:8px;z-index:100;max-width:410px}.toast{padding:12px 16px;font-size:11px;line-height:1.6;animation:toast-in .16s ease}.toast.error{}.modal-backdrop{position:fixed;inset:0;z-index:90;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:25px}.modal{width:580px;max-width:100%;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden;}.modal.wide{width:850px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;}.modal-header h2{font-size:15px;font-weight:500;margin:0;letter-spacing:-.2px}.modal-header .mini-button{font-size:19px}.modal-body{padding:20px 22px;overflow:auto;min-height:0;font-size:12px;line-height:1.7}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 22px;}.modal-footer button,.button{padding:7px 15px;font-size:11px;display:inline-flex;align-items:center;gap:7px}.modal-footer .primary,.button.primary{}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row>label{font-size:11px}.form-row input,.form-row select{height:32px;font-size:12px}.form-row small{font-size:10px;line-height:1.6}.modal .notice{padding:11px 13px;font-size:11px;line-height:1.7;margin:0 0 17px}.modal .notice.warning{}.modal p{font-size:11px;line-height:1.9;margin:8px 0 16px}.modal h3{font-size:12px;font-weight:500;margin:20px 0 9px}.modal code{font:10px/1.7 var(--mono);padding:2px 4px}.modal pre{font:11px/1.9 var(--mono);padding:14px;overflow:auto;}.sample-list{display:flex;flex-direction:column;gap:8px}.sample-item{display:flex;align-items:center;gap:13px;text-align:left;padding:13px;}.sample-item .sample-glyph{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font:14px var(--mono)}.sample-item .sample-details{flex:1}.sample-item b{font-size:12px;display:block;font-weight:500}.sample-item small{display:block;font-size:10px;margin-top:4px}.sample-item>span:last-child{}.command-input{width:100%;height:37px;font-size:13px;margin-bottom:12px}.command-list>button{width:100%;display:flex;align-items:center;padding:8px 11px;text-align:left;font-size:11px}.command-list>button.selected{}.command-list span{margin-left:auto;font-size:10px}.shortcut-table{width:100%;}.shortcut-table td{padding:7px 0;font-size:11px}.shortcut-table td:last-child{text-align:right}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.module-card{padding:10px 12px;}.module-card b{font:11px var(--mono);}.module-card small{display:block;font-size:9px;margin-top:5px;line-height:1.7}.heap-table-wrapper{max-height:50dvh;overflow:auto}.heap-inspection{font:11px/1.9 var(--mono)}.mobile-file-button{display:none}@keyframes pulse{50%{}}@keyframes toast-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
::-webkit-scrollbar{width:10px;height:9px}::-webkit-scrollbar-track{}::-webkit-scrollbar-thumb{}::-webkit-scrollbar-thumb:hover{}::-webkit-scrollbar-corner{}
@media(min-width:1800px){:root{--left:260px;--right:310px;--bottom:265px}.toolbar{height:45px}.sf-input,.sf-highlight{font-size:15px}}
@media(max-width:1200px){:root{--left:205px;--right:240px}.title-project{display:none}.panel-tabbar>button[data-panel]{padding:0 8px;font-size:9px}.panel-tabbar>button[data-panel] svg{display:none}.target-select{font-size:10px}.metric-caption{display:none}.diagnostic-scroll{padding:0 11px}.solution-heading small{display:none}.titlebar .command-search{width:205px}}
@media(max-width:980px){:root{--left:190px;--right:0px}.diagnostic-tools{display:none}#right-splitter{display:none}.workspace{grid-template-columns:var(--left) 4px minmax(200px,1fr)}.target-select{display:none}.toolbar{gap:6px}.toolgroup{padding-right:6px}.editor-profile{display:none}.toolbar .sample-button{padding:5px 4px}.optional-status{display:none!important}.titlebar .command-search{width:195px}.explorer-bottom{padding:14px 12px}}
@media(max-width:700px){:root{--left:0px;--bottom:225px}.workspace{display:flex}.solution{display:none}#left-splitter{display:none}.center-workspace{width:100%}.titlebar{height:41px;padding:0 11px;gap:9px}.brand>span{font-size:13px}.brand em{display:none}.brand svg{width:23px;height:23px}.titlebar .command-search{width:29px;height:27px;justify-content:center;padding:0;}.command-search>span:not([data-icon]),.command-search kbd{display:none}.titlebar>.icon-button{width:24px}.profile{width:21px;height:21px}.menubar{height:27px;padding:0 4px}.menubar>button{font-size:11px;padding:0 9px}.local-badge{display:none}.toolbar{height:41px;padding:0 6px;gap:3px;overflow-x:auto}.toolbar .toolgroup:first-child{display:none}.config-select{min-width:58px;font-size:10px;padding:0 5px;gap:8px}.toolgroup{padding-right:5px}.icon-button{width:27px}.start-button{min-width:58px;font-size:11px;padding:0 5px}.execution-tools{gap:0!important}.tool-divider{margin:0 2px}.sample-button{font-size:0}.sample-button>span:not([data-icon]){display:none}.sample-button svg{width:16px;height:16px}.build-button{padding:0 7px;font-size:0;gap:0;margin-left:3px}.build-button svg{width:15px;height:15px}.toolbar-spacer{min-width:0}.document-tab{min-width:116px;font-size:11px}.document-tabs{height:34px}.editor-breadcrumb{height:27px;padding:0 10px}.editor-breadcrumb select{max-width:160px}.sf-viewport,.sf-current-line,.sf-execution-line{left:52px}.sf-gutter{width:52px}.sf-line{width:51px;padding-right:9px;font-size:10px}.sf-line i{left:5px;width:7px;height:7px}.sf-input,.sf-highlight{font-size:14px;line-height:22px;padding-left:11px}.bottom-panel{max-height:48%}.panel-tabbar{height:34px;scrollbar-width:none}.panel-tabbar>button[data-panel]{font-size:10px;padding:0 10px;gap:4px}.panel-tabbar>.mini-button{display:none}.panel-tabbar .panel-spacer{display:none}.panel-content .panel-tools{padding:0 10px;font-size:9px}.debug-grid{grid-template-columns:1fr}.debug-pane+.debug-pane{}.statusbar{height:28px;gap:8px;padding:0 5px;font-size:9px}.statusbar #status-message{display:none}.status-saved{display:none}.statusbar #status-cursor{min-width:82px}.statusbar .status-state{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-completions{max-width:calc(100% - 56px);width:300px;font-size:11px}.sf-find{right:10px}.sf-find input{width:145px}.sf-find-count{display:none}.modal-backdrop{padding:13px}.modal{max-height:91dvh}.modal-body{padding:16px}.modal-header{padding:15px 16px}.modal-header h2{font-size:14px}.modal-footer{padding:11px 16px}.toast-stack{bottom:42px;left:12px;right:12px}.module-grid{grid-template-columns:1fr}.app.explorer-open .solution{display:flex;position:absolute;top:109px;bottom:28px;left:0;width:240px;z-index:40;}.app.tools-open .diagnostic-tools{display:flex;position:absolute;top:109px;bottom:28px;right:0;width:265px;z-index:40;}.solution-heading small{display:inline}.data-table{font-size:10px}.data-table td{padding:5px 8px}.output-area{font-size:10px;padding:9px 12px}.data-table .code{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:701px) and (max-width:980px){.app.tools-open .diagnostic-tools{display:flex;position:absolute;top:107px;bottom:25px;right:0;width:274px;z-index:40;}}
/* Assembly inspection / explicit CIL invocation workspace. */
.assembly-workbench{display:flex;flex-direction:column;height:100%;min-height:150px;font-size:12px}.assembly-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:7px 10px;}.assembly-toolbar>span{margin-right:auto;opacity:.7}.assembly-workbench button{padding:4px 8px;cursor:pointer}.assembly-workbench button:disabled{opacity:.5}.assembly-body{display:grid;grid-template-columns:minmax(140px,23%) 1fr;flex:1;min-height:0}.assembly-body aside{display:flex;flex-direction:column;min-height:0}.assembly-body input{padding:5px;min-width:0}.assembly-body aside>input{margin:6px}.assembly-methods{overflow:auto;min-height:0}.assembly-methods button{display:flex;flex-direction:column;width:100%;text-align:left;padding:6px 10px}.assembly-methods button.selected{}.assembly-methods button small,.assembly-methods button span{font-size:10px;opacity:.6;overflow:hidden;text-overflow:ellipsis;max-width:100%}.assembly-body section{display:flex;flex-direction:column;min-width:0;min-height:0}.assembly-invoke{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:6px}.assembly-invoke input{width:170px}.assembly-invoke>span{opacity:.7;margin-left:auto;font-size:10px}#assembly-code{flex:1;min-height:70px;resize:none;font:12px/1.55 'Cascadia Code',Consolas,monospace;padding:9px;tab-size:4;white-space:pre}.assembly-message{padding:5px 9px;font-size:11px;max-height:65px;overflow:auto;white-space:pre-wrap}.assembly-toolbar small{opacity:.7}@media(max-width:700px){.assembly-body{grid-template-columns:125px 1fr}.assembly-toolbar{gap:4px}.assembly-toolbar>span{display:none}.assembly-invoke input{width:110px}.assembly-invoke>span{display:none}}

/* Docking host and compact IDE integration. */
.sf-dock-host{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden;font:12px system-ui,sans-serif;isolation:isolate}.sf-dock-shell{height:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:0}.sf-dock-root{grid-column:2;grid-row:2;min-height:0;min-width:0}.sf-dock-split{display:flex;width:100%;height:100%;min-height:0;min-width:0}.sf-dock-split.vertical{flex-direction:column}.sf-dock-branch{min-width:0;min-height:0;overflow:hidden}.sf-dock-divider{flex:0 0 5px;cursor:col-resize;touch-action:none;}.vertical>.sf-dock-divider{cursor:row-resize}.sf-dock-divider:hover,.sf-dock-divider:focus-visible{}.sf-dock-group{height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;position:relative;}.sf-dock-bar{flex:0 0 29px;display:flex;min-width:0;align-items:stretch;}.sf-dock-tabs{display:flex;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}.sf-dock-tabs::-webkit-scrollbar{display:none}.sf-dock-tab{white-space:nowrap;padding:4px 10px;font:inherit;cursor:default;flex:0 0 auto;max-width:280px;overflow:hidden;text-overflow:ellipsis}.sf-dock-tab.selected{}.sf-dock-tab:focus-visible{}.sf-dock-button{font:inherit;cursor:pointer;padding:3px 7px;flex-shrink:0}.sf-dock-button:hover{}.sf-dock-body{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden;position:relative}.sf-dock-panel{flex:1;min-width:0;min-height:0;overflow:auto;height:100%}.sf-dock-panel[hidden],.sf-dock-scroll[hidden]{display:none!important}.sf-dock-empty{padding:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;width:100%;text-align:center}.sf-dock-shelf{display:flex;gap:2px;}.sf-dock-shelf:empty{display:none}.sf-dock-shelf.left{grid-row:2;grid-column:1;flex-direction:column}.sf-dock-shelf.right{grid-row:2;grid-column:3;flex-direction:column}.sf-dock-shelf.top{grid-row:1;grid-column:2}.sf-dock-shelf.bottom{grid-row:3;grid-column:2}.sf-dock-shelf.left button,.sf-dock-shelf.right button{writing-mode:vertical-rl;padding:10px 5px}.sf-dock-auto-popup{position:absolute;z-index:15;display:flex;flex-direction:column;width:min(420px,85%);top:0;bottom:0}.sf-dock-auto-popup.left{left:26px}.sf-dock-auto-popup.right{right:26px}.sf-dock-auto-popup.bottom,.sf-dock-auto-popup.top{left:26px;right:26px;width:auto;height:55%;bottom:26px;top:auto}.sf-dock-auto-popup.top{top:26px;bottom:auto}.sf-dock-floating{position:absolute;z-index:12;display:flex;flex-direction:column;min-width:160px;min-height:100px}.sf-dock-floating>.sf-dock-group,.sf-dock-floating>.sf-dock-split{flex:1;min-height:0}.sf-dock-float-title{height:27px;flex-shrink:0;padding:4px 9px;display:flex;align-items:center;justify-content:space-between;cursor:move;touch-action:none;font-weight:600}.sf-dock-float-grip{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;touch-action:none;}.sf-dock-menu{position:fixed;z-index:5000;display:flex;flex-direction:column;min-width:220px;max-height:290px;overflow:auto;padding:5px;font:12px system-ui}.sf-dock-menu button{text-align:left;min-height:28px}.sf-dock-group[data-dock-preview]::after{content:'Dock here';position:absolute;inset:31px 4px 4px;display:grid;place-items:center;z-index:30;pointer-events:none;font-weight:600}.sf-dock-group[data-dock-preview="left"]::after{right:50%}.sf-dock-group[data-dock-preview="right"]::after{left:50%}.sf-dock-group[data-dock-preview="top"]::after{bottom:50%}.sf-dock-group[data-dock-preview="bottom"]::after{top:50%}.sf-dock-popout{margin:0;display:flex;flex-direction:column;height:100vh;}.sf-dock-popout>button{flex:0 0 30px}.sf-dock-popout>.sf-dock-panel{flex:1}.sf-dock-parking[hidden]{display:none!important}

.sf-dock-compass{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:30px 30px 30px;grid-template-rows:30px 30px 30px;gap:3px;z-index:35;pointer-events:auto;}.sf-dock-compass span{display:grid;place-items:center;font-size:20px;}.sf-dock-compass [data-dock-side=top]{grid-area:1/2}.sf-dock-compass [data-dock-side=left]{grid-area:2/1}.sf-dock-compass [data-dock-side=center]{grid-area:2/2}.sf-dock-compass [data-dock-side=right]{grid-area:2/3}.sf-dock-compass [data-dock-side=bottom]{grid-area:3/2}.sf-dock-compass .active{}

:root{--border:var(--line);--panel:var(--surface)}.workspace.docked-workspace{display:block!important;flex:1;min-height:0;min-width:0}.workspace-breadcrumb{flex:0 0 27px;}.source-document{display:flex;flex-direction:column;min-height:0;height:100%}.source-document .editor-host{min-height:0;flex:1}.sf-dock-panel.tool-window{display:flex!important;position:static!important;max-width:none!important;width:100%!important;}.sf-dock-panel.tool-window[hidden]{display:none!important}.sf-dock-host .diagnostic-tools{display:flex!important}.sf-dock-host .diagnostic-tools[hidden]{display:none!important}.dock-tool-content{height:100%;overflow:auto}.dock-tool-content .debug-grid.locals-only{display:block}.dock-tool-content>.debug-pane{height:100%}.tool-page{padding:15px;line-height:1.5;overflow-wrap:anywhere}.tool-page h2{font-size:16px;margin:0 0 12px}.tool-page h3{font-size:12px;margin-top:20px}.tool-field{display:flex;flex-direction:column;gap:5px;margin:10px 0}.tool-field textarea{padding:8px;resize:vertical;font:12px var(--mono);width:100%}.tool-field select,.tool-field input{min-width:0;max-width:100%}.tool-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tool-actions .button,.tool-page>.button{padding:6px 10px;}.tool-source{font:12px/1.6 var(--mono);white-space:pre;overflow:auto;padding:10px;margin:0;}.outline-row,.search-result{padding:8px 10px;text-align:left;width:100%;display:flex;gap:8px;align-items:center}.outline-row .symbol-kind{font-size:10px;min-width:38px}.search-result{display:flex;flex-direction:column;align-items:stretch}.search-result b{font-size:10px;}.search-result code{overflow:hidden;text-overflow:ellipsis;white-space:pre}.project-diagnostic{padding:7px;margin:7px 0;font-size:11px}.project-diagnostic.error{}.project-diagnostic p{margin:5px 0}.file-row{padding-left:15px}.project-tree-group>summary{padding:8px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-folder{padding:2px 6px}.file-folder>summary{font-size:11px;padding:5px;}.disk-binary-row{}.sf-dock-panel .assembly-workbench{min-height:0}.assembly-toolbar .assembly-open{font-weight:600}.assembly-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:20px;text-align:center}.assembly-empty button{padding:9px 15px}.sf-dock-group.document>.sf-dock-bar{height:31px}.sf-dock-group.document .sf-dock-tab{padding-left:12px}.sf-dock-group.document .sf-dock-tab::before{content:'C#';font-size:9px;font-weight:bold;margin-right:8px}.explorer-bottom{padding:10px 12px}.explorer-bottom p{display:none}.assembly-chooser{max-width:180px}.sf-dock-menu button{padding:5px 8px}.sf-dock-panel .data-table td{max-width:none}.sf-dock-popout .sf-dock-panel{display:block!important}.sf-dock-popout .sf-dock-panel[hidden]{display:block!important}
@media(max-width:700px){.menubar{overflow-x:auto;scrollbar-width:none}.menubar>button{padding:0 8px}.local-badge{display:none}.workspace-breadcrumb .editor-profile{display:none}.sf-dock-tab{padding:4px 7px;font-size:10px}.sf-dock-bar{flex-basis:29px}.sf-dock-panel .assembly-body{grid-template-columns:100px minmax(0,1fr)}.sf-dock-panel .assembly-toolbar{font-size:10px}.sf-dock-panel .assembly-toolbar button{padding:3px 5px}.sf-dock-panel .assembly-invoke input{width:85px}.tool-page{padding:10px}}

/* Reusable editor find/replace and structural matching. */
.sf-find{display:block;max-width:calc(100% - 72px)}.sf-find-row,.sf-replace-row{display:flex;align-items:center;gap:5px}.sf-find label{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:10px}.sf-find input[type=checkbox]{width:auto}.sf-find input:not([type=checkbox]){width:160px;min-width:70px}.sf-find-row>button{flex:none}.sf-replace-row{margin-top:5px}.sf-replace-row button{width:auto;white-space:nowrap;padding:0 7px}.sf-find-count{display:block;margin-top:4px}.sf-goto{position:absolute;right:25px;top:5px;z-index:18;padding:9px;font-size:11px}.sf-goto span{display:block;}.sf-bracket-match{}.hidden{display:none!important}
[data-tool=disassembly] .panel-tools{height:auto;min-height:32px;flex-wrap:wrap}[data-tool=disassembly] .panel-tools select{max-width:48%}[data-tool=disassembly] button{padding:3px 7px}[data-tool=disassembly] [data-condition-editor] form{display:flex;gap:8px;flex-wrap:wrap}[data-tool=disassembly] td small{display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}

/* Keep a complete common IL operand byte sequence on one readable row. */
[data-tool="disassembly"] .code-dump .offset{min-width:140px;width:140px;white-space:normal;word-break:normal;overflow-wrap:normal}
[data-tool="disassembly"] .code-dump td:last-child{white-space:nowrap}

/* Native MSBuild tools share docking lifetime; moving a tool never replaces its text buffer. */
.native-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.native-heading h2{margin:0}.native-engine-badge{font-size:10px;letter-spacing:1.2px;padding:4px 7px;}
.native-summary{opacity:.8}.native-command,.native-build-output,.native-invocation,.native-expanded-source{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 var(--font-mono,monospace)}.native-command{padding:12px;}
.native-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.native-form-grid input,.msbuild-tool textarea,.native-source-picker{width:100%;box-sizing:border-box}.native-checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0;font-size:12px}.native-trust{display:block;padding:12px;margin:12px 0;font-size:12px;line-height:1.5}.native-build-actions{margin:12px 0;flex-wrap:wrap}.native-operation-status{font-weight:600;font-size:12px}.native-build-output{min-height:90px;max-height:340px;overflow:auto;padding:10px;}.native-diagnostic{display:block;text-align:left;white-space:normal;width:100%;padding:9px;font:inherit;}.native-diagnostic.error b{}.native-diagnostic.warning b{}.native-artifact{display:flex;gap:8px;align-items:center;padding:8px 0;}.native-artifact span{flex:1;overflow-wrap:anywhere;font-size:12px}.native-artifact small{display:block;opacity:.7;margin-top:3px}.native-property-value{white-space:pre-wrap;overflow-wrap:anywhere}.msbuild-inspector details{padding:5px 0}.msbuild-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.native-inspection-filter{width:100%;box-sizing:border-box}.native-project-source{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.native-project-source p,.native-project-source h2{margin:0}.native-xml-editor{flex:1;min-height:200px;resize:none;font:13px/1.6 var(--font-mono,monospace);tab-size:2;padding:12px;white-space:pre;overflow:auto;}.native-tree-caption{font-size:10px;letter-spacing:.8px;opacity:.7;padding:9px}.msbuild-tool button:disabled{opacity:.5}
@media(max-width:650px){.native-form-grid{grid-template-columns:1fr}.native-artifact{flex-wrap:wrap}}

/* Ordered paint declarations extracted from studio.css; layout remains in its original stylesheet. */
:root {
  --bg: var(--legacy-background);
  --editor: var(--legacy-editor-background);
  --surface: var(--legacy-surface);
  --surface2: var(--legacy-secondary-surface);
  --raised: var(--legacy-raised);
  --hover: var(--legacy-hover);
  --line: var(--legacy-line);
  --line-soft: var(--legacy-line-soft);
  --text: var(--legacy-foreground);
  --muted: var(--legacy-muted-foreground);
  --faint: var(--legacy-faint-foreground);
  --accent: var(--legacy-accent);
  --accent-strong: var(--legacy-accent-strong);
  --accent-bg: var(--legacy-accent-background);
  --green: var(--legacy-success);
  --red: var(--legacy-error);
  --yellow: var(--legacy-warning);
  --blue: var(--legacy-info);
}
html[data-theme=light] {
  --bg: var(--legacy-background-light);
  --editor: var(--legacy-editor-background-light);
  --surface: var(--legacy-surface-light);
  --surface2: var(--legacy-secondary-surface-light);
  --raised: var(--legacy-raised-light);
  --hover: var(--legacy-hover-light);
  --line: var(--legacy-line-light);
  --line-soft: var(--legacy-line-soft-light);
  --text: var(--legacy-foreground-light);
  --muted: var(--legacy-muted-foreground-light);
  --faint: var(--legacy-faint-foreground-light);
  --accent: var(--legacy-accent-light);
  --accent-strong: var(--legacy-accent-strong-light);
  --accent-bg: var(--legacy-accent-background-light);
  --green: var(--legacy-success-light);
  --red: var(--legacy-error-light);
  --yellow: var(--legacy-warning-light);
  --blue: var(--legacy-info-light);
}
body {
  background: var(--bg);
  color: var(--text);
}
button,input,select,textarea { color: inherit; }
button {
  border: 0;
  background: none;
}
button:not(:disabled):focus-visible,input:focus-visible,select:focus-visible {
  outline: 1px solid var(--accent);
  outline-offset: -1px;
}
button:not(:disabled):hover { background: var(--hover); }
input,select {
  background: var(--editor);
  border: 1px solid var(--line);
  border-radius: 3px;
  outline: none;
}
input:focus,select:focus { border-color: var(--accent); }
svg.icon {
  fill: none;
  stroke: currentColor;
}
kbd {
  border: 1px solid var(--line);
  background: var(--surface2);
  border-radius: 3px;
}
.muted { color: var(--muted); }
.dot { border-radius: 50%; }
.dot.green { background: var(--green); }
.dot.purple { background: var(--accent); }
.dot.red { background: var(--red); }
.titlebar { background: var(--bg); }
.brand:hover { background: none!important; }
.brand>svg { color: var(--accent); }
.brand>span>b { color: var(--muted); }
.brand em {
  border: 1px solid var(--legacy-brand-badge-border);
  border-radius: 3px;
  color: var(--accent);
}
.title-project { color: var(--muted); }
.title-project>span { color: var(--faint); }
.command-search {
  background: var(--surface2);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--muted);
}
.command-search kbd {
  border: none;
  background: transparent;
  color: var(--faint);
}
.profile {
  border-radius: 50%;
  color: var(--accent);
  border: 1px solid var(--legacy-profile-border);
  background: var(--accent-bg);
}
.menubar {
  border-bottom: 1px solid var(--line-soft);
  background: var(--bg);
}
.menubar>button { border-radius: 3px; }
.menubar>button.active { background: var(--raised); }
.local-badge { color: var(--muted); }
.local-badge i {
  background: var(--green);
  border-radius: 50%;
}
.toolbar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.toolgroup { border-right: 1px solid var(--line); }
.toolgroup.execution-tools { border: 0; }
.icon-button {
  color: var(--muted);
  border-radius: 3px;
}
.toolbar .icon-button:not(:disabled):hover { color: var(--text); }
.config-select {
  border: 1px solid var(--line);
  border-radius: 3px;
  background: var(--editor);
}
.config-select span { color: var(--muted); }
.target-select { color: var(--muted); }
.start-button { border-radius: 3px; }
.start-button svg {
  color: var(--green);
  fill: var(--green);
  stroke: none;
}
.tool-divider { background: var(--line); }
.sample-button {
  color: var(--muted);
  border-radius: 3px;
}
.build-button {
  border: 1px solid var(--legacy-build-button-border);
  background: var(--accent-bg);
  border-radius: 4px;
  color: var(--accent);
}
.tool-window { background: var(--surface); }
.window-title { border-bottom: 1px solid var(--line); }
.mini-button {
  color: var(--muted);
  border-radius: 2px;
}
.splitter { background: var(--bg); }
.splitter:hover,.splitter.dragging { background: var(--accent-strong); }
.explorer-search {
  border: 1px solid var(--line);
  background: var(--editor);
  border-radius: 3px;
  color: var(--faint);
}
.explorer-search input {
  border: none;
  background: none;
}
.solution-heading svg { color: var(--accent); }
.solution-heading small { color: var(--faint); }
.chevron { color: var(--muted); }
.project-icon {
  background: var(--legacy-project-icon-background);
  border: 1px solid var(--legacy-project-icon-border);
  color: var(--green);
  border-radius: 2px;
}
.dependency-row { color: var(--muted); }
.dependency-row svg { color: var(--yellow); }
.dependency-row>.muted { color: var(--faint); }
.file-row { border-left: 2px solid transparent; }
.file-row .file-dirty {
  background: var(--accent);
  border-radius: 50%;
}
.file-row.selected {
  background: var(--accent-bg);
  border-left-color: var(--accent-strong);
}
.file-icon { color: var(--green); }
.explorer-bottom { border-top: 1px solid var(--line-soft); }
.workspace-tag { color: var(--muted); }
.explorer-bottom p { color: var(--faint); }
.text-button { color: var(--accent); }
.text-button:hover { background: none!important; }
.center-workspace { background: var(--editor); }
.document-tabs {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
.document-tab {
  border-right: 1px solid var(--line-soft);
  border-top: 2px solid transparent;
  color: var(--muted);
}
.document-tab.active {
  color: var(--text);
  background: var(--editor);
  border-top-color: var(--accent);
  border-bottom: 1px solid var(--editor);
}
.document-tab .tab-close { color: var(--faint); }
.document-tab .tab-close:hover { color: var(--text); }
.tab-plus { color: var(--muted); }
.editor-breadcrumb {
  color: var(--muted);
  border-bottom: 1px solid var(--line-soft);
}
.breadcrumb-divider { color: var(--faint); }
.editor-breadcrumb select {
  background: transparent;
  border: none;
  color: var(--muted);
}
.editor-profile { color: var(--faint); }
.editor-profile>span {
  border: 1px solid var(--line);
  border-radius: 2px;
}
.sf-editor { background: var(--editor); }
.sf-input,.sf-highlight {
  border: 0;
  border-radius: 0;
}
.sf-input {
  background: transparent;
  color: transparent;
  caret-color: var(--text);
  outline: none!important;
}
.sf-input::selection {
  background: var(--legacy-input-selection-background);
  color: transparent;
}
.sf-input[readonly] { caret-color: transparent; }
.sf-highlight { color: var(--text); }
.sf-gutter {
  background: var(--editor);
  border-right: 1px solid var(--line-soft);
}
.sf-line { color: var(--faint); }
.sf-line:hover {
  color: var(--text);
  background: var(--surface2);
}
.sf-line.current { color: var(--text); }
.sf-line i {
  border-radius: 50%;
  border: 1px solid var(--red);
}
.sf-line:hover i { background: var(--legacy-line-hover-i-background); }
.sf-line.breakpoint i {
  background: var(--red);
  border: 1px solid var(--red);
  box-shadow: 0 0 0 2px var(--legacy-line-breakpoint-i-glow);
}
.sf-line.error:after { background: var(--red); }
.sf-line.execution:before { color: var(--yellow); }
.sf-current-line { background: var(--legacy-current-line-background); }
.sf-execution-line {
  background: var(--legacy-execution-line-background);
  border-top: 1px solid var(--legacy-execution-line-border);
  border-bottom: 1px solid var(--legacy-execution-line-border);
}
.tok-keyword { color: var(--legacy-syntax-keyword-foreground); }
.tok-string { color: var(--legacy-syntax-string-foreground); }
.tok-number { color: var(--legacy-syntax-number-foreground); }
.tok-comment { color: var(--legacy-syntax-comment-foreground); }
.tok-type { color: var(--legacy-syntax-type-foreground); }
.tok-method { color: var(--legacy-syntax-method-foreground); }
.tok-punctuation { color: var(--legacy-syntax-punctuation-foreground); }
html[data-theme=light] .tok-keyword { color: var(--legacy-syntax-keyword-light-foreground); }
html[data-theme=light] .tok-string { color: var(--legacy-syntax-string-light-foreground); }
html[data-theme=light] .tok-number { color: var(--legacy-syntax-number-light-foreground); }
html[data-theme=light] .tok-comment { color: var(--legacy-syntax-comment-light-foreground); }
html[data-theme=light] .tok-type { color: var(--legacy-syntax-type-light-foreground); }
html[data-theme=light] .tok-method { color: var(--legacy-syntax-method-light-foreground); }
html[data-theme=light] .tok-punctuation { color: var(--legacy-syntax-punctuation-light-foreground); }
.sf-completions {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 8px 28px var(--shadow-popup);
  border-radius: 4px;
}
.sf-completions .selected {
  background: var(--accent-bg);
  color: var(--accent);
}
.sf-completions small { color: var(--muted); }
.completion-kind {
  border: 1px solid var(--legacy-completion-kind-border);
  color: var(--accent);
  border-radius: 3px;
}
.sf-completions footer {
  color: var(--muted);
  border-top: 1px solid var(--line);
  background: var(--surface2);
}
.sf-tooltip {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 5px 18px var(--shadow-popup);
}
.sf-find {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 6px 18px var(--shadow-soft);
  border-radius: 4px;
}
.sf-find-count { color: var(--muted); }
.bottom-panel { background: var(--surface); }
.panel-tabbar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.panel-tabbar>button[data-panel] {
  border-bottom: 2px solid transparent;
  color: var(--muted);
}
.panel-tabbar>button.selected {
  border-bottom-color: var(--accent);
  color: var(--text);
  background: var(--surface2);
}
.panel-tabbar .breakpoint-dot {
  background: var(--red);
  border-radius: 50%;
}
.tab-count {
  border-radius: 3px;
  color: var(--muted);
  background: var(--raised);
}
.tab-count.has-errors {
  color: var(--red);
  background: var(--legacy-tab-count-has-errors-background);
}
.panel-tools {
  border-bottom: 1px solid var(--line-soft);
  color: var(--muted);
  background: var(--surface);
}
.panel-tools select { background: var(--editor); }
.panel-tools button { border-radius: 2px; }
.output-area { color: var(--text); }
.output-line.system { color: var(--muted); }
.output-line.success { color: var(--green); }
.output-line.error { color: var(--red); }
.output-line.debug { color: var(--accent); }
.output-line .timestamp { color: var(--faint); }
.output-caret { background: var(--accent); }
.empty-state { color: var(--muted); }
.empty-state>span[data-icon] { color: var(--faint); }
.empty-state b { color: var(--text); }
.data-table { border-collapse: collapse; }
.data-table th {
  color: var(--muted);
  background: var(--surface2);
  border-bottom: 1px solid var(--line);
}
.data-table td { border-bottom: 1px solid var(--line-soft); }
.data-table tbody tr:hover { background: var(--hover); }
.data-table .value { color: var(--yellow); }
.data-table .type { color: var(--accent); }
.data-table .name { color: var(--blue); }
.data-table .severity { color: var(--red); }
.data-table .file-cell { color: var(--muted); }
.debug-pane+.debug-pane { border-left: 1px solid var(--line); }
.debug-pane-title {
  background: var(--surface2);
  border-bottom: 1px solid var(--line);
}
.debug-pane-title>span { color: var(--muted); }
.debug-pane-title button { color: var(--muted); }
.watch-input button {
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--accent);
}
.remove-watch { color: var(--muted); }
.trace-selected { background: var(--accent-bg); }
.breakpoint-enabled { accent-color: var(--accent); }
.code-dump .op { color: var(--accent); }
.code-dump .offset { color: var(--faint); }
.code-dump .point { color: var(--muted); }
.code-dump .instruction-current { background: var(--legacy-code-dump-instruction-current-background); }
.session-heading { border-bottom: 1px solid var(--line); }
.session-dot {
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px var(--legacy-session-dot-glow);
}
.session-dot.paused { background: var(--yellow); }
.session-dot.error { background: var(--red); }
.session-heading small { color: var(--muted); }
.session-tag {
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.metrics-section { border-bottom: 1px solid var(--line); }
.metrics-section h3 { color: var(--muted); }
.metrics-section h3>span {
  color: var(--faint);
  background: var(--surface2);
  border: 1px solid var(--line-soft);
  border-radius: 2px;
}
.hero-metric>span:first-child { color: var(--text); }
.hero-metric>small { color: var(--muted); }
.metric-caption { color: var(--faint); }
.timing-track {
  border-radius: 3px;
  background: var(--raised);
}
.timing-track>div {
  background: linear-gradient(90deg,var(--accent-strong),var(--accent));
  border-radius: 3px;
}
.metric-grid small { color: var(--muted); }
.inline-icon {
  color: var(--muted);
  border-radius: 2px;
}
.heap-reading small { color: var(--muted); }
.heap-reading>span { color: var(--faint); }
.heap-track {
  background: var(--raised);
  border-radius: 3px;
}
.heap-track>div {
  background: var(--green);
  border-radius: 3px;
}
.heap-legend { color: var(--faint); }
.heap-legend i {
  border-radius: 1px;
  background: var(--green);
}

/* Ordered paint declarations extracted from studio.css; layout remains in its original stylesheet. */
.outline-button {
  border: 1px solid var(--line);
  border-radius: 3px;
  color: var(--muted);
}
.detail-row { color: var(--muted); }
.detail-row b { color: var(--text); }
.exception-option select { color: var(--muted); }
.tip-icon { color: var(--yellow); }
.debug-tip b { color: var(--text); }
.debug-tip p { color: var(--faint); }
.debug-tip kbd { color: var(--muted); }
.statusbar {
  background: var(--legacy-statusbar-background);
  color: var(--legacy-statusbar-foreground);
}
.statusbar>button:hover { background: var(--legacy-statusbar-button-hover-background); }
.statusbar.debugging { background: var(--legacy-statusbar-debugging-background); }
.statusbar.running { background: var(--legacy-statusbar-running-background); }
.menu-popup {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 9px 30px var(--shadow-popup);
}
.menu-popup button { border-radius: 3px; }
.menu-popup button span:last-child { color: var(--muted); }
.menu-popup hr {
  border: 0;
  border-top: 1px solid var(--line);
}
.toast {
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  background: var(--raised);
  border-radius: 4px;
  color: var(--text);
  box-shadow: 0 6px 24px var(--shadow-popup);
}
.toast.error { border-left-color: var(--red); }
.modal-backdrop { background: var(--legacy-modal-backdrop-background); }
.modal {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 20px 80px var(--shadow-dialog);
}
.modal-header { border-bottom: 1px solid var(--line); }
.modal-footer { border-top: 1px solid var(--line); }
.modal-footer button,.button {
  border: 1px solid var(--line);
  border-radius: 4px;
}
.modal-footer .primary,.button.primary {
  background: var(--accent-strong);
  color: var(--legacy-primary-button-foreground);
  border-color: transparent;
}
.form-row>label { color: var(--muted); }
.form-row small { color: var(--faint); }
.modal .notice {
  background: var(--accent-bg);
  border: 1px solid var(--legacy-modal-notice-border);
  border-radius: 4px;
  color: var(--accent);
}
.modal .notice.warning {
  border-color: var(--legacy-modal-notice-warning-border);
  color: var(--yellow);
  background: var(--legacy-modal-notice-warning-background);
}
.modal p { color: var(--muted); }
.modal code {
  color: var(--accent);
  background: var(--surface2);
  border-radius: 3px;
}
.modal pre {
  background: var(--editor);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--text);
}
.sample-item {
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--editor);
}
.sample-item .sample-glyph {
  border-radius: 6px;
  color: var(--accent);
  background: var(--accent-bg);
}
.sample-item small { color: var(--muted); }
.sample-item>span:last-child { color: var(--faint); }
.command-list>button { border-radius: 4px; }
.command-list>button.selected { background: var(--accent-bg); }
.command-list span { color: var(--muted); }
.shortcut-table { border-collapse: collapse; }
.shortcut-table td {
  border-bottom: 1px solid var(--line-soft);
  color: var(--muted);
}
.module-card {
  background: var(--editor);
  border: 1px solid var(--line);
  border-radius: 4px;
}
.module-card b { color: var(--accent); }
.module-card small { color: var(--muted); }
@keyframes pulse {
  50% {
    opacity: .5;
    box-shadow: 0 0 0 5px var(--legacy-session-pulse-glow);
  }
}
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--legacy-webkit-scrollbar-thumb-background);
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--legacy-webkit-scrollbar-thumb-hover-background);
  background-clip: padding-box;
}
::-webkit-scrollbar-corner { background: var(--editor); }
@media(max-width:700px) {
  .titlebar .command-search {
    border: 0;
    background: none;
  }
  .debug-pane+.debug-pane {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .app.explorer-open .solution {
    box-shadow: 8px 0 30px var(--shadow-dialog);
    border-right: 1px solid var(--line);
  }
  .app.tools-open .diagnostic-tools {
    box-shadow: -8px 0 30px var(--shadow-dialog);
    border-left: 1px solid var(--line);
  }
}
@media(min-width:701px) and (max-width:980px) {
  .app.tools-open .diagnostic-tools {
    box-shadow: -8px 0 30px var(--shadow-dialog);
    border-left: 1px solid var(--line);
  }
}
.assembly-toolbar { border-bottom: 1px solid var(--border); }
.assembly-workbench button {
  color: inherit;
  background: var(--surface-2,transparent);
  border: 1px solid var(--border);
  border-radius: 3px;
}
.assembly-body aside { border-right: 1px solid var(--border); }
.assembly-body input {
  color: inherit;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 3px;
}
.assembly-methods button {
  border: 0;
  border-radius: 0;
}
.assembly-methods button.selected { background: var(--accent-soft,var(--legacy-assembly-selected-background)); }
#assembly-code {
  border: 0;
  border-top: 1px solid var(--border);
  background: transparent;
  color: inherit;
}
.assembly-message { border-top: 1px solid var(--border); }
/* Docking host and compact IDE integration. */
.sf-dock-host {
  background: var(--bg);
  color: var(--text);
}
.sf-dock-divider {
  background: var(--border);
  outline: none;
}
.sf-dock-divider:hover,.sf-dock-divider:focus-visible { background: var(--accent); }
.sf-dock-group {
  border: 1px solid var(--border);
  background: var(--panel);
}
.sf-dock-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.sf-dock-tab {
  color: var(--muted);
  border: 0;
  border-right: 1px solid var(--border);
  background: transparent;
}
.sf-dock-tab.selected {
  background: var(--panel);
  color: var(--text);
  box-shadow: inset 0 2px var(--accent);
}
.sf-dock-tab:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -3px;
}
.sf-dock-button {
  border: 0;
  background: transparent;
  color: inherit;
}
.sf-dock-button:hover { background: var(--hover); }
.sf-dock-empty { color: var(--muted); }
.sf-dock-shelf { background: var(--surface); }
.sf-dock-auto-popup {
  box-shadow: 0 8px 36px var(--shadow-floating);
  background: var(--panel);
  border: 1px solid var(--accent);
}
.sf-dock-floating {
  border: 1px solid var(--accent);
  box-shadow: 0 10px 44px var(--shadow-floating);
  background: var(--panel);
}
.sf-dock-float-title { background: var(--accent-bg); }
.sf-dock-float-grip {
  border-right: 3px solid var(--accent);
  border-bottom: 3px solid var(--accent);
}
.sf-dock-menu {
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px var(--shadow-deep);
  color: var(--text);
}
.sf-dock-group[data-dock-preview]::after {
  background: var(--legacy-dock-group-data-dock-preview--after-background);
  border: 2px solid var(--accent);
  color: var(--text);
}
.sf-dock-popout {
  background: var(--panel);
  color: var(--text);
}
.sf-dock-compass { filter: drop-shadow(0 3px 9px var(--shadow-medium)); }
.sf-dock-compass span {
  background: var(--panel);
  border: 1px solid var(--accent);
  color: var(--text);
}
.sf-dock-compass .active {
  background: var(--accent);
  color: var(--bg);
}
.workspace-breadcrumb { border-bottom: 1px solid var(--line); }
.source-document { background: var(--editor); }
.sf-dock-panel.tool-window {
  box-shadow: none!important;
  border: none!important;
}
.tool-page h3 { color: var(--muted); }
.tool-field textarea {
  background: var(--editor);
  color: var(--text);
  border: 1px solid var(--line);
}
.tool-actions .button,.tool-page>.button {
  border: 1px solid var(--line);
  border-radius: 3px;
}
.tool-source { background: var(--editor); }
.outline-row,.search-result { border-bottom: 1px solid var(--line-soft); }
.outline-row .symbol-kind { color: var(--accent); }
.search-result b { color: var(--accent); }
.project-diagnostic {
  border-left: 2px solid var(--yellow);
  background: var(--bg);
}
.project-diagnostic.error { border-left-color: var(--red); }
.project-tree-group>summary { color: var(--green); }
.file-folder>summary { color: var(--muted); }
.disk-binary-row { color: var(--blue); }
.assembly-toolbar .assembly-open { color: var(--accent); }
.assembly-empty button {
  border: 1px solid var(--accent);
  border-radius: 3px;
}
.sf-dock-group.document .sf-dock-tab::before { color: var(--green); }
.sf-goto {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 6px 18px var(--shadow-soft);
}
.sf-goto span { color: var(--red); }
.sf-bracket-match {
  outline: 1px solid var(--accent);
  background: var(--accent-bg);
}
.native-engine-badge {
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--accent);
}
.native-command { background: var(--bg-secondary,var(--legacy-native-command-background)); }
.native-trust {
  border: 1px solid var(--legacy-native-trust-border);
  border-radius: 5px;
}
.native-build-output {
  background: var(--bg-secondary,var(--legacy-native-build-output-background));
  border: 1px solid var(--border);
  border-radius: 4px;
}
.native-diagnostic {
  border: 0;
  border-bottom: 1px solid var(--border);
  background: none;
  color: inherit;
}
.native-diagnostic.error b { color: var(--legacy-native-diagnostic-error-b-foreground); }
.native-diagnostic.warning b { color: var(--legacy-native-diagnostic-warning-b-foreground); }
.native-artifact { border-bottom: 1px solid var(--border); }
.native-xml-editor {
  background: var(--editor-bg,var(--legacy-native-xml-editor-background));
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 4px;
}

.sf-dock-guides { position: absolute; inset: 0; z-index: 60; pointer-events: none; }
.sf-dock-guide-target {
  position: absolute;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--accent, #a58be8);
  background: var(--panel, #24242c);
  color: var(--text, #dedee8);
  font-size: 22px;
  box-shadow: 0 3px 9px #0006;
  pointer-events: auto;
  touch-action: none;
}
.sf-dock-guide-target.active { background: var(--accent, #a58be8); color: var(--bg, #1e1e24); }
.sf-dock-guide-preview {
  position: absolute;
  box-sizing: border-box;
  background: #9681e43d;
  border: 2px solid var(--accent, #a58be8);
  pointer-events: none;
}
.sf-dock-guide-preview[hidden] { display: none; }
.sf-dock-tab.preview { font-style: italic; }
.sf-dock-tab.pinned { border-bottom: 2px solid var(--accent, #a58be8); }
.sf-dock-tab.pinned::before { content: '◆'; margin-right: 5px; font-size: 9px; }
.sf-dock-tab.dirty::after { content: '●'; margin-left: 6px; font-size: 9px; }
.sf-dock-tab.drop-before { box-shadow: inset 3px 0 var(--accent, #a58be8); }
.sf-dock-tab { touch-action: pan-x; }
.sf-dock-button:focus-visible, .sf-dock-float-title:focus-visible, .sf-dock-float-grip:focus-visible {
  outline: 2px solid var(--accent, #a58be8);
  outline-offset: -2px;
}
.sf-dock-menu button:disabled { opacity: .45; cursor: default; }
.sf-dock-menu-divider { width: 100%; border: 0; border-top: 1px solid var(--border, #454350); }
.sf-dock-flyout-grip { position: absolute; touch-action: none; }
.sf-dock-flyout-grip.left, .sf-dock-flyout-grip.right { top: 0; bottom: 0; width: 7px; cursor: col-resize; }
.sf-dock-flyout-grip.left { right: 0; }
.sf-dock-flyout-grip.right { left: 0; }
.sf-dock-flyout-grip.top, .sf-dock-flyout-grip.bottom { left: 0; right: 0; height: 7px; cursor: row-resize; }
.sf-dock-flyout-grip.top { bottom: 0; }
.sf-dock-flyout-grip.bottom { top: 0; }
.sf-dock-flyout-grip:focus-visible { background: var(--accent, #a58be8); outline: none; }
.sf-dock-group.sf-dock-maximized { position: absolute; inset: 0; z-index: 40; height: auto; }
.sf-dock-fullscreen .sf-dock-group.tool,
.sf-dock-fullscreen .sf-dock-shelf,
.sf-dock-fullscreen .sf-dock-auto-popup,
.sf-dock-fullscreen .sf-dock-floating:has(.sf-dock-group.tool) { visibility: hidden; }
.sf-dock-fullscreen .sf-dock-maximized { visibility: visible; }
.sf-workbench-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 6000;
  display: grid;
  place-items: center;
  background: #0006;
}
.sf-workbench-dialog, .sf-window-navigator {
  color: var(--text, #dedee8);
  background: var(--panel, #24242c);
  border: 1px solid var(--border, #454350);
  box-shadow: 0 12px 48px #0008;
  border-radius: 6px;
  padding: 20px;
  max-width: min(780px, 90vw);
  max-height: 80vh;
  overflow: auto;
  font: 13px system-ui, sans-serif;
}
.sf-workbench-dialog h2, .sf-window-navigator h2 { font-size: 16px; margin: 0 0 16px; }
.sf-workbench-dialog > select { display: block; min-width: min(550px, 75vw); }
.sf-workbench-dialog input, .sf-workbench-dialog select {
  background: var(--bg, #1e1e24);
  color: inherit;
  border: 1px solid var(--border, #454350);
  padding: 7px;
}
.sf-workbench-dialog footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.sf-workbench-dialog button { min-height: 32px; padding: 5px 12px; }
.sf-workbench-dialog-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 10px 0; }
.sf-workbench-dialog-row span { overflow-wrap: anywhere; }
.sf-window-navigator { position: fixed; left: 50%; top: 24%; transform: translateX(-50%); z-index: 5500; min-width: min(650px, 85vw); }
.sf-window-navigator [role='listbox'] { max-height: 45vh; overflow: auto; }
.sf-window-navigator [role='option'] { padding: 8px 12px; white-space: nowrap; }
.sf-window-navigator .selected { background: var(--accent-bg, #443957); outline: 1px solid var(--accent, #a58be8); outline-offset: -1px; }
@media (pointer: coarse) {
  .sf-dock-bar { flex-basis: 42px; }
  .sf-dock-tab, .sf-dock-button, .sf-dock-menu button { min-width: 40px; min-height: 40px; }
  .sf-dock-shelf.left button, .sf-dock-shelf.right button { padding: 12px; }
  .sf-dock-divider { flex-basis: 12px; position: relative; z-index: 2; }
  .sf-dock-divider::before { content: ''; position: absolute; inset: 0 -14px; }
  .vertical > .sf-dock-divider::before { inset: -14px 0; }
  .sf-dock-float-grip { width: 40px; height: 40px; }
  .sf-dock-float-title { min-height: 40px; }
  .sf-dock-flyout-grip.left, .sf-dock-flyout-grip.right { width: 40px; }
  .sf-dock-flyout-grip.top, .sf-dock-flyout-grip.bottom { height: 40px; }
  .sf-workbench-dialog button, .sf-workbench-dialog select { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .sf-dock-host *, .sf-workbench-dialog *, .sf-window-navigator * { scroll-behavior: auto; animation: none; transition: none; }
}
@media (forced-colors: active) {
  .sf-dock-guide-target, .sf-dock-guide-preview, .sf-dock-tab.selected, .sf-window-navigator .selected {
    border: 2px solid Highlight;
    forced-color-adjust: auto;
  }
  .sf-dock-tab.pinned { border-bottom-color: Highlight; }
}

.sf-editor {
  --editor: #1e1e1e;
  --text: #dedede;
  --muted: #a0a0a0;
  --faint: #777;
  --line: #444;
  --line-soft: #333;
  --surface: #282828;
  --surface2: #333;
  --raised: #303030;
  --accent: #a58adc;
  --accent-bg: #493963;
  --red: #eb7586;
  --yellow: #e8cc75;
  --mono: Consolas, Menlo, monospace;
  --sf-editor-font: 14px var(--mono);
  --sf-line-height: 22px;
  --sf-tab-size: 4;
  --sf-top-inset: 0px;
  --sf-map-width: 12px;
  --sf-bracket-0: #e8cc75;
  --sf-bracket-1: #bf8ee3;
  --sf-bracket-2: #75bdec;
  --sf-bracket-3: #92c98f;
  --sf-bracket-4: #e6a677;
  --sf-bracket-5: #e59ebd;
  position: relative;
  height: 100%;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: var(--text);
  background: var(--editor);
  font: var(--sf-editor-font);
  line-height: var(--sf-line-height);
}

.sf-editor button, .sf-editor input, .sf-editor select {
  color: inherit;
  font: inherit;
  background: transparent;
  border: 0;
}
.sf-editor button { cursor: pointer; }
.sf-editor button:disabled { opacity: .5; cursor: default; }
.sf-editor :focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.sf-editor.sf-focused { box-shadow: inset 0 0 0 1px var(--accent); }
.sf-editor .hidden, .sf-editor [hidden] { display: none !important; }
.sf-viewport {
  position: absolute;
  left: 76px;
  top: var(--sf-top-inset);
  right: calc(12px + var(--sf-map-width));
  bottom: 20px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  cursor: text;
  touch-action: pan-x pan-y;
}
.sf-viewport::-webkit-scrollbar { width: 0; height: 0; }
.sf-scroll-surface { position: relative; min-width: 100%; min-height: 100%; }
.sf-line-layer, .sf-selection-layer, .sf-structure-guides, .sf-zone-layer { position: absolute; inset: 0; }
.sf-line-layer { color: var(--text); pointer-events: none; z-index: 2; }
.sf-view-line {
  position: absolute;
  min-width: calc(100% - 14px);
  margin: 0;
  padding: 0;
  font: var(--sf-editor-font);
  line-height: var(--sf-line-height);
  letter-spacing: 0;
  font-variant-ligatures: none;
  white-space: pre;
  unicode-bidi: plaintext;
  text-align: start;
  tab-size: var(--sf-tab-size);
  user-select: none;
  contain: layout style;
}
.sf-input {
  position: absolute;
  width: 2px;
  min-width: 2px;
  height: var(--sf-line-height);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  resize: none;
  overflow: hidden;
  opacity: .01;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: transparent;
  caret-color: transparent;
  font: var(--sf-editor-font);
  line-height: var(--sf-line-height);
  z-index: 6;
  white-space: pre;
}
.sf-input:focus { outline: none; }
.sf-selection-layer { pointer-events: none; z-index: 3; }
.sf-selection { position: absolute; background: #8f78c54a; }
.sf-caret { position: absolute; background: var(--text); opacity: 0; }
.sf-focused .sf-caret { opacity: 1; animation: sf-caret-blink 1.05s steps(1) infinite; }
.sf-block-caret { background: #c6b9e955; outline: 1px solid var(--text); }
.sf-readonly .sf-caret { opacity: 0; animation: none; }
@keyframes sf-caret-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.sf-current-line { background: #938aa00c; }
.sf-execution-line { background: #e3c38424; box-shadow: inset 0 1px #e3c38448, inset 0 -1px #e3c38448; }
.sf-selected-frame-line { background: #498ccc20; box-shadow: inset 0 1px #75bdff60, inset 0 -1px #75bdff60; }
.sf-current-statement { background: #dca42b38; box-shadow: 0 1px #e6be5290; }
.sf-composition {
  position: absolute;
  z-index: 8;
  white-space: pre;
  font: var(--sf-editor-font);
  line-height: var(--sf-line-height);
  color: var(--text);
  background: var(--editor);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.sf-gutter {
  position: absolute;
  top: var(--sf-top-inset);
  bottom: 20px;
  left: 0;
  width: 76px;
  overflow: hidden;
  border-right: 1px solid var(--line-soft);
  background: var(--editor);
  z-index: 5;
  user-select: none;
}
.sf-margin-row { position: absolute; left: 0; right: 0; display: flex; align-items: stretch; }
.sf-margin-cell { position: relative; display: flex; align-items: stretch; }
.sf-margin-line { width: 56px; }
.sf-margin-folding { width: 15px; }
.sf-margin-change { width: 4px; }
.sf-line {
  position: relative;
  width: 56px;
  padding: 0 4px 0 22px;
  text-align: right;
  white-space: nowrap;
  font: 11px var(--mono) !important;
  color: var(--muted) !important;
}
.sf-line:hover, .sf-line.current { color: var(--text) !important; background: var(--surface2); }
.sf-line i { position: absolute; left: 4px; top: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; }
.sf-line:hover i { border: 1px solid var(--red); }
.sf-line.breakpoint i { background: var(--red); border: 1px solid var(--red); }
.sf-line.pending i, .sf-line.disabled-breakpoint i { background: transparent; border: 1px solid var(--red); }
.sf-line.disabled-breakpoint i { opacity: .5; }
.sf-line.execution::before, .sf-line.selected-frame::before { position: absolute; left: 14px; color: var(--yellow); content: '➜'; }
.sf-line.selected-frame:not(.execution)::before { color: #75bdff; content: '⇢'; }
.sf-line.bookmark::after { position: absolute; content: '◆'; left: 3px; bottom: 0; font-size: 7px; color: #75bdff; }
.sf-fold-toggle { padding: 0; width: 15px; font-size: 13px !important; }
.sf-fold-breakpoint { color: var(--red) !important; }
.sf-fold-hint {
  pointer-events: auto;
  display: inline-block;
  padding: 0 3px !important;
  margin-left: 5px;
  border: 1px solid var(--line) !important;
  border-radius: 3px;
  line-height: 1;
  color: var(--muted) !important;
}
.sf-change-mark { width: 4px; padding: 0; }
.sf-change-unsaved { background: #e8cc75 !important; }
.sf-change-saved { background: #65ae71 !important; }
.sf-whitespace, .sf-wrap-glyph { position: absolute; color: var(--muted); font-style: normal; pointer-events: none; opacity: .75; }
.sf-wrap-glyph { left: -14px; }
.sf-structure-guides { z-index: 1; pointer-events: none; }
.sf-structure-guide, .sf-column-guide { position: absolute; width: 1px; background: var(--line-soft); }
.sf-structure-guide { pointer-events: auto; }
.sf-structure-guide:hover { background: var(--accent); width: 2px; }
.sf-column-guide { opacity: .65; }
.sf-sticky-scroll { position: absolute; left: 76px; top: var(--sf-top-inset); right: 26px; z-index: 7; background: var(--editor); }
.sf-sticky-scroll:empty { display: none; }
.sf-sticky-scroll button { display: block; width: 100%; height: var(--sf-line-height); text-align: left; padding-left: 14px; }
.sf-sticky-scroll button:last-child { box-shadow: 0 2px 3px #0004; }
.sf-scrollbar { position: absolute; z-index: 7; background: var(--editor); }
.sf-scrollbar-vertical { right: 0; top: var(--sf-top-inset); bottom: 20px; width: 12px; }
.sf-scrollbar-horizontal { left: 76px; right: 65px; bottom: 0; height: 12px; }
.sf-scroll-thumb { position: absolute; background: #8d889d65; border-radius: 3px; min-width: 4px; min-height: 4px; }
.sf-scrollbar-vertical .sf-scroll-thumb { left: 2px; right: 2px; }
.sf-scrollbar-horizontal .sf-scroll-thumb { top: 2px; bottom: 2px; }
.sf-scrollbar:hover .sf-scroll-thumb { background: #aaa4bc90; }
.sf-overview-ruler { position: absolute; right: 12px; top: var(--sf-top-inset); bottom: 20px; height: calc(100% - var(--sf-top-inset) - 20px); z-index: 6; }
.sf-editor-zoom { position: absolute; right: 0; bottom: 0; z-index: 9; width: 64px; height: 20px; font: 10px system-ui !important; }
.sf-editor-zoom option { background: var(--editor); }
.sf-zone-layer { pointer-events: none; z-index: 4; }
.sf-zone-layer > * { pointer-events: auto; }
.sf-screen-reader { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: pre; }
.sf-editor:has(> .sf-editor-navigation:not([hidden]):not(.hidden)) { --sf-top-inset: 28px; }
.sf-has-split > .sf-viewport, .sf-has-split > .sf-gutter, .sf-has-split > .sf-scrollbar-vertical { bottom: calc(100% - var(--sf-split-position, 50%)); }
.sf-has-split > .sf-overview-ruler { height: calc(var(--sf-split-position, 50%) - var(--sf-top-inset)); }
.sf-editor-splitter {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--sf-split-position, 50%);
  height: 6px;
  z-index: 15;
  background: var(--line);
  cursor: row-resize;
}
.sf-editor-split-host { position: absolute; left: 0; right: 0; top: calc(var(--sf-split-position, 50%) + 6px); bottom: 0; height: auto; }
.sf-editor-options { display: grid; gap: 8px; padding: 16px; color: var(--text); background: var(--surface); font: 13px system-ui; }
.sf-editor-options label { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.sf-editor-options input, .sf-editor-options select, .sf-editor-options button { border: 1px solid var(--line); padding: 5px 8px; }
.sf-goto { position: absolute; right: 25px; top: 5px; z-index: 40; padding: 9px; background: var(--surface); border: 1px solid var(--line); }
.sf-goto input { padding: 4px; border: 1px solid var(--line); }
.sf-goto span { display: block; color: var(--red); }

@media (max-width: 600px) {
  .sf-overview-ruler { display: none; }
  .sf-viewport { right: 12px; }
  .sf-sticky-scroll { right: 12px; }
}

.tok-keyword { color: #bd9ede; }
.tok-string { color: #d9b893; }
.tok-number { color: #b2d3a1; }
.tok-comment { color: #86979d; font-style: normal; }
.tok-type { color: #6dc8c2; }
.tok-method { color: #dfd0a2; }
.tok-punctuation { color: #bcb9c5; }
.sf-squiggle { text-decoration: underline wavy var(--red); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.sf-squiggle-warning { text-decoration-color: var(--yellow); }
.sf-bracket-match { outline: 1px solid var(--accent); background: var(--accent-bg); }
.sf-bracket-bold { font-weight: bold; text-decoration: underline; }
html[data-theme=light] .tok-keyword { color: #8053b9; }
html[data-theme=light] .tok-string { color: #a0563e; }
html[data-theme=light] .tok-number { color: #3e7a4a; }
html[data-theme=light] .tok-comment { color: #647086; }
html[data-theme=light] .tok-type { color: #147e86; }
html[data-theme=light] .tok-method { color: #806625; }
html[data-theme=light] .tok-punctuation { color: #6d657e; }

.sf-insight-popup {
  position: absolute;
  z-index: 45;
  max-width: min(760px, 96%);
  max-height: min(540px, 90%);
  overflow: auto;
  box-sizing: border-box;
  padding: 8px;
  color: var(--text, #e6e8ed);
  background: var(--surface, #252730);
  border: 1px solid var(--line, #525562);
  border-radius: 5px;
  box-shadow: 0 8px 28px #0005;
  font: 12px/1.45 var(--font, system-ui, sans-serif);
}

.sf-insight-popup[hidden], .sf-editor-navigation[hidden], .sf-peek-definition[hidden], .sf-action-bulb[hidden] {
  display: none;
}

.sf-insight-popup button, .sf-insight-popup select, .sf-insight-popup input,
.sf-editor-navigation select, .sf-peek-definition button, .sf-peek-definition select,
.sf-diff-toolbar button, .sf-merge-conflicts button {
  padding: 4px 7px;
  min-height: 25px;
  border: 1px solid var(--line, #525562);
  border-radius: 3px;
  color: inherit;
  background: var(--surface2, #30333c);
  font: inherit;
}

.sf-insight-popup button, .sf-diff-toolbar button, .sf-merge-conflicts button {
  cursor: pointer;
}

.sf-insight-popup button:focus-visible, .sf-insight-popup input:focus-visible,
.sf-insight-popup select:focus-visible, .sf-editor-navigation select:focus-visible,
.sf-peek-definition :focus-visible, .sf-diff-editor :focus-visible, .sf-merge-editor :focus-visible {
  outline: 2px solid var(--accent, #a9a1ff);
  outline-offset: 1px;
}

.sf-insight-popup button:disabled {
  opacity: .55;
  cursor: default;
}

.sf-insight-field {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 3px;
}

.sf-insight-field:has(input:not([type=checkbox])) {
  flex-direction: column;
  align-items: stretch;
}

.sf-insight-field input[type=checkbox] {
  min-height: 16px;
  width: 16px;
  accent-color: var(--accent, #9c90e8);
}

.sf-insight-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.sf-insight-documentation {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 220px;
  overflow-y: auto;
  padding-top: 7px;
}

.sf-completion-list {
  width: 620px;
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(150px, .8fr);
  gap: 6px;
}

.sf-completion-list > button, .sf-completion-filters {
  grid-column: 1 / -1;
}

.sf-completion-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.sf-completion-list [role=listbox] {
  grid-column: 1;
  grid-row: 2;
  max-height: 280px;
  overflow: auto;
}

.sf-completion-list [role=option] {
  display: flex;
  align-items: center;
  min-height: 25px;
  gap: 7px;
  padding: 1px 6px;
  cursor: pointer;
}

.sf-completion-list [role=option].selected {
  background: var(--accent-bg, #5c469855);
  outline: 1px solid var(--accent, #a9a1ff);
  outline-offset: -1px;
}

.sf-completion-list [role=option] small {
  margin-left: auto;
  color: var(--muted, #b1b6c3);
}

.sf-completion-list mark {
  color: var(--accent, #c9b6ff);
  background: transparent;
  font-weight: 700;
}

.sf-completion-kind {
  display: inline-flex;
  justify-content: center;
  width: 16px;
  border: 1px solid currentColor;
  border-radius: 3px;
  color: var(--accent, #c9b6ff);
}

.sf-completion-documentation {
  grid-column: 2;
  grid-row: 2;
  border-left: 1px solid var(--line, #525562);
  padding: 7px;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 280px;
}

.sf-signature-help { min-width: 320px; }
.sf-signature-controls { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
.sf-signature-help code { white-space: pre-wrap; }
.sf-active-parameter { color: var(--accent, #c9b6ff); text-decoration: underline; text-underline-offset: 3px; }
.sf-quick-info { min-width: 180px; max-width: 540px; pointer-events: auto; }
.sf-quick-info-signature { margin: 0; white-space: pre-wrap; }
.sf-quick-info-diagnostic { margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--line, #525562); }
.sf-action-bulb { position: absolute; left: 2px; z-index: 8; border: 0; background: transparent; cursor: pointer; }
.sf-inline-action-bulb { border: 0; background: var(--surface, #252730); color: inherit; cursor: pointer; }
.sf-code-actions { min-width: 260px; }
.sf-code-actions > button { display: block; width: 100%; text-align: left; margin-top: 4px; }
.sf-action-preview { width: 650px; max-width: 100%; height: 260px; margin-top: 6px; }
.sf-inline-rename { width: 400px; }
.sf-inline-rename > .sf-insight-field:first-child { display: flex; }
.sf-inline-rename [role=status] { padding: 7px 3px; }
.sf-snippet-picker { display: flex; flex-direction: column; gap: 4px; min-width: 250px; }
.sf-snippet-picker > button { text-align: left; }
.sf-snippet-placeholder { background: #8c80c92b; outline: 1px solid var(--accent, #a9a1ff); }

.sf-editor-navigation {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 28px;
  z-index: 10;
  display: flex;
  gap: 2px;
  box-sizing: border-box;
  background: var(--surface, #252730);
  border-bottom: 1px solid var(--line, #525562);
}

.sf-editor-navigation select { flex: 1; width: 0; border-radius: 0; min-width: 0; }
.sf-editor-navigation select:first-child { flex: .6; }
.sf-code-lenses { display: flex; height: 19px; gap: 10px; padding-left: 4px; align-items: center; overflow: hidden; }
.sf-code-lenses button { border: 0; padding: 0; background: transparent; font: 11px/18px system-ui; color: var(--muted, #b1b6c3); }
.sf-code-lenses button:not(:disabled) { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.sf-inlay-hint { font-size: .88em; color: var(--muted, #b1b6c3); background: var(--surface2, #30333c); border-radius: 3px; user-select: none; }
.sf-reference-read { background: #8887c329; outline: 1px solid #8887c36b; }
.sf-reference-write { background: #dfb65d2b; outline: 1px solid #dfb65d91; }
.sf-definition-link { color: var(--accent, #c9b6ff); text-decoration: underline; cursor: pointer; }
.sf-diagnostic-error { text-decoration: underline wavy var(--red, #f27786); text-underline-offset: 3px; }
.sf-diagnostic-warning { text-decoration: underline wavy var(--yellow, #ecc66d); text-underline-offset: 3px; }
.sf-diagnostic-suggestion { text-decoration: underline dotted var(--accent, #9b9aff); text-underline-offset: 3px; }
.sf-diagnostic-hidden { text-decoration: none; }
.sf-diagnostic-unnecessary { opacity: .55; }
.sf-diagnostic-deprecated { text-decoration: line-through; }
.sf-semantic-class, .sf-semantic-type, .sf-semantic-struct, .sf-semantic-interface, .sf-semantic-enum { color: #6dc8c2; }
.sf-semantic-method { color: #e3d79b; }
.sf-semantic-parameter { color: #b2d9f8; }
.sf-semantic-local, .sf-semantic-variable { color: #e8e1f0; }
.sf-semantic-property { color: #b4b1ed; }

.sf-peek-definition {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  border: 1px solid var(--accent, #a9a1ff);
  border-top: 3px solid var(--accent, #a9a1ff);
  background: var(--editor, #202128);
  color: var(--text, #e6e8ed);
}

.sf-peek-definition header { display: flex; align-items: center; gap: 5px; background: var(--surface, #252730); padding: 3px; }
.sf-peek-definition header select { flex: 1; min-width: 0; }
.sf-peek-definition header span { font: 10px/1.2 system-ui; }
.sf-peek-content { flex: 1; min-height: 0; position: relative; }
.sf-peek-content textarea { width: 100%; height: 100%; resize: none; padding: 8px; box-sizing: border-box; color: inherit; background: transparent; }
.sf-find-replace { width: 620px; display: block; }
.sf-find-replace > .sf-insight-field:first-child { display: flex; }
.sf-find-replace-row { display: flex; flex-wrap: wrap; gap: 4px; align-items: flex-end; }
.sf-find-replace-row[hidden] { display: none; }
.sf-find-replace-row > .sf-insight-field:first-child { flex: 1; }
.sf-find-replace [role=status] { display: block; padding: 7px; }
.sf-search-match { background: #d29c2842; outline: 1px solid #d29c2880; }
.sf-search-scope { background: #6f92e119; outline: 1px solid #6f92e177; }
.sf-incremental-search { display: flex; align-items: center; gap: 8px; }

.sf-diff-editor, .sf-merge-editor {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  color: var(--text, #e6e8ed);
  background: var(--editor, #202128);
  font: 12px/22px var(--mono, monospace);
}

.sf-diff-toolbar { display: flex; align-items: center; gap: 6px; padding: 4px; background: var(--surface, #252730); font: 11px/1.3 system-ui; }
.sf-diff-panes { position: relative; display: flex; flex: 1; min-height: 0; padding-right: 10px; }
.sf-diff-pane { display: flex; flex: 1; flex-direction: column; min-width: 0; border-right: 1px solid var(--line, #525562); }
.sf-diff-pane header { padding: 2px 8px; background: var(--surface2, #30333c); font: 11px/20px system-ui; }
.sf-diff-scroll { flex: 1; position: relative; min-height: 0; overflow: auto; }
.sf-diff-content { position: relative; min-width: 100%; }
.sf-diff-row { position: absolute; left: 0; right: 0; min-width: max-content; display: flex; white-space: pre; box-sizing: border-box; }
.sf-diff-row code { padding-right: 15px; font: inherit; }
.sf-diff-line-number { display: inline-block; width: 44px; flex-shrink: 0; padding-right: 8px; text-align: right; color: var(--muted, #b1b6c3); }
.sf-diff-deleted { background: #d35f5f29; }
.sf-diff-inserted { background: #56be812b; }
.sf-diff-padding { background: repeating-linear-gradient(135deg, transparent, transparent 4px, #8881 4px, #8881 6px); }
.sf-diff-overview { position: absolute; right: 0; width: 9px; top: 24px; bottom: 0; }
.sf-diff-mark { position: absolute; width: 8px; min-height: 3px; padding: 0; border: 0; background: #d2ad64; cursor: pointer; }
.sf-merge-inputs { display: flex; height: 30%; min-height: 70px; }
.sf-merge-source { flex: 1; min-width: 0; overflow: auto; border: 1px solid var(--line, #525562); }
.sf-merge-source header { position: sticky; top: 0; background: var(--surface, #252730); padding: 2px 8px; }
.sf-merge-source pre { margin: 0; padding: 4px 8px; }
.sf-merge-conflicts { max-height: 28%; overflow: auto; }
.sf-merge-conflict { display: flex; flex-wrap: wrap; gap: 5px; padding: 5px; border-bottom: 1px solid var(--line, #525562); }
.sf-merge-result { flex: 1; min-height: 90px; width: 100%; resize: none; box-sizing: border-box; color: inherit; background: transparent; font: inherit; }

html[data-theme=light] .sf-semantic-class, html[data-theme=light] .sf-semantic-type { color: #147e86; }
html[data-theme=light] .sf-semantic-method { color: #795d0d; }
html[data-theme=light] .sf-semantic-parameter { color: #315d9b; }
html[data-theme=light] .sf-semantic-local, html[data-theme=light] .sf-semantic-variable { color: #453559; }
html[data-theme=light] .sf-semantic-property { color: #674492; }

@media (max-width: 620px) {
  .sf-completion-list { display: block; width: 94%; }
  .sf-completion-documentation { max-height: 120px; border-left: 0; border-top: 1px solid var(--line, #525562); }
  .sf-insight-popup { max-width: 98%; }
  .sf-peek-definition header span { display: none; }
  .sf-diff-toolbar { flex-wrap: wrap; }
}

.sf-semantic-field, .sf-semantic-event { color: var(--syntax-variable, #9cdcfe); }
.sf-semantic-namespace { color: var(--syntax-type, #4ec9b0); }

.sf-keymap-prompt {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 60;
  margin: 0;
  padding: 4px 8px;
  color: var(--editor-foreground, var(--sf-text, #d4d4d4));
  background: var(--editor-background, var(--sf-panel, #1e1e1e));
  border-top: 1px solid var(--sf-border, #454545);
  font: inherit;
}
.sf-keymap-prompt label { display: flex; align-items: center; gap: 6px; }
.sf-keymap-prompt input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline-offset: 2px;
  color: inherit;
  background: transparent;
  font: inherit;
}
[data-keymap="vim"][data-vim-mode="normal"] .sf-caret { width: 1ch; opacity: .5; }
@media (forced-colors: active) {
  .sf-keymap-prompt { color: CanvasText; background: Canvas; border-color: CanvasText; }
  .sf-keymap-prompt input:focus-visible { outline: 1px solid Highlight; }
}

@media (prefers-reduced-motion: reduce) {
  .sf-editor *, .sf-editor *::before, .sf-editor *::after { animation: none !important; scroll-behavior: auto !important; }
  .sf-focused .sf-caret { opacity: 1; }
}

@media (forced-colors: active) {
  .sf-editor { --editor: Canvas; --surface: Canvas; --text: CanvasText; --muted: CanvasText; --line: CanvasText; --line-soft: GrayText; }
  .sf-editor button, .sf-editor input, .sf-editor select { forced-color-adjust: auto; }
  .sf-view-line span { color: CanvasText !important; }
  .sf-selection { background: Highlight; opacity: .45; forced-color-adjust: none; }
  .sf-caret { background: CanvasText; forced-color-adjust: none; }
  .sf-block-caret { border: 1px solid CanvasText; background: transparent; }
  .sf-squiggle, .sf-diagnostic-error, .sf-diagnostic-warning { text-decoration-color: LinkText; }
  .sf-current-line { outline: 1px dotted GrayText; }
  .sf-execution-line, .sf-selected-frame-line { outline: 2px solid LinkText; }
  .sf-line.breakpoint i { background: LinkText; border-color: LinkText; }
  .sf-line.bookmark::after, .sf-line.execution::before, .sf-fold-breakpoint { color: LinkText !important; }
  .sf-scroll-thumb { background: ButtonText; }
  .sf-fold-hint, .sf-bracket-match { border: 1px solid CanvasText; outline-color: Highlight; }
  .sf-change-unsaved { background: LinkText !important; }
  .sf-change-saved { background: CanvasText !important; }
  .sf-insight-popup, .sf-peek-definition { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .sf-completion-list [aria-selected=true] { background: Highlight; color: HighlightText; }
}

.sf-tree{position:relative;overflow:auto;min-height:0;outline:none;user-select:none;font:12px var(--font,"Segoe UI",sans-serif);color:var(--text,#ddd)}
.sf-tree-canvas{position:relative;min-width:100%;width:max-content}.sf-tree-row{position:absolute;left:0;right:0;display:flex;align-items:center;gap:5px;white-space:nowrap;padding-right:10px;min-width:100%;cursor:default;box-sizing:border-box;border:1px solid transparent}
.sf-tree-row:hover{background:var(--hover,#333)}.sf-tree-row.selected{background:var(--selection-inactive,#383838)}.sf-tree:focus .sf-tree-row.selected,.sf-tree:focus-within .sf-tree-row.selected{background:var(--selection,#094771);color:var(--text,#fff)}.sf-tree:focus .sf-tree-row.focused{outline:1px solid var(--focus,#007acc);outline-offset:-1px}.sf-tree-row.startup>.sf-tree-label{font-weight:700}.sf-tree-row.excluded>.sf-tree-label{opacity:.6;font-style:italic}.sf-tree-row.drop-target{outline:1px solid var(--accent,#007acc);background:var(--accent-bg,#24405a)}
.sf-tree-toggle{display:inline-block;width:14px;text-align:center;flex:none;height:20px;line-height:20px;color:var(--muted,#aaa)}.sf-tree-icon{width:17px;display:inline-flex;justify-content:center;flex:none;font-size:11px;color:var(--muted,#aaa)}.sf-tree-icon.source{color:var(--green,#6c6)}.sf-tree-icon.folder,.sf-tree-icon.solution-folder{color:var(--yellow,#dbb778)}.sf-tree-icon.project,.sf-tree-icon.solution{color:var(--accent,#b8a1e7)}.sf-tree-icon.package{color:var(--blue,#8ab4ee)}.sf-tree-badge{margin-left:6px;color:var(--muted,#aaa);font-size:10px}.sf-tree-dirty{font-size:8px;margin-left:auto;padding-left:8px;color:var(--accent,#a8f)}.sf-tree-empty{padding:14px;color:var(--muted,#888)}
.sf-menu{min-width:245px;padding:3px!important;border-radius:0!important;z-index:10000!important;overflow:auto;overscroll-behavior:contain;box-shadow:2px 3px 9px #0005!important;background:var(--raised,#252526);color:var(--text,#ddd);border:1px solid var(--line,#555)}
.sf-menu button{height:27px;min-height:27px;display:flex!important;gap:7px!important;align-items:center;padding:3px 8px!important;border-radius:0!important;white-space:nowrap;border:1px solid transparent!important;font:12px var(--font,"Segoe UI",sans-serif)!important;outline:none!important}.sf-menu button.selected,.sf-menu button:focus{background:var(--selection,#094771)!important;border-color:var(--focus,#007acc)!important}.sf-menu button.disabled{color:var(--muted,#888);opacity:.6;cursor:default}.sf-menu .sf-menu-check{width:17px;flex:none;color:inherit!important}.sf-menu .sf-menu-label{flex:1;text-align:left;font-size:12px!important;color:inherit!important}.sf-menu .sf-menu-key{margin-left:22px;font-size:11px!important;color:var(--muted,#aaa)}.sf-menu hr{margin:4px 3px 4px 25px!important;border:0;border-top:1px solid var(--line,#454545)}
@media(forced-colors:active){.sf-tree-row.selected,.sf-menu button.selected{background:Highlight!important;color:HighlightText!important}.sf-tree-row.focused{outline-color:Highlight!important}.sf-menu{border-color:CanvasText}}

/* Visual Studio-inspired compact workspace, authored SharpForge styling. */
:root {
  --accent: var(--studio-accent);
  --accent-bg: var(--studio-accent-background);
  --selection: var(--studio-selection);
  --selection-inactive: var(--studio-selection-inactive);
  --border: var(--studio-border);
  --bg: var(--studio-background);
  --panel: var(--studio-panel);
  --surface: var(--studio-surface);
  --hover: var(--studio-hover);
  --raised: var(--studio-raised);
  --text: var(--studio-foreground);
  --muted: var(--studio-muted-foreground);
  --line: var(--studio-line);
  --line-soft: var(--studio-line-soft);
  --editor: var(--studio-editor-background);
}
html[data-theme=light] {
  --selection: var(--studio-selection-light);
  --selection-inactive: var(--studio-selection-inactive-light);
  --border: var(--studio-border-light);
  --panel: var(--studio-panel-light);
  --surface: var(--studio-surface-light);
  --hover: var(--studio-hover-light);
  --raised: var(--studio-raised-light);
  --text: var(--studio-foreground-light);
  --muted: var(--studio-muted-foreground-light);
  --line: var(--studio-line-light);
  --line-soft: var(--studio-line-soft-light);
  --editor: var(--studio-editor-background-light);
  --bg: var(--studio-background-light);
  --accent-bg: var(--studio-accent-background-light);
}
#solution {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--panel);
}
#solution>[hidden] { display: none!important; }
.explorer-toolbar {
  display: flex;
  flex: none;
  align-items: center;
  gap: 1px;
  height: 29px;
  padding: 2px 5px;
  border-bottom: 1px solid var(--line);
}
.explorer-toolbar>button {
  width: 26px;
  height: 24px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  border-radius: 0;
  padding: 0;
  font: 16px system-ui;
  cursor: pointer;
}
.explorer-toolbar>button:hover,.explorer-toolbar>button[aria-pressed=true] {
  background: var(--selection);
  border-color: var(--accent);
}
.explorer-toolbar>button:focus-visible {
  outline: 1px solid var(--accent);
  outline-offset: -2px;
}
#solution .explorer-search {
  margin: 5px 6px 2px;
  height: 27px;
  border-radius: 0;
  flex: none;
  background: var(--editor);
}
#solution #file-filter {
  width: 100%;
  font-size: 12px;
}
#solution .explorer-caption {
  font-size: 10px;
  line-height: 18px;
  padding: 0 8px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: none;
}
#solution #file-tree {
  flex: 1;
  min-height: 0;
  height: auto;
  padding: 0;
  overflow: auto;
  position: relative;
}
.sf-tree-row {
  font: 12px/24px 'Segoe UI',system-ui,sans-serif;
  cursor: default;
}
.sf-tree-row.selected { background: var(--selection-inactive); }
.sf-tree:focus .sf-tree-row.selected {
  background: var(--selection);
  color: var(--text);
}
.sf-tree-row.startup>.sf-tree-label { font-weight: 700; }
.sf-tree-icon.source { color: var(--solution-explorer-tree-icon-source-foreground); }
.sf-tree-icon.folder,.sf-tree-icon.solution-folder { color: var(--solution-explorer-tree-icon-folder-foreground); }
.sf-tree-icon.project { color: var(--solution-explorer-tree-icon-project-foreground); }
.sf-tree-icon.project-file { color: var(--solution-explorer-tree-icon-project-file-foreground); }
.sf-tree-icon.dependencies,.sf-tree-icon.reference,.sf-tree-icon.assembly { color: var(--solution-explorer-tree-icon-dependencies-foreground); }
.sf-tree-row.excluded .sf-tree-icon { opacity: .6; }
.sf-tree-row .sf-tree-dirty { color: var(--text); }
.sf-menu {
  border: 1px solid var(--context-menus-menu-border);
  border-radius: 0;
  min-width: 250px;
  padding: 3px;
  background: var(--raised);
  box-shadow: 3px 3px 10px var(--shadow-dialog);
  color: var(--text);
  font: 12px 'Segoe UI',system-ui,sans-serif;
}
.sf-menu button {
  min-height: 26px;
  border-radius: 0;
}
.sf-menu button.selected:not(.disabled),.sf-menu button:hover:not(.disabled) {
  background: var(--selection);
  outline: 1px solid var(--accent);
  outline-offset: -1px;
}
.sf-menu-check { min-width: 20px; }
.sf-menu-key { min-width: 45px; }
.sf-menu button.disabled { opacity: .55; }
.sf-menu hr {
  margin: 3px 0 3px 25px;
  border: 0;
  border-top: 1px solid var(--line);
}
.sf-dock-host{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg)}.sf-dock-group{border-color:var(--line);background:var(--panel)}.sf-dock-divider{background:var(--surface);flex-basis:5px}.sf-dock-tab{border-radius:0;font-size:12px}.sf-dock-bar{background:var(--surface);flex-basis:27px}.sf-dock-tab.selected{background:var(--panel);color:var(--text);box-shadow:inset 0 2px var(--accent)}.sf-dock-button{font-size:12px}.sf-dock-float-title{background:var(--selection)}
.sf-editor {
  --editor: var(--source-editor-editor-background);
  --surface: var(--source-editor-surface);
  --surface2: var(--source-editor-secondary-surface);
  --raised: var(--source-editor-raised);
  --text: var(--source-editor-foreground);
  --muted: var(--source-editor-muted-foreground);
  --accent: var(--source-editor-accent);
  --accent-bg: var(--source-editor-accent-background);
  --red: var(--source-editor-error);
  --line: var(--source-editor-line);
  --line-soft: var(--source-editor-line-soft);
}
.sf-editor .tok-keyword { color: var(--source-editor-editor-syntax-keyword-foreground); }
.sf-editor .tok-string { color: var(--source-editor-editor-syntax-string-foreground); }
.sf-editor .tok-type { color: var(--source-editor-editor-syntax-type-foreground); }
.sf-editor .tok-comment { color: var(--source-editor-editor-syntax-comment-foreground); }
.sf-editor .tok-method { color: var(--source-editor-editor-syntax-method-foreground); }
.sf-editor .tok-number { color: var(--source-editor-editor-syntax-number-foreground); }
.sf-input::selection { background: var(--source-editor-input-selection-background); }
html[data-theme=light] .sf-editor {
  --editor: var(--source-editor-editor-background-light);
  --surface: var(--source-editor-surface-light);
  --surface2: var(--source-editor-secondary-surface-light);
  --raised: var(--source-editor-raised-light);
  --text: var(--source-editor-foreground-light);
  --muted: var(--source-editor-muted-foreground-light);
  --accent: var(--source-editor-accent-light);
  --accent-bg: var(--source-editor-accent-background-light);
  --line: var(--source-editor-line-light);
  --line-soft: var(--source-editor-line-soft-light);
}
html[data-theme=light] .sf-editor .tok-keyword,html[data-theme=light] .cm-s-sharpforge .cm-keyword {
  color: var(--source-editor-editor-syntax-keyword-light-foreground);
}
html[data-theme=light] .sf-editor .tok-string,html[data-theme=light] .cm-s-sharpforge .cm-string {
  color: var(--source-editor-editor-syntax-string-light-foreground);
}
html[data-theme=light] .sf-editor .tok-type { color: var(--source-editor-editor-syntax-type-light-foreground); }
html[data-theme=light] .sf-editor .tok-comment,html[data-theme=light] .cm-s-sharpforge .cm-comment {
  color: var(--source-editor-editor-syntax-comment-light-foreground);
}
html[data-theme=light] .cm-s-sharpforge .cm-variable,html[data-theme=light] .cm-s-sharpforge .cm-def {
  color: var(--source-editor-cm-s-sharpforge-cm-variable-light-foreground);
}
.statusbar {
  background: var(--status-bar-statusbar-background);
  color: var(--status-bar-statusbar-foreground);
}
.statusbar.debugging { background: var(--status-bar-statusbar-debugging-background); }
.statusbar.running { background: var(--status-bar-statusbar-running-background); }
.statusbar #editor-keymap-status {
  white-space: nowrap;
  border-left: 1px solid var(--status-bar-statusbar-editor-keymap-status-border);
  padding: 0 8px;
  height: 100%;
  color: inherit;
}
.property-grid th{width:40%;text-align:left;font-weight:400;color:var(--muted);vertical-align:top}.property-grid td{white-space:pre-wrap;overflow-wrap:anywhere}.explorer-text,.copy-fallback{display:block;width:100%;min-height:260px;resize:vertical;white-space:pre;tab-size:4;background:var(--editor);color:var(--text);font:13px/1.6 var(--mono,monospace);border:1px solid var(--line);padding:10px}.settings-page p{font-size:12px;line-height:1.6}.settings-page h3{margin-top:20px}
.sf-keymap-host .CodeMirror-dialog{z-index:35}.sf-keymap-host .CodeMirror-dialog input{font:inherit}.sf-keymap-host .CodeMirror-vscrollbar,.sf-keymap-host .CodeMirror-hscrollbar{z-index:12}.sf-editor.sf-classic-active .sf-completions{left:65px!important;top:40px!important}
@media(max-width:800px){.statusbar #editor-keymap-status{max-width:130px;overflow:hidden;text-overflow:ellipsis}.explorer-toolbar{gap:0}.explorer-toolbar>button{width:25px}}

.debug-stop-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--debugger-debug-stop-banner-background);
  color: var(--text);
  border-bottom: 1px solid var(--debugger-debug-stop-banner-border);
  padding: 6px 12px;
  min-height: 48px;
  font-size: 11px;
  flex-shrink: 0;
}
.debug-stop-banner[hidden] { display: none; }
.debug-stop-banner>div {
  flex: 1;
  min-width: 0;
}
.debug-stop-banner small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  white-space: normal;
}
.debug-stop-banner b {
  text-transform: capitalize;
  color: var(--debugger-debug-stop-banner-b-foreground);
}
.debug-stop-arrow {
  color: var(--debugger-debug-stop-arrow-foreground);
  font-size: 20px;
}
.debug-stop-banner button,.debugger-settings button {
  padding: 4px 9px;
  border: 1px solid var(--line);
  background: var(--surface2);
  font-size: 11px;
}
.debug-bp-hint {
  padding: 6px 10px;
  color: var(--muted);
  font-size: 10px;
}
.debugger-breakpoints td { vertical-align: top; }
.debugger-breakpoints small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  max-width: 300px;
  white-space: normal;
  margin-top: 3px;
}
.debugger-breakpoints .breakpoint-hit { background: var(--debugger-debugger-breakpoints-breakpoint-hit-background); }
.debugger-settings { max-width: 820px; }
.debug-check {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 9px 0;
}
.debug-check input { width: auto; }
.debugger-settings input { max-width: 360px; }
.debugger-settings h3 { margin-top: 22px; }
.debugger-settings #exception-rule-form {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.debug-immediate-log {
  padding: 8px 12px;
  max-height: calc(100% - 110px);
  overflow: auto;
  font: 12px var(--mono);
  user-select: text;
}
.debug-immediate-log small { color: var(--muted); }
.debug-immediate-log pre {
  white-space: pre-wrap;
  margin: 4px 0 12px;
  font: 12px/1.5 var(--mono);
}
#immediate-form {
  display: flex;
  gap: 8px;
  padding: 8px 12px;
  align-items: center;
  border-top: 1px solid var(--line);
}
#immediate-form input {
  flex: 1;
  min-width: 100px;
  font: 12px var(--mono);
}
#immediate-form button { padding: 5px; }
.debugger-breakpoints td:nth-child(2) { min-width: 150px; }
html[data-theme=light] .debug-stop-banner { background: var(--debugger-debug-stop-banner-light-background); }
html[data-theme=light] .debug-stop-banner b { color: var(--debugger-debug-stop-banner-b-light-foreground); }

.sf-winui{--sf-app-bg:#202020;--sf-app-fg:#eee;--sf-app-input:#292929;--sf-app-line:#555;--sf-app-accent:#60cdff;position:relative;min-width:0;min-height:0;color:var(--sf-app-fg);background:var(--sf-app-bg);font:14px 'Segoe UI',system-ui,sans-serif;overflow:auto;color-scheme:dark;isolation:isolate}
.sf-winui [data-theme=light],.sf-winui[data-theme=light]{--sf-app-bg:#f8f8f8;--sf-app-fg:#202020;--sf-app-input:white;--sf-app-line:#999;color-scheme:light;background:var(--sf-app-bg);color:var(--sf-app-fg)}
.sf-winui *, .sf-winui *:before, .sf-winui *:after{box-sizing:border-box}
.sf-winui [data-sf-id]{min-width:0;min-height:0}
.sf-winui-Window{min-height:100%;width:100%;padding:20px}
.sf-winui button,.sf-winui input,.sf-winui select,.sf-winui textarea{font:inherit;color:inherit;accent-color:var(--sf-app-accent)}
.sf-winui button,.sf-winui input:not([type=checkbox]):not([type=range]),.sf-winui select,.sf-winui textarea{border:1px solid var(--sf-app-line);background:var(--sf-app-input);border-radius:4px;padding:7px 12px;min-height:32px}
.sf-winui button:hover:not(:disabled){filter:brightness(1.18)}.sf-winui button:active:not(:disabled){filter:brightness(.92)}.sf-winui :focus-visible{outline:2px solid var(--sf-app-accent);outline-offset:2px}.sf-winui :disabled{opacity:.45}
.sf-winui-CheckBox,.sf-winui-ToggleSwitch{display:flex;align-items:center;gap:8px;cursor:pointer}.sf-winui input[type=checkbox]{width:18px;height:18px}.sf-winui-Slider{min-height:28px;width:100%}
.sf-winui-ProgressBar{min-height:6px;width:100%;accent-color:var(--sf-app-accent)}.sf-winui-ProgressRing{width:28px;height:28px;border:3px solid var(--sf-app-line);border-top-color:var(--sf-app-accent);border-radius:50%}.sf-winui-ProgressRing.indeterminate{animation:sf-winui-spin 1s linear infinite}@keyframes sf-winui-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sf-winui-ProgressRing.indeterminate{animation-duration:3s}}
.sf-winui-ListView>[role=option],.sf-winui-NavigationView>[role=option]{padding:8px;cursor:default}.sf-winui [aria-selected=true]{background:#0078d466;border-left:3px solid var(--sf-app-accent)}
.sf-winui-Expander{border:1px solid var(--sf-app-line);border-radius:5px;padding:10px}.sf-winui-Expander>summary{cursor:pointer;padding:4px}.sf-winui-Image{object-fit:contain;max-width:100%}.sf-winui-HyperlinkButton{color:var(--sf-app-accent);text-decoration:underline;cursor:pointer}
.sf-winui-Canvas,.sf-winui-DrawingSurface{position:relative;overflow:hidden}.sf-winui-canvas,.sf-winui-dom-drawing{position:absolute;inset:0;pointer-events:none;z-index:0}.sf-winui-flyout{background:var(--sf-app-input);border:1px solid var(--sf-app-line);border-radius:6px;box-shadow:0 8px 30px #0007;padding:4px;min-width:160px;display:flex;flex-direction:column;gap:2px}.sf-winui-flyout[hidden]{display:none}.sf-winui-flyout button{text-align:left;border:0}
/* Code-first controls introduced in 0.12. Native inputs keep keyboard/IME behavior. */
.sf-winui-ToggleButton,.sf-winui-AppBarButton{padding:7px 14px;border:1px solid var(--winui-border,#666);background:var(--winui-control,#333);color:inherit;border-radius:4px;cursor:pointer}
.sf-winui-ToggleButton[aria-pressed=true]{background:#005fb8;color:white}
.sf-winui-RadioButton{display:flex;align-items:center;gap:8px}
.sf-winui-NumberBox,.sf-winui-CalendarDatePicker,.sf-winui-TimePicker,.sf-winui-AutoSuggestBox{font:inherit;padding:8px;border:1px solid #777;border-bottom-width:2px;border-radius:4px;background:var(--winui-control,#333);color:inherit;min-width:100px}
.sf-winui-InfoBar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#183b55;padding:14px;border-radius:5px;border:1px solid #376a87}
.sf-winui-InfoBar[data-severity="2"]{background:#634c1c}.sf-winui-InfoBar[data-severity="3"]{background:#642936}.sf-winui-InfoBar>[data-ui-action]{margin-left:auto;background:transparent;color:inherit;border:0;font-size:22px}
.sf-winui-TabView{display:flex;flex-direction:column;min-height:80px}.sf-winui-TabView>[data-tab-headers]{display:flex;border-bottom:1px solid #666;gap:3px}.sf-winui-TabView [role=tab]{padding:8px 20px;background:#333;color:inherit;border:0;border-bottom:2px solid transparent}.sf-winui-TabView [aria-selected=true]{border-bottom-color:#60cdff;background:#414141}.sf-winui-TabView [data-tab-body]{flex:1;padding:12px;min-height:0}
.sf-winui-ToolTip{padding:6px 10px;border:1px solid #777;border-radius:5px;background:#353535;box-shadow:0 3px 16px #0004}
.sf-winui-ContentDialog{position:relative;max-width:540px;padding:24px;border:1px solid #777;border-radius:8px;background:#292929;box-shadow:0 10px 40px #0007;z-index:20}.sf-winui-ContentDialog h2{font-size:20px}.sf-winui-ContentDialog [data-dialog-buttons]{display:flex;gap:10px;margin-top:22px}.sf-winui-ContentDialog button{padding:8px 20px}
.sf-winui [hidden]{display:none!important}

/* Debugger extensions use the workbench theme and retain independent docking content. */
.advanced-note{margin:12px 14px;color:var(--text-muted);font-size:12px;line-height:1.65;max-width:1100px}.advanced-log{padding:12px;white-space:pre-wrap;line-height:1.55;font-size:12px}.advanced-file-label{display:inline-flex;gap:8px;align-items:center;font-size:12px;cursor:pointer}.advanced-file-label input{max-width:180px;font-size:11px}.advanced-split{display:grid;grid-template-columns:minmax(180px,35%) 1fr;min-height:160px}.advanced-visual-nodes{display:flex;flex-direction:column;overflow:auto;border-right:1px solid var(--border)}.advanced-visual-nodes button{display:flex;text-align:left;gap:10px;padding:7px 10px;justify-content:space-between;background:transparent;border:0;color:var(--text)}.advanced-visual-nodes .selected,.advanced-visual-nodes button:hover{background:var(--selection)}.advanced-visual-properties{margin:0;padding:12px;white-space:pre-wrap;font-size:12px}.parallel-contexts{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px;padding:14px}.parallel-contexts section{min-width:210px;max-width:380px;border:1px solid var(--border);background:var(--panel);border-radius:3px;overflow:hidden}.parallel-contexts header{padding:8px;background:var(--toolbar);border-bottom:2px solid var(--accent);display:flex;justify-content:space-between;gap:14px}.parallel-contexts section>button{display:flex;flex-direction:column;gap:4px;border:0;border-bottom:1px solid var(--border);width:100%;padding:9px;background:transparent;text-align:left;color:var(--text)}.parallel-contexts button:hover{background:var(--selection)}.parallel-contexts small,.parallel-contexts footer{font-size:11px;color:var(--text-muted)}.parallel-contexts footer{padding:9px}.await-edge{padding:7px 10px;margin:0;color:var(--accent);border-bottom:1px dashed var(--border)}.sf-app-tool {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.winui-app-root {
  position: relative;
  flex: 1;
  min-height: 160px;
  overflow: auto;
  padding: 16px;
  background: var(--editor-bg,var(--winui-app-winui-app-root-background));
}
.winui-app-root.debug-paused:after {
  content: 'Paused';
  position: absolute;
  inset: 0;
  background: var(--shadow-subtle);
  pointer-events: all;
  display: grid;
  place-items: center;
  font: 600 16px system-ui;
  color: var(--winui-app-winui-app-root-debug-paused-after-foreground);
  text-shadow: 0 1px 4px var(--shadow-opaque);
}
.winui-app-status,.winui-renderer-status {
  font-size: 11px;
  color: var(--text-muted);
  padding: 5px 10px;
  border-top: 1px solid var(--border);
}
.winui-app-status:empty { display: none; }
.symbol-source-editor{height:calc(100% - 34px);min-height:140px}.symbol-id{padding:8px 12px;font-family:var(--mono);font-size:11px}.effect-options {
  display: flex;
  gap: 14px;
  padding: 5px 12px;
  align-items: center;
  font-size: 12px;
}
.effect-options label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hot-edit-badge { color: var(--debugger-effects-hot-edit-badge-foreground); }
.panel-tools select { max-width: 250px; }
@media(max-width:700px){.advanced-split{grid-template-columns:1fr}.parallel-contexts section{width:100%;max-width:none}.winui-app-root{padding:8px}.panel-tools select{max-width:150px}}

/* Project / item wizards use the same workbench palette, typography and focus cues. */
.modal.wizard-modal {
  width: min(1120px,96vw);
  max-width: 1120px;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
}
.wizard-modal .modal-body {
  padding: 0;
  overflow: auto;
  min-height: 0;
}
.wizard-modal .modal-footer {
  display: flex;
  gap: 8px;
  align-items: center;
}
.project-wizard {
  min-height: 470px;
  padding: 18px 24px 12px;
}
.wizard-steps {
  display: flex;
  gap: 14px;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 18px;
}
.wizard-steps .current {
  color: var(--text);
  font-weight: 600;
}
.wizard-filter {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}
.wizard-filter input {
  flex: 1;
  min-width: 120px;
}
.wizard-filter input,.wizard-filter select,.wizard-fields input:not([type=checkbox]),.wizard-fields select,.wizard-import-field select {
  height: 32px;
  box-sizing: border-box;
  border: 1px solid var(--line);
  background: var(--input,var(--project-wizard-wizard-filter-input-background));
  color: var(--text);
  padding: 5px 9px;
  font: inherit;
  min-width: 0;
}
.wizard-filter input:focus,.wizard-fields input:focus,.wizard-fields select:focus { outline: 1px solid var(--accent); }
.wizard-template-layout {
  display: grid;
  grid-template-columns: minmax(300px,1.6fr) minmax(220px,1fr);
  gap: 24px;
}
.wizard-template-list {
  height: 370px;
  overflow: auto;
  border: 1px solid var(--line);
  outline: none;
}
.wizard-template-list:focus { outline: 1px solid var(--accent); }
.wizard-template {
  display: flex;
  gap: 14px;
  width: 100%;
  border: 1px solid transparent!important;
  padding: 12px 14px!important;
  min-height: 92px;
  border-radius: 0!important;
  background: transparent;
  text-align: left!important;
  color: var(--text);
}
.wizard-template:hover { background: var(--hover); }
.wizard-template.selected {
  background: var(--selection);
  border-color: var(--accent)!important;
}
.wizard-template b {
  font-size: 14px;
  font-weight: 600;
  display: block;
}
.wizard-template small {
  display: block;
  line-height: 1.45;
  margin: 4px 0;
  color: var(--muted);
  font-size: 12px;
}
.wizard-template.selected small {
  color: inherit;
  opacity: .88;
}
.wizard-template-icon {
  flex: none;
  width: 30px;
  color: var(--project-wizard-wizard-template-icon-foreground);
  font-size: 24px;
  font-weight: 500;
  line-height: 35px;
}
.wizard-template-tags {
  font-size: 10px;
  opacity: .78;
}
.wizard-description {
  padding: 6px 0;
  line-height: 1.6;
}
.wizard-description h3 {
  font-size: 20px;
  margin: 12px 0;
}
.wizard-description p {
  font-size: 12px;
  color: var(--muted);
}
.wizard-large-icon {
  display: block;
  font-size: 38px;
  color: var(--project-wizard-wizard-large-icon-foreground);
  line-height: 48px;
}
.wizard-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 18px 0;
}
.wizard-tags span {
  font-size: 10px;
  background: var(--hover);
  padding: 2px 6px;
  border: 1px solid var(--line);
}
.wizard-boundary {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.6;
  margin: 14px 0 2px;
}
.wizard-config {
  display: grid;
  grid-template-columns: minmax(260px,0.9fr) minmax(340px,1.3fr);
  gap: 26px;
}
.wizard-fields h3 {
  margin: 0 0 16px;
  font-size: 20px;
}
.wizard-fields>label,.wizard-row label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  margin-bottom: 13px;
}
.wizard-fields .wizard-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 12px;
  gap: 6px;
}
.wizard-row {
  display: flex;
  gap: 10px;
}
.wizard-row>* {
  flex: 1;
  min-width: 0;
}
.wizard-destination {
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
}
.wizard-errors {
  color: var(--red);
  font-size: 12px;
  line-height: 1.5;
  min-height: 20px;
}
.wizard-warnings {
  font-size: 11px;
  line-height: 1.6;
  color: var(--yellow);
}
.wizard-preview {
  border: 1px solid var(--line);
  min-width: 0;
  display: flex;
  flex-direction: column;
  max-height: 470px;
}
.wizard-preview-head {
  font-size: 12px;
  font-weight: 600;
  padding: 9px 12px;
  border-bottom: 1px solid var(--line);
}
.wizard-preview-head span {
  float: right;
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
}
.wizard-preview-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.wizard-files {
  max-height: 150px;
  overflow: auto;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.wizard-files button {
  display: block;
  width: 100%;
  font-size: 11px;
  padding: 5px 10px;
  text-align: left;
  background: transparent;
  color: var(--text);
  border: 0;
  white-space: nowrap;
}
.wizard-files button:hover,.wizard-files button:focus { background: var(--selection); }
.wizard-files span {
  color: var(--muted);
  margin-right: 10px;
  font-size: 10px;
}
.wizard-folder {
  font-size: 11px;
  color: var(--muted);
  padding: 4px 10px;
}
.wizard-preview pre {
  flex: 1;
  min-height: 180px;
  margin: 0;
  padding: 12px;
  overflow: auto;
  white-space: pre;
  font: 11px/1.7 var(--mono,Consolas,monospace);
  color: var(--text);
  background: var(--editor-bg,var(--project-wizard-wizard-preview-pre-background));
}
.wizard-spacer { flex: 1; }
.wizard-empty {
  padding: 16px;
  font-size: 12px;
  color: var(--muted);
}
.wizard-import-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 16px 0;
}
.wizard-import-field select { width: 100%; }
.wizard-modal input:disabled { opacity: .55; }
@media(max-width:760px) {
  .project-wizard { padding: 12px; }
  .wizard-config,.wizard-template-layout { grid-template-columns: 1fr; }
  .wizard-description { display: none; }
  .wizard-filter { flex-wrap: wrap; }
  .wizard-preview { max-height: 250px; }
  .wizard-template-list { height: 300px; }
  .wizard-fields h3 { font-size: 18px; }
  .modal.wizard-modal { max-height: 95vh; }
  .wizard-config { gap: 12px; }
}

/* SharpForge Designer: compact workbench chrome, independent dockable panels. */
.sf-design-tool {
  display: flex!important;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden!important;
  background: var(--bg);
}
.design-toolbar {
  flex: none;
  min-height: 30px;
  height: auto!important;
  flex-wrap: wrap;
  gap: 5px;
  padding: 4px 7px!important;
  font-size: 11px;
  border-bottom: 1px solid var(--border);
}
.design-toolbar button,.design-toolbar select,.design-side button,.design-side input,.design-side select { font: inherit; }
.design-toolbar button,.design-side button {
  min-height: 24px;
  border: 1px solid transparent;
  border-radius: 2px;
  padding: 3px 7px;
  background: transparent;
  color: var(--fg,var(--designer-base-toolbar-button-foreground));
  cursor: pointer;
}
.design-toolbar button:hover,.design-side button:hover {
  background: var(--designer-base-toolbar-button-hover-background);
  border-color: var(--designer-base-toolbar-button-hover-border);
}
.design-toolbar button:focus-visible,.design-side button:focus-visible {
  outline: 1px solid var(--designer-base-toolbar-button-focus-visible-outline);
  outline-offset: -1px;
}
.design-toolbar button:disabled,.design-side button:disabled {
  opacity: .45;
  cursor: default;
}
.design-toolbar select,.design-toolbar input,.design-side input,.design-side select,.design-side textarea {
  background: var(--input,var(--designer-base-toolbar-select-background));
  color: var(--fg,var(--designer-base-toolbar-select-foreground));
  border: 1px solid var(--border);
  border-radius: 2px;
  min-height: 25px;
  min-width: 0;
  box-sizing: border-box;
}
.design-toolbar label {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  color: var(--designer-base-toolbar-label-foreground);
}
.design-toolbar input {
  width: 53px;
  font: inherit;
  padding: 2px 4px;
}
.design-divider {
  width: 1px;
  height: 18px;
  background: var(--designer-base-divider-background);
  margin: 0 3px;
}
.design-status {
  flex: none;
  height: auto;
  min-height: 24px;
  padding: 5px 10px;
  font-size: 11px;
  color: var(--designer-base-status-foreground);
  background: var(--designer-base-status-background);
  border-top: 1px solid var(--designer-base-status-border);
  white-space: normal;
}
.design-scroll {
  position: relative;
  overflow: auto;
  flex: 1;
  min-height: 0;
  outline: none;
  background-color: var(--designer-base-scroll-background);
  background-image: radial-gradient(var(--designer-base-scroll-pattern) .6px,transparent .6px);
  background-size: 16px 16px;
  overscroll-behavior: contain;
}
.design-size {
  position: relative;
  margin: 36px 46px 60px 38px;
  box-shadow: 0 4px 20px var(--shadow-deep);
  flex: none;
}
.design-stage {
  position: relative;
  transform-origin: top left;
  isolation: isolate;
  background: var(--designer-base-stage-background);
  touch-action: none;
}
.design-preview,.design-overlay {
  position: absolute;
  inset: 0;
}
.design-preview { overflow: hidden; }
.design-preview.sf-winui-host { position: absolute; }
.design-overlay {
  pointer-events: none;
  z-index: 10;
  overflow: visible;
}
.design-stage:not(.interactive) .design-preview {
  user-select: none;
  cursor: default;
}
.design-stage.interactive .design-overlay { display: none; }
.design-stage.interactive { touch-action: auto; }
.design-selection {
  position: absolute;
  border: 1px solid var(--designer-base-selection-border);
  box-sizing: border-box;
  pointer-events: none;
  background: var(--designer-base-selection-background);
}
.design-selection.primary { outline: 1px solid var(--shadow-popup); }
.design-measure {
  position: absolute;
  left: -1px;
  bottom: 100%;
  margin-bottom: 3px;
  background: var(--designer-base-measure-background);
  color: var(--designer-measure-foreground);
  font: 10px/17px ui-monospace,Consolas,monospace;
  padding: 0 4px;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 1px 3px var(--shadow-floating);
}
.design-handle {
  position: absolute;
  width: 7px;
  height: 7px;
  background: var(--designer-base-handle-background);
  border: 1px solid var(--designer-base-handle-border);
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 12;
}
.design-handle[data-resize=nw] {
  left: -4px;
  top: -4px;
  cursor: nwse-resize;
}
.design-handle[data-resize=n] {
  left: calc(50% - 3px);
  top: -4px;
  cursor: ns-resize;
}
.design-handle[data-resize=ne] {
  right: -4px;
  top: -4px;
  cursor: nesw-resize;
}
.design-handle[data-resize=e] {
  right: -4px;
  top: calc(50% - 3px);
  cursor: ew-resize;
}
.design-handle[data-resize=se] {
  right: -4px;
  bottom: -4px;
  cursor: nwse-resize;
}
.design-handle[data-resize=s] {
  left: calc(50% - 3px);
  bottom: -4px;
  cursor: ns-resize;
}
.design-handle[data-resize=sw] {
  left: -4px;
  bottom: -4px;
  cursor: nesw-resize;
}
.design-handle[data-resize=w] {
  left: -4px;
  top: calc(50% - 3px);
  cursor: ew-resize;
}
.design-ruler {
  position: sticky;
  z-index: 14;
  pointer-events: none;
  background-color: var(--designer-base-ruler-background);
  color: var(--designer-base-ruler-foreground);
  border: 1px solid var(--designer-base-ruler-border);
}
.design-ruler.horizontal {
  top: 0;
  left: 0;
  height: 17px;
  background-image: repeating-linear-gradient(90deg, transparent 0, transparent 15px, var(--designer-base-ruler-horizontal-pattern) 15px,
    var(--designer-base-ruler-horizontal-pattern) 16px);
}
.design-ruler.vertical {
  left: 0;
  top: 17px;
  width: 17px;
  height: 0;
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 15px, var(--designer-base-ruler-vertical-pattern) 15px,
    var(--designer-base-ruler-vertical-pattern) 16px);
}
.design-side {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: auto;
  font-size: 12px;
  background: var(--panel);
}
.design-side>.panel-tools {
  flex: none;
  height: auto!important;
  min-height: 30px;
  padding: 4px 8px;
  gap: 5px;
  flex-wrap: wrap;
}
.design-side>.panel-tools b { font-size: 11px; }
.design-side>input {
  margin: 7px 8px;
  padding: 5px 7px;
  flex: none;
  width: calc(100% - 16px);
}
.design-side section {
  padding: 9px;
  border-bottom: 1px solid var(--designer-base-side-section-border);
}
.design-side h4 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 4px 0 9px;
  color: var(--designer-base-side-h4-foreground);
}
.design-side>p,.design-side section>p {
  font-size: 11px;
  line-height: 1.55;
  padding: 0 10px;
  color: var(--designer-base-side-p-foreground);
}
.design-side label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 5px 0;
}
.design-side label>input,.design-side label>select {
  flex: 1;
  width: 50%;
  padding: 4px;
}
.design-side label>input[type=checkbox] {
  flex: none;
  width: auto;
}
.design-toolbox-list {
  overflow: auto;
  flex: 1;
  min-height: 0;
  padding: 2px 5px 15px;
}
.design-toolbox-list h4 {
  margin: 10px 4px 5px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--designer-base-toolbox-list-h4-border);
}
.design-toolbox-list button {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  height: 27px;
  gap: 8px;
}
.design-toolbox-list button span:first-child {
  color: var(--designer-base-toolbox-list-button-span-first-child-foreground);
  font-size: 14px;
  width: 18px;
}
.design-toolbox-list button:hover { background: var(--designer-base-toolbox-list-button-hover-background); }
.design-tree {
  flex: 1;
  min-height: 100px;
  overflow: hidden;
}
.design-tree .sf-tree-row { font-size: 12px; }
.design-resource-select {
  padding: 2px 8px 8px;
  border-bottom: 1px solid var(--designer-base-resource-select-border);
}
.design-resource-select label { font-size: 11px; }
.design-property-list {
  overflow: auto;
  min-height: 80px;
  flex: 1;
}
.design-property-row {
  display: grid;
  grid-template-columns: minmax(88px,.95fr) minmax(60px,1.1fr) 25px;
  align-items: center;
  border-bottom: 1px solid var(--designer-base-property-row-border);
  min-height: 29px;
  padding: 0 5px 0 9px;
  gap: 4px;
  font-size: 11px;
}
.design-property-row>label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--designer-base-property-row-label-foreground);
}
.design-property-row input,.design-property-row select {
  width: 100%;
  padding: 2px 4px;
  font: 11px/20px inherit;
  border-color: transparent;
  background: var(--designer-base-property-row-input-background);
  min-height: 23px;
}
.design-property-row input:focus,.design-property-row select:focus {
  border-color: var(--designer-base-property-row-input-focus-border);
  outline: none;
}
.design-property-row input[type=checkbox] { width: 15px; }
.design-property-row>span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.design-property-row button {
  padding: 0;
  font-size: 16px;
  color: var(--designer-base-property-row-button-foreground);
}
.design-property-row .local-value { color: var(--designer-base-property-row-local-value-foreground); }
.design-events {
  flex: none;
  padding: 8px;
  border-top: 1px solid var(--designer-base-events-border);
}
.design-events summary {
  font-size: 11px;
  color: var(--designer-base-events-summary-foreground);
  cursor: pointer;
}
.design-events label { font-size: 11px; }
.design-events p {
  font-size: 11px;
  line-height: 1.5;
  color: var(--designer-base-events-p-foreground);
}
.design-layout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.design-layout-actions button {
  border-color: var(--designer-base-layout-actions-button-border);
  font-size: 11px;
}
.design-side textarea {
  resize: vertical;
  min-height: 100px;
  width: 100%;
  font: 11px/1.6 ui-monospace,Consolas,monospace;
  padding: 8px;
  tab-size: 4;
}
.design-side>details { padding: 9px; }
.design-side details>summary {
  cursor: pointer;
  font-size: 11px;
  color: var(--designer-base-side-details-summary-foreground);
}
.design-side details>textarea { margin-top: 8px; }
.design-resource-add {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 4px;
  padding-top: 8px;
}
.design-resource-add input,.design-resource-add select {
  width: 100%;
  font-size: 11px;
  padding: 3px;
}
.design-template-parts {
  padding: 5px 0;
  border-bottom: 1px solid var(--designer-base-template-parts-border);
}
.design-template-parts>button {
  display: block;
  text-align: left;
  width: 100%;
  font-size: 11px;
  border-radius: 0;
}
.design-template-parts>button.selected {
  background: var(--designer-base-template-parts-button-selected-background);
  color: var(--designer-selected-foreground);
}
.design-template-parts .panel-tools {
  padding: 5px;
  gap: 3px;
  display: flex;
}
.design-template-parts select { width: 50%; }
.design-source-view {
  flex: 1;
  min-height: 120px;
  overflow: auto;
  background: var(--designer-base-source-view-background);
  color: var(--designer-base-source-view-foreground);
  white-space: pre;
  font: 12px/1.65 ui-monospace,Consolas,monospace;
  padding: 12px;
}
.design-json-editor {
  min-height: 170px!important;
  flex: 1;
  resize: none!important;
}
.design-grid-line {
  position: absolute;
  pointer-events: none;
  border-color: var(--designer-base-grid-line-border);
  border-style: dashed;
  border-width: 0;
  z-index: 11;
}
.design-grid-line.horizontal { border-top-width: 1px; }
.design-grid-line.vertical { border-left-width: 1px; }
@media(max-width:900px) {
  .design-toolbar { font-size: 10px; }
  .design-toolbar button { padding: 3px 5px; }
  .design-property-row { grid-template-columns: minmax(60px,.8fr) minmax(40px,1fr) 20px; }
  .design-size { margin-left: 24px; }
}
.design-marquee {
  position: absolute;
  border: 1px solid var(--designer-base-marquee-border);
  background: var(--designer-base-marquee-background);
  pointer-events: none;
}
.design-grid-track {
  position: absolute;
  pointer-events: auto;
  background: var(--designer-base-grid-track-background)!important;
  border: 0!important;
  padding: 0!important;
  min-width: 0!important;
  min-height: 0!important;
  z-index: 6;
}
.design-grid-track.rows {
  height: 5px;
  cursor: row-resize;
  transform: translateY(-2px);
}
.design-grid-track.columns {
  width: 5px;
  cursor: col-resize;
  transform: translateX(-2px);
}
.design-grid-track:hover,.design-grid-track:focus-visible {
  background: var(--designer-base-grid-track-hover-background)!important;
  outline: 1px solid var(--designer-base-grid-track-hover-outline);
}

/* Consistent IDE density and a focused designer workbench. All colors are theme tokens. */
:root {
  --sf-accent: var(--designer-palette-accent);
  --sf-subtle: var(--designer-palette-subtle);
  --sf-line: var(--designer-palette-line);
  --sf-surface: var(--designer-palette-surface);
  --sf-selection: var(--designer-palette-selection);
}
.panel-tools {
  gap: 6px!important;
  align-items: center;
  box-sizing: border-box;
}
.panel-tools button { border-radius: 3px; }
.panel-tools button:focus-visible,button:focus-visible,select:focus-visible {
  outline: 2px solid var(--sf-accent);
  outline-offset: -2px;
}
button:disabled { cursor: not-allowed; }
.dock-tab { font-weight: 400; }
.dock-tab.active { font-weight: 500; }
.tool-page { line-height: 1.55; }
.tool-page h2 {
  font-size: 17px;
  margin: 12px 0;
}
.tool-page p { max-width: 100ch; }
.sf-context-menu { box-shadow: 0 6px 24px var(--shadow-floating); }
.design-mode-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 9px;
  min-height: 38px;
  flex: none;
  background: var(--designer-mode-bar-background);
  border-bottom: 1px solid var(--sf-line);
  font-size: 11px;
}
.design-mode-tabs {
  display: flex;
  gap: 2px;
  align-self: stretch;
}
.design-mode-tabs button {
  border: 0;
  background: transparent;
  color: var(--designer-mode-tabs-button-foreground);
  padding: 0 16px;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  min-width: 56px;
}
.design-mode-tabs button:hover {
  background: var(--designer-mode-tabs-button-hover-background);
  color: var(--designer-hover-foreground);
}
.design-mode-tabs button[aria-selected=true] {
  color: var(--designer-selected-foreground);
  background: var(--designer-mode-tabs-button-selected-background);
  border-bottom-color: var(--sf-accent);
}
.design-device-label {
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--sf-subtle);
}
.design-device-label select {
  border: 1px solid var(--designer-device-label-select-border);
  background: var(--designer-device-label-select-background);
  color: var(--designer-device-label-select-foreground);
  font: 11px inherit;
  padding: 3px 5px;
  border-radius: 3px;
  max-width: 210px;
}
.design-toolbar {
  font-size: 11px;
  gap: 4px!important;
  padding: 5px 8px!important;
  background: var(--designer-toolbar-background);
}
.design-toolbar button {
  min-height: 25px;
  padding: 3px 8px;
}
.design-toolbar .design-primary {
  background: var(--designer-toolbar-design-primary-background);
  border-color: var(--designer-toolbar-design-primary-border);
  color: var(--designer-primary-foreground);
}
.design-toolbar .design-primary:hover { background: var(--designer-toolbar-design-primary-hover-background); }
.design-toolbar label { white-space: nowrap; }
.design-toolbar [data-design-action=download] { color: var(--designer-toolbar-data-design-action-download-foreground); }
.design-toolbar select {
  padding: 3px 5px;
  font-size: 11px;
}
.design-toolbar [data-design-action=undo],.design-toolbar [data-design-action=redo] {
  font-size: 16px;
  line-height: 16px;
}
.design-sync-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 4px 8px;
  min-height: 30px;
  flex: none;
  background: var(--designer-sync-bar-background);
  border-bottom: 1px solid var(--designer-sync-bar-border);
  font-size: 11px;
}
.design-sync-bar button,.design-source-link button {
  font: 11px inherit;
  color: var(--designer-sync-bar-button-foreground);
  background: transparent;
  border: 1px solid var(--designer-sync-bar-button-border);
  border-radius: 3px;
  padding: 3px 7px;
  cursor: pointer;
}
.design-sync-bar button:hover,.design-source-link button:hover { background: var(--designer-sync-bar-button-hover-background); }
.design-sync-state {
  color: var(--designer-sync-state-foreground);
  margin-right: 3px;
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.design-sync-state.synced { color: var(--designer-sync-state-synced-foreground); }
.design-sync-state.conflict,.design-sync-state.blocked { color: var(--designer-sync-state-conflict-foreground); }
.design-sync-bar[data-state=conflict],.design-sync-bar[data-state=blocked] {
  border-bottom-color: var(--designer-sync-bar-data-state-conflict-border);
  background: var(--designer-sync-bar-data-state-conflict-background);
}
.design-auto-sync {
  display: flex!important;
  align-items: center;
  gap: 4px;
  color: var(--designer-auto-sync-foreground);
  margin-left: auto;
  white-space: nowrap;
}
.design-auto-sync input {
  accent-color: var(--sf-accent);
  width: 13px;
  height: 13px;
  min-height: 0;
}
.design-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: none;
  overflow: auto;
  min-height: 29px;
  padding: 2px 9px;
  background: var(--designer-breadcrumbs-background);
  border-bottom: 1px solid var(--designer-breadcrumbs-border);
  font-size: 11px;
  white-space: nowrap;
}
.design-breadcrumbs button {
  color: var(--designer-breadcrumbs-button-foreground);
  border: 0;
  border-radius: 3px;
  background: transparent;
  padding: 4px 6px;
  cursor: pointer;
}
.design-breadcrumbs button:hover { background: var(--designer-breadcrumbs-button-hover-background); }
.design-breadcrumbs small {
  color: var(--designer-breadcrumbs-small-foreground);
  margin-left: 4px;
  font-size: 10px;
}
.design-context-label {
  color: var(--designer-context-label-foreground);
  font-size: 9px;
  letter-spacing: .08em;
  margin-right: 7px;
}
.crumb-separator { color: var(--designer-crumb-separator-foreground); }
.design-selection-count {
  font-size: 10px;
  color: var(--designer-selection-count-foreground);
  padding-left: 10px;
}
.design-scroll {
  background-color: var(--designer-scroll-background);
  background-image: radial-gradient(var(--designer-scroll-pattern) .65px,transparent .65px);
  background-size: 16px 16px;
}
.design-size { box-shadow: 0 0 0 1px var(--designer-size-glow),0 12px 32px var(--shadow-dialog); }
.design-ruler.horizontal {
  height: 20px;
  box-sizing: border-box;
  background-color: var(--designer-ruler-horizontal-background);
  border: 0;
  border-bottom: 1px solid var(--designer-ruler-horizontal-border);
  overflow: hidden;
  background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(100% - 1px),
    var(--designer-ruler-horizontal-pattern) calc(100% - 1px), var(--designer-ruler-horizontal-pattern) 100%);
}
.design-ruler.horizontal span {
  position: absolute;
  top: 3px;
  font: 9px ui-monospace,Consolas,monospace;
  color: var(--designer-ruler-horizontal-span-foreground);
  padding-left: 2px;
}
.design-ruler.vertical {
  border-color: var(--designer-ruler-vertical-border);
  background-color: var(--designer-ruler-vertical-background);
}
.design-selection { border-color: var(--designer-selection-border); }
.design-selection.primary { box-shadow: 0 0 0 .5px var(--designer-selection-primary-glow); }
.design-handle {
  border-radius: 1px;
  width: 8px;
  height: 8px;
  background: var(--designer-handle-background);
  border-color: var(--designer-handle-border);
}
.design-measure {
  border-radius: 2px;
  background: var(--designer-measure-background);
  padding: 1px 6px;
}
.design-status {
  background: var(--designer-status-background);
  color: var(--designer-status-foreground);
  font: 11px/1.45 inherit;
  padding: 6px 10px;
  min-height: 29px;
  border-color: var(--designer-status-border);
}
.design-side {
  background: var(--designer-side-background);
  color: var(--designer-side-foreground);
  font-size: 12px;
}
.design-side>.panel-tools {
  background: var(--designer-side-panel-tools-background);
  border-bottom: 1px solid var(--sf-line);
  min-height: 33px;
}
.design-side>.panel-tools b {
  font-size: 12px;
  font-weight: 500;
}
.design-side>input,.design-property-search {
  background: var(--designer-side-input-background)!important;
  border-color: var(--designer-side-input-border)!important;
  border-radius: 3px!important;
  min-height: 29px!important;
}
.design-toolbox-list { padding: 2px 0 12px; }
.design-toolbox-category,.design-property-category {
  padding: 0!important;
  margin: 0;
  border-bottom: 1px solid var(--designer-toolbox-category-border);
}
.design-toolbox-category>summary,.design-property-category>summary {
  list-style-position: inside;
  cursor: pointer;
  user-select: none;
  background: var(--designer-toolbox-category-summary-background);
  color: var(--designer-toolbox-category-summary-foreground)!important;
  font: 600 10px/29px system-ui!important;
  letter-spacing: .035em;
  padding: 0 10px;
  min-height: 29px;
}
.design-toolbox-category>summary:hover,.design-property-category>summary:hover { background: var(--designer-toolbox-category-summary-hover-background); }
.design-toolbox-category>button {
  height: 29px;
  padding-left: 18px;
  border-radius: 0;
  font-size: 12px;
}
.design-toolbox-category svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.1;
}
.design-toolbox-list button span:first-child {
  display: inline-flex;
  color: var(--designer-toolbox-list-button-span-first-child-foreground);
}
.design-toolbox-list button:hover { background: var(--designer-toolbox-list-button-hover-background); }
.design-tree .sf-tree-row { min-height: 25px; }
.design-tree .sf-tree-row.selected { background: var(--designer-tree-sf-tree-row-selected-background); }
.design-resource-select {
  padding: 3px 10px 7px;
  background: var(--designer-resource-select-background);
}
.design-property-list {
  flex: 1;
  min-height: 130px;
}
.design-property-row {
  grid-template-columns: minmax(90px,1fr) minmax(72px,1.1fr) 24px;
  min-height: 30px;
  padding: 0 7px 0 12px;
  border-color: var(--designer-property-row-border);
  font-size: 11px;
  background: var(--designer-property-row-background);
}
.design-property-row:nth-child(odd) { background: var(--designer-property-row-nth-child-odd-background); }
.design-property-row:hover { background: var(--designer-property-row-hover-background); }
.design-property-row label {
  font-size: 11px;
  color: var(--designer-property-row-label-foreground);
  gap: 5px;
}
.design-property-row input,.design-property-row select {
  font-family: inherit;
  font-size: 11px;
  line-height: 22px;
  background: var(--designer-property-row-input-background);
  border-radius: 2px;
  padding: 1px 5px;
}
.design-property-row input[type=checkbox] {
  accent-color: var(--designer-property-row-input-type-checkbox-accent);
  margin-left: 5px;
}
.design-property-row .local-value { color: var(--designer-property-row-local-value-foreground); }
.design-code-owned { opacity: .76; }
.design-code-owned label:after {
  content: '↗';
  color: var(--designer-code-owned-label-after-foreground);
  margin-left: auto;
}
.design-color-swatch {
  width: 10px;
  height: 10px;
  border: 1px solid var(--designer-color-swatch-border);
  flex: none;
  border-radius: 2px;
}
.design-property-help {
  padding: 9px 10px;
  font-size: 11px;
  min-height: 35px;
  flex: none;
  border-top: 1px solid var(--designer-property-help-border);
  background: var(--designer-property-help-background);
  color: var(--designer-property-help-foreground);
}
.design-events { background: var(--designer-events-background); }
.design-events summary {
  font-weight: 500;
  font-size: 11px;
}
.design-events p,.design-layout-actions p { line-height: 1.5; }
.design-source-link {
  padding: 0 0 8px;
  background: var(--designer-source-link-background);
  border-bottom: 1px solid var(--designer-source-link-border);
  flex: none;
}
.design-source-link .panel-tools {
  display: flex;
  flex-wrap: wrap;
  padding: 7px;
  gap: 5px;
}
.design-source-link p {
  font-size: 11px;
  line-height: 1.5;
  margin: 7px 11px;
  color: var(--designer-source-link-p-foreground);
}
.design-source-link details { padding: 0 11px; }
.design-source-link .design-auto-sync { margin-left: 0; }
.design-source-link+div.panel-tools { border-top: 0; }
.design-side textarea.design-code {
  font: 12px/1.65 ui-monospace,Consolas,monospace;
  background: var(--designer-side-textarea-design-code-background);
  color: var(--designer-side-textarea-design-code-foreground);
  border-color: var(--designer-side-textarea-design-code-border);
  border-radius: 3px;
  tab-size: 4;
}
@media(max-width:1100px) {
  .design-mode-tabs button {
    padding: 0 9px;
    min-width: 40px;
  }
  .design-device-label { font-size: 0; }
  .design-device-label select {
    max-width: 155px;
    font-size: 10px;
  }
  .design-sync-bar { font-size: 10px; }
  .design-context-label { display: none; }
  .design-breadcrumbs small { display: none; }
  .design-auto-sync { margin-left: 0; }
}
@media(prefers-reduced-motion:reduce) {
  .design-preview * { scroll-behavior: auto!important; }
}
/* Match the workbench's explicit light setting without recoloring the application preview. */
html[data-theme=light] {
  --sf-accent: var(--designer-palette-accent-light);
  --sf-subtle: var(--designer-palette-subtle-light);
  --sf-line: var(--designer-palette-line-light);
  --sf-surface: var(--designer-palette-surface-light);
}
html[data-theme=light] :is(.design-mode-bar, .design-sync-bar, .design-breadcrumbs, .design-toolbar, .design-status, .design-side, .design-resource-select,
  .design-source-link, .design-property-help) {
  background: var(--designer-mode-bar-light-background);
  color: var(--designer-mode-bar-light-foreground);
  border-color: var(--designer-mode-bar-light-border);
}
html[data-theme=light] :is(.design-mode-tabs button, .design-sync-bar button, .design-source-link button, .design-breadcrumbs button,
  .design-property-row label, .design-auto-sync, .design-device-label, .design-side button) {
  color: var(--designer-mode-tabs-button-light-foreground);
}
html[data-theme=light] .design-mode-tabs button[aria-selected=true] {
  background: var(--designer-mode-tabs-button-selected-light-background);
  color: var(--designer-mode-tabs-button-selected-light-foreground);
}
html[data-theme=light] :is(.design-property-category>summary,.design-toolbox-category>summary,.design-side>.panel-tools) {
  background: var(--designer-property-category-summary-light-background);
  color: var(--designer-property-category-summary-light-foreground)!important;
}
html[data-theme=light] .design-property-row {
  background: var(--designer-property-row-light-background);
  border-color: var(--designer-property-row-light-border);
}
html[data-theme=light] .design-property-row:nth-child(odd) { background: var(--designer-property-row-nth-child-odd-light-background); }
html[data-theme=light] :is(.design-property-row input, .design-property-row select, .design-device-label select, .design-side>input,
  .design-property-search, .design-side textarea.design-code) {
  background: var(--designer-property-row-input-light-background)!important;
  color: var(--designer-property-row-input-light-foreground);
  border-color: var(--designer-property-row-input-light-border)!important;
}
html[data-theme=light] :is(.design-source-link p,.design-breadcrumbs small,.design-selection-count) {
  color: var(--designer-source-link-p-light-foreground);
}
html[data-theme=light] .design-scroll {
  background-color: var(--designer-scroll-light-background);
  background-image: radial-gradient(var(--designer-scroll-light-pattern) .65px,transparent .65px);
}
html[data-theme=light] :is(.design-ruler.horizontal,.design-ruler.vertical) {
  background-color: var(--designer-ruler-horizontal-light-background);
  border-color: var(--designer-ruler-horizontal-light-border);
}
html[data-theme=light] .design-ruler.horizontal span { color: var(--designer-ruler-horizontal-span-light-foreground); }
html[data-theme=light] .design-sync-state.synced { color: var(--designer-sync-state-synced-light-foreground); }
html[data-theme=light] .design-sync-state.conflict,html[data-theme=light] .design-sync-state.blocked {
  color: var(--designer-sync-state-conflict-light-foreground);
}

.runtime-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 16px 20px;
}
.runtime-page section {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.runtime-page p {
  line-height: 1.55;
  color: var(--text-muted,var(--runtime-settings-runtime-page-p-foreground));
  margin: 8px 0;
}
.runtime-page h2 { margin: 0; }
.runtime-page h3 {
  margin: 0 0 10px;
  font-size: 13px;
}
.runtime-header,.runtime-grid {
  display: flex;
  gap: 18px;
  align-items: start;
  justify-content: space-between;
}
.runtime-grid>.tool-field {
  flex: 1;
  min-width: 0;
}
.runtime-header>div { flex: 1; }
.runtime-page .tool-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0;
}
.runtime-page input[type=number],.runtime-page select,.runtime-page textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 7px;
}
.runtime-grant {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.runtime-page pre {
  padding: 12px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12px;
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--border);
}
#runtime-status {
  font-size: 12px;
  padding: 6px;
}
@media(max-width:700px) {
  .runtime-grid { display: block; }
  .runtime-page { padding: 12px; }
  .runtime-header { flex-wrap: wrap; }
}

/* SF-A19-T08.3: semantic colors; original Dark and Light values are retained. */
:root {
  --designer-measure-foreground: white; --designer-selected-foreground: white;
  --designer-hover-foreground: white; --designer-primary-foreground: white;
  --designer-base-toolbar-button-foreground: #ddd; --designer-base-toolbar-button-hover-background: #343c46;
  --designer-base-toolbar-button-hover-border: #4a596a; --designer-base-toolbar-button-focus-visible-outline: #57b5f9;
  --designer-base-toolbar-select-background: #252526; --designer-base-toolbar-select-foreground: #ddd; --designer-base-toolbar-label-foreground: #b7bec8;
  --designer-base-divider-background: #50515a; --designer-base-status-foreground: #a8bed5; --designer-base-status-background: #252b32;
  --designer-base-status-border: #3f4650; --designer-base-scroll-background: #252930; --designer-base-scroll-pattern: #444d59;
  --designer-base-stage-background: #f7f7f7; --designer-base-selection-border: #48b5ff; --designer-base-selection-background: #40aaff09;
  --designer-base-measure-background: #007acc; --designer-base-handle-background: #fff; --designer-base-handle-border: #007acc;
  --designer-base-ruler-background: #30353d; --designer-base-ruler-foreground: #8d99a6; --designer-base-ruler-border: #434c59;
  --designer-base-ruler-horizontal-pattern: #57616f; --designer-base-ruler-vertical-pattern: #57616f; --designer-base-side-section-border: #3d4045;
  --designer-base-side-h4-foreground: #b8c6d7; --designer-base-side-p-foreground: #9fabbc; --designer-base-toolbox-list-h4-border: #3d424b;
  --designer-base-toolbox-list-button-span-first-child-foreground: #7ebde9; --designer-base-toolbox-list-button-hover-background: #323d4a;
  --designer-base-resource-select-border: #3f4249; --designer-base-property-row-border: #34363c; --designer-base-property-row-label-foreground: #c9cdd4;
  --designer-base-property-row-input-background: #1e1f23; --designer-base-property-row-input-focus-border: #4b98cb;
  --designer-base-property-row-button-foreground: #6c7583; --designer-base-property-row-local-value-foreground: #56b8f7;
  --designer-base-events-border: #414550; --designer-base-events-summary-foreground: #b9cbe0; --designer-base-events-p-foreground: #9daaba;
  --designer-base-layout-actions-button-border: #414751; --designer-base-side-details-summary-foreground: #a8bfd6;
  --designer-base-template-parts-border: #424955; --designer-base-template-parts-button-selected-background: #264b69;
  --designer-base-source-view-background: #1d2027; --designer-base-source-view-foreground: #dae2ed; --designer-base-grid-line-border: #84c8ff88;
  --designer-base-marquee-border: #4ca9ef; --designer-base-marquee-background: #007acc25; --designer-base-grid-track-background: #4bb4fd88;
  --designer-base-grid-track-hover-background: #8bdbff; --designer-base-grid-track-hover-outline: #fff; --designer-palette-accent: #4aa9ed;
  --designer-palette-subtle: #a9b4c4; --designer-palette-line: #3a414b; --designer-palette-surface: #20252d; --designer-palette-selection: #173f5d;
  --designer-mode-bar-background: #252b34; --designer-mode-tabs-button-foreground: #b8c2cf; --designer-mode-tabs-button-hover-background: #313a47;
  --designer-mode-tabs-button-selected-background: #293745; --designer-device-label-select-border: #454f5e;
  --designer-device-label-select-background: #212731; --designer-device-label-select-foreground: #cbd6e4; --designer-toolbar-background: #232932;
  --designer-toolbar-design-primary-background: #0e6099; --designer-toolbar-design-primary-border: #237dad;
  --designer-toolbar-design-primary-hover-background: #1679b6; --designer-toolbar-data-design-action-download-foreground: #aebdd0;
  --designer-sync-bar-background: #212c36; --designer-sync-bar-border: #344451; --designer-sync-bar-button-foreground: #c4d6e6;
  --designer-sync-bar-button-border: #47576a; --designer-sync-bar-button-hover-background: #33485c; --designer-sync-state-foreground: #9fc4e1;
  --designer-sync-state-synced-foreground: #9ad6ba; --designer-sync-state-conflict-foreground: #ffd299;
  --designer-sync-bar-data-state-conflict-border: #bc823e; --designer-sync-bar-data-state-conflict-background: #342e27;
  --designer-auto-sync-foreground: #b7c4d5; --designer-breadcrumbs-background: #20252d; --designer-breadcrumbs-border: #313b47;
  --designer-breadcrumbs-button-foreground: #c5d3e5; --designer-breadcrumbs-button-hover-background: #304257;
  --designer-breadcrumbs-small-foreground: #839ab2; --designer-context-label-foreground: #72879e; --designer-crumb-separator-foreground: #62778d;
  --designer-selection-count-foreground: #91a2b7; --designer-scroll-background: #1b2028; --designer-scroll-pattern: #47526288;
  --designer-size-glow: #536070; --designer-ruler-horizontal-background: #252c36; --designer-ruler-horizontal-border: #485466;
  --designer-ruler-horizontal-pattern: #465362; --designer-ruler-horizontal-span-foreground: #97a7ba; --designer-ruler-vertical-border: #404b59;
  --designer-ruler-vertical-background: #262d36; --designer-selection-border: #69c6ff; --designer-selection-primary-glow: #69c6ff;
  --designer-handle-background: #e6f4ff; --designer-handle-border: #1c92dd; --designer-measure-background: #09578e;
  --designer-status-background: #202b37; --designer-status-foreground: #b0c5db; --designer-status-border: #354b61; --designer-side-background: #232830;
  --designer-side-foreground: #ced7e4; --designer-side-panel-tools-background: #29303a; --designer-side-input-background: #1c222b;
  --designer-side-input-border: #455263; --designer-toolbox-category-border: #363e4a; --designer-toolbox-category-summary-background: #2a323e;
  --designer-toolbox-category-summary-foreground: #b4c5d8; --designer-toolbox-category-summary-hover-background: #333f4e;
  --designer-toolbox-list-button-span-first-child-foreground: #7fbbe5; --designer-toolbox-list-button-hover-background: #2e465d;
  --designer-tree-sf-tree-row-selected-background: #244763; --designer-resource-select-background: #252d37; --designer-property-row-border: #2e3743;
  --designer-property-row-background: #232a34; --designer-property-row-nth-child-odd-background: #252c37;
  --designer-property-row-hover-background: #2b3645; --designer-property-row-label-foreground: #bfccdd;
  --designer-property-row-input-background: #1c232c; --designer-property-row-input-type-checkbox-accent: #349be3;
  --designer-property-row-local-value-foreground: #5bbaf7; --designer-code-owned-label-after-foreground: #e5bb83;
  --designer-color-swatch-border: #7b8897; --designer-property-help-border: #455161; --designer-property-help-background: #283343;
  --designer-property-help-foreground: #bdcfe4; --designer-events-background: #242d38; --designer-source-link-background: #253140;
  --designer-source-link-border: #425267; --designer-source-link-p-foreground: #c2d3e7; --designer-side-textarea-design-code-background: #1d232c;
  --designer-side-textarea-design-code-foreground: #d0dbea; --designer-side-textarea-design-code-border: #465166;
}
html[data-theme="light"] {
  --designer-palette-accent-light: #176ca4; --designer-palette-subtle-light: #506376; --designer-palette-line-light: #c6d0dc;
  --designer-palette-surface-light: #f3f6fa; --designer-mode-bar-light-background: #edf2f7; --designer-mode-bar-light-foreground: #263b51;
  --designer-mode-bar-light-border: #c6d1df; --designer-mode-tabs-button-light-foreground: #29435e;
  --designer-mode-tabs-button-selected-light-background: #dceaf6; --designer-mode-tabs-button-selected-light-foreground: #104e7a;
  --designer-property-category-summary-light-background: #dfe7f0; --designer-property-category-summary-light-foreground: #3b536d;
  --designer-property-row-light-background: #f4f7fb; --designer-property-row-light-border: #dee5ef;
  --designer-property-row-nth-child-odd-light-background: #edf2f8; --designer-property-row-input-light-background: #fff;
  --designer-property-row-input-light-foreground: #213a52; --designer-property-row-input-light-border: #bbcbdc;
  --designer-source-link-p-light-foreground: #49637f; --designer-scroll-light-background: #dfe5ed; --designer-scroll-light-pattern: #71869f88;
  --designer-ruler-horizontal-light-background: #e9eff6; --designer-ruler-horizontal-light-border: #aebed0;
  --designer-ruler-horizontal-span-light-foreground: #516b86; --designer-sync-state-synced-light-foreground: #236844;
  --designer-sync-state-conflict-light-foreground: #985616;
}
html[data-theme="blue"] {
  --designer-palette-accent: var(--wb-accent); --designer-palette-subtle: var(--wb-muted); --designer-palette-line: var(--wb-border);
  --designer-palette-surface: var(--wb-panel); --designer-palette-selection: var(--wb-selected);
}
html[data-theme="high-contrast"] {
  --designer-measure-foreground: var(--wb-fg); --designer-selected-foreground: var(--wb-fg);
  --designer-hover-foreground: var(--wb-fg); --designer-primary-foreground: var(--wb-fg);
  --designer-base-toolbar-button-foreground: var(--wb-fg); --designer-base-toolbar-button-hover-background: var(--wb-bg);
  --designer-base-toolbar-button-hover-border: var(--wb-border); --designer-base-toolbar-button-focus-visible-outline: var(--wb-border);
  --designer-base-toolbar-select-background: var(--wb-bg); --designer-base-toolbar-select-foreground: var(--wb-fg);
  --designer-base-toolbar-label-foreground: var(--wb-fg); --designer-base-divider-background: var(--wb-bg);
  --designer-base-status-foreground: var(--wb-fg); --designer-base-status-background: var(--wb-bg); --designer-base-status-border: var(--wb-border);
  --designer-base-scroll-background: var(--wb-bg); --designer-base-scroll-pattern: var(--wb-bg); --designer-base-stage-background: var(--wb-bg);
  --designer-base-selection-border: var(--wb-border); --designer-base-selection-background: var(--wb-selected);
  --designer-base-measure-background: var(--wb-bg); --designer-base-handle-background: var(--wb-bg); --designer-base-handle-border: var(--wb-border);
  --designer-base-ruler-background: var(--wb-bg); --designer-base-ruler-foreground: var(--wb-fg); --designer-base-ruler-border: var(--wb-border);
  --designer-base-ruler-horizontal-pattern: var(--wb-bg); --designer-base-ruler-vertical-pattern: var(--wb-bg);
  --designer-base-side-section-border: var(--wb-border); --designer-base-side-h4-foreground: var(--wb-fg);
  --designer-base-side-p-foreground: var(--wb-fg); --designer-base-toolbox-list-h4-border: var(--wb-border);
  --designer-base-toolbox-list-button-span-first-child-foreground: var(--wb-fg); --designer-base-toolbox-list-button-hover-background: var(--wb-bg);
  --designer-base-resource-select-border: var(--wb-border); --designer-base-property-row-border: var(--wb-border);
  --designer-base-property-row-label-foreground: var(--wb-fg); --designer-base-property-row-input-background: var(--wb-bg);
  --designer-base-property-row-input-focus-border: var(--wb-border); --designer-base-property-row-button-foreground: var(--wb-fg);
  --designer-base-property-row-local-value-foreground: var(--wb-fg); --designer-base-events-border: var(--wb-border);
  --designer-base-events-summary-foreground: var(--wb-fg); --designer-base-events-p-foreground: var(--wb-fg);
  --designer-base-layout-actions-button-border: var(--wb-border); --designer-base-side-details-summary-foreground: var(--wb-fg);
  --designer-base-template-parts-border: var(--wb-border); --designer-base-template-parts-button-selected-background: var(--wb-selected);
  --designer-base-source-view-background: var(--wb-bg); --designer-base-source-view-foreground: var(--wb-fg);
  --designer-base-grid-line-border: var(--wb-border); --designer-base-marquee-border: var(--wb-border); --designer-base-marquee-background: var(--wb-bg);
  --designer-base-grid-track-background: var(--wb-bg); --designer-base-grid-track-hover-background: var(--wb-bg);
  --designer-base-grid-track-hover-outline: var(--wb-border); --designer-palette-accent: var(--wb-accent); --designer-palette-subtle: var(--wb-fg);
  --designer-palette-line: var(--wb-border); --designer-palette-surface: var(--wb-bg); --designer-palette-selection: var(--wb-selected);
  --designer-mode-bar-background: var(--wb-bg); --designer-mode-tabs-button-foreground: var(--wb-fg);
  --designer-mode-tabs-button-hover-background: var(--wb-bg); --designer-mode-tabs-button-selected-background: var(--wb-selected);
  --designer-device-label-select-border: var(--wb-border); --designer-device-label-select-background: var(--wb-bg);
  --designer-device-label-select-foreground: var(--wb-fg); --designer-toolbar-background: var(--wb-bg);
  --designer-toolbar-design-primary-background: var(--wb-bg); --designer-toolbar-design-primary-border: var(--wb-border);
  --designer-toolbar-design-primary-hover-background: var(--wb-bg); --designer-toolbar-data-design-action-download-foreground: var(--wb-fg);
  --designer-sync-bar-background: var(--wb-bg); --designer-sync-bar-border: var(--wb-border); --designer-sync-bar-button-foreground: var(--wb-fg);
  --designer-sync-bar-button-border: var(--wb-border); --designer-sync-bar-button-hover-background: var(--wb-bg);
  --designer-sync-state-foreground: var(--wb-fg); --designer-sync-state-synced-foreground: var(--wb-fg);
  --designer-sync-state-conflict-foreground: var(--wb-fg); --designer-sync-bar-data-state-conflict-border: var(--wb-border);
  --designer-sync-bar-data-state-conflict-background: var(--wb-bg); --designer-auto-sync-foreground: var(--wb-fg);
  --designer-breadcrumbs-background: var(--wb-bg); --designer-breadcrumbs-border: var(--wb-border);
  --designer-breadcrumbs-button-foreground: var(--wb-fg); --designer-breadcrumbs-button-hover-background: var(--wb-bg);
  --designer-breadcrumbs-small-foreground: var(--wb-fg); --designer-context-label-foreground: var(--wb-fg);
  --designer-crumb-separator-foreground: var(--wb-fg); --designer-selection-count-foreground: var(--wb-fg); --designer-scroll-background: var(--wb-bg);
  --designer-scroll-pattern: var(--wb-bg); --designer-size-glow: transparent; --designer-ruler-horizontal-background: var(--wb-bg);
  --designer-ruler-horizontal-border: var(--wb-border); --designer-ruler-horizontal-pattern: var(--wb-bg);
  --designer-ruler-horizontal-span-foreground: var(--wb-fg); --designer-ruler-vertical-border: var(--wb-border);
  --designer-ruler-vertical-background: var(--wb-bg); --designer-selection-border: var(--wb-border); --designer-selection-primary-glow: transparent;
  --designer-handle-background: var(--wb-bg); --designer-handle-border: var(--wb-border); --designer-measure-background: var(--wb-bg);
  --designer-status-background: var(--wb-bg); --designer-status-foreground: var(--wb-fg); --designer-status-border: var(--wb-border);
  --designer-side-background: var(--wb-bg); --designer-side-foreground: var(--wb-fg); --designer-side-panel-tools-background: var(--wb-bg);
  --designer-side-input-background: var(--wb-bg); --designer-side-input-border: var(--wb-border); --designer-toolbox-category-border: var(--wb-border);
  --designer-toolbox-category-summary-background: var(--wb-bg); --designer-toolbox-category-summary-foreground: var(--wb-fg);
  --designer-toolbox-category-summary-hover-background: var(--wb-bg); --designer-toolbox-list-button-span-first-child-foreground: var(--wb-fg);
  --designer-toolbox-list-button-hover-background: var(--wb-bg); --designer-tree-sf-tree-row-selected-background: var(--wb-selected);
  --designer-resource-select-background: var(--wb-bg); --designer-property-row-border: var(--wb-border);
  --designer-property-row-background: var(--wb-bg); --designer-property-row-nth-child-odd-background: var(--wb-bg);
  --designer-property-row-hover-background: var(--wb-bg); --designer-property-row-label-foreground: var(--wb-fg);
  --designer-property-row-input-background: var(--wb-bg); --designer-property-row-input-type-checkbox-accent: var(--wb-accent);
  --designer-property-row-local-value-foreground: var(--wb-fg); --designer-code-owned-label-after-foreground: var(--wb-fg);
  --designer-color-swatch-border: var(--wb-border); --designer-property-help-border: var(--wb-border); --designer-property-help-background: var(--wb-bg);
  --designer-property-help-foreground: var(--wb-fg); --designer-events-background: var(--wb-bg); --designer-source-link-background: var(--wb-bg);
  --designer-source-link-border: var(--wb-border); --designer-source-link-p-foreground: var(--wb-fg);
  --designer-side-textarea-design-code-background: var(--wb-bg); --designer-side-textarea-design-code-foreground: var(--wb-fg);
  --designer-side-textarea-design-code-border: var(--wb-border); --designer-palette-accent-light: var(--wb-accent);
  --designer-palette-subtle-light: var(--wb-fg); --designer-palette-line-light: var(--wb-border); --designer-palette-surface-light: var(--wb-bg);
  --designer-mode-bar-light-background: var(--wb-bg); --designer-mode-bar-light-foreground: var(--wb-fg);
  --designer-mode-bar-light-border: var(--wb-border); --designer-mode-tabs-button-light-foreground: var(--wb-fg);
  --designer-mode-tabs-button-selected-light-background: var(--wb-selected); --designer-mode-tabs-button-selected-light-foreground: var(--wb-fg);
  --designer-property-category-summary-light-background: var(--wb-bg); --designer-property-category-summary-light-foreground: var(--wb-fg);
  --designer-property-row-light-background: var(--wb-bg); --designer-property-row-light-border: var(--wb-border);
  --designer-property-row-nth-child-odd-light-background: var(--wb-bg); --designer-property-row-input-light-background: var(--wb-bg);
  --designer-property-row-input-light-foreground: var(--wb-fg); --designer-property-row-input-light-border: var(--wb-border);
  --designer-source-link-p-light-foreground: var(--wb-fg); --designer-scroll-light-background: var(--wb-bg);
  --designer-scroll-light-pattern: var(--wb-bg); --designer-ruler-horizontal-light-background: var(--wb-bg);
  --designer-ruler-horizontal-light-border: var(--wb-border); --designer-ruler-horizontal-span-light-foreground: var(--wb-fg);
  --designer-sync-state-synced-light-foreground: var(--wb-fg); --designer-sync-state-conflict-light-foreground: var(--wb-fg);
}
@media (forced-colors: active) {
  :root, :root[data-theme] {
    --designer-measure-foreground: CanvasText; --designer-selected-foreground: HighlightText;
    --designer-hover-foreground: CanvasText; --designer-primary-foreground: CanvasText;
    --designer-base-toolbar-button-foreground: CanvasText; --designer-base-toolbar-button-hover-background: Canvas;
    --designer-base-toolbar-button-hover-border: CanvasText; --designer-base-toolbar-button-focus-visible-outline: CanvasText;
    --designer-base-toolbar-select-background: Canvas; --designer-base-toolbar-select-foreground: CanvasText;
    --designer-base-toolbar-label-foreground: CanvasText; --designer-base-divider-background: Canvas; --designer-base-status-foreground: CanvasText;
    --designer-base-status-background: Canvas; --designer-base-status-border: CanvasText; --designer-base-scroll-background: Canvas;
    --designer-base-scroll-pattern: Canvas; --designer-base-stage-background: Canvas; --designer-base-selection-border: CanvasText;
    --designer-base-selection-background: Highlight; --designer-base-measure-background: Canvas; --designer-base-handle-background: Canvas;
    --designer-base-handle-border: CanvasText; --designer-base-ruler-background: Canvas; --designer-base-ruler-foreground: CanvasText;
    --designer-base-ruler-border: CanvasText; --designer-base-ruler-horizontal-pattern: Canvas; --designer-base-ruler-vertical-pattern: Canvas;
    --designer-base-side-section-border: CanvasText; --designer-base-side-h4-foreground: CanvasText; --designer-base-side-p-foreground: CanvasText;
    --designer-base-toolbox-list-h4-border: CanvasText; --designer-base-toolbox-list-button-span-first-child-foreground: CanvasText;
    --designer-base-toolbox-list-button-hover-background: Canvas; --designer-base-resource-select-border: CanvasText;
    --designer-base-property-row-border: CanvasText; --designer-base-property-row-label-foreground: CanvasText;
    --designer-base-property-row-input-background: Canvas; --designer-base-property-row-input-focus-border: CanvasText;
    --designer-base-property-row-button-foreground: CanvasText; --designer-base-property-row-local-value-foreground: CanvasText;
    --designer-base-events-border: CanvasText; --designer-base-events-summary-foreground: CanvasText; --designer-base-events-p-foreground: CanvasText;
    --designer-base-layout-actions-button-border: CanvasText; --designer-base-side-details-summary-foreground: CanvasText;
    --designer-base-template-parts-border: CanvasText; --designer-base-template-parts-button-selected-background: Highlight;
    --designer-base-source-view-background: Canvas; --designer-base-source-view-foreground: CanvasText; --designer-base-grid-line-border: CanvasText;
    --designer-base-marquee-border: CanvasText; --designer-base-marquee-background: Canvas; --designer-base-grid-track-background: Canvas;
    --designer-base-grid-track-hover-background: Canvas; --designer-base-grid-track-hover-outline: CanvasText; --designer-palette-accent: LinkText;
    --designer-palette-subtle: CanvasText; --designer-palette-line: CanvasText; --designer-palette-surface: Canvas;
    --designer-palette-selection: Highlight; --designer-mode-bar-background: Canvas; --designer-mode-tabs-button-foreground: CanvasText;
    --designer-mode-tabs-button-hover-background: Canvas; --designer-mode-tabs-button-selected-background: Highlight;
    --designer-device-label-select-border: CanvasText; --designer-device-label-select-background: Canvas;
    --designer-device-label-select-foreground: CanvasText; --designer-toolbar-background: Canvas; --designer-toolbar-design-primary-background: Canvas;
    --designer-toolbar-design-primary-border: CanvasText; --designer-toolbar-design-primary-hover-background: Canvas;
    --designer-toolbar-data-design-action-download-foreground: CanvasText; --designer-sync-bar-background: Canvas;
    --designer-sync-bar-border: CanvasText; --designer-sync-bar-button-foreground: CanvasText; --designer-sync-bar-button-border: CanvasText;
    --designer-sync-bar-button-hover-background: Canvas; --designer-sync-state-foreground: CanvasText;
    --designer-sync-state-synced-foreground: CanvasText; --designer-sync-state-conflict-foreground: CanvasText;
    --designer-sync-bar-data-state-conflict-border: CanvasText; --designer-sync-bar-data-state-conflict-background: Canvas;
    --designer-auto-sync-foreground: CanvasText; --designer-breadcrumbs-background: Canvas; --designer-breadcrumbs-border: CanvasText;
    --designer-breadcrumbs-button-foreground: CanvasText; --designer-breadcrumbs-button-hover-background: Canvas;
    --designer-breadcrumbs-small-foreground: CanvasText; --designer-context-label-foreground: CanvasText;
    --designer-crumb-separator-foreground: CanvasText; --designer-selection-count-foreground: CanvasText; --designer-scroll-background: Canvas;
    --designer-scroll-pattern: Canvas; --designer-size-glow: transparent; --designer-ruler-horizontal-background: Canvas;
    --designer-ruler-horizontal-border: CanvasText; --designer-ruler-horizontal-pattern: Canvas; --designer-ruler-horizontal-span-foreground: CanvasText;
    --designer-ruler-vertical-border: CanvasText; --designer-ruler-vertical-background: Canvas; --designer-selection-border: CanvasText;
    --designer-selection-primary-glow: transparent; --designer-handle-background: Canvas; --designer-handle-border: CanvasText;
    --designer-measure-background: Canvas; --designer-status-background: Canvas; --designer-status-foreground: CanvasText;
    --designer-status-border: CanvasText; --designer-side-background: Canvas; --designer-side-foreground: CanvasText;
    --designer-side-panel-tools-background: Canvas; --designer-side-input-background: Canvas; --designer-side-input-border: CanvasText;
    --designer-toolbox-category-border: CanvasText; --designer-toolbox-category-summary-background: Canvas;
    --designer-toolbox-category-summary-foreground: CanvasText; --designer-toolbox-category-summary-hover-background: Canvas;
    --designer-toolbox-list-button-span-first-child-foreground: CanvasText; --designer-toolbox-list-button-hover-background: Canvas;
    --designer-tree-sf-tree-row-selected-background: Highlight; --designer-resource-select-background: Canvas;
    --designer-property-row-border: CanvasText; --designer-property-row-background: Canvas; --designer-property-row-nth-child-odd-background: Canvas;
    --designer-property-row-hover-background: Canvas; --designer-property-row-label-foreground: CanvasText;
    --designer-property-row-input-background: Canvas; --designer-property-row-input-type-checkbox-accent: LinkText;
    --designer-property-row-local-value-foreground: CanvasText; --designer-code-owned-label-after-foreground: CanvasText;
    --designer-color-swatch-border: CanvasText; --designer-property-help-border: CanvasText; --designer-property-help-background: Canvas;
    --designer-property-help-foreground: CanvasText; --designer-events-background: Canvas; --designer-source-link-background: Canvas;
    --designer-source-link-border: CanvasText; --designer-source-link-p-foreground: CanvasText; --designer-side-textarea-design-code-background: Canvas;
    --designer-side-textarea-design-code-foreground: CanvasText; --designer-side-textarea-design-code-border: CanvasText;
    --designer-palette-accent-light: LinkText; --designer-palette-subtle-light: CanvasText; --designer-palette-line-light: CanvasText;
    --designer-palette-surface-light: Canvas; --designer-mode-bar-light-background: Canvas; --designer-mode-bar-light-foreground: CanvasText;
    --designer-mode-bar-light-border: CanvasText; --designer-mode-tabs-button-light-foreground: CanvasText;
    --designer-mode-tabs-button-selected-light-background: Highlight; --designer-mode-tabs-button-selected-light-foreground: CanvasText;
    --designer-property-category-summary-light-background: Canvas; --designer-property-category-summary-light-foreground: CanvasText;
    --designer-property-row-light-background: Canvas; --designer-property-row-light-border: CanvasText;
    --designer-property-row-nth-child-odd-light-background: Canvas; --designer-property-row-input-light-background: Canvas;
    --designer-property-row-input-light-foreground: CanvasText; --designer-property-row-input-light-border: CanvasText;
    --designer-source-link-p-light-foreground: CanvasText; --designer-scroll-light-background: Canvas; --designer-scroll-light-pattern: Canvas;
    --designer-ruler-horizontal-light-background: Canvas; --designer-ruler-horizontal-light-border: CanvasText;
    --designer-ruler-horizontal-span-light-foreground: CanvasText; --designer-sync-state-synced-light-foreground: CanvasText;
    --designer-sync-state-conflict-light-foreground: CanvasText;
  }
}

/* SF-A19-T08.3: semantic colors; original Dark and Light values are retained. */
:root {
  --legacy-assembly-selected-background: rgba(100,120,190,.22);
  --legacy-primary-button-foreground: white;
  --legacy-background: #1b1b22; --legacy-editor-background: #1e1e26; --legacy-surface: #22222c; --legacy-secondary-surface: #282833;
  --legacy-raised: #30303c; --legacy-hover: #383743; --legacy-line: #35343f; --legacy-line-soft: #2d2c36; --legacy-foreground: #dcdbe5;
  --legacy-muted-foreground: #93919f; --legacy-faint-foreground: #686676; --legacy-accent: #ad91f0; --legacy-accent-strong: #8a64d2;
  --legacy-accent-background: #332944; --legacy-success: #76c799; --legacy-error: #f17e8c; --legacy-warning: #e3c384; --legacy-info: #8ab7ef;
  --legacy-brand-badge-border: #76608c6b; --legacy-profile-border: #9576b85c; --legacy-build-button-border: #8f73b46b;
  --legacy-project-icon-background: #627c4330; --legacy-project-icon-border: #83a76c60; --legacy-input-selection-background: #795aaa54;
  --legacy-line-hover-i-background: #f17e8c20; --legacy-line-breakpoint-i-glow: #f17e8c10; --legacy-current-line-background: #8a80a209;
  --legacy-execution-line-background: #e3c38419; --legacy-execution-line-border: #e3c38438; --legacy-syntax-keyword-foreground: #bd9ede;
  --legacy-syntax-string-foreground: #d9b893; --legacy-syntax-number-foreground: #b2d3a1; --legacy-syntax-comment-foreground: #727e83;
  --legacy-syntax-type-foreground: #6dc8c2; --legacy-syntax-method-foreground: #dfd0a2; --legacy-syntax-punctuation-foreground: #a9a7b4;
  --shadow-popup: #0005; --legacy-completion-kind-border: #ab89e35c; --shadow-soft: #0003; --legacy-tab-count-has-errors-background: #f17e8c15;
  --legacy-code-dump-instruction-current-background: #e3c38417; --legacy-session-dot-glow: #76c7990c; --legacy-statusbar-background: #684d91;
  --legacy-statusbar-foreground: #f0eafc; --legacy-statusbar-button-hover-background: #ffffff1a; --legacy-statusbar-debugging-background: #926027;
  --legacy-statusbar-running-background: #346664; --legacy-modal-backdrop-background: #0c0a145e; --shadow-dialog: #0007;
  --legacy-modal-notice-border: #9375b638; --legacy-modal-notice-warning-border: #e3c38438; --legacy-modal-notice-warning-background: #e3c3840b;
  --legacy-session-pulse-glow: #76c79915; --legacy-webkit-scrollbar-thumb-background: #77708040;
  --legacy-webkit-scrollbar-thumb-hover-background: #77708070; --shadow-floating: #0008; --shadow-deep: #0009;
  --legacy-dock-group-data-dock-preview--after-background: #9681e43d; --shadow-medium: #0006; --legacy-native-command-background: #171b24;
  --legacy-native-trust-border: #92703e; --legacy-native-build-output-background: #171b24; --legacy-native-diagnostic-error-b-foreground: #e88888;
  --legacy-native-diagnostic-warning-b-foreground: #ddbd75; --legacy-native-xml-editor-background: #171b24; --studio-accent: #007acc;
  --studio-accent-background: #094771; --studio-selection: #264f78; --studio-selection-inactive: #3a3d41; --studio-border: #3f3f46;
  --studio-background: #1e1e1e; --studio-panel: #252526; --studio-surface: #2d2d30; --studio-hover: #3e3e42; --studio-raised: #2d2d30;
  --studio-foreground: #dcdcdc; --studio-muted-foreground: #aaa; --studio-line: #3f3f46; --studio-line-soft: #303033;
  --studio-editor-background: #1e1e1e; --solution-explorer-tree-icon-source-foreground: #8ccf9a;
  --solution-explorer-tree-icon-folder-foreground: #dcb67a; --solution-explorer-tree-icon-project-foreground: #85c78c;
  --solution-explorer-tree-icon-project-file-foreground: #80b5db; --solution-explorer-tree-icon-dependencies-foreground: #c9a7e6;
  --context-menus-menu-border: #686868; --source-editor-editor-background: #1e1e1e; --source-editor-surface: #252526;
  --source-editor-secondary-surface: #333337; --source-editor-raised: #2d2d30; --source-editor-foreground: #dcdcdc;
  --source-editor-muted-foreground: #aaa; --source-editor-accent: #007acc; --source-editor-accent-background: #094771; --source-editor-error: #e76c71;
  --source-editor-line: #3f3f46; --source-editor-line-soft: #303033; --source-editor-editor-syntax-keyword-foreground: #569cd6;
  --source-editor-editor-syntax-string-foreground: #ce9178; --source-editor-editor-syntax-type-foreground: #4ec9b0;
  --source-editor-editor-syntax-comment-foreground: #6a9955; --source-editor-editor-syntax-method-foreground: #dcdcaa;
  --source-editor-editor-syntax-number-foreground: #b5cea8; --source-editor-input-selection-background: #264f788f;
  --status-bar-statusbar-background: #007acc; --status-bar-statusbar-foreground: #fff; --status-bar-statusbar-debugging-background: #bf6b22;
  --status-bar-statusbar-running-background: #a54d16; --status-bar-statusbar-editor-keymap-status-border: #ffffff30;
  --debugger-debug-stop-banner-background: #332d1e; --debugger-debug-stop-banner-border: #a38739; --debugger-debug-stop-banner-b-foreground: #e9c25a;
  --debugger-debug-stop-arrow-foreground: #e9c25a; --debugger-debugger-breakpoints-breakpoint-hit-background: #af89251d;
  --winui-app-winui-app-root-background: #1e1e1e; --shadow-subtle: #0002; --winui-app-winui-app-root-debug-paused-after-foreground: #fff;
  --shadow-opaque: #000; --debugger-effects-hot-edit-badge-foreground: #ffa62b; --project-wizard-wizard-filter-input-background: #292929;
  --project-wizard-wizard-template-icon-foreground: #a3b5ef; --project-wizard-wizard-large-icon-foreground: #9eaeec;
  --project-wizard-wizard-preview-pre-background: #1e1e1e; --runtime-settings-runtime-page-p-foreground: #9d9d9d;
}
html[data-theme="light"] {
  --legacy-background-light: #edf0f5; --legacy-editor-background-light: #fff; --legacy-surface-light: #f7f8fb; --legacy-secondary-surface-light: #edeff5;
  --legacy-raised-light: #fff; --legacy-hover-light: #e3e3ef; --legacy-line-light: #d3d4df; --legacy-line-soft-light: #e3e4ec;
  --legacy-foreground-light: #2e2c3f; --legacy-muted-foreground-light: #6c6980; --legacy-faint-foreground-light: #9693a5; --legacy-accent-light: #7450b0;
  --legacy-accent-strong-light: #7655ac; --legacy-accent-background-light: #eae3f6; --legacy-success-light: #31845b; --legacy-error-light: #ca3e57;
  --legacy-warning-light: #95731c; --legacy-info-light: #276db4; --legacy-syntax-keyword-light-foreground: #8053b9;
  --legacy-syntax-string-light-foreground: #a0563e; --legacy-syntax-number-light-foreground: #3e7a4a; --legacy-syntax-comment-light-foreground: #808897;
  --legacy-syntax-type-light-foreground: #147e86; --legacy-syntax-method-light-foreground: #806625;
  --legacy-syntax-punctuation-light-foreground: #6d657e; --studio-selection-light: #c9def5; --studio-selection-inactive-light: #ddd;
  --studio-border-light: #ccc; --studio-panel-light: #f5f5f5; --studio-surface-light: #eee; --studio-hover-light: #dbeaf9; --studio-raised-light: #fff;
  --studio-foreground-light: #202020; --studio-muted-foreground-light: #626262; --studio-line-light: #ccc; --studio-line-soft-light: #ddd;
  --studio-editor-background-light: #fff; --studio-background-light: #eee; --studio-accent-background-light: #c9def5;
  --source-editor-editor-background-light: #fff; --source-editor-surface-light: #f5f5f5; --source-editor-secondary-surface-light: #eee;
  --source-editor-raised-light: #fff; --source-editor-foreground-light: #202020; --source-editor-muted-foreground-light: #666;
  --source-editor-accent-light: #007acc; --source-editor-accent-background-light: #c9def5; --source-editor-line-light: #ccc;
  --source-editor-line-soft-light: #ddd; --source-editor-editor-syntax-keyword-light-foreground: #00f;
  --source-editor-editor-syntax-string-light-foreground: #a31515; --source-editor-editor-syntax-type-light-foreground: #267f99;
  --source-editor-editor-syntax-comment-light-foreground: #008000; --source-editor-cm-s-sharpforge-cm-variable-light-foreground: #202020;
  --debugger-debug-stop-banner-light-background: #fff4cf; --debugger-debug-stop-banner-b-light-foreground: #6e5100;
}
html[data-theme="blue"] {
  --studio-accent: var(--wb-accent); --studio-accent-background: var(--wb-selected); --studio-selection: var(--wb-selected);
  --studio-selection-inactive: var(--wb-selected); --studio-border: var(--wb-border); --studio-background: var(--wb-bg); --studio-panel: var(--wb-panel);
  --studio-surface: var(--wb-panel); --studio-hover: var(--wb-raised); --studio-raised: var(--wb-raised); --studio-foreground: var(--wb-fg);
  --studio-muted-foreground: var(--wb-muted); --studio-line: var(--wb-border); --studio-line-soft: var(--wb-border);
  --studio-editor-background: var(--wb-bg); --source-editor-editor-background: var(--wb-bg); --source-editor-surface: var(--wb-panel);
  --source-editor-secondary-surface: var(--wb-raised); --source-editor-raised: var(--wb-raised); --source-editor-foreground: var(--wb-fg);
  --source-editor-muted-foreground: var(--wb-muted); --source-editor-accent: var(--wb-accent); --source-editor-accent-background: var(--wb-selected);
  --source-editor-line: var(--wb-border); --source-editor-line-soft: var(--wb-border); --source-editor-input-selection-background: var(--wb-selected);
}
html[data-theme="high-contrast"] {
  --legacy-assembly-selected-background: var(--wb-selected);
  --legacy-primary-button-foreground: var(--wb-bg);
  --legacy-background: var(--wb-bg); --legacy-editor-background: var(--wb-bg); --legacy-surface: var(--wb-bg); --legacy-secondary-surface: var(--wb-bg);
  --legacy-raised: var(--wb-bg); --legacy-hover: var(--wb-bg); --legacy-line: var(--wb-border); --legacy-line-soft: var(--wb-border);
  --legacy-foreground: var(--wb-fg); --legacy-muted-foreground: var(--wb-fg); --legacy-faint-foreground: var(--wb-fg); --legacy-accent: var(--wb-accent);
  --legacy-accent-strong: var(--wb-accent); --legacy-accent-background: var(--wb-selected); --legacy-success: var(--wb-fg); --legacy-error: var(--wb-fg);
  --legacy-warning: var(--wb-fg); --legacy-info: var(--wb-fg); --legacy-background-light: var(--wb-bg); --legacy-editor-background-light: var(--wb-bg);
  --legacy-surface-light: var(--wb-bg); --legacy-secondary-surface-light: var(--wb-bg); --legacy-raised-light: var(--wb-bg);
  --legacy-hover-light: var(--wb-bg); --legacy-line-light: var(--wb-border); --legacy-line-soft-light: var(--wb-border);
  --legacy-foreground-light: var(--wb-bg); --legacy-muted-foreground-light: var(--wb-bg); --legacy-faint-foreground-light: var(--wb-bg);
  --legacy-accent-light: var(--wb-accent); --legacy-accent-strong-light: var(--wb-accent); --legacy-accent-background-light: var(--wb-selected);
  --legacy-success-light: var(--wb-bg); --legacy-error-light: var(--wb-bg); --legacy-warning-light: var(--wb-bg); --legacy-info-light: var(--wb-bg);
  --legacy-brand-badge-border: var(--wb-border); --legacy-profile-border: var(--wb-border); --legacy-build-button-border: var(--wb-border);
  --legacy-project-icon-background: var(--wb-bg); --legacy-project-icon-border: var(--wb-border);
  --legacy-input-selection-background: var(--wb-selected); --legacy-line-hover-i-background: var(--wb-bg); --legacy-line-breakpoint-i-glow: transparent;
  --legacy-current-line-background: var(--wb-bg); --legacy-execution-line-background: var(--wb-bg); --legacy-execution-line-border: var(--wb-border);
  --legacy-syntax-keyword-foreground: var(--wb-fg); --legacy-syntax-string-foreground: var(--wb-fg); --legacy-syntax-number-foreground: var(--wb-fg);
  --legacy-syntax-comment-foreground: var(--wb-fg); --legacy-syntax-type-foreground: var(--wb-fg); --legacy-syntax-method-foreground: var(--wb-fg);
  --legacy-syntax-punctuation-foreground: var(--wb-fg); --legacy-syntax-keyword-light-foreground: var(--wb-fg);
  --legacy-syntax-string-light-foreground: var(--wb-fg); --legacy-syntax-number-light-foreground: var(--wb-fg);
  --legacy-syntax-comment-light-foreground: var(--wb-fg); --legacy-syntax-type-light-foreground: var(--wb-fg);
  --legacy-syntax-method-light-foreground: var(--wb-fg); --legacy-syntax-punctuation-light-foreground: var(--wb-fg); --shadow-popup: transparent;
  --legacy-completion-kind-border: var(--wb-border); --shadow-soft: transparent; --legacy-tab-count-has-errors-background: var(--wb-bg);
  --legacy-code-dump-instruction-current-background: var(--wb-bg); --legacy-session-dot-glow: transparent; --legacy-statusbar-background: var(--wb-bg);
  --legacy-statusbar-foreground: var(--wb-fg); --legacy-statusbar-button-hover-background: var(--wb-bg);
  --legacy-statusbar-debugging-background: var(--wb-bg); --legacy-statusbar-running-background: var(--wb-bg);
  --legacy-modal-backdrop-background: var(--wb-bg); --shadow-dialog: transparent; --legacy-modal-notice-border: var(--wb-border);
  --legacy-modal-notice-warning-border: var(--wb-border); --legacy-modal-notice-warning-background: var(--wb-bg);
  --legacy-session-pulse-glow: transparent; --legacy-webkit-scrollbar-thumb-background: var(--wb-bg);
  --legacy-webkit-scrollbar-thumb-hover-background: var(--wb-bg); --shadow-floating: transparent; --shadow-deep: transparent;
  --legacy-dock-group-data-dock-preview--after-background: var(--wb-bg); --shadow-medium: transparent; --legacy-native-command-background: var(--wb-bg);
  --legacy-native-trust-border: var(--wb-border); --legacy-native-build-output-background: var(--wb-bg);
  --legacy-native-diagnostic-error-b-foreground: var(--wb-fg); --legacy-native-diagnostic-warning-b-foreground: var(--wb-fg);
  --legacy-native-xml-editor-background: var(--wb-bg); --studio-accent: var(--wb-accent); --studio-accent-background: var(--wb-selected);
  --studio-selection: var(--wb-selected); --studio-selection-inactive: var(--wb-selected); --studio-border: var(--wb-border);
  --studio-background: var(--wb-bg); --studio-panel: var(--wb-bg); --studio-surface: var(--wb-bg); --studio-hover: var(--wb-bg);
  --studio-raised: var(--wb-bg); --studio-foreground: var(--wb-fg); --studio-muted-foreground: var(--wb-fg); --studio-line: var(--wb-border);
  --studio-line-soft: var(--wb-border); --studio-editor-background: var(--wb-bg); --studio-selection-light: var(--wb-selected);
  --studio-selection-inactive-light: var(--wb-selected); --studio-border-light: var(--wb-border); --studio-panel-light: var(--wb-bg);
  --studio-surface-light: var(--wb-bg); --studio-hover-light: var(--wb-bg); --studio-raised-light: var(--wb-bg); --studio-foreground-light: var(--wb-bg);
  --studio-muted-foreground-light: var(--wb-bg); --studio-line-light: var(--wb-border); --studio-line-soft-light: var(--wb-border);
  --studio-editor-background-light: var(--wb-bg); --studio-background-light: var(--wb-bg); --studio-accent-background-light: var(--wb-selected);
  --solution-explorer-tree-icon-source-foreground: var(--wb-fg); --solution-explorer-tree-icon-folder-foreground: var(--wb-fg);
  --solution-explorer-tree-icon-project-foreground: var(--wb-fg); --solution-explorer-tree-icon-project-file-foreground: var(--wb-fg);
  --solution-explorer-tree-icon-dependencies-foreground: var(--wb-fg); --context-menus-menu-border: var(--wb-border);
  --source-editor-editor-background: var(--wb-bg); --source-editor-surface: var(--wb-bg); --source-editor-secondary-surface: var(--wb-bg);
  --source-editor-raised: var(--wb-bg); --source-editor-foreground: var(--wb-fg); --source-editor-muted-foreground: var(--wb-fg);
  --source-editor-accent: var(--wb-accent); --source-editor-accent-background: var(--wb-selected); --source-editor-error: var(--wb-fg);
  --source-editor-line: var(--wb-border); --source-editor-line-soft: var(--wb-border); --source-editor-editor-syntax-keyword-foreground: var(--wb-fg);
  --source-editor-editor-syntax-string-foreground: var(--wb-fg); --source-editor-editor-syntax-type-foreground: var(--wb-fg);
  --source-editor-editor-syntax-comment-foreground: var(--wb-fg); --source-editor-editor-syntax-method-foreground: var(--wb-fg);
  --source-editor-editor-syntax-number-foreground: var(--wb-fg); --source-editor-input-selection-background: var(--wb-selected);
  --source-editor-editor-background-light: var(--wb-bg); --source-editor-surface-light: var(--wb-bg);
  --source-editor-secondary-surface-light: var(--wb-bg); --source-editor-raised-light: var(--wb-bg); --source-editor-foreground-light: var(--wb-bg);
  --source-editor-muted-foreground-light: var(--wb-bg); --source-editor-accent-light: var(--wb-accent);
  --source-editor-accent-background-light: var(--wb-selected); --source-editor-line-light: var(--wb-border);
  --source-editor-line-soft-light: var(--wb-border); --source-editor-editor-syntax-keyword-light-foreground: var(--wb-fg);
  --source-editor-editor-syntax-string-light-foreground: var(--wb-fg); --source-editor-editor-syntax-type-light-foreground: var(--wb-fg);
  --source-editor-editor-syntax-comment-light-foreground: var(--wb-fg); --source-editor-cm-s-sharpforge-cm-variable-light-foreground: var(--wb-fg);
  --status-bar-statusbar-background: var(--wb-bg); --status-bar-statusbar-foreground: var(--wb-fg);
  --status-bar-statusbar-debugging-background: var(--wb-bg); --status-bar-statusbar-running-background: var(--wb-bg);
  --status-bar-statusbar-editor-keymap-status-border: var(--wb-border); --debugger-debug-stop-banner-background: var(--wb-bg);
  --debugger-debug-stop-banner-border: var(--wb-border); --debugger-debug-stop-banner-b-foreground: var(--wb-fg);
  --debugger-debug-stop-arrow-foreground: var(--wb-fg); --debugger-debugger-breakpoints-breakpoint-hit-background: var(--wb-bg);
  --debugger-debug-stop-banner-light-background: var(--wb-bg); --debugger-debug-stop-banner-b-light-foreground: var(--wb-fg);
  --winui-app-winui-app-root-background: var(--wb-bg); --shadow-subtle: transparent;
  --winui-app-winui-app-root-debug-paused-after-foreground: var(--wb-fg); --shadow-opaque: transparent;
  --debugger-effects-hot-edit-badge-foreground: var(--wb-fg); --project-wizard-wizard-filter-input-background: var(--wb-bg);
  --project-wizard-wizard-template-icon-foreground: var(--wb-fg); --project-wizard-wizard-large-icon-foreground: var(--wb-fg);
  --project-wizard-wizard-preview-pre-background: var(--wb-bg); --runtime-settings-runtime-page-p-foreground: var(--wb-fg);
}
@media (forced-colors: active) {
  :root, :root[data-theme] {
    --legacy-assembly-selected-background: Highlight;
    --legacy-primary-button-foreground: ButtonText;
    --legacy-background: Canvas; --legacy-editor-background: Canvas; --legacy-surface: Canvas; --legacy-secondary-surface: Canvas;
    --legacy-raised: Canvas; --legacy-hover: Canvas; --legacy-line: CanvasText; --legacy-line-soft: CanvasText; --legacy-foreground: CanvasText;
    --legacy-muted-foreground: CanvasText; --legacy-faint-foreground: CanvasText; --legacy-accent: LinkText; --legacy-accent-strong: ButtonFace;
    --legacy-accent-background: Highlight; --legacy-success: CanvasText; --legacy-error: CanvasText; --legacy-warning: CanvasText;
    --legacy-info: CanvasText; --legacy-background-light: Canvas; --legacy-editor-background-light: Canvas; --legacy-surface-light: Canvas;
    --legacy-secondary-surface-light: Canvas; --legacy-raised-light: Canvas; --legacy-hover-light: Canvas; --legacy-line-light: CanvasText;
    --legacy-line-soft-light: CanvasText; --legacy-foreground-light: Canvas; --legacy-muted-foreground-light: Canvas;
    --legacy-faint-foreground-light: Canvas; --legacy-accent-light: LinkText; --legacy-accent-strong-light: ButtonFace;
    --legacy-accent-background-light: Highlight; --legacy-success-light: Canvas; --legacy-error-light: Canvas; --legacy-warning-light: Canvas;
    --legacy-info-light: Canvas; --legacy-brand-badge-border: CanvasText; --legacy-profile-border: CanvasText; --legacy-build-button-border: CanvasText;
    --legacy-project-icon-background: Canvas; --legacy-project-icon-border: CanvasText; --legacy-input-selection-background: Highlight;
    --legacy-line-hover-i-background: Canvas; --legacy-line-breakpoint-i-glow: transparent; --legacy-current-line-background: Canvas;
    --legacy-execution-line-background: Canvas; --legacy-execution-line-border: CanvasText; --legacy-syntax-keyword-foreground: CanvasText;
    --legacy-syntax-string-foreground: CanvasText; --legacy-syntax-number-foreground: CanvasText; --legacy-syntax-comment-foreground: CanvasText;
    --legacy-syntax-type-foreground: CanvasText; --legacy-syntax-method-foreground: CanvasText; --legacy-syntax-punctuation-foreground: CanvasText;
    --legacy-syntax-keyword-light-foreground: CanvasText; --legacy-syntax-string-light-foreground: CanvasText;
    --legacy-syntax-number-light-foreground: CanvasText; --legacy-syntax-comment-light-foreground: CanvasText;
    --legacy-syntax-type-light-foreground: CanvasText; --legacy-syntax-method-light-foreground: CanvasText;
    --legacy-syntax-punctuation-light-foreground: CanvasText; --shadow-popup: transparent; --legacy-completion-kind-border: CanvasText;
    --shadow-soft: transparent; --legacy-tab-count-has-errors-background: Canvas; --legacy-code-dump-instruction-current-background: Canvas;
    --legacy-session-dot-glow: transparent; --legacy-statusbar-background: Canvas; --legacy-statusbar-foreground: CanvasText;
    --legacy-statusbar-button-hover-background: Canvas; --legacy-statusbar-debugging-background: Canvas; --legacy-statusbar-running-background: Canvas;
    --legacy-modal-backdrop-background: Canvas; --shadow-dialog: transparent; --legacy-modal-notice-border: CanvasText;
    --legacy-modal-notice-warning-border: CanvasText; --legacy-modal-notice-warning-background: Canvas; --legacy-session-pulse-glow: transparent;
    --legacy-webkit-scrollbar-thumb-background: Canvas; --legacy-webkit-scrollbar-thumb-hover-background: Canvas; --shadow-floating: transparent;
    --shadow-deep: transparent; --legacy-dock-group-data-dock-preview--after-background: Canvas; --shadow-medium: transparent;
    --legacy-native-command-background: Canvas; --legacy-native-trust-border: CanvasText; --legacy-native-build-output-background: Canvas;
    --legacy-native-diagnostic-error-b-foreground: CanvasText; --legacy-native-diagnostic-warning-b-foreground: CanvasText;
    --legacy-native-xml-editor-background: Canvas; --studio-accent: LinkText; --studio-accent-background: Highlight; --studio-selection: Highlight;
    --studio-selection-inactive: Highlight; --studio-border: CanvasText; --studio-background: Canvas; --studio-panel: Canvas; --studio-surface: Canvas;
    --studio-hover: Canvas; --studio-raised: Canvas; --studio-foreground: CanvasText; --studio-muted-foreground: CanvasText; --studio-line: CanvasText;
    --studio-line-soft: CanvasText; --studio-editor-background: Canvas; --studio-selection-light: Highlight;
    --studio-selection-inactive-light: Highlight; --studio-border-light: CanvasText; --studio-panel-light: Canvas; --studio-surface-light: Canvas;
    --studio-hover-light: Canvas; --studio-raised-light: Canvas; --studio-foreground-light: Canvas; --studio-muted-foreground-light: Canvas;
    --studio-line-light: CanvasText; --studio-line-soft-light: CanvasText; --studio-editor-background-light: Canvas; --studio-background-light: Canvas;
    --studio-accent-background-light: Highlight; --solution-explorer-tree-icon-source-foreground: CanvasText;
    --solution-explorer-tree-icon-folder-foreground: CanvasText; --solution-explorer-tree-icon-project-foreground: CanvasText;
    --solution-explorer-tree-icon-project-file-foreground: CanvasText; --solution-explorer-tree-icon-dependencies-foreground: CanvasText;
    --context-menus-menu-border: CanvasText; --source-editor-editor-background: Canvas; --source-editor-surface: Canvas;
    --source-editor-secondary-surface: Canvas; --source-editor-raised: Canvas; --source-editor-foreground: CanvasText;
    --source-editor-muted-foreground: CanvasText; --source-editor-accent: LinkText; --source-editor-accent-background: Highlight;
    --source-editor-error: CanvasText; --source-editor-line: CanvasText; --source-editor-line-soft: CanvasText;
    --source-editor-editor-syntax-keyword-foreground: CanvasText; --source-editor-editor-syntax-string-foreground: CanvasText;
    --source-editor-editor-syntax-type-foreground: CanvasText; --source-editor-editor-syntax-comment-foreground: CanvasText;
    --source-editor-editor-syntax-method-foreground: CanvasText; --source-editor-editor-syntax-number-foreground: CanvasText;
    --source-editor-input-selection-background: Highlight; --source-editor-editor-background-light: Canvas; --source-editor-surface-light: Canvas;
    --source-editor-secondary-surface-light: Canvas; --source-editor-raised-light: Canvas; --source-editor-foreground-light: Canvas;
    --source-editor-muted-foreground-light: Canvas; --source-editor-accent-light: LinkText; --source-editor-accent-background-light: Highlight;
    --source-editor-line-light: CanvasText; --source-editor-line-soft-light: CanvasText;
    --source-editor-editor-syntax-keyword-light-foreground: CanvasText; --source-editor-editor-syntax-string-light-foreground: CanvasText;
    --source-editor-editor-syntax-type-light-foreground: CanvasText; --source-editor-editor-syntax-comment-light-foreground: CanvasText;
    --source-editor-cm-s-sharpforge-cm-variable-light-foreground: CanvasText; --status-bar-statusbar-background: Canvas;
    --status-bar-statusbar-foreground: CanvasText; --status-bar-statusbar-debugging-background: Canvas;
    --status-bar-statusbar-running-background: Canvas; --status-bar-statusbar-editor-keymap-status-border: CanvasText;
    --debugger-debug-stop-banner-background: Canvas; --debugger-debug-stop-banner-border: CanvasText;
    --debugger-debug-stop-banner-b-foreground: CanvasText; --debugger-debug-stop-arrow-foreground: CanvasText;
    --debugger-debugger-breakpoints-breakpoint-hit-background: Canvas; --debugger-debug-stop-banner-light-background: Canvas;
    --debugger-debug-stop-banner-b-light-foreground: CanvasText; --winui-app-winui-app-root-background: Canvas; --shadow-subtle: transparent;
    --winui-app-winui-app-root-debug-paused-after-foreground: CanvasText; --shadow-opaque: transparent;
    --debugger-effects-hot-edit-badge-foreground: CanvasText; --project-wizard-wizard-filter-input-background: Canvas;
    --project-wizard-wizard-template-icon-foreground: CanvasText; --project-wizard-wizard-large-icon-foreground: CanvasText;
    --project-wizard-wizard-preview-pre-background: Canvas; --runtime-settings-runtime-page-p-foreground: CanvasText;
  }
}

:root {
  --wb-bg: #202024;
  --wb-panel: #28282d;
  --wb-raised: #34343b;
  --wb-fg: #f2f2f5;
  --wb-muted: #b9bac4;
  --wb-border: #60606b;
  --wb-accent: #75bfff;
  --wb-selected: #244f78;
  --wb-selected-fg: var(--wb-fg);
  --wb-error: #ff9c9c;
  --wb-warning: #efcc79;
  --wb-success: #98d8a6;
  --wb-shadow: #0008;
  --wb-font-family: system-ui;
  --wb-font-size: 12px;
  --wb-row-height: 26px;
}
[data-theme="light"] {
  --wb-bg: #f7f7fa;
  --wb-panel: #ffffff;
  --wb-raised: #ededf3;
  --wb-fg: #181820;
  --wb-muted: #50515d;
  --wb-border: #8c8d98;
  --wb-accent: #075ba8;
  --wb-selected: #d7eaff;
  --wb-error: #ac1420;
  --wb-warning: #7c5600;
  --wb-success: #196d32;
}
[data-theme="blue"] {
  --wb-bg: #17273e;
  --wb-panel: #1e334f;
  --wb-raised: #2a4768;
  --wb-fg: #f2f7ff;
  --wb-muted: #c1d3eb;
  --wb-border: #728eaf;
  --wb-accent: #8bcaff;
  --wb-selected: #375e8b;
}
[data-theme="high-contrast"] {
  --wb-bg: #000000;
  --wb-panel: #000000;
  --wb-raised: #000000;
  --wb-fg: #ffffff;
  --wb-muted: #ffffff;
  --wb-border: #ffffff;
  --wb-accent: #ffff00;
  --wb-selected: #002e72;
  --wb-error: #ffb3b3;
  --wb-warning: #ffff00;
  --wb-success: #b3ffb3;
}
@media (forced-colors: active) {
  :root {
    --wb-bg: Canvas;
    --wb-panel: Canvas;
    --wb-raised: ButtonFace;
    --wb-fg: CanvasText;
    --wb-muted: CanvasText;
    --wb-border: ButtonText;
    --wb-accent: LinkText;
    --wb-selected: Highlight;
    --wb-selected-fg: HighlightText;
    --wb-error: CanvasText;
    --wb-warning: CanvasText;
    --wb-success: CanvasText;
  }
}

html[data-theme] {
  --bg: var(--wb-bg);
  --panel: var(--wb-panel);
  --surface: var(--wb-panel);
  --surface2: var(--wb-raised);
  --editor: var(--wb-bg);
  --raised: var(--wb-raised);
  --hover: var(--wb-raised);
  --text: var(--wb-fg);
  --muted: var(--wb-muted);
  --border: var(--wb-border);
  --line: var(--wb-border);
  --line-soft: var(--wb-border);
  --accent: var(--wb-accent);
  --accent-bg: var(--wb-selected);
  --selection: var(--wb-selected);
  --green: var(--wb-success);
  --red: var(--wb-error);
  --yellow: var(--wb-warning);
  --font: var(--wb-font-family);
}
body { font-family: var(--wb-font-family); font-size: var(--wb-font-size); }
.wb-tool, .wb-dialog, .wb-menu-popup, .wb-statusbar, .wb-toolbar {
  color: var(--wb-fg);
  background: var(--wb-panel);
  font-family: var(--wb-font-family);
  font-size: var(--wb-font-size);
}
.wb-tool { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; height: 100%; }
.wb-tool[hidden] { display: none; }
.wb-tool button, .wb-dialog button, .wb-toolbar button, .wb-statusbar button, .wb-menubar > button {
  min-height: var(--wb-row-height);
  padding: 3px 8px;
  border: 1px solid transparent;
  border-radius: 2px;
  text-align: left;
}
.wb-tool button:hover, .wb-dialog button:hover, .wb-toolbar button:hover, .wb-statusbar button:hover {
  background: var(--wb-raised);
  border-color: var(--wb-border);
}
.wb-tool :focus-visible, .wb-dialog :focus-visible, .wb-menubar :focus-visible,
.wb-toolbars :focus-visible, .wb-statusbar :focus-visible { outline: 2px solid var(--wb-accent); outline-offset: -2px; }
.wb-tool input, .wb-tool select, .wb-dialog input, .wb-dialog select, .wb-dialog textarea {
  min-height: var(--wb-row-height);
  color: var(--wb-fg);
  background: var(--wb-bg);
  border: 1px solid var(--wb-border);
  border-radius: 2px;
  padding: 3px 6px;
  max-width: 100%;
}
.wb-tool button:disabled, .wb-dialog button:disabled, .wb-toolbar button:disabled, .wb-menu-popup button:disabled {
  opacity: 0.55;
  cursor: default;
}
.wb-tool-controls, .wb-actions, .wb-dialog-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 6px;
  flex: none;
  border-bottom: 1px solid var(--wb-border);
}
.wb-tool-controls > input { flex: 1 1 120px; min-width: 90px; }
.wb-checkbox { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.wb-checkbox input { min-height: auto; }
.wb-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 4px 0; }
.wb-field > span { color: var(--wb-muted); }
.wb-tool-status { flex: none; margin: 0; padding: 6px 8px; border-top: 1px solid var(--wb-border); color: var(--wb-muted); }
.wb-grid-host, .wb-tree-host, .wb-search-results { flex: 1; min-height: 100px; min-width: 0; position: relative; overflow: hidden; }
.wb-search-results { height: min(45vh, 420px); flex: auto; }
.wb-grid { height: 100%; min-height: 120px; display: flex; flex-direction: column; overflow: auto; }
.wb-grid-header, .wb-grid-row { display: grid; min-width: max-content; flex: none; }
.wb-grid-header { min-height: var(--wb-row-height); background: var(--wb-raised); border-bottom: 1px solid var(--wb-border); }
.wb-grid-header > div { font-weight: 600; }
.wb-grid-header > div, .wb-grid-row > div { padding: 5px 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-grid-viewport { flex: 1; overflow: auto; position: relative; min-height: 100px; }
.wb-grid-spacer { width: 1px; pointer-events: none; }
.wb-grid-body { position: absolute; inset: 0 0 auto; min-width: 100%; }
.wb-grid-row { border-bottom: 1px solid color-mix(in srgb, var(--wb-border) 35%, transparent); }
.wb-grid-row[aria-selected="true"] { background: var(--wb-selected); color: var(--wb-selected-fg); }
.wb-grid-row:hover { outline: 1px solid var(--wb-border); outline-offset: -1px; }
.wb-wrap .wb-grid-row > div { white-space: pre-wrap; overflow: auto; overflow-wrap: anywhere; }
.wb-tree-host { min-height: 120px; overflow: auto; }
.wb-preview { max-height: 170px; min-height: 40px; overflow: auto; white-space: pre-wrap; padding: 8px; margin: 0; border-top: 1px solid var(--wb-border); }
.wb-source { white-space: pre-wrap; overflow: auto; font-family: var(--mono); padding: 8px; max-height: 60vh; }
.wb-error { color: var(--wb-error); }
.wb-warning { color: var(--wb-warning); }
.wb-success { color: var(--wb-success); }
.wb-dialog-overlay { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center;
  padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)); background: var(--wb-shadow); }
.wb-dialog { display: flex; flex-direction: column; width: min(900px, 100%); max-height: calc(100dvh - 16px);
  min-width: 0; border: 1px solid var(--wb-border); border-radius: 5px; box-shadow: 0 12px 45px var(--wb-shadow); overflow: hidden; }
.wb-dialog > h2 { font-size: 16px; margin: 0; padding: 13px 16px; border-bottom: 1px solid var(--wb-border); flex: none; }
.wb-dialog-body { overflow: auto; min-height: 0; padding: 12px; overscroll-behavior: contain; }
.wb-dialog-footer { justify-content: flex-end; border-top: 1px solid var(--wb-border); border-bottom: 0; }
.wb-dialog > .wb-error { padding: 4px 12px; }
.wb-options-layout { display: grid; grid-template-columns: minmax(150px, 0.8fr) minmax(0, 2fr); min-height: 320px; gap: 12px; }
.wb-options-tree { display: flex; flex-direction: column; overflow: auto; border-right: 1px solid var(--wb-border); }
.wb-options-tree button[aria-selected="true"] { background: var(--wb-selected); color: var(--wb-selected-fg); }
.wb-options-category { font-weight: 600; padding: 8px 4px 4px; }
.wb-options-page { overflow: auto; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wb-options-page > h3 { margin: 0; font-size: 14px; }
.wb-options-page select[size] { width: 100%; min-height: 120px; }
.wb-menubar { display: flex; flex-wrap: wrap; gap: 1px; position: relative; flex: none; border-bottom: 1px solid var(--wb-border); }
.wb-menubar > button[aria-expanded="true"] { background: var(--wb-selected); color: var(--wb-selected-fg); }
.wb-menu-popup { position: absolute; z-index: 9000; top: 100%; min-width: 260px; max-width: min(95vw, 560px);
  max-height: 70vh; overflow: auto; border: 1px solid var(--wb-border); box-shadow: 0 6px 20px var(--wb-shadow); padding: 4px; }
.wb-menu-popup > button { display: flex; align-items: center; gap: 20px; width: 100%; min-height: var(--wb-row-height); padding: 4px 8px; text-align: left; }
.wb-menu-popup > button > kbd { margin-left: auto; }
.wb-menu-popup [aria-checked="true"] > span::before { content: "✓ "; }
.wb-toolbars { display: flex; flex-wrap: wrap; min-width: 0; }
.wb-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; padding: 3px; border: 1px solid var(--wb-border); min-width: 0; }
.wb-toolbar button { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wb-statusbar { display: flex; align-items: center; flex-wrap: nowrap; overflow-x: auto; border-top: 1px solid var(--wb-border); min-width: 0; }
.wb-statusbar > button { white-space: nowrap; flex: none; font-size: 11px; }
.wb-statusbar > button:first-child { margin-right: auto; }
.wb-property-list { overflow: auto; flex: 1; padding: 8px; }
.wb-property { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 1.5fr); align-items: center; gap: 8px; }
.wb-property-list h3, .wb-property-list h4 { margin: 6px 0; }
.wb-property input { min-width: 0; }
.wb-toolbox-items { display: flex; flex-direction: column; overflow: auto; padding: 4px; }
.wb-toolbox-items > button { min-height: var(--wb-row-height); }
.wb-command-transcript { flex: 1; min-height: 120px; overflow: auto; white-space: pre-wrap; padding: 8px; margin: 0; }
.wb-command-completions { max-height: 150px; overflow: auto; display: flex; flex-wrap: wrap; }
.wb-definition-editor { flex: 1; min-height: 100px; resize: none; border: 0; background: var(--wb-bg); font-family: var(--mono);
  line-height: 20px; padding: 8px; white-space: pre; }
.wb-notification, .wb-task { padding: 8px; border-bottom: 1px solid var(--wb-border); }
.wb-notification p { margin: 0 0 6px; }
.wb-task { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wb-start-layout, .wb-compare { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.wb-start-actions { display: flex; flex-direction: column; gap: 8px; }
.wb-start-actions > button { min-height: 48px; border: 1px solid var(--wb-border); }
.wb-recent-row { display: flex; align-items: center; gap: 4px; }
.wb-recent-row > button:first-child { flex: 1; overflow-wrap: anywhere; }
.wb-configuration-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 7px; }
.wb-configuration-row > strong { flex: 1; }
.wb-configuration-controls { display: flex; gap: 4px; padding: 4px; }
.wb-timeline { flex: 1; overflow: auto; padding: 8px; }
.wb-timeline canvas { display: block; height: 130px; width: 100%; border-bottom: 1px solid var(--wb-border); }
.wb-timeline h4 { margin: 8px 0; }
.wb-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-density="comfortable"] .sf-dock-tab, [data-density="comfortable"] .sf-dock-tabs { min-height: 34px; }
@media (max-width: 600px) {
  .wb-options-layout, .wb-start-layout, .wb-compare { grid-template-columns: minmax(0, 1fr); }
  .wb-options-tree { max-height: 145px; border-right: 0; border-bottom: 1px solid var(--wb-border); }
  .wb-dialog { max-height: calc(100dvh - 16px); }
  .wb-tool-controls { max-height: 190px; overflow: auto; }
  .wb-options-page { min-height: 180px; }
  .wb-menu-popup { min-width: min(260px, 90vw); }
  .wb-toolbar button { max-width: 120px; }
}
@media (pointer: coarse) {
  :root { --wb-row-height: 40px; }
  .wb-tool button, .wb-tool select, .wb-dialog button, .wb-dialog select, .wb-menu-popup > button,
  .wb-menubar > button, .wb-toolbar button, .wb-statusbar button { min-height: 40px; }
  .wb-checkbox { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .wb-tool *, .wb-dialog * { scroll-behavior: auto; transition: none; animation: none; }
}

.studio-workbench-toolbars { display: flex; flex: none; min-width: 0; flex-wrap: wrap; border-bottom: 1px solid var(--wb-border); }
.studio-workbench-toolbars .wb-toolbars { display: flex; flex-wrap: wrap; gap: 2px; }
.studio-workbench-toolbars .wb-toolbar { display: flex; flex-wrap: wrap; align-items: center; border-right: 1px solid var(--wb-border); }
.studio-workbench-status { flex: none; min-width: 0; }
.menubar > .wb-menubar { width: 100%; }
.sf-startup-target, .sf-debug-location-toolbar { display: flex; align-items: center; gap: 5px; flex: none; }
.sf-debug-location-toolbar { padding: 3px 8px; border-bottom: 1px solid var(--wb-border); }
.sf-debug-location-toolbar label, .sf-startup-target label { display: flex; align-items: center; gap: 5px; }
.sf-debug-location-toolbar select { max-width: 220px; padding: 3px; }
.sf-startup-target select { max-width: 220px; }
.sf-app-tool { height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.sf-app-tool .winui-app-root { flex: 1; min-height: 0; }
@media (max-width: 800px) {
  .studio-workbench-toolbars { max-height: 74px; overflow: auto; }
  .sf-debug-location-toolbar { overflow: auto; }
  .sf-debug-location-toolbar select, .sf-startup-target select { max-width: 140px; }
}
