.history-mobile-list { display:none; }
@media (max-width:768px) {
  .history-mobile-list { display:grid; gap:12px; min-width:0; margin-top:16px; }
  .history-list-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 12px; color:#31445d; font-size:14px; }
  .history-list-note small { color:#68758a; font-size:12px; }
  .history-school-card { min-width:0; border:1px solid #dde6f2; border-radius:18px; background:rgba(255,255,255,.95); padding:15px 16px 0; overflow:hidden; }
  .history-school-card__head { min-width:0; margin-bottom:13px; }
  .history-school-card__head h3 { margin:0 0 5px; color:#17243a; font-size:17px; font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
  .history-school-card__head p { margin:0; color:#586b84; font-size:14px; line-height:1.5; }
  .history-score-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:10px 0; border-radius:12px; background:#f5f8fc; }
  .history-score-cell { display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 4px; min-width:0; }
  .history-score-cell + .history-score-cell { border-left:1px solid #e0e7f0; }
  .history-score-year { color:#65758a; font-size:12px; white-space:nowrap; }
  .history-score-cell strong { color:#31445d; font-size:25px; font-weight:750; line-height:1.2; font-variant-numeric:tabular-nums; }
  .history-score-cell--current strong { color:#1263dc; }
  .history-score-cell--current .history-score-year { color:#215bb2; }
  .history-score-cell strong.history-score-missing { font-size:14px; color:#7e8999; line-height:30px; }
  .history-card-meta { display:flex; flex-wrap:wrap; gap:5px 12px; padding:12px 0; color:#5d6c80; font-size:12px; line-height:1.6; }
  .history-row-details { border-top:1px solid #edf1f7; }
  .history-row-details > summary { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:8px; color:#2b63b0; font-size:13px; font-weight:650; cursor:pointer; list-style:none; }
  .history-row-details > summary::-webkit-details-marker { display:none; }
  .history-row-details .history-close-text { display:none; }
  .history-row-details[open] > summary .history-open-text { display:none; }
  .history-row-details[open] > summary .history-close-text { display:inline; }
  .history-chevron { width:8px; height:8px; margin-right:3px; margin-bottom:4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); font-size:0; flex:none; }
  .history-row-details[open] > summary .history-chevron { transform:rotate(225deg); margin-bottom:-4px; }
  .history-row-details > summary:focus-visible { outline:3px solid #9bc1fa; outline-offset:0; border-radius:6px; }
  .history-detail-content { border-top:1px solid #edf1f7; padding:12px 0 15px; }
  .history-detail-year { padding:10px 0; }
  .history-detail-year + .history-detail-year { border-top:1px dashed #e1e8f0; }
  .history-detail-year__head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 8px; font-size:13px; color:#65758a; }
  .history-detail-year__head strong { color:#273d59; font-size:14px; }
  .history-full-line { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; margin:8px 0; font-size:12px; color:#69798d; }
  .history-full-line code { color:#2c4666; font-family:inherit; font-size:14px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .history-detail-content a { display:inline-flex; align-items:center; min-height:44px; color:#2465bf; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
  .history-source-note,.history-empty-note { color:#718097; font-size:12px; line-height:1.7; margin:8px 0; }
  .history-status { font-size:11px; color:#8a5b11; }
  .subject-group-detail > .subject-group-table-wrap { display:none; }
  .subject-group-detail .history-school-card { border-radius:14px; padding-left:12px; padding-right:12px; }
  .subject-group-detail .history-school-card__head h3 { font-size:16px; }
  .subject-group-detail .history-mobile-list { margin-top:5px; }
  .history-retry { width:100%; min-height:44px; border:1px solid #dcc99f; border-radius:10px; padding:8px 12px; background:#fffbef; color:#765722; font-size:13px; }
  .history-mobile-list--loading { min-height:100px; align-items:center; text-align:center; color:#637690; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .history-chevron { transition:none; } }
