:root {
  color-scheme: dark;
  --ink: #f1efe6;
  --muted: #9a9a8e;
  --faint: #68695f;
  --paper: #171713;
  --panel: #1d1e19;
  --panel-2: #23241f;
  --line: rgba(238, 236, 222, 0.14);
  --line-strong: rgba(238, 236, 222, 0.25);
  --signal: #ff7a45;
  --warning: #f3bf54;
  --safe: #9bc48a;
  --critical: #ff5c5c;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Iowan Old Style, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); }
button, input, select { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--warning); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 20; top: -100px; left: 10px; padding: 10px 12px; color: #111; background: var(--warning); }
.skip-link:focus-visible { top: 10px; }

.topbar { min-height: 74px; padding: 0 22px; display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); background: rgba(23, 23, 19, 0.96); }
.brand { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.brand-mark { width: 35px; height: 35px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; align-items: end; padding: 8px; border: 1px solid var(--line-strong); }
.brand-mark i { display: block; background: var(--signal); }
.brand-mark i:nth-child(1) { height: 40%; }.brand-mark i:nth-child(2) { height: 100%; }.brand-mark i:nth-child(3) { height: 66%; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 14px; letter-spacing: .01em; }
.brand small { margin-top: 2px; color: var(--faint); font: 8px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.topbar-centre { min-width: 0; }
.topbar-centre strong { display: block; margin-top: 4px; overflow: hidden; font-size: 12px; font-weight: 540; text-overflow: ellipsis; white-space: nowrap; }
.eyebrow { color: var(--faint); font: 8px/1.25 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.quiet-button, .icon-button { border: 1px solid var(--line); color: #b9b8ad; background: transparent; cursor: pointer; }
.quiet-button { min-height: 34px; padding: 0 11px; font-size: 10px; }
.quiet-button span { margin-left: 8px; color: var(--signal); font: 9px var(--mono); }
.icon-button { min-height: 30px; padding: 0 9px; font-size: 9px; }
.quiet-button:hover, .icon-button:hover { border-color: var(--line-strong); color: var(--ink); }
.training-pill { min-height: 34px; padding: 0 12px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(243, 191, 84, .25); color: #e7d095; font: 8px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.training-pill i, .status-dot::before { width: 6px; height: 6px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 12px rgba(243, 191, 84, .45); }

.workspace { min-height: calc(100vh - 122px); display: grid; grid-template-columns: minmax(230px, 17vw) minmax(560px, 1fr) minmax(320px, 25vw); }
.scenario-rail, .decision-deck { min-width: 0; padding: 22px; background: #1a1b17; }
.scenario-rail { border-right: 1px solid var(--line); }
.decision-deck { border-left: 1px solid var(--line); }
.rail-head, .deck-head, .panel-title, .activity-preview > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.status-dot { display: inline-flex; align-items: center; gap: 7px; color: #b5b6ac; font: 8px var(--mono); text-transform: uppercase; }
.status-dot::before { content: ""; display: block; background: var(--safe); box-shadow: none; }
.status-dot.running::before { background: var(--signal); box-shadow: 0 0 10px rgba(255, 122, 69, .55); animation: pulse 1.4s ease-in-out infinite; }
.status-dot.review::before { background: var(--warning); }
.status-dot.complete::before { background: var(--safe); }
@keyframes pulse { 50% { opacity: .35; transform: scale(.7); } }
.clock-card { margin: 23px 0 25px; padding: 18px 0 17px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.clock-card span, .clock-card strong, .clock-card small { display: block; }
.clock-card span, .clock-card small { color: var(--faint); font: 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.clock-card strong { margin: 10px 0 8px; font: 400 34px/1 var(--mono); letter-spacing: -.06em; }
.timeline { min-height: 310px; margin: 0; padding: 0; list-style: none; }
.timeline li { position: relative; padding: 0 0 25px 28px; opacity: .42; }
.timeline li::before { content: ""; position: absolute; top: 3px; left: 3px; width: 7px; height: 7px; border: 1px solid var(--faint); border-radius: 50%; background: var(--panel); }
.timeline li::after { content: ""; position: absolute; top: 13px; bottom: 3px; left: 7px; width: 1px; background: var(--line); }
.timeline li:last-child::after { display: none; }
.timeline li.active { opacity: 1; }
.timeline li.active::before { border-color: var(--signal); background: var(--signal); box-shadow: 0 0 12px rgba(255, 122, 69, .5); }
.timeline li.critical::before { border-color: var(--critical); background: var(--critical); }
.timeline time { display: block; margin-bottom: 6px; color: var(--signal); font: 8px var(--mono); }
.timeline strong { display: block; margin-bottom: 5px; font-size: 11px; }
.timeline p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.rail-actions { display: grid; gap: 8px; }
.primary-button, .secondary-button { min-height: 46px; padding: 0 14px; border-radius: 0; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.primary-button { border: 1px solid var(--signal); color: #171713; background: var(--signal); font-size: 11px; font-weight: 700; }
.secondary-button { border: 1px solid var(--line-strong); color: #d8d7cd; background: transparent; font-size: 10px; }
.primary-button:hover:not(:disabled), .secondary-button:hover:not(:disabled) { transform: translateY(-1px); }
.secondary-button:hover:not(:disabled) { border-color: rgba(255, 122, 69, .55); }
button:disabled { cursor: not-allowed; opacity: .38; }
.boundary-note { margin: 15px 0 0; color: #6d6e65; font: 8px/1.55 var(--mono); }

.plan-stage { min-width: 0; padding: clamp(22px, 3vw, 42px); background: radial-gradient(circle at 50% 35%, rgba(255, 122, 69, .035), transparent 35%), #151611; }
.stage-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.stage-head h1 { max-width: 620px; margin: 10px 0 0; font: 400 clamp(28px, 3vw, 48px)/.98 var(--serif); letter-spacing: -.04em; text-wrap: balance; }
.plan-meta { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.plan-meta span { padding: 7px 8px; border: 1px solid var(--line); color: var(--muted); font: 8px var(--mono); }
.assumption-strip { max-width: 980px; margin: 18px auto 0; padding: 9px 11px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); color: var(--faint); font: 7px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.assumption-strip span { display: inline-flex; align-items: center; gap: 6px; }.assumption-strip i { width: 5px; height: 5px; border-radius: 50%; background: var(--safe); }.assumption-strip strong { margin-left: auto; color: #b9a77c; font-weight: 500; }
.floor-wrap { position: relative; max-width: 980px; margin: 30px auto 20px; border: 1px solid var(--line); background: #11120f; box-shadow: 0 34px 80px rgba(0,0,0,.2); }
.floor-plan { display: block; width: 100%; height: auto; }
.walls path { fill: none; stroke: rgba(239,237,222,.48); stroke-width: 3; stroke-linecap: square; }
.fire-compartments path { fill: none; stroke: rgba(255,122,69,.3); stroke-width: 6; stroke-dasharray: 2 5; }
.doors path { fill: none; stroke: rgba(239,237,222,.42); stroke-width: 1.5; }
.room-labels text, .north text { fill: #62645d; font: 10px var(--mono); letter-spacing: .08em; }
.zone-fill rect { fill: rgba(255,255,255,.018); }
.desks path { fill: rgba(238,236,222,.055); stroke: rgba(238,236,222,.12); }
.route { opacity: .12; transition: opacity .3s ease; }
.route.active { opacity: 1; }
.route path { fill: none; stroke: var(--safe); stroke-width: 4; stroke-dasharray: 9 9; }
.route.active path { animation: route-flow 1.25s linear infinite; }
.route circle { fill: var(--safe); }
.route-b.blocked path { stroke: var(--critical); }.route-b.blocked circle { fill: var(--critical); }
.stair rect { fill: rgba(155,196,138,.06); stroke: rgba(155,196,138,.5); }.stair text { fill: var(--safe); font: 11px var(--mono); }
.stair-b.blocked rect { fill: rgba(255,92,92,.08); stroke: var(--critical); }.stair-b.blocked text { fill: var(--critical); }
.hazard { opacity: 0; transition: opacity .3s ease; }.hazard.active { opacity: 1; }.hazard.active circle:first-child { animation: hazard-breathe 1.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }.hazard circle:first-child { fill: rgba(255,122,69,.18); stroke: var(--signal); }.hazard circle:last-child { fill: var(--signal); }
.assistance { opacity: .2; transition: opacity .3s ease; }.assistance.active { opacity: 1; }.assistance.resolved circle { stroke: var(--safe); fill: rgba(155,196,138,.1); }.assistance circle { fill: rgba(243,191,84,.1); stroke: var(--warning); }.assistance text { fill: var(--warning); font: 10px var(--mono); }.assistance.resolved text { fill: var(--safe); }
.plan-symbols rect, .plan-symbols circle { fill: #11120f; stroke: rgba(239,237,222,.65); }.plan-symbols text { fill: #d9d8ce; font: 10px var(--mono); }.plan-symbols .pwd rect { stroke: var(--warning); }.plan-symbols .pwd text { fill: var(--warning); }
.dimensions path { fill: none; stroke: rgba(239,237,222,.24); stroke-width: 1; }.dimensions text { fill: #68695f; font: 8px var(--mono); letter-spacing: .08em; }
.north path { fill: #6b6d65; }
.drawing-title-block { display: grid; grid-template-columns: 1.5fr 2fr repeat(3, .72fr); border-top: 1px solid var(--line-strong); background: #151611; }.drawing-title-block > div { min-width: 0; padding: 8px 10px; border-left: 1px solid var(--line); }.drawing-title-block > div:first-child { border-left: 0; }.drawing-title-block span, .drawing-title-block strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.drawing-title-block span { color: var(--faint); font: 6px var(--mono); letter-spacing: .08em; text-transform: uppercase; }.drawing-title-block strong { margin-top: 4px; font: 7px var(--mono); font-weight: 500; }
.map-key { position: relative; padding: 10px 12px; display: flex; flex-wrap: wrap; gap: 15px; border-top: 1px solid var(--line); background: #11120f; }
.map-key span { display: inline-flex; align-items: center; gap: 6px; color: #777970; font: 7px var(--mono); text-transform: uppercase; }
.map-key i { width: 14px; height: 2px; background: var(--safe); }.map-key .key-signal { background: var(--signal); }.map-key .key-assist { height: 8px; border: 1px solid var(--warning); border-radius: 50%; background: transparent; }
.map-key b { width: 15px; height: 15px; display: inline-grid; place-items: center; border: 1px solid var(--line-strong); color: #bdbcb1; font: 7px var(--mono); }
.zone-picker { position: absolute; top: 15px; left: 15px; display: flex; align-items: center; gap: 5px; padding: 6px; border: 1px solid var(--line); background: rgba(17,18,15,.9); backdrop-filter: blur(10px); }
.zone-picker span { margin: 0 5px; color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }
.zone-picker button { min-height: 28px; padding: 0 8px; border: 1px solid transparent; color: #8f9087; background: transparent; font: 7px var(--mono); cursor: pointer; }
.zone-picker button:hover, .zone-picker button.active { border-color: rgba(255,122,69,.45); color: var(--ink); background: rgba(255,122,69,.07); }
.map-callout { position: absolute; top: 16px; right: 16px; width: 215px; padding: 14px; border: 1px solid var(--line); background: rgba(20,21,17,.92); backdrop-filter: blur(12px); }
.map-callout span { color: var(--signal); font: 7px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.map-callout strong { display: block; margin: 8px 0 6px; font-size: 11px; }.map-callout p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.crew-strip { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.crew-member { min-width: 0; padding: 12px; border-left: 1px solid var(--line); }.crew-member:first-child { border-left: 0; }
.crew-member span, .crew-member strong, .crew-member small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crew-member span { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }.crew-member strong { margin: 7px 0 4px; font-size: 10px; }.crew-member small { color: var(--safe); font-size: 8px; }.crew-member.missing small { color: var(--warning); }

.dossier { max-width: 980px; margin: 22px auto 0; border: 1px solid var(--line); background: #171813; }
.dossier-head { min-height: 70px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }.dossier-head h2 { margin: 6px 0 0; font: 400 20px/1 var(--serif); }
.dossier-tabs { display: flex; gap: 3px; }.dossier-tabs button { min-height: 32px; padding: 0 9px; border: 1px solid transparent; color: var(--faint); background: transparent; font: 7px var(--mono); text-transform: uppercase; cursor: pointer; }.dossier-tabs button:hover, .dossier-tabs button.active { border-color: rgba(255,122,69,.42); color: var(--ink); background: rgba(255,122,69,.06); }
.dossier-content { min-height: 240px; animation: dossier-in .28s cubic-bezier(.22,1,.36,1); }
.site-context-grid { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 260px; }
.site-sketch { position: relative; min-height: 260px; overflow: hidden; border-right: 1px solid var(--line); background: radial-gradient(circle at 50% 50%, rgba(255,122,69,.08), transparent 28%), repeating-linear-gradient(0deg, transparent 0 23px, rgba(255,255,255,.025) 24px), repeating-linear-gradient(90deg, transparent 0 23px, rgba(255,255,255,.025) 24px); }
.site-building { position: absolute; z-index: 2; top: 68px; left: 50%; width: 150px; height: 106px; padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,122,69,.6); background: #1b1c17; transform: translateX(-50%); }.site-building span { color: var(--signal); font: 7px var(--mono); text-transform: uppercase; }.site-building strong { margin-top: 6px; font-size: 11px; }.site-building i { position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.05); }
.site-neighbour { position: absolute; padding: 9px; border: 1px solid var(--line); color: var(--faint); background: rgba(22,23,18,.8); font: 7px var(--mono); text-transform: uppercase; }.site-neighbour.retail { top: 91px; left: 14px; }.site-neighbour.office { top: 91px; right: 14px; }
.site-road { position: absolute; z-index: 2; left: 12px; right: 12px; padding: 7px; border: 1px dashed rgba(255,255,255,.13); color: #74766d; font: 6px var(--mono); letter-spacing: .06em; text-align: center; text-transform: uppercase; }.north-road { top: 12px; }.south-road { bottom: 12px; color: #b9a77c; }.site-sketch svg { position: absolute; inset: 0; width: 100%; height: 100%; }.site-sketch svg path { fill: none; stroke: var(--safe); stroke-width: 2; stroke-dasharray: 6 6; animation: route-flow 1.25s linear infinite; }.site-sketch svg circle { fill: var(--safe); }
.context-ledger { display: grid; grid-template-columns: 1fr 1fr; }.context-ledger article { min-height: 130px; padding: 16px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }.context-ledger article:nth-child(-n+2) { border-top: 0; }.context-ledger span, .context-ledger strong { display: block; }.context-ledger span { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }.context-ledger strong { margin: 10px 0 6px; font-size: 10px; }.context-ledger p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.room-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.room-profile { min-height: 132px; padding: 15px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }.room-profile:nth-child(3n) { border-right: 0; }.room-profile:hover, .room-profile.active { background: rgba(255,122,69,.055); box-shadow: inset 2px 0 var(--signal); }.room-profile span, .room-profile strong, .room-profile small { display: block; }.room-profile span { color: var(--signal); font: 7px var(--mono); text-transform: uppercase; }.room-profile strong { margin: 9px 0 5px; font-size: 10px; }.room-profile small { color: var(--faint); font: 7px var(--mono); }.room-profile p { margin: 9px 0 0; color: var(--muted); font-size: 8px; }
.equipment-head { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }.equipment-head p { margin: 0; color: var(--muted); font-size: 8px; }.equipment-head strong { color: var(--warning); font: 7px var(--mono); text-transform: uppercase; }
.equipment-table article { min-height: 54px; padding: 10px 14px; display: grid; grid-template-columns: 82px 1.4fr .7fr 1fr; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }.equipment-table article:last-child { border-bottom: 0; }.equipment-table code { color: var(--signal); font: 8px var(--mono); }.equipment-table strong, .equipment-table span { display: block; }.equipment-table strong { font-size: 8px; }.equipment-table span { margin-bottom: 4px; color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }
.people-layout { display: grid; grid-template-columns: .9fr 1.1fr; }.role-matrix { display: grid; grid-template-columns: 1fr 1fr; border-right: 1px solid var(--line); }.role-matrix article { min-height: 78px; padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.role-matrix article:nth-child(even) { border-right: 0; }.role-matrix span, .role-matrix strong, .role-matrix small { display: block; }.role-matrix span { color: var(--faint); font: 6px var(--mono); text-transform: uppercase; }.role-matrix strong { margin: 7px 0 4px; font-size: 9px; }.role-matrix small { color: var(--safe); font-size: 7px; }
.signal-console { padding: 16px; }.signal-console h3 { margin: 7px 0 14px; font: 400 19px var(--serif); }.signal-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.signal-controls select { min-width: 0; min-height: 38px; padding: 0 8px; border: 1px solid var(--line); color: var(--ink); background: #11120f; font-size: 8px; }.signal-controls button { grid-column: 1 / -1; min-height: 38px; }.signal-list { max-height: 104px; margin: 12px 0 0; padding: 0; overflow: auto; list-style: none; }.signal-list li { padding: 7px 0; display: grid; grid-template-columns: 55px 1fr auto; gap: 8px; border-top: 1px solid var(--line); font-size: 8px; }.signal-list time { color: var(--faint); font: 7px var(--mono); }.signal-list span { color: var(--warning); text-transform: capitalize; }.signal-list .empty-signal { display: block; color: var(--muted); }.privacy-line { margin: 9px 0 0; color: var(--faint); font: 7px var(--mono); }
.lesson-timeline article { min-height: 74px; padding: 12px 15px; display: grid; grid-template-columns: 84px 1fr 30px; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); }.lesson-timeline article:last-child { border-bottom: 0; }.lesson-timeline time { color: var(--faint); font: 7px var(--mono); }.lesson-timeline span, .lesson-timeline strong { display: block; }.lesson-timeline span { color: var(--signal); font: 6px var(--mono); text-transform: uppercase; }.lesson-timeline strong { margin-top: 6px; font-size: 9px; }.lesson-timeline p { margin: 5px 0 0; color: var(--muted); font-size: 8px; }.lesson-timeline b { color: #45473f; font: 20px var(--mono); }

@keyframes route-flow { to { stroke-dashoffset: -36; } }
@keyframes hazard-breathe { 50% { opacity: .45; transform: scale(1.55); } }
@keyframes dossier-in { from { opacity: .25; transform: translateY(5px); } }

.prompt-card { min-height: 330px; margin-top: 25px; padding: 21px; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--panel); }
.prompt-number { color: var(--signal); font: 9px var(--mono); }
.prompt-card > div { margin: auto 0; }
.prompt-card small { color: var(--faint); font: 8px var(--mono); text-transform: uppercase; }.prompt-card h2 { margin: 10px 0 12px; font: 400 30px/1 var(--serif); letter-spacing: -.03em; }.prompt-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.actions-panel, .coverage-panel, .report-panel { margin-top: 16px; border-top: 1px solid var(--line); }
.panel-title { padding: 13px 0; }.panel-title span { font-size: 10px; font-weight: 700; }.panel-title small { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }
.action-list { display: grid; gap: 7px; }
.action-button { width: 100%; min-height: 58px; padding: 10px 11px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; border: 1px solid var(--line); color: #d8d7cd; background: transparent; text-align: left; cursor: pointer; }
.action-button:hover:not(:disabled) { border-color: rgba(255,122,69,.5); }.action-button strong, .action-button small { display: block; }.action-button strong { font-size: 9px; }.action-button small { margin-top: 5px; color: var(--faint); font-size: 8px; }.action-button > span { color: var(--signal); font: 8px var(--mono); }.action-button.recorded { border-color: rgba(155,196,138,.3); }.action-button.recorded > span { color: var(--safe); }
.coverage-panel { padding: 14px 0; }.coverage-panel strong { display: block; margin-bottom: 7px; font-size: 10px; }.coverage-panel p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }.coverage-panel.gap strong { color: var(--warning); }.coverage-panel.clear strong { color: var(--safe); }
.report-button { width: 100%; margin-top: 16px; }
.report-panel { padding: 16px 0 2px; }.report-panel h3 { margin: 8px 0 6px; font: 400 24px var(--serif); }.report-panel p { margin: 0 0 12px; color: var(--muted); font-size: 9px; line-height: 1.55; }.report-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 14px 0; border: 1px solid var(--line); }.report-stats div { min-width: 0; padding: 10px; border-left: 1px solid var(--line); }.report-stats div:first-child { border-left: 0; }.report-stats strong, .report-stats span { display: block; }.report-stats strong { font: 18px var(--mono); }.report-stats span { margin-top: 4px; overflow: hidden; color: var(--faint); font: 6px var(--mono); text-overflow: ellipsis; text-transform: uppercase; }.approval-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.approval-row button { min-height: 42px; }
.activity-preview { margin-top: 16px; padding: 12px; border: 1px solid var(--line); }.activity-preview strong { font-size: 9px; }.activity-preview small { display: block; margin-top: 8px; color: var(--faint); font: 8px/1.4 var(--mono); }.activity-light { width: 6px; height: 6px; border-radius: 50%; background: var(--safe); }

footer { min-height: 48px; padding: 10px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); color: var(--faint); font-size: 9px; }
footer p { margin: 0; } footer strong { color: #b9a77c; } footer a { color: #adada3; text-underline-offset: 3px; }
.tool-dialog { width: min(760px, calc(100vw - 30px)); max-height: 84vh; padding: 0; border: 1px solid var(--line-strong); color: var(--ink); background: #1a1b17; box-shadow: 0 40px 120px rgba(0,0,0,.65); }
.tool-dialog::backdrop { background: rgba(0,0,0,.66); backdrop-filter: blur(4px); }
.dialog-head { padding: 22px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }.dialog-head h2 { margin: 8px 0 0; font: 400 28px var(--serif); }.dialog-intro { margin: 0; padding: 16px 22px; color: var(--muted); font-size: 10px; line-height: 1.6; border-bottom: 1px solid var(--line); }
.rehearsal-row { padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); background: rgba(255,122,69,.035); }.rehearsal-row strong, .rehearsal-row small { display: block; }.rehearsal-row strong { font-size: 10px; }.rehearsal-row small { margin-top: 5px; color: var(--faint); font: 8px/1.4 var(--mono); }.rehearsal-row button { min-height: 38px; white-space: nowrap; }
.tool-list { display: grid; grid-template-columns: 1fr 1fr; }.tool-item { padding: 14px 18px; border-bottom: 1px solid var(--line); }.tool-item:nth-child(odd) { border-right: 1px solid var(--line); }.tool-item code { color: var(--signal); font: 9px var(--mono); }.tool-item p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }.tool-log { padding: 18px 22px 22px; }.tool-log pre { max-height: 150px; margin: 10px 0 0; padding: 12px; overflow: auto; border: 1px solid var(--line); color: #b9c9ae; background: #11120f; font: 8px/1.55 var(--mono); white-space: pre-wrap; }

@media (max-width: 1180px) {
  .workspace { grid-template-columns: 220px minmax(500px, 1fr); }
  .decision-deck { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border-top: 1px solid var(--line); border-left: 0; }
  .deck-head, .activity-preview { grid-column: 1 / -1; }.prompt-card { margin-top: 0; }.actions-panel { margin-top: 0; }.report-button { align-self: end; }.coverage-panel, .report-panel { align-self: start; }
}
@media (max-width: 760px) {
  .topbar { padding: 12px 15px; grid-template-columns: 1fr auto; }.topbar-centre { display: none; }.topbar-actions .quiet-button { display: block; }.topbar-actions { gap: 5px; }.training-pill { padding: 0 8px; }
  .workspace { display: block; }.scenario-rail, .decision-deck, .plan-stage { padding: 18px 15px; border: 0; border-bottom: 1px solid var(--line); }
  .timeline { min-height: 0; }.timeline li { padding-bottom: 18px; }.plan-stage { overflow: hidden; }.stage-head { display: block; }.plan-meta { margin-top: 15px; justify-content: flex-start; }
  .stage-head h1 { font-size: 34px; }.floor-wrap { width: 100%; max-width: none; margin-bottom: 18px; }.map-callout { position: relative; top: auto; right: auto; width: auto; border-width: 1px 0 0; }.zone-picker { position: relative; top: auto; left: auto; max-width: none; flex-wrap: wrap; border-width: 1px 0 0; }.drawing-title-block { grid-template-columns: 1fr 1fr; }.drawing-title-block > div:nth-child(odd) { border-left: 0; }
  .assumption-strip { overflow-x: auto; white-space: nowrap; }.assumption-strip strong { margin-left: 0; }
  .crew-strip { grid-template-columns: 1fr 1fr; }.crew-member { border-top: 1px solid var(--line); }.decision-deck { display: block; }.prompt-card { min-height: 280px; margin-top: 18px; }.actions-panel { margin-top: 16px; }
  .dossier-head { align-items: flex-start; flex-direction: column; }.dossier-tabs { width: 100%; overflow-x: auto; }.site-context-grid, .people-layout { grid-template-columns: 1fr; }.site-sketch, .role-matrix { border-right: 0; border-bottom: 1px solid var(--line); }.context-ledger, .room-grid { grid-template-columns: 1fr 1fr; }.room-profile:nth-child(3n) { border-right: 1px solid var(--line); }.room-profile:nth-child(even) { border-right: 0; }.equipment-table article { grid-template-columns: 72px 1fr; }.equipment-table article > div:nth-child(n+3) { padding-top: 7px; }.lesson-timeline article { grid-template-columns: 72px 1fr; }.lesson-timeline b { display: none; }
  footer { display: block; padding: 16px 15px; line-height: 1.5; } footer a { display: inline-block; margin-top: 8px; }.tool-list { grid-template-columns: 1fr; }.tool-item:nth-child(odd) { border-right: 0; }.rehearsal-row { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }

/* Incident Commander redesign */
:root {
  --ink: #f7f3e9;
  --muted: #aaa99f;
  --faint: #73736b;
  --paper: #0d0e0c;
  --panel: #151612;
  --panel-2: #1a1c17;
  --line: rgba(247, 243, 233, .12);
  --line-strong: rgba(247, 243, 233, .22);
  --signal: #ff6b35;
  --warning: #f6c85f;
  --safe: #98d887;
  --critical: #ff6464;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { background: #090a08; }
body {
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 107, 53, .07), transparent 30rem),
    var(--paper);
  font-size: 14px;
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { color: var(--faint); font: 700 10px/1.2 var(--sans); letter-spacing: .13em; text-transform: uppercase; }

.topbar {
  position: sticky;
  z-index: 12;
  top: 0;
  min-height: 66px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(13, 14, 12, .88);
  backdrop-filter: blur(18px);
}
.brand { gap: 11px; }
.brand-mark { width: 30px; height: 30px; border-radius: 8px; background: var(--signal); transform: none; }
.brand-mark i { display: none; }
.brand-mark::before { content: "M"; color: #160c07; font-weight: 900; font-size: 15px; }
.brand strong { font-size: 15px; letter-spacing: -.01em; }
.brand small { display: none; }
.topbar-centre { display: flex; align-items: baseline; gap: 9px; color: var(--muted); }
.topbar-centre strong { color: var(--ink); font-size: 13px; }
.topbar-centre span { font-size: 12px; }
.topbar-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.quiet-button, .icon-button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
  font-size: 12px;
  cursor: pointer;
}
.quiet-button:hover, .icon-button:hover { color: var(--ink); border-color: var(--line-strong); background: rgba(255,255,255,.05); }
.training-pill { min-height: 34px; padding: 0 11px; border-radius: 8px; font-size: 11px; }

.workspace {
  min-height: calc(100vh - 66px);
  display: grid;
  grid-template-columns: minmax(660px, 1fr) 410px;
  grid-template-rows: auto 1fr;
  max-width: 1760px;
  margin: 0 auto;
  border-inline: 1px solid var(--line);
}
.scenario-rail {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: 16px 30px;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 22px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.012);
}
.rail-head { padding: 0; display: flex; align-items: center; gap: 10px; border: 0; white-space: nowrap; }
.rail-head > div:nth-child(2) { display: grid; gap: 5px; }
.rail-head strong { font-size: 13px; }
.responder-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,107,53,.32); border-radius: 12px; background: rgba(255,107,53,.08); }
.responder-mark svg { width: 28px; height: 28px; fill: none; stroke: var(--signal); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.status-dot { margin-left: 4px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; }
.clock-card { min-height: 0; padding: 0 18px; display: flex; align-items: baseline; gap: 8px; border: 0; border-left: 1px solid var(--line); }
.clock-card strong { font: 700 24px/1 var(--mono); letter-spacing: -.04em; }
.clock-card span { color: var(--faint); font-size: 10px; text-transform: uppercase; }
.clock-card small { display: none; }
.timeline { display: none; }
.timeline::before { display: none; }
.timeline li { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); opacity: .45; }
.timeline li::before { display: none; }
.timeline li.active { border-color: rgba(255,107,53,.4); background: rgba(255,107,53,.07); opacity: 1; }
.timeline time, .timeline strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.timeline time { color: var(--signal); font: 700 9px var(--mono); }
.timeline strong { margin-top: 5px; font-size: 11px; }
.timeline p { display: none; }
.rail-actions { margin: 0; display: flex; gap: 7px; }
.rail-actions button { min-height: 40px; white-space: nowrap; }
.rail-actions .secondary-button { width: auto; }
.boundary-note { display: none; }

.plan-stage {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  padding: 34px 30px 30px;
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--line);
}
.stage-head { max-width: none; margin: 0 0 24px; align-items: end; }
.stage-head h1 { max-width: 720px; margin: 9px 0 0; font: 800 clamp(38px, 4vw, 64px)/.96 var(--sans); letter-spacing: -.055em; }
.stage-copy { margin: 13px 0 0; color: var(--muted); font-size: 15px; }
.plan-meta { padding-bottom: 4px; gap: 7px; }
.plan-meta span { min-height: 31px; padding: 0 10px; display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: 11px; }
.assumption-strip { display: none; }
.floor-wrap { max-width: none; margin: 0; overflow: hidden; border-color: var(--line-strong); border-radius: 16px; background: #11120f; box-shadow: 0 24px 70px rgba(0,0,0,.28); user-select: none; }
.floor-plan { display: block; width: 100%; height: auto; min-height: 390px; max-height: 650px; }
.drawing-title-block { display: grid; }
.map-key { display: flex; }
.zone-picker { top: 14px; left: 14px; padding: 5px; border-radius: 10px; background: rgba(13,14,12,.88); }
.zone-picker span { display: none; }
.zone-picker button { min-height: 32px; border-radius: 7px; font: 700 9px var(--sans); }
.map-callout { top: 14px; right: 14px; width: 230px; padding: 14px; border-radius: 11px; }
.map-callout span { font: 700 9px var(--sans); }
.map-callout strong { margin: 7px 0 5px; font-size: 13px; }
.map-callout p { font-size: 11px; line-height: 1.45; }
.crew-strip { max-width: none; margin: 13px 0 0; gap: 7px; border: 0; }
.crew-member { padding: 11px 12px; border: 1px solid var(--line) !important; border-radius: 9px; background: rgba(255,255,255,.016); }
.crew-member span { font: 700 9px var(--sans); }
.crew-member strong { margin: 7px 0 4px; font-size: 11px; }
.crew-member small { font-size: 10px; }

.decision-deck {
  position: sticky;
  top: 66px;
  grid-column: 2;
  grid-row: 1 / span 2;
  height: calc(100vh - 66px);
  min-height: 620px;
  padding: 20px;
  overflow: auto;
  border: 0;
  background: #11120f;
}
.deck-head { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 9px; }
.deck-head > div { display: grid; gap: 4px; }
.deck-head strong { font-size: 15px; }
.runtime-connection { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; }
.runtime-connection i { width: 7px; height: 7px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 3px rgba(246,200,95,.09); }
.runtime-connection.live i { background: var(--safe); box-shadow: 0 0 0 3px rgba(152,216,135,.1); }

.commander-card { margin-top: 18px; padding: 14px; border: 1px solid var(--line-strong); border-radius: 16px; background: linear-gradient(145deg, rgba(255,107,53,.08), rgba(255,255,255,.015) 55%); }
.commander-avatar { width: 34px; height: 34px; display: grid; place-items: center; float: left; margin-right: 10px; border-radius: 10px; color: #130b07; background: var(--signal); font-weight: 900; font-size: 12px; }
.agent-message { min-height: 58px; }
.agent-message span { color: var(--signal); font-size: 11px; font-weight: 800; }
.agent-message p { margin: 5px 0 0; color: var(--ink); font-size: 13px; line-height: 1.45; }
.specialist-rail { clear: both; margin-top: 13px; padding-top: 11px; display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; border-top: 1px solid var(--line); }
.specialist-rail span { min-width: 0; padding: 7px 4px; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; color: var(--faint); font-size: 9px; text-align: center; text-overflow: ellipsis; }
.specialist-rail span.active { border-color: rgba(152,216,135,.4); color: var(--safe); background: rgba(152,216,135,.06); }
.quick-actions { margin-top: 11px; display: flex; gap: 5px; }
.quick-actions button { flex: 1; min-height: 34px; padding: 0 6px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: rgba(255,255,255,.02); font-size: 10px; cursor: pointer; }
.quick-actions button:hover { color: var(--ink); border-color: rgba(255,107,53,.45); }
.agent-composer { margin-top: 8px; display: grid; grid-template-columns: 1fr 38px; gap: 6px; }
.agent-composer input { min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: #0c0d0b; outline: 0; }
.agent-composer input:focus { border-color: rgba(255,107,53,.6); box-shadow: 0 0 0 3px rgba(255,107,53,.08); }
.agent-composer button { border: 0; border-radius: 10px; color: #160c07; background: var(--signal); font-size: 20px; font-weight: 800; cursor: pointer; }

.prompt-card { min-height: 0; margin-top: 12px; padding: 13px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; border-radius: 12px; background: rgba(255,255,255,.018); }
.prompt-card .prompt-number, .prompt-card small, .prompt-card p { display: none; }
.prompt-card > div { margin: 0; }
.prompt-card h2 { margin: 0; font: 750 14px/1.25 var(--sans); letter-spacing: -.01em; }
.prompt-card button { min-height: 36px; white-space: nowrap; }
.actions-panel, .coverage-panel, .report-panel { margin-top: 12px; }
.panel-title { padding: 10px 0; display: flex; justify-content: space-between; }
.action-list { gap: 6px; }
.action-button { min-height: 50px; border-radius: 10px; }
.action-button strong { font-size: 11px; }
.action-button small { font-size: 10px; }
.coverage-panel { padding: 11px 0; }
.coverage-panel strong { font-size: 12px; }
.coverage-panel p { font-size: 11px; }
.report-button { min-height: 44px; margin-top: 12px; border-radius: 10px; }
.report-panel h3 { font: 750 18px var(--sans); }
.report-panel p { font-size: 11px; }

.runtime-trace { margin-top: 14px; padding: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #0c0d0b; }
.runtime-trace summary { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.runtime-trace summary::-webkit-details-marker { display: none; }
.runtime-trace summary span { font-size: 11px; font-weight: 800; }
.runtime-trace summary small { color: var(--safe); font-size: 9px; }
.runtime-events { border-top: 1px solid var(--line); }
.runtime-event { min-height: 45px; padding: 8px 11px; display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center; border-bottom: 1px solid var(--line); }
.runtime-event i { width: 6px; height: 6px; border-radius: 50%; background: var(--safe); }
.runtime-event.human i { background: var(--warning); }
.runtime-event strong, .runtime-event span { display: block; }
.runtime-event strong { font: 700 10px var(--mono); }
.runtime-event span { margin-top: 3px; overflow: hidden; color: var(--faint); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.runtime-event time { color: var(--faint); font: 9px var(--mono); }
.runtime-trace > #lastActivity { display: block; padding: 9px 11px; overflow: hidden; color: var(--faint); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.context-dialog, .tool-dialog { width: min(920px, calc(100vw - 28px)); max-height: 88vh; padding: 0; overflow: auto; border: 1px solid var(--line-strong); border-radius: 18px; color: var(--ink); background: #141510; box-shadow: 0 40px 120px rgba(0,0,0,.72); }
.context-dialog::backdrop, .tool-dialog::backdrop { background: rgba(0,0,0,.7); backdrop-filter: blur(7px); }
.context-dialog .dossier { max-width: none; margin: 0; border: 0; background: transparent; }
.dossier-head { position: sticky; z-index: 2; top: 0; min-height: 76px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: rgba(20,21,16,.94); backdrop-filter: blur(16px); }
.dossier-head h2 { margin: 5px 0 0; font: 750 20px var(--sans); }
.dossier-tabs button { min-height: 34px; border-radius: 7px; font: 700 9px var(--sans); }
.site-context-grid, .people-layout { min-height: 340px; }
.context-ledger strong, .room-profile strong, .equipment-table strong, .role-matrix strong, .lesson-timeline strong { font-size: 11px; }
.context-ledger p, .room-profile p, .equipment-head p, .lesson-timeline p { font-size: 10px; }
.dialog-head h2 { font: 750 24px var(--sans); }
.dialog-intro { font-size: 12px; }
.tool-item code { font-size: 11px; }
.tool-item p { font-size: 10px; }

footer { padding: 13px 28px; background: #090a08; font-size: 10px; }

@media (max-width: 1280px) {
  .workspace { grid-template-columns: minmax(560px, 1fr) 380px; }
  .scenario-rail { grid-template-columns: auto auto 1fr; gap: 14px; }
  .timeline { display: none; }
  .stage-head h1 { font-size: 48px; }
}

@media (max-width: 940px) {
  .topbar { grid-template-columns: 1fr auto; padding: 0 16px; }
  .topbar-centre { display: none; }
  .topbar-actions .quiet-button { display: inline-flex; align-items: center; }
  .workspace { display: flex; flex-direction: column; }
  .scenario-rail { order: 1; padding: 13px 16px; grid-template-columns: 1fr auto; border-right: 0; }
  .clock-card { display: none; }
  .rail-actions { grid-column: 1 / -1; }
  .rail-actions button { flex: 1; }
  .plan-stage { order: 2; padding: 26px 16px; border-right: 0; }
  .decision-deck { position: relative; top: auto; order: 3; width: 100%; height: auto; min-height: 0; padding: 18px 16px; border-top: 1px solid var(--line); }
  .stage-head { display: block; }
  .stage-head h1 { font-size: clamp(38px, 10vw, 52px); }
  .plan-meta { margin-top: 16px; }
  .crew-strip { grid-template-columns: repeat(2,1fr); }
  .floor-plan { min-height: 0; }
  .map-callout { position: relative; top: auto; right: auto; width: auto; border-width: 1px 0 0; border-radius: 0; }
  footer { display: block; }
}

@media (max-width: 560px) {
  .brand-mark { width: 28px; height: 28px; }
  .training-pill { display: none; }
  .topbar-actions .quiet-button { padding: 0 8px; font-size: 10px; }
  .responder-mark { width: 38px; height: 38px; }
  .rail-head .status-dot { display: none; }
  .stage-head h1 { font-size: 41px; }
  .stage-copy { font-size: 13px; }
  .plan-meta { display: grid; grid-template-columns: repeat(3,1fr); }
  .plan-meta span { justify-content: center; padding: 0 4px; font-size: 9px; }
  .zone-picker { position: relative; inset: auto; overflow-x: auto; border-width: 0 0 1px; border-radius: 0; }
  .zone-picker button { flex: 0 0 auto; }
  .crew-strip { grid-template-columns: 1fr 1fr; }
  .crew-member:last-child { grid-column: 1 / -1; }
  .deck-head { grid-template-columns: 1fr auto; }
  .runtime-connection { display: none; }
  .quick-actions { display: grid; grid-template-columns: repeat(3,1fr); }
  .quick-actions button { font-size: 9px; }
  .context-dialog, .tool-dialog { width: calc(100vw - 16px); max-height: 92vh; border-radius: 13px; }
  .dossier-head { align-items: stretch; }
  .dossier-tabs { order: 3; }
  .site-context-grid, .people-layout { grid-template-columns: 1fr; }
  .tool-list { grid-template-columns: 1fr; }
}

/* v3 · blueprint command surface */
.plan-stage { padding-bottom: 230px; }
.stage-head h1 { font-size: clamp(40px, 3.6vw, 58px); }
.floor-wrap {
  isolation: isolate;
  background:
    linear-gradient(rgba(112, 177, 171, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(112, 177, 171, .035) 1px, transparent 1px),
    radial-gradient(circle at 50% 42%, rgba(79, 170, 164, .07), transparent 48%),
    #0c110f;
  background-size: 24px 24px, 24px 24px, auto, auto;
  border-color: rgba(136, 199, 190, .26);
  box-shadow: inset 0 0 55px rgba(62, 141, 135, .04), 0 28px 90px rgba(0,0,0,.38);
}
.floor-wrap::after {
  content: "TRAINING MODEL · FS-07 / REV 04";
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 14px;
  color: rgba(145, 203, 194, .42);
  font: 700 8px var(--mono);
  letter-spacing: .14em;
}
.floor-plan { filter: drop-shadow(0 0 16px rgba(105, 179, 171, .055)); }
.floor-wrap .walls path { stroke: rgba(199, 221, 214, .62); }
.floor-wrap .room-labels text, .floor-wrap .dimensions text { fill: rgba(167, 200, 192, .58); }
.floor-wrap .dimensions path { stroke: rgba(139, 188, 181, .26); }
.route.active path { stroke-width: 4; filter: drop-shadow(0 0 5px rgba(152,216,135,.34)); }
.simulation-status {
  position: absolute;
  z-index: 5;
  left: 16px;
  bottom: 13px;
  min-height: 27px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(145, 203, 194, .2);
  border-radius: 7px;
  color: rgba(185, 216, 209, .68);
  background: rgba(7, 12, 10, .86);
  font: 700 8px var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.simulation-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--faint); }
.simulation-running .simulation-status i { background: var(--safe); box-shadow: 0 0 10px var(--safe); }
.simulation-review .simulation-status i { background: var(--warning); box-shadow: 0 0 10px rgba(246,200,95,.5); }
.scan-beam { position: absolute; z-index: 2; inset: 0 auto 0 -12%; width: 12%; opacity: 0; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(118, 214, 201, .1), rgba(158, 236, 225, .25), transparent); filter: blur(1px); }
.simulation-running .scan-beam { opacity: 1; animation: simulation-scan 4.8s cubic-bezier(.45,0,.55,1) infinite; }

.conversation-dock {
  position: relative;
  z-index: 11;
  inset: auto;
  max-width: 1180px;
  margin: 16px auto 0;
  padding: 12px;
  border: 1px solid rgba(255, 107, 53, .36);
  border-radius: 18px;
  background:
    linear-gradient(110deg, rgba(255,107,53,.075), transparent 28%),
    rgba(11, 13, 11, .92);
  box-shadow: 0 24px 75px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.045);
  backdrop-filter: blur(22px) saturate(125%);
}
.conversation-head { display: grid; grid-template-columns: 34px 1fr auto auto; gap: 9px; align-items: center; }
.conversation-head > div:nth-child(2) { display: grid; gap: 3px; }
.conversation-head strong { font-size: 13px; }
.conversation-state { min-height: 27px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 9px; }
.conversation-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--safe); box-shadow: 0 0 8px rgba(152,216,135,.45); }
.conversation-history { max-height: 88px; margin-top: 9px; padding: 9px 10px; overflow-y: auto; border: 1px solid var(--line); border-radius: 11px; background: rgba(4,6,5,.62); scrollbar-width: thin; }
.conversation-turn { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px; align-items: start; animation: turn-in .24s cubic-bezier(.22,1,.36,1); }
.conversation-turn + .conversation-turn { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.065); }
.conversation-turn span { padding-top: 2px; color: var(--signal); font: 800 9px var(--mono); text-transform: uppercase; }
.conversation-turn.user span { color: #81c9c0; }
.conversation-turn p { margin: 0; color: #e9e7df; font-size: 12px; line-height: 1.45; }
.conversation-turn.user p { color: #b6cec9; }
.conversation-toggle { min-height: 27px; padding: 0 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: transparent; font-size: 9px; cursor: pointer; }
.conversation-dock.collapsed .conversation-body { display: none; }
.conversation-dock.collapsed { padding-bottom: 12px; }
.conversation-dock .quick-actions { position: static; width: auto; margin-top: 9px; }
.conversation-dock .quick-actions button { min-height: 31px; border-radius: 999px; background: rgba(255,255,255,.025); }
.conversation-dock .quick-actions button:last-child { border-color: rgba(255,107,53,.35); color: #ff9b76; }
.conversation-dock .agent-composer { grid-template-columns: 1fr 45px; margin-top: 8px; }
.conversation-dock .agent-composer input { min-height: 46px; padding: 0 15px; border-color: rgba(132,185,177,.22); background: rgba(4,7,6,.84); font-size: 13px; }
.conversation-dock .agent-composer button { border-radius: 12px; box-shadow: 0 0 24px rgba(255,107,53,.16); }

.decision-deck { background: linear-gradient(180deg, #10120f, #0b0d0b); }
.decision-deck .specialist-rail { margin-top: 18px; padding: 0; border: 0; }
.decision-deck .specialist-label { grid-column: 1 / -1; margin-bottom: 2px; color: #6f7771; font: 700 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.decision-deck .specialist-rail span { min-height: 38px; display: grid; place-items: center; border-radius: 10px; color: #777c75; background: rgba(255,255,255,.014); font-size: 10px; }
.decision-deck .specialist-rail span.active { border-color: rgba(109, 194, 182, .48); color: #9ae0d5; background: rgba(82, 174, 162, .08); box-shadow: inset 0 0 18px rgba(82,174,162,.04); animation: specialist-pulse 1.8s ease-in-out infinite; }
.decision-deck .runtime-trace { margin-top: 10px; border-color: rgba(132,185,177,.18); background: #090c0a; }
.runtime-trace summary { min-height: 44px; }
.runtime-events { min-height: 88px; }
.runtime-event { min-height: 52px; padding: 9px 12px; animation: event-in .24s cubic-bezier(.22,1,.36,1); }
.runtime-event strong { color: #dce7e2; }
.runtime-event time { max-width: 74px; overflow: hidden; color: #69968f; font-size: 8px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.decision-deck .prompt-card { display: none !important; }
.decision-deck .panel-title { margin-top: 7px; }
.decision-deck .report-button { margin-top: 14px; }

.phase-guide { margin-top: 12px; border: 1px solid rgba(132,185,177,.2); border-radius: 14px; overflow: hidden; background: linear-gradient(145deg, rgba(72,139,132,.07), rgba(255,255,255,.012)); }
.phase-intro { min-height: 126px; padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; border-bottom: 1px solid var(--line); }
.phase-intro span { color: #86c9bf; font: 800 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.phase-intro strong { margin-top: 10px; color: var(--ink); font-size: 20px; letter-spacing: -.025em; }
.phase-intro p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.phase-guide ol { margin: 0; padding: 8px 12px 10px; list-style: none; }
.phase-guide li { min-height: 35px; display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 8px; color: #666b65; font-size: 10px; }
.phase-guide li i { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid #3a3e39; border-radius: 50%; font: 800 8px var(--mono); font-style: normal; }
.phase-guide li.current { color: var(--ink); }
.phase-guide li.current i { border-color: var(--signal); color: #160c07; background: var(--signal); box-shadow: 0 0 18px rgba(255,107,53,.2); }
.phase-guide li.done { color: #8ebf86; }
.phase-guide li.done i { border-color: rgba(152,216,135,.35); color: var(--safe); background: rgba(152,216,135,.06); }
.runtime-event time { color: #69968f; font-size: 7px; }

@keyframes simulation-scan { 0% { transform: translateX(0); } 50%, 100% { transform: translateX(950%); } }
@keyframes turn-in { from { opacity: 0; transform: translateY(6px); } }
@keyframes event-in { from { opacity: 0; transform: translateX(8px); } }
@keyframes specialist-pulse { 50% { border-color: rgba(109,194,182,.25); } }

@media (max-width: 1280px) { .conversation-dock { width: auto; } }

@media (max-width: 940px) {
  .plan-stage { padding-bottom: 26px; }
  .conversation-dock { position: relative; inset: auto; margin: 16px 0 0; }
  .conversation-dock .quick-actions { position: static; width: auto; margin-top: 10px; }
  .command-desks { grid-template-columns: repeat(5, 1fr); }
  .conversation-history { max-height: 150px; }
  .decision-deck { order: 3; }
}

@media (max-width: 560px) {
  .conversation-dock { padding: 11px; border-radius: 15px; }
  .conversation-head { grid-template-columns: 34px 1fr; }
  .conversation-state { display: none; }
  .conversation-dock .quick-actions { grid-template-columns: repeat(2, 1fr); }
  .conversation-dock .quick-actions button:last-child { grid-column: 1 / -1; }
  .conversation-dock .quick-actions button { min-height: 38px; }
  .conversation-dock .agent-composer { grid-template-columns: 1fr 44px; }
  .conversation-dock .agent-composer input { font-size: 12px; }
  .simulation-status { position: relative; inset: auto; margin: 0 8px 8px; }
  .floor-wrap::after { display: none; }
}

/* v4 · spatial rehearsal and explainable agent trace */
.view-hidden { display: none !important; }
.skill-download { display: inline-flex; align-items: center; text-decoration: none; }
.spatial-console { margin-bottom: 14px; border: 1px solid rgba(136,199,190,.24); border-radius: 18px; overflow: hidden; background: #0b0f0d; box-shadow: 0 26px 80px rgba(0,0,0,.32); }
.spatial-toolbar { min-height: 58px; padding: 10px 13px 10px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(136,199,190,.16); background: rgba(18,24,21,.86); }
.spatial-toolbar > div:first-child { display: grid; gap: 5px; }
.spatial-toolbar strong { font-size: 13px; }
.view-switch { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #090c0a; }
.view-switch button, .plan-controls button, .orbit-controls button { min-height: 30px; padding: 0 10px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 10px; cursor: pointer; }
.view-switch button:hover, .view-switch button.active, .plan-controls button:hover, .plan-controls button.active, .orbit-controls button:hover { color: var(--ink); background: rgba(113,192,181,.1); }
.view-switch button.active { box-shadow: inset 0 0 0 1px rgba(132,210,199,.26); }

.building-view { position: relative; min-height: 510px; display: grid; grid-template-columns: minmax(230px,.8fr) minmax(390px,1.45fr) minmax(170px,.58fr); align-items: center; gap: 12px; overflow: hidden; background:
  radial-gradient(circle at 63% 47%, rgba(84,183,169,.15), transparent 31%),
  linear-gradient(rgba(108,183,174,.035) 1px, transparent 1px),
  linear-gradient(90deg, rgba(108,183,174,.035) 1px, transparent 1px), #080c0a;
  background-size: auto, 28px 28px, 28px 28px, auto;
}
.building-view::before { content: ""; position: absolute; inset: auto 6% 8% 32%; height: 1px; background: linear-gradient(90deg, transparent, rgba(144,218,207,.36), transparent); box-shadow: 0 0 36px rgba(105,203,189,.4); }
.building-copy { position: relative; z-index: 8; padding: 32px 8px 32px 34px; }
.building-kicker { color: #7ec8bd; font: 800 8px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.building-copy h2 { margin: 13px 0 11px; font: 760 clamp(30px,3vw,48px)/.98 var(--sans); letter-spacing: -.045em; }
.building-copy > p { max-width: 310px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.building-metrics { margin: 22px 0; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.building-metrics div { min-width: 0; padding: 13px 8px; border-left: 1px solid var(--line); }
.building-metrics div:first-child { border-left: 0; padding-left: 0; }
.building-metrics strong, .building-metrics span { display: block; }
.building-metrics strong { font: 700 20px var(--mono); }
.building-metrics span { margin-top: 4px; color: var(--faint); font-size: 8px; text-transform: uppercase; }
.building-copy .primary-button { min-height: 42px; padding: 0 17px; border-radius: 9px; }
.scenario-entry { display: flex; flex-wrap: wrap; gap: 8px; }
.scenario-entry .secondary-button { min-height: 42px; padding: 0 12px; border-radius: 9px; }

.building-viewport { position: relative; z-index: 4; min-height: 500px; overflow: hidden; perspective: 1100px; touch-action: none; cursor: grab; }
.building-viewport.dragging { cursor: grabbing; }
.building-canvas { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity .45s ease; }
.building-viewport.webgl-ready .building-canvas { opacity: 1; }
.building-viewport.webgl-ready .building-orbit { opacity: 0; pointer-events: none; }
.building-signal-marker { position: absolute; z-index: 18; top: 45%; left: 67%; min-width: 132px; padding: 9px 10px 9px 29px; border: 1px solid rgba(255,107,53,.58); border-radius: 8px; color: #ffd0be; background: rgba(49,19,9,.88); box-shadow: 0 0 30px rgba(255,74,25,.2); opacity: 0; pointer-events: none; transform: translate(8px,-50%) scale(.96); transition: opacity .28s ease, transform .28s ease; }
.building-signal-marker i { position: absolute; top: 13px; left: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 5px rgba(255,107,53,.14), 0 0 20px rgba(255,74,25,.8); }
.building-signal-marker span, .building-signal-marker small { display: block; }.building-signal-marker span { font: 800 8px var(--mono); letter-spacing: .06em; text-transform: uppercase; }.building-signal-marker small { margin-top: 4px; color: #bf8d7b; font: 7px var(--mono); }
.building-view.drill-live .building-signal-marker { opacity: 1; transform: translate(0,-50%) scale(1); animation: signal-marker 1.8s ease-in-out infinite; }
.building-route-state { position: absolute; z-index: 19; top: 58px; right: 14px; width: 154px; padding: 9px 10px; display: grid; gap: 6px; border: 1px solid rgba(112,203,187,.24); border-radius: 9px; color: #b9d7d1; background: rgba(7,16,13,.88); box-shadow: 0 12px 30px rgba(0,0,0,.26); opacity: 0; pointer-events: none; transform: translateY(-5px); transition: opacity .25s ease, transform .25s ease; backdrop-filter: blur(12px); }
.building-route-state.active { opacity: 1; transform: translateY(0); }
.building-route-state > span { color: #79c9bc; font: 800 7px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.building-route-state strong { display: flex; align-items: center; gap: 7px; font: 750 8px var(--mono); }
.building-route-state strong i { width: 7px; height: 7px; border-radius: 50%; background: #70cbbb; box-shadow: 0 0 10px rgba(112,203,187,.55); }
.building-route-state .route-state-b.blocked { color: #ffb099; }
.building-route-state .route-state-b.blocked i { background: #ff6262; box-shadow: 0 0 12px rgba(255,98,98,.72); }
.building-route-state.resolved strong:first-of-type { color: #b7e8ab; }
.building-route-state.resolved strong:first-of-type i { background: var(--safe); box-shadow: 0 0 12px rgba(152,216,135,.65); }
@keyframes signal-marker { 50% { box-shadow: 0 0 0 2px rgba(255,107,53,.1), 0 0 38px rgba(255,74,25,.34); } }
.building-orbit { --orbit-x: 62deg; --orbit-z: -38deg; --orbit-scale: 1; position: absolute; inset: 4% 2% 12%; transform-style: preserve-3d; transform: rotateX(var(--orbit-x)) rotateZ(var(--orbit-z)) scale(var(--orbit-scale)); transition: transform .45s cubic-bezier(.22,1,.36,1); }
.building-viewport.dragging .building-orbit { transition: none; }
.site-plane { position: absolute; left: 50%; top: 54%; width: 520px; height: 350px; border: 1px solid rgba(132,194,184,.2); background: linear-gradient(rgba(108,183,174,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(108,183,174,.055) 1px, transparent 1px), linear-gradient(145deg, rgba(26,45,39,.88), rgba(6,12,10,.94)); background-size: 20px 20px,20px 20px,auto; box-shadow: 0 0 55px rgba(84,183,169,.08); transform: translate(-50%,-50%) translateZ(-22px); transform-style: preserve-3d; pointer-events: none; }
.site-plane::before { content: "Meridian Exchange · fictional training site"; position: absolute; top: 9px; left: 11px; color: rgba(150,205,196,.42); font: 700 7px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.site-road { position: absolute; border: 1px solid rgba(217,207,173,.18); color: rgba(221,211,176,.56); background: repeating-linear-gradient(90deg, rgba(188,174,130,.13) 0 40px, transparent 40px 72px), rgba(12,16,13,.8); font: 700 6px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.site-road span { position: absolute; white-space: nowrap; }
.road-south { right: 18px; bottom: 17px; left: 18px; height: 54px; }
.road-south span { left: 16px; bottom: 8px; }
.road-south i, .road-south b { position: absolute; top: 11px; width: 64px; height: 1px; background: rgba(235,220,166,.44); }
.road-south i { left: 120px; }.road-south b { right: 120px; }
.road-east { top: 45px; right: 18px; width: 58px; height: 218px; background: repeating-linear-gradient(0deg, rgba(188,174,130,.12) 0 32px, transparent 32px 58px), rgba(12,16,13,.8); }
.road-east span { top: 14px; left: 34px; transform: rotate(90deg); transform-origin: left top; }
.assembly-zone { position: absolute; width: 90px; height: 56px; padding: 8px; display: grid; align-content: end; border: 1px dashed rgba(114,202,188,.42); color: #8fcfc5; background: rgba(64,132,122,.08); }
.assembly-zone span, .assembly-zone small { display: block; }.assembly-zone span { font: 800 7px var(--mono); text-transform: uppercase; }.assembly-zone small { margin-top: 3px; color: rgba(143,207,197,.55); font: 6px var(--mono); }
.assembly-west { bottom: 91px; left: 25px; }.assembly-east { top: 50px; right: 91px; }
.appliance-bay { position: absolute; right: 95px; bottom: 22px; width: 118px; height: 43px; border: 1px solid rgba(255,107,53,.46); background: linear-gradient(90deg, rgba(255,107,53,.14), transparent); }
.appliance-bay span { position: absolute; right: 8px; bottom: 7px; color: #e78d6b; font: 700 6px var(--mono); text-transform: uppercase; }
.access-path { position: absolute; height: 2px; border-top: 2px dashed rgba(114,202,188,.42); transform-origin: left center; }
.path-west { left: 116px; bottom: 122px; width: 105px; transform: rotate(-22deg); }.path-east { right: 110px; top: 127px; width: 100px; transform: rotate(21deg); }
.tower-podium { position: absolute; z-index: 1; left: 50%; top: 54%; width: 330px; height: 224px; border: 1px solid rgba(188,219,213,.28); border-radius: 5px; background: linear-gradient(135deg, rgba(86,154,144,.2), rgba(8,15,12,.9)); box-shadow: 0 0 45px rgba(57,132,121,.12); transform: translate(-50%,-50%) translateZ(-6px); transform-style: preserve-3d; pointer-events: none; }
.tower-podium::before, .tower-podium::after { content: ""; position: absolute; background: repeating-linear-gradient(90deg, rgba(124,199,187,.18) 0 22px, rgba(16,32,27,.8) 22px 26px); border: 1px solid rgba(151,214,204,.16); }
.tower-podium::before { top: 100%; left: -1px; width: 100%; height: 18px; transform-origin: top; transform: rotateX(-90deg); }.tower-podium::after { top: -1px; left: 100%; width: 18px; height: 100%; transform-origin: left; transform: rotateY(90deg); }
.tower-podium span { position: absolute; bottom: 9px; left: 13px; color: rgba(194,226,220,.48); font: 700 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.tower-podium i, .tower-podium b { position: absolute; bottom: 28px; width: 70px; height: 28px; border: 1px solid rgba(143,210,199,.18); background: rgba(98,178,165,.06); }.tower-podium i { left: 31px; }.tower-podium b { right: 31px; }
.tower-core { position: absolute; left: 50%; top: 54%; width: 270px; height: 178px; transform: translate(-50%,-50%); transform-style: preserve-3d; }
.tower-floor { --lift: calc(var(--level) * 14px); position: absolute; inset: 0; display: block; border: 1px solid rgba(151,214,204,.25); border-radius: 3px; color: rgba(194,226,220,.6); background: linear-gradient(135deg, rgba(95,182,169,.12), rgba(9,17,14,.78)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.015); transform: translateZ(var(--lift)); transform-style: preserve-3d; cursor: pointer; }
.tower-floor::before, .tower-floor::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(151,214,204,.16); }
.tower-floor::before { top: 100%; left: -1px; width: 100%; height: 12px; transform-origin: top; transform: rotateX(-90deg); }
.tower-floor::after { top: -1px; left: 100%; width: 12px; height: 100%; transform-origin: left; transform: rotateY(90deg); }
.tower-floor::before { background: repeating-linear-gradient(90deg, rgba(134,209,198,.25) 0 20px, rgba(16,35,30,.92) 20px 24px); }
.tower-floor::after { background: repeating-linear-gradient(0deg, rgba(134,209,198,.22) 0 17px, rgba(16,35,30,.92) 17px 21px); }
.tower-floor span { position: absolute; top: 9px; left: 10px; font: 800 8px var(--mono); letter-spacing: .08em; }
.tower-floor i, .tower-floor b { position: absolute; top: 36%; width: 23%; height: 28%; border: 1px solid rgba(160,220,211,.13); background: rgba(96,176,164,.05); }
.tower-floor i { left: 15%; }.tower-floor b { right: 15%; }
.tower-floor:hover { border-color: rgba(193,238,231,.72); background: linear-gradient(135deg, rgba(102,210,193,.23), rgba(9,17,14,.78)); }
.tower-floor.selected { border-color: var(--signal); color: #ffd5c5; background: linear-gradient(135deg, rgba(255,107,53,.44), rgba(64,25,12,.76)); box-shadow: 0 0 0 2px rgba(255,107,53,.18), 0 0 34px rgba(255,107,53,.28); }
.roof-plant { position: absolute; z-index: 4; left: 50%; top: 54%; width: 150px; height: 82px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid rgba(169,215,207,.3); background: rgba(16,29,25,.94); transform: translate(-50%,-50%) translateZ(272px); transform-style: preserve-3d; pointer-events: none; }
.roof-plant::before { content: ""; position: absolute; top: 100%; left: -1px; width: 100%; height: 16px; border: 1px solid rgba(151,214,204,.17); background: rgba(22,48,41,.9); transform-origin: top; transform: rotateX(-90deg); }
.roof-plant i { width: 22px; height: 22px; border: 1px solid rgba(132,202,191,.32); border-radius: 50%; background: repeating-conic-gradient(rgba(129,201,190,.3) 0 12deg, rgba(8,18,15,.8) 12deg 30deg); }
.roof-plant span { position: absolute; top: 7px; left: 9px; color: rgba(167,213,205,.48); font: 700 6px var(--mono); text-transform: uppercase; }
.orbit-controls { position: absolute; z-index: 20; left: 50%; bottom: 17px; display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: rgba(7,11,9,.78); transform: translateX(-50%); backdrop-filter: blur(12px); }
.site-point-controls { position: absolute; z-index: 21; top: 18px; left: 14px; display: flex; flex-wrap: wrap; gap: 4px; max-width: 220px; padding: 5px; border: 1px solid rgba(135,201,191,.18); border-radius: 9px; background: rgba(7,11,9,.78); backdrop-filter: blur(12px); }
.site-point-controls > span { width: 100%; padding: 2px 4px 1px; color: #79c9bc; font: 800 7px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.site-point-controls button { min-height: 25px; padding: 0 7px; border: 1px solid rgba(135,201,191,.17); border-radius: 6px; color: #aeb7b1; background: rgba(15,24,20,.78); font: 700 7px var(--mono); cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.site-point-controls button:hover, .site-point-controls button:focus-visible { border-color: rgba(160,234,222,.72); color: #eef6f2; outline: none; }
.site-point-controls button.selected { border-color: var(--signal); color: #ffd5c5; background: rgba(255,107,53,.14); }
.floor-beacon { position: absolute; z-index: 20; top: 18px; right: 14px; min-height: 28px; padding: 0 9px; display: flex; align-items: center; gap: 7px; border: 1px solid rgba(255,107,53,.3); border-radius: 999px; color: #ffc2aa; background: rgba(54,23,12,.62); font: 700 8px var(--mono); letter-spacing: .04em; }
.floor-beacon i { width: 6px; height: 6px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 12px var(--signal); animation: beacon 1.8s ease-in-out infinite; }
.building-status { position: relative; z-index: 7; margin-right: 22px; padding: 16px; border: 1px solid rgba(135,201,191,.18); border-radius: 12px; background: rgba(13,20,17,.78); backdrop-filter: blur(14px); }
.building-status span, .building-status strong, .building-status p { display: block; }
.building-status span { color: #79c9bc; font: 800 8px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.building-status strong { margin-top: 8px; font-size: 17px; }
.building-status p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.building-status p b { color: #d8d8c9; font: 700 8px var(--mono); text-transform: uppercase; letter-spacing: .035em; }

.floor-wrap { border-top-left-radius: 0; border-top-right-radius: 0; }
.plan-controls { min-height: 48px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); background: rgba(14,19,16,.94); }
.plan-controls > div { display: flex; align-items: center; gap: 6px; }
.plan-controls strong, .plan-controls span { color: var(--muted); font: 700 9px var(--mono); }
.plan-controls button { border: 1px solid var(--line); }
.plan-controls button.active { border-color: var(--signal); color: #ffc0a7; background: rgba(255,107,53,.1); }
.floor-viewport { position: relative; overflow: hidden; touch-action: none; cursor: grab; }
.floor-viewport.dragging { cursor: grabbing; }
#floorPlan { --floor-scale: 1; --floor-x: 0px; --floor-y: 0px; --origin-x: 50%; --origin-y: 50%; transform: translate(var(--floor-x),var(--floor-y)) scale(var(--floor-scale)); transform-origin: var(--origin-x) var(--origin-y); transition: transform .5s cubic-bezier(.22,1,.36,1); }
.floor-viewport.dragging #floorPlan, .floor-viewport.drawing #floorPlan { transition: none; }
.inspection-hotspots rect { fill: transparent; stroke: transparent; stroke-width: 3; pointer-events: all; cursor: zoom-in; transition: fill .2s, stroke .2s; }
.inspection-hotspots rect:hover { fill: rgba(116,207,194,.055); stroke: rgba(137,224,211,.45); }
.floor-viewport.drawing .inspection-hotspots { pointer-events: none; }
.floor-viewport.drawing { cursor: crosshair; }
.user-route { fill: none; stroke: #70e1d0; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; opacity: 0; filter: drop-shadow(0 0 7px rgba(112,225,208,.7)); pointer-events: none; }
.user-route.active { opacity: 1; stroke-dasharray: 10 7; animation: route-flow 1.1s linear infinite; }
.fire-trail { opacity: 0; pointer-events: none; transition: opacity .45s ease; }
.fire-trail path { fill: none; stroke: #ff6b35; stroke-width: 8; stroke-linecap: round; stroke-dasharray: 4 18; filter: drop-shadow(0 0 10px rgba(255,74,25,.8)); }
.fire-trail circle { fill: #ff8b4f; filter: drop-shadow(0 0 12px #ff552a); transform-box: fill-box; transform-origin: center; }
.story-signal .fire-trail { opacity: .26; }
.story-spread .fire-trail { opacity: .82; }
.story-spread .fire-trail path { animation: ember-travel 1.15s linear infinite; }
.story-spread .fire-trail circle { animation: ember-pulse 1.4s ease-in-out infinite; }
.story-spread .fire-trail circle:nth-child(3) { animation-delay: -.4s; }.story-spread .fire-trail circle:nth-child(4) { animation-delay: -.8s; }
.narrative-caption { position: absolute; z-index: 7; left: 50%; bottom: 13px; max-width: 370px; min-height: 44px; padding: 8px 12px; display: grid; gap: 4px; border: 1px solid rgba(255,107,53,.25); border-radius: 9px; background: rgba(24,12,8,.84); transform: translateX(-50%); backdrop-filter: blur(12px); }
.narrative-caption span { color: #ff9d78; font: 800 7px var(--mono); letter-spacing: .09em; text-transform: uppercase; }.narrative-caption strong { color: #f5d7cb; font-size: 9px; }
.story-critical .narrative-caption { border-color: rgba(255,92,92,.38); background: rgba(30,9,9,.88); }
.building-view.drill-live .tower-floor.loaded { box-shadow: 0 0 0 2px rgba(255,107,53,.28), 0 0 42px rgba(255,74,25,.38); animation: floor-alert 1.7s ease-in-out infinite; }
.plan-gesture { position: absolute; z-index: 6; right: 14px; bottom: 13px; max-width: 290px; min-height: 27px; padding: 0 9px; display: flex; align-items: center; border: 1px solid rgba(145,203,194,.2); border-radius: 7px; color: rgba(185,216,209,.66); background: rgba(7,12,10,.86); font: 700 8px var(--mono); text-transform: uppercase; backdrop-filter: blur(10px); }

.operation-card { margin-top: 10px; padding: 11px; display: grid; grid-template-columns: auto 1fr; gap: 9px; border: 1px solid rgba(136,199,190,.18); border-radius: 12px; background: linear-gradient(135deg, rgba(77,162,151,.08), rgba(255,255,255,.012)); }
.operation-card > div:nth-child(2) { min-width: 0; }
.operation-card strong, .operation-card p { display: block; }
.operation-card strong { font-size: 11px; }
.operation-card p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.operation-card > small { grid-column: 1 / -1; padding-top: 8px; border-top: 1px solid var(--line); color: var(--faint); font-size: 9px; }
.operation-signal { min-width: 64px; padding: 7px 8px; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(132,210,199,.22); border-radius: 8px; color: #8ed4c9; font: 800 8px var(--mono); text-transform: uppercase; }
.operation-signal i { width: 7px; height: 7px; border-radius: 50%; background: #7fd2c5; box-shadow: 0 0 10px rgba(127,210,197,.55); }
.operation-signal.working i { animation: beacon .8s ease-in-out infinite; }
.phase-intro { min-height: 76px; padding: 12px; }
.phase-intro strong { margin-top: 6px; font-size: 15px; }
.phase-intro p { margin-top: 4px; }
.phase-guide ol { display: grid; grid-template-columns: repeat(5,1fr); gap: 4px; padding: 7px; }
.phase-guide li { min-height: 30px; display: block; text-align: center; }
.phase-guide li span { display: none; }
.phase-guide li i { margin: 0 auto; }

.runtime-event { width: 100%; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: transparent; text-align: left; cursor: pointer; }
.runtime-event:hover, .runtime-event.selected { background: rgba(104,191,178,.065); }
.runtime-event.selected { box-shadow: inset 2px 0 #72cabc; }
.trace-inspector { padding: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; border-top: 1px solid var(--line); background: rgba(104,191,178,.035); }
.trace-inspector div { min-width: 0; }
.trace-inspector span, .trace-inspector strong { display: block; }
.trace-inspector span { color: #6fb7ac; font: 800 8px var(--mono); text-transform: uppercase; }
.trace-inspector strong { margin-top: 5px; color: #cbd9d5; font-size: 9px; line-height: 1.4; }
.trace-inspector p { grid-column: 1 / -1; margin: 0; padding-top: 8px; border-top: 1px solid var(--line); color: var(--faint); font-size: 9px; line-height: 1.4; }

.report-panel { border: 0; }
.report-sheet { position: relative; overflow: hidden; padding: 15px; border: 1px solid rgba(136,199,190,.24); border-radius: 14px; background: radial-gradient(circle at 12% 0%, rgba(94,186,173,.1), transparent 32%), #0b0f0d; }
.report-sheet::after { content: "AAR"; position: absolute; top: 52px; right: -8px; color: rgba(139,205,195,.04); font: 900 82px var(--sans); letter-spacing: -.08em; pointer-events: none; }
.report-head { position: relative; z-index: 1; display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.report-head h3 { margin-top: 5px; }
.report-status { padding: 6px 8px; border: 1px solid rgba(243,191,84,.28); border-radius: 999px; color: var(--warning); font-size: 8px; white-space: nowrap; }
.report-sheet.approved .report-status { border-color: rgba(152,216,135,.3); color: var(--safe); }
.report-hero { position: relative; z-index: 1; margin-top: 14px; display: grid; grid-template-columns: 76px 1fr; gap: 13px; align-items: center; }
.readiness-dial { width: 72px; height: 72px; display: grid; place-content: center; border-radius: 50%; background: radial-gradient(circle closest-side, #0b0f0d 78%, transparent 80%), conic-gradient(#78cabc var(--score), rgba(255,255,255,.07) 0); text-align: center; }
.readiness-dial strong, .readiness-dial span { display: block; }
.readiness-dial strong { font: 800 18px var(--mono); }.readiness-dial span { margin-top: 2px; color: var(--faint); font-size: 7px; text-transform: uppercase; }
.report-hero > div:last-child > strong { font-size: 12px; }.report-hero p { margin: 5px 0 0; }
.report-context { position: relative; z-index: 1; margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.report-context div { min-width: 0; min-height: 50px; padding: 9px 10px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.report-context div:nth-child(odd) { border-left: 0; }.report-context div:nth-child(-n+2) { border-top: 0; }
.report-context span, .report-context strong { display: block; }.report-context span { color: var(--faint); font: 700 6px var(--mono); letter-spacing: .06em; text-transform: uppercase; }.report-context strong { margin-top: 5px; font-size: 8px; line-height: 1.4; }
.report-decisions { position: relative; z-index: 1; margin: 13px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.report-decisions li { padding: 8px 0; display: grid; grid-template-columns: 20px 1fr; gap: 8px; border-bottom: 1px solid var(--line); }
.report-decisions i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #08110e; background: var(--safe); font: 800 9px var(--mono); font-style: normal; }
.report-decisions strong, .report-decisions span { display: block; }.report-decisions strong { font-size: 9px; }.report-decisions span { margin-top: 3px; color: var(--faint); font-size: 8px; }
.report-comparison { position: relative; z-index: 1; margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.report-comparison section { padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.012); }
.report-comparison section > span, .improvement-plan > span { color: #8ed2c8; font: 800 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.report-comparison p { margin: 7px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.report-comparison b { color: var(--ink); font: 700 7px var(--mono); }
.improvement-plan { position: relative; z-index: 1; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.improvement-plan article { margin-top: 8px; padding: 9px 10px; border-left: 2px solid var(--warning); background: rgba(243,191,84,.04); }
.improvement-plan strong, .improvement-plan p, .improvement-plan small { display: block; }
.improvement-plan strong { font-size: 9px; }.improvement-plan p { margin: 4px 0 0; font-size: 8px; }.improvement-plan small { margin-top: 4px; color: var(--faint); font-size: 7px; }
.approval-seal { margin-top: 11px; padding: 10px; border: 1px solid rgba(152,216,135,.24); border-radius: 10px; background: rgba(152,216,135,.045); }
.approval-seal span, .approval-seal strong, .approval-seal small { display: block; }.approval-seal span { color: var(--safe); font: 800 7px var(--mono); text-transform: uppercase; }.approval-seal strong { margin-top: 4px; font-size: 11px; }.approval-seal small { margin-top: 3px; color: var(--faint); font-size: 8px; }

@keyframes route-flow { to { stroke-dashoffset: -17; } }
@keyframes beacon { 50% { opacity: .38; transform: scale(.76); } }
@keyframes ember-travel { to { stroke-dashoffset: -22; } }
@keyframes ember-pulse { 50% { opacity: .35; transform: scale(.58); } }
@keyframes floor-alert { 50% { filter: brightness(1.35); } }

@media (max-width: 1180px) {
  .building-view { grid-template-columns: minmax(220px,.8fr) minmax(360px,1.4fr); }
  .building-status { position: absolute; right: 12px; bottom: 13px; width: 180px; margin: 0; }
}

@media (max-width: 760px) {
  .skill-download { display: none; }
  .spatial-toolbar { align-items: stretch; flex-direction: column; }
  .view-switch { align-self: stretch; }.view-switch button { flex: 1; }
  .building-view { min-height: 650px; display: block; }
  .building-copy { padding: 24px 22px 0; }
  .building-viewport { min-height: 410px; }
  .building-status { right: 12px; bottom: 12px; width: 170px; }
  .plan-controls { align-items: stretch; flex-direction: column; }
  .plan-controls > div { justify-content: space-between; }
  .plan-gesture { display: none; }
  .narrative-caption { left: auto; right: 8px; bottom: 8px; max-width: 62%; transform: none; }
  .building-route-state { top: 56px; right: 10px; width: 145px; }
}

@media (max-width: 480px) {
  .building-copy h2 { font-size: 34px; }
  .building-metrics { margin: 16px 0; }
  .building-viewport { min-height: 360px; }
  .tower-core { width: 210px; height: 140px; }
  .building-status { display: none; }
  .building-route-state { width: 136px; }
  .plan-controls strong { display: none; }
  .trace-inspector { grid-template-columns: 1fr; }
  .trace-inspector p { grid-column: 1; }
}

/* v5 · guided command path, people, and inspectable evidence */
.guided-brief {
  max-width: 1180px;
  min-height: 92px;
  margin: 14px auto 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 58px minmax(210px, .8fr) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(133, 205, 195, .28);
  border-radius: 15px;
  background: linear-gradient(105deg, rgba(71, 152, 142, .11), rgba(255, 122, 69, .045) 62%, rgba(255,255,255,.018));
  box-shadow: 0 18px 50px rgba(0,0,0,.15);
}
.guided-step-count { width: 54px; height: 54px; display: grid; place-content: center; border: 1px solid rgba(133,205,195,.32); border-radius: 50%; background: rgba(4,8,7,.45); text-align: center; }
.guided-step-count span, .guided-step-count small { display: block; }
.guided-step-count span { color: #9ee2d8; font: 800 16px var(--mono); }
.guided-step-count small { margin-top: 2px; color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }
.guided-copy strong, .guided-copy p, .guided-change span, .guided-change strong { display: block; }
.guided-copy strong { margin-top: 6px; font-size: 15px; }
.guided-copy p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.guided-change { min-width: 0; padding: 9px 12px; border-left: 1px solid var(--line); }
.guided-change span { color: var(--signal); font: 800 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.guided-change strong { margin-top: 6px; color: #d1d8d4; font-size: 10px; line-height: 1.4; }
.guided-brief .primary-button { min-width: 150px; min-height: 44px; border-radius: 10px; }
.guided-brief.complete { border-color: rgba(152,216,135,.32); background: linear-gradient(105deg, rgba(152,216,135,.11), rgba(255,255,255,.018)); }
.floor-library { margin: -8px 0 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.floor-library > span { grid-column: 1 / -1; color: var(--faint); font: 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.floor-library button { min-height: 34px; padding: 0 7px; border: 1px solid var(--line); border-radius: 7px; color: #b8b9b1; background: rgba(255,255,255,.018); font: 800 9px var(--mono); cursor: pointer; }
.floor-library button small { margin-left: 3px; color: var(--faint); font: 7px var(--sans); }
.floor-library button:hover, .floor-library button.active { border-color: rgba(255,122,69,.5); color: #ffd1bf; background: rgba(255,122,69,.07); }

.spatial-console { max-width: 1180px; margin-inline: auto; }
.floor-wrap { max-width: 1180px; }
.building-view { min-height: 560px; }
.map-key { gap: 11px 16px; }
.map-key .key-blocked { height: 2px; background: var(--critical); }
.map-key .key-responder, .map-key .key-occupant { width: 9px; height: 9px; border-radius: 50%; }
.map-key .key-responder { background: var(--warning); box-shadow: 0 0 8px rgba(243,191,84,.5); }
.map-key .key-occupant { background: #72cabc; }
.floor-wrap .zone-picker { top: 146px; }
.floor-wrap .map-callout { top: 146px; }
.route-receipt { position: absolute; z-index: 8; right: 15px; bottom: 56px; width: 270px; padding: 12px; border: 1px solid rgba(114,202,188,.34); border-radius: 10px; color: var(--ink); background: rgba(5,12,10,.93); box-shadow: 0 14px 35px rgba(0,0,0,.34); backdrop-filter: blur(12px); }
.route-receipt header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.route-receipt header span { color: #8fd8cd; font: 800 7px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.route-receipt header strong { font: 800 10px var(--mono); }
.route-receipt dl { margin: 10px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.route-receipt dl div { padding: 7px; border: 1px solid var(--line); border-radius: 7px; }
.route-receipt dt, .route-receipt dd { margin: 0; }.route-receipt dt { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }.route-receipt dd { margin-top: 4px; font-size: 9px; font-weight: 750; }
.route-receipt p { margin: 9px 0 0; color: var(--muted); font-size: 8px; line-height: 1.45; }

.people-layer { pointer-events: auto; }
.person-marker, .occupant-marker { cursor: pointer; transform-box: fill-box; transform-origin: center; transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .25s ease; }
.person-marker:hover, .person-marker:focus, .occupant-marker:hover, .occupant-marker:focus { transform: scale(1.22); outline: none; }
.person-marker circle:first-child { fill: rgba(243,191,84,.12); stroke: var(--warning); stroke-width: 2; }
.person-marker circle:nth-child(2) { fill: var(--warning); }
.person-marker text { fill: #18150d; font: 900 7px var(--mono); text-anchor: middle; pointer-events: none; }
.person-marker.active circle:first-child { filter: drop-shadow(0 0 8px rgba(243,191,84,.75)); }
.occupant-marker circle { fill: rgba(114,202,188,.15); stroke: #72cabc; stroke-width: 1.5; }
.occupant-marker text { fill: #a9e4da; font: 800 8px var(--mono); text-anchor: middle; pointer-events: none; }
.occupant-marker.assisted circle { fill: rgba(194,145,255,.14); stroke: #c291ff; }
.occupant-marker.assisted text { fill: #dabdff; }

.people-board { max-width: 1180px; margin: 14px auto 0; border: 1px solid rgba(132,185,177,.18); border-radius: 14px; overflow: hidden; background: rgba(8,12,10,.46); }
.people-board > header { min-height: 48px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.people-board > header strong, .people-board > header span { display: block; }
.people-board > header strong { margin-top: 4px; font-size: 11px; }
.people-board > header small { color: var(--faint); font-size: 8px; }
.people-board .crew-strip { max-width: none; margin: 0; border: 0; grid-template-columns: repeat(5,minmax(0,1fr)); }
.crew-member { position: relative; min-height: 92px; padding: 10px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; border: 0; border-left: 1px solid var(--line); color: inherit; background: transparent; text-align: left; cursor: pointer; }
.crew-member:hover { background: rgba(243,191,84,.045); }
.crew-member-avatar { width: 34px; height: 34px; border: 1px solid rgba(243,191,84,.38); border-radius: 50%; display: grid; place-items: center; color: var(--warning); background: radial-gradient(circle at 40% 30%, rgba(243,191,84,.16), rgba(8,10,8,.8)); font: 800 9px var(--mono); overflow: hidden; }
.crew-member-avatar.has-photo { background-image: var(--portrait-url); background-size: 205% 205%; background-position: var(--portrait-position); color: transparent; }
.crew-member-copy { min-width: 0; }
.crew-member-copy span, .crew-member-copy strong, .crew-member-copy small { display: block; }

.person-dialog { width: min(430px, calc(100vw - 24px)); padding: 0; border: 1px solid rgba(243,191,84,.25); border-radius: 18px; color: var(--ink); background: #11140f; box-shadow: 0 28px 100px rgba(0,0,0,.72); }
.person-dialog::backdrop { background: rgba(3,5,4,.76); backdrop-filter: blur(9px); }
.person-dialog > .icon-button { position: absolute; top: 12px; right: 12px; z-index: 4; border-radius: 8px; }
.person-card { overflow: hidden; }
.person-card-hero { min-height: 150px; padding: 22px; display: flex; align-items: end; gap: 15px; background: radial-gradient(circle at 20% 25%, rgba(243,191,84,.17), transparent 34%), linear-gradient(145deg,#1b1d16,#0b0e0b); }
.person-portrait { width: 86px; height: 86px; flex: 0 0 86px; border: 1px solid rgba(243,191,84,.45); border-radius: 50%; background: radial-gradient(circle at 40% 30%, rgba(243,191,84,.22), rgba(8,10,8,.9)); background-image: var(--portrait-url); background-size: 205% 205%; background-position: var(--portrait-position); }
.person-card-hero span, .person-card-hero strong, .person-card-hero small { display: block; }
.person-card-hero span { color: var(--warning); font: 800 8px var(--mono); text-transform: uppercase; }
.person-card-hero strong { margin-top: 6px; font-size: 22px; }
.person-card-hero small { margin-top: 6px; color: var(--muted); }
.person-card-body { padding: 18px 22px 22px; }
.person-facts { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.person-facts div { min-height: 66px; padding: 11px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.person-facts div:nth-child(odd) { border-left: 0; }.person-facts div:nth-child(-n+2) { border-top: 0; }
.person-facts span, .person-facts strong { display: block; }.person-facts span { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }.person-facts strong { margin-top: 6px; font-size: 10px; line-height: 1.35; }
.person-actions { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.person-actions button { border-radius: 9px; }
.person-boundary { margin: 12px 0 0; color: var(--faint); font-size: 8px; line-height: 1.5; }

.tool-list { align-items: start; }
.tool-item { position: relative; min-height: 145px; padding: 14px; border-radius: 12px; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.tool-item:hover, .tool-item.selected { border-color: rgba(114,202,188,.46); background: rgba(114,202,188,.055); transform: translateY(-1px); }
.tool-item code { color: #99dfd4; }
.tool-item .tool-meta { margin-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tool-item .tool-meta span { color: var(--faint); font: 7px var(--mono); text-transform: uppercase; }
.tool-item .tool-meta button { min-height: 29px; padding: 0 9px; border: 1px solid rgba(114,202,188,.25); border-radius: 7px; color: #9bddd3; background: transparent; font-size: 8px; cursor: pointer; }
.tool-item .tool-meta button:disabled { opacity: .34; }

.runtime-event time { min-width: 54px; text-align: right; }
.trace-inspector { grid-template-columns: repeat(2,minmax(0,1fr)); }
.trace-payload { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.trace-payload pre { max-height: 92px; margin: 5px 0 0; padding: 8px; overflow: auto; border: 1px solid var(--line); border-radius: 7px; color: #96bdb7; background: rgba(0,0,0,.25); font: 7px/1.45 var(--mono); white-space: pre-wrap; }
.trace-bars { grid-column: 1 / -1; height: 34px; display: flex; align-items: end; gap: 4px; padding-top: 7px; border-top: 1px solid var(--line); }
.trace-bars i { flex: 1; min-width: 4px; border-radius: 2px 2px 0 0; background: linear-gradient(#78cabc,#2d655d); }

@keyframes responder-pulse { 50% { opacity: .58; transform: scale(.9); } }

@media (max-width: 1180px) {
  .guided-brief { grid-template-columns: 54px 1fr auto; }
  .guided-change { display: none; }
}

@media (max-width: 760px) {
  .guided-brief { grid-template-columns: 46px 1fr; align-items: start; }
  .guided-step-count { width: 44px; height: 44px; }
  .guided-brief .primary-button { grid-column: 1 / -1; width: 100%; }
  .people-board .crew-strip { grid-template-columns: 1fr 1fr; }
  .crew-member { border-top: 1px solid var(--line); }
  .map-key { overflow-x: auto; flex-wrap: nowrap; }
  .map-key span { flex: 0 0 auto; }
  .trace-payload { grid-template-columns: 1fr; }
  .report-comparison { grid-template-columns: 1fr; }
  .route-receipt { position: relative; right: auto; bottom: auto; width: auto; margin: 8px; }
  .floor-wrap .zone-picker, .floor-wrap .map-callout { top: auto; }
}

@media (max-width: 480px) {
  .people-board .crew-strip { grid-template-columns: 1fr; }
  .people-board > header small { display: none; }
  .crew-member { min-height: 70px; }
  .person-facts { grid-template-columns: 1fr; }
  .person-facts div { border-left: 0; }
  .person-facts div:nth-child(2) { border-top: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  .person-marker, .occupant-marker, .tool-item { transition: none; }
  .person-marker.active circle:first-child { animation: none; }
}

/* v5 · visible exercise causality and selected-call delegation */
.scenario-sequence {
  min-height: 78px;
  padding: 9px 11px 10px;
  border-bottom: 1px solid rgba(132,185,177,.16);
  background: linear-gradient(90deg, rgba(76,151,141,.055), rgba(255,255,255,.008));
}
.scenario-sequence[hidden] { display: none; }
.scenario-sequence header { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.scenario-sequence header span { color: #78b9af; font: 800 7px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.scenario-sequence header strong { color: #777f79; font: 700 8px var(--mono); }
.scenario-sequence ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; }
.scenario-sequence li { position: relative; min-width: 0; display: grid; grid-template-columns: 23px minmax(0,1fr); gap: 7px; align-items: center; color: #6d746e; }
.scenario-sequence li:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 11px; right: -1px; left: 23px; height: 1px; background: #303631; }
.scenario-sequence li > i { position: relative; z-index: 1; width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid #3b423d; border-radius: 50%; color: #787f79; background: #101410; font: 800 8px var(--mono); font-style: normal; }
.scenario-sequence li > div { position: relative; z-index: 1; min-width: 0; padding-right: 8px; background: #101411; }
.scenario-sequence li strong, .scenario-sequence li span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scenario-sequence li strong { color: #858c87; font-size: 9px; }
.scenario-sequence li span { margin-top: 3px; color: #575e59; font: 7px var(--mono); }
.scenario-sequence li.done > i { border-color: rgba(114,202,188,.42); color: #9cddd3; background: rgba(72,151,140,.12); }
.scenario-sequence li.done:not(:last-child)::after { background: rgba(114,202,188,.42); }
.scenario-sequence li.done strong { color: #b9d9d3; }
.scenario-sequence li.current > i { border-color: var(--signal); color: #170b06; background: var(--signal); box-shadow: 0 0 18px rgba(255,107,53,.28); animation: sequence-pulse 1.8s ease-in-out infinite; }
.scenario-sequence li.current strong { color: #fff2eb; }
.scenario-sequence li.current span { color: #c8aaa0; }
.scenario-sequence li.current.tone-alert > i { border-color: var(--critical); background: var(--critical); box-shadow: 0 0 18px rgba(255,95,95,.3); }
.scenario-sequence li.current.tone-warning > i { border-color: var(--warning); background: var(--warning); box-shadow: 0 0 18px rgba(243,191,84,.28); }

.trace-orchestration { grid-column: 1 / -1; padding: 8px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; gap: 8px; border: 1px solid rgba(132,185,177,.18); border-radius: 8px; background: rgba(75,151,141,.045); }
.trace-orchestration span { position: relative; min-width: 0; min-height: 35px; padding: 5px 6px; display: grid; place-items: center; border: 1px solid #2c3935; border-radius: 6px; color: #8bbdb5; background: #0b100e; font: 700 6.5px/1.25 var(--mono); text-align: center; text-transform: none; }
.trace-orchestration span:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 50%; right: -9px; color: #4e6f69; background: #0d1512; transform: translate(50%,-50%); }
.trace-orchestration span.output { border-color: rgba(255,107,53,.34); color: #ffc2aa; background: rgba(255,107,53,.06); }

@keyframes sequence-pulse { 50% { transform: scale(.92); box-shadow: 0 0 8px rgba(255,107,53,.16); } }

@media (max-width: 760px) {
  .scenario-sequence { overflow-x: auto; }
  .scenario-sequence header { position: sticky; left: 0; width: min(100%, 340px); }
  .scenario-sequence ol { min-width: 690px; }
}

@media (prefers-reduced-motion: reduce) {
  .scenario-sequence li.current > i { animation: none; }
}

/* Final command-room entry: the scenario comes before the instrumentation. */
.launch-actions { margin-top: 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.launch-actions .primary-button { min-height: 46px; padding: 0 23px; border-radius: 10px; font-size: 14px; box-shadow: 0 7px 28px rgba(255,107,53,.13); }
.demo-link { color: #b9ccc5; font-size: 12px; text-decoration: none; }
.demo-link:hover { color: var(--ink); text-decoration: underline; }
.demo-link span { margin-left: 7px; color: var(--signal); }
.scenario-unstarted .scenario-rail { display: none; }
.scenario-unstarted .guided-brief { padding-top: 12px; padding-bottom: 12px; grid-template-columns: 44px 1fr auto; }
.scenario-unstarted .guided-change, .scenario-unstarted #guidedDescription { display: none; }
.scenario-unstarted .guided-copy > .eyebrow { color: #90aaa2; }

/* Conversation-first recovery: visible next action, honest intent, real receipts. */
.next-action-card { padding: 16px; margin-top: 16px; border: 1px solid #77503a; border-radius: 14px; background: linear-gradient(135deg,#241d16,#101612); }
.next-action-card > strong { display: block; margin-top: 8px; font-size: 21px; letter-spacing: -.025em; }
.next-action-card > p { font-size: 13px; line-height: 1.5; color: #bdc9c1; margin: 8px 0 14px; }
.next-action-card .primary-button { width: 100%; min-height: 46px; font-size: 14px; }
.next-action-card .quiet-button { width: 100%; margin-top: 8px; min-height: 38px; }
.conversation-dock { max-width: none; padding: 18px; }
.conversation-head { grid-template-columns: 34px minmax(0,1fr) auto auto auto; }
.conversation-head strong { font-size: 18px; }
.conversation-toggle { min-height: 34px; font-size: 12px; }
.conversation-meta { display: flex; justify-content: space-between; gap: 12px; margin: 12px 0 8px; color: #94a79d; font-size: 11px; }
.conversation-history { height: 340px; max-height: 48vh; padding: 16px; overscroll-behavior: contain; scrollbar-color: #71928a #101713; }
.conversation-turn { grid-template-columns: 32px minmax(0,1fr); gap: 12px; animation: none; }
.conversation-turn + .conversation-turn { margin-top: 18px; padding-top: 18px; }
.conversation-turn .turn-speaker { font-size: 10px; }
.conversation-turn p { font-size: 14px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.turn-content { min-width: 0; }
.turn-intent { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: #9fd6cb; }
.turn-intent > i { width: 6px; height: 6px; border-radius: 50%; background: #91cfb2; flex-shrink: 0; }
.conversation-turn .turn-intent > span { padding: 0; color: #9fd6cb; font: 600 11px var(--sans); text-transform: none; }
.turn-intent > small { margin-left: auto; color: #83968c; font-size: 10px; }
.turn-calls { display: grid; gap: 6px; margin-top: 12px; }
.turn-calls details { min-width: 0; background: #101b16; border: 1px solid #284237; border-radius: 9px; overflow: hidden; }
.turn-calls summary { display: flex; align-items: center; gap: 8px; padding: 10px; cursor: pointer; }
.turn-calls summary b { color: #a2d9b8; }
.turn-calls summary code { color: #c4ded1; font-size: 11px; overflow-wrap: anywhere; }
.turn-calls summary small { margin-left: auto; color: #8fa79a; font: 10px var(--mono); white-space: nowrap; }
.turn-calls details > p { padding: 0 12px 10px; color: #a6beb1; font-size: 12px; }
.receipt-data { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; padding: 0 12px 12px; }
.receipt-data > div { min-width: 0; }
.receipt-data strong { color: #94b5a6; font-size: 11px; }
.receipt-data pre { margin: 8px 0 0; padding: 10px; max-height: 260px; overflow: auto; color: #c1d5c9; background: #09110d; border-radius: 6px; font: 11px/1.6 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-next { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding-top: 14px; }
.chat-next > span { color: #a4b6ac; font-size: 12px; }
.chat-next button { min-height: 44px; flex-shrink: 0; }
#conversationDialog { width: min(1050px,calc(100vw - 32px)); max-width: none; height: min(900px,calc(100dvh - 40px)); max-height: none; padding: 0; border: 1px solid #527365; border-radius: 20px; overflow: hidden; background: #0b100d; color: var(--ink); }
#conversationDialog::backdrop { background: rgba(0,5,3,.82); backdrop-filter: blur(6px); }
#conversationDialog .conversation-dock { display: flex; flex-direction: column; height: 100%; margin: 0; border: 0; box-sizing: border-box; border-radius: 0; }
#conversationDialog .conversation-body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
#conversationDialog .conversation-history { flex: 1; height: auto; max-height: none; min-height: 80px; }
#conversationDialog #conversationToggle { display: none; }
#conversationDialog .conversation-head { grid-template-columns: 34px 1fr auto auto; }
.floor-viewport, .building-viewport { touch-action: pan-y; }
.floor-viewport.drawing { touch-action: none; }
.guided-brief, .conversation-dock { scroll-margin-top: 90px; }
@media (max-width: 760px) {
  .conversation-head { grid-template-columns: 34px 1fr auto; }
  .conversation-state { display: none; }
  #conversationToggle { grid-column: 3; }
  .conversation-head strong { font-size: 15px; }
  .conversation-head .eyebrow { font-size: 8px; }
  .conversation-meta { flex-direction: column; gap: 3px; font-size: 10px; }
  .conversation-history { padding: 10px; height: 360px; max-height: 50vh; }
  .conversation-turn { grid-template-columns: 24px minmax(0,1fr); gap: 7px; }
  .conversation-turn p { font-size: 13px; }
  .chat-next { align-items: stretch; flex-direction: column; gap: 8px; }
  .receipt-data { grid-template-columns: minmax(0,1fr); }
  #conversationDialog { width: calc(100vw - 12px); height: calc(100dvh - 12px); border-radius: 12px; }
  #conversationDialog .conversation-dock { padding: 12px; }
  #conversationDialog .conversation-head { grid-template-columns: 30px 1fr auto; }
  #conversationDialog .quick-actions { display: flex; overflow-x: auto; gap: 5px; }
  #conversationDialog .quick-actions button { min-width: 76px; font-size: 11px; }
  .plan-controls { flex-wrap: wrap; }
  .plan-controls > div { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .conversation-turn, .turn-intent i { animation: none !important; } }
.building-copy h2 { font-size: clamp(28px,2.5vw,38px); line-height: 1.06; letter-spacing: -.035em; }
@media (max-width: 760px) {
  .launch-actions { gap: 13px; }
  .scenario-unstarted .guided-brief { grid-template-columns: 40px 1fr; }
  .scenario-unstarted .guided-brief .primary-button { grid-column: 1 / -1; }
}
/* Room-scale spatial walkthrough: one model, one inspector, one route. */
.interior-view { background:#0b141b; color:#e5f0ec; border-top:1px solid #304850; }
.interior-toolbar,.walkthrough-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px 20px; }
.interior-toolbar strong { display:block; margin-top:6px; font-size:18px; }
.interior-controls { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.interior-controls button,.walkthrough-controls button,.interior-controls select { border:1px solid #3c535b; border-radius:7px; background:#14232b; color:#dbece6; padding:9px 11px; min-height:38px; font:600 12px var(--sans); }
.interior-controls label { font-size:12px; color:#a8c2c3; }
.interior-layout { display:grid; grid-template-columns:minmax(0,1fr) 255px; border-block:1px solid #29414a; }
.interior-stage { position:relative; height:580px; min-width:0; overflow:hidden; }
#interiorCanvas { display:block; width:100%; height:100%; touch-action:pan-y; }
#interiorFallback { padding:35px; color:#e8c98c; }
.interior-watermark,.interior-gesture { position:absolute; pointer-events:none; color:#8baeb8; font:10px var(--mono); }
.interior-watermark { top:15px;left:16px; }.interior-gesture { bottom:14px;left:16px; }
.interior-play-caption { position:absolute; left:16px;bottom:40px; width:min(370px,calc(100% - 32px)); padding:14px 16px; background:#09151bf2; border:1px solid #59747b; border-left:3px solid #e6c376; border-radius:9px; pointer-events:none; }
.interior-play-caption span { color:#a3c5bd;font:10px var(--mono); }.interior-play-caption strong { display:block;margin-top:6px;font-size:17px; }.interior-play-caption p { font-size:12px;line-height:1.5;color:#b7c9c9;margin:7px 0 0; }
.room-inspector { background:#101e26;border-left:1px solid #29414a;padding:16px; }
#interiorRooms { display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:20px; }
#interiorRooms button { min-height:38px;border:1px solid #3b535c;background:#14262f;color:#b9cece;border-radius:6px;padding:6px;font-size:11px; }
#interiorRooms button.active,.equipment-pins button.active { border-color:#83d6c4;background:#21483f;color:#e6fff5; }
#interiorDetail h3 { font-size:23px;line-height:1.15;margin:7px 0 15px;letter-spacing:-.04em; }
#interiorDetail p { font-size:12px;line-height:1.5;color:#bdcfca; }
.room-metrics { display:grid;grid-template-columns:1.4fr 1fr;gap:8px; }
.room-metrics strong,.room-metrics span { display:block; }.room-metrics strong {font:700 19px var(--mono);}.room-metrics span {color:#9bb3b6;font-size:10px;margin-top:5px;}
.room-inspector p.interior-note { color:#9cb5bb;font-size:11px;line-height:1.5; }
.equipment-pins { display:grid;gap:5px;border-top:1px solid #29414a;padding-top:12px; }
.equipment-pins button { display:flex;align-items:center;gap:9px;text-align:left;border:1px solid transparent;background:#13252d;color:#c8d9d5;padding:7px;border-radius:5px;font-size:11px; }
.equipment-pins b {width:24px;height:24px;display:grid;place-items:center;border:1px solid #a88e69;color:#f0cf91;font:12px var(--mono);}
.equipment-explanation {padding:12px 0 0;}.equipment-explanation code {font-size:10px;color:#99d5c9;}.equipment-explanation strong {display:block;margin-top:7px;font-size:15px;}.equipment-explanation p {font-size:11px;line-height:1.5;color:#b7cdcf;}.equipment-explanation small {font-size:10px;color:#cfb787;}
.walkthrough-desk {padding-bottom:18px;}.walkthrough-heading h3 {margin:5px 0 0;font-size:20px;}
.walkthrough-steps {display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:0 20px;}
.walkthrough-steps button {display:flex;align-items:flex-start;gap:8px;text-align:left;padding:13px 9px;min-height:66px;border:1px solid #365059;border-radius:6px;background:#101f28;color:#9cb4bb;}.walkthrough-steps button.active {border-color:#e0c27c;background:#2b3029;color:#f6ead0;}.walkthrough-steps span {font:11px var(--mono);}.walkthrough-steps strong {font-size:11px;line-height:1.4;}.walkthrough-steps .unavailable {opacity:.5;}
.walkthrough-controls {display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:14px 20px;}.walkthrough-controls label {display:flex;align-items:center;gap:5px;font-size:11px;color:#b6cbc7;}.walkthrough-controls span {margin-left:auto;font:10px var(--mono);color:#90abae;}.walkthrough-controls button:disabled {opacity:.4;}.walkthrough-controls #walkPlay {background:#d7bc7b;color:#142025;border-color:#d7bc7b;}
.walkthrough-logic {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 20px;}.walkthrough-logic article {border-top:1px solid #3e5c66;padding-top:11px;}.walkthrough-logic span {font:10px var(--mono);color:#88cfbf;}.walkthrough-logic p {font-size:11px;line-height:1.5;color:#a8c0c4;margin:8px 0 0;}
.interior-view.expanded {position:fixed;inset:10px;z-index:100;overflow:auto;border:1px solid #58727b;border-radius:12px;box-shadow:0 0 0 30px #000b;}.interior-view.expanded .interior-stage {height:min(66vh,800px);}
@media(min-width:1800px){.interior-stage {height:670px;}.interior-layout {grid-template-columns:minmax(0,1fr) 290px;}}
@media(max-width:1000px){.interior-layout {grid-template-columns:1fr;}.room-inspector {border-left:0;border-top:1px solid #29414a;display:grid;grid-template-columns:1fr 1fr;gap:12px;}#interiorRooms {grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:0;}.interior-stage {height:500px;}.walkthrough-logic {grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.interior-toolbar,.walkthrough-heading {flex-direction:column;align-items:stretch;padding:14px;}.interior-stage {height:450px;}.room-inspector {padding:14px;}.interior-watermark {font-size:8px;}.interior-play-caption {bottom:32px;padding:10px;}.interior-play-caption strong {font-size:15px;}.interior-play-caption p {font-size:11px;}.walkthrough-steps {padding:0 14px;grid-template-columns:repeat(5,minmax(55px,1fr));gap:3px;}.walkthrough-steps button {padding:8px 4px;flex-direction:column;gap:5px;}.walkthrough-steps strong {font-size:9px;}.walkthrough-controls {padding:12px 14px;}.walkthrough-controls span {margin:5px 0 0;width:100%;}.walkthrough-logic {padding:0 14px;}.view-switch {flex-wrap:wrap;}.interior-view.expanded {inset:3px;}}
.print-pack-dialog { width:min(1400px,calc(100vw - 24px));max-width:none;height:94vh;max-height:94vh;padding:0;background:#0d1b22;color:#d7e9e4;border:1px solid #68828a;border-radius:12px; }
.print-pack-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.print-pack-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #3d555c}.print-pack-dialog>header span{display:block;font-size:11px;color:#9db6b9;margin-top:5px}.print-pack-dialog nav{display:flex;flex-wrap:wrap;gap:6px}.print-pack-dialog button{padding:9px 12px;min-height:40px;border:1px solid #506a72;border-radius:6px;background:#203640;color:#e1f0ed;font:12px var(--sans)}.print-pack-dialog>p{padding:0 18px;font-size:11px;color:#bdd0c8}.print-pack-dialog iframe{width:100%;height:calc(100% - 116px);border:0;background:#d5dfdf}@media(max-width:650px){.print-pack-dialog>header{align-items:stretch;flex-direction:column}.print-pack-dialog iframe{height:calc(100% - 180px)}.print-pack-dialog{width:calc(100vw - 12px)}}
.interior-view { scroll-margin-top:85px; }
.team-map-status{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);padding:11px 14px;background:#0b1e27ed;border:1px solid #709b9f;border-radius:7px;font:12px var(--mono);color:#d8f4e6;pointer-events:none;box-shadow:0 5px 25px #0008;z-index:3}
.team-desk{padding:22px;border-top:1px solid #34464a;background:#102027;scroll-margin-top:95px}.team-desk-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.team-desk h3{font-size:23px;margin:6px 0}.team-legend{font:11px var(--mono);color:#d5c88a;max-width:270px;line-height:1.6}.team-fields{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:end}.team-fields label{display:grid;gap:7px;font-size:12px;color:#c1d4d7}.team-fields select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid #52676c;border-radius:7px;background:#0c1519;color:#f1f2e8;font:14px var(--sans)}.team-fields button{min-height:48px;font-size:14px}.team-state{font-size:13px;color:#acd6d7;line-height:1.6}.handoff-summary{display:flex;justify-content:space-between;align-items:center;gap:16px}.handoff-summary small{font:10px var(--mono);color:#9adcf0}.handoff-summary p{font-size:13px;color:#bfd0d1}.handoff-status{padding:8px 11px;border:1px solid #5396ad;border-radius:6px;font:11px var(--mono);color:#9beaff}.handoff-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;padding:8px 0 12px 22px;font-size:13px;line-height:1.65;color:#d1dfdf}.handoff-checks li::marker{color:#76c9de;font-family:var(--mono)}.team-approval{display:flex;gap:10px;flex-wrap:wrap}.team-approval button{font-size:14px;min-height:44px}.team-history{margin-top:18px;border-top:1px solid #354b50;padding-top:12px;font-size:12px;color:#b9cccc}.team-history summary{cursor:pointer;padding:6px 0}.handoff-history-row{display:grid;grid-template-columns:150px 1fr;gap:4px 14px;padding:12px 0;border-bottom:1px solid #2b4146}.handoff-history-row small{grid-column:2;font-size:11px;color:#97b4bb}#teamProposal{padding:18px;margin:14px 0;background:#0b171d;border:1px solid #476776;border-radius:9px}
@media(max-width:1100px){.team-fields{grid-template-columns:1fr 1fr}.team-desk-heading{align-items:flex-start;flex-direction:column;gap:8px}.team-legend{max-width:none}}@media(max-width:600px){.team-desk{padding:16px}.team-fields{grid-template-columns:1fr}.team-desk h3{font-size:21px}.handoff-checks{grid-template-columns:1fr;gap:12px}.handoff-summary{align-items:flex-start;flex-direction:column}.handoff-history-row{grid-template-columns:1fr}.handoff-history-row small{grid-column:1}.team-approval button{flex:1 1 130px}}
.interior-view .room-inspector { max-height:580px;overflow:auto;overscroll-behavior:contain; }
.interior-view .interior-play-caption {position:static;width:auto;margin:0 20px 14px;pointer-events:auto;padding:12px 15px;}
.interior-play-caption strong {display:inline;margin-left:12px;}.interior-play-caption p {margin-top:5px;}
@media(min-width:1800px){.interior-view .room-inspector{max-height:670px}}
@media(max-width:1000px){.interior-view .room-inspector{max-height:none;overflow:visible}}
@media(max-width:600px){.interior-view .interior-play-caption{margin:0 14px 12px}.interior-play-caption strong{display:block;margin:7px 0 0}.interior-view .room-metrics{grid-template-columns:1fr}.interior-stage{height:380px}}
