.chinese_app .learning_app { grid-template-columns: minmax(0,35fr) minmax(0,65fr); }
.chinese_app .menu_item { grid-template-columns: minmax(0,1fr) 26px; text-decoration: none; padding: 10px 9px; }
.chinese_app .menu_name { grid-column: 1; font-size: 15px; }
.chinese_app .menu_badge { grid-column: 2; }
.chinese_app .menu_group { font-size: 14px; margin: 22px 9px 8px; }
.mode_switch { display: flex; gap: 8px; margin-top: 14px; }
.mode_switch a { flex: 1; text-align: center; border: 1px solid var(--line); border-radius: 8px; padding: 9px 6px; text-decoration: none; }
.mode_switch a.is_active { background: var(--accent_soft); border-color: var(--accent); font-weight: 700; }
.chinese_app .learning_content { line-height: 1.8; }
.chinese_app .learning_content h2 { color: #143777; font-size: 28px; }
.chinese_app .learning_content h3 { margin-top: 30px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.chinese_app .original_text { font-size: 21px; line-height: 2; white-space: pre-wrap; }
.chinese_app mark { background: #fff0cf; color: inherit; border-bottom: 2px solid #d0a035; }
.chinese_app .annotation_link { color: inherit; text-decoration: none; }
.chinese_app .annotation_link:hover mark { background: #ffe1a0; }
.chinese_app .dotted_word { position: relative; display: inline-block; }
.chinese_app .exercise_dot { position: absolute; left: 0; right: 0; bottom: -0.3em; height: 0.65em; display: block; }
.chinese_app .exercise_dot::after { content: ''; position: absolute; width: 0.22em; height: 0.22em; border-radius: 50%; background: #29416f; left: calc(50% - 0.11em); top: 0.2em; }
.chinese_app .exercise_dot:hover::after { background: #b34b13; }
.chinese_app .annotation_link:focus-visible, .chinese_app .exercise_dot:focus-visible { outline: 2px solid #29416f; outline-offset: 2px; }
.chinese_app dt, .chinese_app .question_card { scroll-margin-top: 20px; }
.chinese_app .anchor_destination { outline: 2px solid #d0a035; outline-offset: 4px; }
.chinese_app dt { margin-top: 16px; font-weight: 700; color: #29416f; }
.chinese_app dt small { font-weight: 400; color: var(--muted); }
.chinese_app dd { margin: 4px 0 12px; }
.chinese_app .quiet, .chinese_app .source_link { font-size: 13px; color: var(--muted); }
.chinese_app .literary_identity { border-left: 3px solid var(--line); padding-left: 14px; margin: 20px 0; }
.chinese_app .literary_identity p { margin: 4px 0; }
.chinese_app .literary_context h4 { margin: 18px 0 6px; color: #29416f; }
.chinese_app .literary_context p { margin: 6px 0 12px; }
.chinese_app .literary_context summary { cursor: pointer; color: var(--accent); }
.chinese_app .source_link { display: inline-block; margin: 4px 8px 4px 0; overflow-wrap: anywhere; }
.question_card { margin: 18px 0; padding: 18px; border: 1px solid var(--line); border-radius: 10px; }
.question_card h4 { margin: 0 0 10px; font-size: 17px; }
.question_card p { margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.attempt_record { margin: 12px 0; border-left: 3px solid var(--line); padding-left: 12px; }
.transcription_note { color: #805b16; background: #fff8e7; padding: 7px 10px; border-radius: 5px; }
.question_card summary { cursor: pointer; color: var(--accent); font-weight: 650; }
.review_work { margin-bottom: 36px; }
.chinese_app footer { margin-top: 40px; border-top: 1px solid var(--line); padding-top: 16px; }
.chinese_app [hidden] { display: none !important; }
@media (max-width: 820px) {
  .chinese_app .learning_app { grid-template-columns: 1fr; }
  .chinese_app .original_text { font-size: 19px; }
}
@media print {
  .chinese_app .learning_app { display: block; }
  .chinese_app .learning_menu { display: none; }
}
