/* Fixed desktop canvas, matching the approved presentation. */
.slide.is-showroom { width: min(100cqw, 100cqh * 16 / 9); height: min(100cqh, 100cqw * 9 / 16); --u: calc(100cqw / 1440); }
.is-showroom > .intro, .is-showroom > .scene, .is-showroom > .issue-annotations, .is-showroom > .issues, .is-showroom > .takeaway, .is-showroom > .illustrative, .is-showroom > #scene-description { display: none; }
.showroom-screen { position: absolute; inset: 0; }
.showroom-screen[hidden] { display: none; }
.showroom-intro { position: absolute; left: calc(70 * var(--u)); top: calc(35 * var(--u)); }
.showroom-intro h1 { margin: 0; font-size: calc(59 * var(--u)); line-height: 1.03; letter-spacing: -.045em; font-weight: 720; }
.showroom-intro h1 span { color: #c99be8; }
.showroom-intro p { margin: calc(17 * var(--u)) 0 0; color: #aeb8c5; font-size: calc(23 * var(--u)); letter-spacing: -.02em; }
.showroom-diagram { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.showroom-diagram text { font-family: inherit; letter-spacing: -.02em; }
.journey-rail, .journey-connection { fill: none; stroke-width: 1.7; }
.journey-rail { stroke: #293b48; }
.journey-connection { stroke: #72bdf0; stroke-dasharray: 1; }
.journey-node-panel { fill: url(#journey-glass); stroke: #45657b; stroke-width: 1.2; }
.journey-node-icon { fill: none; stroke: #afd7ee; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.journey-node-halo { fill: #6bbaf507; stroke: #609dcc18; stroke-width: 1; }
.journey-node-title { fill: #e5ecf2; font-size: 25px; font-weight: 550; }
.journey-node-owner { fill: #92a2b0; font-size: 18px; }
.is-active .journey-node-panel { fill: #272131; stroke: #c99be8; stroke-width: 1.8; }
.is-active .journey-node-icon { stroke: #dfc6f1; }
.is-active .journey-node-title { fill: #dfc6f1; }
.journey-node-check { display: none; }
.is-complete .journey-node-check { display: block; }
.journey-node-check circle { fill: #243e51; stroke: #6395b5; stroke-width: 1; }
.journey-node-check path { fill: none; stroke: #b9e0f7; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.journey-traveller-core { fill: #d9b6f3; }
.journey-traveller-halo { fill: #b58edc25; }
.journey-focus-pulse { fill: none; stroke: #cfa9ed; stroke-width: 1; }
.journey-feedback-path { fill: none; stroke: #bc95db; stroke-width: 1.3; stroke-dasharray: 1; }
.journey-feedback-label-bg { fill: #18141e; stroke: #604572; stroke-width: 1; }
.journey-feedback-label { fill: #d5b1ef; font-size: 15px; font-weight: 550; letter-spacing: .07em !important; }
.journey-feedback-dot { fill: #ebceff; }
.showroom-detail { position: absolute; left: calc(70 * var(--u)); right: calc(70 * var(--u)); top: calc(511 * var(--u)); height: calc(194 * var(--u)); display: grid; grid-template-columns: 1fr calc(451 * var(--u)); background: linear-gradient(115deg, #192027, #10151c 62%, #151b24); border: 1px solid #35434e; border-radius: calc(20 * var(--u)); box-shadow: 0 calc(18 * var(--u)) calc(70 * var(--u)) #0003; }
.showroom-explanation { position: relative; padding: calc(30 * var(--u)) calc(38 * var(--u)) calc(20 * var(--u)) calc(85 * var(--u)); }
.showroom-step-number { position: absolute; left: calc(28 * var(--u)); top: calc(33 * var(--u)); color: #c5a2e1; font-size: calc(19 * var(--u)); font-variant-numeric: tabular-nums; }
.showroom-caption { margin: 0; font-size: calc(28 * var(--u)); letter-spacing: -.03em; line-height: 1.2; font-weight: 580; }
.showroom-note { margin: calc(13 * var(--u)) 0 0; font-size: calc(21 * var(--u)); line-height: 1.45; letter-spacing: -.018em; color: #b0bdc9; }
.showroom-record { border-left: 1px solid #35434e; padding: calc(24 * var(--u)) calc(27 * var(--u)); }
.showroom-person { display: flex; gap: calc(12 * var(--u)); align-items: center; }
.showroom-avatar { display: grid; place-items: center; width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: 50%; background: #294259; color: #c5e4f7; font-size: calc(20 * var(--u)); border: 1px solid #557993; }
.showroom-person strong { font-size: calc(20 * var(--u)); font-weight: 550; }
.showroom-person p { margin: calc(3 * var(--u)) 0 0; font-size: calc(16 * var(--u)); color: #97a9b8; }
.showroom-record dl { margin: calc(20 * var(--u)) 0 0; display: grid; gap: calc(9 * var(--u)); }
.showroom-record dl div { display: grid; grid-template-columns: calc(48 * var(--u)) 1fr; gap: calc(12 * var(--u)); font-size: calc(16 * var(--u)); }
.showroom-record dt { color: #8f9fac; }
.showroom-record dd { margin: 0; color: #d3dfe9; }
.showroom-record [data-journey-state] { color: #d6b6ef; }
.showroom-footer { position: absolute; left: calc(70 * var(--u)); bottom: calc(26 * var(--u)); margin: 0; font-size: calc(14 * var(--u)); color: #8c9ba8; }
.showroom-replay { position: absolute; right: calc(71 * var(--u)); top: calc(176 * var(--u)); display: flex; align-items: center; gap: calc(8 * var(--u)); padding: calc(8 * var(--u)); background: none; border: 0; border-radius: calc(6 * var(--u)); color: #a3b1bd; font-size: calc(15 * var(--u)); cursor: pointer; }
.showroom-replay svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.showroom-replay:hover { color: #e5cfef; background: #c69aea0b; }
.showroom-replay:focus-visible { outline: 2px solid #c99be8; outline-offset: 3px; }
.is-feedback .journey-node-panel { stroke: #766384; }
.is-feedback .showroom-detail { border-color: #634c72; }
