/* GENERATED by scripts/build-home.mjs from design/home-final-baseline.html
   (@cards-shared segment) + design/generated/tokens.css. DO NOT EDIT. */
/* GENERATED by scripts/build-tokens.mjs from design/design-tokens.json.
   DO NOT EDIT. Skin: 绛红纸金 v1.0.0.
   Reference build: design/home-final-baseline.html */

:root {

  /* color */
  --red: #7C2230; /* primary brand, hero ground, primary buttons */
  --red2: #5A1420; /* primary hover / pressed */
  --red-soft: #F5E6E3; /* tinted hover ground on paper */
  --brass: #A67F33; /* accent, focus ring, secondary CTA */
  --brass-ink: #7E5E1F; /* accent text on paper (AA on --card) */
  --brass-soft: #F4EAD3; /* accent ground, stamp glyph */
  --ivory: #F7F2EA; /* text on oxblood ground */
  --paper: #F7F3EC; /* page ground */
  --card: #FFFDF9; /* raised surface */
  --ink: #26201C; /* body text */
  --ink2: #6B5F58; /* secondary text */
  --ink3: #9C8F85; /* meta, provenance chips, 「未报告」 */
  --line: #E9E0D3; /* hairline borders */
  --line2: #DCD1C0; /* control borders */
  --ddl: #B4433A; /* deadline urgency ONLY — never a generic error/alert colour */

  /* colorAlpha */
  --iv70: rgba(247,242,234,0.72); /* secondary text on oxblood */
  --iv25: rgba(247,242,234,0.26); /* hairline on oxblood */

  /* font */
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; /* UI + body. System CJK stack — zero webfont requests, no Google Fonts (G03a). */
  --mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, monospace; /* ALL numerals, dates, ranks, provenance stamps — with tabular-nums */
  --serif: Georgia, "Times New Roman", serif; /* English editorial italics, section eyebrows */
  --serifq: Georgia, "Songti SC", "STSong", "SimSun", serif; /* Chinese display headings, flagship article body, the letter */

  /* numeric */
  --num-variant: tabular-nums;
  --num-tracking: -0.02em;

  /* radius */
  --r: 10px;
  --r-sm: 8px;
  --r-lg: 14px;
  --r-pill: 99px;

  /* semantic */
  --state-not-reported: var(--ink3); /* 「未报告」 — never 0 */
  --state-suppressed: var(--ink3); /* 「已屏蔽」 with source note */
  --state-provisional: var(--brass-ink); /* 临时数据 — visually distinct from final (G32) */
  --state-final: var(--ink); /* 正式数据 */
  --state-verified: var(--brass-ink); /* 核对于 {date} */
}

/* Every numeral on the platform. Digits must align in every table and chart. */
.num, [data-metric], table td, .tabular {
  font-family: var(--mono);
  font-variant-numeric: var(--num-variant);
  letter-spacing: var(--num-tracking);
}
/* @cards-shared-start — build-home.mjs emits this segment (plus tokens) as
   bricks-child/assets/cards.css for non-home surfaces (dossier 相近院校). */
.scard{--w:0%;position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.scard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(90,20,32,.10);border-color:#D9CBB8}
.scard .sphoto{position:relative;height:112px;background-size:cover;background-position:center;filter:saturate(.92)}
.scard .sphoto-none{background:linear-gradient(150deg,#5A1420,#7C2230 55%,#8a3040)}
.scard .srankchip{position:absolute;top:10px;left:12px;background:rgba(38,32,28,.55);color:#FBF2E9;font-size:11px;font-weight:600;border-radius:99px;padding:2px 10px;backdrop-filter:blur(2px)}
/* Logo row: logo overlaps the photo by half (center = photo bottom, y=112).
   The heart is its right-side counterpart, CENTERED ON THE SAME ROW:
   button height 37px -> top = 112 - 18.5 ≈ 94px. */
.scard .heart{position:absolute;top:94px;right:16px;z-index:2;border:1px solid var(--line);background:var(--card);padding:8px;line-height:0;cursor:pointer;color:var(--ink2);border-radius:50%;box-shadow:0 2px 8px rgba(38,32,28,.10);transition:color .15s,transform .15s,border-color .15s}
.scard .heart:hover{color:var(--red);border-color:var(--red);transform:scale(1.08)}
.scard .heart[aria-pressed="true"]{color:var(--red);border-color:rgba(180,67,58,.4)}
.scard .heart[aria-pressed="true"] .hh path{fill:var(--red);stroke:var(--red)}
.scard .heart .hb path:first-child{fill:var(--red)}
.scard .heart .hb path:last-child{fill:none;stroke:#FFFDF9}
/* Centered composition (owner order 2026-08-22 late): logo on the card's
   axis, 中文名 centered, EN name small and centered beneath. Bars stay
   full-width; the heart stays a right-side control on the logo row. */
.scard .sbody{display:flex;flex-direction:column;align-items:center;padding:0 16px;color:inherit;text-decoration:none}
.scard .slogo{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid var(--card);box-shadow:0 2px 8px rgba(38,32,28,.14);margin-top:-26px;position:relative;z-index:1}
.scard .slogo-ph{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:var(--brass-ink)}
.scard .szh{display:block;margin:9px 0 0;font-size:17px;font-weight:650;color:var(--ink);line-height:1.35;text-align:center;text-wrap:balance}
.scard .sen{display:block;margin-top:3px;font-family:var(--serif);font-style:italic;font-size:10.5px;letter-spacing:.01em;color:var(--ink2);line-height:1.45;min-height:2.9em;text-align:center;text-wrap:balance}
.scard .smeta{display:block;margin-top:4px;font-size:11px;color:var(--ink3)}
.scard .sgrid{display:grid;grid-template-columns:auto 1fr auto;gap:5px 9px;align-items:center;border-top:1px solid var(--line);margin-top:9px;padding-top:10px;width:100%}
.scard .sk{font-size:11px;color:var(--ink2);letter-spacing:.03em;line-height:1.5}
.scard .sv{font-size:11px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.5}
.scard .sbar{height:5px;background:var(--line);border-radius:99px;overflow:hidden}
.scard .sbar i{display:block;height:100%;width:0;background:var(--sbar,linear-gradient(90deg,var(--brass),var(--brass-ink)));border-radius:99px;transition:width .7s cubic-bezier(.2,.7,.3,1)}
.scard.charged .sbar i{width:var(--w)}
@media (prefers-reduced-motion: reduce){.scard .sbar i{transition:none;width:var(--w)}}
.scard .snums{display:block;font-size:11px;color:var(--ink2);margin:8px 0 14px;font-variant-numeric:tabular-nums;text-align:center}
/* Un-hearting removes — hovering a PRESSED heart shows the break before
   the click does it (owner order 2026-08-23). */
[data-mylist-heart] .hb{display:none}
[data-mylist-heart][aria-pressed="true"]:hover .hh,[data-mylist-heart][aria-pressed="true"]:focus-visible .hh{display:none}
[data-mylist-heart][aria-pressed="true"]:hover .hb,[data-mylist-heart][aria-pressed="true"]:focus-visible .hb{display:block}
/* @cards-shared-end */
