Difference between revisions of "MediaWiki:Common.css"

From NY Science Standards Wiki
(Harmonize headings, tables and standard-code chips with the directory pages)
(Reference-table chips: gap after the standard equals the gap between chips)
 
(26 intermediate revisions by the same user not shown)
Line 12: Line 12:
 
/* Small "New" pill inside a tab (e.g. Exam questions) */
 
/* Small "New" pill inside a tab (e.g. Exam questions) */
 
.pe-ce-toggle .toggle-new { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #e8891d; color: #fff; font-size: 0.7em; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle; line-height: 1.5; }
 
.pe-ce-toggle .toggle-new { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #e8891d; color: #fff; font-size: 0.7em; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle; line-height: 1.5; }
 +
 +
/* Subject nav toggle: 2x2 grid on narrow screens */
 +
@media (max-width: 640px) {
 +
  .pe-ce-toggle { display: block; width: 100%; box-sizing: border-box; padding: 4px; font-size: 0.95em; }
 +
  .pe-ce-toggle tbody { display: block; }
 +
  .pe-ce-toggle tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
 +
  .pe-ce-toggle td { display: block; padding: 0; }
 +
  .pe-ce-toggle a { padding: 10px 4px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
 +
  .pe-ce-toggle .toggle-new { margin-left: 4px; }
 +
}
  
 
/* Vocabulary section on standards pages: bold sub-headings sit close to their list; each list gets a full gap before whatever follows */
 
/* Vocabulary section on standards pages: bold sub-headings sit close to their list; each list gets a full gap before whatever follows */
Line 19: Line 29:
 
/* NGSS Dimensions table (three-column-wrapper): give the heading that follows it the same gap as every other heading */
 
/* NGSS Dimensions table (three-column-wrapper): give the heading that follows it the same gap as every other heading */
 
.three-column-wrapper { margin-bottom: 1em; }
 
.three-column-wrapper { margin-bottom: 1em; }
 +
/* Muted column colors: the original aliceblue / antiquewhite / mint from the server-side override.css, at 55% opacity, with dark gray text */
 +
.mw-parser-output #sep-section, .mw-parser-output #dci-section, .mw-parser-output #cc-section { font-size: 0.9em; line-height: 1.45; padding: 14px 16px; color: #4a4f55; }
 +
.mw-parser-output #sep-section { background-color: rgba(240, 248, 255, 0.55); }
 +
.mw-parser-output #dci-section { background-color: rgba(250, 235, 215, 0.55); }
 +
.mw-parser-output #cc-section  { background-color: rgba(240, 255, 241, 0.55); }
 +
#sep-title, #dci-title, #cc-title { color: #4a4f55; }
  
 
/* Standards list rows (.sp-pe) on the subject standards pages */
 
/* Standards list rows (.sp-pe) on the subject standards pages */
Line 26: Line 42:
 
.sp-pe .sp-standard a { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; margin-right: 4px; vertical-align: 1px; }
 
.sp-pe .sp-standard a { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; margin-right: 4px; vertical-align: 1px; }
 
.sp-pe .sp-standard a:hover { background: #dbe6f3; border-color: #1b599b; }
 
.sp-pe .sp-standard a:hover { background: #dbe6f3; border-color: #1b599b; }
−
.sp-pe .mw-collapsible-toggle { color: #5f5e5a; cursor: pointer; padding: 2px 4px; margin-left: 8px; }
+
/* Collapsible toggles ([Expand] / [Answer] etc.) render as a labeled pill button with a chevron */
−
.sp-pe .mw-collapsible-toggle::before { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 14px; }
+
.mw-parser-output .mw-collapsible-toggle-default { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; margin-left: 8px; border: 1px solid #b9cde4; border-radius: 999px; background: #fff; color: #1b599b; font-size: .85em; font-weight: 600; line-height: 1.6; cursor: pointer; white-space: nowrap; }
−
.sp-pe .mw-collapsible-toggle-expanded::before { content: "\f077"; }
+
.mw-parser-output .mw-collapsible-toggle-default:hover { background: #eaf1f9; border-color: #1b599b; }
−
.sp-pe .mw-collapsible-toggle::after { content: none; }
+
.mw-parser-output .mw-collapsible-toggle-default::before { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 11px; }
−
.sp-pe .mw-collapsible-toggle:hover::before { color: #1b599b; }
+
.mw-parser-output .mw-collapsible-toggle-default.mw-collapsible-toggle-expanded::before { content: "\f077"; }
−
.sp-pe .mw-collapsible-toggle .mw-collapsible-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
+
.mw-parser-output .mw-collapsible-toggle-default::after { content: none; }
 +
.mw-parser-output .mw-collapsible-toggle-default .mw-collapsible-text { color: inherit; text-decoration: none; }
 
.sp-pe .sp-pe-collapsed { border-radius: 6px; padding: 10px 14px; margin: 8px 0 2px; }
 
.sp-pe .sp-pe-collapsed { border-radius: 6px; padding: 10px 14px; margin: 8px 0 2px; }
 
/* Section heading count badge: <span class="sec-count" data-count="7"></span> (empty text keeps heading anchors unchanged) */
 
/* Section heading count badge: <span class="sec-count" data-count="7"></span> (empty text keeps heading anchors unchanged) */
Line 40: Line 57:
 
/* Site-wide harmonization with the standards directory pages */
 
/* Site-wide harmonization with the standards directory pages */
 
.mw-parser-output > h2 { border-bottom: 2px solid #b9cde4; padding-bottom: 4px; }
 
.mw-parser-output > h2 { border-bottom: 2px solid #b9cde4; padding-bottom: 4px; }
−
.wikitable, .wikitable th, .wikitable td { border-color: #d0dbe8; }
+
.wikitable, .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: #d0dbe8; }
−
.wikitable th { background: #eaf1f9; color: #0c447c; }
+
.wikitable > tr > th, .wikitable > * > tr > th { background: #eaf1f9; color: #0c447c; }
 
/* Standard codes linked from tables render as the same chips used on the directory pages */
 
/* Standard codes linked from tables render as the same chips used on the directory pages */
 
.wikitable td a[href*="-PS"], .wikitable td a[href*="-LS"], .wikitable td a[href*="-ESS"], .wikitable td a[href*="-ETS"] { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; }
 
.wikitable td a[href*="-PS"], .wikitable td a[href*="-LS"], .wikitable td a[href*="-ESS"], .wikitable td a[href*="-ETS"] { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; }
 
.wikitable td a[href*="-PS"]:hover, .wikitable td a[href*="-LS"]:hover, .wikitable td a[href*="-ESS"]:hover, .wikitable td a[href*="-ETS"]:hover { background: #dbe6f3; border-color: #1b599b; }
 
.wikitable td a[href*="-PS"]:hover, .wikitable td a[href*="-LS"]:hover, .wikitable td a[href*="-ESS"]:hover, .wikitable td a[href*="-ETS"]:hover { background: #dbe6f3; border-color: #1b599b; }
 +
 +
/* PLD notice (Template:PLDnotice): disclaimer at the top of the questions-by-performance-level pages */
 +
.pld-notice { display: flex; align-items: center; gap: 12px; margin: 10px 0 18px; padding: 10px 14px; background: #eaf1f9; border: 1px solid #b9cde4; border-left: 4px solid #1b599b; border-radius: 4px; line-height: 1.45; }
 +
.pld-notice img { flex: 0 0 auto; }
 +
.pld-notice-text { font-size: 0.95em; color: #2b3a4a; }
 +
/* PLD box (Template:PLTable) */
 +
.pltable-linear { background: #fff; border: 1px solid #d0dbe8; border-left: 4px solid #1b599b; padding: 14px 18px 10px 16px; margin-bottom: 1em; box-shadow: 0 1px 2px rgba(12, 68, 124, 0.06); }
 +
.pld-row { padding: 9px 0; border-bottom: 1px solid #e3ebf4; }
 +
.pld-row:last-child { border-bottom: none; }
 +
.pld-text { line-height: 1.5; }
 +
.pld-label { font-weight: bold; color: #0c447c; }
 +
.pld-example { color: #54595d; font-size: 0.92em; font-style: italic; }
 +
.pld-footer { text-align: right; margin-top: 4px; padding-top: 4px; }
 +
.pld-row .pld-example { display: block; margin-top: 5px; font-size: 1em; font-style: normal; line-height: 1.9; }
 +
/* Discipline theme colors (use these site-wide for anything tied to one exam):
 +
  Biology green · Chemistry rose · Physics violet · Earth & Space teal · Middle school amber · Grade 5 slate */
 +
:root { --bio-bg:#e8f5e6; --bio-border:#9ccf97; --bio-text:#1f5e26; --bio-hover:#d6ecd3;
 +
        --chem-bg:#fcf0f3; --chem-border:#e8b3c1; --chem-text:#8a2a45; --chem-hover:#f8e0e6;
 +
        --phys-bg:#efeafa; --phys-border:#c0afe6; --phys-text:#4a2c8a; --phys-hover:#e3dbf5;
 +
        --ess-bg:#e3f4f5; --ess-border:#8ecdd2; --ess-text:#0c5a62; --ess-hover:#cfeaec;
 +
        --ms-bg:#fff8e6; --ms-border:#e8c78f; --ms-text:#7a4a05; --ms-hover:#fdefc9;
 +
        --g5-bg:#ebf0f7; --g5-border:#b3c4da; --g5-text:#2e4a6b; --g5-hover:#dbe4f0; }
 +
/* Home page subject cards, themed by discipline */
 +
.fp-card { border: 1px solid #efe7d6; border-radius: 2px; padding: 14px 20px 16px; background: #fffdf2; }
 +
.fp-card .fp-card-title { font-weight: 700; font-size: 1.35em; line-height: 1.5; overflow: visible; margin: 0 0 8px 0; padding: 0; border: 0; }
 +
.fp-card-bio .fp-card-title a { color: var(--bio-text); }
 +
.fp-card-chem .fp-card-title a { color: var(--chem-text); }
 +
.fp-card-phys .fp-card-title a { color: var(--phys-text); }
 +
.fp-card-ess .fp-card-title a { color: var(--ess-text); }
 +
.fp-card-ms .fp-card-title a { color: var(--ms-text); }
 +
.fp-card-g5 .fp-card-title a { color: var(--g5-text); }
 +
/* Discipline labels: section sub-headings (.disc-label) and small nav tags (.disc-tag) on pages shared by several exams */
 +
.disc-label { display: inline-block; margin: 16px 0 6px; padding: 2px 12px; border-radius: 4px; border: 1px solid; font-weight: 700; font-size: 1.05em; line-height: 1.6; }
 +
.disc-tag { display: inline-block; margin-left: 5px; padding: 0 7px; border-radius: 3px; border: 1px solid; font-size: 0.78em; font-weight: 600; line-height: 1.6; vertical-align: 1px; }
 +
.disc-label-bio, .disc-tag-bio { background: var(--bio-bg); border-color: var(--bio-border); color: var(--bio-text); }
 +
.disc-label-chem, .disc-tag-chem { background: var(--chem-bg); border-color: var(--chem-border); color: var(--chem-text); }
 +
.disc-label-phys, .disc-tag-phys { background: var(--phys-bg); border-color: var(--phys-border); color: var(--phys-text); }
 +
.disc-label-ess, .disc-tag-ess { background: var(--ess-bg); border-color: var(--ess-border); color: var(--ess-text); }
 +
.disc-label-ms, .disc-tag-ms { background: var(--ms-bg); border-color: var(--ms-border); color: var(--ms-text); }
 +
.disc-label-g5, .disc-tag-g5 { background: var(--g5-bg); border-color: var(--g5-border); color: var(--g5-text); }
 +
a .disc-tag { text-decoration: none; }
 +
/* Home page: pixel-art New York strip (232x32 native). 4x on desktop, shrinks to the container on phones */
 +
.fp-ny-strip { max-width: 1300px; margin: 24px auto 0; text-align: center; line-height: 0; }
 +
.fp-ny-strip img { width: 928px; max-width: 100%; height: auto; image-rendering: pixelated; image-rendering: crisp-edges; }
 +
/* Question chips: .pld-chip wraps a link; .pld-chip-<discipline> sets the color */
 +
.pld-chip a, .pld-example a { display: inline-block; padding: 1px 8px; margin-right: 6px; border-radius: 3px; background: var(--chem-bg); border: 1px solid var(--chem-border); color: var(--chem-text); font-size: 0.85em; font-weight: 600; line-height: 1.5; white-space: nowrap; text-decoration: none; }
 +
.pld-chip a:hover, .pld-example a:hover { background: var(--chem-hover); text-decoration: none; }
 +
.pld-chip.pld-chip-bio a { background: var(--bio-bg); border-color: var(--bio-border); color: var(--bio-text); } .pld-chip.pld-chip-bio a:hover { background: var(--bio-hover); }
 +
.pld-chip.pld-chip-chem a { background: var(--chem-bg); border-color: var(--chem-border); color: var(--chem-text); } .pld-chip.pld-chip-chem a:hover { background: var(--chem-hover); }
 +
.pld-chip.pld-chip-phys a { background: var(--phys-bg); border-color: var(--phys-border); color: var(--phys-text); } .pld-chip.pld-chip-phys a:hover { background: var(--phys-hover); }
 +
.pld-chip.pld-chip-ess a { background: var(--ess-bg); border-color: var(--ess-border); color: var(--ess-text); } .pld-chip.pld-chip-ess a:hover { background: var(--ess-hover); }
 +
.pld-chip.pld-chip-ms a { background: var(--ms-bg); border-color: var(--ms-border); color: var(--ms-text); } .pld-chip.pld-chip-ms a:hover { background: var(--ms-hover); }
 +
.pld-chip.pld-chip-g5 a { background: var(--g5-bg); border-color: var(--g5-border); color: var(--g5-text); } .pld-chip.pld-chip-g5 a:hover { background: var(--g5-hover); }
 +
/* Reference-table chips ({{Rt}}): the gap after the standard matches the gap between two chips (12px) */
 +
.rt-chip a { margin-left: 2px; }
 +
a + .rt-chip a { margin-left: 8px; }
 +
.pld-note { display: inline-flex; align-items: center; justify-content: center; width: 1.25em; height: 1.25em; margin-left: 5px; border: 1px solid #7a9cc0; border-radius: 50%; background: #eaf1f9; color: #0c447c; font-size: 0.85em; font-style: normal; font-weight: bold; line-height: 1; vertical-align: middle; cursor: help; position: relative; outline: none; }
 +
.pld-note:hover, .pld-note:focus { background: #0c447c; border-color: #0c447c; color: #fff; }
 +
.pld-note::after { content: attr(data-note); position: absolute; left: 50%; bottom: 150%; transform: translateX(-50%); width: 17em; padding: 7px 9px; background: #202122; color: #fff; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.25); font-size: 13px; font-weight: normal; font-style: normal; line-height: 1.35; text-align: left; white-space: normal; visibility: hidden; opacity: 0; transition: opacity 0.15s; z-index: 20; pointer-events: none; }
 +
.pld-note:hover::after, .pld-note:focus::after { visibility: visible; opacity: 1; }
 +
.pld-note-right::after { left: auto; right: -4px; transform: none; }
 +
/* Questions-by-performance-level pages */
 +
.pldmap-level { margin: 28px 0 6px; padding: 6px 10px; background: #f3f7fb; border-left: 4px solid #1b599b; }
 +
.pldmap-gap { height: 36px; }
 +
.pldmap-stem { color: #54595d; font-size: 0.93em; }

Latest revision as of 18:52, 25 October 2026

/* CSS placed here will be applied to all skins */

@import "override.css";

/* Segmented tab bar (Performance Expectations / Questions / Claims and Evidence) on directory pages */
.pe-ce-toggle { border-collapse: separate; border-spacing: 0; border: 1px solid #b9cde4; border-radius: 8px; background: #eaf1f9; overflow: hidden; margin-bottom: 14px; font-size: 1.05em; }
.pe-ce-toggle td { padding: 4px; }
.pe-ce-toggle a { display: block; padding: 8px 12px; border-radius: 6px; color: #1b599b; font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.pe-ce-toggle a:hover { background: #dbe6f3; color: #0c447c; }
.pe-ce-toggle a.selflink { background: #fff; color: #1b599b; font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,.12); border-bottom: 3px solid #1b599b; border-radius: 6px 6px 2px 2px; padding-bottom: 5px; }
.pe-ce-toggle a i { margin-right: 4px; }
/* Small "New" pill inside a tab (e.g. Exam questions) */
.pe-ce-toggle .toggle-new { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #e8891d; color: #fff; font-size: 0.7em; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle; line-height: 1.5; }

/* Subject nav toggle: 2x2 grid on narrow screens */
@media (max-width: 640px) {
  .pe-ce-toggle { display: block; width: 100%; box-sizing: border-box; padding: 4px; font-size: 0.95em; }
  .pe-ce-toggle tbody { display: block; }
  .pe-ce-toggle tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
  .pe-ce-toggle td { display: block; padding: 0; }
  .pe-ce-toggle a { padding: 10px 4px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pe-ce-toggle .toggle-new { margin-left: 4px; }
}

/* Vocabulary section on standards pages: bold sub-headings sit close to their list; each list gets a full gap before whatever follows */
.vocab-subhead { font-weight: 700; margin-bottom: 0.25em; }
.vocab-list { margin-bottom: 1em; }

/* NGSS Dimensions table (three-column-wrapper): give the heading that follows it the same gap as every other heading */
.three-column-wrapper { margin-bottom: 1em; }
/* Muted column colors: the original aliceblue / antiquewhite / mint from the server-side override.css, at 55% opacity, with dark gray text */
.mw-parser-output #sep-section, .mw-parser-output #dci-section, .mw-parser-output #cc-section { font-size: 0.9em; line-height: 1.45; padding: 14px 16px; color: #4a4f55; }
.mw-parser-output #sep-section { background-color: rgba(240, 248, 255, 0.55); }
.mw-parser-output #dci-section { background-color: rgba(250, 235, 215, 0.55); }
.mw-parser-output #cc-section  { background-color: rgba(240, 255, 241, 0.55); }
#sep-title, #dci-title, #cc-title { color: #4a4f55; }

/* Standards list rows (.sp-pe) on the subject standards pages */
.mw-parser-output .sp-pe { padding: 10px 12px; margin: 0 -12px; border-radius: 6px; transition: background .15s; }
.mw-parser-output .sp-pe:hover { background: #f4f7fb; }
.mw-parser-output .sp-pe + hr { margin: 2px 0; border: 0; border-top: 1px solid #e6e9ed; opacity: 1; }
.sp-pe .sp-standard a { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; margin-right: 4px; vertical-align: 1px; }
.sp-pe .sp-standard a:hover { background: #dbe6f3; border-color: #1b599b; }
/* Collapsible toggles ([Expand] / [Answer] etc.) render as a labeled pill button with a chevron */
.mw-parser-output .mw-collapsible-toggle-default { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; margin-left: 8px; border: 1px solid #b9cde4; border-radius: 999px; background: #fff; color: #1b599b; font-size: .85em; font-weight: 600; line-height: 1.6; cursor: pointer; white-space: nowrap; }
.mw-parser-output .mw-collapsible-toggle-default:hover { background: #eaf1f9; border-color: #1b599b; }
.mw-parser-output .mw-collapsible-toggle-default::before { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 11px; }
.mw-parser-output .mw-collapsible-toggle-default.mw-collapsible-toggle-expanded::before { content: "\f077"; }
.mw-parser-output .mw-collapsible-toggle-default::after { content: none; }
.mw-parser-output .mw-collapsible-toggle-default .mw-collapsible-text { color: inherit; text-decoration: none; }
.sp-pe .sp-pe-collapsed { border-radius: 6px; padding: 10px 14px; margin: 8px 0 2px; }
/* Section heading count badge: <span class="sec-count" data-count="7"></span> (empty text keeps heading anchors unchanged) */
.sec-count { display: inline-block; vertical-align: middle; margin-left: 10px; font-size: 12px; font-weight: 600; color: #1b599b; background: #eaf1f9; border-radius: 999px; padding: 2px 9px; letter-spacing: 0; }
.sec-count::before { content: attr(data-count) " standards"; }
.sec-count[data-count="1"]::before { content: "1 standard"; }

/* Site-wide harmonization with the standards directory pages */
.mw-parser-output > h2 { border-bottom: 2px solid #b9cde4; padding-bottom: 4px; }
.wikitable, .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: #d0dbe8; }
.wikitable > tr > th, .wikitable > * > tr > th { background: #eaf1f9; color: #0c447c; }
/* Standard codes linked from tables render as the same chips used on the directory pages */
.wikitable td a[href*="-PS"], .wikitable td a[href*="-LS"], .wikitable td a[href*="-ESS"], .wikitable td a[href*="-ETS"] { display: inline-block; background: #eaf1f9; border: 1px solid #b9cde4; color: #0c447c; font-weight: 600; font-size: .85em; line-height: 1.6; padding: 0 8px; border-radius: 5px; text-decoration: none; }
.wikitable td a[href*="-PS"]:hover, .wikitable td a[href*="-LS"]:hover, .wikitable td a[href*="-ESS"]:hover, .wikitable td a[href*="-ETS"]:hover { background: #dbe6f3; border-color: #1b599b; }

/* PLD notice (Template:PLDnotice): disclaimer at the top of the questions-by-performance-level pages */
.pld-notice { display: flex; align-items: center; gap: 12px; margin: 10px 0 18px; padding: 10px 14px; background: #eaf1f9; border: 1px solid #b9cde4; border-left: 4px solid #1b599b; border-radius: 4px; line-height: 1.45; }
.pld-notice img { flex: 0 0 auto; }
.pld-notice-text { font-size: 0.95em; color: #2b3a4a; }
/* PLD box (Template:PLTable) */
.pltable-linear { background: #fff; border: 1px solid #d0dbe8; border-left: 4px solid #1b599b; padding: 14px 18px 10px 16px; margin-bottom: 1em; box-shadow: 0 1px 2px rgba(12, 68, 124, 0.06); }
.pld-row { padding: 9px 0; border-bottom: 1px solid #e3ebf4; }
.pld-row:last-child { border-bottom: none; }
.pld-text { line-height: 1.5; }
.pld-label { font-weight: bold; color: #0c447c; }
.pld-example { color: #54595d; font-size: 0.92em; font-style: italic; }
.pld-footer { text-align: right; margin-top: 4px; padding-top: 4px; }
.pld-row .pld-example { display: block; margin-top: 5px; font-size: 1em; font-style: normal; line-height: 1.9; }
/* Discipline theme colors (use these site-wide for anything tied to one exam):
   Biology green · Chemistry rose · Physics violet · Earth & Space teal · Middle school amber · Grade 5 slate */
:root { --bio-bg:#e8f5e6; --bio-border:#9ccf97; --bio-text:#1f5e26; --bio-hover:#d6ecd3;
        --chem-bg:#fcf0f3; --chem-border:#e8b3c1; --chem-text:#8a2a45; --chem-hover:#f8e0e6;
        --phys-bg:#efeafa; --phys-border:#c0afe6; --phys-text:#4a2c8a; --phys-hover:#e3dbf5;
        --ess-bg:#e3f4f5; --ess-border:#8ecdd2; --ess-text:#0c5a62; --ess-hover:#cfeaec;
        --ms-bg:#fff8e6; --ms-border:#e8c78f; --ms-text:#7a4a05; --ms-hover:#fdefc9;
        --g5-bg:#ebf0f7; --g5-border:#b3c4da; --g5-text:#2e4a6b; --g5-hover:#dbe4f0; }
/* Home page subject cards, themed by discipline */
.fp-card { border: 1px solid #efe7d6; border-radius: 2px; padding: 14px 20px 16px; background: #fffdf2; }
.fp-card .fp-card-title { font-weight: 700; font-size: 1.35em; line-height: 1.5; overflow: visible; margin: 0 0 8px 0; padding: 0; border: 0; }
.fp-card-bio .fp-card-title a { color: var(--bio-text); }
.fp-card-chem .fp-card-title a { color: var(--chem-text); }
.fp-card-phys .fp-card-title a { color: var(--phys-text); }
.fp-card-ess .fp-card-title a { color: var(--ess-text); }
.fp-card-ms .fp-card-title a { color: var(--ms-text); }
.fp-card-g5 .fp-card-title a { color: var(--g5-text); }
/* Discipline labels: section sub-headings (.disc-label) and small nav tags (.disc-tag) on pages shared by several exams */
.disc-label { display: inline-block; margin: 16px 0 6px; padding: 2px 12px; border-radius: 4px; border: 1px solid; font-weight: 700; font-size: 1.05em; line-height: 1.6; }
.disc-tag { display: inline-block; margin-left: 5px; padding: 0 7px; border-radius: 3px; border: 1px solid; font-size: 0.78em; font-weight: 600; line-height: 1.6; vertical-align: 1px; }
.disc-label-bio, .disc-tag-bio { background: var(--bio-bg); border-color: var(--bio-border); color: var(--bio-text); }
.disc-label-chem, .disc-tag-chem { background: var(--chem-bg); border-color: var(--chem-border); color: var(--chem-text); }
.disc-label-phys, .disc-tag-phys { background: var(--phys-bg); border-color: var(--phys-border); color: var(--phys-text); }
.disc-label-ess, .disc-tag-ess { background: var(--ess-bg); border-color: var(--ess-border); color: var(--ess-text); }
.disc-label-ms, .disc-tag-ms { background: var(--ms-bg); border-color: var(--ms-border); color: var(--ms-text); }
.disc-label-g5, .disc-tag-g5 { background: var(--g5-bg); border-color: var(--g5-border); color: var(--g5-text); }
a .disc-tag { text-decoration: none; }
/* Home page: pixel-art New York strip (232x32 native). 4x on desktop, shrinks to the container on phones */
.fp-ny-strip { max-width: 1300px; margin: 24px auto 0; text-align: center; line-height: 0; }
.fp-ny-strip img { width: 928px; max-width: 100%; height: auto; image-rendering: pixelated; image-rendering: crisp-edges; }
/* Question chips: .pld-chip wraps a link; .pld-chip-<discipline> sets the color */
.pld-chip a, .pld-example a { display: inline-block; padding: 1px 8px; margin-right: 6px; border-radius: 3px; background: var(--chem-bg); border: 1px solid var(--chem-border); color: var(--chem-text); font-size: 0.85em; font-weight: 600; line-height: 1.5; white-space: nowrap; text-decoration: none; }
.pld-chip a:hover, .pld-example a:hover { background: var(--chem-hover); text-decoration: none; }
.pld-chip.pld-chip-bio a { background: var(--bio-bg); border-color: var(--bio-border); color: var(--bio-text); } .pld-chip.pld-chip-bio a:hover { background: var(--bio-hover); }
.pld-chip.pld-chip-chem a { background: var(--chem-bg); border-color: var(--chem-border); color: var(--chem-text); } .pld-chip.pld-chip-chem a:hover { background: var(--chem-hover); }
.pld-chip.pld-chip-phys a { background: var(--phys-bg); border-color: var(--phys-border); color: var(--phys-text); } .pld-chip.pld-chip-phys a:hover { background: var(--phys-hover); }
.pld-chip.pld-chip-ess a { background: var(--ess-bg); border-color: var(--ess-border); color: var(--ess-text); } .pld-chip.pld-chip-ess a:hover { background: var(--ess-hover); }
.pld-chip.pld-chip-ms a { background: var(--ms-bg); border-color: var(--ms-border); color: var(--ms-text); } .pld-chip.pld-chip-ms a:hover { background: var(--ms-hover); }
.pld-chip.pld-chip-g5 a { background: var(--g5-bg); border-color: var(--g5-border); color: var(--g5-text); } .pld-chip.pld-chip-g5 a:hover { background: var(--g5-hover); }
/* Reference-table chips ({{Rt}}): the gap after the standard matches the gap between two chips (12px) */
.rt-chip a { margin-left: 2px; }
a + .rt-chip a { margin-left: 8px; }
.pld-note { display: inline-flex; align-items: center; justify-content: center; width: 1.25em; height: 1.25em; margin-left: 5px; border: 1px solid #7a9cc0; border-radius: 50%; background: #eaf1f9; color: #0c447c; font-size: 0.85em; font-style: normal; font-weight: bold; line-height: 1; vertical-align: middle; cursor: help; position: relative; outline: none; }
.pld-note:hover, .pld-note:focus { background: #0c447c; border-color: #0c447c; color: #fff; }
.pld-note::after { content: attr(data-note); position: absolute; left: 50%; bottom: 150%; transform: translateX(-50%); width: 17em; padding: 7px 9px; background: #202122; color: #fff; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.25); font-size: 13px; font-weight: normal; font-style: normal; line-height: 1.35; text-align: left; white-space: normal; visibility: hidden; opacity: 0; transition: opacity 0.15s; z-index: 20; pointer-events: none; }
.pld-note:hover::after, .pld-note:focus::after { visibility: visible; opacity: 1; }
.pld-note-right::after { left: auto; right: -4px; transform: none; }
/* Questions-by-performance-level pages */
.pldmap-level { margin: 28px 0 6px; padding: 6px 10px; background: #f3f7fb; border-left: 4px solid #1b599b; }
.pldmap-gap { height: 36px; }
.pldmap-stem { color: #54595d; font-size: 0.93em; }