/* GouTA 数据馆 · D 混搭（D-mix）
   B 的砖（一门考试一块砖，空砖＝没出现）＋ A 的读数表 ＋ C 的真题原句排法。
   纸面、墨色、细线、低饱和色面、衬线数字。没有左边框提示框、胶囊、渐变、玻璃。
   Loaded after museum.css / theme-d.css / theme-gouta.css on every page. */

html:root {
  /* family colours follow the region inks (charts, family tags) */
  --f-cet: var(--dx-cn); --f-gaokao: var(--dx-cn); --f-kaoyan: var(--dx-cn); --f-cn_exam: var(--dx-cn);
  --f-jp_school: var(--dx-jp); --f-jp_university: var(--dx-jp); --f-dnc: var(--dx-jp);
  --f-toeic: var(--dx-in); --f-ielts: var(--dx-in);
  --f-general: var(--dx-ink-3); --f-cross-exam: var(--dx-ink-3); --f-c6: var(--dx-jade); --f-core: var(--dx-jade);
  --dx-paper: #F4F0E9; --dx-paper-2: #EDE7DD; --dx-paper-3: #E2DBCF;
  --dx-ink: #141617; --dx-ink-2: #3B403D; --dx-ink-3: #5E635F;
  --dx-rule: rgba(20, 22, 23, .12); --dx-rule-2: rgba(20, 22, 23, .26);
  --dx-jade: #35675A; --dx-jade-t: rgba(53, 103, 90, .10);
  /* region inks: the main-site brick hues at print strength */
  --dx-cn: #AD6149; --dx-cn-t: #EFE1D7;
  --dx-jp: #3E806F; --dx-jp-t: #DEE8E1;
  --dx-in: #5A6BA3; --dx-in-t: #E3E4EE;
  --dx-inv-bg: #35675A; --dx-inv-fg: #F4F0E9; --dx-inv-fg-2: rgba(244, 240, 233, .80); --dx-inv-rule: rgba(244, 240, 233, .22);
  --dx-sans: "Museum Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  --dx-han: "Museum Serif", "Museum Serif D", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --dx-lat: "Museum Quote", "Museum Serif", "Noto Serif SC", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --dx-gut: 20px;
  --dx-max: 1200px;
}
html:root:lang(ja) {
  --dx-sans: "Museum Sans JP", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  --dx-han: "Museum Serif JP", "Museum Serif D JP", "Noto Serif JP", "Source Han Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --dx-lat: "Museum Quote", "Museum Serif JP", "Museum Serif", "Noto Serif JP", "Source Serif Pro", Georgia, serif;
}
@media (prefers-color-scheme: dark) {
  html:root {
    --dx-paper: #191C1B; --dx-paper-2: #212523; --dx-paper-3: #2A2F2C;
    --dx-ink: #ECE7DE; --dx-ink-2: #C5C2BB; --dx-ink-3: #9EA29C;
    --dx-rule: rgba(236, 231, 222, .13); --dx-rule-2: rgba(236, 231, 222, .28);
    --dx-jade: #8DBFAE; --dx-jade-t: rgba(141, 191, 174, .12);
    --dx-cn: #D08C75; --dx-cn-t: #2F2723;
    --dx-jp: #7FB5A4; --dx-jp-t: #202C28;
    --dx-in: #97A5D6; --dx-in-t: #23262F;
    --dx-inv-bg: #2A463F; --dx-inv-fg: #ECE7DE; --dx-inv-fg-2: rgba(236, 231, 222, .78); --dx-inv-rule: rgba(236, 231, 222, .2);
  }
}

/* ------------------------------------------------------------------ chrome (all pages) */
html body { background: var(--dx-paper); color: var(--dx-ink); }
html body .m-nav.dx-bar {
  position: static; height: auto; background: var(--dx-paper); backdrop-filter: none;
  border-bottom: 1px solid var(--dx-rule);
}
html body .dx-bar .m-nav__in {
  max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); margin: 0 auto; padding: 0 var(--dx-gut);
  height: 54px; display: flex; align-items: center; gap: 24px; flex-wrap: nowrap;
}
html body .dx-brand { display: flex; align-items: flex-end; gap: 9px; text-decoration: none; color: var(--dx-ink); flex: none; }
html body .dx-brand picture, html body .dx-brand img { display: block; width: 74px; height: auto; }
html body .dx-brand span { font: 600 15px/1 var(--dx-han); color: var(--dx-ink-2); letter-spacing: .08em; padding-bottom: 1px; }
html body .dx-nav { display: none; gap: 22px; margin-left: auto; font-size: 15px; }
html body .dx-nav a { text-decoration: none; color: var(--dx-ink-2); padding: 10px 0; white-space: nowrap; }
html body .dx-nav a[aria-current="page"] { color: var(--dx-ink); box-shadow: inset 0 -1.5px 0 var(--dx-jade); }
html body .dx-lang { margin-left: auto; font-size: 15px; color: var(--dx-jade); text-decoration: none; padding: 10px 0; white-space: nowrap; }
html body .dx-mnav {
  display: flex; gap: 24px; margin: 0 auto; padding: 0 var(--dx-gut);
  border-top: 1px solid var(--dx-rule); font-size: 15px;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
html body .dx-mnav::-webkit-scrollbar { display: none; }
/* ja labels are longer: six items still fit 390px */
html:lang(ja) body .dx-mnav { gap: 18px; }
html body .dx-mnav a { flex: none; padding: 11px 0 10px; text-decoration: none; color: var(--dx-ink-2); white-space: nowrap; }
html body .dx-mnav a[aria-current="page"] { color: var(--dx-ink); box-shadow: inset 0 -1.5px 0 var(--dx-jade); }
html body .m-foot.dx-foot { margin-top: 72px; border-top: 1px solid var(--dx-rule); color: var(--dx-ink-3); font-size: 13px; }
html body .dx-foot .m-foot__in {
  max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); margin: 0 auto; padding: 22px var(--dx-gut) 44px;
  display: grid; gap: 12px;
}
html body .dx-foot nav { display: flex; flex-wrap: wrap; gap: 4px 18px; }
html body .dx-foot nav a { color: var(--dx-ink-2); text-decoration: none; padding: 6px 0; }
html body .dx-foot .dx-foot__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; }
html body .dx-foot .dx-foot__row a { color: var(--dx-ink-2); }
html body .dx-foot .num { font-family: var(--dx-sans); }
@media (min-width: 900px) {
  html body .dx-nav { display: flex; }
  html body .dx-mnav { display: none; }
  html body .dx-nav + .dx-lang { margin-left: 0; }
  html body { --dx-gut: 40px; }
}

/* ------------------------------------------------------------------ D page frame */
html body.dx-page main { max-width: none; margin: 0; padding: 0; }
html body .dx { font: 400 16px/1.7 var(--dx-sans); color: var(--dx-ink); -webkit-font-smoothing: antialiased; }
html body .dx a { color: inherit; }
html body .dx :is(h1, h2, h3, p, ul, ol, figure, table, dl, dd) { margin: 0; }
html body .dx :is(ul, ol) { padding: 0; list-style: none; }
html body .dx button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
html body .dx :focus-visible { outline: 2px solid var(--dx-jade); outline-offset: 3px; border-radius: 4px; }
html body .dx .num { font-family: var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; }
html body .dx .lat { font-family: var(--dx-lat); }
html body .dx-wrap { max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); margin: 0 auto; padding: 0 var(--dx-gut); }
html body .dx .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html body .dx [hidden] { display: none !important; }
html body .dx .sec { padding-top: 56px; }
html body .dx .hd { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
html body .dx .hd h2 { font: 600 22px/1.3 var(--dx-han); letter-spacing: .02em; color: var(--dx-ink); }
html body .dx :is(h1, h2, h3) { text-wrap: balance; }
html body .dx .hd .aside { font-size: 13px; color: var(--dx-ink-3); text-align: right; }
html body .dx .label { font-size: 13px; color: var(--dx-ink-3); letter-spacing: .02em; }
html body .dx .note { font-size: 14px; color: var(--dx-ink-3); line-height: 1.7; }
html body .dx .link, html body .dx .btn-word {
  color: var(--dx-jade); text-decoration: none; font-weight: 600;
}
html body .dx .btn-word { display: inline-flex; align-items: center; font-size: 15px; padding: 10px 0; min-height: 44px; }
html body .dx .btn-frame {
  display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 18px;
  border: 1.5px solid var(--dx-jade); border-radius: 8px; color: var(--dx-jade); font-weight: 600; font-size: 15px;
  white-space: nowrap; background: transparent; text-decoration: none;
}
html body .dx .search { display: flex; gap: 10px; }
html body .dx .search input {
  flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid var(--dx-rule-2); border-radius: 8px;
  background: transparent; font: 400 16px/1.2 var(--dx-sans); color: var(--dx-ink); -webkit-appearance: none; appearance: none;
}
html body .dx .search input::placeholder { color: var(--dx-ink-3); }
html body .dx .search input::-webkit-search-cancel-button { -webkit-appearance: none; }
html body .dx .state { padding: 28px 0; color: var(--dx-ink-3); font-size: 15px; }
html body .dx .state strong { display: block; color: var(--dx-ink); font-weight: 600; margin-bottom: 4px; }

/* region swatch: a small flat brick */
html body .dx .sw { display: inline-block; width: 12px; height: 8px; border-radius: 2px; background: var(--dx-ink-3); flex: none; }
html body .dx .sw.cn { background: var(--dx-cn); }
html body .dx .sw.jp { background: var(--dx-jp); }
html body .dx .sw.intl { background: var(--dx-in); }
html body .dx .sw.zero, html body .dx .sw.absent, html body .dx .sw.hold, html body .dx .sw.na { background: transparent; box-shadow: inset 0 0 0 1px var(--dx-rule-2); }

/* ------------------------------------------------------------------ brick */
html body .dx .brick { position: relative; border-radius: 8px; background: var(--dx-paper-2); border: 1px solid transparent; text-decoration: none; color: var(--dx-ink); }
html body .dx .brick.cn { background: var(--dx-cn-t); }
html body .dx .brick.jp { background: var(--dx-jp-t); }
html body .dx .brick.intl { background: var(--dx-in-t); }
html body .dx .brick.zero { background: transparent; border: 1px dashed var(--dx-rule-2); }
html body .dx .brick.absent, html body .dx .brick.hold, html body .dx .brick.na { background: transparent; border: 1px solid var(--dx-rule-2); }

/* the wall: one brick per exam (home) */
html body .dx .wall { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
html body .dx .wall a { display: flex; flex-direction: column; justify-content: space-between; min-height: 64px; padding: 9px 9px 8px; }
html body .dx .wall .n { font: 600 15px/1.25 var(--dx-han); letter-spacing: .02em; word-break: keep-all; overflow-wrap: anywhere; }
html body .dx .wall .y { display: none; }
html body .dx .wall .s { font-size: 12px; color: var(--dx-ink-3); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .dx .wall a:hover .n { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
html body .dx .legend { display: flex; gap: 14px; margin-top: 8px; font-size: 12px; color: var(--dx-ink-3); white-space: nowrap; }
html body .dx .legend span { display: inline-flex; align-items: center; gap: 5px; }
html body .dx .legend .lnote { margin-left: auto; color: var(--dx-ink-3); }

/* evidence bricks (word page) */
html body .dx .ev { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
html body .dx .ev .brick { display: flex; flex-direction: column; min-height: 92px; padding: 9px 9px 8px; }
html body .dx .ev a.brick:hover .nm { text-decoration: underline; text-underline-offset: 3px; }
html body .dx .ev .nm { font-size: 13px; line-height: 1.35; color: var(--dx-ink-2); word-break: keep-all; overflow-wrap: anywhere; }
html body .dx .ev .v { margin-top: auto; font: 600 27px/1.1 var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.01em; }
html body .dx .ev .v.sm { font-size: 22px; }
html body .dx .ev .v.xs { font-size: 17px; line-height: 1.25; }
html body .dx .ev .v .u { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin: 0 1px 0 4px; }
html body .dx .ev .d { margin-top: 3px; font-size: 11.5px; color: var(--dx-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .dx .ev :is(.zero, .absent, .hold, .na) .nm { color: var(--dx-ink-3); }
html body .dx .ev .zero .v { font-weight: 400; color: var(--dx-ink-3); }
html body .dx .ev :is(.absent, .hold, .na) .v { font: 400 13px/1.35 var(--dx-sans); color: var(--dx-ink-3); }
html body .dx .fact { margin-top: 14px; font-size: 14px; color: var(--dx-ink-2); line-height: 1.8; }
html body .dx .fact-notes { margin-top: 6px; font-size: 13px; color: var(--dx-ink-3); line-height: 1.7; }
html body .dx .acts { display: flex; align-items: center; gap: 22px; margin-top: 6px; }

/* ------------------------------------------------------------------ readout (A) */
html body .dx .ro { --rowh: 36px; width: 100%; border-collapse: collapse; table-layout: fixed; }
html body .dx .ro col.c-ex { width: 31%; }
html body .dx .ro col.c-ct { width: 17%; }
html body .dx .ro thead th {
  font-weight: 400; font-size: 12px; color: var(--dx-ink-3); text-align: left; padding: 0 0 7px;
  border-bottom: 1px solid var(--dx-ink); letter-spacing: .02em; white-space: nowrap;
}
html body .dx .ro thead th.r { text-align: right; }
html body .dx .ro thead th.m { padding-left: 14px; }
html body .dx .ro tbody th, html body .dx .ro td { height: var(--rowh); padding: 0; vertical-align: middle; font-weight: 400; text-align: left; border: 0; }
html body .dx .ro tbody tr:last-child > * { border-bottom: 1px solid var(--dx-rule-2); }
html body .dx .ro .xn { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body .dx .ro .xn .sw { margin-right: 9px; vertical-align: 1px; }
html body .dx .ro .xn a { text-decoration: none; }
html body .dx .ro .xn a:hover { text-decoration: underline; text-underline-offset: 3px; }
html body .dx .ro .xn .sub { color: var(--dx-ink-3); font-size: 13px; margin-left: 4px; }
html body .dx .ro .ct { text-align: right; font: 600 19px/1 var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; padding-right: 2px; }
html body .dx .ro .ct { white-space: nowrap; }
html body .dx .ro .ct small { font: 400 11px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 2px; }
html body .dx .ro .m { padding-left: 14px; }
html body .dx .ro .mv { display: flex; align-items: center; gap: 10px; }
html body .dx .ro .t { flex: none; width: 76px; text-align: right; font: 400 14px/1 var(--dx-lat); color: var(--dx-ink-2); white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
html body .dx .ro .t small { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 3px; }
html:root:lang(ja) body .dx .ro .t { width: 104px; }
html:root:lang(ja) body .dx .ro .t small { font-size: 11px; margin-left: 2px; }
html body .dx .ro .trk { position: relative; flex: 1; height: 9px; min-width: 24px; }
html body .dx .ro .trk::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 1px; background: var(--dx-rule); }
html body .dx .ro .trk.bare::before { display: none; }
html body .dx .ro .trk i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 2px; background: var(--dx-ink-3); min-width: 3px; }
html body .dx .ro tr.cn .trk i { background: var(--dx-cn); }
html body .dx .ro tr.jp .trk i { background: var(--dx-jp); }
html body .dx .ro tr.intl .trk i { background: var(--dx-in); }
html body .dx .ro .trk u { position: absolute; top: calc(4.5px - var(--rowh) / 2); bottom: calc(4.5px - var(--rowh) / 2); left: 0; width: 0; border-left: 1px dashed var(--dx-ink-3); text-decoration: none; }
html body .dx .ro tr:is(.zero, .absent, .hold, .na) .xn, html body .dx .ro tr:is(.zero, .absent, .hold, .na) .ct { color: var(--dx-ink-3); }
html body .dx .ro tr.zero .ct { font-weight: 400; }
html body .dx .ro tr:is(.absent, .hold, .na) .ct { font: 400 13px/1 var(--dx-sans); }
html body .dx .ro tr.ref > * { font-size: 13px; color: var(--dx-ink-3); }
html body .dx .ro tr.ref .t { color: var(--dx-ink-3); }
html body .dx .ro .m-lift { text-align: right; font: 400 15px/1 var(--dx-lat); color: var(--dx-ink-2); }
html body .dx .ro .m-lift small { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 2px; }
html body .dx .ro .dim { color: var(--dx-ink-3); }
html body .dx .ro-desk, html body .dx .ro-note.desk { display: none; }
html body .dx .ro-note { margin-top: 10px; }
html body .dx .tabs { display: flex; gap: 20px; margin: -4px 0 12px; }
html body .dx [role="tab"] {
  min-height: 40px; font-size: 15px; color: var(--dx-ink-3); border-bottom: 1.5px solid transparent; white-space: nowrap;
}
html body .dx [role="tab"][aria-selected="true"] { color: var(--dx-ink); border-bottom-color: var(--dx-jade); }
html body .dx .lift { margin-top: 12px; font-size: 14px; color: var(--dx-ink-2); line-height: 1.75; }
html body .dx .lift b { font: 600 15px/1 var(--dx-lat); color: var(--dx-ink); }

/* year grid (CET) */
html body .dx .yhd { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; font-size: 15px; }
html body .dx .yhd span:last-child { font-size: 13px; color: var(--dx-ink-3); }
html body .dx .yrow { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 4px; margin-top: 5px; }
html body .dx .yrow > span { font: 400 12px/1 var(--dx-lat); color: var(--dx-ink-3); }
html body .dx .ycells { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; }
html body .dx .ycells i {
  display: flex; align-items: center; justify-content: center; height: 28px; border-radius: 3px;
  font: 600 13px/1 var(--dx-lat); font-style: normal; color: var(--dx-ink); border: 1px solid transparent;
}
html body .dx .ycells i.z { border: 1px dotted var(--dx-rule-2); }
html body .dx .ycells i.l1 { background: var(--dx-cn-t); }
html body .dx .ycells i.l2 { background: color-mix(in srgb, var(--dx-cn) 34%, var(--dx-paper)); }
html body .dx .ycells i.l3 { background: color-mix(in srgb, var(--dx-cn) 64%, var(--dx-paper)); color: #fff; }

/* stacked split bars */
html body .dx .sp { margin-top: 24px; }
html body .dx .sp .sphd { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
html body .dx .sp .sphd span:last-child { color: var(--dx-ink-3); font-size: 13px; }
html body .dx .stackb { display: flex; gap: 2px; margin-top: 8px; height: 8px; }
html body .dx .stackb i { border-radius: 1px; }
html body .dx .sp .lg { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 7px; font-size: 13px; color: var(--dx-ink-2); }
html body .dx .sp .lg span { display: inline-flex; align-items: center; gap: 5px; }
html body .dx .sp .lg span.zero { color: var(--dx-ink-3); }
html body .dx .sp .lg i { display: inline-block; width: 8px; height: 8px; border-radius: 1px; }

/* ------------------------------------------------------------------ sentences (C) */
html body .dx .filters { display: grid; gap: 2px; margin-bottom: 6px; }
html body .dx .frow { display: flex; align-items: baseline; gap: 0 14px; }
html body .dx .frow .fl { flex: none; width: 32px; font-size: 13px; color: var(--dx-ink-3); }
html body .dx .frow .fo { display: flex; flex-wrap: wrap; gap: 0 16px; flex: 1; min-width: 0; }
html body .dx .frow.desk { display: none; }
html body .dx .sl li { position: relative; padding: 14px 0 14px 28px; }
html body .dx .sl li + li { border-top: 1px solid var(--dx-rule); }
html body .dx .sl li[hidden] { display: none; }
html body .dx .sl .no { position: absolute; left: 0; top: 18px; font: 400 13px/1 var(--dx-lat); color: var(--dx-jade); font-variant-numeric: lining-nums tabular-nums; }
html body .dx .sl .s { font: 400 18px/1.6 var(--dx-lat); color: var(--dx-ink); }
html body .dx .sl .k { font-weight: 600; text-decoration: underline; text-decoration-color: var(--dx-jade); text-decoration-thickness: 1.5px; text-underline-offset: 4px; text-decoration-skip-ink: none; }
html body .dx .sl .src { margin-top: 6px; display: flex; align-items: center; flex-wrap: wrap; gap: 0 8px; font-size: 13px; color: var(--dx-ink-3); }
html body .dx .sl .src b { color: var(--dx-ink-2); font-weight: 600; }
html body .dx .sl .src .fm { color: var(--dx-ink-2); }
html body .dx .sl .src .fm .lat { font-size: 14px; color: var(--dx-ink); }
html body .dx .sl .ln { display: none; }

/* ------------------------------------------------------------------ books */
html body .dx .books { display: grid; gap: 16px; }
html body .dx .books .bt { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 15px; }
html body .dx .books .bt a { text-decoration: none; }
html body .dx .books .bt a:hover { text-decoration: underline; text-underline-offset: 3px; }
html body .dx .books .bt span:last-child { color: var(--dx-ink-3); font-size: 13px; white-space: nowrap; }
html body .dx .books .segs { display: grid; grid-template-columns: repeat(10, 1fr); gap: 2px; margin-top: 7px; }
html body .dx .books .segs i { height: 6px; border-radius: 1px; background: var(--dx-paper-3); }
html body .dx .books .segs i.on { background: var(--dx-jade); }
html body .dx details.more { margin-top: 10px; }
html body .dx details.more > summary {
  list-style: none; cursor: pointer; font-size: 14px; color: var(--dx-ink-2); min-height: 44px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
html body .dx details.more > summary::-webkit-details-marker { display: none; }
html body .dx details.more > summary::after { content: var(--dx-open, "展开"); color: var(--dx-jade); font-weight: 600; flex: none; }
html body .dx details.more[open] > summary::after { content: var(--dx-close, "收起"); }
html:root:lang(ja) body .dx details.more > summary::after { content: "開く"; }
html:root:lang(ja) body .dx details.more[open] > summary::after { content: "閉じる"; }

/* ------------------------------------------------------------------ detail rows */
html body .dx .mtab li { padding: 14px 0; }
html body .dx .mtab li + li { border-top: 1px solid var(--dx-rule); }
html body .dx .mtab .mt { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
html body .dx .mtab .mt b { font: 600 16px/1.4 var(--dx-lat); white-space: nowrap; }
html body .dx .mtab .mt b small { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 3px; }
html body .dx .mtab .md { font-size: 13px; color: var(--dx-ink-3); margin-top: 3px; line-height: 1.65; }
html body .dx .mtab .md a, html body .dx .rlist a { color: var(--dx-jade); }
html body .dx .rlist li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 14px; }
html body .dx .rlist li + li { border-top: 1px solid var(--dx-rule); }
html body .dx .rlist small { display: block; font-size: 12px; color: var(--dx-ink-3); }
html body .dx .rlist b { font: 600 14px/1.4 var(--dx-lat); white-space: nowrap; }
html body .dx .cite { font-size: 13px; color: var(--dx-ink-2); word-break: break-all; }

/* ------------------------------------------------------------------ home */
html body .dx .hero { padding: 30px 0 0; }
html body .dx .hero h1 { font: 600 27px/1.3 var(--dx-han); letter-spacing: .02em; color: var(--dx-ink); }
html body .dx .hero .lead { display: none; margin-top: 10px; font-size: 16px; color: var(--dx-ink-2); }
html body .dx .find { margin-top: 26px; }
html body .dx .find .flabel { display: none; }
html body .dx .specimen { margin-top: 22px; min-height: 360px; }
html body .dx .sp-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
html body .dx .sp-word { font: 400 40px/1 var(--dx-lat); letter-spacing: -.022em; text-decoration: none; color: var(--dx-ink); }
html body .dx .sp-next { font-size: 14px; min-height: 36px; padding: 6px 0; }
html body .dx .sp-cap { margin: 6px 0 12px; font-size: 14px; color: var(--dx-ink-3); }
html body .dx .sp-more { margin-top: 6px; }
html body .dx .inv { background: var(--dx-inv-bg); color: var(--dx-inv-fg); margin-top: 64px; }
html body .dx .inv .dx-wrap { padding-top: 34px; padding-bottom: 36px; }
html body .dx .inv .kick { font-size: 13px; color: var(--dx-inv-fg-2); letter-spacing: .04em; }
html body .dx .inv h2 { font: 600 23px/1.5 var(--dx-han); margin: 12px 0 10px; color: var(--dx-inv-fg); }
html body .dx .inv p { color: var(--dx-inv-fg-2); font-size: 15px; line-height: 1.75; }
html body .dx .inv a.open { display: inline-block; margin-top: 18px; color: var(--dx-inv-fg); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--dx-inv-fg-2); padding-bottom: 2px; }
html body .dx .inv .side { display: none; }
html body .dx .slist li + li { border-top: 1px solid var(--dx-rule); }
html body .dx .slist a { display: block; padding: 12px 0; text-decoration: none; font: 600 16px/1.55 var(--dx-han); color: var(--dx-ink); }
html body .dx .res { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
html body .dx .res a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 48px; text-decoration: none; font-size: 15px; border-bottom: 1px solid var(--dx-rule); }
html body .dx .res a span:last-child { font-size: 13px; color: var(--dx-ink-3); white-space: nowrap; }

/* ------------------------------------------------------------------ word page */
html body .dx .wtop { border-bottom: 1px solid var(--dx-rule); }
html body .dx .wsearch { padding: 12px var(--dx-gut); }
html body .dx .wsearch .search input, html body .dx .wsearch .btn-frame { height: 42px; }
html body .dx .whead { padding: 28px 0 0; }
html body .dx .whead h1 { font: 400 52px/1.04 var(--dx-lat); letter-spacing: -.025em; color: var(--dx-ink); overflow-wrap: anywhere; }
/* word head: four sizes only — 52 headword / 22 meaning / 16 text / 13 notes */
html body .dx .whead .meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin-top: 12px; color: var(--dx-ink-2); font-size: 13px; }
html body .dx .whead .ipa { font: 400 16px/1.4 "Museum Serif", "Noto Serif", "Noto Sans", serif; color: var(--dx-ink); }
html body .dx .whead .cefr { font-size: 13px; color: var(--dx-ink-3); letter-spacing: .02em; }
html body .dx .whead .btn-word { padding: 4px 0; min-height: 0; font-size: 13px; }
html body .dx .defs { padding-top: 32px; }
html body .dx .defs > .hd { margin-bottom: 10px; border: 0; padding: 0; }
html body .dx .defs > .hd h2 { font: 400 13px/1.4 var(--dx-sans); color: var(--dx-ink-3); letter-spacing: .02em; }
html body .dx .sense + .sense { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--dx-rule); }
html body .dx .sense .pos { font-size: 13px; color: var(--dx-ink-3); margin-bottom: 6px; }
html body .dx .defs .short { font: 600 22px/1.4 var(--dx-han); letter-spacing: .04em; color: var(--dx-ink); }
html body .dx .defs .short.long { line-height: 1.5; letter-spacing: .02em; }
html body .dx .defs .def { margin-top: 6px; font-size: 16px; line-height: 1.7; color: var(--dx-ink); }
html body .dx .defs .en { margin-top: 6px; font: 400 13px/1.55 var(--dx-lat); color: var(--dx-ink-3); }
html body .dx .defs .mean .label { margin-top: 6px; }
html body .dx .exg, html body .dx .chunkg { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--dx-rule); }
html body .dx .chunkg { border-top: 0; padding-top: 0; }
html body .dx .ex { margin-top: 10px; display: grid; gap: 12px; }
html body .dx .ex .e { font: 400 16px/1.5 var(--dx-lat); color: var(--dx-ink); }
html body .dx .ex .z { margin-top: 2px; font-size: 13px; line-height: 1.5; color: var(--dx-ink-3); }
html body .dx .ex-label { margin-top: 12px; }
html body .dx .kw { font-weight: 600; }
html body .dx .chunks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 10px; }
html body .dx .chunks .e { font: 400 16px/1.35 var(--dx-lat); }
html body .dx .chunks .z { font-size: 13px; color: var(--dx-ink-3); }
html body .dx .notfound { padding: 40px 0 0; }
html body .dx .notfound h1 { font: 400 44px/1.05 var(--dx-lat); letter-spacing: -.02em; overflow-wrap: anywhere; }
html body .dx .notfound p { margin-top: 12px; color: var(--dx-ink-2); }
html body .dx .notfound .sugg a { color: var(--dx-jade); font: 600 18px/1.8 var(--dx-lat); text-decoration: none; margin-right: 18px; white-space: nowrap; display: inline-block; }
html body .dx .notfound .nf-state { font-size: 16px; color: var(--dx-ink); }

/* ------------------------------------------------------------------ exam page */
html body .dx .xhead { padding: 28px 0 0; }
html body .dx .xhead .crumb { font-size: 13px; color: var(--dx-ink-3); display: flex; gap: 6px; align-items: center; }
html body .dx .xhead .crumb a { color: var(--dx-ink-2); text-decoration: none; }
html body .dx .xhead h1 { margin-top: 14px; font: 600 30px/1.3 var(--dx-han); letter-spacing: .02em; display: flex; align-items: center; gap: 12px; }
html body .dx .xhead h1 .sw { width: 16px; height: 11px; }
html body .dx .xhead .meta { margin-top: 10px; font-size: 14px; color: var(--dx-ink-2); line-height: 1.75; }
html body .dx .xhead .meta .num { font-size: 15px; }
html body .dx .xfind { margin-top: 22px; }
html body .dx .groups { margin-top: 20px; }
html body .dx .wl { width: 100%; border-collapse: collapse; }
html body .dx .wl th { font-weight: 400; font-size: 12px; color: var(--dx-ink-3); text-align: left; padding: 0 0 7px; border-bottom: 1px solid var(--dx-ink); white-space: nowrap; }
html body .dx .wl th.r, html body .dx .wl td.r { text-align: right; }
html body .dx .wl td { padding: 0; height: 38px; border-bottom: 1px solid var(--dx-rule); vertical-align: middle; }
html body .dx .wl td.i { width: 34px; font: 400 13px/1 var(--dx-lat); color: var(--dx-ink-3); }
html body .dx .wl td.w a { font: 400 17px/1.3 var(--dx-lat); text-decoration: none; color: var(--dx-ink); }
html body .dx .wl td.w { white-space: nowrap; }
html body .dx .wl :is(td, th).j { padding-left: 16px; }
html body .dx .wl td.w a:hover { text-decoration: underline; text-decoration-color: var(--dx-jade); text-underline-offset: 3px; }
html body .dx .wl td.f { font: 600 16px/1 var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; width: 70px; }
html body .dx .wl td.c { font: 400 13px/1 var(--dx-lat); color: var(--dx-ink-2); width: 92px; }
html body .dx .wl td.c small, html body .dx .wl td.f small { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 2px; }
html body .dx .wl td.j { font-size: 12px; color: var(--dx-ink-3); width: 56px; }
html body .dx .wl td.b { width: 28%; padding-left: 14px; }
html body .dx .wl td.b i { display: block; height: 7px; border-radius: 2px; background: var(--dx-ink-3); min-width: 2px; }
html body .dx .wl.cn td.b i { background: var(--dx-cn); }
html body .dx .wl.jp td.b i { background: var(--dx-jp); }
html body .dx .wl.intl td.b i { background: var(--dx-in); }
html body .dx .wl .hide-m { display: none; }
html body .dx .cloud { display: flex; flex-wrap: wrap; gap: 4px 18px; }
html body .dx .cloud a { font: 400 17px/1.9 var(--dx-lat); text-decoration: none; color: var(--dx-ink); white-space: nowrap; }
html body .dx .cloud a small { font: 400 12px/1 var(--dx-sans); color: var(--dx-ink-3); margin-left: 3px; }
html body .dx .cloud a:hover { text-decoration: underline; text-decoration-color: var(--dx-jade); text-underline-offset: 3px; }
html body .dx .chg { display: grid; gap: 28px; }
html body .dx .chg h3 { font: 600 16px/1.4 var(--dx-han); margin-bottom: 8px; }
html body .dx .scope { display: grid; gap: 0; }
html body .dx .scope div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--dx-rule); font-size: 14px; line-height: 1.7; }
html body .dx .scope dt { color: var(--dx-ink-3); }
html body .dx .scope dd { color: var(--dx-ink-2); }

/* ------------------------------------------------------------------ desktop */
@media (min-width: 900px) {
  html body .dx .hero { padding-top: 60px; }
  html body .dx .hgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 88px; align-items: start; }
  html body .dx .hero h1 { font-size: 38px; }
  html body .dx .hero .lead { display: block; }
  html body .dx .wall { gap: 10px; margin-top: 28px; }
  html body .dx .wall a { min-height: 132px; padding: 16px 16px 13px; }
  html body .dx .wall .n { font-size: 20px; }
  html body .dx .wall .y { display: block; margin-top: auto; font: 400 13px/1.3 var(--dx-lat); color: var(--dx-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body .dx .wall .s { font-size: 13px; }
  html body .dx .legend { margin-top: 12px; font-size: 13px; }
  html body .dx .find { margin-top: 0; padding-top: 6px; }
  html body .dx .find .flabel { display: block; font: 600 38px/1.3 var(--dx-han); letter-spacing: .02em; margin-bottom: 22px; }
  html body .dx .specimen { margin-top: 34px; }
  html body .dx .sp-word { font-size: 44px; }
  html body .dx .sec { padding-top: 88px; }
  html body .dx .hd h2 { font-size: 26px; }
  html body .dx .inv { margin-top: 96px; }
  html body .dx .inv .dx-wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; padding-top: 50px; padding-bottom: 54px; }
  html body .dx .inv h2 { font-size: 30px; }
  html body .dx .inv .side { display: block; }
  html body .dx .inv .side li + li { border-top: 1px solid var(--dx-inv-rule); }
  html body .dx .inv .side a { display: block; padding: 14px 0; text-decoration: none; color: var(--dx-inv-fg); font: 600 17px/1.55 var(--dx-han); }
  html body .dx .stories-m { display: none; }
  html body .dx .res { grid-template-columns: repeat(3, 1fr); gap: 0 48px; }
  html body .dx .wgrid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 72px; align-items: start; }
  html body .dx .whead { padding-top: 52px; }
  html body .dx .whead h1 { font-size: 84px; }
  html body .dx .defs { padding-top: 44px; }
  html body .dx .defs .short { font-size: 26px; }
  html body .dx .ev { gap: 10px; }
  html body .dx .ev .brick { min-height: 112px; padding: 12px 13px 10px; }
  html body .dx .ev .v { font-size: 36px; }
  html body .dx .ev .v.sm { font-size: 30px; }
  html body .dx .ev .v.xs { font-size: 20px; }
  html body .dx .ev .d { font-size: 12.5px; }
  html body .dx .ev .nm { font-size: 14px; }
  html body .dx .chunks { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
  html body .dx .wgrid .s-fact { padding-top: 64px; }
  html body .dx .frow.desk { display: flex; }
  html body .dx .sl.kwic li { padding: 10px 0 10px 34px; }
  html body .dx .sl.kwic .s { display: none; }
  html body .dx .sl.kwic .ln { display: grid; grid-template-columns: minmax(0, 43%) minmax(0, 1fr); align-items: baseline; font: 400 17px/1.6 var(--dx-lat); cursor: pointer; }
  html body .dx .sl.kwic li.open .ln { display: none; }
  html body .dx .sl.kwic li.open .s { display: block; }
  html body .dx .sl .no { top: 16px; }
  html body .dx .sl .ln .l { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: right; padding-right: .3em; }
  html body .dx .sl .ln .l span { direction: ltr; unicode-bidi: bidi-override; }
  html body .dx .sl .ln .kr { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body .dx .sl.kwic .src { margin-top: 2px; }
  html body .dx .low { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 0 80px; align-items: start; }
  html body .dx .ro { --rowh: 40px; }
  html body .dx .ro.full col.c-ex { width: 19%; }
  html body .dx .ro.full col.c-ct { width: 10%; }
  html body .dx .ro.full col.c-cover { width: 29%; }
  html body .dx .ro.full col.c-per { width: 29%; }
  html body .dx .ro.full col.c-lift { width: 13%; }
  html body .dx .ro .xn { font-size: 16px; }
  html body .dx .ro .ct { font-size: 20px; }
  html body .dx .ro-mob, html body .dx .tabs.mob, html body .dx .lift.mob, html body .dx .ro-note.mob { display: none; }
  html body .dx .ro-desk, html body .dx .ro-note.desk { display: block; }
  html body .dx .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
  html body .dx .ycells i { height: 32px; }
  html body .dx .xhead { padding-top: 52px; }
  html body .dx .xhead h1 { font-size: 40px; }
  html body .dx .xgrid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 80px; align-items: start; }
  html body .dx .wl .hide-m { display: table-cell; }
  html body .dx .chg { grid-template-columns: 1fr 1fr; gap: 0 48px; }
  html body .dx .scope div { grid-template-columns: 140px 1fr; }
}
@media (max-width: 380px) {
  html body .dx .wall a { padding: 8px 7px 7px; }
  html body .dx .wall .n { font-size: 14px; }
  html body .dx .ev .brick { padding: 8px 7px 7px; }
  html body .dx .ev .v { font-size: 24px; }
  html body .dx .ev .v.sm { font-size: 19px; }
  html body .dx .ro .t { width: 66px; }
}
@media print {
  html body .dx-bar, html body .dx-foot, html body .dx .wtop { display: none; }
}

/* ------------------------------------------------------------------ shared controls (all pages) */
html body .m-btn {
  border: 1.5px solid var(--dx-jade); border-radius: 8px; color: var(--dx-jade); background: transparent;
  font-weight: 600; padding: 7px 14px; line-height: 1.3;
}
html body .m-btn:hover { border-color: var(--dx-jade); background: var(--dx-jade-t); }
html body .m-btn--quiet { border-color: transparent; padding-left: 0; padding-right: 0; text-decoration: none; }
html body .m-btn--quiet:hover { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
html body .m-seg { display: inline-flex; flex-wrap: wrap; gap: 0 18px; border: 0; border-radius: 0; overflow: visible; }
html body .m-seg button, html body .m-seg a {
  border: 0; border-bottom: 1.5px solid transparent; border-radius: 0; background: none; padding: 8px 0; font-size: 14px; color: var(--dx-ink-3);
}
html body .m-seg [aria-pressed="true"], html body .m-seg [aria-current="true"] { background: none; color: var(--dx-ink); border-bottom-color: var(--dx-jade); }
html body .m-field input, html body .m-field select, html body .m-input {
  border: 1px solid var(--dx-rule-2); border-radius: 8px; background: transparent; color: var(--dx-ink); min-height: 40px;
}
html body .m-chip { border: 0; border-bottom: 1px solid var(--dx-rule-2); border-radius: 0; background: transparent; padding: 2px 0; }
html body .m-chip button { border-radius: 0; }
html body .m-filter-toggle { border-radius: 8px; }
html body .dx .m-filter-toggle, html body[data-page] .m-filter-toggle.m-btn {
  border: 1.5px solid var(--dx-jade); border-radius: 8px; padding: 7px 14px; color: var(--dx-jade); font-weight: 600; background: transparent;
}
html body .dx-coll .m-chips:empty { min-height: 0; }
html body .dx-coll .clist > .cgroup:first-child { padding-top: 28px; }
html body dialog.m-filter-dialog { border: 1px solid var(--dx-rule-2); border-radius: 8px; background: var(--dx-paper); color: var(--dx-ink); }
html body .m-state--error { border: 0; border-top: 1px solid var(--dx-rule-2); background: transparent; }

/* ------------------------------------------------------------------ collection */
html body .dx-coll .xhead h1 { margin-top: 0; }
html body .dx-coll .coll-tools { margin-top: 18px; }
html body .dx-coll .m-filter-wrap { display: block; }
html body .dx-coll .m-controls { border: 0; padding: 4px 0 0; gap: 10px 14px; }
html body .dx-coll .dx-views { display: flex; gap: 18px; align-self: end; }
html body .dx-coll .dx-views button { font-size: 14px; color: var(--dx-ink-3); padding: 8px 0; border-bottom: 1.5px solid transparent; }
html body .dx-coll .dx-views [aria-pressed="true"] { color: var(--dx-ink); border-bottom-color: var(--dx-jade); }
html body .dx-coll .dx-chips { margin-top: 8px; }
html body .dx .cgroup { padding-top: 40px; }
html body .dx .cgroup .hd { margin-bottom: 4px; border-bottom: 1px solid var(--dx-ink); padding-bottom: 8px; }
html body .dx .cl li { padding: 16px 0; border-bottom: 1px solid var(--dx-rule); }
html body .dx .cl h3 { font: 600 17px/1.45 var(--dx-han); color: var(--dx-ink); }
html body .dx .cl h3 a { text-decoration: none; }
html body .dx .cl h3 a:hover { text-decoration: underline; text-decoration-color: var(--dx-jade); text-underline-offset: 4px; }
html body .dx .cl .q { margin-top: 4px; font-size: 14px; color: var(--dx-ink-2); line-height: 1.65; }
html body .dx .cl .m { margin-top: 6px; font-size: 13px; color: var(--dx-ink-3); line-height: 1.6; }
html body .dx .cl .m .st { color: var(--dx-ink-2); }
html body .dx .cl .m .link { font-weight: 600; }
html body .dx .cl .rn { margin-top: 4px; font-size: 12.5px; color: var(--dx-ink-3); line-height: 1.6; }
html body .dx .cl li.hist h3 { color: var(--dx-ink-2); font-weight: 400; }
html body .dx .dx-table { font-size: 14px; }
html body .dx .dx-table a { text-decoration: none; }
html body .dx .dx-table a:hover { text-decoration: underline; }

/* ------------------------------------------------------------------ dataset page */
html body[data-page="dataset"] main { max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); padding: 0 var(--dx-gut) 40px; }
html body[data-page="dataset"] .m-crumb { font-size: 13px; color: var(--dx-ink-3); padding-top: 20px; }
html body[data-page="dataset"] .m-crumb a { color: var(--dx-ink-2); text-decoration: none; }
html body[data-page="dataset"] .m-head--ds { border-bottom: 0; padding: 18px 0 0; gap: 10px; }
html body[data-page="dataset"] .m-head--ds .m-title { font: 600 26px/1.35 var(--dx-han); letter-spacing: .01em; color: var(--dx-ink); }
/* technical field keys stay in the data, not on the page (the label beside them remains) */
html body[data-page="dataset"] dt > code.m-code, html body[data-page="record"] dt > code.m-code { display: none; }
html body[data-page="dataset"] .dsmore > summary { display: inline-block; padding: 6px 0; cursor: pointer; list-style: none; color: var(--dx-jade); font-size: 15px; }
html body[data-page="dataset"] .dsmore > summary::-webkit-details-marker { display: none; }
html body[data-page="dataset"] .dsmore > summary::after { content: " \2193"; }
html body[data-page="dataset"] .dsmore[open] > summary::after { content: " \2191"; }
html body[data-page="dataset"] .dsmore > p { margin-top: 10px; }
html body[data-page="dataset"] .dsmore .m-prose { font-size: 15px; line-height: 1.75; color: var(--dx-ink-2); }
html body[data-page="dataset"] .m-head--ds .m-lede { font-size: 16px; color: var(--dx-ink-2); line-height: 1.7; }
html body[data-page="dataset"] .m-kicker { font-size: 12.5px; letter-spacing: .02em; color: var(--dx-ink-3); gap: 14px; }
html body[data-page="dataset"] .m-kicker .m-status { border: 0; background: none; padding: 0; font-weight: 400; color: var(--dx-ink-2); }
html body[data-page="dataset"] .m-kicker .m-status::before { display: none; }
html body[data-page="dataset"] .m-review-note, html body[data-page="dataset"] .m-source-hold { font-size: 13px; color: var(--dx-ink-3); line-height: 1.7; border: 0; background: none; padding: 0; }
html body[data-page="dataset"] .m-facts { font-size: 13px; color: var(--dx-ink-3); }
/* the size readout below replaces the old counts line */
html body[data-page="dataset"] .m-head--ds .m-facts { display: none; }
html body[data-page="dataset"] .m-facts b { font: 600 15px/1 var(--dx-lat); color: var(--dx-ink); }
html body[data-page="dataset"] .m-localnav { margin-top: 28px; border-top: 1px solid var(--dx-ink); border-bottom: 1px solid var(--dx-rule); padding: 0; background: var(--dx-paper); }
html body[data-page="dataset"] .m-sec { border-bottom: 1px solid var(--dx-rule); padding: 36px 0 16px; }
html body[data-page="dataset"] .m-sec__h h2 { font: 600 21px/1.3 var(--dx-han); color: var(--dx-ink); }
html body[data-page="dataset"] .m-tablewrap { border-top: 1px solid var(--dx-ink); }
html body[data-page="dataset"] .m-table thead th { background: var(--dx-paper); font-weight: 400; }
html body[data-page="dataset"] .m-split { padding: 10px 0; border-bottom: 1px solid var(--dx-rule); }
html body .dsum { margin-top: 20px; }
html body .dsum .dsum-exam { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--dx-ink-2); }
html body .dsum .dsum-read { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; border-top: 1px solid var(--dx-ink); }
html body .dsum .dsum-read div { padding: 12px 0 12px; border-bottom: 1px solid var(--dx-rule); }
html body .dsum .dsum-read dt { font-size: 12.5px; color: var(--dx-ink-3); }
html body .dsum .dsum-read dd { margin: 4px 0 0; font: 600 24px/1.1 var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; color: var(--dx-ink); }
html body .dsum .dsum-find { margin-top: 20px; }
html body .dsum .dsum-topwrap { margin-top: 30px; }
html body .dsum .dsum-topwrap .hd { margin-bottom: 6px; }
html body .dsum .dsum-top li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: baseline; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--dx-rule); }
html body .dsum .dsum-top .i { font: 400 13px/1 var(--dx-lat); color: var(--dx-ink-3); }
html body .dsum .dsum-top a { font: 400 17px/1.3 var(--dx-lat); text-decoration: none; color: var(--dx-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body .dsum .dsum-top a:hover { text-decoration: underline; text-decoration-color: var(--dx-jade); text-underline-offset: 3px; }
html body .dsum .dsum-top .v { font: 600 15px/1 var(--dx-lat); color: var(--dx-ink); font-variant-numeric: lining-nums tabular-nums; }
@media (max-width: 520px) {
  html body .dsum .dsum-read div { min-width: 0; overflow-wrap: anywhere; }
  html body .dsum .dsum-read dd { max-width: 100%; font-size: clamp(18px, 6vw, 24px); overflow-wrap: anywhere; }
  html body .dsum .dsum-top li { grid-template-columns: 22px minmax(0, 1fr) auto; gap: 6px; }
  html body .dx .scope div { grid-template-columns: minmax(74px, 26%) minmax(0, 1fr); gap: 8px; }
}
@media (min-width: 900px) {
  html body .dsum .dsum-read { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html body .dsum .dsum-top { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
  html body[data-page="dataset"] .m-head--ds .m-title { font-size: 34px; }
}

/* ------------------------------------------------------------------ server-rendered reading view (before the app takes over) */
html body #seo-prerender { max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); margin: 0 auto; padding: 24px var(--dx-gut) 40px; font: 400 16px/1.7 var(--dx-sans); color: var(--dx-ink); }
html body #seo-prerender :is(h1, h2, h3) { font-family: var(--dx-han); font-weight: 600; margin: 28px 0 10px; line-height: 1.3; }
html body #seo-prerender h1 { font-size: 30px; margin-top: 8px; }
html body #seo-prerender .m-title--word { font: 400 52px/1.05 var(--dx-lat); }
html body #seo-prerender h2 { font-size: 22px; }
html body #seo-prerender :is(ul, ol) { padding-left: 1.2em; }
html body #seo-prerender table { border-collapse: collapse; width: 100%; max-width: 720px; font-size: 14px; }
html body #seo-prerender :is(th, td) { text-align: left; padding: 6px 8px 6px 0; border-bottom: 1px solid var(--dx-rule); font-weight: 400; }
html body #seo-prerender a { color: var(--dx-jade); }
html body #seo-prerender .m-note, html body #seo-prerender small { color: var(--dx-ink-3); font-size: 13px; }

/* ------------------------------------------------------------------ home: 发现 (CET-4 syllabus words never in exam body) */
html body .dx .disc { margin-top: 60px; }
html body .dx .disc .dx-wrap > * { max-width: 640px; }
html body .dx .disc .kick { font-size: 13px; color: var(--dx-ink-3); letter-spacing: .04em; padding-top: 14px; border-top: 1px solid var(--dx-ink); max-width: none; }
html body .dx .disc .big { display: flex; align-items: baseline; gap: 10px; margin-top: 14px; }
html body .dx .disc .big .num { font: 400 76px/.95 var(--dx-lat); letter-spacing: -.035em; color: var(--dx-cn); }
html body .dx .disc .big .of { font: 400 19px/1 var(--dx-lat); color: var(--dx-ink-3); }
html body .dx .disc h2 { margin-top: 14px; font: 600 20px/1.6 var(--dx-han); letter-spacing: .02em; color: var(--dx-ink); }
html body .dx .disc .dbar { display: flex; gap: 2px; height: 16px; margin-top: 22px; }
html body .dx .disc .dbar i { display: block; flex-basis: 0; min-width: 2px; border-radius: 2px; }
html body .dx .disc i.seen { background: var(--dx-paper-3); }
html body .dx .disc i.never { background: var(--dx-cn); }
html body .dx .disc i.comp { background: color-mix(in srgb, var(--dx-cn) 45%, var(--dx-paper)); }
html body .dx .disc i.ins { background: var(--dx-ink-3); }
html body .dx .disc .dleg { margin-top: 12px; }
html body .dx .disc .dleg li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; font-size: 14px; color: var(--dx-ink-2); }
html body .dx .disc .dleg li + li { border-top: 1px solid var(--dx-rule); }
html body .dx .disc .dleg span { display: inline-flex; align-items: center; gap: 9px; }
html body .dx .disc .dleg i { display: block; width: 12px; height: 8px; border-radius: 2px; flex: none; }
html body .dx .disc .dleg b { font: 600 16px/1.2 var(--dx-lat); font-variant-numeric: lining-nums tabular-nums; color: var(--dx-ink); }
html body .dx .disc > .dx-wrap > .note { margin-top: 12px; }
html body .dx .disc .dmore { margin-top: 2px; }
html body .dx .disc .dmore .note { display: block; padding: 10px 0; }
@media (min-width: 900px) {
  html body .dx .disc { margin-top: 96px; }
  html body .dx .disc .big .num { font-size: 96px; }
  html body .dx .disc h2 { font-size: 24px; }
}

/* ------------------------------------------------------------------ my word list (this browser only) */
html body .dx-wordbook { max-width: calc(var(--dx-max) + 2 * var(--dx-gut)); margin: 0 auto; padding: 0 var(--dx-gut); }
html body .dx-wordbook .xhead h1 { margin-top: 0; }
html body .dx-wordbook .xhead .note { margin-top: 2px; }
html body .dx-wordbook .acts { margin-top: 4px; }
html body .dx .wbl { margin-top: 6px; border-top: 1px solid var(--dx-ink); max-width: 720px; }
html body .dx .wbl li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0 13px; border-bottom: 1px solid var(--dx-rule); }
html body .dx .wbl .wbw { min-width: 0; }
html body .dx .wbl .wbw a { display: block; font: 400 26px/1.2 var(--dx-lat); letter-spacing: -.012em; color: var(--dx-ink); text-decoration: none; overflow-wrap: anywhere; }
html body .dx .wbl .wbw a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
html body .dx .wbl .wbm { display: block; margin-top: 4px; font-size: 14px; color: var(--dx-ink-2); line-height: 1.5; }
html body .dx .wbl .wbx { display: flex; align-items: center; gap: 16px; flex: none; }
html body .dx .wbl .wbt { font-size: 13px; color: var(--dx-ink-3); font-variant-numeric: tabular-nums; }
html body .dx .wbl .btn-word { font-size: 14px; font-weight: 400; color: var(--dx-ink-3); min-height: 40px; padding: 8px 0; }
html body .dx .wb-empty { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--dx-ink); font-size: 15px; color: var(--dx-ink-2); max-width: 520px; }
@media (min-width: 900px) {
  html body .dx-wordbook .xhead { padding-top: 52px; }
}
