/* Shared clinical/editorial details. Data colors, scales and interactions stay
   in their original renderers; graphite/silver denotes interface selection. */
button, input, select, textarea { font-family: var(--font-interface); }
/* Match the editorial interface in the older analytical controls. Keep their
   existing action/status colors and leave the live portfolio's own system alone. */
body :is(.action, .cp-btn, .tab, .ghost):not(.live-portfolio *) {
  font-family: var(--font-interface);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.5;
}
body :is(.action, .cp-btn):not(.live-portfolio *) {
  border-radius: 6px;
  min-height: 40px;
  padding: 10px 16px;
  font-size: 12px;
}
body .tab:not(.live-portfolio *) {
  font-size: 12px;
  min-height: 40px;
  padding: 9px 14px;
}
body.design-study .topbar .ghost {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--frame-line);
  border-radius: 6px;
  color: var(--frame-muted);
  background: transparent;
}
body.design-study .topbar .ghost:hover {
  color: var(--frame-ink);
  border-color: #b8c2d2;
  background: #f3f5f9;
}
body.design-study .topbar .run-picker select:hover {
  color: var(--frame-ink);
  border-color: #b8c2d2;
  background: #f8f9fc;
}
body.design-study .topbar .run-picker select:focus-visible {
  outline: 2px solid #667ba2;
  outline-offset: 3px;
}
body.design-study .site-footer { text-transform: none; letter-spacing: 0; }
.topbar h1.brand-name { font-family: var(--font-interface); font-weight: 550; letter-spacing: -.055em; }
.page-nav .nav-group { display: contents; }
.page-nav .nav-group-label { display: none; }
body.design-study .topbar { padding: 20px 28px; gap: 28px; background: #fcfcfd; }
body.design-study .topbar h1.brand-name { font-size: 27px; line-height: 1.15; }
body.design-study .topbar p { font-size: 11px; letter-spacing: 0; line-height: 1.6; margin-top: 4px; }
body.design-study .topbar-controls { gap: 18px; align-items: flex-end; }
body.design-study .topbar select { min-height: 40px; border-radius: 6px; border-color: #cbd1dc; font-weight: 400; max-width: 310px; }
body.design-study .topbar select:focus-visible { outline-color: #667ba2; }
body.design-study .run-diff-toggle { display: grid; gap: 6px; }
body.design-study .run-compare-label, body.design-study .run-picker > span { color: #657082 !important; font-size: 10px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
body.design-study .topbar button { font-size: 11px; font-weight: 450; letter-spacing: 0; text-transform: none; padding: 10px 2px; min-height: 40px; }
body.design-study .page-nav { padding: 19px 14px 28px; gap: 22px; }
body.design-study .page-nav .nav-group { display: flex; flex-direction: column; gap: 3px; }
body.design-study .page-nav .nav-group-label { display: block; padding: 0 12px 5px; color: #7a8291; font-size: 9px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
body.design-study .page-nav a { font-family: var(--font-interface); padding: 9px 12px; min-height: 37px; color: #5d6574; font-size: 12px; }
body.design-study .page-nav a.is-active { color: #35435d; background: #e9ecf3; box-shadow: inset 2px 0 #6a7e9f, inset 0 1px #ffffffb8; font-weight: 550; }
body.design-study .page-nav a:hover { background: #eef0f5; color: #293649; box-shadow: inset 0 1px #ffffffb8; }
body.design-study .page-nav a.is-active:hover { background: #e9ecf3; }
body.design-study .page-nav a.is-active:hover { box-shadow: inset 2px 0 #6a7e9f, inset 0 1px #ffffffb8; }
body.design-study .jumpbar { background: #fafbfdf5; padding-block: 9px; }
body.design-study .jumpbar-inner { scrollbar-width: thin; scrollbar-color: #cbd1dc transparent; padding-bottom: 3px; }
body.design-study .jumpbar-inner::-webkit-scrollbar { display: block; height: 3px; }
body.design-study .jumpbar-inner::-webkit-scrollbar-thumb { background: #cbd1dc; border-radius: 3px; }
body.design-study .jumpbar-link.is-active { color: #35435d; background: #e7ebf3; }
body.design-study .jumpbar-tier-label { color: #374457; }
body.design-study .container { padding-top: 30px; }
body.design-study .study-orientation { padding-bottom: 22px; }
body.design-study .study-kicker { color: #6d7788; font-size: 10px; letter-spacing: .1em; margin-bottom: 10px; }
body.design-study .study-orientation h2 { font-family: var(--font-interface); font-size: 35px; font-weight: 450; letter-spacing: -.05em; }
body.design-study .study-orientation p:not(.study-kicker) { color: #697486; }
body.design-study .study-publication { background: #fcfcfd; border-color: #d9dfe8; border-radius: 9px; margin-bottom: 24px; }
body.design-study .study-cycle { padding: 20px; }
body.design-study .study-cycle strong { font-size: 12px; font-weight: 500; }
body.design-study .study-dot { background: #e1e6ef; border-color: #7d8ca6; }
body.design-study .study-publication a { border-color: #e0e4ec; color: #354155; }
body.design-study .study-publication a:hover { background: #eff1f6; }
body.design-study .study-publication a strong { font-size: 29px; font-weight: 450; }
body.design-study .study-arrow { color: #71829c; }
body.design-study .panel { border-radius: 10px; box-shadow: 0 2px 5px #17223406; }
body.design-study .panel h2 { font-weight: 500; font-size: 20px; letter-spacing: -.025em; }
body.design-study .panel h3 { letter-spacing: 0; font-weight: 500; }
body.design-study #sec-console .chip-cloud { gap: 12px; padding-top: 3px; }
body.design-study #sec-console .chip { border: 0; background: transparent; border-radius: 0; padding: 0; color: #a0adbf; font: 11px/1.5 var(--font-interface); }
body.design-study #sec-console .chip:not(:last-child)::after { content: '·'; color: #58677e; margin-left: 12px; }
body.design-study .vweb-title { font-family: var(--font-interface); font-weight: 500; letter-spacing: -.01em; }
body.design-study .vweb-status { font-size: 9px; font-weight: 450; letter-spacing: .05em; }
body.design-study :focus-visible { outline: 2px solid #8097bc; outline-offset: 3px; }
body.design-study .qualification-detail { font-family: var(--font-interface); }
body.design-study .qualification-detail p, body.design-study .qualification-detail li { font-size: 13px; line-height: 1.75; }
body.design-study .qualification-detail h3 { font-size: 21px; font-weight: 500; letter-spacing: -.025em; }
body.design-study .qualification-detail, body.design-study .qualification-list { scrollbar-width: thin; scrollbar-color: #526079 transparent; }
body.design-study .qualification-detail::-webkit-scrollbar-thumb, body.design-study .qualification-list::-webkit-scrollbar-thumb { background: #526079; }
body.design-study .qualification-record[aria-pressed='true'] { border-color: #a8b8cd; box-shadow: inset 2px 0 #a8b8cd; }
/* The source dossier shares the frame, with a light editorial reading surface. */
body.century-record .qualification-shell { --ink: #2a3240; --ink-2: #566175; --ink-3: #6c7789; --surface-0: #fafbfd; --border-strong: #d5dce7; --blue: #47658e; color: var(--ink-2); margin-left: 202px; max-width: 1250px; padding: 42px clamp(24px,4vw,58px) 80px; }
body.century-record .qualification-hero h2 { font-size: 38px; font-weight: 450; letter-spacing: -.045em; }
body.century-record .qualification-card h3 { font-size: 23px; font-weight: 500; letter-spacing: -.025em; }
body.century-record .qualification-card { padding-block: 32px; }
body.century-record .qualification-card p { font-size: 14px; line-height: 1.8; }
body.century-record .qualification-notice, body.century-record .qualification-status { border-radius: 8px; }
body.century-record .qualification-counts strong { font-weight: 450; letter-spacing: -.045em; }
body.century-record .qualification-section > h2 { font-size: 32px; font-weight: 450; letter-spacing: -.035em; }
body.century-record .qualification-sources a { color: #47658e; }
/* Quiet access screen; the password form and security behavior are unchanged. */
body.login-body { background: #f3f4f7; color: #344052; padding: 32px; min-height: 100svh; }
body.login-body::after { display: none; }
body.login-body .login-card { width: min(420px,100%); background: transparent; border: 0; box-shadow: none; padding: 0; text-align: left; }
body.login-body .login-card::before, body.login-body .login-card::after { display: none; }
body.login-body .login-card h1 { font: 550 34px/1.15 var(--font-interface); letter-spacing: -.055em; text-transform: none; color: #2a303c; margin-bottom: 18px; }
body.login-body .login-intro { font: 14px/1.7 var(--font-interface); color: #6a7586; text-transform: none; letter-spacing: 0; }
body.login-body .login-form { margin-top: 34px; gap: 12px; }
body.login-body .login-form label { font: 500 11px/1.5 var(--font-interface); color: #536074; letter-spacing: .015em; text-transform: none; }
body.login-body .login-form input { color: #293548; background: #fcfcfe; border: 1px solid #c6cdd9; border-radius: 6px; padding: 13px 15px; min-height: 48px; font: 14px var(--font-interface); }
body.login-body .login-form input:focus { outline: 2px solid #8097bc; outline-offset: 3px; }
body.login-body .login-form button { min-height: 48px; margin-top: 9px; background: #353e50; border: 1px solid #353e50; border-radius: 6px; color: #fff; font: 500 12px var(--font-interface); text-transform: none; letter-spacing: 0; }
body.login-body .login-form button:hover { background: #485772; }
body.login-body .error { color: #923b44; border: 1px solid #dec1c8; background: #faf0f2; border-radius: 6px; font-size: 13px; }
body.login-body .login-return { display: inline-flex; align-items: center; gap: 18px; margin-top: 32px; font-size: 11px; color: #647187; text-decoration: none; }
body.login-body .login-return:hover { color: #334662; }
@media (max-width:1150px) { body.century-record .qualification-shell { margin-left: 176px; } body.design-study .topbar-controls { gap: 12px; } body.design-study .topbar select { max-width: 245px; } }
@media (max-width:850px) {
  body.design-study .topbar { padding: 18px; gap: 18px; }
  body.design-study .topbar-controls { gap: 12px; align-items: end; }
  body.design-study .page-nav { gap: 0; padding: 9px 12px; }
  body.design-study .page-nav .nav-group { display: contents; }
  body.design-study .page-nav .nav-group-label { display: none; }
  body.design-study .page-nav a { padding-inline: 12px; }
  body.design-study .container { padding-top: 25px; }
  body.design-study .study-orientation h2 { font-size: 31px; }
  body.century-record .qualification-shell { margin-left: 0; padding: 32px 22px 60px; }
}
@media (max-width:520px) { body.design-study .topbar select { max-width: 100%; } body.design-study .topbar-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; gap: 10px 12px; } body.design-study .topbar-controls .run-picker, body.design-study .run-diff-toggle { width: 100%; min-width: 0; } body.design-study .topbar .run-picker select, body.design-study .topbar .run-diff-toggle select { width: 100%; max-width: 100%; min-width: 0; } body.design-study .topbar-controls > form { grid-column: 2; justify-self: end; } body.design-study .topbar-controls button { min-height: 28px; padding: 0 2px; } body.design-study .study-publication > a { padding: 14px; } body.login-body { padding: 26px; } }

.login-access { margin-top:24px; font:12px/1.7 var(--font-interface); color:#657084; }
.login-access a { color:#394b68; text-underline-offset:3px; }

/* The same frame on reading routes; original analytical and data surfaces stay dark. */
body.century-secondary { color-scheme: light; }
body.century-secondary .panel, body.century-secondary .ov-section { --bg: #181e27; color-scheme: dark; }
body.century-secondary .intro-panel { display: block; background: transparent; border: 0; box-shadow: none; padding: 0 0 26px; margin-bottom: 0; color: var(--frame-ink); }
body.century-secondary .intro-panel h2 { color: var(--frame-ink); font-size: clamp(26px, 3vw, 35px); font-weight: 450; letter-spacing: -.045em; }
body.century-secondary .intro-panel .eyebrow, body.century-secondary .intro-panel .intro-sub { color: var(--frame-muted); }
body.century-secondary .intro-panel .intro-sub { max-width: 85ch; font-size: 14px; line-height: 1.75; }
body.century-secondary .intro-panel a { color: #47658e; }
body.century-secondary .container > .ov-divider, body.century-secondary .container > .rd-section-title { color: var(--frame-muted); border-color: var(--frame-line); }
body.century-secondary .ov-runtime-label { width: 100%; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
body.century-secondary .ov-runtime-stat { display: flex; flex-direction: column; gap: 5px; }
body.century-secondary .ov-runtime-stat strong { font: 450 18px/1.2 var(--font-interface); color: var(--ink); }
body.century-secondary .ov-runtime-stat > span { font-size: 10px; color: var(--ink-3); }
body.century-secondary .ov-runtime-process { flex-basis: 100%; color: var(--ink-2); font-size: 12px; }
body.century-secondary .ov-runtime-note { width: 100%; margin: 0; color: var(--ink-3); font-size: 12px; line-height: 1.7; }
body.century-reading { padding: 0; margin: 0; max-width: none; font: 14px/1.65 var(--font-interface); }
body.century-reading .century-reading-context { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-bottom: 18px; color: var(--frame-muted); font-size: 12px; }
body.century-reading .century-reading-context > span:first-child { color: var(--frame-ink); font-weight: 500; }
body.century-reading .century-reading-content { --surface: #222b36; --accent: #b5c9e5; max-width: 1160px; overflow-wrap: anywhere; font-size: 14px; line-height: 1.75; }
body.century-reading .century-reading-content h1 { font: 450 clamp(25px, 3vw, 34px)/1.2 var(--font-interface); color: var(--ink); letter-spacing: -.035em; margin: 0 0 24px; }
body.century-reading .century-reading-content h2 { font-size: 22px; margin: 32px 0 14px; }
body.century-reading .century-reading-content h3 { font-size: 17px; margin: 24px 0 12px; }
body.century-reading .century-reading-content p, body.century-reading .century-reading-content li { color: var(--ink-2); line-height: 1.8; }
body.century-reading .century-reading-content a { color: var(--accent); }
body.century-reading .century-reading-content table { display: block; max-width: 100%; overflow-x: auto; }
body.century-reading .century-reading-content pre { max-width: 100%; overflow-x: auto; }
body.century-reading .strategy-grid { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
body.century-reading .strategy-card h3 { margin-top: 20px; }
body.century-reading .gov-subnav { overflow-wrap: normal; }
body.century-reading .gov-countdown-badge.passed { color: #a2adbc; }

/* Current inventory shares the portfolio feed; reviewed publication stays dated. */
body.design-study .study-current-inventory { grid-template-columns: minmax(210px, 1.25fr) repeat(3, minmax(0, 1fr)); }
body.design-study .study-current-inventory > p { grid-column: 1/-1; padding: 12px 20px; border-top: 1px solid var(--border); }
body.design-study .study-current-inventory .study-cycle div > span { font-size: 11px; line-height: 1.5; }
body.design-study .study-current-inventory[data-freshness="stale"] .study-dot { background: #ae926f; }
@media(max-width: 1150px) { body.design-study .study-current-inventory { grid-template-columns: repeat(3,minmax(0,1fr)); } body.design-study .study-current-inventory .study-cycle { grid-column:1/-1; border-bottom:1px solid var(--border); } body.design-study .study-current-inventory > a:nth-child(2) { border-left:0; } }
@media(max-width: 520px) { body.design-study .study-current-inventory > a { grid-template-columns:1fr; gap:5px; } body.design-study .study-current-inventory .study-arrow { display:none; } body.design-study .study-current-inventory > a strong { font-size:25px; } }
