/* Current demo conversation and analysis layout. Historical assets stay unchanged. */
.demo-page .hero.section-dark{padding-block:32px 28px}
.demo-page .hero h1{margin-bottom:14px;font-size:clamp(2rem,4vw,3.5rem)}
.demo-page .hero .lead{max-width:740px;margin-bottom:0}
.demo-page .hero .eyebrow::after{margin-top:10px}
.demo-page .demo-workspace{padding-top:32px}
.demo-page .demo-input{padding:0;border:0;background:none;margin-bottom:32px}
.demo-page .demo-input .form{grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:24px;align-items:start}
.demo-page .demo-paste{display:block;min-width:0;border:2px solid var(--navy);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 16px 40px rgba(11,27,51,.06);scroll-margin-top:12px}
.demo-page .demo-reading-head{--gold-700:#C7AD7B;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 22px 18px;background:var(--navy);color:#FBFAF7;border-bottom:1px solid #34445C}
.demo-page .demo-phase{display:block;font-size:.75rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold-700);margin-bottom:5px}
.demo-page .demo-reading-head h2,.demo-page .demo-chooser-head h2{font-size:1.55rem;line-height:1.25;letter-spacing:-.035em;margin:0}
.demo-page .demo-analysis-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:0;max-width:100%;padding:10px 14px;border:1px solid #C7AD7B;border-radius:10px;background:#C7AD7B;color:var(--navy);font-size:.875rem;line-height:1.35;font-weight:600;text-decoration:none;white-space:normal}
.demo-page .demo-analysis-link svg{flex:none}
.demo-page .demo-analysis-link:hover{background:#D6BF94;border-color:#D6BF94;color:var(--navy)}
.demo-page .demo-analysis-link[hidden]{display:none}
.demo-page .demo-analysis-link:not([hidden]) svg{animation:demo-analysis-invite 1.4s ease-in-out 2}
@keyframes demo-analysis-invite{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
.demo-page .demo-record-info{padding:0 22px}
.demo-page #demo-timeline-meta{display:block;margin-top:14px;color:var(--ink-muted);font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
.demo-page #demo-timeline-meta:empty{display:none}
.demo-page #demo-file-status:empty{display:none}
.demo-page #demo-file-status{display:block;font-size:.8125rem;line-height:1.5;margin:14px 0 0}
.demo-page .demo-record-state{display:inline-block;border:0;border-left:2px solid var(--gold);border-radius:0;padding:4px 10px;margin:8px 0 12px;background:transparent;font-size:.8125rem;line-height:1.5}
.demo-page .demo-record-state[hidden]{display:none}
.demo-page .demo-file-list{margin-top:0;margin-bottom:12px}
.demo-page .demo-file-list li{font-size:.8125rem}
.demo-page .demo-import-notes{margin-bottom:16px}
.demo-page .demo-text-entry{padding:22px}
.demo-page .demo-text-entry[hidden]{display:none}
.demo-page .demo-text-entry label{font-size:.875rem;margin-bottom:10px}
.demo-page .demo-input textarea{min-height:290px;height:360px;font-size:.875rem;border:1px solid var(--rule);border-radius:10px;line-height:1.75;padding:16px}
.demo-page #demo-timeline{min-height:0;max-height:none;height:auto;border:0;border-radius:0;margin:0}
.demo-page .tlx-bar{padding:12px 18px;background:var(--navy);color:#D7DCE4;gap:10px;border-block:1px solid #34445C}
.demo-page .tlx-meta{font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
.demo-page .tlx-bar-btns{flex-shrink:1;min-width:0;max-width:100%;flex-wrap:wrap;gap:8px;margin-left:0}
.demo-page .tlx-btn{min-height:44px;max-width:100%;white-space:normal;font-size:.8125rem;padding:10px 12px;border-radius:9px}
.demo-page .tlx-scroll{padding:8px 18px 18px;flex:none;height:480px}
.demo-page .tlx-row{padding:8px 6px;font-size:.9375rem;line-height:1.65}
.demo-page .tlx-time{font-size:.75rem}
.demo-page .demo-reading-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;border-top:1px solid #34445C;padding:12px 22px;font-size:.75rem;line-height:1.5;color:#D7DCE4;background:var(--navy)}
.demo-page .demo-actions{--ink-muted:#D7DCE4;--gold-700:#C7AD7B;--brand-border:#34445C;border:1px solid var(--navy);border-radius:16px;padding:22px;background:var(--navy);color:#FBFAF7;gap:18px}
.demo-page .demo-chooser-head h2{font-size:1.3rem}
.demo-page .demo-chooser-head p{font-size:.875rem;line-height:1.55;margin:10px 0 0}
.demo-page .scenario-btns{grid-template-columns:minmax(0,1fr);gap:8px}
.demo-page .scenario-btns .btn{min-height:44px;font-size:.875rem;line-height:1.25;border-radius:9px;background:#fff;border-color:var(--brand-border);padding:10px}
.demo-page .scenario-btns #demo-sample{grid-column:1 / -1;background:#C7AD7B;border-color:#C7AD7B;color:var(--navy)}
.demo-page .scenario-btns .btn:hover{border-color:var(--gold)}
.demo-page .demo-upload{border-top:1px solid var(--brand-border);padding-top:18px}
.demo-page #demo-file-label{font-size:.9375rem;color:#FBFAF7;font-weight:600}
.demo-page .btn-file{min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #C7AD7B;background:#C7AD7B;color:#0B1B33;border-radius:9px;font-weight:600}
.demo-page .btn-file:hover,.demo-page .btn-file:focus-visible{background:#D6BF94;border-color:#AE8B4E;color:#0B1B33}
.demo-page .btn-file:focus-visible{outline:2px solid #C7AD7B;outline-offset:3px}
.demo-page .btn-file:active{background:#BFA16A;color:#0B1B33}
.demo-page .demo-upload>.hint{font-size:.8125rem;line-height:1.6}
.demo-page .demo-help-link{color:var(--gold-700);font-size:.875rem;line-height:1.5;display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;padding:6px 0;border:0;text-decoration:none}
.demo-page .demo-help-label{min-width:0;text-underline-offset:4px;text-decoration-thickness:1px}
.demo-page .demo-help-link svg{flex:none;width:14px;height:14px}
.demo-page .demo-help-link:is(:hover,:focus-visible) .demo-help-label{text-decoration-line:underline}
.demo-page .demo-formats{font-size:.8125rem;margin-top:0}
.demo-page .demo-formats summary{padding:8px 0;color:#FBFAF7;font-size:.875rem}
.demo-page .demo-formats .demo-formats-note{font-style:normal}
.demo-page .demo-btns{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:0}
.demo-page .demo-btns .btn{min-height:44px;font-size:.875rem;padding:10px 16px;border-radius:9px}
/* The sample, file chooser and analysis actions share one scalable size. */
.demo-page .demo-actions .btn{min-height:3rem;padding:10px 16px;font-size:.875rem;line-height:1.25}
.demo-page .demo-reset-note{font-size:.75rem;line-height:1.55;margin:-8px 0 0}
.demo-page .demo-results{padding:28px;border:2px solid var(--navy);border-radius:20px;scroll-margin-top:12px;container-type:inline-size}
.demo-page .demo-analysis-head{--gold-700:#C7AD7B;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px;border:1px solid var(--navy);border-radius:12px;background:var(--navy);color:#FBFAF7}
.demo-page .demo-analysis-head h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0;line-height:1.2}
.demo-page .demo-back-link{font-size:.875rem;color:var(--gold-700);min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.demo-page .demo-analysis-note{font-size:.875rem;line-height:1.65;max-width:880px;margin:18px 0 24px}
.demo-page .kpi-strip{gap:10px;margin-bottom:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.demo-page .kpi{min-width:0;border-radius:10px;padding:16px 10px;overflow-wrap:anywhere}
.demo-page .kpi span{font-size:.75rem;letter-spacing:.035em}
.demo-page .chart-cell{padding:20px;border-radius:12px}
.demo-page .chart-cell h4{font-size:1.125rem;line-height:1.5;letter-spacing:-.025em}
.demo-page .chart-cell h4 .small{display:block;font-size:.8125rem;letter-spacing:0;margin-top:4px}
.demo-page .demo-empty{border:1px dashed var(--brand-border);border-radius:16px;padding:28px 20px;font-size:.9375rem}
.demo-page .demo-empty h3{font-size:1.1rem}
.demo-page .demo-empty p{margin-bottom:0}
.demo-page :is(.demo-paste,.demo-results):focus{outline:none}
.demo-page :is(a,button,.tlx-scroll):focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.demo-page :is(.demo-reading-head,.demo-chooser-head,.demo-analysis-head)>div{min-width:0}
.demo-page :is(.demo-reading-head h2,.demo-chooser-head h2,.demo-analysis-head h2){overflow-wrap:anywhere}
.demo-page .cp-grid{grid-template-columns:minmax(0,1fr)}
.demo-page .cp-col{min-width:0;max-width:100%;padding:clamp(12px,1.1rem,20px)}
.demo-page .cp-single{padding:clamp(10px,.7rem,16px) clamp(12px,.9rem,18px)}
@media(min-width:600px){.demo-page .kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:860px){.demo-page .cp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
@media(min-width:900px){.demo-page .kpi-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}
@container(max-width:12rem){.demo-page .kpi-strip{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .demo-page .site-header .brand,.demo-page .footer-col a.brand{font-size:min(1.8rem,10vw)!important}
 .demo-page .cp-line,.demo-page .cl-line{grid-template-columns:48px minmax(0,1fr)}
 .demo-page :is(.cp-line,.cl-line) .cl-body{grid-column:1 / -1}
}
@media(max-width:900px){
 .demo-page .demo-input .form{grid-template-columns:minmax(0,1fr);gap:24px}
 .demo-page .demo-reading-head{padding:18px}
 .demo-page .demo-record-info{padding-inline:18px}
 .demo-page .tlx-scroll{height:clamp(260px,48svh,440px)}
}
@media(max-width:540px){
 .demo-page .hero.section-dark{padding-block:24px}
 .demo-page .hero h1{font-size:2.15rem}
 .demo-page .hero .lead{font-size:1rem;line-height:1.6}
 .demo-page .demo-workspace{padding-top:24px}
 .demo-page .demo-actions{padding:18px;gap:16px}
 .demo-page .demo-reading-head{padding:16px;gap:12px}
 .demo-page .demo-reading-head h2{font-size:1.5rem}
 .demo-page .demo-analysis-link{flex:1 1 100%;justify-content:space-between}
 .demo-page .demo-record-info{padding-inline:16px}
 .demo-page .demo-text-entry{padding:16px}
 .demo-page .demo-input textarea{font-size:1rem;min-height:250px;height:300px;padding:12px}
 .demo-page .tlx-scroll{height:clamp(250px,44svh,380px)}
 .demo-page .tlx-bar{padding:10px 12px}
 .demo-page .tlx-scroll{padding-inline:10px}
 .demo-page .demo-reading-foot{padding:12px 16px}
 .demo-page .demo-reading-foot span:last-child{display:none}
 .demo-page .demo-results{padding:18px 14px}
 .demo-page .demo-analysis-head{gap:6px}
 .demo-page .chart-cell{padding:16px 12px}
 .demo-page .demo-back-link{font-size:.8125rem}
}
@media(prefers-reduced-motion:reduce){.demo-page .demo-analysis-link:not([hidden]) svg{animation:none}}
.demo-page #demo-file-status.is-error{color:var(--danger)}
.demo-page .demo-file-list{max-height:168px;overflow-y:auto}
.demo-page .footer-col{min-width:0;overflow-wrap:anywhere}
/* Light controls on navy, shared by the chooser and conversation chrome. */
.demo-page :is(.demo-reading-head,.demo-chooser-head,.demo-analysis-head) h2{color:#FBFAF7}
.demo-page .demo-actions :is(.demo-formats li,.demo-formats strong){color:#D7DCE4}
.demo-page .demo-actions .demo-help-link:is(:hover,:focus-visible){color:#F5E4C3}
.demo-page .demo-actions #demo-run,.demo-page .tlx-bar #demo-open-full{background:#C7AD7B;border-color:#C7AD7B;color:var(--navy)}
.demo-page .demo-actions :is(#demo-run,#demo-sample):hover,.demo-page .tlx-bar #demo-open-full:hover{background:#D6BF94;border-color:#D6BF94;color:var(--navy)}
.demo-page .demo-actions #demo-clear,.demo-page .tlx-bar #demo-edit-text{background:transparent;border:1px solid #8E9AAB;color:#FBFAF7}
.demo-page .demo-actions #demo-clear:hover,.demo-page .tlx-bar #demo-edit-text:hover{background:#21385A;border-color:#C7AD7B;color:#FBFAF7}
.demo-page .tlx-bar .tlx-meta{color:#D7DCE4}
.demo-page :is(.demo-actions,.demo-reading-head,.demo-analysis-head,.tlx-bar) :is(a,button,label[role=button],summary):focus-visible{outline:2px solid #C7AD7B;outline-offset:3px}
body.demo-page .demo-actions .demo-formats>summary::after{background:#C7AD7B!important}
/* Shared desktop track: both panels grow with disclosures and record details. */
@media(min-width:901px){
 .demo-page .demo-input .form{align-items:stretch}
 .demo-page .demo-paste{display:flex;flex-direction:column;gap:0}
 .demo-page .demo-text-entry:not([hidden]){display:flex;flex-direction:column;flex:1}
 .demo-page .demo-input textarea{flex:1;min-height:360px;height:auto;resize:vertical}
 .demo-page #demo-timeline:not([hidden]){display:flex;flex-direction:column;flex:1}
 .demo-page .tlx-scroll{flex:1 1 0;min-height:480px;height:auto}
 .demo-page :is(.demo-reading-head,.demo-record-info,.tlx-bar,.demo-reading-foot){flex:none}
}
@media(forced-colors:active){body.demo-page .demo-actions .demo-formats>summary::after{background:ButtonText!important}}
