/* Local secondary-page demo. Shared Homepage/Research files remain independently owned.
   Inherit the live research-identity tokens, fonts, mast and footer from style.css. */
.secondary-page { --mute:#596873; }
.secondary-page :is(main,.section,.page-wrap,.bar-head>* ,label) { min-width:0; }
.secondary-page .mast { box-shadow:none; }
.secondary-page .mast nav[aria-label=Main] a { min-height:44px; display:flex; align-items:center; }
.secondary-page .hero { padding:72px 0 56px; text-align:left; }
.secondary-page :is(.hero h1,.page-title) { font:600 clamp(40px,5vw,64px)/1.1 var(--sans); letter-spacing:-.035em; margin:0 0 24px; }
.secondary-page .hero-q { max-width:64ch; font:400 21px/1.6 var(--sans); color:var(--ink); margin:0; }
.secondary-page .hero-q em { display:block; font:400 18px/1.7 var(--sans); color:var(--mute); margin-top:8px; }
.secondary-page .hero .cta { justify-content:flex-start; margin-top:28px; flex-wrap:wrap; }
.secondary-page .section { padding:72px 0; scroll-margin-top:170px; }
.secondary-page .bar-head { gap:24px 48px; }
.secondary-page .bar-head h2 { font-size:clamp(28px,3vw,40px); }
.secondary-page :is(.bar-head p,.prose p,.section-summary) { font-size:18px; line-height:1.75; max-width:72ch; }
.secondary-page .prose p+p { margin-top:20px; }
.secondary-page .page-jump { position:sticky; top:96px; z-index:30; width:min(var(--max),calc(100% - 48px)); margin:0 auto; padding:0; display:flex; flex-wrap:nowrap; gap:28px; overflow-x:auto; background:#fffffff2; border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.secondary-page .page-jump a { border:0; border-radius:0; padding:14px 0; min-height:48px; white-space:nowrap; font:500 15px/1.5 var(--sans); color:var(--mute); }
.secondary-page .page-jump a:hover { color:var(--rust); }
.secondary-page :is(input:not([type=range]),select) { border:1px solid #c5cfd7; border-radius:6px; min-height:48px; background:var(--bg); padding:10px 12px; font:400 16px/1.4 var(--sans); max-width:100%; caret-color:var(--rust); }
.secondary-page :is(input,select,summary):focus-visible { outline:2px solid var(--rust); outline-offset:3px; }
.secondary-page :is(.filters,.bench-filters,.compare-controls) { gap:16px; }
.secondary-page :is(.bench-filters,.compare-controls) label { font:500 15px/1.5 var(--sans); letter-spacing:0; text-transform:none; }
.secondary-page input::placeholder { color:var(--mute); opacity:1; }
.secondary-page :is(.page-jump,.table-scroll,dialog) { scrollbar-width:thin; scrollbar-color:#99a8b8 var(--wash); }
.secondary-page .notice { border:0; border-radius:0; padding:24px; background:var(--wash); font-size:16px; line-height:1.7; }
.secondary-page main>.notice { width:min(var(--max),calc(100% - 48px)); margin:32px auto 0; }
.secondary-page .notice a { color:var(--rust); text-decoration:underline; }
.secondary-page .facts { gap:32px; margin:32px 0; }
.secondary-page .facts>div { padding-top:18px; border-top:1px solid var(--line); }
.secondary-page .facts b { font-size:24px; line-height:1.3; margin-bottom:10px; }
.secondary-page .facts span { font-size:16px; line-height:1.65; }
.secondary-page .steps { gap:28px; margin:28px 0; }
.secondary-page .steps h3 { font-size:22px; margin:12px 0; }
.secondary-page .steps p { font-size:16px; line-height:1.7; color:var(--mute); }
.secondary-page details { padding:20px 0; border-top:1px solid var(--line); }
.secondary-page summary { cursor:pointer; min-height:44px; font-size:17px; }
/* Atlas: readable paired media with no change to native task/sample bindings. */
.secondary-page .atlas-section { border:0; padding-top:72px; }
.secondary-page .atlas-section .bar-head { align-items:start; margin-bottom:36px; }
.secondary-page .filters { padding:20px; background:var(--wash); border-radius:12px; }
.secondary-page .catalog-count { font-size:14px; color:var(--mute); margin:20px 0; }
.secondary-page .task-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.secondary-page .task-card { border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:none; background:var(--bg); }
.secondary-page .demo-text { padding:22px; }
.secondary-page .demo-meta { white-space:normal; font-size:13px; gap:8px; }
.secondary-page .fam { flex-shrink:0; }
.secondary-page .task-card h3 { font-size:23px; line-height:1.3; margin:12px 0; }
.secondary-page .demo-prompt { font-size:16px; line-height:1.65; }
.secondary-page .demo-scope { font-size:13px; line-height:1.6; margin-top:16px; }
.secondary-page .cmp-mode { min-height:44px; padding:8px 14px; border-radius:6px; font-size:14px; }
.secondary-page .paging { margin:32px 0; }
/* Tables retain every result and sortable column. */
.secondary-page .table-toolbar { align-items:center; gap:20px; margin:28px 0 16px; }
.secondary-page .segmented { padding:4px; gap:4px; border:1px solid var(--line); border-radius:8px; background:var(--wash); }
.secondary-page :is(.segmented button,.bench-selector button) { min-height:44px; padding:10px 18px; border-radius:5px; font-size:15px; }
.secondary-page .segmented button.active { background:var(--ink); color:#fff; }
.secondary-page .table-scroll { border-radius:12px; }
.secondary-page table { font-size:15px; font-variant-numeric:tabular-nums; }
.secondary-page :is(th,td) { padding:18px 14px; }
.secondary-page th button { min-height:44px; font-size:14px; }
.secondary-page :is(tr.ours,.board-ranks article.ours,#leaderboard td.is-focus) { background:#edf3fc; border-color:#cddbf1; }
.secondary-page .board-ranks { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.secondary-page .board-ranks article { border-radius:12px; padding:22px; }
.secondary-page .board-ranks b { font:500 14px var(--sans); }
.secondary-page .board-ranks h3 { font-size:18px; line-height:1.4; margin:12px 0 20px; }
.secondary-page .board-ranks p { font-size:32px; }
.secondary-page .duel { margin:40px 0; padding-bottom:32px; gap:28px; }
.secondary-page .duel-k { font:500 16px var(--sans); letter-spacing:0; text-transform:none; }
.secondary-page .duel-n { margin:12px 0; font-size:clamp(40px,5vw,64px); }
.secondary-page .board-fam { padding:22px 0; }
.secondary-page .board-fam h3 { font-size:17px; }
/* Bench detail follows the same header and reading rhythm. */
.secondary-page .page-wrap { width:min(var(--max),calc(100% - 48px)); max-width:none; padding:64px 0; }
.secondary-page .benchmark-page-head h1 { font-size:clamp(32px,4.2vw,56px); letter-spacing:-.035em; line-height:1.15; margin:24px 0; }
.secondary-page .benchmark-page-head .sheet-kicker { margin-top:24px; font-size:14px; }
.secondary-page .benchmark-page-section { margin-top:48px; padding-top:32px; }
.secondary-page .benchmark-page-section h2 { font-size:32px; }
.secondary-page .sheet-bench { padding:24px 0; gap:20px; }
.secondary-page .sheet-samples { flex-wrap:wrap; font-size:15px; }
.secondary-page .sheet-samples button { min-width:44px; min-height:44px; font-size:14px; }
.secondary-page .bench-task-card { padding:24px; border-radius:12px; }
.secondary-page .bench-task-card h3 { font-size:24px; }
.secondary-page .bench-task-card p { font-size:15px; line-height:1.65; }
.secondary-page .bench-inline-viewer { border-radius:12px; padding:24px; }
.secondary-page .bench-inline-head h3 { font-size:24px; }
.secondary-page :is(.model-video-card,.sample-evidence-card) { min-width:0; }
.secondary-page :is(.model-video-card,.sample-evidence-card) video { object-fit:contain; }
/* Contributor: real affiliations and a quiet, typographic author directory. */
.secondary-page .affiliation-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.secondary-page .affiliation-grid>div { border:0; border-bottom:1px solid var(--line); padding:24px 12px; min-height:190px; }
.secondary-page .affiliation-grid img { width:72px; height:72px; margin:12px auto 24px; }
.secondary-page .affiliation-grid p { font-size:15px; line-height:1.5; }
.secondary-page .author-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; border:0; background:none; }
.secondary-page .author-grid>div { align-items:flex-start; text-align:left; padding:24px 0; min-height:112px; border-bottom:1px solid var(--line); }
.secondary-page .author-grid>div::before { content:none; }
.secondary-page .author-grid b { font-size:19px; font-weight:600; }
.secondary-page .author-grid span { font-size:15px; line-height:1.6; }
@media(max-width:1000px) {
 .secondary-page .filters { grid-template-columns:1fr 1fr; }
 .secondary-page .board-ranks { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .secondary-page .author-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .secondary-page .hero { padding:48px 0 40px; }
 .secondary-page .hero h1 { font-size:44px; }
 .secondary-page .hero-q { font-size:19px; }
 .secondary-page .section { padding:48px 0; scroll-margin-top:190px; }
 .secondary-page .page-jump { top:118px; width:calc(100% - 32px); gap:24px; }
 .secondary-page .page-wrap { width:calc(100% - 32px); padding-top:40px; }
 .secondary-page .task-list { grid-template-columns:1fr; }
 .secondary-page .facts,.secondary-page .steps { grid-template-columns:1fr; gap:24px; }
 .secondary-page .board-stats { grid-template-columns:1fr 1fr; }
 .secondary-page .affiliation-grid { grid-template-columns:1fr 1fr; gap:16px; }
 .secondary-page .bench-task-card { flex-direction:column; }
 .secondary-page .bench-task-card .text-link { align-self:flex-start; min-height:44px; }
 .secondary-page .bench-inline-viewer { padding:16px; }
 .secondary-page .sheet-samples { align-items:flex-start; }
 .secondary-page .sheet-samples div { flex-wrap:wrap; }
}
@media(max-width:480px) {
 .secondary-page .filters,.secondary-page .author-grid { grid-template-columns:1fr; }
 .secondary-page .filters { padding:16px; }
 .secondary-page .brand { font-size:16px; gap:6px; }
 .secondary-page .mast { gap:8px; padding:10px; }
 .secondary-page .mast-end .btn { font-size:12px; padding:8px; }
 .secondary-page .board-ranks article { padding:16px; }
 .secondary-page .duel { gap:12px; }
 .secondary-page .duel p:last-child { font-size:13px; }
}

/* Owner-supplied Brodille PDF subset; Contributor title only. */
@font-face {
  font-family: "Brodille Title";
  src: url("brodille-title-subset.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.secondary-page.contribute-page .hero h1 {
  font-family: "Brodille Title", var(--sans);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 64px);
  letter-spacing: 0;
  line-height: 1.1;
}
@media (max-width: 800px) {
  .secondary-page.contribute-page .hero h1 { font-size: clamp(38px, 8vw, 44px); }
}

/* Exact PDF outline titles: no browser font loading or substitution. */
.secondary-page .pdf-page-title {
  display: block;
  width: auto;
  height: 1.1em;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
.secondary-page .atlas-section h1,
.secondary-page.bench-page .hero h1,
.secondary-page.leaderboard-page .hero h1,
.secondary-page.contribute-page .hero h1 { line-height: 1.1; }

/* Contributor affiliation names: owner-selected Calistoga, locally served. */
@font-face {
 font-family: "Calistoga";
 src: url("secondary-assets/Calistoga-Regular.ttf") format("truetype");
 font-weight: 400; font-style: normal; font-display: swap;
}
.secondary-page.contribute-page .affiliation-grid p {
 font-family: "Calistoga", Georgia, serif;
 font-size: 21px; font-weight: 400; line-height: 1.4;
 color: var(--ink); max-width: 23ch; margin-inline: auto;
}
@media (max-width: 800px) {
 .secondary-page.contribute-page .affiliation-grid p { font-size: 18px; }
}

/* High-resolution university seals, preserve complete source artwork. */
.secondary-page.contribute-page .affiliation-grid img.university-seal {
 width:104px; height:104px; object-fit:contain;
}
.secondary-page.contribute-page .affiliation-grid img[src$="cmu-seal.jpg"] {
 width:154px; height:104px;
}

/* Affiliations: one shared emblem row and aligned name row, without tile rules. */
.secondary-page.contribute-page .affiliation-grid {
 gap: 44px 32px;
 margin-top: 40px;
 align-items: stretch;
}
.secondary-page.contribute-page .affiliation-grid > div {
 display: grid;
 grid-template-rows: 140px auto;
 align-content: start;
 justify-items: center;
 row-gap: 22px;
 min-height: 0;
 padding: 0 8px;
 border: 0;
 background: none;
}
.secondary-page.contribute-page .affiliation-mark {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%; height: 140px;
}
.secondary-page.contribute-page .affiliation-grid .affiliation-mark img {
 display: block;
 width: 120px; height: 120px;
 margin: 0;
 object-fit: contain;
 flex-shrink: 0;
}
.secondary-page.contribute-page .affiliation-grid .affiliation-mark img[src$="cmu-seal.jpg"] {
 width: 240px; height: 164px; max-width: none;
}
.secondary-page.contribute-page .affiliation-grid p {
 margin: 0;
 width: 100%; max-width: 23ch;
 text-align: center;
 text-wrap: balance;
 line-height: 1.4;
}
@media(max-width:800px) {
 .secondary-page.contribute-page .affiliation-grid { gap: 36px 20px; }
 .secondary-page.contribute-page .affiliation-grid > div { padding-inline: 0; }
 .secondary-page.contribute-page .affiliation-grid .affiliation-mark img[src$="cmu-seal.jpg"] { width: 220px; height: 150px; }
}

@media(max-width:800px) { .secondary-page .page-jump { top:124px; } }

/* Issues 1 / 7 / 13: complete, readable, on-demand task pairs. */
.secondary-page.tasks-page .task-list { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.secondary-page .task-preview { padding: 24px; border-radius: 16px; }
.task-preview-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 20px; }
.secondary-page .task-preview h3 { font-size: clamp(24px, 2.5vw, 32px); margin: 6px 0 0; line-height: 1.25; }
.task-preview-meta { margin: 0; color: var(--mute); font-size: 15px; }
.task-preview-id { flex-shrink: 0; color: var(--mute); font: 500 13px/1.5 var(--mono); padding-top: 5px; }
.task-preview-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.task-preview-pair figure { margin: 0; min-width: 0; }
.task-preview-pair figcaption { margin-bottom: 8px; font: 600 16px/1.5 var(--sans); }
.task-preview-pair video { display: block; width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #111820; border-radius: 8px; }
.task-preview-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 18px; }
.task-preview-toolbar button { padding: 10px 16px; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: 500 16px/1.4 var(--sans); cursor: pointer; }
.task-preview-toolbar [data-pair-play] { background: var(--ink); color: white; border-color: var(--ink); }
.task-preview-toolbar [data-preview-open] { margin-left: auto; }
.task-preview-toolbar button:disabled { opacity: .5; cursor: default; }
.task-preview-prompt { margin-top: 18px; font-size: 17px; line-height: 1.6; }
.task-preview-prompt summary { width: fit-content; cursor: pointer; color: var(--mute); }
.task-preview-prompt p { margin: 12px 0 0; max-width: 90ch; }
.task-preview .pair-error { color: #9b3228; font-size: 15px; margin: 8px 0; }
/* Issue 11: pin only the compact sample/play toolbar within its scroll owner. */
.secondary-page .sheet-bench-bar {
 position: sticky; top: 0; z-index: 5; flex: 0 0 auto; align-items: center;
 padding: 12px 16px; margin: 0; background: #fff; border: 1px solid var(--line);
 border-radius: 10px; box-shadow: 0 4px 12px #1524350a;
}
.secondary-page .viewer-controls-title { font-size: 17px; }
.secondary-page .sheet-samples { margin-left: auto; align-items: center; }
.secondary-page .viewer-evidence-notes { color: var(--mute); font-size: 15px; }
.secondary-page .viewer-evidence-notes summary { cursor: pointer; }
.secondary-page .benchmark-page-section .sheet-bench-bar,
.secondary-page .bench-inline-viewer .sheet-bench-bar { top: 152px; }
.secondary-page .task-sheet .sheet-bench-bar { top: 0; }
.secondary-page .task-sheet .sheet-scroll { overscroll-behavior: contain; }
.secondary-page .task-sheet-close { z-index: 10; }
@media(max-width:800px) {
 .secondary-page .task-preview { padding: 16px; }
 .task-preview-head { gap: 12px; }
 .task-preview-id { font-size: 11px; }
 .task-preview-pair { grid-template-columns: 1fr; gap: 16px; }
 .task-preview-toolbar { gap: 8px; }
 .task-preview-toolbar button { font-size: 14px; padding-inline: 12px; }
 .task-preview-toolbar [data-preview-open] { margin-left: 0; }
 .secondary-page .sheet-bench-bar { padding: 10px; gap: 8px; }
 .secondary-page .sheet-samples { margin-left: 0; }
 .secondary-page .benchmark-page-section .sheet-bench-bar,
 .secondary-page .bench-inline-viewer .sheet-bench-bar { top: 180px; }
 .secondary-page .task-sheet .sheet-bench-bar { top: 0; }
}
