@import url("./footer.css");
/* Research-specific layout only. Shared appearance lives in design-system.css. */
.series-toolbar select { width:100%; }

/* Overview uses the shared LabData section, protocol and platform hierarchy. */
.overview-layout { display:grid; gap:0; }
.overview-subjects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--ink); background:var(--surface); }
.overview-subject { display:grid; grid-template-columns:minmax(0,1fr) 38%; min-width:0; border-top:4px solid var(--orange); }
.overview-subject-B50 { border-top-color:var(--blue); border-left:1px solid var(--ink); }
.overview-subject-copy { padding:20px; min-width:0; }
.overview-subject-tag { display:flex; align-items:center; gap:8px; font-size:.875rem; font-weight:650; color:var(--muted); margin-bottom:10px; }
.overview-subject h2 { font-size:clamp(1.2rem,1.7vw,1.55rem); line-height:1.25; letter-spacing:-.025em; margin-bottom:10px; }
.overview-subject-detail { font-size:.875rem; line-height:1.5; margin:0 0 10px; color:var(--muted); }
.overview-driver { margin:0; font-family:var(--font-mono); font-size:.875rem; overflow-wrap:anywhere; }
.overview-subject-image { min-width:0; display:grid; place-items:center; padding:10px; background:#e1e1d9; }
.overview-subject-image .overview-photo { position:relative; display:grid; place-items:center; width:100%; height:100%; min-height:145px; padding:0; background:transparent; border:0; }
.overview-photo img { display:block; width:100%; height:100%; max-height:185px; object-fit:contain; }
.overview-photo-hint { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:28px; height:28px; background:var(--ink); color:var(--surface); font-size:1rem; }
.overview-origin { padding:12px 0 0; font-size:.875rem; color:var(--muted); }
.overview-origin summary { width:fit-content; color:var(--ink); font-weight:600; }
.overview-origin p { max-width:850px; margin:12px 0 0; font-size:1rem; }
.overview-section { padding-top:36px; }
.overview-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 0 16px; }
.overview-kicker { display:block; color:var(--accent); font:650 .875rem/1.4 var(--font-mono); letter-spacing:.06em; margin-bottom:6px; }
.overview-section-heading h2 { font-size:1.55rem; font-weight:750; margin:0; letter-spacing:-.025em; }
.overview-section-heading > p { max-width:440px; font-size:.875rem; color:var(--muted); margin:0; }
.overview-platform { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.overview-platform > div { min-width:0; padding:18px 20px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:var(--surface); }
.overview-platform dt { color:var(--accent); font-size:.875rem; font-weight:650; margin-bottom:8px; }
.overview-platform dd { margin:0; font-size:1.075rem; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
.overview-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0; border:1px solid var(--ink); background:var(--soft); }
.overview-flow li { position:relative; padding:18px 20px; min-width:0; }
.overview-flow li+li { border-left:1px solid var(--line); }
.overview-step-number { display:block; margin-bottom:12px; color:var(--accent); font:650 1.55rem/1 var(--font-mono); }
.overview-flow h3 { font-size:1rem; margin:0 0 8px; }
.overview-flow p { font-size:.875rem; line-height:1.65; margin:0; color:var(--muted); }
.overview-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.overview-area { display:flex; flex-direction:column; min-width:0; padding:24px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:var(--surface); }
.overview-area-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.overview-area-heading h3 { font-size:1.2rem; margin:0; }
.overview-area-number { color:var(--accent); font:650 1.1rem/1 var(--font-mono); }
.overview-area-metric { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 16px; margin:20px 0 12px; }
.overview-area-metric strong { font-size:clamp(1.9rem,3vw,2.65rem); line-height:1.1; letter-spacing:-.04em; }
.overview-area-metric span { font-size:.875rem; color:var(--muted); }
.overview-area-summary { font-size:1rem; margin:0 0 18px; color:var(--muted); }
.overview-area .facts { grid-template-columns:115px minmax(0,1fr); margin:0; padding-top:12px; border-top:1px solid var(--line); gap:8px 16px; }
.overview-area .facts dt,.overview-area .facts dd { font-size:.875rem; }
.overview-area-note { font-size:.875rem; margin:16px 0; padding-left:12px; border-left:3px solid var(--signal); color:var(--muted); }
.overview-method { border-top:1px solid var(--line); padding:12px 0; margin-bottom:12px; }
.overview-method summary { font-size:.875rem; font-weight:650; }
.overview-method p { font-size:1rem; line-height:1.7; margin:16px 0 0; }
.overview-action { display:flex; align-items:center; justify-content:space-between; width:fit-content; max-width:100%; min-height:42px; margin-top:auto; color:var(--ink); font-size:1rem; font-weight:650; border-bottom:1px solid var(--ink); }
.overview-action:hover { color:var(--accent); text-decoration:none; border-color:var(--accent); }
.overview-limits { border-top:1px solid var(--ink); }
.overview-limit { border-bottom:1px solid var(--line); }
.overview-limit summary { display:grid; grid-template-columns:140px minmax(0,1fr) 24px; gap:18px; padding:16px 0; align-items:start; list-style:none; }
.overview-limit summary::-webkit-details-marker { display:none; }
.overview-limit-tag { font-size:.875rem; color:var(--accent); font-weight:650; }
.overview-limit-copy { display:grid; gap:4px; }
.overview-limit-copy strong { font-size:1rem; }
.overview-limit-copy > span { font-size:.875rem; color:var(--muted); }
.overview-limit-toggle { justify-self:end; font-size:1.25rem; line-height:1.2; }
.overview-limit[open] .overview-limit-toggle { transform:rotate(45deg); }
.overview-limit > p { padding-left:158px; margin:0 0 20px; max-width:980px; font-size:1rem; }
.overview-scope { margin:20px 0 0; font-size:.875rem; color:var(--muted); max-width:980px; }
.overview-end { padding-top:24px; display:flex; justify-content:flex-end; }
@media(max-width:1100px) {
 .overview-subject { grid-template-columns:minmax(0,1fr); }
 .overview-subject-image { order:-1; }
 .overview-subject-image .overview-photo { height:160px; }
 .overview-photo img { max-height:160px; }
 .overview-platform { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .overview-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .overview-flow li:nth-child(3) { border-left:0; }
 .overview-flow li:nth-child(n+3) { border-top:1px solid var(--line); }
}
@media(max-width:650px) {
 .overview-subjects { grid-template-columns:1fr; }
 .overview-subject { grid-template-columns:minmax(0,1fr) 35%; }
 .overview-subject-B50 { border-left:0; }
 .overview-subject-copy { padding:16px; }
 .overview-subject-image { order:0; padding:8px; }
 .overview-subject-image .overview-photo { height:100%; min-height:100px; }
 .overview-subject h2 { font-size:1.2rem; }
 .overview-section { padding-top:30px; }
 .overview-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
 .overview-section-heading h2 { font-size:1.4rem; }
 .overview-platform { grid-template-columns:1fr; }
 .overview-platform > div { padding:15px 18px; }
 .overview-platform dd { font-size:1rem; }
 .overview-flow li { padding:16px; }
 .overview-flow { grid-template-columns:1fr; }
 .overview-flow li+li { border-left:0; border-top:1px solid var(--line); }
 .overview-flow li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 16px; }
 .overview-step-number { grid-row:span 2; font-size:1.2rem; }
 .overview-flow h3 { margin:0 0 4px; }
 .overview-areas { grid-template-columns:1fr; }
 .overview-area { padding:20px; }
 .overview-area .facts { grid-template-columns:90px minmax(0,1fr); }
 .overview-limit summary { grid-template-columns:minmax(0,1fr) 24px; gap:6px 16px; }
 .overview-limit-tag { grid-column:1; }
 .overview-limit-copy { grid-column:1; }
 .overview-limit-toggle { grid-column:2; grid-row:1 / span 2; }
 .overview-limit > p { padding-left:0; }
 .overview-end { justify-content:flex-start; }
}

.overview-platform .platform-line { display:block; }
