:root{color:#18262d;background:#f5f4ef;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}a{color:#2459d3}main{max-width:1480px;padding:24px 32px}.lab-intro{margin-bottom:20px}.eyebrow{display:none}.lab-intro h1{font-size:clamp(1.6rem,3vw,2.4rem);margin:12px 0;overflow-wrap:anywhere}.workbench-model{padding:8px 0}.workbench-model summary{font-weight:600}.workbench-model #intro{max-width:85ch}.lab-workspace,.is-embedded .lab-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px}.control-panel{grid-column:1;grid-row:1}.results-panel{grid-column:2;grid-row:1}.control-panel,.results-panel,.is-embedded .control-panel,.is-embedded .results-panel{border:1px solid #dce1df;border-radius:12px;box-shadow:none;padding:20px}h2{font-size:1.1rem;margin-bottom:12px}h3{font-size:1.2rem}.workbench-jumps{display:flex;gap:12px;margin:16px 0}.workbench-jumps button{width:auto;min-width:100px}.workbench-state{display:inline-flex;background:#e8edf9;border:1px solid #72808a;border-radius:6px;font-size:.85rem;padding:4px 10px}.workbench-state[data-phase=error]{color:#a52a2a;border-color:currentColor}.workbench-state[data-phase=done]{color:#226342;border-color:currentColor}.workbench-saved{font-size:.85rem;margin:8px 0}.workbench-dirty{border-left:4px solid #b45309;padding:12px;background:#fff7ed}.workbench-empty{padding:32px 20px;min-height:240px;background:#f5f4ef;border:1px dashed #72808a;border-radius:8px}.workbench-empty h3{margin-top:0}.results-panel:not(.has-result)>:is(canvas,#legend,#metrics,details){display:none}.workbench-compare-help,#compare-summary{font-size:.9rem;overflow-wrap:anywhere}#metrics{margin-top:20px}.results-panel>canvas{margin-top:16px}#controls{margin-top:16px}#controls label{color:#18262d;font-size:.95rem}#controls :is(input,select){min-width:0}#controls details{display:block;grid-column:1/-1}#controls details>label{margin-top:16px}#controls details>fieldset{margin:12px 0}input,select,button{border-color:#72808a;color:#18262d}button{font-size:.9rem}.buttons #run{background:#2459d3;border-color:#2459d3}.buttons{margin-top:18px}.buttons #compare,.buttons #clear-comparison{grid-column:1/-1}#status{background:#f5f4ef;color:#18262d}button:disabled{opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b45309;outline-offset:4px}[hidden]{display:none!important}#result-panel,#condition-panel{scroll-margin-top:16px}#metrics table{font-size:.85rem}#metrics th,#metrics td{padding:10px 8px}#metrics td:not(:first-child)::before{content:none}
@media(max-width:900px){.lab-workspace,.is-embedded .lab-workspace{grid-template-columns:1fr}.control-panel,.results-panel{grid-column:1;grid-row:auto}.results-panel{order:0}.control-panel{order:1}main,.is-embedded main{padding:16px}.workbench-jumps{position:sticky;top:0;z-index:10;padding:8px 0;background:#f5f4ef}.workbench-jumps button{flex:1}#result-panel,#condition-panel{scroll-margin-top:80px}.buttons{grid-template-columns:1fr 1fr}#controls{grid-template-columns:1fr 1fr}.workbench-empty{min-height:150px;padding:20px}.results-panel #metrics table{display:table;min-width:100%}.results-panel #metrics tbody{display:table-row-group}.results-panel #metrics thead{display:table-header-group;position:static;clip-path:none;width:auto;height:auto;overflow:visible}.results-panel #metrics tr{display:table-row;padding:0}.results-panel #metrics td{display:table-cell;font-size:.85rem!important;padding:8px!important;white-space:nowrap;text-align:right!important}.results-panel #metrics td:first-child{text-align:left!important;white-space:normal;min-width:130px}.results-panel #metrics td:not(:first-child)::before{content:none!important}}
@media(max-width:540px){#controls{grid-template-columns:1fr}.control-panel,.results-panel,.is-embedded .control-panel,.is-embedded .results-panel{padding:16px}.lab-nav{padding:12px 16px}.lab-intro h1,.is-embedded h1{font-size:1.6rem}.brightness-controls label{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.workbench-jumps #run{background:#2459d3;border-color:#2459d3;color:white}.workbench-jumps #stop{color:#a52a2a}main>#status{margin:0 0 16px;padding:8px 12px;border:1px solid #dce1df}.workbench-model>p{margin:8px 0}.workbench-model{border:0}.workbench-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px}.workbench-jumps button{width:100%;min-width:0}
@media(max-width:540px){.workbench-jumps{grid-template-columns:repeat(2,minmax(0,1fr))}#result-panel,#condition-panel{scroll-margin-top:142px}}

.brightness-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.brightness-controls label{min-width:0}.brightness-controls input[type=number]{width:100%}.brightness-controls .brightness-histogram-toggle{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;min-height:44px}.brightness-controls input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}

.workbench-jumps button{overflow-wrap:anywhere}

/* Keep controls reachable when zoom leaves little vertical room. */
@media(max-height:450px){.workbench-jumps{position:static}#result-panel,#condition-panel{scroll-margin-top:16px}}
