.phenomenon-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.phenomenon-toolbar button,.phenomenon-example { min-height:44px; padding:8px 13px; border:1px solid #c7dbe5; border-radius:7px; background:#fff; color:#285d7b; font:inherit; font-size:12px; cursor:pointer; transition:background-color 150ms ease; }
.phenomenon-toolbar button[aria-pressed=true] { background:#e8f4fa; border-color:#6ba5c2; }
.phenomenon-toolbar button:focus-visible,.phenomenon-example:focus-visible,.phenomenon-editor :is(input,select):focus-visible { outline:2px solid #227ca9; outline-offset:3px; }
.phenomenon-editor { padding:14px 0; margin:12px 0; border-block:1px solid #dce6eb; }
.phenomenon-editor label { display:block; font-size:13px; color:#36566b; margin-bottom:8px; }
.phenomenon-editor select,.phenomenon-editor input[type=number] { width:100%; min-height:44px; border:1px solid #c7dbe5; border-radius:6px; padding:9px; background:#fff; color:#253b47; font:inherit; margin-bottom:10px; }
.phenomenon-editor input[type=range] { width:100%; min-height:32px; accent-color:#2284b6; }
.phenomenon-status { font-size:13px; line-height:1.6; padding:9px 0; color:#476c80; }
.phenomenon-caption { font-size:12px; line-height:1.65; color:#5e7582; }
.phenomenon-focused { outline:2px solid #7fb0cb; outline-offset:2px; }
.phenomenon-steps { display:flex; flex-wrap:wrap; list-style:none; gap:8px 22px; padding:13px 0; border-block:1px solid #dae5ea; color:#587486; font-size:12px; margin:0 0 24px; }
.phenomenon-stage { background:#f5f9fc; border:1px solid #d5e3eb; border-radius:12px; }
.phenomenon-stage text { font:13px 'IBM Plex Sans','Segoe UI',sans-serif; fill:#4f6e80; }
.phenomenon-stage [role=button] { cursor:pointer; }
.phenomenon-stage [role=button]:focus-visible { outline:2px solid #227ca9; outline-offset:5px; }
.phenomenon-key { font-variant-numeric:tabular-nums; }
.forced-lab .bench { grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr); align-items:start; }
.forced-lab .bench-svg { width:100%; height:auto; max-height:none; }
.forced-lab .flow-fig { min-width:0; }
.forced-lab #resultadosContainer[data-stale=true] .res-top { opacity:.5; }
.forced-lab .phenomenon-live { display:flex; gap:9px; align-items:center; font-size:12px; margin-top:10px; }
.forced-lab .phenomenon-live input { width:18px; height:18px; accent-color:#2284b6; }
.forced-lab .phenomenon-empty { padding:12px 0; color:#6b8190; }
.forced-explorer { margin:8px 0; }
.forced-explorer summary { min-height:44px; padding:10px 0; cursor:pointer; color:#285d7b; font-size:13px; }
.forced-lab .fl-band { opacity:.13; }
.forced-lab .fl-line { stroke:#81b2cc; stroke-width:1.1; fill:none; }
.forced-lab .fl-speck { fill:#2787b7; }
.forced-lab .fl-surface { stroke:#718ea3; stroke-width:1.3; }
.forced-lab [data-view=technical] .fl-surface { fill:#d6e4ee; }
.forced-lab [data-view=temperature] .fl-surface { fill:var(--surface-color,#d6e4ee); }
.boiling-lab [data-trilha=ebulicao] { display:block; min-width:0; }
.boiling-lab .obs-reading { margin-top:18px; }
.boiling-lab .obs-scene { padding:0; border-radius:12px; }
.boiling-lab .obs-scene svg { max-height:none; }
.boiling-lab .obs-response { min-height:0; }
.boiling-lab #boil-result[data-stale=true] .result-hero { opacity:.5; }
.boiling-lab #boil-result[data-stale=true] .panel-sub::after { content:' · caso anterior'; }
.boil-chart { margin-top:20px; border-top:1px solid #dae5ea; padding-top:14px; }
.boil-chart h3 { font-size:16px; font-weight:600; color:#294e65; }
.boil-chart svg { width:100%; height:auto; background:#f8fbfd; border-radius:8px; }
.boil-chart text { font:12px 'IBM Plex Sans',sans-serif; fill:#526f82; }
.boil-chart-caption { font-size:12px; line-height:1.6; color:#486b80; }
.boil-lesson { margin:25px 0; color:#3c5b6d; }
.boil-lesson h2 { font-size:20px; font-weight:500; }
.boil-regimes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.boil-regimes details { padding:14px; border:1px solid #d5e3eb; border-radius:8px; background:#f8fbfd; font-size:13px; line-height:1.65; }
.boil-regimes summary { cursor:pointer; min-height:44px; color:#285d7b; font-weight:600; }
@media(max-width:600px) { .boil-regimes { grid-template-columns:1fr; } }
@media(max-width:1000px) { .forced-lab .bench { grid-template-columns:1fr; } }
@media(hover:hover) { .phenomenon-toolbar button:hover,.phenomenon-example:hover { background:#edf6fb; } }
@media(prefers-reduced-motion:reduce) { .phenomenon-toolbar button,.phenomenon-example { transition:none; } }
