/*
 * MHRN OBSERVATIONAL CONSOLE
 * Warm editorial laboratory UI: paper, ink, hairline rules and restrained state colour.
 * This is the canonical visual foundation for the dashboard.
 */

:root {
  --paper: #f4efe6;
  --paper-2: #faf7f1;
  --paper-3: #ebe4d6;
  --paper-4: #e0d7c6;
  --ink: #1a1714;
  --ink-2: #3d3831;
  --ink-3: #6d6558;
  --ink-4: #9a9184;
  --rule: rgba(26, 23, 20, .14);
  --rule-2: rgba(26, 23, 20, .28);
  --rule-3: rgba(26, 23, 20, .55);
  --accent: #b23a1a;
  --accent-2: #8a2b10;
  --accent-wash: rgba(178, 58, 26, .08);
  --moss: #2f5d47;
  --moss-wash: rgba(47, 93, 71, .10);
  --amber: #8a6110;
  --amber-wash: rgba(138, 97, 16, .10);
  --crimson: #9b1f3c;
  --crimson-wash: rgba(155, 31, 60, .09);
  --indigo: #2f4a7a;
  --indigo-wash: rgba(47, 74, 122, .09);
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace;
  --r-xs: 2px;
  --r-sm: 3px;
  --r-md: 5px;
  --r-lg: 8px;
  --r-xl: 12px;
  --gutter: clamp(14px, 2.4vw, 40px);
  --max: 1560px;
  --h-control: 34px;
  --t-fast: 110ms ease;
  --t: 200ms cubic-bezier(.2,.7,.3,1);
  --shadow-float: 0 24px 55px -28px rgba(26,23,20,.45);

  /* compatibility aliases used by dashboard modules */
  --bg: var(--paper);
  --bg-0: var(--paper);
  --bg-1: var(--paper-2);
  --bg-2: var(--paper-3);
  --surface: var(--paper-2);
  --surface-0: var(--paper-2);
  --surface-1: var(--paper-2);
  --surface-2: var(--paper-3);
  --surface-3: var(--paper-4);
  --surface-soft: color-mix(in srgb, var(--paper-3) 62%, transparent);
  --surface-hover: var(--paper-3);
  --line: var(--rule);
  --line-strong: var(--rule-2);
  --line-accent: color-mix(in srgb, var(--accent) 45%, transparent);
  --border: var(--rule);
  --text: var(--ink);
  --text-strong: var(--ink);
  --muted: var(--ink-3);
  --faint: var(--ink-4);
  --accent-strong: var(--accent-2);
  --positive: var(--moss);
  --positive-soft: var(--moss-wash);
  --warning: var(--amber);
  --warning-soft: var(--amber-wash);
  --danger: var(--crimson);
  --danger-soft: var(--crimson-wash);
  --info: var(--indigo);
  --info-soft: var(--indigo-wash);
  --radius-xs: var(--r-xs);
  --radius-sm: var(--r-sm);
  --radius-md: var(--r-md);
  --radius-lg: var(--r-lg);
  --radius-xl: var(--r-xl);
  --shadow-1: none;
  --shadow-2: var(--shadow-float);

  /* compatibility aliases for the generated Wesen SVG/workspace */
  --b5-bg-0: var(--paper);
  --b5-bg-1: var(--paper-2);
  --b5-bg-2: var(--paper-3);
  --b5-panel: var(--paper-2);
  --b5-panel-strong: var(--paper-2);
  --b5-line: var(--rule);
  --b5-line-strong: var(--rule-2);
  --b5-text: var(--ink);
  --b5-muted: var(--ink-3);
  --b5-cyan: var(--indigo);
  --b5-blue: var(--indigo);
  --b5-violet: #66527d;
  --b5-green: var(--moss);
  --b5-amber: var(--amber);
  --b5-rose: var(--crimson);
  --b5-red: var(--crimson);
  --b5-gold: #8a6d28;
  --b5-radius: var(--r-md);
  --b5-shadow: none;
}

/* Existing app code stores dark/light. The new system deliberately treats the
   historic default `dark` value as the paper theme, while `light` becomes the
   optional night-paper view. This keeps the JS contract untouched. */
body[data-theme="light"] {
  --paper: #15120e;
  --paper-2: #1c1813;
  --paper-3: #241f18;
  --paper-4: #2e2820;
  --ink: #f0e9da;
  --ink-2: #cdc4b2;
  --ink-3: #948a7b;
  --ink-4: #6a6255;
  --rule: rgba(240,233,218,.15);
  --rule-2: rgba(240,233,218,.30);
  --rule-3: rgba(240,233,218,.55);
  --accent: #e2703f;
  --accent-2: #f18d5f;
  --accent-wash: rgba(226,112,63,.13);
  --moss: #6fb894;
  --moss-wash: rgba(111,184,148,.13);
  --amber: #d9a441;
  --amber-wash: rgba(217,164,65,.13);
  --crimson: #e0657f;
  --crimson-wash: rgba(224,101,127,.13);
  --indigo: #8aa5dd;
  --indigo-wash: rgba(138,165,221,.13);
  --shadow-float: 0 24px 55px -24px rgba(0,0,0,.72);
}

html:has(body[data-theme="light"]) { color-scheme: dark; }
html:not(:has(body[data-theme="light"])) { color-scheme: light; }

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scrollbar-gutter: stable; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; color: var(--ink); background: var(--paper); font: 14px/1.55 var(--font-ui); }
body::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.24; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.30'/%3E%3C/svg%3E"); }
body[data-theme="light"]::before { mix-blend-mode: screen; opacity:.12; }
[hidden] { display:none !important; }
img,svg,canvas,video { max-width:100%; }

h1,h2,h3,h4,h5 { margin:0; color:var(--ink); font-family:var(--font-display); font-weight:600; letter-spacing:-.012em; line-height:1.2; }
h1 { font-size:clamp(1.5rem,2.6vw,2.15rem); }
h2 { font-size:clamp(1.18rem,1.8vw,1.52rem); }
h3 { font-size:1.02rem; }
h4 { font-size:.9rem; }
p { margin:0 0 .7em; color:var(--ink-2); }
p:last-child { margin-bottom:0; }
a { color:var(--accent-2); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { color:var(--accent); }
code,kbd,pre,samp,.mono { font-family:var(--font-mono); }
code { padding:.12em .38em; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper-3); color:var(--accent-2); font-size:.88em; }
pre { max-width:100%; overflow:auto; padding:13px 15px; border:1px solid var(--rule); border-left:2px solid var(--rule-3); border-radius:var(--r-sm); background:var(--paper-2); color:var(--ink); font-size:.74rem; line-height:1.6; }
hr { border:0; border-top:1px solid var(--rule); margin:1.4em 0; }
::selection { background:var(--accent); color:var(--paper-2); }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
* { scrollbar-width:thin; scrollbar-color:var(--rule-3) transparent; }
*::-webkit-scrollbar { width:9px; height:9px; }
*::-webkit-scrollbar-track { background:transparent; }
*::-webkit-scrollbar-thumb { border:3px solid transparent; border-radius:99px; background:var(--rule-3); background-clip:padding-box; }

/* masthead */
.topbar { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding:10px var(--gutter); border:0; border-bottom:1px solid var(--rule-2); background:color-mix(in srgb,var(--paper) 91%,transparent); backdrop-filter:blur(10px) saturate(115%); box-shadow:none; }
.topbar::after { content:""; position:absolute; left:var(--gutter); right:var(--gutter); bottom:-4px; height:3px; border-top:1px solid var(--rule); pointer-events:none; }
.topbar-brand { display:flex; align-items:center; gap:10px; min-width:0; }
.topbar-brand::before { content:"M"; display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border:1px solid var(--rule-3); border-radius:50%; color:var(--accent); background:var(--paper-2); font:600 1.04rem/1 var(--font-display); }
.topbar-brand > div { min-width:0; }
.topbar .eyebrow,.workspace-kicker,.overview-kicker,.dashboard-workspace-kicker { margin:0; color:var(--accent); font:700 .58rem/1.3 var(--font-mono); letter-spacing:.17em; text-transform:uppercase; }
.project-title { margin:0; color:var(--ink); font:600 1rem/1.15 var(--font-display); letter-spacing:.01em; }
.project-subtitle { margin:1px 0 0; color:var(--ink-3); font:600 .57rem/1.3 var(--font-mono); letter-spacing:.10em; text-transform:uppercase; }
.topbar h1 { margin-top:2px; color:var(--ink-3); font:600 .68rem/1.2 var(--font-ui); letter-spacing:.02em; }
.topbar-right { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-wrap:wrap; }
.header-context { padding-right:8px; color:var(--ink-3); font:700 .58rem/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }

/* general controls */
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:var(--h-control); padding:0 12px; border:1px solid var(--rule-2); border-radius:var(--r-sm); background:var(--paper-2); color:var(--ink-2); font:600 .72rem/1 var(--font-ui); letter-spacing:.01em; cursor:pointer; transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast); -webkit-tap-highlight-color:transparent; }
button:hover:not(:disabled),.button:hover { background:var(--paper-3); border-color:var(--rule-3); color:var(--ink); }
button:active:not(:disabled) { transform:translateY(1px); }
button:disabled { opacity:.38; cursor:not-allowed; }
.icon-btn { width:34px; min-width:34px; padding:0; background:transparent; border-color:transparent; color:var(--ink-3); font-family:var(--font-mono); }
.icon-btn:hover:not(:disabled) { border-color:var(--rule); background:var(--paper-3); }
.multifunction-btn,.btn-primary,.btn-success { border-color:var(--accent); background:var(--accent); color:var(--paper-2); }
.multifunction-btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.btn-success:hover:not(:disabled) { border-color:var(--accent-2); background:var(--accent-2); color:var(--paper-2); }
.btn-secondary,.btn-small,.btn-info { background:transparent; }
.btn-warning { color:var(--amber); border-color:color-mix(in srgb,var(--amber) 40%,transparent); background:var(--amber-wash); }
.btn-danger { color:var(--crimson); border-color:color-mix(in srgb,var(--crimson) 40%,transparent); background:var(--crimson-wash); }
.btn-danger:hover:not(:disabled) { border-color:var(--crimson); background:var(--crimson); color:var(--paper-2); }

input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea { width:100%; min-height:var(--h-control); padding:7px 10px; border:1px solid var(--rule-2); border-radius:var(--r-sm); background:var(--paper-2); color:var(--ink); font:400 .78rem/1.4 var(--font-ui); transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast); }
textarea { min-height:92px; resize:vertical; }
input::placeholder,textarea::placeholder { color:var(--ink-4); }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--accent); background:var(--paper-2); box-shadow:0 0 0 3px var(--accent-wash); }
input[type=range] { accent-color:var(--accent); min-width:90px; }
input[type=checkbox],input[type=radio] { accent-color:var(--accent); }
label,.input-label { color:var(--ink-3); font-size:.72rem; }
.input-label { display:grid; gap:5px; }

/* ── Sidebar Navigation (vertikal, links) ── */
body .brain5d-primary-nav { position:fixed !important; top:var(--dashboard-topbar-height,68px) !important; bottom:70px; left:0; z-index:90 !important; display:flex !important; flex-direction:column !important; gap:0 !important; width:210px !important; margin:0 !important; padding:0 !important; border:0 !important; border-right:1px solid var(--rule-2) !important; background:color-mix(in srgb,var(--paper) 96%,transparent) !important; backdrop-filter:blur(10px) !important; overflow-y:auto; }
body .brain5d-primary-nav button { position:relative !important; min-height:auto !important; display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:8px !important; padding:10px 14px !important; border:0 !important; border-bottom:1px solid var(--rule) !important; border-radius:0 !important; background:transparent !important; color:var(--ink-3) !important; box-shadow:none !important; text-align:left !important; width:100% !important; font-family:var(--font-ui) !important; cursor:pointer !important; text-decoration:none !important; }
body .brain5d-primary-nav button::before { color:var(--ink-4); font:700 .50rem/1 var(--font-mono); letter-spacing:.10em; flex-shrink:0; width:18px; }
body .brain5d-primary-nav .mhrn-area-tabs button:nth-child(1)::before { content:"01"; }
body .brain5d-primary-nav .mhrn-area-tabs button:nth-child(2)::before { content:"02"; }
body .brain5d-primary-nav .mhrn-area-tabs button:nth-child(3)::before { content:"03"; }
body .brain5d-primary-nav button:hover { background:var(--paper-2) !important; color:var(--ink) !important; }
body .brain5d-primary-nav button.active { background:var(--paper-2) !important; color:var(--ink) !important; box-shadow:none !important; }
body .brain5d-primary-nav button.active::after { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); }
body .brain5d-primary-nav button.active::before { color:var(--accent); }

/* Sidebar: globale Actions (Control, Release, Settings, Parameter, Review) */
.mhrn-area-tabs { display:flex; flex-direction:column; gap:0; }
.mhrn-global-actions { display:flex; flex-direction:column; gap:0; margin-top:auto; border-top:1px solid var(--rule-2); }
.mhrn-global-actions .mhrn-global-route { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:8px !important; padding:10px 14px !important; border:0 !important; border-bottom:1px solid var(--rule) !important; border-radius:0 !important; background:transparent !important; color:var(--ink-3) !important; text-decoration:none !important; text-align:left !important; width:100% !important; cursor:pointer !important; font-family:var(--font-ui) !important; box-shadow:none !important; min-height:auto !important; position:relative; }
.mhrn-global-actions .mhrn-global-route::before { color:var(--ink-4); font:700 .50rem/1 var(--font-mono); letter-spacing:.10em; flex-shrink:0; width:18px; }
.mhrn-global-actions .mhrn-global-route:nth-child(1)::before { content:"04"; }
.mhrn-global-actions .mhrn-global-route:nth-child(2)::before { content:"05"; }
.mhrn-global-actions .mhrn-global-route:nth-child(3)::before { content:"06"; }
.mhrn-global-actions .mhrn-global-route:nth-child(4)::before { content:"07"; }
.mhrn-global-actions .mhrn-global-route:nth-child(5)::before { content:"08"; }
.mhrn-global-actions .mhrn-global-route:hover { background:var(--paper-2) !important; color:var(--ink) !important; }
.mhrn-global-actions .mhrn-global-route.active { background:var(--paper-2) !important; color:var(--ink) !important; }
.mhrn-global-actions .mhrn-global-route.active::after { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); }
.mhrn-global-actions .mhrn-global-route.active::before { color:var(--accent); }
.mhrn-nav-icon { font-size:1rem; line-height:1; flex-shrink:0; }
.mhrn-nav-copy { display:flex; flex-direction:column; gap:1px; min-width:0; }
.mhrn-nav-copy strong { font:600 .78rem/1.2 var(--font-display); color:inherit; }
.mhrn-nav-copy span { font:600 .48rem/1 var(--font-mono); color:var(--ink-4); letter-spacing:.08em; text-transform:uppercase; }

/* Main content offset für Sidebar */
main { position:relative; z-index:1; width:min(calc(100% - var(--gutter)*2 - 210px),var(--max)); margin:0 auto 0 210px; padding:clamp(22px,3vw,40px) 0 100px; }
.tab-content.active { animation:paper-rise 240ms cubic-bezier(.2,.7,.3,1) both; }
@keyframes paper-rise { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

/* workspace heading / contextual rails */
.workspace-header,.dashboard-generated-header,.overview-command-bar { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin:0 0 18px; padding:0 0 15px; border:0; border-bottom:3px double var(--rule-2); border-radius:0; background:transparent; box-shadow:none; }
.workspace-header h2,.dashboard-generated-header h2,.overview-command-bar h2 { margin:4px 0 3px; }
.workspace-header p,.dashboard-generated-header p,.overview-command-bar p { max-width:72ch; margin:0; color:var(--ink-3); font-size:.82rem; }
.workspace-status-strip { display:flex; align-items:stretch; justify-content:flex-end; gap:0; flex-wrap:wrap; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--rule); overflow:hidden; }
.workspace-status-strip > span { display:grid; gap:4px; min-width:96px; padding:8px 10px; background:var(--paper-2); color:var(--ink-3); font:700 .53rem/1.15 var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.workspace-status-strip strong { color:var(--ink); font:600 .72rem/1.2 var(--font-mono); letter-spacing:0; text-transform:none; }

.workspace-view-tabs,.research-lanes,.science-context-nav { display:flex !important; gap:0 !important; flex-wrap:wrap !important; margin:0 0 16px !important; padding:0 !important; border:0 !important; border-bottom:1px solid var(--rule-2) !important; border-radius:0 !important; background:transparent !important; }
.workspace-view-tabs button,.research-lanes button,body .science-context-nav button { min-height:36px !important; padding:0 12px !important; border:0 !important; border-right:1px solid var(--rule) !important; border-radius:0 !important; background:transparent !important; color:var(--ink-3) !important; opacity:1 !important; font:700 .61rem/1 var(--font-mono) !important; letter-spacing:.06em !important; text-transform:uppercase; }
.workspace-view-tabs button:first-child,.research-lanes button:first-child,body .science-context-nav button:first-child { border-left:1px solid var(--rule) !important; }
.workspace-view-tabs button:hover,.research-lanes button:hover,body .science-context-nav button:hover { background:var(--paper-2) !important; color:var(--ink) !important; }
.workspace-view-tabs button.active,.research-lanes button.active,body .science-context-nav button.active { position:relative; background:var(--paper-2) !important; color:var(--accent-2) !important; }
.workspace-view-tabs button.active::after,.research-lanes button.active::after,body .science-context-nav button.active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--accent); }

/* panels */
.card,.panel,.overview-surface,.control-card,.operator-console,.experiment-panel,.structural-live-card,.settings-note,.parameter-inspector-card,.release-view-panel,.gate-section,.embodiment-connection-manager,.embodiment-loop,.embodiment-system-strip,.anatomy-zone,.anatomy-inner,.organism-core,.runtime-clock-panel,.wesen-card,.wesen-stage-card,.wesen-console { position:relative; min-width:0; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); color:var(--ink); box-shadow:none; }
.card,.panel,.control-card,.operator-console,.experiment-panel,.parameter-inspector-card,.release-view-panel { margin-bottom:16px; }
.panel-title,.console-header,.release-header,.gate-header,.experiment-workflow-header,.settings-note,.control-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:12px 15px; border-bottom:1px solid var(--rule); background:transparent; }
.panel-title p,.panel-subtitle,.console-subtitle,.release-subtitle,.gate-subtitle { margin:3px 0 0; color:var(--ink-3); font-size:.7rem; }

.badge,.gate-badge,.status-badge,.runtime-state,.experiment-badge,.status-pill,.maturity-state { display:inline-flex; align-items:center; gap:5px; min-height:18px; padding:1px 7px; border:1px solid var(--rule-2); border-radius:999px; background:var(--paper-3); color:var(--ink-3); font:700 .50rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.status-pill[data-state="ok"] { color:var(--moss); border-color:color-mix(in srgb,var(--moss) 30%,transparent); background:var(--moss-wash); }
.status-pill[data-state="pending"] { color:var(--amber); border-color:color-mix(in srgb,var(--amber) 30%,transparent); background:var(--amber-wash); }
.status-pill[data-state="failed"] { color:var(--crimson); border-color:color-mix(in srgb,var(--crimson) 30%,transparent); background:var(--crimson-wash); }
.status-pill[data-state="neutral"] { color:var(--ink-3); }
.badge-live,.gate-badge.pass,.gate-badge.passed,.gate-badge.ok,.status-running,.runtime-state[data-mode="running"],.maturity-state.implemented { color:var(--moss); border-color:color-mix(in srgb,var(--moss) 38%,transparent); background:var(--moss-wash); }
.gate-badge.pending,.gate-badge.warn,.status-paused,.runtime-state[data-mode="paused"],.maturity-state.pending { color:var(--amber); border-color:color-mix(in srgb,var(--amber) 38%,transparent); background:var(--amber-wash); }
.gate-badge.fail,.gate-badge.failed,.gate-badge.error,.status-faulted,.status-stopped,.runtime-state[data-mode="faulted"],.runtime-state[data-mode="stopped"] { color:var(--crimson); border-color:color-mix(in srgb,var(--crimson) 38%,transparent); background:var(--crimson-wash); }

/* overview */
.overview-command-bar { align-items:flex-end; }
.overview-actions,.actions-row,.button-group,.proposal-actions,.experiment-actions,.pending-changes-bar__actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.overview-action { min-height:32px; background:transparent; font-size:.68rem; }
.overview-status-rail { display:grid; grid-template-columns:repeat(6,minmax(100px,1fr)); gap:1px; margin:0 0 18px; border:1px solid var(--rule); border-radius:var(--r-sm); overflow:hidden; background:var(--rule); }
.overview-status-item { display:grid; gap:5px; padding:10px 12px; background:var(--paper-2); }
.overview-status-item span,.overview-dynamics-grid span,.metric-label { color:var(--ink-3); font:700 .55rem/1.2 var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.overview-status-item strong { color:var(--ink); font:600 .75rem/1.2 var(--font-mono); }

/* ── Overview Sub-Tabs ── */
.overview-subtabs { display:flex; gap:0; margin:0 0 16px; border:0; border-bottom:2px solid var(--rule-2); }
.overview-subtab { position:relative; min-height:36px; padding:7px 16px; border:0; background:transparent; color:var(--ink-4); font:600 .68rem/1.2 var(--font-ui); cursor:pointer; white-space:nowrap; transition:color .15s; }
.overview-subtab:hover { color:var(--ink-2); background:var(--paper-2); }
.overview-subtab.active { color:var(--ink); }
.overview-subtab.active::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--accent); }
.overview-subpanel { display:none; }
.overview-subpanel.active { display:block !important; }
.overview-subpanel .overview-operations-grid:has(> :only-child) { grid-template-columns:1fr; }

/* ── Research Sub-Tabs ── */
.research-subtabs { display:flex; gap:0; margin:0 0 16px; border:0; border-bottom:2px solid var(--rule-2); }
.research-subtab { position:relative; min-height:36px; padding:7px 16px; border:0; background:transparent; color:var(--ink-4); font:600 .68rem/1.2 var(--font-ui); cursor:pointer; white-space:nowrap; transition:color .15s; }
.research-subtab:hover { color:var(--ink-2); background:var(--paper-2); }
.research-subtab.active { color:var(--ink); }
.research-subtab.active::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--accent); }
.research-subpanel { display:none; }
.research-subpanel.active { display:block !important; }
.research-subpanel[hidden] { display:none !important; }
.research-registry-placeholder { padding:24px; text-align:center; color:var(--ink-4); font:.7rem/1.5 var(--font-ui); }

.overview-operations-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:14px; margin-bottom:14px; }
.overview-metrics-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
.overview-surface { overflow:hidden; }
.overview-surface-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--rule); background:color-mix(in srgb,var(--paper-3) 42%,transparent); }
.overview-surface-title > div > span { color:var(--accent); font:700 .54rem/1 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
.overview-surface-title h3 { margin-top:3px; }
.overview-surface-title > strong { color:var(--ink-2); font:600 .72rem/1.2 var(--font-mono); }
.overview-dynamics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--rule); }
.overview-dynamics-grid > div { display:grid; gap:4px; min-width:0; padding:10px 12px; background:var(--paper-2); }
.overview-dynamics-grid strong { overflow:hidden; color:var(--ink); font:600 .92rem/1.15 var(--font-mono); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.overview-component-grid,.overview-problem-list { display:grid; gap:6px; padding:12px; }
.overview-component-grid > *,.overview-problem-list > * { padding:8px 9px; border-bottom:1px solid var(--rule); }
.overview-empty { color:var(--ink-4); font:.7rem/1.45 var(--font-mono); }
.bar,.meter { height:3px; margin:10px 12px 12px; overflow:hidden; border-radius:99px; background:var(--paper-4); }
.bar-fill,.meter-fill { display:block; height:100%; background:var(--accent); transition:width .4s cubic-bezier(.2,.7,.3,1); }
.snapshot-info-card { margin-top:14px; }

/* tables and key/value */
.table-wrap,.parameter-table-wrap { overflow:auto; border-top:1px solid var(--rule); }
table { width:100%; border-collapse:collapse; color:var(--ink); font-size:.72rem; }
th,td { padding:8px 10px; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
th { position:sticky; top:0; z-index:2; background:var(--paper-3); color:var(--ink-3); font:700 .56rem/1.3 var(--font-mono); letter-spacing:.10em; text-transform:uppercase; }
td { font-variant-numeric:tabular-nums; }
tbody tr:nth-child(even) { background:color-mix(in srgb,var(--paper-3) 34%,transparent); }
tbody tr:hover { background:var(--paper-3); }
.kv,.embodiment-detail-fields { display:grid; grid-template-columns:minmax(120px,max-content) minmax(0,1fr); margin:0; border-top:1px solid var(--rule); }
.kv dt,.embodiment-detail-fields dt { padding:8px 0; border-bottom:1px solid var(--rule); color:var(--ink-3); font:600 .58rem/1.4 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.kv dd,.embodiment-detail-fields dd { margin:0; padding:8px 0 8px 14px; border-bottom:1px solid var(--rule); color:var(--ink); font-family:var(--font-mono); text-align:right; }

/* network */
.heatmap-split { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 15px 12px; }
.heatmap-wrap { min-width:0; }
canvas { display:block; width:100%; height:auto; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--paper); }
.heatmap-meta,.population-meta,.workflow-field-hint,.pending-hint { color:var(--ink-4); font:500 .61rem/1.45 var(--font-mono); }
.card .heatmap-meta, .card .population-meta { padding:0 15px 12px; }
.io-flow-grid { display:grid; grid-template-columns:auto 1fr auto auto 1fr auto; gap:10px; align-items:center; padding:0 15px 12px; }
.io-flow-grid > div:nth-child(2),.io-flow-grid > div:nth-child(5) { height:3px; border-radius:99px; background:var(--paper-4); overflow:hidden; }
.population-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; margin:0 15px; border:1px solid var(--rule); background:var(--rule); }
.population-grid > * { padding:10px; background:var(--paper-2); }
.compact-slider { display:flex; align-items:center; gap:7px; }

/* Control workbench */
.control-causal-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:14px; margin-bottom:16px; }
.control-stage { min-width:0; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); }
.control-stage-heading { padding:11px 13px; border-bottom:1px solid var(--rule); background:color-mix(in srgb,var(--paper-3) 42%,transparent); }
.control-stage-heading > span { color:var(--accent); font:700 .54rem/1 var(--font-mono); letter-spacing:.14em; }
.control-stage-heading h3 { margin-top:3px; }
.control-stage-heading p { margin-top:4px; color:var(--ink-3); font-size:.7rem; }
.control-group { padding:11px 13px; border-bottom:1px solid var(--rule); }
.control-group:last-child { border-bottom:0; }
.control-group__header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
.control-group__title,.shortcut-hint { color:var(--ink-3); font:700 .56rem/1 var(--font-mono); letter-spacing:.10em; text-transform:uppercase; }
.shortcut-hint { color:var(--ink-4); letter-spacing:.03em; text-transform:none; }
.control-group__body { display:flex; align-items:end; gap:7px; flex-wrap:wrap; }
.runtime-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0; border-bottom:1px solid var(--rule); background:var(--rule); }
.runtime-metrics .metric-item { display:grid; gap:4px; padding:10px 12px; background:var(--paper-2); }
.metric-value { color:var(--ink); font:600 .9rem/1.15 var(--font-mono); }
.control-message { display:block; margin:12px; padding:9px 10px; border-left:2px solid var(--accent); background:var(--accent-wash); color:var(--ink-2); font:.7rem/1.45 var(--font-mono); }
.control-effect-route { padding:0 12px 12px; color:var(--ink-3); font-size:.7rem; }
.self-org-section,.proposals-section,.experiment-sessions,.change-history { border-top:1px solid var(--rule); }
.self-org-summary,.proposals-summary,.structural-live-summary,.experiment-sessions summary,.change-history summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; cursor:pointer; color:var(--ink-2); list-style:none; }
.self-org-summary::-webkit-details-marker,.proposals-summary::-webkit-details-marker,.structural-live-summary::-webkit-details-marker { display:none; }
.self-org-controls { padding:0 12px 12px; }
.switch-line { display:flex; align-items:center; gap:7px; }
.switch-line__help { color:var(--ink-4); font-size:.65rem; }
.proposal-line { display:flex; align-items:center; gap:8px; margin:8px 0; padding:7px 0; border-bottom:1px solid var(--rule); }
.proposal-label { color:var(--ink-3); font-size:.66rem; }

/* operator console */
.operator-console { padding:0; }
.console-header { margin:0; }
.console-status-group { display:flex; align-items:center; gap:7px; }
.tick-display { padding:3px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); color:var(--ink); background:var(--paper-2); font:600 .82rem/1 var(--font-mono); }
.console-metrics { display:flex; gap:0; flex-wrap:wrap; border-bottom:1px solid var(--rule); background:var(--rule); }
.console-metrics .metric { flex:1 1 120px; display:flex; justify-content:space-between; gap:8px; padding:8px 11px; background:var(--paper-2); color:var(--ink-3); font-size:.68rem; }
.console-metrics .metric span:last-child { color:var(--ink); font-family:var(--font-mono); }
.proposals-list { display:grid; gap:5px; padding:9px 12px 12px; }
.proposal-empty { color:var(--ink-4); font:.68rem/1.4 var(--font-mono); }
.console-output-wrapper { border-top:1px solid var(--rule); }
.console-output-header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 11px; background:var(--paper-3); color:var(--ink-3); font:700 .54rem/1 var(--font-mono); letter-spacing:.10em; text-transform:uppercase; }
.console-output { max-height:340px; overflow:auto; padding:9px 11px; background:var(--paper-3); color:var(--ink-2); font:400 .68rem/1.6 var(--font-mono); }
.log-entry { padding:3px 0; border-bottom:1px solid var(--rule); }
.log-time { color:var(--ink-4); }
.log-info { color:var(--indigo); }
.log-warning,.log-warn { color:var(--amber); }
.log-error { color:var(--crimson); }
.log-success,.log-ok { color:var(--moss); }
.operator-note { padding:9px 12px; border-top:1px solid var(--rule); color:var(--ink-4); font:.62rem/1.45 var(--font-mono); }

/* experiment / structural loop */
.experiment-form { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; padding:12px 14px; }
.experiment-note-row { display:grid; grid-template-columns:1fr auto; gap:8px; padding:0 14px 12px; }
.experiment-session-list { display:grid; gap:6px; padding:10px 12px; }
.structural-live-card { margin-bottom:16px; overflow:hidden; }
.structural-live-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; border-top:1px solid var(--rule); background:var(--rule); }
.live-loop-step { display:grid; gap:4px; min-width:0; padding:9px 10px; background:var(--paper-2); }
.live-loop-label { color:var(--ink-3); font:700 .54rem/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.live-loop-status { color:var(--ink); font:600 .64rem/1.35 var(--font-mono); overflow-wrap:anywhere; }
.structural-live-card > .heatmap-meta { padding:8px 11px; }

/* settings */
.settings-guardrail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-bottom:12px; border:1px solid var(--rule); background:var(--rule); }
.settings-guardrail-grid > div { display:grid; gap:4px; padding:9px 11px; background:var(--paper-2); }
.settings-guardrail-grid span { color:var(--ink-3); font:700 .54rem/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.settings-guardrail-grid strong { color:var(--ink); font:600 .72rem/1.2 var(--font-mono); }
.settings-mode-selector,.settings-domain-filter { display:flex; align-items:center; gap:0; flex-wrap:wrap; margin-bottom:10px; border-bottom:1px solid var(--rule); }
.settings-mode-selector > span { margin-right:10px; color:var(--ink-3); font:700 .54rem/1 var(--font-mono); letter-spacing:.10em; text-transform:uppercase; }
.settings-mode-selector button,.settings-domain-filter button { min-height:32px; border:0; border-right:1px solid var(--rule); border-radius:0; background:transparent; color:var(--ink-3); font-size:.65rem; }
.settings-mode-selector button.active,.settings-domain-filter button.active { color:var(--accent-2); background:var(--accent-wash); }
.settings-note { display:grid; grid-template-columns:auto 1fr; justify-content:start; margin-bottom:12px; padding:9px 11px; border-left:2px solid var(--accent); background:var(--accent-wash); }
.settings-note strong { font-family:var(--font-display); }
.settings-note span { color:var(--ink-3); font-size:.72rem; }

/* ── Appearance Settings ── */
.appearance-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; margin-top:10px; }
.appearance-card { display:grid; gap:4px; padding:14px 12px; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); cursor:pointer; text-align:center; transition:border-color .2s,background .2s,box-shadow .2s; }
.appearance-card:hover { border-color:var(--rule-3); background:var(--paper-3); }
.appearance-card.is-active { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-wash); }
.appearance-icon { font-size:1.4rem; line-height:1; color:var(--ink-3); }
.appearance-label { font:600 .72rem/1 var(--font-ui); color:var(--ink); }
.appearance-value { font:500 .58rem/1 var(--font-mono); color:var(--ink-4); }
.appearance-card[data-active="light"] .appearance-icon { color:var(--accent); }
.parameter-inspector__toolbar { display:flex; gap:6px; align-items:center; }
.parameter-inspector__toolbar input { min-width:220px; }
.parameter-inspector-card.parameter-highlight { animation:parameter-flash 2s ease-out; }
@keyframes parameter-flash {
  0%   { box-shadow:0 0 0 3px var(--accent); border-color:var(--accent); }
  100% { box-shadow:none; border-color:var(--rule); }
}
.pending-changes-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-top:1px solid var(--rule); background:var(--paper-3); }

/* research */
.research-focus-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:0 0 14px; border:1px solid var(--rule); background:var(--rule); }
.research-focus-rail article { display:grid; gap:3px; padding:10px 12px; background:var(--paper-2); }
.research-focus-rail article > span { color:var(--accent); font:700 .53rem/1 var(--font-mono); letter-spacing:.11em; }
.research-focus-rail strong { font-family:var(--font-display); }
.research-focus-rail small { color:var(--ink-3); font-size:.66rem; }
.experiment-workflow { margin-bottom:16px; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); overflow:hidden; }
.experiment-workflow-header output { color:var(--ink-3); font:600 .64rem/1.2 var(--font-mono); }
.workflow-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:0; counter-reset:wf; list-style:none; border-bottom:1px solid var(--rule); background:var(--rule); gap:1px; }
.workflow-steps li { padding:8px 10px; background:var(--paper-2); color:var(--ink-3); font:700 .55rem/1.2 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.workflow-steps li::before { counter-increment:wf; content:counter(wf,decimal-leading-zero) " "; color:var(--accent); }
.workflow-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:13px; }
.workflow-form-grid label { display:grid; gap:5px; }
.workflow-wide { grid-column:1/-1; }
.workflow-progress-row { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:9px 13px; border-top:1px solid var(--rule); }
.workflow-progress-track { height:3px; overflow:hidden; border-radius:99px; background:var(--paper-4); }
.workflow-progress-track b { display:block; height:100%; background:var(--accent); }
.workflow-actions { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:7px; padding:0 13px 13px; align-items:start; }
.workflow-actions pre { margin:0; min-height:34px; }
.workflow-batch-dialog,.gate-detail-dialog { width:min(900px,calc(100vw - 24px)); max-height:88vh; overflow:auto; padding:0; border:1px solid var(--rule-3); border-radius:var(--r-lg); background:var(--paper-2); color:var(--ink); box-shadow:var(--shadow-float); }
.workflow-batch-dialog::backdrop,.gate-detail-dialog::backdrop { background:color-mix(in srgb,var(--ink) 42%,transparent); backdrop-filter:blur(3px); }
.workflow-batch-dialog form > header,.workflow-batch-dialog form > footer,.gate-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.workflow-batch-dialog form > footer { justify-content:flex-end; border-top:1px solid var(--rule); border-bottom:0; }
.workflow-batch-dialog form > label,.workflow-batch-dialog fieldset,.workflow-batch-plan-note,.workflow-batch-status,.workflow-batch-result,.gate-detail-body { margin:12px 14px; }
.workflow-batch-protocols { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:7px; }

/* Release / verification */
.release-board { display:grid; gap:14px; }
.release-view-panel { overflow:hidden; }
.release-header { display:block; }
.release-tree,.release-preview-content,.development-stage-list { padding:13px 14px; }
.release-documents-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:13px; }
.release-document-card { padding:12px; border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:var(--r-sm); background:var(--paper-2); }
.release-document-card header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.release-document-card p { color:var(--ink-3); font-size:.72rem; }

/* ── Release Cards ── */
.release-cards { display:grid; gap:10px; }
.release-card { padding:14px 16px; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); transition:border-color .2s; }
.release-card.release-released { border-left:3px solid var(--moss); }
.release-card.release-current { border-left:3px solid var(--accent); box-shadow:0 1px 8px rgba(0,0,0,.04); }
.release-card.release-unknown { border-left:3px solid var(--rule-3); }

.release-card-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.release-version-badge { display:inline-flex; align-items:center; gap:4px; padding:2px 10px; border-radius:99px; font:700 .72rem/1.3 var(--font-mono); letter-spacing:-.02em; }
.release-version-released { color:var(--moss); background:var(--moss-wash); border:1px solid color-mix(in srgb,var(--moss) 25%,transparent); }
.release-version-current { color:var(--accent-2); background:var(--accent-wash); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); }
.release-version-unknown { color:var(--ink-4); background:var(--paper-3); border:1px solid var(--rule); }

.release-status-pill { padding:1px 7px; border-radius:99px; font:600 .48rem/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.release-pill-released { color:var(--moss); border:1px solid color-mix(in srgb,var(--moss) 25%,transparent); background:var(--moss-wash); }
.release-pill-current { color:var(--accent-2); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); background:var(--accent-wash); }
.release-pill-unknown { color:var(--ink-4); border:1px solid var(--rule); background:var(--paper-3); }

.release-gate-pill { padding:1px 7px; border-radius:99px; font:600 .48rem/1.3 var(--font-mono); letter-spacing:.04em; }
.release-gate-pass { color:var(--moss); border:1px solid color-mix(in srgb,var(--moss) 25%,transparent); background:var(--moss-wash); }
.release-gate-pending { color:var(--amber); border:1px solid color-mix(in srgb,var(--amber) 25%,transparent); background:var(--amber-wash); }
.release-gate-fail { color:var(--crimson); border:1px solid color-mix(in srgb,var(--crimson) 25%,transparent); background:var(--crimson-wash); }

.release-date { margin-left:auto; color:var(--ink-4); font:500 .58rem/1 var(--font-mono); white-space:nowrap; }
.release-card-title { font-size:.92rem; margin:2px 0; }
.release-card-sub { color:var(--ink-3); font-size:.7rem; margin:2px 0 6px; line-height:1.45; }

.release-card-meta { display:flex; gap:10px; flex-wrap:wrap; margin:4px 0 8px; font-size:.62rem; color:var(--ink-3); }
.release-card-meta span { display:inline-flex; gap:4px; align-items:center; }
.release-card-meta b { font-weight:600; color:var(--ink-4); }
.release-card-meta code { font-size:.58rem; padding:1px 5px; }

/* Test-Balken */
.release-test-bar { display:flex; height:18px; margin:6px 0 8px; border-radius:99px; overflow:hidden; font:600 .5rem/18px var(--font-mono); text-align:center; letter-spacing:.03em; }
.release-test-pass { background:var(--moss); color:var(--paper-2); min-width:fit-content; padding:0 6px; }
.release-test-fail { background:var(--crimson); color:var(--paper-2); min-width:fit-content; padding:0 6px; }
.release-test-skip { background:var(--paper-4); color:var(--ink-4); min-width:fit-content; padding:0 6px; }

/* Feature/Changelog-Items */
.release-items { margin:6px 0 0; }
.release-item-list { margin:0; padding:0; list-style:none; }
.release-item-list li { padding:3px 0 3px 14px; border-bottom:1px solid var(--rule); font-size:.68rem; line-height:1.45; color:var(--ink-2); position:relative; }
.release-item-list li::before { content:"·"; position:absolute; left:2px; color:var(--ink-4); }
.release-item-list li:last-child { border-bottom:0; }
.release-items-extra { display:none; }
.release-items-extra.is-open { display:block; }
.release-more-btn { display:inline-flex; align-items:center; gap:4px; margin:4px 0 0; padding:3px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper-3); color:var(--ink-3); font:500 .55rem/1 var(--font-ui); cursor:pointer; transition:background .15s; }
.release-more-btn:hover { background:var(--paper-2); color:var(--ink); }
.release-more-btn::after { content:"▾"; font-size:.6rem; }
.release-more-btn.is-open::after { content:"▴"; }

.release-card-note { margin-top:8px; padding:8px 10px; border-left:2px solid var(--accent); background:var(--accent-wash); color:var(--ink-2); font-size:.68rem; line-height:1.45; }

/* ── Current Release Preview ── */
.release-preview-content { padding:13px 14px; }
.release-preview-card { border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:var(--r-md); background:var(--paper-2); padding:16px; }
.preview-head { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.preview-head-left { display:flex; align-items:center; gap:8px; }
.preview-head-right { display:flex; align-items:center; gap:8px; }
.preview-version-badge { display:inline-flex; align-items:center; padding:2px 12px; border-radius:99px; font:700 .78rem/1.3 var(--font-mono); color:var(--accent-2); background:var(--accent-wash); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); }
.preview-status-pill { padding:1px 8px; border-radius:99px; font:600 .5rem/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--accent-2); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); background:var(--accent-wash); }
.preview-gate-badge { padding:2px 8px; border-radius:99px; font:600 .5rem/1.3 var(--font-mono); letter-spacing:.04em; }
.preview-gate-pass { color:var(--moss); border:1px solid color-mix(in srgb,var(--moss) 25%,transparent); background:var(--moss-wash); }
.preview-gate-pending { color:var(--amber); border:1px solid color-mix(in srgb,var(--amber) 25%,transparent); background:var(--amber-wash); }
.preview-gate-fail { color:var(--crimson); border:1px solid color-mix(in srgb,var(--crimson) 25%,transparent); background:var(--crimson-wash); }
.preview-date { color:var(--ink-4); font:500 .58rem/1 var(--font-mono); white-space:nowrap; }
.preview-title { font-size:1rem; margin:0 0 10px; }
.preview-note { margin:0 0 10px; padding:8px 10px; border-left:2px solid var(--accent); background:var(--accent-wash); color:var(--ink-2); font-size:.7rem; line-height:1.45; }

/* Statistik-Reihe */
.preview-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:6px; margin-bottom:12px; }
.preview-stat { padding:8px 10px; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--paper-3); }
.preview-stat span { display:block; color:var(--ink-3); font:700 .5rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.preview-stat strong { display:block; margin-top:3px; font:600 .82rem/1.2 var(--font-display); color:var(--ink); }

/* Sektionen (Abgeschlossen / Offen / Scope) */
.preview-sections { display:grid; gap:8px; }
.preview-section { border:1px solid var(--rule); border-radius:var(--r-sm); overflow:hidden; }
.preview-section > header { display:flex; align-items:center; gap:6px; padding:7px 10px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.preview-section > header span { font-size:.8rem; }
.preview-section > header h4 { font-size:.75rem; margin:0; }
.preview-section > header small { margin-left:auto; color:var(--ink-4); font:500 .55rem/1 var(--font-mono); }
.preview-section-scope > header span { color:var(--indigo); }

.preview-item-list { margin:0; padding:4px 0; list-style:none; }
.preview-item-list li { padding:4px 10px 4px 24px; border-bottom:1px solid var(--rule); font-size:.68rem; line-height:1.4; color:var(--ink-2); position:relative; }
.preview-item-list li::before { content:"·"; position:absolute; left:10px; color:var(--ink-4); }
.preview-item-list li:last-child { border-bottom:0; }
.preview-items-extra { display:none; }
.preview-items-extra.is-open { display:block; }
.preview-more-btn { display:inline-flex; align-items:center; gap:4px; margin:4px 8px; padding:2px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper-3); color:var(--ink-3); font:500 .52rem/1 var(--font-ui); cursor:pointer; }
.preview-more-btn:hover { background:var(--paper-2); color:var(--ink); }
.preview-more-btn::after { content:"▾"; font-size:.55rem; }
.preview-more-btn.is-open::after { content:"▴"; }

.preview-boundary { margin-top:10px; padding:8px 10px; border-left:2px solid var(--indigo); background:var(--indigo-wash); color:var(--ink-2); font-size:.66rem; line-height:1.4; }
.release-empty { padding:24px; text-align:center; color:var(--ink-4); font:.65rem/1.45 var(--font-mono); }

.gate-board { border:0; }
.gate-header { display:grid; grid-template-columns:1fr auto; }
.gate-header .gate-subtitle,.gate-header .gate-legend { grid-column:1/-1; }
.gate-legend { padding:8px 0 0; border-top:1px solid var(--rule); color:var(--ink-3); font:.62rem/1.5 var(--font-mono); }
.gate-overall-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border-bottom:1px solid var(--rule); background:var(--rule); }
.gate-overall-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:var(--paper-2); }
.gate-overall-row strong { font:600 .72rem/1.3 var(--font-display); }
.gate-sections-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:12px; }
.gate-section { overflow:hidden; }
.gate-section > h3 { padding:9px 11px; border-bottom:1px solid var(--rule); background:var(--paper-3); font-size:.92rem; }
.gate-section-hint { color:var(--ink-3); font:600 .56rem/1 var(--font-mono); }
.gate-live-grid,.gate-criteria-table { display:grid; }
.gate-section-live { margin:12px 12px 0; }
.gate-criteria-table > *, .gate-live-grid > * { padding:8px 10px; border-bottom:1px solid var(--rule); }
.gate-overall-row strong { font:600 .72rem/1.3 var(--font-display); }
.gate-sections-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:12px; }
.gate-section { overflow:hidden; }
.gate-section > h3 { padding:9px 11px; border-bottom:1px solid var(--rule); background:var(--paper-3); font-size:.92rem; }
.gate-section-hint { color:var(--ink-3); font:600 .56rem/1 var(--font-mono); }
.gate-live-grid,.gate-criteria-table { display:grid; }
.gate-section-live { margin:12px 12px 0; }
.gate-criteria-table > *, .gate-live-grid > * { padding:8px 10px; border-bottom:1px solid var(--rule); }
.release-timeline-header { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:13px 14px; border-bottom:1px solid var(--rule); }
.release-timeline-count { color:var(--ink-3); font:600 .6rem/1 var(--font-mono); }
.release-timeline-sources { display:flex; gap:6px; flex-wrap:wrap; padding:9px 14px; border-bottom:1px solid var(--rule); }

/* ── Vertikale Timeline ── */
.release-timeline-body { padding:0; }
.timeline-vertical { position:relative; padding:12px 0; }
/* Vertikale Linie */
.timeline-vertical::before { content:""; position:absolute; left:36px; top:0; bottom:0; width:2px; background:var(--rule-2); }

/* Jeder Eintrag = eine Zeile mit Marker + Card */
.timeline-entry { position:relative; display:flex; gap:14px; padding:0 16px 8px 16px; }
.timeline-entry:last-child { padding-bottom:0; }

/* Marker-Kreis auf der Linie */
.timeline-marker { position:relative; z-index:2; flex:0 0 18px; width:18px; height:18px; margin-top:18px; border:2px solid var(--rule-3); border-radius:50%; background:var(--paper-2); transition:border-color .2s,background .2s; }
.timeline-entry-past .timeline-marker { border-color:var(--ink-4); background:var(--paper-3); }
.timeline-entry-current .timeline-marker { border-color:var(--accent); background:var(--accent-wash); box-shadow:0 0 0 4px var(--accent-wash); }
.timeline-entry-future .timeline-marker { border-color:var(--rule-2); background:var(--paper-2); border-style:dashed; }

/* Card mit Inhalt */
.timeline-card { flex:1; min-width:0; padding:12px 14px; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); transition:border-color .2s,box-shadow .2s; }
.timeline-entry-current .timeline-card { border-color:color-mix(in srgb,var(--accent) 28%,var(--rule)); box-shadow:0 1px 6px rgba(0,0,0,.04); }

/* Card-Kopf */
.timeline-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:4px; }
.timeline-card-header h3 { font-size:.88rem; margin:0; }
.timeline-date { color:var(--ink-4); font:500 .6rem/1 var(--font-mono); white-space:nowrap; flex-shrink:0; margin-top:3px; }
.timeline-phase-badge { display:inline-block; padding:1px 7px; border-radius:99px; font:700 .48rem/1.4 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.timeline-phase-past { color:var(--ink-4); border:1px solid var(--rule); background:var(--paper-3); }
.timeline-phase-current { color:var(--accent-2); border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); background:var(--accent-wash); }
.timeline-phase-future { color:var(--ink-3); border:1px dashed var(--rule-2); background:transparent; }

/* Tags */
.timeline-tags { display:flex; gap:4px; flex-wrap:wrap; margin:5px 0; }
.timeline-tags span { padding:1px 6px; border:1px solid var(--rule); border-radius:var(--r-xs); color:var(--ink-3); background:var(--paper-3); font:500 .52rem/1.3 var(--font-mono); }

/* Item-Liste innerhalb einer Card */
.timeline-items { margin:8px 0 0; padding:0; list-style:none; }
.timeline-items li { display:flex; gap:6px; padding:3px 0; border-bottom:1px solid var(--rule); font-size:.7rem; line-height:1.45; color:var(--ink-2); }
.timeline-items li:last-child { border-bottom:0; }
.timeline-items li.is-done { color:var(--moss); }
.timeline-item-mark { flex-shrink:0; width:14px; text-align:center; color:var(--ink-4); font-family:var(--font-mono); }
.timeline-items li.is-done .timeline-item-mark { color:var(--moss); }

/* "Mehr anzeigen" Button */
.timeline-more-btn { display:inline-flex; align-items:center; gap:4px; margin:4px 0 0; padding:3px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper-3); color:var(--ink-3); font:500 .58rem/1 var(--font-ui); cursor:pointer; transition:background .15s; }
.timeline-more-btn:hover { background:var(--paper-2); color:var(--ink); }
.timeline-more-btn::after { content:"▾"; font-size:.65rem; }
.timeline-more-btn.is-open::after { content:"▴"; }
.timeline-items-extra { display:none; }
.timeline-items-extra.is-open { display:block; }
.timeline-progress { color:var(--ink-4); font:500 .55rem/1 var(--font-mono); }

/* Leerer Zustand */
.timeline-empty { padding:24px 16px; text-align:center; color:var(--ink-4); font:.65rem/1.45 var(--font-mono); }
.development-score-grid,.development-runtime-grid,.development-scale-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; margin:12px 14px; border:1px solid var(--rule); background:var(--rule); }
.development-score-grid > *, .development-runtime-grid > *, .development-scale-grid > * { padding:10px; background:var(--paper-2); }
.development-timeline-notice,.development-detail { margin:12px 14px; padding:10px 12px; border-left:2px solid var(--accent); background:var(--accent-wash); }

/* ── Entwicklungs-Timeline: horizontal scrollend ── */
.development-notice { margin:0 14px; padding:8px 10px; border-left:2px solid var(--accent); background:var(--accent-wash); font-size:.7rem; line-height:1.45; color:var(--ink-2); }
.dev-consciousness-guard { display:inline-block; margin-left:6px; padding:1px 6px; border-radius:99px; color:var(--ink-4); background:var(--paper-3); font:500 .5rem/1 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }

/* Summary-Karten */
.development-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:6px; margin:10px 14px; }
.dev-stat { padding:8px 10px; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--paper-2); }
.dev-stat span { display:block; color:var(--ink-3); font:700 .5rem/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.dev-stat strong { display:block; margin:3px 0 2px; font:600 .82rem/1.2 var(--font-display); color:var(--ink); }
.dev-stat small { color:var(--ink-4); font-size:.55rem; }

/* Horizontal scrollbar Track */
.dev-horiz-track-wrap { overflow-x:auto; margin:0 14px; padding:8px 0 12px; }
.dev-horiz-track-wrap::-webkit-scrollbar { height:6px; }
.dev-horiz-track-wrap::-webkit-scrollbar-thumb { border-radius:99px; background:var(--rule-3); }
.dev-horiz-track { display:flex; gap:8px; min-width:max-content; padding:0 4px; }

/* Node-Karten im Track */
.dev-node { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; min-width:100px; max-width:120px; padding:10px 8px 8px; border:1px solid var(--rule); border-radius:var(--r-md); background:var(--paper-2); cursor:pointer; text-align:center; transition:border-color .2s,box-shadow .2s; }
.dev-node:hover { border-color:var(--rule-3); box-shadow:0 2px 8px rgba(0,0,0,.04); }
.dev-node-number { position:absolute; top:-8px; left:50%; transform:translateX(-50%); display:grid; place-items:center; width:20px; height:20px; border:1px solid var(--rule-2); border-radius:50%; background:var(--paper-3); color:var(--ink-3); font:700 .55rem/1 var(--font-mono); }
.dev-node-label { font:600 .65rem/1.2 var(--font-ui); color:var(--ink); margin-top:6px; }
.dev-node-bar { width:100%; height:4px; border-radius:99px; background:var(--paper-4); overflow:hidden; }
.dev-node-fill { display:block; height:100%; border-radius:99px; background:var(--accent); transition:width .4s; }
.dev-node-status { font:500 .48rem/1 var(--font-mono); color:var(--ink-4); text-transform:uppercase; letter-spacing:.06em; }
.dev-node-marker { position:absolute; bottom:-10px; font:700 .45rem/1 var(--font-mono); white-space:nowrap; padding:1px 5px; border-radius:99px; }
.dev-node-marker-tech { color:var(--moss); background:var(--moss-wash); border:1px solid color-mix(in srgb,var(--moss) 30%,transparent); }
.dev-node-marker-sci { color:var(--indigo); background:var(--indigo-wash); border:1px solid color-mix(in srgb,var(--indigo) 30%,transparent); }

/* Node-Status-Farben */
.dev-node-implemented { border-top:2px solid var(--moss); }
.dev-node-integrated { border-top:2px solid var(--indigo); }
.dev-node-verified { border-top:2px solid var(--accent); }
.dev-node-evidencable { border-top:2px solid #8a6d28; }
.dev-node-planned { border-top:2px dashed var(--rule-3); opacity:.72; }
.dev-node-missing { border-top:2px dashed var(--crimson); opacity:.6; }
.dev-node-partial { border-top:2px solid var(--amber); }

/* Scales horizontal */
.dev-horiz-scale-wrap { margin:0 14px 10px; }
.dev-horiz-scales { display:flex; gap:12px; }
.dev-scale { flex:1; min-width:0; padding:8px 10px; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--paper-2); }
.dev-scale header { display:flex; justify-content:space-between; gap:8px; margin-bottom:6px; }
.dev-scale header strong { font-size:.72rem; }
.dev-scale header span { color:var(--ink-4); font-size:.52rem; }
.dev-scale-line { position:relative; height:6px; border-radius:99px; background:var(--paper-4); overflow:visible; }
.dev-scale-marker { position:absolute; top:-3px; width:12px; height:12px; border-radius:50%; background:var(--accent); border:2px solid var(--paper-2); box-shadow:0 0 0 1px var(--accent); transform:translateX(-50%); }
.dev-scale-na { position:absolute; left:50%; top:-5px; transform:translateX(-50%); color:var(--ink-4); font-size:.6rem; }
.dev-scale-value { display:block; margin-top:4px; color:var(--ink-3); font:500 .58rem/1 var(--font-mono); }

/* Stage-Liste (Detailkarten unter dem Track) */
.development-stage-list { padding:0 14px 14px; display:grid; gap:6px; }
.dev-stage-card { display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; border:1px solid var(--rule); border-left:3px solid var(--rule-3); border-radius:var(--r-sm); background:var(--paper-2); cursor:pointer; text-align:left; transition:border-color .2s,background .2s; }
.dev-stage-card:hover { background:var(--paper-3); }
.dev-stage-card.dev-stage-implemented { border-left-color:var(--moss); }
.dev-stage-card.dev-stage-integrated { border-left-color:var(--indigo); }
.dev-stage-card.dev-stage-verified { border-left-color:var(--accent); }
.dev-stage-card.dev-stage-evidencable { border-left-color:#8a6d28; }
.dev-stage-card.dev-stage-planned { border-left-color:var(--rule-3); }
.dev-stage-number { flex-shrink:0; display:grid; place-items:center; width:24px; height:24px; border:1px solid var(--rule-2); border-radius:50%; font:700 .6rem/1 var(--font-mono); color:var(--ink-3); }
.dev-stage-copy { flex:1; min-width:0; }
.dev-stage-copy strong { display:block; font-size:.78rem; }
.dev-stage-copy small { display:block; margin-top:2px; color:var(--ink-3); font-size:.62rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dev-stage-metrics { flex-shrink:0; text-align:right; }
.dev-stage-metrics b { display:block; font:600 .7rem/1 var(--font-mono); color:var(--ink); }
.dev-stage-metrics em { font:500 .5rem/1 var(--font-mono); color:var(--ink-4); font-style:normal; text-transform:uppercase; letter-spacing:.05em; }

/* Detail-Panel (aufklappbar) */
.development-detail { margin:0 14px 14px; padding:12px 14px; border:1px solid var(--rule); border-left:3px solid var(--accent); border-radius:var(--r-md); background:var(--paper-2); }
.development-detail[hidden] { display:none; }
.dev-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.dev-detail-header h3 { font-size:.95rem; }
.dev-detail-scores { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.dev-detail-scores span { font-size:.65rem; color:var(--ink-3); }
.dev-detail-scores strong { margin-left:4px; color:var(--ink); font-family:var(--font-mono); }
.dev-criteria-list { display:grid; gap:4px; margin-bottom:10px; }
.dev-criterion { display:flex; align-items:center; gap:8px; padding:5px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); font-size:.65rem; }
.dev-criterion-pass { border-left:3px solid var(--moss); }
.dev-criterion-fail { border-left:3px solid var(--crimson); }
.dev-criterion-missing { border-left:3px solid var(--rule-3); }
.dev-criterion strong { margin-left:auto; font-family:var(--font-mono); font-size:.6rem; }
.dev-criterion small { display:block; width:100%; margin-top:2px; color:var(--ink-4); font-size:.55rem; }
.dev-detail-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; }
.dev-detail-columns section h4 { font-size:.7rem; margin-bottom:4px; color:var(--ink-3); }
.dev-detail-columns ul { margin:0; padding-left:14px; font-size:.62rem; color:var(--ink-2); line-height:1.5; }
.dev-detail-columns li + li { margin-top:2px; }
.dev-empty { color:var(--ink-4); font-size:.6rem; }

/* Embodiment */
.embodiment-anatomy,.embodiment-living-map { display:grid; grid-template-columns:minmax(190px,24%) minmax(360px,1fr) minmax(190px,24%); gap:12px; align-items:start; margin-bottom:14px; }
.anatomy-zone,.organism-core { overflow:hidden; }
.anatomy-zone > header,.runtime-clock-panel > header,.embodiment-connection-manager > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:11px 12px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.zone-index { color:var(--accent); font:700 .56rem/1 var(--font-mono); }
.zone-kicker { color:var(--ink-4); font:700 .52rem/1 var(--font-mono); letter-spacing:.12em; }
.sense-orbit,.limb-stack { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; padding:16px 12px; }
.sense-node,.limb-stack i { display:grid; place-items:center; min-width:42px; min-height:30px; padding:5px 8px; border:1px solid var(--rule-2); border-radius:var(--r-sm); color:var(--indigo); background:var(--indigo-wash); font:700 .57rem/1 var(--font-mono); font-style:normal; }
.anatomy-stats { display:grid; margin:0; padding:0 12px 10px; }
.anatomy-stats > div { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid var(--rule); }
.anatomy-stats dt { color:var(--ink-3); font-size:.66rem; }
.anatomy-stats dd { margin:0; color:var(--ink); font:600 .64rem/1.3 var(--font-mono); text-align:right; }
.zone-state { display:block; padding:8px 12px; border-top:1px solid var(--rule); color:var(--ink-3); font:600 .61rem/1.2 var(--font-mono); }
.organism-core { display:grid; min-height:520px; align-content:start; background:linear-gradient(180deg,var(--accent-wash),transparent 44%),var(--paper-2); }
.organism-field { display:none; }
.brain5d-being { width:min(280px,70%); margin:18px auto 0; filter:grayscale(.6) sepia(.2); opacity:.76; }
.runtime-clock-panel { margin:12px; }
.runtime-clock-control { display:grid; grid-template-columns:auto auto 1fr; gap:8px; align-items:center; padding:10px 12px; }
.runtime-clock-readout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border-top:1px solid var(--rule); background:var(--rule); }
.runtime-clock-readout span { display:flex; justify-content:space-between; gap:8px; padding:7px 9px; background:var(--paper-2); color:var(--ink-3); font-size:.64rem; }
.runtime-clock-readout b { color:var(--ink); font-family:var(--font-mono); }
.organism-node-key,.brain-core-metrics { display:flex; justify-content:center; gap:5px; flex-wrap:wrap; padding:8px 12px; }
.organism-node-key span,.brain-core-metrics span { padding:3px 6px; border:1px solid var(--rule); color:var(--ink-3); background:var(--paper-3); font:600 .53rem/1 var(--font-mono); }
.brain-core-mark,.organism-vital,figcaption { text-align:center; padding:8px 12px; }
.brain-core-mark strong { font-family:var(--font-display); }
.embodiment-system-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; margin-bottom:12px; overflow:hidden; background:var(--rule); }
.embodiment-system-strip article { display:grid; gap:4px; padding:9px 10px; background:var(--paper-2); cursor:pointer; }
.embodiment-system-strip article > span { color:var(--ink-4); font:700 .51rem/1 var(--font-mono); letter-spacing:.08em; }
.embodiment-system-strip strong { font-family:var(--font-display); font-size:.78rem; }
.embodiment-system-strip small { color:var(--ink-3); font-size:.6rem; }
.embodiment-loop { display:grid; grid-template-columns:repeat(11,auto); align-items:center; gap:7px; padding:12px; margin-bottom:14px; overflow:auto; }
.embodiment-loop-node { display:grid; gap:3px; min-width:112px; padding:8px 9px; border:1px solid var(--rule); border-radius:var(--r-sm); background:var(--paper-2); }
.embodiment-loop-node > span { color:var(--accent); font:700 .52rem/1 var(--font-mono); }
.embodiment-loop-node strong { font-family:var(--font-display); }
.embodiment-loop-node small { color:var(--ink-3); font-size:.6rem; }
.embodiment-contract-note { grid-column:1/-1; margin:0; padding-top:8px; border-top:1px solid var(--rule); color:var(--ink-4); font:.61rem/1.4 var(--font-mono); }
.connection-summary { display:flex; gap:10px; flex-wrap:wrap; color:var(--ink-3); font-size:.64rem; }
.connection-summary strong { color:var(--ink); font-family:var(--font-mono); }
.connection-graph { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; padding:12px; }
.connection-empty { color:var(--ink-4); font:.67rem/1.4 var(--font-mono); }
.pipeline-toggle { display:flex; align-items:center; gap:4px; }
.pipeline-toggle span { color:var(--ink-3); font:700 .52rem/1 var(--font-mono); }

/* dynamically generated Wesen workspace */
.wesen-workspace { padding-bottom:24px; }
.wesen-header { align-items:flex-end; }
.wesen-live-state { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid var(--rule); border-radius:999px; color:var(--ink-3); font:.62rem/1 var(--font-mono); white-space:nowrap; }
.wesen-live-dot,.wesen-connection-led { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--ink-4); }
.wesen-live-dot[data-state="ok"],.wesen-connection-led.ok { background:var(--moss); box-shadow:0 0 0 3px var(--moss-wash); }
.wesen-live-dot[data-state="warn"],.wesen-connection-led.warn { background:var(--amber); box-shadow:0 0 0 3px var(--amber-wash); }
.wesen-live-dot[data-state="critical"],.wesen-connection-led.critical { background:var(--crimson); box-shadow:0 0 0 3px var(--crimson-wash); }
.wesen-layout { display:flex; flex-direction:column; gap:8px; }
.wesen-card,.wesen-stage-card,.wesen-console { overflow:hidden; }
.wesen-card > header { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:5px 8px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.wesen-card > header span { color:var(--ink-3); font:700 .5rem/1 var(--font-mono); letter-spacing:.07em; }
.wesen-card > header small { color:var(--ink-4); font-size:.52rem; }
.wesen-metrics,.wesen-inspector-rows { padding:4px 9px; }
.wesen-metric,.wesen-inspector-rows > div { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:24px; border-bottom:1px solid var(--rule); }
.wesen-metric span,.wesen-inspector-rows span { color:var(--ink-3); font-size:.62rem; }
.wesen-metric strong,.wesen-inspector-rows strong { color:var(--ink); font:600 .62rem/1.2 var(--font-mono); }
.wesen-spark-wrap { padding:4px 9px 8px; }
.wesen-spark-wrap > div { display:flex; justify-content:space-between; color:var(--ink-3); font-size:.62rem; }
#wesen-recurrence-chart,#wesen-self-svg { width:100%; display:block; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper); }
#wesen-recurrence-chart { height:42px; }
.wesen-chart-line { fill:none; stroke:var(--accent); stroke-width:1.5; }
.wesen-chart-point { fill:var(--accent); }
.wesen-chart-empty { fill:var(--ink-4); font-size:10px; }
.wesen-integrity-note { margin:0; padding:0 9px 8px; color:var(--ink-4); font-size:.6rem; }
.wesen-adaptation { padding:6px 9px; }
.wesen-adaptation p { margin-top:3px; color:var(--ink-3); font-size:.62rem; }
.wesen-adaptation-state { display:flex; align-items:center; gap:6px; }
.wesen-adaptation-state span { width:7px; height:7px; border-radius:50%; background:var(--ink-4); }
.wesen-adaptation-state.ok span { background:var(--moss); }
.wesen-adaptation-state.warn span { background:var(--amber); }
.wesen-adaptation-state.critical span { background:var(--crimson); }
.wesen-stage-card { display:flex; flex-direction:column; }
.wesen-stage-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 8px; border-bottom:1px solid var(--rule); background:var(--paper-3); flex-shrink:0; }
.wesen-stage-toolbar > div:first-child { display:grid; gap:1px; }
.wesen-stage-toolbar strong { font-family:var(--font-display); font-size:.8rem; }
.wesen-stage-toolbar span { color:var(--ink-3); font-size:.58rem; }
.wesen-stage-toolbar .wesen-view-controls { display:inline-flex; gap:1px; padding:0; background:transparent; }
.wesen-stage-toolbar .wesen-view-controls button { min-height:24px; padding:0 7px; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper-2); color:var(--ink-3); font-size:.6rem; cursor:pointer; }
.wesen-stage-toolbar .wesen-view-controls button.active { color:var(--accent-2); background:var(--accent-wash); border-color:color-mix(in srgb,var(--accent) 30%,transparent); }
.wesen-stage-actions { display:flex; align-items:center; gap:4px; }
.wesen-stage { position:relative; height:420px; overflow:hidden; background:radial-gradient(circle at 50% 46%,var(--accent-wash),transparent 34%),linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px),var(--paper); background-size:auto,44px 44px,44px 44px,auto; flex-shrink:0; }
#wesen-svg { position:absolute; inset:0; width:100%; height:100%; }
#wesen-svg { position:absolute; inset:0; width:100%; height:100%; }
#wesen-camera { transform-origin:450px 350px; }
.wesen-membrane,#wesen-membrane { fill:var(--accent-wash); stroke:color-mix(in srgb,var(--accent) 48%,transparent); stroke-width:1.4; stroke-dasharray:7 8; transition: d 0.4s cubic-bezier(.2,.7,.3,1); }
.wesen-nerve { fill:none; stroke:color-mix(in srgb,var(--ink-3) 25%,transparent); stroke-width:1.3; }
#wesen-svg.show-connections .wesen-nerve { stroke:color-mix(in srgb,var(--indigo) 45%,transparent); }
.wesen-signal-dot { fill:var(--accent); offset-rotate:0deg; animation: wesen-signal-move 1.5s linear infinite; }
.wesen-signal-dot.feedback-echo { fill:color-mix(in srgb,var(--accent) 55%,transparent); animation: wesen-signal-move 1.35s linear infinite; }
@keyframes wesen-signal-move { 0% { offset-distance: 0%; } 100% { offset-distance: 100%; } }
.wesen-organ { cursor:pointer; transform-box:fill-box; transform-origin:center; }
.wesen-organ-halo { fill:transparent; stroke:currentColor; stroke-opacity:.14; }
.wesen-organ-body { fill:var(--paper-2); stroke:currentColor; stroke-width:1.6; }
.wesen-organ-status { fill:var(--moss); }
.wesen-organ-icon { fill:currentColor; font-size:28px; text-anchor:middle; font-weight:700; }
.wesen-organ-label { fill:var(--ink); font-size:13px; text-anchor:middle; font-weight:700; }
.wesen-organ-value { fill:var(--ink-3); font-size:10px; text-anchor:middle; }
.wesen-core .wesen-organ-body { fill:var(--paper-3); stroke:var(--b5-gold); }
.wesen-core .wesen-organ-icon,.wesen-core .wesen-organ-label { fill:var(--ink); }
.wesen-hue-cyan,.wesen-organ.kind-sensor { color:var(--indigo); }
.wesen-hue-rose,.wesen-organ.kind-internal { color:var(--crimson); }
.wesen-hue-violet,.wesen-organ.kind-feedback { color:#66527d; }
.wesen-hue-green,.wesen-organ.kind-structure { color:var(--moss); }
.wesen-hue-amber,.wesen-organ.kind-actuator { color:var(--amber); }
.wesen-hue-blue,.wesen-organ.kind-connection { color:var(--indigo); }
.wesen-hue-gold,.wesen-organ.kind-core { color:#8a6d28; }
.wesen-environment-caption,.wesen-adaptive-caption { position:absolute; bottom:10px; display:grid; gap:2px; padding:7px 9px; border:1px solid var(--rule); border-radius:var(--r-sm); background:color-mix(in srgb,var(--paper-2) 92%,transparent); }
.wesen-environment-caption { left:10px; }
.wesen-adaptive-caption { right:10px; text-align:right; }
.wesen-environment-caption span,.wesen-adaptive-caption span { color:var(--ink-4); font:700 .52rem/1 var(--font-mono); letter-spacing:.10em; }
.wesen-environment-caption strong,.wesen-adaptive-caption strong { color:var(--ink); font-size:.68rem; }
.wesen-console { margin:0; border-top:1px solid var(--rule); }
.wesen-console-head { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:4px 8px; background:var(--paper-3); font-size:.62rem; }
#wesen-event-filters { display:flex; flex-wrap:wrap; gap:2px; }
#wesen-event-filters button { min-height:22px; padding:0 6px; border:0; border-radius:var(--r-xs); background:var(--paper-2); color:var(--ink-3); font-size:.55rem; cursor:pointer; }
#wesen-event-filters button.active { color:var(--accent-2); background:var(--accent-wash); }
.wesen-events { max-height:100px; overflow:auto; }
.wesen-event-row,.wesen-connection-row { width:100%; display:grid; align-items:center; gap:4px; text-align:left; border:0; border-bottom:1px solid var(--rule); border-radius:0; background:transparent; color:var(--ink-2); cursor:pointer; }
.wesen-event-row { grid-template-columns:44px 5px minmax(80px,.65fr) 1fr; padding:3px 7px; font-size:.58rem; }
.wesen-connection-row { grid-template-columns:6px minmax(0,1fr) auto; padding:4px 7px; font-size:.58rem; }
.wesen-event-row:hover,.wesen-connection-row:hover { background:var(--paper-3); }
.wesen-event-row time,.wesen-event-row em,.wesen-connection-row small,.wesen-connection-row em { color:var(--ink-4); font-size:.55rem; font-style:normal; }
.wesen-event-kind { width:5px; height:5px; border-radius:50%; background:var(--indigo); flex-shrink:0; }
.wesen-event-kind.sensor,.wesen-event-kind.sensorik { background:var(--indigo); }
.wesen-event-kind.actuator { background:var(--amber); }
.wesen-event-kind.feedback,.wesen-event-kind.rueckkopplung { background:#66527d; }
.wesen-event-kind.structure,.wesen-event-kind.struktur { background:var(--moss); }
.wesen-event-kind.system,.wesen-event-kind.innenzustand { background:var(--crimson); }
.wesen-inspector-title { display:flex; gap:6px; align-items:center; padding:6px 8px; }
.wesen-inspector-title > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid currentColor; border-radius:50%; font-size:.75rem; }
.wesen-inspector-title > div { display:grid; gap:1px; }
.wesen-inspector-title strong { font-size:.78rem; }
.wesen-inspector-title small { color:var(--ink-3); font-size:.55rem; }
.wesen-connection-list { max-height:140px; overflow:auto; }
.wesen-empty { margin:0; padding:6px 8px; color:var(--ink-4); font:.55rem/1.3 var(--font-mono); }
.wesen-self-body { display:flex; gap:8px; align-items:center; padding:6px 8px; }
#wesen-self-svg { width:140px; min-height:80px; flex-shrink:0; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper); }
.wesen-self-metrics { flex:1; min-width:0; display:grid; gap:2px; }
.wesen-self-metrics > div { display:flex; justify-content:space-between; gap:8px; padding:3px 0; border-bottom:1px solid var(--rule); font-size:.6rem; }
.wesen-self-metrics span { color:var(--ink-3); }
.wesen-self-metrics strong { color:var(--ink); font-family:var(--font-mono); }
.wesen-history { max-height:100px; overflow:auto; padding:3px 8px; }
.wesen-history > div { display:flex; justify-content:space-between; gap:6px; padding:3px 0; border-bottom:1px solid var(--rule); color:var(--ink-3); font-size:.55rem; }

/* Runtime I/O */
.wesen-runtime-io > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 10px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.wesen-runtime-io > header h2 { font-size:.85rem; }
.wesen-runtime-io-body { display:grid; grid-template-columns:auto 1fr; gap:12px; padding:8px 10px; align-items:start; }
.wesen-runtime-io-form { display:flex; gap:8px; align-items:end; flex-wrap:wrap; }
.wesen-runtime-io-form label { display:grid; gap:3px; color:var(--ink-3); font-size:.65rem; }
.wesen-runtime-io-form select,
.wesen-runtime-io-form input { min-height:28px; padding:4px 7px; border:1px solid var(--rule-2); border-radius:var(--r-xs); background:var(--paper-2); color:var(--ink); font-size:.72rem; }
.wesen-runtime-io-form select { min-width:140px; }
.wesen-runtime-io-form input[type="number"] { width:80px; }
.wesen-runtime-io-form button { min-height:28px; padding:0 12px; border:1px solid var(--accent); border-radius:var(--r-xs); background:var(--accent); color:var(--paper-2); font:600 .68rem/1 var(--font-ui); cursor:pointer; }
.wesen-runtime-io-form button:hover { background:var(--accent-2); }
.wesen-runtime-io-form button:disabled { opacity:.4; cursor:not-allowed; }
.wesen-runtime-io-readout { min-width:0; }
.wesen-runtime-io-readout strong { display:block; margin-bottom:4px; color:var(--ink-3); font:600 .6rem/1 var(--font-mono); }
.wesen-runtime-io-readout pre { margin:0; max-height:80px; overflow:auto; padding:6px 8px; border:1px solid var(--rule); border-radius:var(--r-xs); background:var(--paper); color:var(--ink-2); font-size:.62rem; line-height:1.4; }

/* ── Footer — zweizeilig: oben stabil, unten Telemetrie ── */
.mhrn-footer { position:fixed; bottom:0; left:0; right:0; z-index:500; display:flex; flex-direction:column; border-top:1px solid var(--rule-2); background:var(--paper-2); color:var(--ink-3); box-shadow:0 -4px 14px -8px rgba(26,23,20,.18); }
.mhrn-footer-row { display:flex; align-items:center; gap:0; padding:5px var(--gutter); font:600 .56rem/1.2 var(--font-mono); white-space:nowrap; overflow-x:auto; }
.mhrn-footer-primary { border-bottom:1px solid var(--rule); gap:10px; }
.mhrn-footer-status { background:var(--paper); display:grid; grid-template-columns: 78px 58px 70px 82px 74px 74px 74px 92px minmax(120px,1fr) auto auto auto; align-items:center; gap:0; }
.mhrn-brand { color:var(--accent); font:700 .72rem/1 var(--font-display); }
.mhrn-brand em { color:var(--ink-4); font:400 .58rem/1 var(--font-mono); font-style:normal; margin-left:3px; }
.mhrn-divider { width:1px; height:16px; background:var(--rule-2); flex-shrink:0; }
.mhrn-transport { display:inline-flex; gap:2px; }
.mhrn-transport button,.mode-btn { width:22px; min-height:22px; padding:0; border:1px solid transparent; background:transparent; font-size:.64rem; line-height:1; cursor:pointer; border-radius:var(--r-xs); color:var(--ink-3); }
.mhrn-transport button:hover,.mode-btn:hover { border-color:var(--rule-2); background:var(--paper-3); color:var(--ink); }
.mhrn-feedback { color:var(--ink-4); font:500 .52rem/1 var(--font-mono); font-style:normal; }
.mhrn-mode-switch { display:inline-flex; gap:2px; }
.mhrn-spacer { flex:1; }
.mhrn-badge { padding:1px 7px; border-radius:var(--r-sm); font:600 .52rem/1.4 var(--font-mono); white-space:nowrap; }
.mhrn-badge-ok { color:var(--moss); background:var(--moss-wash); }
.mhrn-badge-warn { color:var(--amber); background:var(--amber-wash); }
.mhrn-kpi { display:inline-flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap; padding:0 7px; border-right:1px solid var(--rule); overflow:hidden; }
.mhrn-kpi:last-child { border-right:0; }
.mhrn-kpi > b { color:var(--ink-4); font:700 .48rem/1 var(--font-mono); letter-spacing:.05em; text-transform:uppercase; flex-shrink:0; }
.mhrn-kpi > strong { color:var(--ink); font:600 .56rem/1 var(--font-mono); overflow:hidden; text-overflow:ellipsis; }
.mhrn-footer-primary .mhrn-kpi { border-right:0; padding:0; }
.mhrn-footer-status .kpi-rt { min-width:0; justify-content:center; }
.mhrn-footer-status .kpi-rt strong { min-width:46px; text-align:center; }
.mhrn-footer-status .kpi-tick strong { min-width:34px; text-align:right; }
.mhrn-footer-status .kpi-ci strong,.mhrn-footer-status .kpi-gate strong { min-width:42px; text-align:right; }
.mhrn-footer-status .kpi-act strong { min-width:40px; text-align:right; }
.mhrn-footer-status .kpi-spk strong { min-width:38px; text-align:right; }
.mhrn-footer-status .kpi-drk strong { min-width:38px; text-align:right; }
.mhrn-footer-status .kpi-io strong { min-width:52px; text-align:center; }
.mhrn-footer-status .kpi-exp { overflow:hidden; justify-content:flex-start; border:none !important; border-right:0 !important; }
.mhrn-footer-status .kpi-exp strong { min-width:50px; }
.mhrn-footer-status .status-pill { border:none; border-radius:0; background:transparent; padding:0; }
.mhrn-footer-status .kpi-age strong { min-width:30px; text-align:right; }
.mhrn-kpi[data-gs-wrap="ci"] strong[data-state="failed"],.mhrn-kpi[data-gs-wrap="gate"] strong[data-state="failed"] { color:var(--crimson); }
.mhrn-kpi[data-gs-wrap="ci"] strong[data-state="pending"],.mhrn-kpi[data-gs-wrap="gate"] strong[data-state="pending"] { color:var(--amber); }
.mhrn-kpi[data-gs-wrap="ci"] strong[data-state="ok"],.mhrn-kpi[data-gs-wrap="gate"] strong[data-state="ok"] { color:var(--moss); }
.mhrn-kpi-muted > strong,.mhrn-kpi-muted { color:var(--ink-4); }
.mhrn-kpi-io strong { display:inline-flex; gap:1px; }
.mhrn-kpi-io strong span { color:var(--ink-2); }
.mhrn-kpi-warn { border:none !important; border-right:0 !important; }
.mhrn-kpi-warn button { border:none; background:transparent; color:var(--amber); font:600 .56rem/1 var(--font-mono); cursor:pointer; padding:0; border-radius:var(--r-xs); }
.mhrn-kpi-warn button:hover { background:var(--amber-wash); }
.footer-experiment-dot { width:5px; height:5px; border-radius:50%; background:var(--ink-4); flex-shrink:0; }
.mhrn-footer-status .footer-experiment[data-active="true"] .footer-experiment-dot { background:var(--accent); }
.mhrn-health { display:inline-flex; align-items:center; min-width:0; border:none !important; border-right:0 !important; }
.health-bar { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.health-indicator { width:7px; height:7px; border-radius:50%; background:var(--ink-4); flex-shrink:0; }
.health-indicator.health-ok { background:var(--moss); }
.health-indicator.health-warning { background:var(--amber); }
.health-indicator.health-error { background:var(--crimson); }
.health-indicator.health-stale { background:var(--ink-4); }
.health-summary { color:var(--ink-3); font:600 .52rem/1 var(--font-mono); }
.health-toggle { border:none; background:transparent; color:var(--ink-3); font:600 .50rem/1 var(--font-mono); padding:0 2px; border-radius:var(--r-xs); cursor:pointer; white-space:nowrap; }
.health-toggle:hover { background:var(--paper-3); color:var(--ink); }
.health-toggle[aria-expanded="true"] { background:var(--accent-wash); color:var(--accent); }

/* ── Ticker (Laufschrift) im Footer ── */
.mhrn-ticker { overflow:hidden; min-width:0; flex:1; display:flex; align-items:center; gap:8px; }
.mhrn-ticker-track { display:inline-flex; align-items:center; gap:14px; white-space:nowrap; animation:mhrn-ticker-scroll 40s linear infinite; }
.mhrn-ticker:has(.mhrn-ticker-track:hover) .mhrn-ticker-track { animation-play-state:paused; }
.mhrn-ticker-item { display:inline-flex; align-items:center; gap:4px; font:500 .52rem/1 var(--font-mono); color:var(--ink-3); }
.mhrn-ticker-item b { color:var(--ink-4); font-weight:700; font-size:.48rem; text-transform:uppercase; letter-spacing:.05em; }
.mhrn-ticker-item span { color:var(--ink-2); }
.mhrn-ticker-item[data-kind="error"] span { color:var(--crimson); }
.mhrn-ticker-item[data-kind="warning"] span { color:var(--amber); }
.mhrn-ticker-item[data-kind="info"] span { color:var(--indigo); }
.mhrn-ticker-empty { color:var(--ink-4); font:500 .52rem/1 var(--font-mono); }
@keyframes mhrn-ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* generic modal surfaces */
.modal-overlay,.embodiment-detail-modal { position:fixed; inset:0; z-index:900; display:grid; place-items:center; padding:16px; background:color-mix(in srgb,var(--ink) 42%,transparent); backdrop-filter:blur(3px); }
.modal-content,.embodiment-detail-dialog,.context-help { width:min(760px,calc(100vw - 24px)); max-height:88vh; overflow:auto; border:1px solid var(--rule-3); border-radius:var(--r-lg); background:var(--paper-2); color:var(--ink); box-shadow:var(--shadow-float); }
.modal-header,.embodiment-detail-dialog > header,.context-help-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px solid var(--rule); background:var(--paper-3); }
.modal-body,.embodiment-detail-dialog > p,.embodiment-detail-fields,.context-help > p { padding:12px 13px; }
.modal-footer,.embodiment-detail-dialog > footer { display:flex; justify-content:flex-end; gap:6px; padding:10px 13px; border-top:1px solid var(--rule); }
.modal-close { width:30px; min-width:30px; padding:0; border-color:transparent; background:transparent; font-size:1rem; }

/* accessibility switches already supplied by JS */
body[data-accessibility="large"] { font-size:16px; --h-control:40px; }
body[data-contrast="high"] { --rule:rgba(26,23,20,.32); --rule-2:rgba(26,23,20,.52); --rule-3:rgba(26,23,20,.78); }
body[data-theme="light"][data-contrast="high"] { --rule:rgba(240,233,218,.32); --rule-2:rgba(240,233,218,.52); --rule-3:rgba(240,233,218,.78); }

@media (max-width:1180px) {
  .overview-operations-grid { grid-template-columns:1fr 1fr; }
  .overview-body-surface { grid-column:1/-1; }
  .embodiment-anatomy,.embodiment-living-map { grid-template-columns:1fr 1fr; }
  .organism-core { grid-column:1/-1; grid-row:1; }
  .wesen-layout { gap:6px; }
  .wesen-runtime-io-body { grid-template-columns:1fr; }
  .mhrn-footer-row { flex-wrap:wrap; padding-inline:10px; }
  .mhrn-divider { display:none; }
  .mhrn-footer-status { display:flex; flex-wrap:wrap; }
}

@media (max-width:900px) {
  .topbar { position:relative; align-items:flex-start; flex-direction:column; }
  .topbar-right { justify-content:flex-start; }
  body .brain5d-primary-nav { width:56px !important; }
  body .brain5d-primary-nav button { padding:12px 0 !important; justify-content:center !important; }
  body .brain5d-primary-nav button::before { width:auto; }
  body .brain5d-primary-nav .mhrn-nav-copy,
  body .brain5d-primary-nav button span { display:none !important; }
  body .brain5d-primary-nav .mhrn-global-actions { margin-top:auto; }
  body .brain5d-primary-nav .mhrn-global-actions .mhrn-global-route { padding:12px 0; justify-content:center; }
  main { width:min(calc(100% - 20px - 56px),var(--max)); margin-left:56px; }
  .workspace-header,.dashboard-generated-header,.overview-command-bar { align-items:flex-start; flex-direction:column; }
  .workspace-status-strip { width:100%; justify-content:flex-start; }
  .overview-operations-grid,.overview-metrics-row,.control-causal-grid { grid-template-columns:1fr; }
  .overview-body-surface { grid-column:auto; }
  .overview-status-rail { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .heatmap-split,.experiment-form,.settings-guardrail-grid,.release-documents-grid,.gate-sections-grid { grid-template-columns:1fr; }
  .workflow-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .workflow-actions { grid-template-columns:1fr; }
  .structural-live-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .research-focus-rail { grid-template-columns:1fr; }
  .embodiment-anatomy,.embodiment-living-map { grid-template-columns:1fr; }
  .organism-core { grid-column:auto; grid-row:auto; }
  .embodiment-system-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wesen-layout { gap:6px; }
  .wesen-stage-card { margin-bottom:6px; }
  .wesen-runtime-io-body { grid-template-columns:1fr; }
  .mhrn-footer-row { flex-wrap:wrap; }
  .mhrn-footer-status { display:flex; flex-wrap:wrap; }
}

@media (max-width:620px) {
  body { font-size:13px; }
  main { width:min(calc(100% - 20px),var(--max)); padding-top:18px; }
  .topbar { padding-inline:10px; }
  .topbar::after { left:10px; right:10px; }
  body .brain5d-primary-nav { position:static !important; width:100% !important; flex-direction:row !important; overflow-x:auto; }
  body .brain5d-primary-nav button { min-height:52px !important; padding:7px 10px !important; justify-content:center !important; flex:1; }
  body .brain5d-primary-nav button::before { display:none !important; }
  body .brain5d-primary-nav .mhrn-nav-copy { display:contents !important; }
  body .brain5d-primary-nav .mhrn-nav-copy strong { font-size:.68rem; }
  body .brain5d-primary-nav .mhrn-nav-copy span { display:none !important; }
  body .brain5d-primary-nav .mhrn-global-actions { flex-direction:row !important; border-top:0; border-left:1px solid var(--rule-2); }
  body .brain5d-primary-nav .mhrn-global-actions .mhrn-global-route { padding:7px 10px; white-space:nowrap; }
  body .brain5d-primary-nav .mhrn-global-actions .mhrn-nav-copy strong { font-size:.68rem; display:inline; }
  body .brain5d-primary-nav .mhrn-global-actions .mhrn-nav-copy span { display:none !important; }
  main { width:min(calc(100% - 20px),var(--max)); margin-left:auto; margin-right:auto; }
  .overview-status-rail,.overview-dynamics-grid,.runtime-metrics,.gate-overall-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-form-grid,.workflow-steps { grid-template-columns:1fr; }
  .experiment-note-row,.pending-changes-bar,.settings-note { grid-template-columns:1fr; display:grid; }
  .parameter-inspector__toolbar { align-items:stretch; flex-direction:column; }
  .parameter-inspector__toolbar input { min-width:0; }
  .embodiment-system-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wesen-stage-card { min-height:auto; }
  .wesen-stage { height:360px; }
  .wesen-stage-toolbar { align-items:flex-start; flex-direction:column; gap:4px; }
  .wesen-console-head { align-items:flex-start; flex-direction:column; }
  .wesen-event-row { grid-template-columns:44px 5px minmax(0,1fr); }
  .wesen-event-row em { grid-column:1/-1; }
  .wesen-runtime-io-body { grid-template-columns:1fr; }
  .wesen-self-body { flex-direction:column; align-items:stretch; }
  #wesen-self-svg { width:100%; }
  .mhrn-footer-row { flex-wrap:wrap; padding-inline:10px; }
  .mhrn-footer-status { display:flex; flex-wrap:wrap; }
  .mhrn-kpi-muted:not(.kpi-warn) { display:none; }
  .kv,.embodiment-detail-fields { grid-template-columns:1fr; }
  .kv dd,.embodiment-detail-fields dd { padding-left:0; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

@media print {
  .topbar,.brain5d-primary-nav,.science-context-nav,.workspace-view-tabs,.research-lanes,.mhrn-footer,.modal-overlay,.embodiment-detail-modal,button { display:none !important; }
  body { background:#fff; color:#000; }
  body::before { display:none; }
  main { width:100%; padding:0; }
  .card,.panel,.overview-surface,.wesen-card,.wesen-stage-card { break-inside:avoid; border-color:#bbb; box-shadow:none; }
}

/* ================================================================
   Publication Panel — Basis-Styles (Reader-Styles werden dynamisch
   von publication-reader.js injected und überschreiben diese)
   ================================================================ */
#tab-publication {
  padding: var(--gutter);
  max-width: var(--max);
}

#publication-panel {
  padding: 0;
  min-height: 200px;
}

.publication-loading,
.publication-error {
  padding: 32px;
  text-align: center;
  color: var(--ink-3);
  font: 500 .85rem/1.5 var(--font-ui);
}

.publication-error {
  color: var(--crimson);
}

.btn-sm {
  min-height: 26px;
  padding: 3px 10px;
  font-size: .65rem;
}

.preview-state-axis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}
.preview-state-axis section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--rule);
  background: var(--paper);
}
.preview-state-axis span {
  display: block;
  color: var(--ink-4);
  font: 700 .58rem/1.3 var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.preview-state-axis strong {
  display: block;
  margin: 5px 0 6px;
  overflow-wrap: anywhere;
  font-size: .74rem;
}
.preview-state-axis p {
  margin: 0;
  color: var(--ink-3);
  font-size: .67rem;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .preview-state-axis { grid-template-columns: 1fr; }
}
