/* ============================================================
   Poppits pitch deck — shared design tokens + component styles.
   Used by poppits-board-presentation.html, poppits-launch-plan.html,
   and poppits-supporting-material.html. Local file, no external deps.
   ============================================================ */
:root{
  --color-bg:#fbfafc;
  --color-bg-alt:#f5f4f8;
  --color-surface:#ffffff;
  --color-surface-alt:#f5f4f8;
  --color-border:rgba(0,0,0,.08);
  --color-border-strong:rgba(0,0,0,.16);
  --color-text:#1a1a2e;
  --color-text-mute:#6b6890;
  --color-text-dim:#686487;
  --color-white:#ffffff;

  --color-pink:#ff5fa2;
  --color-coral:#ff8a5c;
  --color-sky:#2daee9;
  --color-lime:#4caf50;
  --color-pink-text:#a4205c;
  --color-coral-text:#b3420b;
  --color-sky-text:#0f6aa8;
  --color-lime-text:#388e3c;

  --badge-bg-pink:rgba(255,95,162,.08);
  --badge-bg-coral:rgba(255,138,92,.08);
  --badge-bg-sky:rgba(45,174,233,.08);
  --badge-bg-lime:rgba(76,175,80,.08);
  --badge-border-pink:rgba(255,95,162,.20);
  --badge-border-coral:rgba(255,138,92,.20);
  --badge-border-sky:rgba(45,174,233,.20);
  --badge-border-lime:rgba(76,175,80,.20);

  --color-note-bg:rgba(15,106,168,.08);
  --color-note-border:rgba(15,106,168,.30);
  --color-note-text:#0a4d7d;

  --color-warning-bg:rgba(216,87,32,.10);
  --color-warning-border:#d85720;
  --color-warning-text:#6b2c0f;

  --gradient-brand:linear-gradient(90deg,var(--color-pink),var(--color-coral) 45%,var(--color-sky));
  --gradient-brand-diag:linear-gradient(135deg,var(--color-pink),var(--color-sky));
  --gradient-line:linear-gradient(var(--color-pink),var(--color-sky));

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-7:32px; --space-8:40px; --space-9:56px; --space-10:72px;
  --space-11:96px; --space-12:128px;

  --radius-sm:8px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px; --radius-pill:999px;
  --radius-pod:50% 50% 48% 52%/60% 58% 42% 40%;

  --shadow-sm:0 1px 8px rgba(0,0,0,.04);
  --shadow-md:0 2px 12px rgba(0,0,0,.05);
  --shadow-lg:0 4px 24px rgba(0,0,0,.06);

  --font-display:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-data:'Segoe UI',Consolas,monospace;

  --font-size-2xs:.68rem; --font-size-xs:.78rem; --font-size-sm:.88rem;
  --font-size-md:1rem; --font-size-lg:1.18rem; --font-size-xl:1.4rem; --font-size-2xl:1.7rem;
  --font-size-3xl:clamp(1.8rem,3.5vw,2.6rem);
  --font-size-4xl:clamp(2.25rem,5vw,4.2rem);
  --font-size-5xl:clamp(2.8rem,6.5vw,4.8rem);

  --leading-tight:1.08; --leading-snug:1.28; --leading-normal:1.6;
  --tracking-tight:-.02em; --tracking-wide:.06em; --tracking-wider:.14em; --tracking-widest:.26em;

  --duration-fast:.18s; --duration-med:.4s; --duration-slow:.6s; --duration-loop:14s;
  --ease:cubic-bezier(.2,.7,.2,1);

  --z-nav:50; --z-rail:40; --z-overlay:90;

  --border-w:1px;
  --border-w-thick:2px;
  --stage-h:100dvh;

  --color-nav-bg:rgba(251,250,252,.90);
  --color-backdrop:rgba(0,0,0,.6);
  --color-acc-hover:rgba(164,32,92,.03);
  --color-callout-bg:rgba(164,32,92,.05);
  --border-w-med:3px;

  --size-a11y-hidden:1px;
  --size-pod-w:56px; --size-pod-h:42px;
  --size-pod-w-sm:34px; --size-pod-h-sm:23px;
  --size-bullet-w:9px; --size-bullet-h:6px;
  --size-icon-badge:44px;
  --size-flywheel-col-min:320px; --size-flywheel-col-max:560px;
  --size-engine-hub-max:340px;
  --grid-min-bu:320px;
  --size-accent-bar:4px;
  --transform-hover-lift:-2px;
  --size-rail-dot-w:24px; --size-rail-dot-h:7px; --size-rail-dot-w-active:36px; --size-rail-hit:44px;
  --size-eq-term-max:220px; --size-eq-result-max:260px; --size-equation-overhang:140px;
  --size-dialog-max:520px;

  /* Fluid content widths — scale with viewport so 1920/1440 desktops use real
     screen width instead of clustering into a fixed centered column. On
     narrow viewports these collapse to the available width automatically
     (max-width can never force overflow), so no separate mobile override is
     needed for these tokens. */
  --content-max-width:clamp(680px,46vw,860px);
  --content-max-width-md:clamp(700px,58vw,1000px);
  --content-max-width-lg:clamp(960px,78vw,1620px);
  --content-max-width-nav:clamp(960px,92vw,1760px);

  --offset-skip-link:-60px;
  --offset-nav-top:56px;
  --transform-reveal:24px;

  --max-height-acc:2200px;
  --max-height-tile:1400px;

  --font-size-flywheel-label:12px;
  --font-size-flywheel-hub:11px;
  --font-size-print:11pt;
  --font-size-lead:1.08rem;
  --font-size-emphasis:1.05rem;
  --font-size-resolution:1.02rem;

  --tick-2:2px;
  --tick-4:4px;
  --print-section-padding:24px;

  --radius-none:0;

  --focus-ring-w:2px;
  --focus-ring-offset:2px;
  --layout-pad-wide:clamp(24px,7vw,120px);
  --layout-pad-tablet:6vw;
  --layout-pad-mobile:5vw;
  --space-card:28px;
  --space-footer-safe:96px;
  --breakpoint-flywheel:900px;
  --breakpoint-tablet:768px;
  --breakpoint-mobile:600px;
  --grid-min-md:260px;
  --grid-min-phase:230px;
  --grid-min-card:230px;
  --grid-min-stat:118px;
  --duration-instant:.01ms;

  --blur-nav:14px;
  --size-mask-fade:28px;
  --color-mask-opaque:#000;

  --color-pod-1-light:#ffd1e6;
  --color-pod-2-light:#ffe0d1;
  --color-pod-3-light:#d3f0ff;
  --color-pod-4-light:#e4ffd4;
  --pod-gradient-pos:32% 28%;
  --pod-delay-2:.35s;
  --pod-delay-3:.7s;
  --pod-delay-4:1.05s;
  --pod-bob-duration:3.2s;
  --pod-bob-lift:-9px;
  --pod-bob-rot-a:-4deg;
  --pod-bob-rot-b:4deg;

  --opacity-disabled:.35;

  --grid-min-sm:220px;
  --grid-min-lg:260px;

  --stroke-w-loop:2.5;
  --stroke-w-node:1.75;
  --stroke-w-spoke:1.5;
  --size-touch-target:44px;
  --gesture-swipe-threshold:50;
  --flywheel-view-size:420;
  --flywheel-center:210;
  --flywheel-loop-radius:140;
  --flywheel-node-radius:30;
  --flywheel-hub-radius:48;
  --flywheel-label-offset:5;
  --flywheel-label-gap:18;
  --flywheel-lap-gap:34;
  --flywheel-hub-label-offset:10;
  --flywheel-hub-sub-label-offset:30;
  --flywheel-number-baseline:4;
  --flywheel-spoke-dash:4 4;
  --flywheel-spoke-opacity:.55;
  --flywheel-lap-dash:7 9;
  --flywheel-lap-opacity:.48;
  --flywheel-lap-dash-offset:64;
  --flywheel-lap-duration:18s;
  --flywheel-hub-stroke:2.5;
  /* Option 04 — Recursive memory loom. Geometry remains in the SVG viewBox;
     these portable visual tokens mirror the approved concept. */
  --stroke-hairline:1.5;
  --stroke-route:3;
  --stroke-heavy:18;
  --route-dash:8 10;
  --route-dash-small:5 8;
  --opacity-ghost:.12;
  --opacity-muted:.28;
  --label-tracking:.08em;
  --svg-label-size:14px;
  --svg-label-micro:9px;
  --size-flywheel-chip-w:112px;
  --size-flywheel-chip-h:44px;
  --size-flywheel-chip-radius:14px;
}

@media print{
  :root{
    --color-bg:#ffffff; --color-bg-alt:#ffffff; --color-surface:#f6f7fa; --color-surface-alt:#f0f2f7;
    --color-border:#d7dbe4; --color-border-strong:#b7bdcc;
    --color-text:#141a26; --color-text-mute:#3f4a5e; --color-text-dim:#5b6579;
    --shadow-sm:none; --shadow-md:none; --shadow-lg:none;
  }
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:var(--leading-normal);font-size:var(--font-size-md)}
::selection{background:var(--color-pink);color:var(--color-white)}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tracking-tight);font-weight:500}
button{font:inherit;color:inherit;background:none;border:none}
a{color:var(--color-sky-text)}
.visually-hidden{position:absolute;width:var(--size-a11y-hidden);height:var(--size-a11y-hidden);overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:var(--space-3);top:var(--offset-skip-link);background:var(--color-pink);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:var(--z-overlay);transition:top var(--duration-fast) var(--ease)}
.skip-link:focus{top:var(--space-3)}
:focus-visible{outline:var(--focus-ring-w) solid var(--color-sky);outline-offset:var(--focus-ring-offset)}
.g-text{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- gumdrop bullets (unordered body lists — ordered lists keep numbers) ---------- */
.body-text ul li,.col-card li{list-style:none;position:relative;padding-left:var(--space-4)}
.body-text ul li::before,.col-card li::before{content:'';position:absolute;left:0;top:.62em;width:var(--size-bullet-w);height:var(--size-bullet-h);border-radius:var(--radius-pod);background:var(--gradient-brand)}

/* ---------- top nav / cross-page navigation ---------- */
#topnav{position:sticky;top:0;z-index:var(--z-nav);background:var(--color-nav-bg);backdrop-filter:blur(var(--blur-nav));border-bottom:var(--border-w) solid var(--color-border)}
.nav-inner{max-width:var(--content-max-width-nav);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);
  padding:var(--space-3) var(--layout-pad-wide);flex-wrap:wrap}
.wordmark{font-weight:700;font-size:var(--font-size-lg);letter-spacing:var(--tracking-wider)}
.wordmark-link{text-decoration:none}
.tab-switch{display:flex;gap:var(--space-1);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1)}
.tab-btn{display:inline-block;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-mute);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);text-decoration:none}
.tab-btn[aria-current="page"],.tab-btn[aria-selected="true"]{background:var(--gradient-brand);color:var(--color-bg)}
.disclosure{font-size:var(--font-size-2xs);color:var(--color-text-dim)}

/* ---------- pods (Section 1 hero + S9 brand accent) ---------- */
.hero-visual{display:flex;gap:var(--space-4);margin:var(--space-6) 0 var(--space-3);align-items:center}
.pod-row{display:flex;gap:var(--space-2);align-items:center}
.pod{width:var(--size-pod-w);height:var(--size-pod-h);border-radius:var(--radius-pod);animation:bob var(--pod-bob-duration) ease-in-out infinite;box-shadow:var(--shadow-sm)}
.pod-sm{width:var(--size-pod-w-sm);height:var(--size-pod-h-sm)}
.pod:nth-child(1){background:radial-gradient(circle at var(--pod-gradient-pos),var(--color-pod-1-light),var(--color-pink))}
.pod:nth-child(2){background:radial-gradient(circle at var(--pod-gradient-pos),var(--color-pod-2-light),var(--color-coral));animation-delay:var(--pod-delay-2)}
.pod:nth-child(3){background:radial-gradient(circle at var(--pod-gradient-pos),var(--color-pod-3-light),var(--color-sky));animation-delay:var(--pod-delay-3)}
.pod:nth-child(4){background:radial-gradient(circle at var(--pod-gradient-pos),var(--color-pod-4-light),var(--color-lime));animation-delay:var(--pod-delay-4)}
@keyframes bob{0%,100%{transform:translateY(var(--radius-none)) rotate(var(--pod-bob-rot-a))}50%{transform:translateY(var(--pod-bob-lift)) rotate(var(--pod-bob-rot-b))}}
.opportunity-note{margin-top:var(--space-6);font-size:var(--font-size-emphasis);color:var(--color-text);max-width:var(--content-max-width-md);font-weight:600;line-height:var(--leading-normal)}

/* ---------- equation (Section 1) ---------- */
.equation{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-top:var(--space-7)}
.eq-term{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);font-weight:700;font-size:var(--font-size-sm);box-shadow:var(--shadow-sm);max-width:var(--size-eq-term-max)}
.eq-op{font-size:var(--font-size-xl);color:var(--color-text-dim);font-weight:700}
.eq-result{background:var(--gradient-brand);color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-7);font-weight:800;font-size:var(--font-size-sm);box-shadow:var(--shadow-md);max-width:var(--size-eq-result-max)}

/* ---------- board presentation stage ---------- */
#board-panel{height:calc(var(--stage-h) - var(--offset-nav-top));display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#board-panel .rail{position:sticky;top:var(--offset-nav-top);z-index:var(--z-rail);display:flex;gap:var(--space-5);overflow-x:auto;padding:var(--space-3) var(--layout-pad-wide);background:var(--color-bg-alt);border-bottom:var(--border-w) solid var(--color-border);
  -webkit-mask-image:linear-gradient(to right,transparent,var(--color-mask-opaque) var(--size-mask-fade),var(--color-mask-opaque) calc(100% - var(--size-mask-fade)),transparent);mask-image:linear-gradient(to right,transparent,var(--color-mask-opaque) var(--size-mask-fade),var(--color-mask-opaque) calc(100% - var(--size-mask-fade)),transparent)}
.rail-dot{position:relative;width:var(--size-rail-hit);height:var(--size-rail-hit);border-radius:var(--radius-pill);cursor:pointer;padding:0;flex:0 0 var(--size-rail-hit)}
.rail-dot::before{content:"";position:absolute;left:50%;top:50%;width:var(--size-rail-dot-w);height:var(--size-rail-dot-h);transform:translate(-50%,-50%);border-radius:var(--radius-pill);background:var(--color-surface);border:var(--border-w) solid var(--color-border-strong);transition:background var(--duration-fast),width var(--duration-fast),border-color var(--duration-fast)}
.rail-dot[aria-current="true"]::before{background:var(--gradient-brand);width:var(--size-rail-dot-w-active);border-color:transparent}
.rail-dot:hover::before{border-color:var(--color-sky-text)}

.stage{position:relative;min-height:0;overflow:hidden}
.section{padding:var(--space-11) var(--layout-pad-wide) var(--space-footer-safe);max-width:var(--content-max-width-lg);margin:0 auto;opacity:0;transform:translateY(var(--transform-reveal));
  transition:opacity var(--duration-slow) var(--ease),transform var(--duration-slow) var(--ease);position:absolute;inset:0;visibility:hidden;overflow-y:auto}
.section.active{position:absolute;opacity:1;transform:none;visibility:visible}
.section .section-num{font-size:var(--font-size-2xs);color:var(--color-text-dim);letter-spacing:var(--tracking-wide)}
.section .kicker{font-size:var(--font-size-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-sky-text);margin:var(--space-2) 0 var(--space-3)}
.section .subheader{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);max-width:var(--content-max-width-md);margin:var(--space-2) 0 var(--space-5);line-height:var(--leading-snug)}
.section h2{font-size:var(--font-size-4xl);line-height:var(--leading-tight);margin-bottom:var(--space-4);max-width:var(--content-max-width-lg)}
.section .lead{color:var(--color-text-mute);font-size:var(--font-size-lead);max-width:var(--content-max-width);margin-bottom:var(--space-7);line-height:var(--leading-normal)}

.stage-nav{position:sticky;bottom:0;z-index:var(--z-rail);display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--layout-pad-wide);background:var(--color-nav-bg);backdrop-filter:blur(var(--blur-nav));border-top:var(--border-w) solid var(--color-border)}
.stage-nav-next{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4)}
.nav-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);font-weight:800;font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--duration-fast)}
.nav-btn:hover,.nav-btn:focus-visible{border-color:var(--color-sky-text)}
.nav-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}
.stage-progress{font-size:var(--font-size-xs);color:var(--color-text-dim);letter-spacing:var(--tracking-wide)}

/* ---------- talk track (presenter notes, not primary slide content) ---------- */
.talk-track{margin-top:var(--space-7);background:var(--color-surface-alt);border:var(--border-w) dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
.talk-track summary{cursor:pointer;font-weight:700;font-size:var(--font-size-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-dim);list-style:none}
.talk-track summary::-webkit-details-marker{display:none}
.talk-track summary::before{content:"▸ ";color:var(--color-sky-text)}
.talk-track[open] summary::before{content:"▾ "}
.talk-track p{margin-top:var(--space-3);color:var(--color-text-mute);font-size:var(--font-size-sm);max-width:var(--content-max-width-md)}

/* ---------- generic content blocks ---------- */
.body-text p{margin-bottom:var(--space-4);max-width:var(--content-max-width)}
.body-text ul{margin:var(--space-3) 0 var(--space-4) 0;max-width:var(--content-max-width)}
.body-text ol{margin:var(--space-3) 0 var(--space-4) var(--space-5);max-width:var(--content-max-width)}
.body-text li{margin-bottom:var(--space-2)}
.cols{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-sm),1fr));margin-top:var(--space-6)}
.col-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}
.col-card h3{font-size:var(--font-size-md);margin-bottom:var(--space-3);color:var(--color-sky-text)}
.col-card ul{list-style:none;display:grid;gap:var(--space-2);margin:0}
.col-card li{font-size:var(--font-size-sm);color:var(--color-text-mute);margin:0}

/* ---------- founder walkthrough visual conformance ---------- */
.col-card,.phase-card,.milestone-card,.cap-card,.bu-card,.commit-card,.resolution-box,.dep-item,.objection,.phase-detail,.cap-detail,.pending-card{
  padding:var(--space-card);box-shadow:var(--shadow-md)}
.tile,details.native{box-shadow:var(--shadow-md)}
.section h3,.scroll-panel h3,.scroll-panel h4{font-weight:600}
.section[data-index="9"] .acc-group{margin-top:var(--space-7)}

/* ---------- accordion (single-open groups, Section 10) ---------- */
.acc-group{display:grid;gap:var(--space-3);margin-top:var(--space-6)}
.acc-item{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast)}
.acc-item.open{border-color:var(--color-pink)}
.acc-trigger{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);cursor:pointer;text-align:left}
.acc-trigger:hover{background:var(--color-acc-hover)}
.acc-trigger .t-title{flex:1;font-weight:700;font-size:var(--font-size-sm)}
.acc-trigger .t-sub{color:var(--color-text-mute);font-size:var(--font-size-xs)}
.acc-chevron{color:var(--color-text-mute);transition:transform var(--duration-fast)}
.acc-item.open .acc-chevron{transform:rotate(90deg)}
.acc-panel{max-height:0;overflow:hidden;transition:max-height var(--duration-med) var(--ease)}
.acc-item.open .acc-panel{max-height:var(--max-height-acc)}
.acc-inner{padding:0 var(--space-5) var(--space-5);border-top:var(--border-w) solid var(--color-border)}
.acc-inner .kv{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);font-size:var(--font-size-sm);margin-top:var(--space-4)}
.acc-inner .kv dt{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--font-size-2xs);padding-top:var(--tick-2)}
.acc-inner .kv dd{color:var(--color-text)}

/* ---------- icon-badge detail-card list (Section 3 engine functions) ---------- */
.detail-card-list{display:grid;gap:var(--space-4);margin-top:var(--space-7)}
details.detail-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--duration-fast);box-shadow:var(--shadow-sm)}
details.detail-card[open]{border-color:var(--color-pink)}
details.detail-card summary{list-style:none;cursor:pointer;padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);transition:background var(--duration-fast)}
details.detail-card summary:hover{background:var(--color-acc-hover)}
details.detail-card summary::-webkit-details-marker{display:none}
.dc-icon{width:var(--size-icon-badge);height:var(--size-icon-badge);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);flex-shrink:0}
.dc-icon.pink{background:var(--badge-bg-pink);border:var(--border-w) solid var(--badge-border-pink)}
.dc-icon.coral{background:var(--badge-bg-coral);border:var(--border-w) solid var(--badge-border-coral)}
.dc-icon.sky{background:var(--badge-bg-sky);border:var(--border-w) solid var(--badge-border-sky)}
.dc-icon.lime{background:var(--badge-bg-lime);border:var(--border-w) solid var(--badge-border-lime)}
.dc-header-text{flex:1;min-width:0}
.dc-header-text h3{font-size:var(--font-size-md);color:var(--color-text)}
.dc-header-text p{color:var(--color-text-mute);font-size:var(--font-size-xs);margin-top:var(--tick-2)}
.dc-chevron{color:var(--color-text-mute);font-size:var(--font-size-sm);transition:transform var(--duration-med);flex-shrink:0}
details.detail-card[open] > summary .dc-chevron{transform:rotate(180deg)}
.dc-inner{padding:0 var(--space-5) var(--space-5);border-top:var(--border-w) solid var(--color-border)}
.dc-inner dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);margin-top:var(--space-4)}
.dc-inner dt{color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--font-size-2xs);padding-top:var(--tick-2)}
.dc-inner dd{color:var(--color-text)}
.team-card-inner{padding:var(--space-5);border-top:var(--border-w) solid var(--color-border)}
.org-chart-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:start}
.org-card .dc-inner dl{grid-template-columns:1fr}
.org-card .dc-inner dt:not(:first-child){margin-top:var(--space-2)}

/* ---------- flywheel (Section 4) ---------- */
.flywheel-wrap{display:grid;gap:var(--space-6);grid-template-columns:minmax(var(--size-flywheel-col-min),var(--size-flywheel-col-max)) 1fr;align-items:start;margin-top:var(--space-7)}
html.bp-flywheel .flywheel-wrap{grid-template-columns:1fr}
.flywheel-svg{width:100%;height:auto;max-width:var(--size-flywheel-col-max)}
.flywheel-svg .fw-route{fill:none;stroke:var(--color-border-strong);stroke-width:var(--stroke-route);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.flywheel-svg .fw-route-accent{fill:none;stroke:var(--color-pink);stroke-width:var(--stroke-route);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.flywheel-svg .fw-route-sky{fill:none;stroke:var(--color-sky);stroke-width:var(--stroke-route);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.flywheel-svg .fw-ghost{opacity:var(--opacity-ghost)}
.flywheel-svg .fw-muted{opacity:var(--opacity-muted)}
.flywheel-svg .fw-flow{stroke-dasharray:var(--route-dash);animation:flow var(--duration-loop) linear infinite}
.flywheel-svg .fw-flow-small{stroke-dasharray:var(--route-dash-small);animation:flow var(--duration-loop) linear infinite}
.flywheel-svg .fw-stage,.flywheel-svg .fw-hub-control{cursor:pointer}
.flywheel-svg .fw-stage-box{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:var(--stroke-hairline);x:calc(var(--size-flywheel-chip-w) / -2);y:calc(var(--size-flywheel-chip-h) / -2);width:var(--size-flywheel-chip-w);height:var(--size-flywheel-chip-h);rx:var(--size-flywheel-chip-radius);transition:fill var(--duration-fast),stroke var(--duration-fast)}
.flywheel-svg .fw-stage-box-accent{fill:var(--color-surface);stroke:var(--badge-border-pink)}
.flywheel-svg .fw-stage:hover .fw-stage-box,.flywheel-svg .fw-stage:focus-visible .fw-stage-box,.flywheel-svg .fw-stage.current .fw-stage-box{fill:var(--color-surface);stroke:var(--color-pink)}
.flywheel-svg .fw-stage-hit{fill:transparent;stroke:none}
.flywheel-svg .fw-label{fill:var(--color-text);font-family:var(--font-body);font-size:var(--svg-label-size);font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.flywheel-svg .fw-stage.current .fw-label{fill:var(--color-pink-text)}
.flywheel-svg .fw-label-micro{fill:var(--color-sky-text);font-family:var(--font-body);font-size:var(--svg-label-micro);font-weight:800;letter-spacing:var(--label-tracking);text-anchor:end}
.flywheel-svg .fw-arrow{fill:var(--color-pink)}
.flywheel-svg .fw-hub{fill:var(--color-surface);stroke:url(#fwLoomGradient);stroke-width:var(--stroke-route)}
.flywheel-svg .fw-hub-control:hover .fw-hub,.flywheel-svg .fw-hub-control:focus-visible .fw-hub,.flywheel-svg .fw-hub-control.current .fw-hub{stroke:var(--color-pink)}
.flywheel-svg .fw-hub-guide{fill:none;stroke:var(--color-border-strong);stroke-width:var(--stroke-route);stroke-linecap:round;opacity:var(--opacity-muted)}
.flywheel-svg .fw-hub-label{fill:var(--color-text);font-family:var(--font-body);font-size:var(--svg-label-size);font-weight:800;text-anchor:middle}
.flywheel-svg .fw-hub-sub-label{fill:var(--color-sky-text);font-family:var(--font-body);font-size:var(--svg-label-micro);font-weight:800;letter-spacing:var(--label-tracking);text-anchor:middle}
.fw-detail{align-self:stretch;background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}
.fw-detail h3{font-size:var(--font-size-md);margin-bottom:var(--space-2)}
.fw-detail p{color:var(--color-text-mute);font-size:var(--font-size-sm)}
.fw-detail .fw-detail-kicker{color:var(--color-sky-text);font-size:var(--font-size-2xs);font-weight:800;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}
.fw-detail-list{display:grid;gap:var(--space-3);margin-top:var(--space-5)}
.fw-detail-list li{display:grid;gap:var(--space-1);list-style:none;position:relative;padding-left:var(--space-4)}
.fw-detail-list li::before{content:'';position:absolute;left:0;top:var(--space-2);width:var(--size-bullet-w);height:var(--size-bullet-h);border-radius:var(--radius-pod);background:var(--gradient-brand)}
.fw-detail-list strong{color:var(--color-text);font-size:var(--font-size-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}
.fw-detail-list span{color:var(--color-text-mute);font-size:var(--font-size-sm)}
@keyframes flow{to{stroke-dashoffset:-180}}
@media (prefers-reduced-motion:reduce){
  .flywheel-svg .fw-flow,.flywheel-svg .fw-flow-small{animation:none}
}

/* ---------- phase progression + AI engine hub (Section 5) ---------- */
.phase-hub-wrap{margin-top:var(--space-7)}
.phase-row{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-phase),1fr))}
.phase-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:border-color var(--duration-fast)}
.phase-card.open,.phase-card[aria-expanded="true"]{border-color:var(--color-pink)}
.phase-card h3{font-size:var(--font-size-md)}
.phase-meta{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}
.phase-tag{font-size:var(--font-size-2xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-mute);background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--tick-2) var(--space-3)}
details.engine-hub{position:relative;margin:var(--space-5) auto 0;max-width:var(--size-engine-hub-max);text-align:center;background:var(--gradient-brand-diag);border-radius:var(--radius-xl);padding:var(--border-w-thick)}
details.engine-hub summary{list-style:none;cursor:pointer;background:var(--color-surface);border-radius:calc(var(--radius-xl) - var(--border-w-thick));padding:var(--space-5) var(--space-6);transition:background var(--duration-fast)}
details.engine-hub summary::-webkit-details-marker{display:none}
details.engine-hub[open] summary{background:var(--color-surface-alt);border-radius:calc(var(--radius-xl) - var(--border-w-thick)) calc(var(--radius-xl) - var(--border-w-thick)) 0 0}
.engine-hub-icon{font-size:var(--font-size-2xl)}
details.engine-hub h3{font-size:var(--font-size-sm);margin-top:var(--space-2);color:var(--color-text)}
details.engine-hub .engine-hub-cue{font-size:var(--font-size-2xs);color:var(--color-text-mute);margin-top:var(--tick-2);text-transform:uppercase;letter-spacing:var(--tracking-wide)}
.engine-hub-detail{background:var(--color-surface-alt);border-radius:0 0 calc(var(--radius-xl) - var(--border-w-thick)) calc(var(--radius-xl) - var(--border-w-thick));padding:0 var(--space-6) var(--space-5);text-align:left}
.engine-hub-detail p{color:var(--color-text-mute);font-size:var(--font-size-sm);margin-top:var(--space-3)}
.phase-detail{margin-top:var(--space-6);background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}
.phase-detail h4{font-size:var(--font-size-sm);color:var(--color-sky-text);margin:var(--space-4) 0 var(--space-2)}
.phase-detail h4:first-child{margin-top:0}
.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.chip{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--font-size-2xs);color:var(--color-text-mute)}

/* ---------- value milestones (Section 6) ---------- */
.milestone-row{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-card),1fr));margin-top:var(--space-8);position:relative}
.milestone-row::before{content:'';position:absolute;top:calc(-1 * var(--space-4));left:6%;right:6%;height:var(--border-w-thick);background:var(--gradient-brand);opacity:.35}
.milestone-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;position:relative;transition:border-color var(--duration-fast),transform var(--duration-fast)}
.milestone-card:hover{transform:translateY(var(--transform-hover-lift))}
.milestone-card.open{border-color:var(--color-pink)}
.milestone-card .m-amt{font-size:var(--font-size-2xl);font-weight:900;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.milestone-card .m-title{font-size:var(--font-size-sm);font-weight:700;margin-top:var(--space-1)}
.milestone-card .m-arrow{position:absolute;top:var(--space-4);right:var(--space-4);font-size:var(--font-size-md);color:var(--color-lime-text)}
.metric-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.metric-pill{background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-mute)}

/* ---------- tier / comp cards (Section 7) ---------- */
.tier-block{margin-top:var(--space-7)}
.tier-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}
.tier-overview-label{font-size:var(--font-size-xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-mute);margin-top:var(--space-6)}
.tier-overview-item{background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}
.tier-overview-item .tier-step{font-size:var(--font-size-2xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-sky-text)}
.tier-overview-item .tier-anchor{font-size:var(--font-size-sm);font-weight:800;margin-top:var(--space-1)}
.tier-title{font-size:var(--font-size-sm);font-weight:800;color:var(--color-sky-text);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}
.tier-desc{color:var(--color-text-mute);font-size:var(--font-size-sm);max-width:var(--content-max-width-md);margin-bottom:var(--space-4)}
.tier-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}
.tier-choice{position:relative;display:block;text-align:left;cursor:pointer;font:inherit;color:var(--color-text);background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);min-height:var(--size-touch-target);transition:background var(--duration-fast),border-color var(--duration-fast)}
.tier-choice:hover{background:var(--color-acc-hover)}
.tier-choice[aria-pressed="true"]{border-color:var(--color-pink);background:var(--color-surface)}
.tier-choice .tier-step{font-size:var(--font-size-2xs);font-weight:800;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-sky-text)}
.tier-choice .tier-anchor{font-size:var(--font-size-sm);font-weight:800;margin-top:var(--space-1);padding-right:var(--space-5)}
.tier-choice .dc-chevron{position:absolute;right:var(--space-4);top:var(--space-4)}
.tier-choice[aria-pressed="true"] .dc-chevron{transform:rotate(180deg)}
.tier-detail-panel{margin-top:var(--space-3);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.comp-cards{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-md),1fr));align-items:start}
details.comp-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--duration-fast)}
details.comp-card[open]{border-color:var(--color-pink)}
details.comp-card summary{cursor:pointer;padding:var(--space-4);list-style:none}
details.comp-card summary::-webkit-details-marker{display:none}
.comp-card .deal{font-weight:800;font-size:var(--font-size-sm)}
.comp-card .cat{font-size:var(--font-size-xs);color:var(--color-text-dim);margin:var(--space-1) 0 var(--space-3)}
.comp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-stat),1fr));gap:var(--space-2)}
.comp-stat{background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}
.comp-stat .cs-val{font-size:var(--font-size-md);font-weight:900;color:var(--color-pink-text)}
.comp-stat .cs-lbl{font-size:var(--font-size-2xs);color:var(--color-text-mute);margin-top:var(--tick-2);text-transform:uppercase;letter-spacing:var(--tracking-wide)}
.comp-toggle-label{display:block;margin-top:var(--space-3);font-size:var(--font-size-2xs);color:var(--color-sky-text);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:700}
details.comp-card[open] .comp-toggle-label::before{content:"▾ "}
details.comp-card:not([open]) .comp-toggle-label::before{content:"▸ "}
.comp-more{padding:0 var(--space-4) var(--space-4);border-top:var(--border-w) solid var(--color-border)}
.comp-more dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);font-size:var(--font-size-xs);margin-top:var(--space-3)}
.comp-more dt{color:var(--color-text-dim)}
.comp-more dd{color:var(--color-text-mute)}
.pending-card{background:var(--color-surface-alt);border:var(--border-w-thick) dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center}
.pending-card .pc-label{font-size:var(--font-size-md);font-weight:800;color:var(--color-text-mute)}

/* ---------- capability map (Section 8) ---------- */
.cap-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-card),1fr));margin-top:var(--space-7)}
.cap-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer}
.cap-card .cap-num{font-size:var(--font-size-xl);font-weight:900;color:var(--color-pink)}
.cap-card h3{font-size:var(--font-size-sm);margin-top:var(--space-2)}
.cap-detail{margin-top:var(--space-6);background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}
.cap-detail h4{font-size:var(--font-size-sm);color:var(--color-sky-text);margin:var(--space-4) 0 var(--space-2)}
.cap-detail h4:first-child{margin-top:0}
.closing-line{margin-top:var(--space-7);font-size:var(--font-size-lg);font-weight:700;max-width:var(--content-max-width)}

/* ---------- base/upside, shown simultaneously (Section 9) ---------- */
.base-upside{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-bu),1fr));margin-top:var(--space-6)}
.bu-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);position:relative;overflow:hidden}
.bu-card::before{content:'';position:absolute;top:0;left:0;right:0;height:var(--size-accent-bar)}
.bu-card.base::before{background:var(--color-sky)}
.bu-card.upside::before{background:var(--gradient-brand)}
.bu-card .bu-icon{font-size:var(--font-size-xl)}
.bu-card h3{font-size:var(--font-size-md);color:var(--color-sky-text);margin:var(--space-2) 0}
.bu-card.upside h3{color:var(--color-pink-text)}

/* ---------- compensation (Section 10) ---------- */
.commit-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-phase),1fr));margin-top:var(--space-6)}
.commit-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}
.commit-card h3{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}
.commit-card p{color:var(--color-text-mute);font-size:var(--font-size-sm)}
.callout{background:var(--color-callout-bg);border-left:var(--border-w-med) solid var(--color-pink);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4) var(--space-5);margin-top:var(--space-6);font-size:var(--font-size-emphasis);font-weight:700}
.comp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-top:var(--space-4)}
.comp-table th,.comp-table td{padding:var(--space-3);border-bottom:var(--border-w) solid var(--color-border);text-align:left}
.comp-table th{font-size:var(--font-size-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-dim)}

/* ---------- resolution (Section 11) ---------- */
.resolution-box{margin-top:var(--space-6);background:var(--color-surface-alt);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7)}
.resolution-box ol{margin-left:var(--space-5)}
.resolution-box li{margin-bottom:var(--space-4);font-size:var(--font-size-resolution);color:var(--color-text)}
.counsel-note{font-weight:800;color:var(--color-coral-text);font-size:var(--font-size-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-bottom:var(--space-4)}

/* ---------- launch plan / supporting material (standalone scroll pages) ---------- */
.scroll-panel{max-width:var(--content-max-width-lg);margin:0 auto;padding:var(--space-9) var(--layout-pad-wide) var(--space-11)}
.scroll-panel h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}
.scroll-panel .lead{color:var(--color-text-mute);max-width:var(--content-max-width);margin-bottom:var(--space-6)}
.plan-section{padding:var(--space-9) 0;border-bottom:var(--border-w) solid var(--color-border)}
.plan-section:last-child{border-bottom:none}
.plan-section h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}
.owner-row{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-dim);margin-bottom:var(--space-4)}
.dep-list{display:grid;gap:var(--space-3);margin-top:var(--space-4)}
.dep-item{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}
.dep-item .dep-owner{font-size:var(--font-size-2xs);color:var(--color-sky-text);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:700}
details.native{margin-top:var(--space-4);background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
details.native summary{cursor:pointer;font-weight:700;font-size:var(--font-size-sm);list-style:none}
details.native summary::-webkit-details-marker{display:none}
details.native summary::before{content:"▸ ";color:var(--color-sky-text)}
details.native[open] summary::before{content:"▾ "}
.objection{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}
.objection .q{font-weight:800;font-size:var(--font-size-sm);color:var(--color-pink-text)}
.objection .a{font-size:var(--font-size-sm);color:var(--color-text-mute);margin-top:var(--space-2)}
.note-box{background:var(--color-note-bg);border:var(--border-w) solid var(--color-note-border);color:var(--color-note-text);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-size:var(--font-size-sm);margin-top:var(--space-4)}
.warning-box{background:var(--color-warning-bg);border:var(--border-w) solid var(--color-warning-border);color:var(--color-warning-text);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-size:var(--font-size-sm);margin-top:var(--space-4);font-weight:700}

footer{text-align:center;padding:var(--space-9) var(--layout-pad-wide);color:var(--color-text-dim);font-size:var(--font-size-xs)}
footer .wordmark{display:block;font-size:var(--font-size-xl);margin-bottom:var(--space-3)}
.board-deck footer{padding:var(--space-4) var(--layout-pad-wide)}
.board-deck footer .wordmark{margin-bottom:var(--space-1)}

dialog{background:var(--color-surface);color:var(--color-text);border:var(--border-w) solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6);max-width:var(--size-dialog-max);box-shadow:var(--shadow-lg)}
dialog::backdrop{background:var(--color-backdrop)}
dialog h3{margin-bottom:var(--space-3)}
dialog p{color:var(--color-text-mute);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}
dialog .close-btn{background:var(--color-surface);border:var(--border-w) solid var(--color-border-strong);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);font-weight:800;cursor:pointer}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:var(--duration-instant)!important;animation-iteration-count:1!important;transition-duration:var(--duration-instant)!important;scroll-behavior:auto!important}
}

/* ---------- tablet ---------- */
html.bp-tablet .section{padding:var(--space-9) var(--layout-pad-tablet) var(--space-footer-safe)}
html.bp-tablet .scroll-panel{padding:var(--space-8) var(--layout-pad-tablet) var(--space-10)}
html.bp-tablet .nav-inner{padding:var(--space-3) var(--layout-pad-tablet)}
html.bp-tablet #board-panel .rail{padding:var(--space-3) var(--layout-pad-tablet)}
html.bp-tablet .stage-nav{padding:var(--space-3) var(--layout-pad-tablet)}
html.bp-tablet .equation{flex-wrap:wrap}
html.bp-tablet .section[data-index="9"]{padding-top:var(--space-4)}
html.bp-tablet .flywheel-wrap{grid-template-columns:1fr}

/* ---------- mobile: stacked, non-paged ---------- */
html.bp-mobile{--stage-h:auto}
html.bp-mobile #board-panel{height:auto;display:block}
html.bp-mobile .nav-inner{align-items:flex-start}
html.bp-mobile .tab-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:var(--radius-md)}
html.bp-mobile .tab-btn{min-width:0;min-height:var(--size-touch-target);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);font-size:var(--font-size-2xs);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);white-space:normal;text-align:center}
html.bp-mobile .section,html.bp-mobile .section.active{position:static;inset:auto;visibility:visible;opacity:1;transform:none;display:none;padding:var(--space-8) var(--layout-pad-mobile) var(--space-12)}
html.bp-mobile .section.active{display:block}
html.bp-mobile #board-panel .stage{min-height:0;overflow:visible}
html.bp-mobile .tier-overview{grid-template-columns:1fr}
html.bp-mobile .org-chart-row{grid-template-columns:1fr}
html.bp-mobile .tier-selector{grid-template-columns:1fr}
html.bp-mobile .stage-nav{position:static;gap:var(--space-2);padding:var(--space-2) var(--layout-pad-mobile)}
html.bp-mobile .stage-nav-next{gap:var(--space-2)}
html.bp-mobile #board-panel .rail{padding:var(--space-3) var(--layout-pad-mobile)}
html.bp-mobile .stage-progress{text-align:right;font-size:var(--font-size-2xs);line-height:var(--leading-snug)}
html.bp-mobile .nav-btn{padding:var(--space-3);min-width:var(--size-touch-target);min-height:var(--size-touch-target);justify-content:center}
html.bp-mobile .scroll-panel{padding:var(--space-8) var(--layout-pad-mobile) var(--space-10)}
html.bp-mobile .engine-hub{max-width:none}

/* ---------- print ---------- */
@media print{
  #topnav,#board-panel .rail,#board-panel .stage-nav,dialog{display:none!important}
  .section{position:static!important;visibility:visible!important;opacity:1!important;transform:none!important;display:block!important;padding:var(--print-section-padding) 0;overflow:visible!important;break-inside:avoid;border-bottom:var(--border-w) solid var(--color-border)}
  #board-panel,#board-panel .stage{min-height:0!important;overflow:visible!important}
  body{font-size:var(--font-size-print)}
  a{color:inherit;text-decoration:none}
  .acc-panel,.tile-panel{max-height:none!important}
}
