:root{--bg:#0c1118;--surface:#10171f;--header:#151e28;--raised:#19232e;--border:#283441;--line:#24303c;--fg:#edf2f8;--secondary:#afbed0;--muted:#91a1b7;--accent:#3695ff;--button:#0c82f5;--button-hover:#2997ff;--selected:#132d49;--success:#68e681;--success-bg:#122b21;--success-border:#27513a;--changed:#152d29;--warning:#e6bb75;--error:#f3ad9d;--error-bg:#321e20;--code-blue:#4db8ff;--code-purple:#c499f0;--code-number:#e7c181;--code-comment:#8b9caf;--icon-filter:invert(92%) sepia(6%) saturate(360%) hue-rotate(175deg);--sans:'Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;--mono:'JetBrains Mono',Consolas,monospace;color-scheme:dark}
:root[data-theme=light]{--bg:#f3f6fa;--surface:#fff;--header:#f8fafc;--raised:#f5f8fc;--border:#d7e0ec;--line:#e1e7ef;--fg:#172233;--secondary:#455970;--muted:#5c6f86;--accent:#1178f5;--button:#087dff;--button-hover:#0069df;--selected:#edf5ff;--success:#15863c;--success-bg:#eafcf0;--success-border:#b8eccc;--changed:#eaf8ef;--warning:#946015;--error:#a43124;--error-bg:#fff0eb;--code-blue:#087afa;--code-purple:#7a38b3;--code-number:#a1600a;--code-comment:#64748b;--icon-filter:invert(12%) sepia(14%) saturate(1330%) hue-rotate(176deg);color-scheme:light}
*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:850px;display:grid;grid-template-rows:84px minmax(0,1fr)56px;background:var(--bg);color:var(--fg);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,select,textarea,input{font:inherit}button,select{cursor:pointer}button{color:inherit;transition:background .12s,border-color .12s}button:disabled,select:disabled{cursor:default;opacity:.4}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.bytecode-list:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{height:21px;width:21px;flex-shrink:0;filter:var(--icon-filter);vertical-align:middle}
.toolbar{display:flex;align-items:center;gap:16px;padding:0 20px 0 30px;border-bottom:1px solid var(--line);background:var(--bg);min-width:0}.brand{display:flex;align-items:center;gap:23px;flex-shrink:0;white-space:nowrap;color:var(--fg);text-decoration:none}.brand strong{font-family:var(--sans);font-size:27px;letter-spacing:-1px;font-weight:600;line-height:1}.brand>span{color:var(--secondary);font-size:16px;border-left:1px solid var(--border);padding-left:22px;margin-right:16px}.sample-picker{display:flex;align-items:center;gap:10px;min-width:165px;max-width:300px;flex:1;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--header)}select{color:var(--fg);background:var(--header)}.sample-picker select{width:100%;min-width:0;appearance:auto;border:0;background:transparent;outline-offset:6px;font-size:13px}.run-controls{display:flex;gap:10px;flex-shrink:0}.button{height:44px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 15px;white-space:nowrap;border:1px solid var(--border);border-radius:6px;background:var(--header);font-size:14px;font-weight:600;letter-spacing:.1px}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--raised);border-color:var(--muted)}.button.primary{background:var(--button);color:white;border-color:var(--button);min-width:108px}.button.primary:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover)}.primary .icon{filter:invert(1)}.theme-switch{display:flex;align-items:center;gap:2px;padding:3px;background:var(--header);border:1px solid var(--border);border-radius:20px;flex-shrink:0}.theme-switch button{display:flex;align-items:center;justify-content:center;background:none;border:0;width:32px;height:28px;border-radius:15px;color:var(--muted)}.theme-switch button[aria-pressed=true]{background:var(--button);color:white}.theme-switch button[aria-pressed=true] .icon{filter:invert(1)}.theme-switch .icon{width:18px;height:18px}.limit-control{margin-left:auto;display:flex;align-items:center;gap:9px;flex-shrink:0;color:var(--secondary);font-size:12px;white-space:nowrap}.limit-control select{padding:9px 5px 9px 9px;border:1px solid var(--border);border-radius:6px;font:13px var(--mono);height:40px;width:108px}
main{min-height:0;padding:16px 20px;display:grid;grid-template-rows:minmax(380px,1fr)276px;gap:16px}.workbench-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,1fr);gap:16px}.panel{min-width:0;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.panel-header{height:50px;min-height:50px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--header)}.editor-header h1{height:100%;display:flex;align-items:center;padding:0 21px;margin:0;border-bottom:3px solid var(--accent);font-size:16px;font-weight:600;line-height:1}.filename{font-size:14px;color:var(--secondary);padding-left:20px}.source-panel{display:flex;flex-direction:column}.editor-shell{min-height:0;flex:1;display:flex;padding-top:17px;position:relative}.line-numbers{width:76px;flex-shrink:0;text-align:right;padding-right:23px;color:var(--muted);overflow:hidden;font:20px/34px var(--mono);user-select:none}.editor-content{min-width:0;position:relative;flex:1}.editor-content pre,.editor-content textarea{font:20px/34px var(--mono);white-space:pre;tab-size:4;margin:0;padding:0 20px 20px 15px;width:100%;height:100%;letter-spacing:-.25px;border:0;outline:0}.editor-content pre{position:absolute;inset:0;pointer-events:none;overflow:hidden;color:var(--fg)}.editor-content textarea{position:relative;background:transparent;color:transparent;caret-color:var(--fg);resize:none;-webkit-text-fill-color:transparent;overflow:auto}.editor-content textarea:focus-visible{outline:none}.editor-content textarea::selection{background:#4994dd4d}.source-panel:focus-within{border-color:var(--accent)}.syntax-keyword{color:var(--code-purple)}.syntax-declaration{color:var(--code-blue)}.syntax-number{color:var(--code-number)}.syntax-comment{color:var(--code-comment);font-style:italic}.editor-status{height:27px;min-height:27px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding:0 16px}.editor-status .status-dot{width:5px;height:5px}.editor-hint{margin-left:auto;font:10px var(--mono)}
.tabs{display:flex;align-items:stretch}.tab{position:relative;border:0;background:none;border-bottom:3px solid transparent;color:var(--secondary);font-size:15px;white-space:nowrap;padding:0 25px;height:50px}.tab.selected{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.tab:hover{background:var(--raised);color:var(--fg)}.inspector{display:flex;flex-direction:column}.state-panel{display:flex;flex-direction:column;flex:1;min-height:0}.pc-bar{display:flex;align-items:center;justify-content:space-between;padding:22px 17px 12px;gap:10px;min-height:86px}.pc-group{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--secondary)}.pc-group strong{font:20px var(--mono);border:1px solid var(--border);border-radius:6px;background:var(--header);padding:8px 23px;color:var(--fg);min-width:88px;text-align:center}.instruction-caption{font-size:14px;white-space:nowrap}.instruction-caption>span{font-family:var(--mono);margin-left:8px;color:var(--fg)}.machine-pill{color:var(--secondary);border:1px solid var(--border);background:var(--header);padding:8px 11px;border-radius:5px;font:14px var(--mono);white-space:nowrap}.machine-pill.done{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.machine-pill.warning{color:var(--warning)}.register-title{font-weight:600;font-size:15px;margin:8px 18px 15px;line-height:1.6}.register-title>span{color:var(--secondary);font-size:14px}.table-scroller{min-height:0;overflow:auto;flex:1}.register-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;font-size:15px}.register-table th{height:38px;text-align:left;background:var(--header);font-size:13px;font-weight:400;color:var(--secondary);white-space:nowrap}.register-table th:first-child{width:15%}.register-table th:nth-child(2){width:27%}.register-table th:nth-child(3){width:28%}.register-table th:nth-child(4){width:30%}.register-table td,.register-table th{border:1px solid var(--line);padding:8px 15px}.register-table tr>td:first-child,.register-table tr>th:first-child{border-left:0;padding-left:20px}.register-table tr>td:last-child,.register-table tr>th:last-child{border-right:0}.register-table td{font-family:var(--mono);font-size:16px;height:39px}.register-table .register-address{color:var(--secondary)}.register-table .register-variable{color:var(--code-blue);font-family:var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.register-table .register-binary{color:var(--secondary);font-size:15px;letter-spacing:1px}.register-table tr.changed{background:var(--changed)}.register-table tr.changed td.register-decimal{color:var(--success);font-weight:600}.branch-footer{min-height:26px;height:26px;display:flex;align-items:center;justify-content:flex-end;padding:0 16px;font:10px var(--mono);color:var(--muted);border-top:1px solid var(--line)}.bytecode-panel{min-height:0;flex:1;display:flex;flex-direction:column}.bytecode-head{display:grid;grid-template-columns:65px 1fr;padding:16px 22px 12px;font:11px var(--mono);letter-spacing:1px;color:var(--muted)}.bytecode-list{min-height:0;flex:1;overflow:auto;padding:0 10px}.bytecode-row{display:grid;grid-template-columns:54px 1fr;align-items:center;min-height:39px;padding:7px 12px;border-radius:3px;font:15px/1.6 var(--mono);white-space:nowrap}.bytecode-row .address{color:var(--muted);font-size:12px}.bytecode-row.active{background:var(--selected);color:var(--accent)}.bytecode-row .opcode{color:var(--code-blue)}.bytecode-note{height:30px;min-height:30px;padding:7px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
.bottom-panel{display:flex;flex-direction:column}.bottom-header{justify-content:space-between;padding-right:14px}.icon-button{height:36px;width:36px;flex-shrink:0;border:1px solid var(--border);border-radius:5px;background:var(--header);display:flex;align-items:center;justify-content:center}.bottom-header>.icon-button{border:0;background:none}.bottom-header>.icon-button .icon{height:19px;width:19px}.history-panel{padding:12px 26px 0;min-height:62px}.history-controls{display:flex;align-items:center;gap:17px}.history-controls input{min-width:30px;flex:1;accent-color:var(--accent);cursor:pointer;height:17px;margin:0 4px}.history-controls .icon-button{height:38px;width:38px}.step-counter{font:14px var(--mono);color:var(--secondary);white-space:nowrap}.step-counter strong{font-weight:400;color:var(--fg)}.history-controls .text-button{font-size:11px}.history-note{margin:5px 0 4px;color:var(--warning);font-size:10px}.console-panel{min-height:0;flex:1;border:1px solid var(--border);border-radius:5px;margin:0 11px 8px;display:flex;flex-direction:column;overflow:hidden}.console-header{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--header);border-bottom:1px solid var(--border)}.console-header h2{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;margin:0}.console-header .icon{width:21px;height:21px}.console-actions{display:flex;align-items:center;gap:12px}.console-actions>span{font:10px var(--mono);color:var(--muted)}.console-actions .icon-button{border:0;background:none;width:28px;height:28px}.console-actions .icon{height:18px;width:18px}.output-body{min-height:0;flex:1;overflow:auto;padding:10px 16px;font:19px/1.6 var(--mono);color:var(--fg)}.output-line{display:flex;gap:14px}.output-placeholder{font:12px/1.8 var(--sans);color:var(--muted);margin:2px 0}.bottom-status{display:flex;align-items:center;justify-content:space-between;padding:0 13px 6px;gap:14px;color:var(--muted);font-size:10px;min-height:20px}.bottom-status>span:first-child{font-family:var(--mono)}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);font-size:12px;padding:4px}.text-button:hover:not(:disabled){color:var(--fg)}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 27px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;gap:15px}.engine-status{display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--success)}.status-dot.loading{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}.status-dot.error{background:var(--error)}.footer-right{display:flex;align-items:center;gap:22px}.footer-right>span{font-size:11px}.footer-right .text-button{font-size:11px}.footer-right .icon{height:15px;width:15px;opacity:.8}.error-panel{margin:8px 16px;padding:9px 12px;border:1px solid var(--error);border-radius:4px;background:var(--error-bg);color:var(--error);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.error-panel:empty{display:none}
.eyebrow{font:11px var(--mono);letter-spacing:1px;color:var(--accent)}dialog{width:min(620px,92vw);max-height:85dvh;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:36px;background:var(--surface);color:var(--fg)}dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}dialog h2{font-size:22px;line-height:1.7;margin:16px 0 20px}dialog p{font-size:14px;line-height:1.9;color:var(--secondary)}dialog .dialog-close{position:absolute;right:14px;top:14px}dialog dl{border-top:1px solid var(--line);padding-top:12px;font-size:13px;line-height:1.9}dialog dt{margin-top:14px;font-weight:600}dialog dd{margin-left:0;color:var(--secondary)}dialog .hash{font:11px/1.8 var(--mono);overflow-wrap:anywhere}.dialog-note{font-size:12px!important}@keyframes pulse{50%{opacity:.4}}
@media(max-width:1380px){.toolbar{gap:12px;padding:0 18px}.brand{gap:15px}.brand>span{font-size:14px;padding-left:15px;margin-right:4px}.brand strong{font-size:25px}.button{padding:0 12px;font-size:13px;gap:7px}.button.primary{min-width:92px}.run-controls{gap:8px}.limit-control{font-size:11px;gap:5px}.sample-picker{max-width:none;min-width:165px;padding:0 9px;gap:7px}.sample-picker select{font-size:12px}.icon{height:19px;width:19px}.pc-group{gap:8px}.pc-group strong{padding:8px 14px;min-width:70px}.instruction-caption{font-size:12px}.machine-pill{font-size:12px;padding:8px}.register-table td,.register-table th{padding:8px 12px}.editor-content pre,.editor-content textarea{font-size:18px;line-height:32px}.line-numbers{font-size:18px;line-height:32px;width:63px;padding-right:20px}}
@media(max-width:1190px){body{grid-template-rows:130px minmax(0,1fr)50px;min-height:950px}.toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;grid-template-rows:58px 58px;gap:0 20px;padding:7px 20px}.brand{grid-column:1}.sample-picker{grid-column:2;max-width:none}.theme-switch{grid-column:3;justify-self:end}.run-controls{grid-row:2;grid-column:1/3;gap:12px}.limit-control{grid-row:2;grid-column:3}.button{padding:0 17px;font-size:14px}.brand>span{font-size:15px}.workbench-grid{grid-template-columns:minmax(0,1.2fr) minmax(370px,1fr)}.pc-bar{padding-left:14px;padding-right:14px}.pc-group{font-size:14px}.pc-group strong{min-width:57px;padding:8px 12px}.instruction-caption{font-size:11px}.instruction-caption>span{margin-left:4px}.register-table{font-size:14px}.register-table th{font-size:11px}.register-table td{font-size:14px}.register-table .register-binary{font-size:13px}.register-table .register-variable{font-size:13px}.editor-content pre,.editor-content textarea{font-size:16px;line-height:30px;padding-left:10px}.line-numbers{font-size:16px;line-height:30px;width:50px;padding-right:13px}.tab{padding:0 20px;font-size:14px}.filename{font-size:13px}.footer-right{gap:12px}}
@media(max-width:760px){body{height:auto;min-height:100dvh;display:block}.toolbar{grid-template-columns:1fr auto;grid-template-rows:56px 48px 52px;gap:0 12px;padding:5px 15px 12px}.brand{grid-column:1;grid-row:1}.brand>span{font-size:12px}.brand strong{font-size:24px}.theme-switch{grid-column:2;grid-row:1}.sample-picker{grid-column:1/3;grid-row:2;height:38px;max-width:none}.run-controls{grid-row:3;grid-column:1/3;gap:8px}.run-controls .button{flex:1;padding:0 9px;height:38px;font-size:12px;gap:6px}.run-controls .icon{height:17px;width:17px}.limit-control{grid-row:4;grid-column:1/3;justify-self:end;margin-top:2px;font-size:11px}.limit-control select{height:30px;width:96px;font-size:11px;padding:3px 6px}main{display:flex;flex-direction:column;gap:14px;padding:14px 12px}.workbench-grid{display:flex;flex-direction:column;gap:14px}.source-panel{height:440px}.editor-header h1{font-size:14px;padding:0 18px}.editor-content pre,.editor-content textarea{font-size:15px;line-height:28px;padding-left:6px}.line-numbers{font-size:14px;line-height:28px;width:43px;padding-right:11px}.filename{font-size:12px;padding-left:15px}.editor-status{font-size:10px}.inspector{height:560px}.pc-bar{padding-left:18px;padding-right:18px}.pc-group{font-size:15px;gap:12px}.pc-group strong{min-width:68px}.instruction-caption{font-size:12px}.register-title{font-size:14px}.machine-pill{font-size:12px}.register-table td{font-size:15px}.register-table th{font-size:12px}.register-table .register-variable{font-size:14px}.register-table .register-binary{font-size:14px}.register-table th:first-child{width:17%}.register-table th:nth-child(2){width:23%}.register-table th:nth-child(3){width:26%}.register-table th:nth-child(4){width:34%}.bottom-panel{height:310px}.bottom-header .tab{padding:0 17px;font-size:13px}.history-panel{padding:12px 13px 0}.history-controls{gap:9px}.history-controls .icon-button{height:32px;width:32px}.step-counter{font-size:10px}.history-controls .text-button{display:none}.history-controls input{margin:0;min-width:45px}.output-body{font-size:18px}.bottom-status{align-items:flex-start;font-size:9px}.bottom-status>span:first-child{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-status>span:last-child{text-align:right}.statusbar{min-height:60px;padding:12px 17px;font-size:11px}.footer-right>span{display:none}.footer-right .text-button{font-size:10px}.footer-right .icon{display:none}.console-actions>span{font-size:9px}dialog{padding:28px 23px}dialog h2{font-size:19px}dialog p{font-size:13px}}
.bottom-content{display:flex;flex-direction:column;flex:1;min-height:0}.bottom-content:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
/* Reference QA: match the larger desktop type and toolbar rhythm. */
@media(min-width:1381px){.brand strong{font-size:30px}.brand>span{font-size:17px;margin-right:23px}.sample-picker{margin-right:22px}.button.primary{min-width:114px}#step-button{min-width:136px}#reset-button{min-width:117px}#pause-button{min-width:88px}.editor-content pre,.editor-content textarea,.line-numbers{font-size:22px}.register-table td{font-size:17px}.register-table th{font-size:14px}.register-table .register-binary{font-size:16px}.register-title{font-size:16px}.pc-group strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Keep all eight rows visible at the reference and mobile viewports. */
.pc-bar{min-height:80px}.register-title{margin-bottom:12px}.branch-footer{min-height:20px;height:20px}.machine-pill{font-size:16px;padding:9px 12px;font-weight:600}
@media(max-width:1190px){.machine-pill{font-size:12px;padding:8px}}
@media(max-width:760px){.inspector{height:584px}}
/* Source interpreter diagnostics replace the bytecode inspector. */
.bytecode-head,.bytecode-row{grid-template-columns:116px minmax(0,1fr)}
.bytecode-row{font-family:var(--sans);white-space:normal;gap:12px;align-items:start}
.bytecode-row>span:first-child{color:var(--secondary);font-size:13px}
.bytecode-row>span:last-child{overflow-wrap:anywhere}
/* A focused source → result workspace; model state is no longer a UI panel. */
main{display:flex;min-height:0;padding:16px 20px;overflow:auto}
.workbench-grid{width:100%;min-height:520px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.result-panel{display:flex;flex-direction:column;min-width:0;min-height:0}
.result-panel .bottom-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600}
.result-panel .bottom-header{padding:0 18px;min-height:50px}
.result-panel .machine-pill{font-family:var(--sans);font-size:12px;padding:5px 9px}
.result-panel .console-header{flex-shrink:0;justify-content:space-between;border-bottom:1px solid var(--line);background:transparent}
.result-panel .output-body{flex:1;height:auto;min-height:260px;padding:17px 20px 20px}
@media(max-width:760px){main{padding:12px;overflow:visible}.workbench-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}.source-panel{height:440px}.result-panel{min-height:320px}.result-panel .output-body{min-height:220px}}

.syntax-string{color:var(--success)}
.error-panel{white-space:pre-wrap;font-family:var(--mono)}
.output-line>span{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}

/* Keep source, line numbers and results on the same type scale. */
:root{--program-font-size:18px;--program-line-height:30px}
.editor-content pre,.editor-content textarea,.line-numbers,.result-panel .output-body{font:var(--program-font-size)/var(--program-line-height) var(--mono);letter-spacing:-.25px}
.result-actions{display:flex;align-items:center;gap:10px}
.result-actions .icon-button{width:28px;height:28px;border:0;background:transparent}
.result-actions .icon{width:18px;height:18px}
@media(max-width:1380px){:root{--program-font-size:17px;--program-line-height:29px}}
@media(max-width:1190px){:root{--program-font-size:16px;--program-line-height:28px}}
@media(max-width:760px){:root{--program-font-size:15px;--program-line-height:28px}}

.execution-time{color:var(--secondary);font:11px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:400px){.result-panel .bottom-header{padding:0 10px}.result-actions{gap:6px}.execution-time{font-size:10px}.result-panel .bottom-header h2{font-size:13px;gap:6px}}

/* Keep the budget aligned right with consistent number and arrow spacing. */
.toolbar{padding-right:30px}
.limit-control{justify-self:end;gap:10px}
.limit-select{position:relative;display:inline-flex;flex-shrink:0}
.limit-select::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--secondary);border-bottom:1.5px solid var(--secondary);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.limit-control select{appearance:none;-webkit-appearance:none;background:var(--header);width:112px;height:44px;padding:0 34px 0 12px;text-align:right;text-align-last:right;font:13px var(--mono);font-variant-numeric:tabular-nums;cursor:pointer}
.limit-control select:disabled{cursor:default}
@media(max-width:760px){.toolbar{padding-right:20px}.limit-control select{width:108px;height:38px;font-size:12px}}

/* The gap is an accessible resize handle instead of unused whitespace. */
.workbench-grid{grid-template-columns:minmax(0,var(--source-fr,1.35fr)) 16px minmax(0,var(--result-fr,1fr));gap:0}
.workbench-divider{position:relative;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;outline:none;border-radius:4px}
.split-grip{width:3px;height:42px;border-radius:4px;background:var(--border);transition:background .12s}
.workbench-divider:hover .split-grip,.workbench-divider:focus-visible .split-grip,body.resizing-columns .split-grip,body.resizing-rows .split-grip{background:var(--accent)}
.workbench-divider:focus-visible{outline:none}
.workbench-divider:focus-visible .split-grip{box-shadow:0 0 0 4px var(--selected)}
body.resizing-columns,body.resizing-columns *{cursor:col-resize!important;user-select:none!important}
body.resizing-rows,body.resizing-rows *{cursor:row-resize!important;user-select:none!important}
.statusbar{justify-content:flex-end}
@media(max-width:760px){.workbench-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--source-height,440px) 16px var(--result-height,320px);gap:0}.source-panel,.result-panel{height:auto;min-height:0}.result-panel .output-body{min-height:0}.workbench-divider{cursor:row-resize}.split-grip{width:42px;height:3px}}

/* A sliding theme indicator and a gentle palette transition. */
body,.toolbar,.panel,.panel-header,.sample-picker,.limit-control select,.statusbar,.editor-content pre,.line-numbers,.output-body,.error-panel,dialog{transition:background-color .42s ease,color .32s ease,border-color .42s ease}
.editor-content pre span{transition:color .32s ease}
.theme-switch{position:relative;isolation:isolate;transition:background-color .42s ease,border-color .42s ease}
.theme-switch::before{content:"";position:absolute;left:3px;top:3px;width:32px;height:28px;border-radius:15px;background:var(--button);box-shadow:0 2px 6px #0002;transition:transform .4s cubic-bezier(.22,1,.36,1),background-color .42s ease;pointer-events:none;z-index:-1}
:root[data-theme=dark] .theme-switch::before{transform:translateX(34px)}
.theme-switch button,.theme-switch button[aria-pressed=true]{position:relative;background:transparent}
.theme-switch button .icon{opacity:.72;transform:scale(.88) rotate(-18deg);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease,filter .32s ease}
.theme-switch button[aria-pressed=true] .icon{opacity:1;transform:scale(1) rotate(0)}
.split-grip{transition:background-color .2s ease,box-shadow .2s ease}
