/* SLD demonstration interface; report content and calculations live in sld-demo.js. */
.sld-demo{padding:0 0 60px;min-width:0}
.sld-demo .page-head{padding-bottom:34px}
.sld-demo .page-head h1{max-width:18ch}
.sld-demo .page-head .lede{max-width:46em}
.sld-steps{display:flex;gap:10px 28px;flex-wrap:wrap;list-style:none;padding:0;margin:24px 0 0;font:500 12px "IBM Plex Mono",monospace;color:var(--charcoal)}
.sld-steps span{color:var(--red);margin-right:7px}
.sld-workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.4fr);gap:24px;align-items:start}
.sld-input-card,.sld-output-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--red)}
.sld-card-head{padding:22px 24px;border-bottom:1px solid var(--line);background:var(--paper)}
.sld-card-head h2{font-size:20px;line-height:1.3}
.sld-card-head p{margin:8px 0 0;color:var(--charcoal);font-size:15px}
.sld-form-body{padding:24px}
.sld-demo fieldset{min-width:0;padding:0;margin:0 0 26px;border:0}
.sld-demo legend{display:block;width:100%;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--line);font:700 14px Montserrat,sans-serif;color:var(--ink)}
.sld-demo .sld-field,.sld-demo fieldset label{display:grid;gap:7px;margin-bottom:14px;font:600 12px/1.45 Montserrat,sans-serif;color:var(--charcoal)}
.sld-demo input,.sld-demo select,.sld-demo textarea{box-sizing:border-box;max-width:100%;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--muted);border-radius:2px;background:var(--paper);color:var(--ink);font:400 16px/1.4 "IBM Plex Mono",monospace}
.sld-demo input:focus-visible,.sld-demo select:focus-visible,.sld-demo button:focus-visible,.sld-demo [tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.sld-demo .sld-help{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.sld-demo .sld-field-note{font-size:12px;font-weight:400;color:var(--muted)}
.sld-demo .sld-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.sld-demo .sld-rule{padding:16px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--red);margin:0 0 22px}
.sld-demo .sld-rule p{margin:0;font-size:14px;line-height:1.5}
.sld-demo .sld-rule p+p{margin-top:8px;color:var(--charcoal)}
.sld-demo .sld-rule strong{font-family:Montserrat,sans-serif;font-size:12px}
.sld-actions{display:flex;gap:10px;flex-wrap:wrap}
.sld-demo button{min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--muted);border-radius:2px;background:var(--surface);color:var(--ink);font:700 12px/1.4 Montserrat,sans-serif;cursor:pointer}
.sld-demo button:hover{border-color:var(--ink)}
.sld-demo button.sld-primary{width:100%;margin-top:12px;background:#B8321F;border-color:#B8321F;color:#fff;font-size:14px}
.sld-demo button.sld-primary:hover{background:#942817;border-color:#942817}
.sld-demo button:disabled{opacity:.55;cursor:not-allowed}
.sld-demo .sld-status{margin:14px 0 0;font-size:13px;line-height:1.5;min-height:1.5em}
.sld-demo .sld-errors{padding:14px;margin:0 0 20px;border:2px solid var(--red);background:var(--paper);color:var(--ink);font-size:14px}
.sld-demo [hidden]{display:none!important}
.sld-output{padding:24px;overflow-wrap:anywhere;scroll-margin-top:90px;min-width:0}
.sld-output h2{font-size:24px;line-height:1.3;margin:0 0 16px}
.sld-output h3{font-size:19px;line-height:1.35;margin:26px 0 12px}
.sld-output h4{font-size:15px;margin:20px 0 10px}
.sld-output p{margin:0 0 14px}
.sld-output section{padding:0;margin:28px 0;border:0}
.sld-output ul,.sld-output ol{padding-left:22px}
.sld-empty{padding:32px 0}
.sld-empty .eyebrow{margin-bottom:18px}
.sld-empty h3{margin:0 0 14px;font-size:24px;max-width:23ch}
.sld-empty p{max-width:40em;color:var(--charcoal)}
.sld-empty ul{display:grid;gap:12px;list-style:none;padding:0;margin:24px 0 0}
.sld-empty li{padding-top:12px;border-top:1px solid var(--line);font-size:15px;color:var(--charcoal)}
.sld-empty li strong{display:block;color:var(--ink);font-family:Montserrat,sans-serif;font-size:12px;margin-bottom:3px}
.sld-output .sld-table-wrap,.sld-output .table-scroll{max-width:100%;overflow-x:auto;margin:16px 0}
.sld-output table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45;font-variant-numeric:tabular-nums}
.sld-output th,.sld-output td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.sld-output th{font:700 11px/1.4 Montserrat,sans-serif;letter-spacing:.02em;background:var(--paper)}
.sld-output caption{text-align:left;margin-bottom:10px;font-weight:600}
.sld-output figure{margin:24px 0;min-width:0}
.sld-output svg{display:block;max-width:100%;height:auto}
.sld-output figcaption{font-size:13px;color:var(--charcoal);line-height:1.5;margin:10px 0}
.sld-output .sld-callout,.sld-output .sld-note{padding:16px;border-left:3px solid var(--red);background:var(--paper);margin:18px 0}
.sld-output dl{margin:0}
.sld-output dt{font:700 13px/1.45 Montserrat,sans-serif;margin:20px 0 6px}
.sld-output dd{margin:0 0 12px;color:var(--charcoal);font-size:15px}
.sld-demo .sld-score-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.sld-demo .sld-score-field{min-width:0}
.sld-output .sld-report-section{padding:0;margin:28px 0;border:0;min-width:0}
.sld-output .sld-table-scroll{max-width:100%;overflow-x:auto;margin:16px 0}
.sld-output .sld-table{min-width:460px}
.sld-output .sld-figure{padding:14px;background:#fff;color:#17161A;border:1px solid var(--line)}
.sld-output .sld-figure svg{background:#fff;color:#17161A}
.sld-output .sld-figure figcaption{color:#3E3A3F}
.sld-output .sld-legend{display:flex;gap:8px 18px;flex-wrap:wrap;font:400 12px/1.5 "IBM Plex Mono",monospace;margin:12px 0;color:inherit}
.sld-output .sld-report-toolbar{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sld-output .sld-pill{display:inline-block;padding:4px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 11px/1.45 Montserrat,sans-serif;border-radius:2px}
.sld-output .sld-definition-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.sld-output .sld-definition-grid>*{min-width:0}
.sld-legacy{padding:26px 0 64px;border-top:1px solid var(--line)}
.sld-legacy>summary{width:min(1120px,calc(100% - 48px));margin:auto;padding:20px 0;font:700 16px/1.5 Montserrat,sans-serif;cursor:pointer;color:var(--ink)}
.sld-legacy>summary small{display:block;margin:6px 0 0 20px;font:400 14px/1.5 "Source Serif 4",Georgia,serif;color:var(--charcoal)}
.sld-legacy .page-head h2{font-size:clamp(28px,4vw,46px);line-height:1.15;letter-spacing:-.02em}
@media(max-width:1000px){.sld-workspace{grid-template-columns:1fr}.sld-demo .page-head h1{max-width:20ch}.sld-empty{padding:8px 0}}
@media(max-width:480px){.sld-card-head,.sld-form-body,.sld-output{padding:20px 16px}.sld-demo .sld-input-grid,.sld-demo .sld-score-input-grid,.sld-output .sld-definition-grid{grid-template-columns:1fr}.sld-demo .page-head{padding-top:36px}.sld-output th,.sld-output td{padding:8px}.sld-actions>button{flex:1 1 120px}}
@media print{
  body{background:#fff!important;color:#000!important}
  #siteNav,.site-nav,.skip-link,footer.site,#vlchat-btn,#vlchat-panel,.sld-legacy,.sld-demo .page-head,.sld-input-card,.sld-card-head{display:none!important}
  .sld-demo{padding:0}.sld-workspace{display:block;width:100%;margin:0}.sld-output-card{border:0;background:#fff}.sld-output{padding:0;color:#000;font-size:11pt}
  .sld-output h2,.sld-output h3,.sld-output h4{break-after:avoid;color:#000}.sld-output figure,.sld-output tr{break-inside:avoid}
  .sld-output th,.sld-output td{border-color:#999;color:#000}.sld-output th{background:#f3f3f3}.sld-output p,.sld-output dd,.sld-output figcaption{color:#000}
  .sld-output .sld-table-wrap,.sld-output .table-scroll{overflow:visible}.sld-output .sld-callout,.sld-output .sld-note{background:#f5f5f5;color:#000}
  .sld-output svg{max-width:100%}.sld-output a{color:#000;text-decoration:underline}
  .sld-output .sld-report-toolbar{display:none}.sld-output .sld-table-scroll{overflow:visible}.sld-output .sld-table{min-width:0}.sld-output .sld-figure{border-color:#999;break-inside:avoid}.sld-output .sld-pill{color:#000;background:#fff;border-color:#777}.sld-output .sld-definition-grid{display:block}
}

/* Keep dynamically generated grids at their full available width. */
#sld-academic-inputs,#sld-processing-inputs{display:block}
.sld-score-field{margin-bottom:16px}
.sld-score-field>span{display:block;margin-bottom:8px}
.sld-figure{overflow-x:auto}
.sld-output .sld-figure svg{min-width:760px}
.sld-recommendation{padding:14px 0;border-bottom:1px solid var(--line)}
.sld-sample-label{padding:12px;border:1px solid var(--line)}
@media print{
  .sld-output button{display:none!important}
  .sld-output .sld-figure svg{min-width:0}
  .sld-output .sld-figure{overflow:visible}
  .sld-demo .wrap{width:100%;max-width:none}
}

/* Sample-first entry and a full-width reading mode. */
.sld-start{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0 12px}
.sld-start label{display:grid;gap:8px;font:700 12px/1.4 Montserrat,sans-serif}
.sld-start select{padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font:400 15px/1.4 Montserrat,sans-serif}
.sld-processing{border:1px solid var(--line);padding:16px;margin-bottom:18px}
.sld-processing summary{cursor:pointer;font:700 14px/1.5 Montserrat,sans-serif}
.sld-processing fieldset{margin-top:18px}
.sld-report-view .sld-input-card{display:none}
.sld-report-view .sld-workspace{grid-template-columns:1fr}
.sld-output-card #sld-edit{float:right;margin:0 0 12px 12px}
.sld-report-nav{position:static!important;display:flex!important;gap:8px 16px;flex-wrap:wrap;border:0!important;padding:0 0 18px!important;font:600 12px/1.6 Montserrat,sans-serif;background:transparent!important;box-shadow:none!important}
.sld-report-nav a{color:var(--ink);text-underline-offset:4px}
.sld-report-section{scroll-margin-top:100px}
.sld-score-field input[type=text]{margin-top:6px}
.sld-score-field input[type=number]+label{display:block;margin-top:10px;font-size:11px}
.sld-output .sld-figure svg{width:100%;min-width:0}
@media(max-width:640px){.sld-start>*{width:100%}.sld-output .sld-figure{padding:6px}.sld-output .sld-figure svg{min-width:0}.sld-report-nav{gap:8px 12px}.sld-output-card #sld-edit{float:none;margin:0 0 16px}.sld-output{padding:16px 10px}}
@media print{.sld-report-nav,.sld-start,#sld-edit{display:none!important}}

.sld-output svg.sld-chart-mobile{display:none}
@media(max-width:640px){.sld-output svg.sld-chart-wide{display:none}.sld-output svg.sld-chart-mobile{display:block;width:100%;min-width:0}}
@media print{.sld-output svg.sld-chart-wide{display:block}.sld-output svg.sld-chart-mobile{display:none}}

/* In reading mode, mobile help stays in the toolbar so scores remain unobscured. */
@media(max-width:640px){body:has(.sld-report-view) #vlchat-btn{display:none}}
@media print{
  @page{size:letter portrait;margin:0.6in}
  #sld-section-2{break-before:page}
  .sld-output .sld-table{break-inside:avoid}
  .sld-output caption{break-after:avoid}
  .sld-output thead{display:table-header-group}
}

/* Browser PDF: preserve score tokens and keep labels with their content. */
@media print{
  .sld-output{line-height:1.4;overflow-wrap:normal}
  .sld-output .eyebrow{break-after:avoid;margin-bottom:6pt}
  .sld-output .eyebrow::before{display:none}
  .sld-output h3{margin:12pt 0 8pt}
  .sld-output h4{margin:12pt 0 6pt}
  .sld-output p{orphans:3;widows:3}
  .sld-output .sld-table{font-size:9pt;line-height:1.3}
  .sld-output .sld-table th,.sld-output .sld-table td{padding:5pt;font-size:9pt;letter-spacing:0;overflow-wrap:normal;word-break:normal}
  #sld-section-2 tbody td:nth-child(3),#sld-section-2 tbody td:nth-child(5),#sld-section-2 tbody td:nth-child(6){white-space:nowrap}
  .sld-output .sld-definition-grid>div,.sld-output .sld-recommendation{break-inside:avoid}
  .sld-output dt{break-after:avoid}
  .sld-output .sld-figure{padding:8pt;margin:14pt 0}
  #sld-section-3,#sld-section-8{break-before:page}
}
