.vocabulary-assets[hidden] { display: none; }
.word-learning { margin-top: 22px; }
.scene-coverage { display: grid; gap: 8px; margin-top: 20px; padding: 16px 18px; border: 1px solid light-dark(rgb(172,195,182), #51705f); border-radius: 10px; background: light-dark(rgba(241,248,245,0.400), #12251d66); }
.scene-coverage strong { color: light-dark(rgb(51,102,73), #d1e8db); font-size: 14px; font-weight: 550; }
.scene-coverage > span { color: light-dark(rgb(65,88,75), #a9c0b3); font-size: 12px; line-height: 1.7; }
.scene-coverage > .btn { justify-self: start; }
.encounter-scene-setting { display: grid; gap: 8px; margin: 24px 0 -8px; line-height: 1.7; font-size: 13px; color: var(--text-dim); }
.encounter-scene-setting small { color: light-dark(rgb(55,98,75), #b7d7c6); font-size: 12px; }
.scene-summary-invitation { padding: 22px; margin: 24px 0; border: 1px solid light-dark(rgb(175,192,183), #648071); border-radius: 14px; background: linear-gradient(135deg, light-dark(rgb(243,247,245), #283e33), light-dark(rgb(242,246,247), #212e35)); }
.scene-summary-invitation h3 { font-size: 20px; margin: 10px 0; }
.scene-summary-invitation > p { font-size: 13px; line-height: 1.7; color: var(--text-dim); }
.scene-summary-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 18px; }
.scene-summary-choice { text-align: left; display: grid; gap: 8px; padding: 13px 15px; border: 1px solid light-dark(rgba(184,184,184,0.133), #ffffff22); border-radius: 9px; background: light-dark(rgba(242,248,244,0.400), #13231966); }
.scene-summary-choice:hover { border-color: light-dark(rgb(165,202,183), #92bfa8); }
.scene-summary-choice strong { font: 500 19px var(--serif); color: light-dark(rgb(53,100,72), #d4e8dc); overflow-wrap: anywhere; }
.scene-summary-choice span { color: light-dark(rgb(63,90,74), #aec6b8); font-size: 12px; }
.word-scene-dialog { color: var(--text); background: light-dark(rgb(243,247,246), #1a2522); border: 1px solid light-dark(rgb(176,192,183), #586e62); border-radius: 20px; width: min(940px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 48px); padding: 0; box-shadow: 0 28px 100px #0008; overscroll-behavior: contain; }
.word-scene-dialog::backdrop { background: light-dark(rgba(241,249,244,0.788), #07100bc9); backdrop-filter: blur(5px); }
.word-scene-top { display: flex; justify-content: space-between; align-items: center; padding: 15px 25px; border-bottom: 1px solid light-dark(rgba(184,184,184,0.082), #ffffff15); background: light-dark(rgb(243,247,246), #1a2522); position: sticky; top: 0; z-index: 2; gap: 10px; }
.word-scene-body { padding: 24px 30px 26px; }
.scene-heading { margin-bottom: 24px; }
.scene-domain { font-size: 12px; letter-spacing: .05em; color: light-dark(rgb(64,89,75), #b5cabe); }
.scene-heading h2 { font-size: clamp(23px, 3vw, 29px); letter-spacing: -.02em; margin: 10px 0 12px; }
.scene-word { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 0; }
.scene-word strong { font: 500 25px var(--serif); color: light-dark(rgb(48,105,74), #cce8d9); }
.scene-word span { font-size: 13px; color: light-dark(rgb(67,86,76), #b8c7bf); }
.scene-columns { display: grid; grid-template-columns: 1fr 1.1fr; gap: 26px; align-items: start; }
.scene-incoming { padding: 22px; background: light-dark(rgb(238,234,221), #eeeadd); border: 1px solid light-dark(rgb(204,195,163), #e4dfce); border-radius: 4px 14px 14px 4px; color: light-dark(rgb(44,58,49), #2c3a31); }
.scene-setting { font-size: 13px; line-height: 1.8; margin: 0; color: light-dark(rgb(81,97,82), #526253); }
.scene-incoming > blockquote { font: 19px/1.85 var(--serif); padding: 0; margin: 18px 0; overflow-wrap: anywhere; }
.scene-origin { font-size: 10px; line-height: 1.7; color: light-dark(rgb(83,95,83), #606e60); padding-top: 14px; border-top: 1px solid light-dark(rgba(184,190,178,0.400), #acb2a466); margin-bottom: 0; }
.scene-incoming .audio-player-shell { margin-top: 22px; color: light-dark(rgb(60,93,71), #d5e4da); background: light-dark(rgb(243,247,245), #25392e); border-radius: 10px; }
.scene-compose h3 { font-size: 19px; margin: 10px 0; }
.scene-intent { font-size: 14px; line-height: 1.9; margin: 14px 0 18px; color: light-dark(rgb(59,94,71), #dfebe3); }
.scene-reply { font: 17px/1.8 var(--serif); min-height: 132px; resize: vertical; background: light-dark(rgb(242,248,245), #101c17); border-color: light-dark(rgb(175,193,182), #536b5d); }
.scene-save-note { font-size: 11px; color: light-dark(rgb(68,85,75), #9fb3a7); }
.scene-compose .vocab-actions { gap: 8px; align-items: flex-start; margin-bottom: 8px; }
.scene-compose .btn { min-height: 40px; white-space: normal; }
.scene-compose .journey-hint { font-size: 13px; padding: 14px; }
.scene-sample { border-left: 2px solid light-dark(rgb(202,197,165), #b7b086); padding: 5px 14px; margin-top: 10px; background: light-dark(rgba(230,230,230,0.024), #ffffff06); }
.scene-sample p { font: 17px/1.8 var(--serif); margin: 6px 0; }
.scene-sample small { font-size: 11px; line-height: 1.7; color: light-dark(rgb(90,88,63), #bcba9f); }
.scene-status, .scene-error { font-size: 12px; line-height: 1.8; }
.scene-status { color: light-dark(rgb(54,99,74), #bddbca); }
.scene-error:not([hidden]) { border: 1px solid var(--red); padding: 12px; border-radius: 8px; color: var(--red); }
.scene-result { border: 1px solid light-dark(rgb(172,195,181), #435d4d); border-radius: 12px; background: light-dark(rgb(242,247,245), #14221b); padding: 20px 24px; margin-top: 24px; font-size: 14px; line-height: 1.85; }
.scene-result > blockquote { font: 19px/1.7 var(--serif); margin: 0 0 14px; padding: 0; color: light-dark(rgb(64,89,72), #e0e9e3); overflow-wrap: anywhere; }
.scene-result h3 { font-size: 17px; }
.scene-outcome.met { color: light-dark(rgb(37,116,67), #b8e8ca); }
.scene-outcome.partial, .scene-outcome.missed { color: light-dark(rgb(124,91,29), #e9d0a1); }
.scene-understood { display: grid; gap: 5px; padding: 12px 15px; background: light-dark(rgba(230,230,230,0.024), #ffffff06); border-radius: 8px; }
.scene-understood small { font-size: 11px; color: light-dark(rgb(62,91,74), #9bbba8); }
.scene-target-note { font-size: 12px; color: light-dark(rgb(65,88,71), #b6c9bb); }
.scene-earlier { font-size: 12px; color: light-dark(rgb(64,89,71), #c0d2c5); margin-top: 20px; }
.scene-earlier summary { cursor: pointer; }
.scene-footer { display: flex; align-items: center; gap: 24px; justify-content: space-between; margin-top: 24px; padding-top: 18px; border-top: 1px solid light-dark(rgba(184,184,184,0.082), #ffffff15); }
.scene-footer p { font-size: 11px; line-height: 1.9; color: light-dark(rgb(67,86,73), #9db2a4); max-width: 540px; margin: 0; }
.scene-footer .btn { flex: none; }
@media (max-width: 700px) {
  .word-scene-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 14px; }
  .word-scene-top { padding: 12px 16px; }
  .word-scene-top .usage-kicker { font-size: 9px; }
  .word-scene-body { padding: 20px 18px; }
  .scene-columns { grid-template-columns: 1fr; gap: 24px; }
  .scene-incoming { padding: 18px; }
  .scene-footer { flex-direction: column; align-items: stretch; gap: 14px; }
  .scene-summary-choices { grid-template-columns: 1fr; }
  .scene-result { padding: 18px; }
}
.word-learning p { text-wrap: pretty; }
.memory-rhythm { letter-spacing: .03em; color: light-dark(rgb(56,97,77), #b6d5c6) !important; }
.memory-cue, .memory-focus { color: var(--text-dim); font-size: 12px; line-height: 1.7; margin: 10px 0; }
.memory-cue[data-cue="meaning"], .memory-cue[data-cue="context"] { color: light-dark(rgb(54,99,78), #b8d8c9); }
.memory-next-step { color: light-dark(rgb(43,110,84), #bce5d5); background: var(--green-soft); border-left: 2px solid light-dark(rgb(170,197,185), #709d89); padding: 12px 15px; font-size: 13px; line-height: 1.7; border-radius: 0 8px 8px 0; }
.memory-schedule { color: var(--text-dim); font-size: 12px; line-height: 1.8; }
.memory-profile { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 4px; }
.memory-axes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.memory-axes > div { display: grid; gap: 6px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; }
.memory-axes strong { font-size: 12px; font-weight: 500; color: light-dark(rgb(59,94,79), #c2d9cf); }
.memory-axes span, .memory-axes small { font-size: 11px; line-height: 1.6; color: var(--text-dim); }
.journey-summary-words .memory-word-due { grid-column: 2; color: light-dark(rgb(64,89,78), #a6bfb4); }
@media (max-width: 540px) {
  .memory-axes { grid-template-columns: 1fr; }
  .journey-summary-words .memory-word-due { grid-column: 1; }
}
.journey-intro { margin-bottom: 24px; }
.journey-intro h2 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.7px; margin: 8px 0; font-weight: 650; }
.journey-intro p { color: var(--text-dim); font-size: 14px; margin: 6px 0; }
.journey-home-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; }
.journey-feature { padding: 28px; border: 1px solid light-dark(rgb(165,202,190), #315448); border-radius: 18px; background: linear-gradient(140deg, light-dark(rgb(242,248,246), #1c342e), light-dark(rgb(242,245,247), #19232b)); }
.journey-feature h2 { font-size: 27px; line-height: 1.4; margin: 18px 0 8px; }
.journey-feature > p { color: var(--text-dim); font-size: 14px; }
.journey-feature .btn { margin-top: 10px; min-height: 44px; }
.journey-word-preview { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0; }
.journey-word-preview span { font-family: var(--serif); border-bottom: 1px solid light-dark(rgb(168,200,190), #5d9382); color: light-dark(rgb(41,112,88), #b8e5d6); }
.journey-review-box { padding: 24px; display: flex; flex-direction: column; align-items: flex-start; }
.journey-review-box h3 { margin: 18px 0 6px; }
.journey-review-box p { color: var(--text-dim); font-size: 13px; flex: 1; }
.journey-review-box .btn { margin-top: 12px; }
.journey-section-title { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 28px 0 14px; }
.journey-section-title h3, .journey-section-title h2 { margin: 0; }
.journey-section-title span { color: var(--text-dim); font-size: 12px; }
.journey-pack-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.journey-pack { text-align: left; padding: 22px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); transition: border-color .16s, transform .16s; }
.journey-pack:not(:disabled):hover { border-color: var(--teal); transform: translateY(-2px); }
.journey-pack:disabled { opacity: .5; cursor: default; }
.journey-pack-label { color: var(--teal); font-size: 11px; letter-spacing: .6px; }
.journey-pack.blue .journey-pack-label { color: light-dark(rgb(23,56,130), #9ab9ff); }
.journey-pack.amber .journey-pack-label { color: light-dark(rgb(129,88,24), #eac58c); }
.journey-pack h3 { font-size: 18px; margin: 10px 0 7px; }
.journey-pack p { color: var(--text-dim); font-size: 13px; margin: 0 0 20px; }
.journey-pack-footer { display: flex; justify-content: space-between; gap: 10px; color: var(--text-dim); font-size: 11px; }
.journey-preview-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: start; }
.journey-document { padding: 32px; border-radius: 4px 14px 14px 4px; background: light-dark(rgb(237,233,222), #eae6da); color: light-dark(rgb(41,50,46), #29322e); border-left: 4px solid light-dark(rgb(172,195,185), #6b9482); }
.journey-document .usage-kicker { color: light-dark(rgb(72,106,91), #4c7060); }
.journey-document h3 { font-family: var(--serif); font-size: 23px; font-weight: 500; line-height: 1.3; margin: 14px 0 22px; }
.journey-document p { font-family: var(--serif); font-size: 18px; line-height: 1.85; }
.journey-document small { display: block; font-size: 10px; color: light-dark(rgb(85,94,89), #59635e); border-top: 1px solid light-dark(rgb(189,192,175), #c7cabb); padding-top: 16px; margin-top: 28px; }
.journey-triage { padding: 24px; }
.journey-triage h3 { margin-top: 0; }
.journey-triage-word { padding: 14px 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); gap: 10px; }
.journey-triage-word strong { font-size: 20px; font-family: var(--serif); font-weight: 500; }
.journey-triage-toggle { flex: none; border: 1px solid var(--line); border-radius: 20px; padding: 6px 12px; color: var(--text-dim); font-size: 12px; }
.journey-triage-toggle[aria-pressed=true] { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.journey-triage > .btn { margin-top: 24px; width: 100%; }
.journey-session-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--text-dim); font-size: 12px; }
.journey-progress { width: 100%; height: 5px; appearance: none; border: 0; background: var(--line); border-radius: 9px; overflow: hidden; margin: 14px 0 22px; }
.journey-progress::-webkit-progress-bar { background: var(--line); }
.journey-progress::-webkit-progress-value { background: var(--teal); transition: width .2s; }
.journey-progress::-moz-progress-bar { background: var(--teal); }
.journey-task { max-width: 770px; margin: 0 auto; padding: clamp(22px, 4vw, 38px); }
.journey-task h2 { font-size: 24px; margin: 16px 0; line-height: 1.5; }
.journey-task h2.journey-term { font-size: 46px; font-family: var(--serif); font-weight: 500; margin-bottom: 0; }
.journey-pronunciation { color: var(--text-dim); margin: 2px 0 20px; }
.journey-collocation { color: light-dark(rgb(46,107,93), #a6d9cd); }
.journey-task blockquote { margin: 24px 0; padding: 18px 22px; background: var(--bg-soft); border-left: 2px solid var(--teal); border-radius: 0 8px 8px 0; font-family: var(--serif); font-size: 21px; line-height: 1.75; overflow-wrap: anywhere; }
.journey-task .journey-question-text { margin-top: 16px; }
.journey-task .audio-player-shell { margin: 20px 0; max-width: 420px; }
.journey-insight { border-left: 2px solid light-dark(rgb(209,192,159), #c9af7c); padding: 8px 14px; color: light-dark(rgb(102,85,51), #d4c5a8); font-size: 13px; margin: 22px 0; }
.journey-task > .btn { margin-top: 14px; min-height: 44px; }
.journey-choices { display: grid; gap: 10px; margin: 22px 0; }
.journey-choice { display: flex; align-items: center; gap: 14px; padding: 16px; text-align: left; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-soft); min-height: 60px; }
.journey-choice kbd { font-family: var(--sans); font-size: 12px; width: 25px; height: 25px; display: grid; place-items: center; background: var(--card); border-radius: 5px; color: var(--text-dim); flex: none; }
.journey-choice[aria-pressed=true] { border-color: var(--teal); background: var(--teal-soft); }
.journey-choice[aria-pressed=true] kbd { background: var(--teal); color: var(--bg); }
.journey-choice:disabled { opacity: .5; cursor: default; }
.journey-choice small { margin-left: auto; white-space: nowrap; }
.journey-answer { max-width: 440px; font-size: 22px; padding: 14px 18px; letter-spacing: .5px; }
.journey-repair { background: var(--amber-soft); border: 1px solid light-dark(rgb(209,192,159), #725c30); border-radius: 10px; padding: 15px 18px; margin-top: 18px; font-size: 13px; }
.journey-repair strong { color: light-dark(rgb(128,94,25), #ebd09a); }
.journey-repair p { margin: 8px 0; }
.journey-verdict { display: inline-block; font-size: 13px; padding: 7px 12px; border-radius: 20px; }
.journey-verdict.ok { background: var(--green-soft); color: var(--green); }
.journey-verdict.repair { background: var(--amber-soft); color: var(--amber); }
.journey-consequence { color: light-dark(rgb(44,109,89), #a6dbcb); padding: 14px 0; border-top: 1px solid var(--line); }
.journey-summary-words { margin: 24px 0; }
.journey-summary-words > div { display: grid; grid-template-columns: 120px 1fr; gap: 4px 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.journey-summary-words strong { font-family: var(--serif); font-size: 19px; grid-row: span 2; align-self: center; font-weight: 500; }
.journey-summary-words span { font-size: 13px; }
.journey-summary-words small { color: var(--text-dim); font-size: 11px; }
.journey-expression { background: var(--bg-soft); padding: 18px; border-radius: 12px; margin: 28px 0; }
.journey-expression > summary { cursor: pointer; font-weight: 600; font-size: 15px; }
.journey-expression > summary span { display: block; margin: 6px 0 0 18px; color: var(--text-dim); font-weight: 400; font-size: 12px; }
.journey-expression > p { font-size: 13px; }
.journey-expression textarea { resize: vertical; line-height: 1.8; }
.journey-expression > .btn { margin-top: 14px; }
.journey-expression-result { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 8px; font-size: 13px; }
.journey-expression-result blockquote { padding: 10px 14px; font-size: 17px; }
.journey-expression-result strong { color: light-dark(rgb(49,104,89), #b3dbd0); }
.journey-judgment.rejected strong { color: var(--amber); }
.journey-judgment.uncertain strong { color: var(--text-dim); }
.journey-summary-words .journey-collect { justify-self: start; padding-left: 0; font-size: 11px; color: var(--teal); }
.journey-next { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 20px; background: var(--green-soft); border: 1px solid light-dark(rgb(165,202,191), #355b4f); border-radius: 12px; margin: 28px 0 8px; }
.journey-next small, .journey-next p { color: var(--text-dim); font-size: 12px; margin: 0; }
.journey-next h3 { font-size: 18px; margin: 4px 0; }
.journey-next .btn { flex: none; }
.journey-error:not([hidden]) { padding: 14px 18px; border: 1px solid var(--red); background: var(--red-soft); border-radius: 10px; margin: 16px 0; font-size: 13px; }
.journey-task[aria-busy=true] { opacity: .85; }
.word-history > .vocab-actions > .audio-player-shell { flex-basis: 100%; max-width: 400px; }
@media (max-width: 950px) { .journey-home-grid, .journey-preview-grid { grid-template-columns: 1fr; } .journey-review-box { display: block; } .journey-review-box .btn { margin-right: 10px; } }
@media (max-width: 540px) { .journey-pack-grid { grid-template-columns: 1fr; } .journey-feature, .journey-document, .journey-triage { padding: 22px; } .journey-task { padding: 20px; } .journey-task h2 { font-size: 21px; } .journey-task h2.journey-term { font-size: 38px; } .journey-task blockquote { font-size: 18px; padding: 14px; } .journey-next { flex-direction: column; align-items: stretch; } .journey-summary-words > div { grid-template-columns: 1fr; } .journey-summary-words strong { grid-row: auto; } .journey-session-head { gap: 6px; font-size: 11px; } .journey-keyboard { display: none; } }
@media (prefers-reduced-motion: reduce) { .journey-pack, .journey-progress::-webkit-progress-value { transition: none; } }
.journey-hint { margin: 18px 0; padding: 18px 20px; border: 1px solid light-dark(rgb(167,200,188), #41685a); border-radius: 14px; background: var(--green-soft); color: light-dark(rgb(42,111,84), #c2e8d9); }
.journey-hint p { margin: 8px 0; white-space: pre-wrap; }
.journey-hint small { color: light-dark(rgb(60,93,79), #a4c5b7); line-height: 1.6; }
.journey-hint .hint-answer { font: 600 30px/1.4 Georgia, serif; letter-spacing: .03em; }
.spelling-diff { display: flex; align-items: center; margin-top: 12px; font: 600 25px/1.6 ui-monospace, monospace; letter-spacing: .06em; }
.spelling-diff mark { background: light-dark(rgb(239,227,220), #f9d4bf); color: light-dark(rgb(126,48,22), #812e13); border-radius: 4px; padding: 0 3px; text-decoration: underline; text-underline-offset: 5px; }
.spelling-gap { color: light-dark(rgb(139,72,27), #8b481b); background: light-dark(rgb(239,228,220), #f9e6d8); }
.core-book-invitation { padding: 28px; margin-bottom: 24px; border: 1px solid light-dark(rgb(169,198,186), #456859); border-radius: 18px; background: linear-gradient(130deg, light-dark(rgb(242,247,246), #20362e), light-dark(rgb(242,245,248), #1b2530)); }
.core-book-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.core-book-heading h2 { font-size: 27px; font-weight: 650; margin: 10px 0 22px; }
.core-book-total { display: grid; justify-items: end; }
.core-book-total strong { font: 500 34px/1.2 var(--serif); color: light-dark(rgb(44,109,77), #d3ede0); }
.core-book-total span { font-size: 11px; color: var(--text-dim); margin-top: 5px; }
.core-book-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 8px 0 18px; }
.core-book-option { display: grid; gap: 8px; padding: 18px; border: 1px solid light-dark(rgb(176,191,186), #43534e); border-radius: 12px; text-align: left; background: light-dark(rgba(242,247,245,0.400), #16231e66); }
.core-book-option small { font-size: 10px; color: light-dark(rgb(65,88,75), #acc2b6); }
.core-book-option strong { font-size: 16px; font-weight: 550; }
.core-book-option span { color: light-dark(rgb(68,85,75), #a5b7ac); font-size: 12px; }
.core-book-option[aria-pressed=true] { border-color: light-dark(rgb(159,209,186), #7ac9a5); background: light-dark(rgba(242,247,245,0.502), #31534680); box-shadow: inset 0 0 0 1px #7ac9a54d; }
.core-book-invitation > p { font-size: 13px; color: light-dark(rgb(68,85,78), #bbc9c3); }
.core-book-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.core-book-actions > .btn { min-height: 44px; }
.core-book-invitation > .core-book-source { border-top: 1px solid light-dark(rgba(184,184,184,0.078), #ffffff14); padding-top: 15px; margin-top: 22px; font-size: 11px; color: light-dark(rgb(69,84,76), #98aaa0); }
.core-preview-guide { padding: 28px; }
.core-preview-guide h2 { font: 550 28px/1.5 var(--sans); }
.core-preview-guide > p { color: var(--text-dim); line-height: 1.9; font-size: 14px; }
.core-preview-steps { display: grid; gap: 14px; margin: 25px 0; color: light-dark(rgb(56,97,78), #b3d3c4); }
.core-library-head { display: flex; align-items: center; gap: 20px; justify-content: space-between; margin: 30px 0 20px; }
.core-library-head h2 { font-size: 23px; margin-bottom: 8px; }
.core-library-head p { color: var(--text-dim); font-size: 13px; }
.core-library-head > .btn { flex: none; }
.bank-word { border-bottom: 1px solid var(--line); }
.bank-word:last-child { border-bottom: none; }
.bank-word > summary { cursor: pointer; list-style: none; border-bottom: 0; }
.bank-word > summary::-webkit-details-marker { display: none; }
.bank-word > summary .term::after { content: ' ＋'; color: var(--text-dim); font: 12px var(--sans); }
.bank-word[open] > summary .term::after { content: ' −'; }
.bank-word-body { padding: 0 0 22px; max-width: 800px; }
.bank-collocation { font-size: 17px; color: light-dark(rgb(46,107,83), #b1ddcc); }
.bank-word-body blockquote { margin: 18px 0; padding: 12px 18px; border-left: 2px solid light-dark(rgb(173,195,184), #749987); font: 19px/1.7 var(--serif); background: var(--bg-soft); }
.bank-word-body .audio-player-shell { max-width: 440px; }
.vocab-pagination { display: flex; justify-content: center; align-items: center; gap: 22px; margin: 20px 0; }
.core-content-license { color: var(--text-dim); font-size: 11px; line-height: 1.9; margin-top: 25px; }
.core-content-license summary { cursor: pointer; }
.vocab-list[aria-busy=true] { opacity: .55; }
@media (max-width: 650px) {
  .core-book-invitation { padding: 20px; }
  .core-book-picker { grid-template-columns: 1fr; }
  .core-book-option { grid-template-columns: 1fr auto; gap: 4px; padding: 14px; }
  .core-book-option small { grid-column: 1 / -1; }
  .core-book-heading h2 { font-size: 23px; }
  .core-book-total strong { font-size: 28px; }
  .core-library-head { align-items: flex-start; flex-direction: column; }
  .bank-word .vocab-row { flex-wrap: wrap; gap: 8px; }
  .bank-word .vocab-row .mean { width: 55%; }
}
