/* Shared presentation for both fin flows and all four stages. */
.fin-refined { --fin-paper:#f6f6f0; --fin-panel:#fdfdfa; --fin-ink:#253b47; --fin-muted:#5e717a; --fin-line:#d8dfdf; --fin-cyan:#286595; }
.fin-refined .page-wrap { max-width:1320px; }
.fin-refined [hidden] { display:none!important; }
.fin-refined .fin-step-title { margin:0 0 7px; font-size:21px; font-weight:500; letter-spacing:-.025em; }
.fin-refined .fin-step-intro { color:#5a707f; font-size:12px; line-height:1.6; margin:0 0 22px; max-width:690px; }
.fin-refined .fin-case-card { align-items:center; gap:8px; }
body.fin-refined .fin-bench .fin-case-card { display:inline-flex; border-radius:7px; padding:8px 11px; }
.fin-refined .fin-case-card .fin-case-order { order:-1; display:inline-grid; place-items:center; width:23px; height:23px; border-radius:5px; background:#edf2f6; color:#5b758a; font:10px 'IBM Plex Mono',monospace; }
.fin-refined .fin-case-card[aria-pressed=true] .fin-case-order { background:#d3e9fa; color:#176da2; }
body.fin-refined .fin-mode-tools { border:1px solid #dce6ee; background:#edf3f8; padding:4px; border-radius:9px; }
body.fin-refined .fin-mode-tools button { border-radius:6px; padding:8px 14px; font-weight:500; }
body.fin-refined .fin-mode-tools button[aria-pressed=true] { color:#0879b5; background:white; box-shadow:0 1px 4px #204a6c16; }
.fin-refined button { transition:background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease; }
.fin-refined button:active { transform:translateY(1px); }
.fin-refined .fin-view-tools { justify-content:flex-start; gap:6px; flex-wrap:wrap; }
body.fin-refined .fin-view-tools button { display:inline-flex; align-items:center; justify-content:center; border-radius:7px; background:#fff; border-color:#d0dfe9; color:#2c617f; box-shadow:0 1px 2px #25496309; }
.fin-refined .fin-view-tools .fin-reset { padding:8px 12px; text-decoration:none; font-size:11px; }
.fin-refined .fin-particle-tools button,.fin-refined .fin-sync-actions button,.fin-refined .vx-btn-ghost,.fin-refined #fin-dimensions button { background:#fff; border:1px solid #cddde7; border-radius:7px; color:#2d617f; box-shadow:0 1px 2px #25496308; }
.fin-refined #fin-dimensions button[aria-pressed=true] { background:#e2f0fb; color:#086fa8; border-color:#8fbfdf; box-shadow:none; }
.fin-refined .fin-live-inputs .vx-btn-primary { background:#176fa5; border-color:#176fa5; border-radius:8px; box-shadow:0 2px 4px #176fa518; }
.fin-refined .fin-live-inputs .vx-btn-primary:hover { background:#115d8d; border-color:#115d8d; }
.fin-refined .fin-model-notes { margin:28px 0 0; border-top:1px solid var(--fin-line); display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
.fin-refined .fin-model-notes > .fin-group-title { grid-column:1/-1; color:#253b47; font-size:21px; font-weight:400; letter-spacing:-.02em; padding:22px 0 14px; }
.fin-refined .fin-model-notes > .fin-qualitative { margin:0 0 16px; font-size:12px; }
.fin-refined .fin-model-notes .fin-input-notes { border-top:1px solid #dce4e9; }
.fin-refined .fin-model-notes #fin-exploration-note { margin:0 0 16px; padding:0; border:0; background:none; }
.fin-refined .fin-deepen { margin:20px 0 0; }
body.fin-refined .fin-scene-wrap { background:#f4f8fb; border-color:#dce7ee; border-radius:10px; }
.fin-refined .fin-scene-help { background:#f9fbfd; }
@media(hover:hover) { .fin-refined .fin-view-tools button:hover,.fin-refined .fin-particle-tools button:hover,.fin-refined .fin-sync-actions button:hover,.fin-refined .vx-btn-ghost:hover { background:#edf5fb; border-color:#90b7d1; } }
.fin-refined .page-head { display:grid; grid-template-columns:1.2fr 1fr; column-gap:36px; align-items:end; padding-bottom:14px; }
.fin-refined .page-kicker { grid-column:1/-1; font-size:11px; letter-spacing:.06em; }
.fin-refined .page-head h1 { font-size:clamp(28px,3vw,40px); font-weight:400; letter-spacing:-.035em; margin:12px 0 0; }
.fin-refined .page-head p { margin:0; font-size:14px; max-width:440px; line-height:1.6; }
.fin-refined .eng-scale-rule { display:none; }
.fin-refined .fin-journey { margin-bottom:16px; }
.fin-refined .fin-live-layout { grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); gap:36px; align-items:start; }
.fin-refined .fin-live-case { display:block; position:static; }
body.fin-refined.fin-results .fin-live-case { display:block; position:static; }
body.fin-refined.fin-results .fin-bench { position:static; }
body.fin-refined .fin-bench-controls { display:block; }
.fin-refined.fin-results .fin-sync-config { margin:0; padding:0; border:0; }
.fin-refined.fin-results .fin-sync-config > .fin-group-title { display:none; }
.fin-refined.fin-results .container { max-width:1320px; margin:0 auto; }
body.fin-refined.fin-results .container { display:block; box-sizing:border-box; }
body.fin-refined.fin-results .card { display:block; width:100%; }
.fin-refined.fin-results .res-head h1 { font-size:32px; font-weight:400; letter-spacing:-.035em; }
.fin-refined.fin-results .res-acoes :is(a,button) { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:8px 12px; border:1px solid #cddde7; border-radius:7px; background:#fff; color:#2d617f; font:12px 'IBM Plex Sans',sans-serif; text-decoration:none; }
.fin-refined.fin-results .res-acoes .btn-primary { background:#176fa5; color:#fff; border-color:#176fa5; }
.fin-refined.fin-results .fin-results-summary { margin:16px 0 26px; padding:0 18px; }
.fin-refined.fin-results .fin-results-summary .fin-result-metrics { margin:0; padding:14px 0 18px; }
.fin-refined.fin-results .fin-tip-select { display:block; border:0; margin:12px 0 0; padding:0; }
.fin-refined.fin-results .fin-tip-select legend { font-size:13px; font-weight:500; color:#345b70; margin-bottom:4px; }
.fin-refined.fin-results .fin-tip-select label { min-height:36px; }
.fin-refined.fin-results .fin-tip-select .vx-field { margin-top:8px; }
.fin-refined.fin-results .fin-parameters-wide { padding-top:24px; margin-top:28px; }
.fin-refined.fin-results .fin-parameters-wide .fin-group-title { padding-top:0; }
.fin-refined.fin-results .fin-parameters-wide .btns-bottom { display:flex; justify-content:flex-start; }
.fin-refined.fin-results .fin-parameters-wide :is(.fin-dimension-fields,.fin-thermal-fields) { align-content:start; }
.fin-refined.fin-results #fin-open-consolidated { display:inline-flex; width:auto; padding:12px 18px; justify-content:center; }
.fin-refined.fin-results .fin-live-layout > div:first-child { min-width:0; }
.fin-refined.fin-results .fin-edit-case { display:none; }
body.fin-refined .fin-experiment-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.fin-refined .fin-experiment-grid .fin-sync-output { margin:0; padding:0; border:0; }
.fin-refined .fin-experiment-grid .fin-response-title { margin-top:4px; font-size:23px; }
.fin-refined .fin-experiment-grid .fin-probe { padding:14px 0; border-top:1px solid var(--fin-line); }
.fin-refined .fin-plot-frame { height:auto!important; width:100%; min-width:0; }
.fin-refined .fin-probe input[type=range] { display:block; width:100%; height:30px; margin:8px 0; accent-color:#286595; }
.fin-refined .fin-probe output { display:block; margin:8px 0; font:11px 'IBM Plex Mono',monospace; }
.fin-refined .fin-parameters-wide { margin-top:24px; border-top:1px solid var(--fin-line); padding-top:22px; }
body.fin-refined form.fin-parameters-wide,body.fin-refined .fin-parameters-wide form.fin-live-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 24px; border-left:0; padding-left:0; }
.fin-refined .fin-parameters-wide .fin-step-title,.fin-refined .fin-parameters-wide .fin-step-intro,.fin-refined .fin-parameters-wide .fin-auto-note,.fin-refined .fin-parameters-wide .btns-bottom { grid-column:1/-1; }
.fin-refined .fin-parameters-wide .fin-step-intro { margin-bottom:0; }
.fin-refined .fin-parameters-wide .fin-material-group { border:0; }
body.fin-refined[data-fin-flow=materials] .fin-case-card strong { display:none; }
body.fin-refined[data-fin-flow=materials] .fin-case-card span:not(.fin-thumbnail):not(.fin-case-metric) { display:inline; font-size:12px; font-weight:500; }
.fin-refined.fin-materials .mat-row { border-radius:5px; padding:12px 8px; }
.fin-refined.fin-materials .mat-row:has(input:checked) { background:#e9f3fb; box-shadow:inset 3px 0 #3279a6; }
.fin-refined.fin-materials .mat-row:hover { background:#f0f6fa; }
.fin-refined[data-fin-stage=selection] .fin-card { border-radius:5px; }
.fin-refined[data-fin-stage=selection] .fin-card[data-examined] { background:#e9f3fb; box-shadow:inset 3px 0 #3279a6; }
.fin-refined .fin-primary { background:#176fa5; border-color:#176fa5; border-radius:8px; min-height:44px; }
.fin-refined .fin-bench-heading h2 { font-size:25px; }
.fin-refined .fin-bench-heading .fin-number { font-size:32px; color:#8c9da3; }
.fin-refined .fin-eyebrow { color:#577481; letter-spacing:.08em; }
.fin-refined .fin-bench #fin-comparison { margin:16px 0; gap:6px; }
.fin-refined .fin-bench .fin-case-card { display:block; width:auto; min-width:0; flex:0 1 auto; padding:8px 12px; border:1px solid #c9d5da; border-radius:4px; }
.fin-refined .fin-bench .fin-case-card[aria-pressed=true] { color:#205577; background:#eaf1f5; border-color:#7d9fb4; box-shadow:none; }
.fin-refined .fin-case-card .fin-thumbnail,.fin-refined .fin-case-card span:not(.fin-thumbnail) { display:none; }
.fin-refined .fin-case-card strong { font-size:12px; }
.fin-refined .fin-representation { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:12px 0; }
.fin-tool-label { color:#5e717a; font-size:11px; }
.fin-group-title { margin:0; padding:14px 0 10px; color:#345b70; font-size:12px; font-weight:500; }
.fin-zoom-row { display:flex; align-items:center; gap:12px; padding:0 0 14px; font-size:12px; }
.fin-zoom-row input { width:min(260px,65%); min-height:32px; accent-color:#286595; }
.fin-zoom-row output { min-width:44px; font:12px 'IBM Plex Mono',monospace; }
.fin-refined .fin-mode-tools { margin:0; display:flex; gap:2px; padding:3px; background:#e8eeef; border-radius:6px; }
.fin-refined .fin-mode-tools button { border:0; min-height:38px; border-radius:4px; padding:8px 13px; transition:background-color 160ms ease,color 160ms ease; }
.fin-refined .fin-mode-tools button[aria-pressed=true] { color:#225a7c; background:#fdfdfa; box-shadow:0 1px 3px #25485a12; }
.fin-refined .fin-scene-wrap { margin:0; background:#edf2f3; border:1px solid #dce4e6; border-radius:6px; overflow:hidden; }
.fin-render-stage { position:relative; }
.fin-refined .fin-solid { height:auto; min-height:0; max-height:none; aspect-ratio:12/7; }
.fin-refined .fin-particles { inset:0; width:100%; height:100%; }
.fin-refined .fin-particles circle { animation:none; }
.fin-refined .fin-scene-corner { top:14px; left:16px; font-size:8px; letter-spacing:.09em; color:#617c8b; }
.fin-refined .fin-scene-help { font-size:10px; margin:0; padding:8px; background:#f4f7f7; color:#607581; }
.fin-refined .fin-h-marks,.fin-refined .fin-boundaries,.fin-refined [data-probe-position],.fin-refined .fin-solid [data-dimension] { display:none; }
.fin-refined.fin-show-dimensions .fin-solid [data-dimension] { display:block; opacity:.45; }
.fin-refined.fin-editing-dimension .fin-solid .fin-dimension-active { display:block; opacity:1; }
.fin-refined.fin-show-dimensions.fin-editing-dimension .fin-solid [data-dimension]:not(.fin-dimension-active) { opacity:.15; }
.fin-refined.fin-probing [data-probe-position] { display:block; }
.fin-refined.fin-probing [data-probe-position] circle { r:4px; stroke-width:1.5px; stroke:#286595; }
.fin-refined.fin-probing [data-probe-position] path { stroke-width:1px; stroke:#286595; }
.fin-refined .fin-view-panel,.fin-refined .fin-explore-panel { display:block; border-bottom:1px solid var(--fin-line); font-size:12px; }
.fin-refined summary { cursor:pointer; min-height:44px; box-sizing:border-box; padding:13px 0; font-weight:500; }
.fin-refined .fin-view-tools { padding:0 0 12px; justify-content:flex-start; gap:5px; }
.fin-refined .fin-view-tools button { min-width:44px; min-height:44px; background:#fdfdfa; border:1px solid #d2dde1; border-radius:4px; color:#285873; }
.fin-explore-options { display:flex; gap:24px; flex-wrap:wrap; }
.fin-option { display:flex; align-items:center; gap:8px; min-height:44px; font-size:12px; cursor:pointer; }
.fin-option input { accent-color:#286595; width:16px; height:16px; }
.fin-refined .fin-bench-controls { padding:4px 0; }
.fin-refined .fin-bench-controls .fin-eyebrow { display:none; }
.fin-refined .fin-reading { font-size:11px; }
.fin-refined .fin-particle-tools { margin:8px 0; gap:6px; }
.fin-refined .fin-particle-tools button { font-size:11px; min-height:44px; }
.fin-refined .fin-visual-help { font-size:11px; color:var(--fin-muted); line-height:1.65; }
.fin-refined .fin-visual-help p { font-size:11px; }
.fin-refined .fin-bench-foot { display:block; }
.fin-refined #fin-material-reading { margin:12px 0; font-size:11px; color:#5e717a; }
.fin-refined .fin-temperature-legend { margin:8px 0 12px; font:10px 'IBM Plex Mono',monospace; }
.fin-refined .fin-temperature-legend[hidden] { display:none; }
.fin-refined .fin-immediate { margin-top:12px; background:#fdfdfa; border:1px solid #d8e1e3; border-radius:6px; padding:0 18px 6px; }
.fin-refined #fin-case-status { border:0; background:none; padding:12px 0; margin:0; font-size:11px; color:#486778; }
.fin-refined .fin-retry { min-height:44px; border:1px solid #b8cad3; background:#edf3f6; border-radius:4px; padding:8px 12px; margin-bottom:10px; color:#205577; font:500 12px 'IBM Plex Sans',sans-serif; cursor:pointer; }
.fin-refined[data-result-state=pending] #fin-case-status { color:#97552e; }
.fin-refined .fin-result-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px 0; }
.fin-refined .fin-result-metrics dt { font-size:10px; line-height:1.5; }
.fin-refined .fin-result-metrics dd { font-size:clamp(15px,1.65vw,21px); letter-spacing:-.04em; }
.fin-refined[data-result-state]:not([data-result-state=fresh]) .fin-result-metrics { opacity:.5; }
.fin-refined .fin-live-inputs { padding:0 0 0 24px; border-left:1px solid var(--fin-line); }
.fin-refined .fin-dimension-fields,.fin-refined .fin-thermal-fields { margin:0 0 16px; padding:10px 0 0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fin-refined .fin-dimension-fields legend,.fin-refined .fin-thermal-fields legend { padding:0; font-size:13px; font-weight:500; color:#345b70; }
.fin-refined .fin-live-inputs .vx-field { padding:0; min-width:0; }
.fin-refined .fin-thermal-fields > .vx-field:first-of-type { grid-column:1/-1; }
.fin-refined .fin-live-inputs label { font-size:11px; font-weight:400; line-height:1.55; color:#46606e; }
.fin-refined .fin-live-inputs .vx-input { width:100%; min-width:0; box-sizing:border-box; min-height:42px; background:#fdfdfa; border:1px solid #c5d1d7; font:13px 'IBM Plex Mono',monospace; padding:10px 12px; }
.fin-refined .fin-live-inputs fieldset { min-width:0; }
.fin-refined .fin-value-slider { height:28px; margin:2px 0 0; }
.fin-refined .fin-material-group { border-block:1px solid var(--fin-line); padding-bottom:8px; font-size:12px; }
.fin-refined .fin-input-notes { margin:8px 0; border-top:0; }
.fin-refined .fin-input-notes summary { font-size:12px; }
.fin-refined .cond-row { padding:8px; border:1px solid #ccd6da; min-height:44px; box-sizing:border-box; }
.fin-refined .cond-list { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.fin-refined .fin-h-help { font-size:11px; }
.fin-refined .fin-h-help summary { min-height:36px; padding:8px 0; font-weight:400; color:#286595; }
.fin-refined .h-actions { display:flex; gap:6px; }
.fin-refined .h-meta { font-size:11px; }
.fin-refined .fin-auto-note { font-size:11px; color:#5e717a; line-height:1.6; margin:8px 0; }
.fin-refined .btns-bottom { margin-top:12px; }
.fin-refined .vx-btn-primary { background:#286595; border-color:#286595; min-height:44px; font-size:13px; }
.fin-refined .fin-sync-output { margin:28px 0 0; padding:22px 0 0; border-top:1px solid #bbcbd2; background:none; }
.fin-response-title { font-size:23px; font-weight:400; letter-spacing:-.02em; margin:0 0 12px; }
.fin-refined .fin-sync-plot { min-height:360px; }
.fin-refined .fin-sync-output::before { font-size:11px; }
.fin-refined .fin-deepen { border-top:1px solid var(--fin-line); }
.fin-refined .fin-deepen > summary { font-size:13px; }
.fin-refined .fin-probe { margin:4px 0; }
.fin-refined .fin-probe[hidden],.fin-refined button[hidden],.fin-refined a[hidden],.fin-refined [hidden] { display:none; }
.fin-refined .fin-field-error { color:#a23c28; font-size:11px; line-height:1.5; margin:4px 0; }
.fin-refined [aria-invalid=true] { border-color:#a23c28; }
.fin-refined details[open] > :not(summary) { animation:fin-disclose 160ms ease-out; }
@keyframes fin-disclose { from { opacity:.4; transform:translateY(-2px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) {
 .fin-refined .fin-live-layout { gap:24px; grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr); }
 .fin-refined .fin-result-metrics { grid-template-columns:1fr 1fr; }
 .fin-refined .fin-live-inputs { padding-left:18px; }
 .fin-refined .fin-representation { gap:6px; }
}
@media(max-width:720px) {
 body.fin-refined .fin-experiment-grid { display:flex; flex-direction:column; }
 .fin-refined .fin-experiment-grid .fin-sync-output { width:100%; }
 body.fin-refined form.fin-parameters-wide,body.fin-refined .fin-parameters-wide form.fin-live-inputs { grid-template-columns:1fr; }
 .fin-refined .fin-model-notes { display:block; }
 .fin-refined .page-head { display:block; }
 .fin-refined .page-head p { margin:10px 0 0; }
 .fin-refined .fin-live-layout { display:flex; gap:22px; }
 .fin-refined .fin-live-case { display:block; }
 .fin-refined .fin-live-case > .fin-bench { position:static; background:none; padding:0; }
 .fin-refined .fin-live-case .fin-solid { height:auto; min-height:0; aspect-ratio:12/7; }
 .fin-refined .fin-live-inputs { padding:18px 0 0; border-left:0; border-top:1px solid var(--fin-line); }
 .fin-refined .fin-live-inputs input { scroll-margin-top:24px; }
 .fin-refined .fin-live-case .fin-bench-controls { display:block; }
 .fin-refined .fin-live-case #fin-exploration-note { display:block; }
 .fin-refined .fin-live-case .fin-particle-tools button { min-height:44px; font-size:11px; }
 .fin-refined .fin-live-case .fin-mode-tools button { min-height:44px; font-size:11px; padding:8px 10px; }
 .fin-refined .fin-live-case .fin-bench-heading h2 { font-size:24px; }
 .fin-refined .fin-result-metrics { grid-template-columns:1fr 1fr; }
 .fin-refined .fin-result-metrics dd { font-size:20px; }
 .fin-refined .fin-view-tools .fin-reset { flex:1; }
 .fin-refined .fin-scene-corner { font-size:7px; top:10px; left:10px; }
 .fin-refined .fin-journey { gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .fin-refined button { transition:none; }
 .fin-refined button:active { transform:none; }
 .fin-refined .fin-mode-tools button { transition:none; }
 .fin-refined details[open] > :not(summary) { animation:none; }
}
