/* N2 vocabulary batch shared extension */
/* Typography & Reading Spec: v1.1 */
/* Shared by the 18 confirmed vocabulary/lexicon pages. */

/* source: vocab18-v1-tuning */
/* remaining 18 vocabulary pages v1 */
.target-word{font-weight:800;color:var(--type-deep)}
.example-note{margin:7px 0 0;padding-top:7px;border-top:1px dashed color-mix(in srgb,var(--type) 20%,#dfe5e1);color:#6b6290;font-size:11.5px;line-height:1.65;font-weight:700}
.vocab-guide{margin:30px auto 10px;max-width:1040px;padding:22px 0 2px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}
.vocab-guide h2{margin:0 0 10px;font:700 22px/1.45 var(--serif)}
.vocab-guide ul{margin:.65rem 0 1rem;padding-left:1.2rem}
.study-focus .migrated-copy>h3{margin:24px 0 9px;color:var(--accent);font:750 18px/1.5 var(--serif)}
.study-focus .migrated-copy code{padding:1px 5px;border:1px solid var(--line);background:#f5f7f6;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}
.study-focus .migrated-copy>div{margin:16px 0}
.study-focus .study-note{margin:14px 0;padding:14px 16px;border-left:3px solid #c8d6df;background:#f7fafb}
.study-focus .study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}
.study-focus .study-grid>.study-card{margin:0;padding:13px 15px;border:1px solid var(--line);background:#fafcfb;min-width:0}
.study-focus .study-card strong{display:block;margin-bottom:6px;color:var(--ink)}
@media(max-width:767px){.vocab-guide{margin-top:22px;padding-top:18px}.vocab-guide h2{font-size:20px}.example-note{font-size:11px}}
html[data-theme="dark"] .vocab-guide{border-color:#35423e}
html[data-theme="dark"] .study-focus .migrated-copy code{background:#17201e;border-color:#36433f;color:#dfe8e4}
html[data-theme="dark"] .study-focus .study-note{background:#171e1c;border-left-color:#547183}
html[data-theme="dark"] .study-focus .study-grid>.study-card{background:#171e1c;border-color:#35423e}

/* source: inline-batch-extension */
/* N2 vocabulary 18-page redesign v2 */
body.vocab18-v2 .words-grid{gap:20px}
body.vocab18-v2 .word-entry{padding:22px 22px 20px;background:#fff;box-shadow:0 1px 0 rgba(29,48,41,.025)}
body.vocab18-v2 .word-title{font-size:30px;line-height:1.34}
body.vocab18-v2 .word-title ruby{ruby-position:over}
body.vocab18-v2 .word-title rt{font-size:.38em;letter-spacing:.02em;transform:translateY(-1px)}
body.vocab18-v2 .level-tag,body.vocab18-v2 .pos-tag{opacity:.82}
body.vocab18-v2 .word-answer{margin-top:17px}
body.vocab18-v2 .meaning-block{padding:11px 13px}
body.vocab18-v2 .word-meaning{font-size:17px;line-height:1.55}
body.vocab18-v2 .word-point{margin-top:13px;line-height:1.7}
body.vocab18-v2 .example-block{margin-top:15px;padding:13px 14px 12px}
body.vocab18-v2 .example-top{justify-content:flex-start;margin-bottom:4px}
body.vocab18-v2 .example-line{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:10px;align-items:start}
body.vocab18-v2 .example-line .example-jp{margin-top:5px}
body.vocab18-v2 .example-line .example-speak{margin-top:3px}
body.vocab18-v2 .example-zh{margin-top:5px}
body.vocab18-v2[data-page-kind="response-adv"] .meaning-block{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center;padding:10px 12px}
body.vocab18-v2[data-page-kind="response-adv"] .meaning-label{margin:0;white-space:nowrap}
body.vocab18-v2[data-page-kind="response-adv"] .word-meaning{margin:0;font-size:16px}
body.vocab18-v2[data-page-kind="katakana"] .word-point{display:flex;gap:9px;align-items:baseline;padding:8px 11px;border-left:0;background:#f7f8f7}
body.vocab18-v2[data-page-kind="katakana"] .word-point span{display:inline;margin:0;white-space:nowrap}
body.vocab18-v2[data-page-kind="homophone"] .word-title{font-size:29px}

body.vocab18-v2 .study-focus{max-width:1040px;margin:52px auto 0;padding:34px 0 0;border-top:1px solid var(--line-strong)}
body.vocab18-v2 .study-focus-head{max-width:820px;margin:0 auto 24px;text-align:center}
body.vocab18-v2 .study-focus .focus-eyebrow{margin:0 0 7px;color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.16em}
body.vocab18-v2 .study-focus-head h2{margin:0;font:700 28px/1.4 var(--serif);letter-spacing:-.02em}
body.vocab18-v2 .study-focus-intro{margin:10px auto 0;color:#66736e;font-size:14px;line-height:1.9;max-width:760px}
body.vocab18-v2 .focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
body.vocab18-v2 .focus-card{min-width:0;border:1px solid #e0e6e3;border-top:3px solid #7a94a3;background:#fff;padding:18px 18px 17px}
body.vocab18-v2 .focus-card:nth-child(2){border-top-color:#8c9d79}
body.vocab18-v2 .focus-card:nth-child(3){border-top-color:#a78a6b}
body.vocab18-v2 .focus-card .focus-no{margin:0 0 8px;color:#7d8984;font-size:10.5px;font-weight:800;letter-spacing:.08em}
body.vocab18-v2 .focus-card h3{margin:0;font:700 18px/1.45 var(--serif);color:#21342d}
body.vocab18-v2 .focus-card p{margin:9px 0 0;color:#596762;font-size:13.5px;line-height:1.85}
body.vocab18-v2 .daily-training{margin-top:18px;border:1px solid #e1e6e3;background:#fafbf9;padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
body.vocab18-v2 .daily-training strong{color:#29483c;white-space:nowrap;font-size:13px}
body.vocab18-v2 .daily-training p{margin:0;color:#5d6a65;font-size:13px;line-height:1.8}

body.vocab18-v2 .homophone-panel{margin:0 0 22px;border:1px solid #dde4e0;background:#fbfcfb;padding:20px}
body.vocab18-v2 .homophone-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}
body.vocab18-v2 .homophone-panel h3{margin:0;font:700 20px/1.45 var(--serif)}
body.vocab18-v2 .homophone-panel small{color:#75817c;font-size:11px}
body.vocab18-v2 .homophone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.vocab18-v2 .homophone-card{min-width:0;border:1px solid #e2e7e4;background:#fff;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline}
body.vocab18-v2 .homophone-key{font:700 19px/1.2 var(--serif);color:#294f62;min-width:1.5em}
body.vocab18-v2 .homophone-examples{color:#5c6964;font-size:13px;line-height:1.65}
body.vocab18-v2 .sound-alert{margin-top:12px;border-left:3px solid #a07161;background:#fff8f5;padding:11px 13px;color:#665954;font-size:13px;line-height:1.75}

@media(max-width:900px){body.vocab18-v2 .focus-grid{grid-template-columns:1fr}body.vocab18-v2 .homophone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 body.vocab18-v2 .word-entry{padding:31px 0 34px}
 body.vocab18-v2 .word-title{font-size:32px}
 body.vocab18-v2[data-page-kind="response-adv"] .meaning-block{grid-template-columns:1fr;gap:3px}
 body.vocab18-v2 .study-focus{margin-top:40px;padding-top:28px}
 body.vocab18-v2 .study-focus-head{text-align:left;margin-bottom:19px}
 body.vocab18-v2 .study-focus-head h2{font-size:24px}
 body.vocab18-v2 .study-focus-intro{font-size:13.5px}
 body.vocab18-v2 .focus-grid{gap:12px}
 body.vocab18-v2 .daily-training{grid-template-columns:1fr;gap:5px}
 body.vocab18-v2 .homophone-panel{padding:16px 14px}
 body.vocab18-v2 .homophone-panel-head{display:block}
 body.vocab18-v2 .homophone-panel small{display:block;margin-top:4px}
 body.vocab18-v2 .homophone-grid{grid-template-columns:1fr}
}
html[data-theme="dark"] body.vocab18-v2 .focus-card,html[data-theme="dark"] body.vocab18-v2 .homophone-card{background:#17201d;border-color:#34413c}
html[data-theme="dark"] body.vocab18-v2 .homophone-panel,html[data-theme="dark"] body.vocab18-v2 .daily-training{background:#141c19;border-color:#34413c}
html[data-theme="dark"] body.vocab18-v2 .focus-card h3,html[data-theme="dark"] body.vocab18-v2 .homophone-panel h3,html[data-theme="dark"] body.vocab18-v2 .daily-training strong{color:#e4ece8}
html[data-theme="dark"] body.vocab18-v2 .focus-card p,html[data-theme="dark"] body.vocab18-v2 .daily-training p,html[data-theme="dark"] body.vocab18-v2 .homophone-examples{color:#acb8b3}

/* source: vocab18-v3-final */
/* N2 vocabulary 18-page v3: central reading axis + wrap hygiene */
body.vocab18-v3 .lead,
body.vocab18-v3 .study-focus-intro,
body.vocab18-v3 .focus-card p,
body.vocab18-v3 .daily-training p{ text-wrap:pretty; }
body.vocab18-v3 .hero-training-line{display:block;margin-top:5px;}

/* Study focus: keep the eye on one centered vertical reading axis. */
body.vocab18-v3 .study-focus{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vocab18-v3 .study-focus-head{
  width:100%!important;
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vocab18-v3 .focus-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.vocab18-v3 .focus-card{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:2px!important;
  padding:18px 20px!important;
  border:1px solid #dde4e0!important;
  border-left:3px solid #7a94a3!important;
  border-top-width:1px!important;
  background:#fff!important;
}
body.vocab18-v3 .focus-card:nth-child(2){border-left-color:#8c9d79!important;}
body.vocab18-v3 .focus-card:nth-child(3){border-left-color:#a78a6b!important;}
body.vocab18-v3 .focus-card .focus-no{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  margin:2px 0 0!important;
  color:#77847f!important;
  font-size:10.5px!important;
  line-height:1.55!important;
}
body.vocab18-v3 .focus-card h3{
  grid-column:2!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.5!important;
}
body.vocab18-v3 .focus-card p{
  grid-column:2!important;
  margin:6px 0 0!important;
  max-width:640px!important;
  font-size:13.5px!important;
  line-height:1.85!important;
}
body.vocab18-v3 .daily-training{
  width:100%!important;
  margin:14px auto 0!important;
  padding:14px 16px!important;
}

/* Homophone/near-sound panels: no orphan single characters; center incomplete rows. */
body.vocab18-v3 .homophone-panel{width:100%!important;margin-left:auto!important;margin-right:auto!important;}
body.vocab18-v3 .homophone-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
}
body.vocab18-v3 .homophone-card{
  flex:0 1 calc((100% - 20px)/3)!important;
  min-width:0!important;
  max-width:calc((100% - 20px)/3)!important;
  grid-template-columns:minmax(42px,auto) minmax(0,1fr)!important;
  align-items:start!important;
}
body.vocab18-v3 .homophone-examples{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:2px 7px!important;
  min-width:0!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body.vocab18-v3 .homo-item{white-space:nowrap!important;display:inline-block!important;}
body.vocab18-v3 .homo-item + .homo-item::before{content:"・";margin-right:7px;color:#8b9691;}

/* Response-adverb cards: keep the required ending compact. */
body.vocab18-v3[data-page-kind="response-adv"] .meaning-block{
  min-height:0!important;
  padding:9px 11px!important;
  gap:8px 12px!important;
}
body.vocab18-v3[data-page-kind="response-adv"] .word-meaning{line-height:1.5!important;}

@media(max-width:900px){
  body.vocab18-v3 .study-focus{width:min(100%,760px)!important;}
  body.vocab18-v3 .homophone-card{flex-basis:calc((100% - 10px)/2)!important;max-width:calc((100% - 10px)/2)!important;}
}
@media(max-width:767px){
  body.vocab18-v3 .hero-training-line{margin-top:6px;}
  body.vocab18-v3 .focus-card{display:block!important;padding:16px 15px!important;}
  body.vocab18-v3 .focus-card .focus-no{margin:0 0 6px!important;}
  body.vocab18-v3 .focus-card h3{font-size:17px!important;}
  body.vocab18-v3 .focus-card p{margin-top:7px!important;max-width:none!important;}
  body.vocab18-v3 .homophone-card{flex:1 1 100%!important;max-width:100%!important;}
  body.vocab18-v3 .homophone-examples{gap:2px 5px!important;}
  body.vocab18-v3 .daily-training{display:block!important;}
  body.vocab18-v3 .daily-training strong{display:block;margin-bottom:5px;}
}
html[data-theme="dark"] body.vocab18-v3 .focus-card{background:#17201d!important;border-color:#34413c!important;}
html[data-theme="dark"] body.vocab18-v3 .focus-card:nth-child(1){border-left-color:#6f9b90!important;}
html[data-theme="dark"] body.vocab18-v3 .focus-card:nth-child(2){border-left-color:#8c9d79!important;}
html[data-theme="dark"] body.vocab18-v3 .focus-card:nth-child(3){border-left-color:#a78a6b!important;}

/* source: vocab18-v4-furigana-and-focus */
/* v4: stronger focus labels + furigana in learning aids */
body.vocab18-v4 .focus-card .focus-no{
  font-size:12.5px!important;
  line-height:1.5!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
  color:#66756f!important;
}
body.vocab18-v4 .focus-card .focus-no::first-line{font-weight:850!important;}
body.vocab18-v4 .homophone-key ruby,
body.vocab18-v4 .homophone-examples ruby,
body.vocab18-v4 .focus-card h3 ruby{
  ruby-position:over;
  ruby-align:center;
}
body.vocab18-v4 .homophone-key rt,
body.vocab18-v4 .homophone-examples rt,
body.vocab18-v4 .focus-card h3 rt{
  font-family:var(--sans);
  font-size:.58em;
  line-height:1;
  color:#73817b;
  font-weight:650;
  letter-spacing:0;
}
body.vocab18-v4 .homophone-key{min-width:3.2em!important;}
body.vocab18-v4 .homophone-key ruby{font-size:1em;}
body.vocab18-v4 .homophone-examples{row-gap:7px!important;}
body.vocab18-v4 .homo-item ruby{white-space:nowrap;}
body.vocab18-v4 .word-title ruby{ruby-position:over;ruby-align:center;}
body.vocab18-v4 .word-title rt{font-size:.42em!important;line-height:1;color:#70808a;font-weight:600;}
@media(max-width:767px){
 body.vocab18-v4 .focus-card .focus-no{font-size:12px!important;margin-bottom:7px!important;}
 body.vocab18-v4 .homophone-key{min-width:3em!important;}
}
html[data-theme="dark"] body.vocab18-v4 .focus-card .focus-no{color:#a7b4ae!important;}
html[data-theme="dark"] body.vocab18-v4 .homophone-key rt,
html[data-theme="dark"] body.vocab18-v4 .homophone-examples rt,
html[data-theme="dark"] body.vocab18-v4 .focus-card h3 rt{color:#9eaaa5!important;}

/* source: vocab18-v5-readability-refinement */
/* v5: align compact learning-aid typography with previously approved vocabulary reference pages. */
body.vocab18-v5 .focus-card{
  grid-template-columns:112px minmax(0,1fr)!important;
  column-gap:20px!important;
  padding:19px 20px!important;
}
body.vocab18-v5 .focus-card .focus-no{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:820!important;
  letter-spacing:.025em!important;
  color:#60706a!important;
}
body.vocab18-v5 .focus-card .focus-no.focus-no-nowrap{white-space:nowrap!important;}
body.vocab18-v5 .focus-card h3{
  font-size:19px!important;
  line-height:1.5!important;
}
body.vocab18-v5 .focus-card p{
  font-size:14.5px!important;
  line-height:1.85!important;
}

/* Homophone / near-sound reference cards: representative sound first, real vocabulary second. */
body.vocab18-v5 .homophone-panel{padding:22px!important;}
body.vocab18-v5 .homophone-panel h3{font-size:22px!important;}
body.vocab18-v5 .homophone-panel small{font-size:12px!important;}
body.vocab18-v5 .homophone-grid{gap:11px!important;}
body.vocab18-v5 .homophone-card{
  padding:15px 16px!important;
  min-height:70px!important;
  grid-template-columns:minmax(54px,auto) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
}
body.vocab18-v5 .homophone-key{
  font-size:22px!important;
  line-height:1.25!important;
  min-width:3.35em!important;
}
body.vocab18-v5 .homophone-examples{
  font-size:15.5px!important;
  line-height:1.7!important;
  gap:4px 8px!important;
}
body.vocab18-v5 .homophone-key rt,
body.vocab18-v5 .homophone-examples rt{
  font-size:.62em!important;
  line-height:1!important;
}
body.vocab18-v5 .sound-alert{font-size:14px!important;line-height:1.75!important;}

/* Hero line-break rhythm for intentionally split long headings. */
body.vocab18-v5 .hero-title-line{display:block;}
body.vocab18-v5 .article-head h1.hero-title-fixed-two-lines{
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:1.12!important;
  text-wrap:balance!important;
}
body.vocab18-v5 .article-head .lead.hero-lead-fixed-two-lines{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:1.85!important;
}
body.vocab18-v5 .hero-lead-line{display:block;}

@media(max-width:900px){
 body.vocab18-v5 .focus-card{grid-template-columns:104px minmax(0,1fr)!important;column-gap:16px!important;}
 body.vocab18-v5 .homophone-key{font-size:21px!important;}
 body.vocab18-v5 .homophone-examples{font-size:15px!important;}
}
@media(max-width:767px){
 body.vocab18-v5 .focus-card{display:block!important;padding:17px 15px!important;}
 body.vocab18-v5 .focus-card .focus-no{font-size:13.5px!important;margin-bottom:7px!important;}
 body.vocab18-v5 .focus-card .focus-no.focus-no-nowrap{white-space:normal!important;}
 body.vocab18-v5 .focus-card h3{font-size:18px!important;}
 body.vocab18-v5 .focus-card p{font-size:14px!important;}
 body.vocab18-v5 .homophone-panel{padding:17px 14px!important;}
 body.vocab18-v5 .homophone-card{min-height:0!important;padding:14px 15px!important;grid-template-columns:minmax(50px,auto) minmax(0,1fr)!important;}
 body.vocab18-v5 .homophone-key{font-size:21px!important;}
 body.vocab18-v5 .homophone-examples{font-size:15px!important;}
 body.vocab18-v5 .article-head h1.hero-title-fixed-two-lines{font-size:clamp(34px,10vw,44px)!important;line-height:1.14!important;}
 body.vocab18-v5 .hero-title-line,body.vocab18-v5 .hero-lead-line{display:inline;}
 body.vocab18-v5 .hero-title-line + .hero-title-line::before{content:" ";}
 body.vocab18-v5 .hero-lead-line + .hero-lead-line::before{content:" ";}
}
html[data-theme="dark"] body.vocab18-v5 .focus-card .focus-no{color:#b2beb9!important;}

/* source: n2-typography-spec-v1-enforcement */
/* =========================================================
   N2 TYPOGRAPHY & READING SPEC v1 — authoritative enforcement
   Applied to the confirmed 18-page vocabulary batch.
   This final layer exists to prevent older page-level patches from
   shrinking learning text or ruby below the approved reading floor.
   ========================================================= */

/* Core vocabulary hierarchy */
body.vocab18-v6 .word-title{
  font-size:31px!important;
  line-height:1.28!important;
}
body.vocab18-v6 .word-title ruby{
  ruby-position:over!important;
  ruby-align:center!important;
}
body.vocab18-v6 .word-title rt{
  font-family:var(--sans)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:600!important;
  color:#70808a!important;
  letter-spacing:.01em!important;
  transform:none!important;
}
body.vocab18-v6 .word-meaning{
  font-size:18px!important;
  line-height:1.6!important;
}
body.vocab18-v6 .word-point{
  font-size:14px!important;
  line-height:1.78!important;
}
body.vocab18-v6 .example-jp{
  font-size:17px!important;
  line-height:1.95!important;
}
body.vocab18-v6 .example-jp ruby{
  ruby-position:over!important;
  ruby-align:center!important;
}
body.vocab18-v6 .example-jp rt{
  font-size:11.75px!important;
  line-height:1!important;
  font-weight:600!important;
  color:#7d8984!important;
  letter-spacing:0!important;
}
body.vocab18-v6 .example-zh{
  font-size:14px!important;
  line-height:1.75!important;
}

/* Reading axis and study-focus hierarchy */
body.vocab18-v6 .study-focus{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vocab18-v6 .study-focus-head{
  width:100%!important;
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vocab18-v6 .study-focus-intro{
  font-size:15px!important;
  line-height:1.85!important;
}
body.vocab18-v6 .focus-card{
  grid-template-columns:118px minmax(0,1fr)!important;
  column-gap:20px!important;
  padding:19px 20px!important;
}
body.vocab18-v6 .focus-card .focus-no{
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:820!important;
  letter-spacing:.02em!important;
  color:#60706a!important;
}
body.vocab18-v6 .focus-card .focus-no.focus-no-nowrap{
  white-space:nowrap!important;
}
body.vocab18-v6 .focus-card h3{
  font-size:19px!important;
  line-height:1.5!important;
}
body.vocab18-v6 .focus-card h3 rt{
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
}
body.vocab18-v6 .focus-card p{
  font-size:15px!important;
  line-height:1.85!important;
}
body.vocab18-v6 .daily-training p,
body.vocab18-v6 .vocab-related p{
  font-size:15px!important;
  line-height:1.85!important;
}

/* Homophone / near-sound reference: explicit sizes by information role. */
body.vocab18-v6 .homophone-card{
  min-height:76px!important;
  padding:16px 17px!important;
  grid-template-columns:minmax(62px,auto) minmax(0,1fr)!important;
  gap:14px!important;
}
body.vocab18-v6 .homophone-key-sound{
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:750!important;
}
body.vocab18-v6 .homophone-key-kanji{
  font-size:23px!important;
  line-height:1.3!important;
  font-weight:750!important;
}
body.vocab18-v6 .homophone-key-kanji rt{
  font-size:12px!important;
  line-height:1!important;
  font-weight:600!important;
  color:#74817c!important;
}
body.vocab18-v6 .homophone-examples{
  font-size:16.5px!important;
  line-height:1.72!important;
  gap:5px 9px!important;
}
body.vocab18-v6 .homophone-examples rt{
  font-size:11px!important;
  line-height:1!important;
  font-weight:600!important;
  color:#74817c!important;
}
body.vocab18-v6 .homo-item{
  white-space:nowrap!important;
}
body.vocab18-v6 .sound-alert{
  font-size:14px!important;
  line-height:1.78!important;
}

/* Hero/supporting prose: keep long lines readable without shrinking text. */
body.vocab18-v6 .lead{
  font-size:16px!important;
  line-height:1.9!important;
}

@media(max-width:900px){
  body.vocab18-v6 .focus-card{
    grid-template-columns:110px minmax(0,1fr)!important;
    column-gap:16px!important;
  }
  body.vocab18-v6 .homophone-examples{font-size:16px!important;}
}

@media(max-width:767px){
  body.vocab18-v6 .word-title{
    font-size:34px!important;
    line-height:1.28!important;
  }
  body.vocab18-v6 .word-title rt{
    font-size:14px!important;
  }
  body.vocab18-v6 .word-point{font-size:14px!important;}
  body.vocab18-v6 .example-jp{font-size:17px!important;}
  body.vocab18-v6 .example-jp rt{font-size:11.75px!important;}
  body.vocab18-v6 .example-zh{font-size:14px!important;}
  body.vocab18-v6 .focus-card{
    display:block!important;
    padding:17px 15px!important;
  }
  body.vocab18-v6 .focus-card .focus-no{
    font-size:14px!important;
    margin-bottom:7px!important;
  }
  body.vocab18-v6 .focus-card .focus-no.focus-no-nowrap{
    white-space:nowrap!important;
  }
  body.vocab18-v6 .focus-card h3{font-size:18px!important;}
  body.vocab18-v6 .focus-card h3 rt{font-size:11.5px!important;}
  body.vocab18-v6 .focus-card p{font-size:15px!important;}
  body.vocab18-v6 .homophone-card{
    min-height:0!important;
    padding:15px 15px!important;
    grid-template-columns:minmax(60px,auto) minmax(0,1fr)!important;
  }
  body.vocab18-v6 .homophone-key-sound{font-size:18px!important;}
  body.vocab18-v6 .homophone-key-kanji{font-size:23px!important;}
  body.vocab18-v6 .homophone-key-kanji rt{font-size:12px!important;}
  body.vocab18-v6 .homophone-examples{font-size:16px!important;}
  body.vocab18-v6 .homophone-examples rt{font-size:11px!important;}
  body.vocab18-v6 .lead{font-size:16px!important;}
}

html[data-theme="dark"] body.vocab18-v6 .word-title rt,
html[data-theme="dark"] body.vocab18-v6 .example-jp rt,
html[data-theme="dark"] body.vocab18-v6 .focus-card h3 rt,
html[data-theme="dark"] body.vocab18-v6 .homophone-key-kanji rt,
html[data-theme="dark"] body.vocab18-v6 .homophone-examples rt{
  color:#a5b1ac!important;
}

/* source: vocab18-v7-spec-v1-1 */
/* =========================================================
   N2 TYPOGRAPHY & READING SPEC v1.1 — 18-page vocabulary batch
   Layout refinements confirmed after Spec v1:
   - Homophone cards stack reading-group above actual vocabulary.
   - Study Focus label/content get a wider fixed separation.
   - Japanese learning keywords in support/focus areas use ruby.
   - Long Hero titles use semantic manual break points, never split a word.
   ========================================================= */

/* Study Focus: clearer left-label / right-content separation. */
body.vocab18-v7 .study-focus{width:min(100%,820px)!important;max-width:820px!important;}
body.vocab18-v7 .focus-card{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  column-gap:30px!important;
  row-gap:10px!important;
  align-items:start!important;
  padding:21px 22px!important;
}
body.vocab18-v7 .focus-card .focus-no{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  margin:2px 0 0!important;
  white-space:nowrap!important;
  font-size:14.5px!important;
  line-height:1.45!important;
}
body.vocab18-v7 .focus-card h3{
  grid-column:2!important;
  margin:0!important;
  font-size:19px!important;
  line-height:1.55!important;
}
body.vocab18-v7 .focus-card p:not(.focus-no){
  grid-column:2!important;
  margin:0!important;
  max-width:none!important;
  font-size:15px!important;
  line-height:1.9!important;
}
body.vocab18-v7 .focus-card h3 ruby,
body.vocab18-v7 .focus-card p ruby{ruby-position:over!important;ruby-align:center!important;}
body.vocab18-v7 .focus-card h3 rt{font-size:12px!important;line-height:1!important;font-weight:600!important;}
body.vocab18-v7 .focus-card p rt{font-size:11px!important;line-height:1!important;font-weight:600!important;color:#74817c!important;}

/* Homophone / near-sound: preserve approved type sizes, change layout instead of shrinking. */
body.vocab18-v7 .homophone-panel{padding:22px!important;}
body.vocab18-v7 .homophone-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:12px!important;
}
body.vocab18-v7 .homophone-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  flex:0 1 calc((100% - 24px)/3)!important;
  max-width:calc((100% - 24px)/3)!important;
  min-width:0!important;
  min-height:112px!important;
  padding:18px 18px 17px!important;
  gap:13px!important;
}
body.vocab18-v7 .homophone-key{min-width:0!important;width:auto!important;}
body.vocab18-v7 .homophone-key-sound{font-size:19px!important;line-height:1.35!important;}
body.vocab18-v7 .homophone-key-kanji{font-size:24px!important;line-height:1.3!important;}
body.vocab18-v7 .homophone-key-kanji rt{font-size:12px!important;}
body.vocab18-v7 .homophone-examples{
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:8px 10px!important;
  font-size:16.5px!important;
  line-height:1.75!important;
}
body.vocab18-v7 .homophone-examples rt{font-size:11px!important;}
body.vocab18-v7 .homo-item{display:inline-block!important;white-space:nowrap!important;}
body.vocab18-v7 .homo-item + .homo-item::before{margin-right:8px!important;}

/* Hero line-break hygiene: no mid-word breaks and balanced manual rows. */
body.vocab18-v7 .article-head h1,
body.vocab18-v7 .article-head .lead{word-break:keep-all!important;overflow-wrap:normal!important;text-wrap:balance;}
body.vocab18-v7 .hero-title-line,body.vocab18-v7 .hero-lead-line{display:block;}

@media(max-width:980px){
  body.vocab18-v7 .focus-card{grid-template-columns:170px minmax(0,1fr)!important;column-gap:24px!important;}
  body.vocab18-v7 .homophone-card{flex-basis:calc((100% - 12px)/2)!important;max-width:calc((100% - 12px)/2)!important;}
}
@media(max-width:767px){
  body.vocab18-v7 .focus-card{display:block!important;padding:18px 16px!important;}
  body.vocab18-v7 .focus-card .focus-no{white-space:nowrap!important;margin:0 0 10px!important;font-size:14px!important;}
  body.vocab18-v7 .focus-card h3{font-size:18px!important;margin-bottom:9px!important;}
  body.vocab18-v7 .focus-card p:not(.focus-no){font-size:15px!important;}
  body.vocab18-v7 .homophone-card{flex:1 1 100%!important;max-width:100%!important;min-height:0!important;}
  body.vocab18-v7 .hero-title-line,body.vocab18-v7 .hero-lead-line{display:inline;}
  body.vocab18-v7 .hero-title-line + .hero-title-line::before,
  body.vocab18-v7 .hero-lead-line + .hero-lead-line::before{content:" ";}
}
html[data-theme="dark"] body.vocab18-v7 .focus-card p rt{color:#a5b1ac!important;}
