/* Scoped, original supporting exhibits. The approved Pearl roles own both themes. */
.ex-study { min-width:0; }
.ex-study .pf-section-intro { margin-bottom:32px; }
.ex-study .ex-symbol { display:block; flex:none; width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.ex-study .ex-key-name { display:flex; flex-direction:column; justify-content:flex-end; min-width:0; }
.ex-study .ex-key-name>span { display:block; }
.ex-study .pf-tabs { border:0; padding:0; background:transparent; }
.ex-study .pf-tab { color:var(--pearl-muted); background:transparent; border:1px solid var(--pearl-strong); text-decoration:none; min-width:0; margin:0; gap:16px; border-radius:var(--pearl-radius-panel); font:600 16px/1.5 var(--pearl-font-display); }
.ex-study .pf-tab:hover { color:var(--pearl-ink); background:var(--pearl-alt); }
.ex-study .pf-tab[aria-selected=true] { color:var(--pearl-on); background:var(--pearl-accent-mark); border-color:var(--pearl-accent-mark); }
.ex-study :is(.pf-tab,.ex-panel):focus-visible { outline:var(--pearl-focus-width) solid var(--pearl-focus); outline-offset:var(--pearl-focus-offset); }
.ex-study .ex-panel { min-width:0; position:relative; scroll-margin-top:120px; }
.ex-study .ex-panel[hidden] { display:none; }
.ex-study .ex-panel:not([hidden])+.ex-panel:not([hidden]) { border-top:1px solid var(--pearl-line); margin-top:32px; padding-top:32px; }
.ex-study .ex-purpose { color:var(--pearl-muted); margin-top:20px; max-width:70ch; }
.ex-study .ex-fields { margin:32px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ex-study .ex-fields>div { border-top:1px solid var(--pearl-line); padding-top:16px; }
.ex-study .ex-fields dt { color:var(--pearl-muted); font:400 13px/1.6 var(--pearl-font-body); margin:0 0 8px; }
.ex-study .ex-fields dd { color:var(--pearl-ink); margin:0; font:400 16px/1.6 var(--pearl-font-body); }
/* CEO direction, 8 October 2026 (item 7): label and value share one size. */
.platform-page .pf-main .ex-study .ex-fields dd,.ex-study .ex-fields dd { font-size:13px; }
.ex-study .ex-note { margin-top:24px; color:var(--pearl-muted); }

/* Security: a finite control keyboard and a separate implementation/verification record. */
.ex-control-console { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr); gap:40px; align-items:start; }
.ex-security .ex-control-keys { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ex-security .ex-control-key { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-height:156px; padding:20px; gap:24px; }
.ex-control-key .ex-symbol { width:40px; height:40px; }
.ex-control-detail { padding-block:16px; }
.ex-control-detail h3 { padding-bottom:24px; border-bottom:1px solid var(--pearl-line); }

/* Launch OS: a finite phase selector; the ticks identify the current selection. */
.ex-lifecycle .ex-phase-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ex-lifecycle .ex-phase-tab { display:flex; flex-direction:column; align-items:flex-start; padding:24px 0 0; gap:20px; border:0; border-top:1px solid var(--pearl-strong); border-radius:0; }
.ex-lifecycle .ex-phase-tab:hover { background:transparent; color:var(--pearl-ink); }
.ex-lifecycle .ex-phase-tab[aria-selected=true] { color:var(--pearl-accent-text); background:transparent; border-top-color:var(--pearl-accent-mark); }
.ex-phase-number { display:block; font:400 13px/1.5 var(--pearl-font-mono); }
.ex-phase-ticks { display:flex; gap:0; width:100%; height:24px; align-items:end; }
.ex-phase-ticks i { display:block; height:8px; border-left:1px solid var(--pearl-strong); flex:1; }
.ex-phase-ticks i:first-child { height:16px; }
.ex-phase-tab[aria-selected=true] .ex-phase-ticks i:first-child { height:24px; border-color:var(--pearl-accent-mark); }
.ex-lifecycle .ex-panels { border-top:1px solid var(--pearl-line); padding-top:32px; margin-top:12px; }
.ex-phase-detail { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:40px; }
.ex-phase-symbol { color:var(--pearl-art); display:flex; align-items:center; justify-content:center; min-height:112px; }
.ex-phase-symbol .ex-symbol { width:96px; height:96px; }
.ex-phase-detail .ex-purpose { max-width:68ch; }

/* Architecture: choose a component, then see the responsibilities within it. */
.ex-architecture .ex-component-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; align-items:stretch; }
.ex-architecture .ex-component-tab { position:relative; display:flex; padding:24px; align-items:center; }
.ex-component-tab:not(:last-child):after { content:""; position:absolute; top:50%; left:100%; width:40px; height:1px; background:var(--pearl-strong); }
.ex-architecture .ex-component-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:center; padding-block:40px 8px; }
.ex-component-copy { min-width:0; }
.ex-component-map { margin:0; min-width:0; color:var(--pearl-art); padding:24px 0; }
.ex-component-map strong { display:block; color:var(--pearl-ink); font:600 16px/1.5 var(--pearl-font-display); }
.ex-component-map span { font:400 15px/1.6 var(--pearl-font-body); }
.ex-output-map { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:40px; align-items:center; }
.ex-output-origin { display:grid; gap:20px; justify-items:start; }
.ex-output-origin .ex-symbol { width:80px; height:80px; }
.ex-output-branches { display:grid; gap:24px; position:relative; }
.ex-output-branches:before { content:""; position:absolute; top:12px; bottom:12px; left:-24px; border-left:1px solid var(--pearl-strong); }
.ex-output-branches span { position:relative; }
.ex-output-branches span:before { content:""; width:16px; height:1px; background:var(--pearl-strong); position:absolute; left:-24px; top:12px; }
.ex-output-branches span:nth-child(2):before { width:32px; left:-40px; }
.ex-evidence-map { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:center; gap:32px; }
.ex-evidence-core { display:grid; gap:20px; justify-items:start; }
.ex-evidence-core .ex-symbol { width:88px; height:88px; }
.ex-evidence-context { display:grid; gap:12px; padding-left:24px; border-left:1px solid var(--pearl-strong); }
.ex-evidence-context span { position:relative; }
.ex-evidence-context span:before { content:""; position:absolute; left:-24px; width:16px; height:1px; top:12px; background:var(--pearl-strong); }
.ex-context-map { display:grid; grid-template-columns:1fr; justify-items:center; text-align:center; }
.ex-context-map>div { max-width:26ch; }
.ex-context-engine { display:grid; justify-items:center; gap:16px; }
.ex-context-engine .ex-symbol { width:64px; height:64px; }
.ex-map-join { display:block; height:24px; width:1px; background:var(--pearl-strong); margin-block:12px; }

@media (max-width:1100px) {
 .ex-control-console { grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:32px; }
 .ex-security .ex-control-key { padding:16px; font-size:15px; line-height:1.5; min-height:144px; }
 .ex-architecture .ex-component-tabs { gap:24px; }
 .ex-architecture .ex-component-tab { padding:20px 16px; gap:16px; }
 .ex-component-tab:not(:last-child):after { width:24px; }
 .ex-architecture .ex-component-detail { gap:32px; }
}
@media (max-width:900px) {
 .ex-control-console { grid-template-columns:1fr; gap:32px; }
 .ex-security .ex-control-keys { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .ex-control-detail { padding:0; }
 .ex-control-detail .ex-purpose { max-width:none; }
 .ex-architecture .ex-component-detail { gap:32px; }
 .ex-architecture .ex-component-tab { flex-direction:column; align-items:flex-start; gap:16px; }
}
@media (max-width:680px) {
 .ex-study .pf-section-intro { margin-bottom:24px; }
 .ex-study .ex-purpose { margin-top:16px; }
 .ex-study .ex-fields { grid-template-columns:1fr; gap:20px; margin-top:24px; }
 .ex-security .ex-control-keys { grid-template-columns:1fr 1fr; gap:12px; }
 .ex-security .ex-control-key { min-height:140px; padding:16px; gap:20px; }
 .ex-lifecycle .ex-phase-tabs { gap:12px; }
 .ex-lifecycle .ex-phase-tab { padding-top:16px; gap:16px; font-size:14px; line-height:1.5; }
 .ex-phase-detail { grid-template-columns:56px minmax(0,1fr); align-items:start; gap:20px; }
 .ex-phase-symbol { min-height:64px; }
 .ex-phase-symbol .ex-symbol { width:56px; height:56px; }
 .ex-phase-detail h3 { font-size:20px; line-height:1.45; }
 .ex-lifecycle .ex-panels { padding-top:24px; }
 .ex-architecture .ex-component-tabs { gap:12px; }
 .ex-architecture .ex-component-tab { padding:16px 8px; gap:16px; font-size:14px; line-height:1.5; }
 .ex-component-tab .ex-symbol { width:36px; height:36px; }
 .ex-component-tab:not(:last-child):after { width:12px; }
 .ex-architecture .ex-component-detail { grid-template-columns:1fr; gap:24px; padding-top:24px; }
 .ex-component-map { padding:16px 0; max-width:440px; width:100%; }
 .ex-component-copy .ex-purpose { max-width:none; }
}
@media (max-width:390px) {
 .ex-lifecycle .ex-phase-tabs { gap:8px; }
 .ex-phase-detail { grid-template-columns:1fr; gap:16px; }
 .ex-phase-symbol { justify-content:flex-start; }
 .ex-output-map { grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:32px; }
 .ex-evidence-map { gap:20px; }
 .ex-evidence-context { padding-left:16px; }
 .ex-evidence-context span:before { left:-16px; width:10px; }
}
