.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.demo-body { min-height:100vh; overflow-x:hidden; background:#e9e6dc; }
.demo-header { min-height:68px; background:#eeece4; }
.demo-header-state { display:flex; align-items:center; gap:1rem; }
.demo-live { display:inline-flex; align-items:center; gap:.5rem; color:var(--accent-dark); font:800 .62rem ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; text-transform:uppercase; }
.demo-live i { width:7px; height:7px; border-radius:50%; background:var(--accent-dark); box-shadow:0 0 0 4px rgba(110,141,39,.12); animation:demo-pulse 1.8s infinite; }
.demo-shell { min-height:calc(100vh - 68px); display:grid; grid-template-columns:320px minmax(0,1fr); }
.demo-director { min-height:calc(100vh - 68px); display:flex; flex-direction:column; padding:clamp(1.2rem,2.2vw,2rem); border-right:1px solid var(--line); background:#eeece4; }
.demo-director-intro h1 { margin:0; font-size:clamp(1.9rem,3vw,3.1rem); line-height:.98; letter-spacing:-.055em; }
.demo-director-intro > p:last-child { margin:.9rem 0 0; color:var(--muted); font-size:.75rem; }
.demo-step-list { display:grid; gap:.2rem; margin:1.35rem 0; }
.demo-step-list button { display:grid; grid-template-columns:30px 1fr; column-gap:.6rem; padding:.62rem .65rem; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.demo-step-list button:hover { border-color:var(--line); }
.demo-step-list button[aria-current="step"] { border-color:var(--line-dark); background:var(--charcoal); color:var(--white); }
.demo-step-list button > span { grid-row:1 / 3; color:#7b837e; font:800 .58rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.demo-step-list button[aria-current="step"] > span { color:var(--accent); }
.demo-step-list strong { font-size:.69rem; }
.demo-step-list small { color:var(--muted); font-size:.58rem; }
.demo-step-list button[aria-current="step"] small { color:var(--muted-dark); }
.demo-narration { min-height:80px; padding:.8rem; border-left:3px solid var(--accent-dark); background:rgba(255,255,255,.4); }
.demo-narration span { color:var(--accent-dark); font:800 .56rem ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.07em; text-transform:uppercase; }
.demo-narration p { margin:.35rem 0 0; color:var(--ink-soft); font-size:.69rem; }
.demo-controls { display:grid; grid-template-columns:36px 1fr 1fr 54px; gap:.35rem; margin-top:.75rem; }
.demo-controls button,.demo-controls select { width:100%; min-height:36px; border:1px solid var(--line); border-radius:4px; background:rgba(255,255,255,.45); color:var(--ink); cursor:pointer; font-size:.64rem; font-weight:750; }
.demo-controls button.primary { display:flex; align-items:center; justify-content:center; gap:.35rem; border-color:var(--charcoal); background:var(--charcoal); color:var(--white); }
.demo-timeline { height:3px; margin-top:.55rem; border-radius:99px; background:#d2cfc5; overflow:hidden; }
.demo-timeline i { display:block; width:0; height:100%; border-radius:inherit; background:var(--accent-dark); }
.demo-boundary { margin:auto 0 0; padding-top:1rem; color:var(--muted); font-size:.58rem; }
.demo-boundary strong { color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em; }

.demo-product { min-width:0; min-height:calc(100vh - 68px); padding:clamp(.8rem,1.6vw,1.4rem); background:#d9d7cf; }
.demo-app-bar { min-height:54px; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0 1rem; border:1px solid var(--line-dark); border-bottom:0; border-radius:9px 9px 0 0; background:#0f1412; color:var(--white); }
.demo-app-bar > div { display:flex; align-items:center; gap:.7rem; }
.demo-app-bar .brand-mark { width:28px; height:28px; font-size:.72rem; }
.demo-app-bar strong { font-size:.78rem; }
.demo-app-bar em { padding:.22rem .38rem; border:1px solid var(--line-dark); border-radius:3px; color:var(--accent); font:700 .52rem ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; text-transform:uppercase; }
.demo-app-bar > div:last-child { color:var(--muted-dark); font:700 .52rem ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.06em; }
.demo-app-bar b { padding:.24rem .34rem; border-radius:3px; background:rgba(200,241,107,.1); color:var(--accent); }
.demo-stage-status { min-height:68px; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:.6rem; padding:0 1rem; border-inline:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); background:#171e1a; color:var(--white); }
.demo-stage-status > div { display:contents; }
.demo-stage-status > div span { color:var(--accent); font:800 .64rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.demo-stage-status p { margin:0; color:var(--muted-dark); font:.56rem ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.07em; text-transform:uppercase; }
.demo-stage-status > strong { grid-column:2; font-size:.86rem; }
.demo-stage-status > span:last-child { grid-row:1 / 3; grid-column:3; color:var(--muted-dark); font:700 .58rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.demo-viewport { position:relative; min-height:calc(100vh - 218px); border:1px solid var(--line-dark); border-top:0; border-radius:0 0 9px 9px; background:radial-gradient(circle at 80% 10%,rgba(131,208,217,.05),transparent 30%),#111714; color:var(--white); overflow:hidden; }
.demo-panel { position:absolute; inset:0; display:flex; flex-direction:column; padding:clamp(1rem,2vw,1.6rem); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .35s ease,transform .35s ease,visibility .35s; }
.demo-panel.active { opacity:1; visibility:visible; transform:none; }
.demo-panel-foot { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:.8rem; border-top:1px solid var(--line-dark); }
.demo-panel-foot > span { color:var(--muted-dark); font-size:.59rem; }
.demo-action,.demo-secondary { min-height:40px; padding:.62rem .9rem; border:1px solid var(--accent); border-radius:4px; background:var(--accent); color:var(--charcoal); cursor:pointer; font-size:.66rem; font-weight:800; }
.demo-action b { margin-left:.45rem; }
.demo-secondary { border-color:var(--line-dark); background:transparent; color:var(--muted-dark); }

.demo-config-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.demo-config-grid label { display:grid; gap:.3rem; color:var(--muted-dark); font-size:.56rem; font-weight:700; }
.demo-config-grid label.wide { grid-column:span 2; }
.demo-input,.demo-textarea { min-height:44px; display:flex; align-items:center; padding:.65rem .72rem; border:1px solid var(--line-dark); border-radius:4px; background:#0a100d; color:var(--white); font-size:.69rem; overflow:hidden; white-space:nowrap; }
.demo-config-grid label.wide .demo-input { white-space:normal; }
.demo-panel.active .demo-type-line { animation:demo-field-in .55s both; }
.demo-panel.active .demo-type-line.delay-1 { animation-delay:.35s; }.demo-panel.active .demo-type-line.delay-2 { animation-delay:.7s; }.demo-panel.active .demo-type-line.delay-3 { animation-delay:1.05s; }.demo-panel.active .demo-type-line.delay-4 { animation-delay:1.4s; }.demo-panel.active .demo-type-line.delay-5 { animation-delay:1.75s; }.demo-panel.active .demo-type-line.delay-6 { animation-delay:2.1s; }

.demo-import-grid { display:grid; grid-template-columns:1fr .85fr; gap:.75rem; min-height:0; }
.demo-dropzone { min-height:280px; display:grid; place-content:center; gap:.45rem; padding:1.2rem; border:1px dashed #5c6962; border-radius:7px; background:#0a100d; text-align:center; }
.demo-file-icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto .35rem; border:1px solid #52644f; border-radius:5px; background:rgba(200,241,107,.08); color:var(--accent); font:800 .72rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.demo-dropzone h2 { margin:0; font-size:1.1rem; }.demo-dropzone p { margin:0; color:var(--muted-dark); font-size:.66rem; }
.demo-file-meta { display:flex; justify-content:center; gap:.4rem; margin-top:.4rem; }.demo-file-meta span { padding:.28rem .4rem; border:1px solid var(--line-dark); border-radius:3px; color:var(--muted-dark); font-size:.55rem; }
.demo-event-stream { border:1px solid var(--line-dark); border-radius:7px; background:#0b110e; overflow:hidden; }
.demo-stream-head { display:flex; justify-content:space-between; padding:.75rem; border-bottom:1px solid var(--line-dark); color:var(--muted-dark); font-size:.57rem; text-transform:uppercase; }
.demo-stream-head strong { color:var(--accent); }
.demo-event-stream ol { margin:0; padding:0; list-style:none; }.demo-event-stream li { display:grid; grid-template-columns:8px 1fr 1fr .8fr; gap:.5rem; align-items:center; min-height:44px; padding:0 .75rem; border-bottom:1px solid var(--line-dark); color:var(--muted-dark); font-size:.59rem; opacity:0; transform:translateY(8px); }
.demo-panel.active .demo-event-stream li { animation:demo-row-in .35s both; }.demo-panel.active .demo-event-stream li:nth-child(2){animation-delay:.35s}.demo-panel.active .demo-event-stream li:nth-child(3){animation-delay:.7s}.demo-panel.active .demo-event-stream li:nth-child(4){animation-delay:1.05s}.demo-panel.active .demo-event-stream li:nth-child(5){animation-delay:1.4s}
.demo-event-stream li:last-child { border-bottom:0; }.demo-event-stream li i { width:5px; height:5px; border-radius:50%; background:var(--accent); }.demo-event-stream li strong { color:var(--white); }.demo-event-stream li em { color:var(--mission); font-style:normal; }

.demo-validation-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:.75rem; }
.demo-validation-score { display:flex; flex-direction:column; justify-content:center; min-height:285px; padding:1.2rem; border:1px solid var(--line-dark); border-radius:7px; background:#0b110e; }
.demo-validation-score > span { color:var(--muted-dark); font-size:.62rem; text-transform:uppercase; }.demo-validation-score > strong { margin:.6rem 0; font-size:3.8rem; letter-spacing:-.06em; }.demo-validation-score small { color:var(--accent); font-size:1rem; }.demo-validation-score > div { height:6px; border-radius:99px; background:#050906; overflow:hidden; }.demo-validation-score > div i { display:block; height:100%; background:var(--accent); transform-origin:left; }.demo-panel.active .demo-validation-score > div i { animation:demo-grow 1.5s both; }.demo-validation-score p { color:var(--accent); font-size:.62rem; }
.demo-contract { border:1px solid var(--line-dark); border-radius:7px; background:#0b110e; overflow:hidden; }.demo-contract-head { display:flex; justify-content:space-between; padding:.8rem; border-bottom:1px solid var(--line-dark); color:var(--muted-dark); font-size:.59rem; text-transform:uppercase; }.demo-contract-head strong { color:var(--accent); }.demo-contract ul { margin:0; padding:0; list-style:none; }.demo-contract li { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:.6rem; min-height:39px; padding:0 .8rem; border-bottom:1px solid var(--line-dark); color:var(--muted-dark); font-size:.6rem; opacity:0; }.demo-contract li:last-child { border-bottom:0; }.demo-contract li i { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:rgba(200,241,107,.1); color:var(--accent); font-style:normal; }.demo-contract li strong { color:var(--white); }.demo-panel.active .demo-contract li { animation:demo-check-in .3s both; }.demo-panel.active .demo-contract li:nth-child(2){animation-delay:.25s}.demo-panel.active .demo-contract li:nth-child(3){animation-delay:.5s}.demo-panel.active .demo-contract li:nth-child(4){animation-delay:.75s}.demo-panel.active .demo-contract li:nth-child(5){animation-delay:1s}.demo-panel.active .demo-contract li:nth-child(6){animation-delay:1.25s}
.demo-lineage { display:grid; grid-template-columns:repeat(4,1fr); margin-top:.75rem; border:1px solid var(--line-dark); }.demo-lineage div { padding:.65rem; border-right:1px solid var(--line-dark); }.demo-lineage div:last-child { border-right:0; }.demo-lineage span { display:block; color:var(--muted-dark); font-size:.5rem; text-transform:uppercase; }.demo-lineage strong { display:block; margin-top:.3rem; font:700 .58rem ui-monospace,SFMono-Regular,Menlo,monospace; }

.demo-analysis-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; }.demo-analysis-metrics article { padding:.75rem; border:1px solid var(--line-dark); border-radius:5px; background:#0b110e; }.demo-analysis-metrics article.caution { border-color:#805e2d; }.demo-analysis-metrics span { color:var(--muted-dark); font-size:.55rem; }.demo-analysis-metrics strong { display:block; margin:.35rem 0; font-size:1.55rem; }.demo-analysis-metrics p { margin:0; color:var(--accent); font-size:.55rem; }.demo-analysis-metrics .caution p { color:#f0bd65; }
.demo-cohort-table { margin-top:.6rem; border:1px solid var(--line-dark); border-radius:5px; overflow:hidden; }.demo-cohort-table .head,.demo-cohort-table .row { width:100%; display:grid; grid-template-columns:1.15fr 1.1fr .7fr .7fr .7fr .9fr; gap:.5rem; align-items:center; min-height:40px; padding:0 .7rem; border:0; border-bottom:1px solid var(--line-dark); background:#0b110e; color:var(--muted-dark); text-align:left; font-size:.59rem; }.demo-cohort-table .head { min-height:30px; color:#6f7c75; font:.5rem ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.demo-cohort-table .row:last-child { border-bottom:0; }.demo-cohort-table .row strong { color:var(--white); }.demo-cohort-table .row em { font-style:normal; }.demo-cohort-table .healthy { color:var(--accent); }.demo-cohort-table .watch { color:#f0bd65; }.demo-cohort-table .breach { color:#ef806d; }.demo-cohort-table .row.trainee.demo-highlight { background:rgba(239,128,109,.08); box-shadow:inset 3px 0 #ef806d; }
.demo-recommendation { margin-top:.6rem; padding:.75rem; border:1px solid var(--line-dark); border-left:3px solid #f0bd65; border-radius:5px; background:#0b110e; }.demo-recommendation span { color:var(--accent); font:.52rem ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.demo-recommendation h2 { margin:.25rem 0; font-size:1.05rem; }.demo-recommendation p { margin:0; color:var(--muted-dark); font-size:.6rem; }

.demo-decision-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:.75rem; }.demo-section-label { margin:0 0 .6rem; color:var(--accent); font:.55rem ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }.demo-decision-options { display:grid; grid-template-columns:repeat(4,1fr); gap:.45rem; }.demo-decision-options button { min-height:44px; border:1px solid var(--line-dark); border-radius:4px; background:#0b110e; color:var(--muted-dark); cursor:pointer; font-size:.65rem; font-weight:750; }.demo-decision-options button.selected { border-color:var(--accent); background:rgba(200,241,107,.08); color:var(--accent); }.demo-decision-layout label { display:grid; gap:.4rem; margin-top:.8rem; color:var(--muted-dark); font-size:.56rem; }.demo-textarea { min-height:100px; align-items:flex-start; white-space:normal; }.demo-decision-layout aside { padding:1rem; border:1px solid var(--line-dark); border-top:3px solid #f0bd65; border-radius:6px; background:#0b110e; }.demo-decision-layout aside > span { color:var(--muted-dark); font-size:.55rem; text-transform:uppercase; }.demo-decision-layout aside > strong { display:block; margin:.45rem 0; color:#f0bd65; font-size:1.8rem; }.demo-decision-layout aside > p { margin:0; color:var(--muted-dark); font-size:.62rem; }.demo-decision-layout dl { margin:1rem 0 0; }.demo-decision-layout dl div { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-top:1px solid var(--line-dark); font-size:.57rem; }.demo-decision-layout dt { color:var(--muted-dark); }.demo-decision-layout dd { margin:0; text-align:right; }.demo-claim { margin-top:.75rem; padding:.75rem; border-left:3px solid #f0bd65; background:rgba(240,189,101,.06); }.demo-claim strong { color:#f0bd65; font-size:.57rem; text-transform:uppercase; }.demo-claim p { margin:.25rem 0 0; color:var(--muted-dark); font-size:.61rem; }

.demo-complete-banner { display:flex; align-items:center; gap:.7rem; padding:.65rem .8rem; border:1px solid #49652e; border-radius:5px; background:rgba(200,241,107,.06); }.demo-complete-banner > i { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:var(--charcoal); font-style:normal; font-weight:900; }.demo-complete-banner div { display:grid; }.demo-complete-banner span { color:var(--accent); font-size:.53rem; text-transform:uppercase; }.demo-complete-banner strong { font-size:.75rem; }.demo-complete-banner em { margin-left:auto; color:var(--accent); font:.52rem ui-monospace,SFMono-Regular,Menlo,monospace; font-style:normal; }
.demo-brief-preview { display:grid; grid-template-columns:1.15fr .85fr; gap:.75rem; margin-top:.65rem; min-height:0; }.demo-brief-paper { padding:1rem; border-radius:4px; background:#f8f6ef; color:var(--ink); transform:rotate(-.5deg); box-shadow:0 14px 36px rgba(0,0,0,.2); }.demo-panel.active .demo-brief-paper { animation:demo-paper-in .65s both; }.demo-brief-paper header { padding:.75rem; background:var(--charcoal); color:var(--white); }.demo-brief-paper header span { color:var(--accent); font:.5rem ui-monospace,SFMono-Regular,Menlo,monospace; }.demo-brief-paper h2 { margin:.55rem 0 .2rem; font-size:1.25rem; }.demo-brief-paper header p { margin:0; color:var(--muted-dark); font-size:.58rem; }.demo-brief-decision { padding:.75rem; border:1px solid var(--line); border-top:0; border-left:4px solid var(--accent-dark); }.demo-brief-decision span { color:var(--muted); font-size:.5rem; text-transform:uppercase; }.demo-brief-decision strong { display:block; font-size:1.25rem; }.demo-brief-decision p { margin:.2rem 0 0; color:var(--muted); font-size:.58rem; }.demo-brief-stats { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-top:0; }.demo-brief-stats div { padding:.55rem; border-right:1px solid var(--line); }.demo-brief-stats div:last-child { border-right:0; }.demo-brief-stats span { display:block; color:var(--muted); font-size:.48rem; }.demo-brief-stats strong { font-size:.84rem; }.demo-brief-paper footer { padding:.55rem; color:var(--muted); font-size:.48rem; }.demo-export-panel { padding:1rem; border:1px solid var(--line-dark); border-radius:5px; background:#0b110e; }.demo-export-panel h2 { margin:.2rem 0 .8rem; font-size:1.15rem; }.demo-export-panel ul { margin:0 0 .8rem; padding:0; list-style:none; }.demo-export-panel li { padding:.38rem 0; border-bottom:1px solid var(--line-dark); color:var(--muted-dark); font-size:.59rem; }.demo-export-panel li i { margin-right:.4rem; color:var(--accent); font-style:normal; }.demo-export-panel .demo-action,.demo-export-panel .demo-secondary { width:100%; margin-top:.4rem; }
.demo-finish { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:auto; padding-top:.6rem; }.demo-finish div { display:grid; }.demo-finish span { color:var(--muted-dark); font-size:.52rem; text-transform:uppercase; }.demo-finish strong { font-size:.7rem; }.demo-finish a { color:var(--accent); font-size:.65rem; font-weight:800; }

.demo-cursor { position:absolute; z-index:20; left:80%; top:80%; width:20px; height:24px; pointer-events:none; opacity:0; transform:translate(-2px,-2px); transition:left .75s cubic-bezier(.2,.75,.25,1),top .75s cubic-bezier(.2,.75,.25,1),opacity .25s; filter:drop-shadow(0 3px 3px rgba(0,0,0,.35)); }
.demo-cursor::before { content:""; display:block; width:0; height:0; border-top:18px solid var(--accent); border-right:12px solid transparent; transform:rotate(-15deg); }
.demo-cursor span { position:absolute; left:-9px; top:-8px; width:38px; height:38px; border:1px solid rgba(200,241,107,.75); border-radius:50%; opacity:0; }
.demo-cursor.visible { opacity:1; }.demo-cursor.clicking span { animation:demo-click .55s ease-out; }
.demo-toast { position:absolute; right:1rem; bottom:1rem; z-index:18; max-width:310px; padding:.7rem .8rem; border:1px solid #516044; border-left:3px solid var(--accent); border-radius:5px; background:#18201b; color:var(--white); font-size:.61rem; opacity:0; transform:translateY(10px); transition:.25s; }.demo-toast.show { opacity:1; transform:none; }

.demo-target-pulse { animation:demo-target 1s ease-out; }
.card-link-row { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.card-link-row .card-link + .card-link { color:#627b2d; }

@keyframes demo-pulse { 50%{opacity:.45;box-shadow:0 0 0 7px rgba(110,141,39,.08)} }
@keyframes demo-field-in { from{opacity:0;transform:translateY(6px);border-color:var(--accent-dark)} to{opacity:1;transform:none} }
@keyframes demo-row-in { to{opacity:1;transform:none} }
@keyframes demo-check-in { from{opacity:0;transform:translateX(-5px)} to{opacity:1;transform:none} }
@keyframes demo-grow { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes demo-paper-in { from{opacity:0;transform:translateY(15px) rotate(-2deg)} to{opacity:1;transform:rotate(-.5deg)} }
@keyframes demo-click { 0%{opacity:1;transform:scale(.2)} 100%{opacity:0;transform:scale(1.35)} }
@keyframes demo-target { 0%,100%{box-shadow:0 0 0 0 rgba(200,241,107,0)} 35%{box-shadow:0 0 0 4px rgba(200,241,107,.24)} }

@media (max-width:1100px) {
  .demo-shell { grid-template-columns:260px minmax(0,1fr); }
  .demo-director { padding:1.2rem; }
  .demo-director-intro h1 { font-size:2rem; }
  .demo-step-list button { padding:.5rem; }
  .demo-config-grid { grid-template-columns:1fr 1fr; }.demo-config-grid label.wide { grid-column:span 2; }
  .demo-lineage { grid-template-columns:1fr 1fr; }.demo-lineage div:nth-child(2){border-right:0}.demo-lineage div:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}
  .demo-analysis-metrics { grid-template-columns:1fr 1fr; }
}
@media (max-height:850px) and (min-width:821px) {
  .demo-director { padding:1rem 1.2rem; }
  .demo-director-intro .eyebrow { margin-bottom:.5rem; }
  .demo-director-intro h1 { font-size:2.05rem; }
  .demo-director-intro > p:last-child { margin-top:.55rem; font-size:.65rem; }
  .demo-step-list { gap:.05rem; margin:.7rem 0; }
  .demo-step-list button { padding:.38rem .5rem; }
  .demo-step-list small { font-size:.53rem; }
  .demo-narration { min-height:58px; padding:.55rem .7rem; }
  .demo-narration p { margin-top:.2rem; font-size:.61rem; }
  .demo-controls { margin-top:.5rem; }
  .demo-boundary { display:none; }
}
@media (max-width:820px) {
  .demo-body { overflow:auto; }
  .demo-header-state .text-link,.demo-header-state .demo-live { display:none; }
  .demo-shell { display:block; }
  .demo-director { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .demo-director-intro h1 { font-size:2.5rem; }.demo-director-intro > p:last-child { max-width:650px; }
  .demo-step-list { grid-template-columns:repeat(3,1fr); }.demo-step-list button { min-height:62px; }
  .demo-narration { min-height:65px; }.demo-boundary { margin-top:1rem; }
  .demo-product { min-height:760px; }.demo-viewport { min-height:620px; }
  .demo-panel { min-height:620px; overflow:auto; }
  .demo-cursor { display:none; }
}
@media (max-width:620px) {
  .demo-step-list { grid-template-columns:1fr 1fr; }
  .demo-controls { grid-template-columns:36px 1fr 1fr 54px; }
  .demo-product { padding:.5rem; }
  .demo-app-bar > div:last-child { display:none; }
  .demo-stage-status { grid-template-columns:30px 1fr auto; }
  .demo-config-grid,.demo-import-grid,.demo-validation-layout,.demo-decision-layout,.demo-brief-preview { grid-template-columns:1fr; }
  .demo-config-grid label.wide { grid-column:auto; }
  .demo-panel-foot { align-items:stretch; flex-direction:column; }.demo-panel-foot .demo-action { width:100%; }
  .demo-dropzone { min-height:190px; }
  .demo-event-stream { display:none; }
  .demo-lineage { grid-template-columns:1fr 1fr; }
  .demo-analysis-metrics { grid-template-columns:1fr 1fr; }
  .demo-cohort-table { overflow:auto; }.demo-cohort-table .head,.demo-cohort-table .row { min-width:620px; }
  .demo-decision-options { grid-template-columns:1fr 1fr; }
  .demo-complete-banner em { display:none; }
  .demo-finish { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .demo-live i,.demo-panel.active .demo-type-line,.demo-panel.active .demo-event-stream li,.demo-panel.active .demo-contract li,.demo-panel.active .demo-validation-score > div i,.demo-panel.active .demo-brief-paper { animation:none!important; opacity:1!important; transform:none!important; }
  .demo-panel,.demo-cursor,.demo-toast { transition:none!important; }
}
