/* Screen-only presentation layer. Preserve all workflow and report behavior. */
@media screen {
  :root { --canvas:#f2f5fa; --ink:#172d45; --muted:#526780; --line:#d2ddeb; --navy:#193750; --teal:#315d88; --teal-dark:#254f7b; }
  body { font-size:16px; line-height:1.75; }
  .site-header { background:#172e46; color:#fff; border-top:0; border-bottom:1px solid #263f59; }
  .header-inner { width:min(1184px,calc(100% - 48px)); padding:20px 0; gap:24px; }
  .brand-lockup { min-width:0; gap:14px; }
  .brand-lockup > div:last-child { min-width:0; }
  .brand-mark { width:42px; height:46px; border-color:#8ca4bb; background:#243f59; border-radius:6px; font-size:14px; font-weight:700; }
  h1 { font-size:clamp(1.125rem,2vw,1.4rem); line-height:1.45; letter-spacing:0; font-weight:600; margin:2px 0; overflow-wrap:anywhere; }
  .site-header .eyebrow { color:#b8ccdf; font-size:.75rem; font-weight:400; letter-spacing:.055em; }
  .subtitle { color:#d1deec; font-size:.8125rem; line-height:1.6; }
  .header-actions { gap:9px; }
  .privacy-chip { color:#d1deec; font-size:.75rem; }
  .language-toggle { background:transparent; border-color:#879bb0; border-radius:5px; }
  .lang-button { min-height:44px; min-width:44px; color:#fff; font-weight:600; }
  .lang-button.active { background:#fff; color:#193750; }
  .shell { width:min(1184px,calc(100% - 48px)); padding-bottom:40px; }
  .intro-strip { margin:28px 0 20px; }
  .intro-strip ol { gap:0; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .intro-strip li { padding:15px 18px; border-bottom:3px solid transparent; gap:10px; }
  .intro-strip li + li { border-left:1px solid var(--line); }
  .intro-strip li.is-current { background:#eaf1f8; border-bottom-color:#254f7b; }
  .intro-strip li.is-complete { background:#f5f8fc; border-bottom-color:#8ba5bc; }
  .intro-strip li strong { font-size:.875rem; line-height:1.6; font-weight:600; }
  .intro-strip li span { color:#536f8c; font-size:.8125rem; font-weight:400; }
  .academic-scope { border:1px solid var(--line); border-radius:6px; background:transparent; margin-bottom:12px; }
  .academic-scope summary { padding:13px 18px; color:var(--navy); font-size:.9375rem; font-weight:400; min-height:48px; }
  .academic-scope[open] { padding:0 0 16px; border:1px solid var(--line); background:#fff; }
  .academic-scope .scope-lead,.academic-scope .scope-points { margin-left:18px; margin-right:18px; }
  .scope-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; margin-top:12px; }
  .scope-points p { border-top:1px solid #e7edf4; line-height:1.8; }
  .use-note { margin:0 0 24px; font-size:.875rem; line-height:1.8; }
  .panel,.results-section { border-radius:7px; box-shadow:none; }
  .panel-heading { grid-template-columns:44px minmax(0,1fr); gap:16px; padding:24px 28px 20px; border-top:2px solid #315d88; border-bottom:1px solid #e4eaf2; align-items:start; }
  .step-kicker { padding-top:2px; gap:6px; font-weight:600; letter-spacing:.03em; }
  .step-kicker span:first-child { width:34px; height:34px; background:#edf3f9; border:1px solid #d2dfed; color:#254f7b; border-radius:5px; font-weight:600; }
  .step-kicker > span:last-child { display:none; }
  .panel-heading h2,.section-heading h2 { font-size:1.3rem; line-height:1.55; font-weight:600; margin:0 0 5px; }
  .panel-heading p,.section-heading p { font-size:.9375rem; line-height:1.8; }
  h3,h4 { font-weight:600; }
  .eyebrow { font-weight:600; letter-spacing:.07em; }
  .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:26px 28px 20px; gap:28px; }
  .field-stack > label { font-size:.9375rem; font-weight:600; margin-bottom:9px; }
  select { min-height:46px; border-color:#c1d0e1; padding-top:8px; padding-bottom:8px; font-size:1rem; }
  .field-help { margin-top:9px; line-height:1.75; }
  .dropzone { min-height:130px; border:1px dashed #9fb4c9; background:#f8fafd; gap:16px; padding:20px; }
  .dropzone strong { font-size:.9375rem; font-weight:600; }
  .dropzone > div:last-child { min-width:0; }
  .drop-icon { color:#315d88; border-color:#8aa4bd; font-weight:600; }
  .poster-mode-field { margin-top:20px; padding:16px; background:#f8fafd; }
  .poster-mode-field legend { font-weight:600; font-size:.9375rem; }
  .mode-segment { grid-template-columns:1fr; }
  .mode-segment label { font-size:.9375rem; text-align:left; justify-content:flex-start; border-radius:5px; font-weight:400; min-height:48px; padding:10px 14px; }
  .mode-segment label:has(input:checked) { background:#eaf2fa; border-color:#315d88; box-shadow:inset 3px 0 #315d88; font-weight:600; }
  .action-row { padding:18px 28px; background:#fafbfd; gap:10px 12px; }
  .primary-button,.secondary-button { min-height:46px; padding:10px 18px; font-size:.9375rem; font-weight:600; line-height:1.6; border-radius:5px; }
  .secondary-button { border-color:#bacbdc; }
  .text-button { min-height:44px; font-weight:600; }
  .workflow-panel + .workflow-panel,.next-steps { margin-top:24px; }
  .workflow-task,.workflow-upload-body { padding:24px 28px; }
  .workflow-task h3 { font-size:1rem; font-weight:600; }
  .workflow-task > p { font-size:.9375rem; line-height:1.8; }
  .workflow-task details > summary,.paste-fallback > summary { min-height:44px; padding-top:9px; padding-bottom:9px; cursor:pointer; }
  .notice { border-left-width:3px; background:#fff9e9; line-height:1.8; }
  .results-section { padding:28px; border-top:2px solid #315d88; }
  .report-nav { background:#f7f9fc; border:1px solid var(--line); border-radius:5px; padding:8px 14px; gap:4px 20px; }
  .report-nav a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
  .review-section { margin:20px 0; }
  .review-section > h3 { font-size:1.125rem; }
  .card-field h4 { font-weight:600; }
  .card-preview { font-weight:600; }
  .feedback-panel { padding:28px; gap:32px; border-top:2px solid #315d88; }
  .feedback-intro h2 { font-size:1.25rem; font-weight:600; }
  .feedback-intro p { font-size:.9375rem; }
  .feedback-panel label { font-size:.9375rem; font-weight:600; }
  .feedback-panel .feedback-consent { font-weight:400; font-size:.875rem; }
  .feedback-panel input[type=text],.feedback-panel input[type=email],.feedback-panel textarea { padding:11px 13px; border-color:#c1d0e1; }
  .feedback-contact { gap:18px; }
  .gate-table { table-layout:fixed; }
  .gate-table th,.gate-table td { overflow-wrap:anywhere; }
  .file-summary,.result-upload,.results-title-group,.prompt-copy-actions { min-width:0; }
  .shell p,.shell li,.shell summary,.shell label { overflow-wrap:anywhere; }
  .prompt-box,.raw-json { overflow-wrap:anywhere; }
  :focus-visible { outline:3px solid #487fb6; outline-offset:3px; }
  .site-header :focus-visible { outline-color:#badcff; }
}
@media screen and (max-width:960px) {
  .header-inner { align-items:flex-start; }
  .header-actions { flex:0 1 200px; }
  .privacy-chip { text-align:right; }
  .intro-strip li { padding:13px 12px; }
  .feedback-panel { grid-template-columns:1fr; gap:16px; }
  .feedback-intro p { margin:8px 0; }
  .audit-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:760px) {
  .header-inner,.shell { width:calc(100% - 32px); }
  .header-inner { flex-direction:column; gap:14px; padding:18px 0; }
  .header-actions { flex:auto; width:100%; display:flex; align-items:center; justify-content:space-between; }
  .privacy-chip { text-align:left; }
  .brand-mark { display:grid; }
  .form-grid,.workflow-tasks,.scope-points,.feedback-contact { grid-template-columns:1fr; }
  .intro-strip ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .intro-strip li:nth-child(3) { border-left:0; }
  .intro-strip li:nth-child(n+3) { border-top:1px solid var(--line); }
  .intro-strip { margin-top:20px; }
  .form-grid { gap:22px; }
  .panel-heading,.form-grid,.workflow-task,.workflow-upload-body { padding-left:20px; padding-right:20px; }
  .action-row { padding:18px 20px; }
  .results-section,.feedback-panel { padding:20px; }
  .prompt-action-row { grid-template-columns:1fr; gap:12px; }
  .feedback-contact { gap:16px; }
}
@media screen and (max-width:480px) {
  .shell,.header-inner { width:calc(100% - 24px); }
  .brand-lockup { gap:10px; }
  .brand-mark { width:34px; height:40px; font-size:12px; }
  .site-header .eyebrow { font-size:.6875rem; }
  .intro-strip li { padding:12px 10px; gap:7px; }
  .intro-strip li strong { font-size:.8125rem; }
  .panel-heading { gap:10px; grid-template-columns:34px minmax(0,1fr); }
  .panel-heading,.form-grid,.workflow-task,.workflow-upload-body { padding-left:16px; padding-right:16px; }
  .panel-heading h2,.section-heading h2 { font-size:1.125rem; }
  .action-row { padding:16px; }
  .primary-button,.secondary-button { width:100%; }
  .dropzone { padding:16px; gap:12px; }
  .drop-icon { width:34px; height:42px; }
  .results-section,.feedback-panel { padding:16px; }
  .audit-filters,.card-body,.meta-grid { grid-template-columns:1fr; }
  .card-field.wide { grid-column:auto; }
  .result-upload { padding:14px; }
  input,select,textarea { font-size:16px; }
}

/* Compact task-focused disclosures; complete report data stays available. */
@media screen {
  .header-note { margin:6px 0 0; color:#d1deec; font-size:.875rem; }
  .profile-preview { display:block; padding:0; }
  .profile-preview summary,.report-metadata summary,.feedback-disclosure > summary { cursor:pointer; min-height:44px; padding:12px 16px; color:var(--navy); font-weight:600; }
  .profile-preview code { display:block; padding:0 16px 12px; overflow-wrap:anywhere; }
  .report-metadata { border:1px solid var(--line); border-radius:6px; margin:18px 0; }
  .report-metadata .meta-grid { padding:0 16px 16px; margin:0; }
  .feedback-disclosure { margin-top:28px; }
  .feedback-disclosure > summary { padding:18px 24px; }
  .feedback-disclosure .feedback-panel { margin:0; border:0; border-top:1px solid var(--line); }
  .file-pair a { display:inline-block; min-height:44px; padding:8px 0; }
  [id^="ref-"],.review-section { scroll-margin-top:20px; }
  @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
}
#result-search input { min-width: 16rem; max-width: 100%; padding: .65rem; border: 1px solid var(--line, #dbe3ea); border-radius: .4rem; font: inherit; }
#result-search .audit-card { padding: 1rem; overflow-wrap: anywhere; }
.search-detail { margin-top: 1rem; padding: 1rem; border: 1px solid #b9cbd9; border-radius: .5rem; overflow-wrap: anywhere; }
.search-detail .ref-links { display: flex; flex-wrap: wrap; gap: .3rem; margin: .6rem 0; }
@media(max-width:600px) { #result-search input { min-width: 0; width: 100%; } }

@media screen {
  .header-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:24px; width:auto; }
  .header-feedback { color:#fff; font-size:.875rem; font-weight:600; text-underline-offset:3px; padding:10px 0; min-height:44px; display:inline-flex; align-items:center; }
  .header-feedback:hover { color:#d1deec; }
  #feedback-section { scroll-margin-top:20px; margin:0 0 24px; }
  .footer-scope { max-width:1184px; margin:0 auto 22px; text-align:left; }
  .footer-scope .academic-scope { margin:0; background:#fff; }
  @media(max-width:600px) {
    .header-inner { align-items:center; gap:14px; flex-wrap:wrap; }
    .header-actions { margin-left:auto; gap:18px; }
  }
}
@media print { #feedback-section { display:none; } }

@media screen { .scope-site-info { border-top:1px solid var(--line); margin-top:18px; padding:16px 0 4px; text-align:center; } .footer-scope { margin-bottom:0; } }

@media screen {
  .header-inner { padding:16px 0; align-items:center; }
  .brand-lockup { align-items:center; }
  .site-header h1 { font-size:clamp(1rem,1.7vw,1.2rem); font-weight:700; line-height:1.4; margin:0 0 8px; }
  .site-header .header-note { display:block; font-size:.75rem; line-height:1.6; color:#d1deec; margin:0 0 4px; }
  .header-author { color:#b9ddeb; font-size:.75rem; line-height:1.6; margin:0; }
}
