:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background:#0b1017; color:#e8eef7; --surface:#121a24; --surface2:#182230; --border:#2a394b; --accent:#54a8ff; --muted:#8fa0b5; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; }
header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:18px 28px; border-bottom:1px solid var(--border); background:#0b1017ee; backdrop-filter:blur(10px); }
.header-actions { display:flex; align-items:center; gap:18px; }
.app-tabs { display:flex; gap:6px; }
.app-tabs button { min-height:34px; padding:6px 10px; border-color:transparent; background:transparent; color:var(--muted); }
.app-tabs button.active { border-color:var(--border); background:var(--surface2); color:#fff; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:0; font-size:24px; }
main { display:grid; gap:24px; max-width:1440px; margin:auto; padding:24px; }
.app-view { display:grid; gap:24px; min-width:0; }
section { min-width:0; }
.eyebrow { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.muted { color:var(--muted); }
.run-card { display:grid; grid-template-columns:minmax(280px,1.15fr) repeat(2,minmax(230px,.85fr)); grid-template-areas:"intro scenario condition" "intro live actions" "lifecycle lifecycle lifecycle" "settings settings settings"; align-items:end; gap:16px; padding:20px; border:1px solid #316698; border-radius:14px; background:linear-gradient(145deg,#152638,var(--surface)); }
.run-introduction { grid-area:intro; align-self:start; }
.scenario-field { grid-area:scenario; }
.condition-field { grid-area:condition; }
label { display:grid; gap:6px; color:var(--muted); font-size:12px; }
label small { max-width:32ch; color:var(--muted); font-size:11px; font-weight:500; line-height:1.35; }
select,button { min-height:40px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:inherit; padding:8px 12px; }
button { cursor:pointer; font-weight:750; }
button:hover { border-color:var(--accent); }
button:disabled { cursor:wait; opacity:.55; }
.live { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; min-height:40px; }
.live small { flex-basis:100%; }
.run-card > .live { grid-area:live; }
.run-actions { grid-area:actions; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.run-actions #run,.run-actions #resume { grid-column:1/-1; }
.run-card > #lifecycle-help { grid-area:lifecycle; margin:0; }
.run-card > details { grid-area:settings; color:var(--muted); }
summary { cursor:pointer; font-weight:700; }
.settings-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:14px; margin:16px 0 12px; }
.setting-field { display:grid; align-content:start; gap:7px; }
.setting-label,.heading-help { display:flex; align-items:center; gap:8px; }
.setting-label label { color:#dbe8f6; font-size:12px; font-weight:750; }
.setting-field input { min-height:40px; width:100%; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:inherit; padding:8px 12px; }
.help-button { min-width:25px; min-height:25px; padding:0; border-radius:999px; color:#b9d7f5; font-size:12px; }
.inline-help { display:block; max-width:72ch; color:#b9c8da; line-height:1.45; }
.authorization-preview { margin:12px 0; padding:11px 13px; border-left:3px solid var(--accent); background:#101923; color:#dbe8f6; }
.assumption-panel { padding:14px; border:1px solid var(--border); border-radius:10px; background:#101923; }
.assumption-panel h3 { margin-bottom:5px; color:#e8eef7; }
.assumption-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.assumption-columns ul { margin:7px 0 0; padding-left:18px; line-height:1.45; }
.assumption-columns li { margin:5px 0; }
.run-config-readout { display:flex; flex-wrap:wrap; gap:7px 16px; padding:12px 16px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--muted); }
.run-config-readout strong { color:#e8eef7; }
.run-config-readout small { flex-basis:100%; }
.result-summary-status { width:max-content; margin:0; padding:7px 11px; border-radius:999px; background:#17314a; color:#b9d7f5; font-size:12px; font-weight:800; }
.technical-details { display:grid; gap:14px; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.technical-details[open] > summary { margin-bottom:14px; }
.technical-details > .status-line,.technical-details > .run-config-readout,.technical-details > section,.technical-details > details,.technical-details > h3,.technical-details > pre { margin-top:12px; }
.heading-help h2 { margin:0; }
.summary-help { margin-left:8px; color:var(--muted); font-size:11px; font-weight:500; }
.history-card { padding:22px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.history-card h2 { margin:6px 0; }
.readme-card { padding:22px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.readme-card > p { max-width:92ch; font-size:16px; line-height:1.55; }
.readme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.readme-grid article { padding:16px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.readme-grid h3 { margin-bottom:7px; }
.readme-grid p { margin:0; color:var(--muted); line-height:1.5; }
.history { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:10px; }
.history-item { position:relative; display:grid; grid-template-columns:1fr auto; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:var(--surface2); }
.history-item .open-run { display:grid; gap:4px; border:0; border-radius:0; text-align:left; }
.history-item .open-run span,.history-item .open-run small { color:var(--muted); }
.history-item .trash-run { min-width:36px; border-width:0 0 0 1px; border-radius:0; color:var(--muted); }
.assay-launch { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:18px; border:1px solid #52789d; border-radius:12px; background:linear-gradient(145deg,#14283a,#101923); }
.assay-launch + .muted + .composite-assays + .assay-launch { margin-top:18px; }
.assay-launch h3 { margin:5px 0 7px; font-size:20px; }
.assay-launch p { max-width:86ch; margin-bottom:7px; line-height:1.5; }
.assay-launch small { color:var(--muted); }
.live-probe-callout { margin:12px 0 0; padding:16px 18px; border:1px solid #3d617d; border-radius:12px; background:#101c27; }
.live-probe-callout h3 { margin:5px 0 7px; font-size:18px; }
.live-probe-callout p { max-width:90ch; margin-bottom:7px; line-height:1.5; }
.live-probe-callout small { color:var(--muted); }
.composite-assays { display:grid; gap:18px; }
.composite-assay { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:16px; padding:18px; border:1px solid #416482; border-radius:12px; background:#0f1721; }
.composite-assay > header { position:static; display:flex; align-items:start; gap:20px; padding:0; border:0; background:transparent; backdrop-filter:none; }
.composite-assay > header > div { flex:1; }
.composite-assay > header h3 { margin:5px 0 0; font-size:21px; }
.composite-assay > header small { color:var(--muted); white-space:nowrap; }
.assay-header-actions { display:grid; justify-items:end; gap:8px; }
.assay-header-actions button { min-height:30px; padding:5px 8px; color:var(--muted); font-size:11px; }
.assay-unavailable { border-color:#8d6942; }
.assay-unavailable h3 { margin:0; }
.assay-unavailable p { margin:0; color:var(--muted); }
.assay-question { max-width:92ch; margin:0; color:#c5d3e2; line-height:1.5; }
.assay-table-wrap { max-width:100%; min-width:0; overflow-x:auto; border:1px solid var(--border); border-radius:10px; }
.assay-table { width:100%; min-width:1100px; border-collapse:collapse; background:#101923; font-size:12px; }
.coordination-experiment-table { min-width:980px; }
.table-scroll-hint { display:none; color:var(--muted); }
.assay-table th { padding:10px 12px; border-bottom:1px solid #45627e; color:#aebed0; text-align:left; text-transform:uppercase; letter-spacing:.04em; }
.assay-table td { padding:11px 12px; border-bottom:1px solid var(--border); color:#dce7f3; vertical-align:top; line-height:1.4; }
.assay-table tbody tr:last-child td { border-bottom:0; }
.assay-table tbody tr.selected { background:#18324a; }
.assay-table td strong,.assay-table td small { display:block; }
.assay-table td small { margin-top:3px; color:var(--muted); }
.assay-row-select { min-height:0; padding:0; border:0; background:transparent; color:#b9d7f5; text-align:left; text-decoration:underline; }
.assay-selection { display:grid; gap:13px; padding:18px; border:1px solid #537da4; border-radius:11px; background:#142231; }
.assay-selection h4 { margin:0; font-size:22px; }
.assay-selection > p { max-width:88ch; margin:0; color:#d9e5f1; line-height:1.5; }
.assay-flow-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.assay-flow-grid article { padding:13px; border:1px solid var(--border); border-radius:9px; background:#101923; }
.assay-flow-grid strong { display:block; margin:5px 0 6px; color:#f1f6fb; }
.assay-flow-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.assay-interpretation { padding:13px 15px; border-left:3px solid #a680d3; border-radius:7px; background:#19182a; }
.assay-interpretation p { margin:5px 0; line-height:1.48; }
.assay-interpretation small { color:var(--muted); }
.assay-selection-actions,.assay-evidence-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.assay-evidence-details { color:#b9c8da; font-size:12px; }
.assay-evidence-details p { overflow-wrap:anywhere; }
.assay-evidence-buttons button { min-height:32px; padding:5px 8px; font-size:11px; }
.coordination-experiment-table .open-coordination-run { min-height:30px; margin:0 4px 4px 0; padding:4px 7px; font-size:11px; }
.coordination-contrasts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.coordination-contrasts > .eyebrow { grid-column:1/-1; }
.coordination-contrasts article { padding:13px; border:1px solid var(--border); border-radius:9px; background:#101923; }
.coordination-contrasts p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.measurement-history-status { width:max-content; margin-top:3px; padding:3px 7px; border-radius:999px; background:#243344; color:#b9c8da !important; font-weight:750; }
.measurement-history-status.available { background:#17382f; color:#b7eadc !important; }
.measurement-history-status.invalid { background:#402b20; color:#ffd29a !important; }
.authoring-card { display:grid; gap:16px; padding:24px; border:1px solid #316698; border-radius:14px; background:linear-gradient(145deg,#152638,var(--surface)); }
.authoring-card > p { max-width:96ch; }
.reviewed-example { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:15px 17px; border:1px solid #52789d; border-radius:12px; background:#101923; }
.reviewed-example p { max-width:82ch; margin:5px 0 0; color:var(--muted); line-height:1.45; }
.configuration-review { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.configuration-review section { padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.configuration-review h4 { margin:5px 0 8px; }
.configuration-review p { margin:0 0 8px; line-height:1.48; }
.configuration-review small { color:var(--muted); line-height:1.4; }
.authoring-card textarea { width:100%; margin-top:7px; resize:vertical; }
.authoring-chat { display:grid; gap:12px; max-height:480px; overflow-y:auto; padding:18px; border:1px solid var(--border); border-radius:12px; background:#0d151f; }
.chat-message { display:grid; gap:6px; width:min(82%,820px); padding:13px 15px; border:1px solid var(--border); border-radius:12px; background:var(--surface2); }
.chat-message.user { justify-self:end; border-color:#356b9d; background:#17314a; }
.chat-message.assistant { justify-self:start; background:#141e2a; }
.chat-message span { color:#b9d7f5; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.chat-message p { margin:0; line-height:1.5; white-space:pre-wrap; }
.chat-message small { color:var(--muted); }
.authoring-composer { display:grid; gap:12px; padding:16px; border:1px solid #316698; border-radius:12px; background:#101923; }
.authoring-compose-controls { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto; align-items:end; gap:12px; }
.authoring-actions { display:flex; flex-wrap:wrap; gap:10px; }
#authoring-review { display:grid; gap:14px; }
#authoring-status { padding:10px 13px; border-left:3px solid var(--accent); background:#101923; }
.authoring-configuration-section { display:grid; gap:10px; }
.authoring-configuration-section h2 { margin:0; }
.coordination-editor-details { border:1px solid #3d6f9d; border-radius:12px; background:#101923; padding:14px 16px; }
.coordination-editor { display:grid; gap:16px; margin-top:14px; }
.coordination-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.coordination-editor-group { display:grid; gap:11px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.coordination-editor-group h3,.coordination-editor-group h4 { margin:0; }
.coordination-editor-group textarea,.coordination-editor-group input,.coordination-editor-group select { width:100%; margin-top:6px; }
.coordination-editor-group textarea { min-height:76px; }
.coordination-checks { display:flex; flex-wrap:wrap; gap:9px 14px; }
.coordination-checks label { display:flex; align-items:flex-start; gap:7px; color:#dce7f3; }
.coordination-checks input { width:auto; margin:3px 0 0; }
.coordination-fixed-cadence { margin:0; padding:10px 12px; border-left:3px solid #7d91a8; background:#101923; color:var(--muted); }
.coordination-edit-actions { display:flex; align-items:center; gap:10px; }
.coordination-edit-status { color:var(--muted); font-size:12px; }
.authoring-people-section { display:grid; gap:10px; }
.authoring-people-section h2 { margin:0; }
.authoring-people { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:12px; }
.person-card { display:grid; gap:11px; padding:16px; border:1px solid #3d6f9d; border-radius:12px; background:#101923; }
.person-card header { position:static; display:block; padding:0; border:0; background:transparent; backdrop-filter:none; }
.person-card header h3 { margin:3px 0 5px; }
.person-card header p { margin:0; color:#b9c8da; line-height:1.45; }
.person-card-summary { display:grid; gap:6px; padding:10px 12px; border-left:3px solid #58a6ff; background:#152433; }
.person-card-summary p { margin:0; line-height:1.4; }
.person-card details { border-top:1px solid var(--border); padding-top:10px; }
.person-editor { display:grid; gap:11px; margin-top:12px; }
.person-editor textarea,.person-editor input { width:100%; min-height:40px; border:1px solid var(--border); border-radius:8px; background:var(--surface2); color:inherit; padding:8px 10px; resize:vertical; }
.person-editor textarea { min-height:72px; }
.person-editor small { max-width:unset; }
.person-edit-actions { display:flex; align-items:center; gap:10px; }
.person-edit-status { color:var(--muted); font-size:12px; }
#authoring-graph { min-height:680px; }
.warning { color:#ffc46b; }
#result { display:grid; gap:24px; }
.status-line { display:flex; gap:18px; padding:12px 16px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--muted); }
.story { padding:22px; border:1px solid #316698; border-radius:14px; background:linear-gradient(145deg,#17283a,var(--surface)); }
.story h2 { margin-top:8px; font-size:28px; }
.story p { max-width:90ch; font-size:17px; line-height:1.6; }
.story li { margin:6px 0; color:var(--muted); }
.story-event { min-height:unset; border:0; background:transparent; padding:3px 6px; color:var(--muted); text-align:left; font-weight:500; }
.story-event.active { color:#fff; background:#24496d; }
.timeline-panel { padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.timeline-panel h2 { margin:5px 0; }
.timeline-panel > .muted { margin-bottom:14px; }
.timeline-controls { display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; gap:10px; align-items:center; }
.timeline-controls input { width:100%; accent-color:var(--accent); }
.timeline-track { display:flex; gap:3px; align-items:center; min-height:35px; margin:10px 0; overflow-x:auto; }
.timeline-marker { flex:1 0 7px; min-width:7px; min-height:22px; padding:0; border:0; border-radius:3px; background:#536174; opacity:.65; }
.timeline-marker.kind-action_attempted { background:#54a8ff; }
.timeline-marker.kind-effect_routed,.timeline-marker.kind-observation_delivered { background:#ef79b7; }
.timeline-marker.kind-mechanism_executed { background:#e8a84d; }
.timeline-marker.kind-state_committed { background:#73d69c; }
.timeline-marker.active { min-height:34px; outline:2px solid #fff; opacity:1; }
.event-detail { min-height:100px; padding:15px 18px; border-left:4px solid var(--accent); background:var(--surface2); }
.event-detail div { display:flex; gap:12px; color:var(--muted); font-size:12px; }
.event-detail h3 { margin:9px 0; }
.event-kind { color:var(--accent); font-weight:800; text-transform:uppercase; }
.map-section > .muted { max-width:92ch; margin-bottom:14px; }
.map-section > .muted strong { color:#dbe8f6; }
.projection-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.projection-toolbar .tabs { margin:0; }
.projection-toolbar .tabs button { min-width:132px; }
.projection-toolbar .tabs button.active { border-color:var(--accent); background:#203b56; color:#fff; }
.projection-toolbar .tabs button:disabled { cursor:not-allowed; }
.projection-toolbar p { max-width:72ch; margin:0; font-size:12px; text-align:right; }
.analytical-scale-control { display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto; flex-basis:100%; align-items:end; gap:12px; padding:12px; border:1px solid #52657b; border-radius:10px; background:#101923; }
.analytical-scale-control label { color:#dbe8f6; font-weight:800; }
.analytical-scale-control button { white-space:nowrap; }
.step-account { padding:22px; border:1px solid #316698; border-radius:14px; background:linear-gradient(145deg,#17283a,var(--surface)); }
.step-account h2 { margin:7px 0; font-size:24px; }
.step-account > p { max-width:90ch; font-size:17px; line-height:1.6; }
#step-account-body { display:grid; gap:12px; }
#step-account-body span { display:block; }
.step-account > .muted { font-size:12px; }
.step-account .event-detail { margin-top:16px; }
.moment-events { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.moment-events button { min-height:32px; padding:5px 9px; color:var(--muted); font-size:11px; }
.moment-events button.active { border-color:#fff; background:#24496d; color:#fff; }
.turn-narratives { padding:22px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.turn-narratives h2 { margin:7px 0; }
.turn-narratives > .muted { max-width:86ch; }
.initial-situation { display:grid; gap:7px; margin:16px 0; padding:16px 18px; border-left:4px solid #83d6c0; border-radius:8px; background:#10231f; }
.initial-situation h3 { margin:0; color:#b7eadc; font-size:14px; }
.initial-situation p { max-width:84ch; margin:0; line-height:1.58; }
.initial-situation small { color:var(--muted); }
.initial-people { max-width:92ch; line-height:1.5; }
.initial-people > strong { display:block; margin-bottom:5px; }
.initial-people ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 24px; margin:0; padding-left:20px; }
.initial-people li { color:#dcefe9; }
.narrative-mode { display:flex; gap:8px; margin:16px 0 12px; }
.narrative-mode button[aria-pressed="true"] { border-color:#fff; background:#24496d; color:#fff; }
.narrative-count { margin:-4px 0 12px; font-size:12px; }
.narrative-reading { min-width:0; }
#turn-narratives,#detailed-narrative { display:grid; gap:10px; }
#detailed-narrative { max-height:680px; overflow:auto; padding-right:4px; }
.turn-narrative { display:grid; gap:7px; padding:14px 16px; border-left:4px solid #487ca7; border-radius:8px; background:var(--surface2); text-align:left; font-weight:500; }
.turn-narrative p { margin:0; color:#eef5fc; font-size:15px; line-height:1.55; }
.turn-narrative small { color:var(--muted); }
.turn-narrative.active { border-color:#fff; background:#203b56; }
.detailed-narrative-moment { display:grid; gap:8px; padding:16px 18px; border-left:4px solid #567c9e; border-radius:8px; background:#111c28; cursor:pointer; }
.detailed-narrative-moment p { max-width:78ch; margin:0; color:#e8f0f8; font-size:15px; line-height:1.68; }
.detailed-narrative-moment .causal-result { margin-top:2px; padding:11px 13px; border-left:2px solid #83d6c0; border-radius:6px; background:#10231f; }
.detailed-narrative-moment .causal-result strong { display:block; margin-bottom:4px; color:#b7eadc; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.detailed-narrative-moment .causal-result p { color:#dcefe9; font-size:14px; }
.detailed-narrative-moment small { color:var(--muted); font-size:11px; }
.narrative-meta { display:block; color:#788da1 !important; font-size:11px !important; font-weight:500; letter-spacing:0; text-transform:none; }
.narrative-evidence { margin-top:4px; color:var(--muted); font-size:11px; }
.narrative-evidence summary { width:max-content; cursor:pointer; color:#9fc4e5; font-weight:750; }
.narrative-evidence small { display:block; max-width:86ch; margin-top:8px; overflow-wrap:anywhere; line-height:1.45; }
.evidence-context-button,.prior-narrative-link { justify-self:start; padding:0; border:0; background:transparent; color:#b9d7f5; font:inherit; font-size:11px; font-weight:800; cursor:pointer; text-decoration:underline; }
.detailed-narrative-moment.active { border-color:#fff; background:#203b56; }
.detailed-narrative-moment.legacy { border-style:dashed; }
.turn-narratives > .story { margin-top:16px; }
.measurement-section { display:grid; gap:16px; padding:22px; border:1px solid #416482; border-radius:14px; background:linear-gradient(145deg,#142231,var(--surface)); }
.measurement-section > h2 { margin:0; }
.measurement-section > p { max-width:88ch; margin-bottom:0; line-height:1.55; }
#coordination-measurement-content { display:grid; gap:22px; }
.provenance-key { display:flex; flex-wrap:wrap; gap:8px; }
.provenance-badge { display:inline-block; width:max-content; padding:4px 8px; border:1px solid; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
.provenance-badge.exact { border-color:#5ba98e; background:#16362d; color:#b7eadc; }
.provenance-badge.coded { border-color:#a680d3; background:#2c2340; color:#dcc7f7; }
.measurement-snapshot { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.exact-measure-card,.coded-indicator { display:grid; min-width:0; align-content:start; gap:8px; padding:15px; border:1px solid var(--border); border-radius:10px; background:#101923; }
.exact-measure-card { border-left:3px solid #5ba98e; }
.exact-measure-card h4,.coded-indicator h4 { margin:0; font-size:15px; }
.exact-measure-card .measure-value { margin:0; color:#f0f7f4; font-size:17px; font-weight:800; line-height:1.35; }
.exact-measure-card > small { color:var(--muted); }
.exact-measure-card details,.coded-indicator details { margin-top:4px; color:var(--muted); font-size:12px; }
.exact-measure-card pre { max-height:240px; margin-bottom:8px; }
.coded-indicators { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.coded-indicator { border-left:3px solid #a680d3; }
.coded-indicator > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.coded-indicator > p { margin:0; line-height:1.55; }
.direction-badge { color:#c9b1e8; font-size:11px; font-weight:800; text-transform:uppercase; }
.coded-indicator.unclear .direction-badge { color:#ffd29a; }
.exact-measure-details,.measurement-limitations { padding:14px 16px; border:1px solid var(--border); border-radius:10px; background:#0f1721; }
.exact-measures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.measurement-limitations ul { max-width:90ch; padding-left:20px; color:#b9c8da; line-height:1.5; }
.measurement-evidence { min-width:0; margin-top:4px; color:#9fc4e5; font-size:11px; }
.measurement-evidence > summary { width:max-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.measurement-evidence > div { display:grid; min-width:0; gap:6px; margin-top:7px; }
.measurement-evidence button { display:block; width:100%; min-width:0; min-height:32px; padding:6px 8px; overflow:hidden; color:#b9d7f5; font-size:11px; font-weight:650; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.measurement-evidence small { color:var(--muted); }
.measurement-state { padding:14px 16px; border-left:3px solid #7892aa; border-radius:8px; background:#101923; }
.measurement-state.invalid { border-color:#e8a84d; background:#2c2117; }
.measurement-state p { margin:6px 0 0; color:#b9c8da; }
.theory-analysis-section { display:grid; gap:16px; padding:22px; border:1px solid #416482; border-radius:14px; background:linear-gradient(145deg,#142231,var(--surface)); }
.theory-analysis-section > h2 { margin:0; }
.theory-analysis-section > p { max-width:88ch; margin:0; line-height:1.55; }
.theory-module { display:grid; grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr); gap:18px; padding:18px; border:1px solid var(--border); border-radius:12px; background:#0f1721; }
#decision-environment-section { grid-template-columns:1fr; }
.theory-module h3 { margin:5px 0 8px; font-size:21px; }
.theory-module > div:first-child p { color:#b9c8da; line-height:1.5; }
.waltzman-demonstration { display:grid; gap:12px; margin-bottom:14px; }
.waltzman-takeaway { padding:17px 18px; border:1px solid #4c7ea9; border-radius:11px; background:linear-gradient(135deg,#19324a,#122131); }
.waltzman-takeaway h4 { margin:5px 0 7px; color:#fff; font-size:19px; }
.waltzman-takeaway p { max-width:80ch; margin:0; color:#d4e4f3; line-height:1.55; }
.waltzman-constructs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.waltzman-constructs article { padding:14px; border-top:3px solid #66c4a7; border-radius:9px; background:#14231f; }
.waltzman-constructs span { display:block; margin-bottom:7px; color:#9edbc8; font-size:11px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.waltzman-constructs strong { display:block; color:#f2f8f6; font-size:14px; line-height:1.4; }
.waltzman-constructs p { margin:6px 0 0; color:#b9c8c3; font-size:12px; line-height:1.45; }
.waltzman-trajectory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.waltzman-trajectory-step { position:relative; display:grid; grid-template-columns:auto 1fr; gap:9px; min-width:0; padding:13px 11px; border:1px solid var(--border); border-radius:9px; background:#101923; }
.waltzman-trajectory-step:not(:last-child)::after { content:'→'; position:absolute; z-index:1; top:18px; right:-12px; color:#7fa7ca; font-weight:900; }
.waltzman-observations .waltzman-trajectory-step:not(:last-child)::after { content:none; }
.trajectory-step-number { display:grid; width:24px; height:24px; place-items:center; border-radius:999px; background:#244d70; color:#fff; font-size:11px; font-weight:900; }
.waltzman-trajectory-step small { display:block; color:#8fb4d4; font-size:10px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.waltzman-trajectory-step strong { display:block; margin-top:4px; color:#eef5fc; font-size:12px; line-height:1.42; }
.waltzman-trajectory-step .measurement-evidence { margin-top:7px; }
.waltzman-trajectory-step .measurement-evidence > summary { white-space:normal; }
.waltzman-trajectory-step .theory-config-evidence { margin-top:7px; color:#8fa0b5; font-size:10px; font-weight:500; letter-spacing:0; line-height:1.35; text-transform:none; }
.waltzman-nonclaim { margin:0; padding:11px 13px; border-left:3px solid #e8a84d; border-radius:6px; background:#2b2117; color:#d9c6ab; font-size:12px; line-height:1.5; }
.theory-snapshot { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:9px; }
.theory-finding { display:grid; align-content:start; gap:8px; min-width:0; padding:14px; border:1px solid var(--border); border-left:3px solid #5ba98e; border-radius:10px; background:#101923; }
.theory-finding h4 { margin:0; font-size:14px; }
.theory-finding > p { margin:0; color:#eef5fc; line-height:1.48; }
.theory-finding.compact > p { font-size:15px; font-weight:750; }
.theory-finding details { color:var(--muted); font-size:12px; }
.theory-finding details p { margin:8px 0; line-height:1.45; }
.theory-finding details ul,.theory-limitations ul { padding-left:19px; line-height:1.45; }
.theory-config-evidence { color:var(--muted); line-height:1.4; }
.theory-all-findings,.theory-limitations { margin-top:12px; padding:12px 14px; border:1px solid var(--border); border-radius:9px; background:#101923; }
.theory-all-findings > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:12px; }
.flow-controls { padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.canvas-replaced { display:none !important; }
.workspace { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,.7fr); gap:16px; min-height:520px; }
.live-evidence { display:grid; gap:5px; margin-top:12px; padding:12px 15px; border:1px solid #536f8b; border-radius:10px; background:rgba(36, 69, 99, .18); }
.live-evidence strong { color:#e8eef7; }
.routes { display:flex; gap:8px; overflow-x:auto; margin:12px 0; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.route { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:var(--surface2); color:var(--muted); font-size:11px; }
.route strong { color:#dbe8f6; }
.route small { margin-left:5px; color:#73859a; }
.route.disabled { opacity:.4; text-decoration:line-through; }
.route.event-focus { outline:2px solid #fff; background:#294968; opacity:1; }
.graph { position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); align-content:start; gap:28px 36px; padding:24px; border:1px solid var(--border); border-radius:14px; background:var(--surface); overflow:auto; }
.graph.react-canvas-host { display:block; min-height:680px; padding:0; overflow:hidden; }
.graph-lines { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.graph-lines path { fill:none; stroke:#52789d; stroke-width:2; opacity:.58; }
.graph-lines marker path { fill:#52789d; stroke:none; }
.graph-lines path.kind-mechanism_binding { stroke:#d39a45; stroke-dasharray:5 4; }
.graph-lines path.kind-information_lineage { stroke:#d96ca9; stroke-dasharray:3 4; }
.graph-lines path.kind-information_location { stroke:#d96ca9; }
.graph-lines path.disabled { stroke-dasharray:6 6; opacity:.25; }
.graph-lines path.event-focus { stroke:#fff; stroke-width:4; opacity:1; }
.node { position:relative; z-index:1; display:grid; gap:5px; min-height:100px; padding:12px; border:1px solid #4778a8; border-radius:10px; background:#182230f2; text-align:left; }
.node[data-kind="person"] { border-color:#58a6ff; }
.node[data-kind="information"] { border-color:#ef79b7; }
.node[data-kind="mechanism"], .node[data-kind$="service"] { border-color:#e8a84d; }
.node[data-kind="analytical_boundary"] { grid-column:span 2; border:2px dashed #b891ff; background:#2a2040f2; }
.node span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.node.event-focus { outline:3px solid #fff; transform:translateY(-2px); }
.node.selected { box-shadow:0 0 0 3px var(--accent); }
.node.not-present { opacity:.28; filter:saturate(.25); }
#inspector,#trace { padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); overflow:auto; }
.aggregate-facts { display:grid; gap:7px; }
.aggregate-facts div { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid var(--border); }
.aggregate-facts dt { color:var(--muted); }
.aggregate-facts dd { margin:0; font-weight:800; }
.focus-list { display:grid; gap:8px; }
.focus-list button { text-align:left; }
pre { max-height:520px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; color:#b9c8da; }
.tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.tabs button.active { border-color:var(--accent); color:var(--accent); }
.trace-tab-groups { display:grid; gap:10px; margin-bottom:14px; }
.trace-tab-group { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:start; gap:10px; }
.trace-tab-group > strong { padding-top:10px; color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.trace-tab-group .tabs { margin:0; }
.group-scope { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.group-scope button[aria-pressed="true"] { border-color:#fff; background:#24496d; color:#fff; }
.trace-step { margin:10px 0; padding:12px; border-left:3px solid var(--accent); background:var(--surface2); }
.trace-summary { margin-bottom:12px; padding:14px 16px; border:1px solid #316698; border-radius:10px; background:#17283a; }
.trace-summary h3 { margin:6px 0; }
.trace-summary p { max-width:85ch; margin:7px 0 0; line-height:1.5; }
.composite-account h3 { margin:7px 0; }
.composite-account > p { max-width:85ch; line-height:1.5; }
.participant-technical { margin-top:12px; padding-top:10px; border-top:1px solid var(--border); color:var(--muted); }
.participant-technical summary { width:max-content; color:#9fc4e5; font-size:12px; }
.participant-technical .aggregate-facts { max-width:620px; margin-top:12px; }
.boundary-activity { display:grid; gap:10px; margin:14px 0; }
.group-flow-summary { max-width:85ch; padding:14px 16px; border-left:3px solid #83d6c0; border-radius:8px; background:#10231f; }
.group-flow-summary h4 { margin:0 0 6px; color:#b7eadc; }
.group-flow-summary p { margin:0; line-height:1.55; }
.group-activity-details > summary { width:max-content; color:#9fc4e5; font-size:12px; }
.group-episode-list { display:grid; gap:10px; margin-top:12px; }
.boundary-episode { padding:14px; border:1px solid #4a6785; border-radius:10px; background:#101923; }
.boundary-episode.in_progress { border-style:dashed; }
.boundary-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 16px; margin:10px 0 12px; }
.boundary-flow div { padding:9px; border-left:2px solid #4f83b5; background:#15202c; }
.boundary-flow dt { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.boundary-flow dd { margin:4px 0 0; line-height:1.4; }
.boundary-evidence { margin-top:10px; }
.boundary-evidence .focus-list { margin-top:8px; }
.trace-step > p { max-width:84ch; margin:7px 0; color:#e8f0f8; line-height:1.5; }
.trace-step > small { display:block; color:var(--muted); margin:2px 0 8px; }
.participant-reasoning { color:#c6d5e4 !important; }
.trace-step.event-match { border-color:#fff; background:#203b56; }
.advanced { padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
@media (max-width:900px) { .run-card,.workspace,.settings-grid,.assumption-columns,.readme-grid,.authoring-compose-controls,.analytical-scale-control,.reviewed-example,.configuration-review,.coordination-editor-grid,.theory-module,.assay-launch,.coordination-contrasts { grid-template-columns:1fr; } .waltzman-constructs { grid-template-columns:1fr; } .waltzman-trajectory { grid-template-columns:repeat(2,minmax(0,1fr)); } .waltzman-trajectory-step::after { display:none; } .run-card { grid-template-areas:"intro" "scenario" "condition" "live" "actions" "lifecycle" "settings"; } .chat-message { width:94%; } .graph { grid-template-columns:repeat(2,minmax(130px,1fr)); } .timeline-controls { grid-template-columns:auto 1fr auto; } #event-count { grid-column:1/-1; } .projection-toolbar { display:block; } .projection-toolbar p { text-align:left; } .projection-toolbar .tabs,.analytical-scale-control { margin-bottom:9px; } .trace-tab-group { grid-template-columns:1fr; gap:4px; } .initial-people ul { grid-template-columns:1fr; } header,main { padding:16px; } header { align-items:flex-start; flex-wrap:wrap; gap:10px; } .header-actions { width:100%; justify-content:space-between; gap:8px; } .composite-assay > header > div { flex-basis:100%; } .assay-header-actions { width:100%; min-width:0; justify-items:start; } .composite-assay > header small { white-space:normal; } .table-scroll-hint { display:block; } .app-tabs { flex:1; justify-content:space-between; } .app-tabs button { padding-inline:7px; } #run-status { display:none; } }
