.record-filters { margin: 0 0 18px; }
.record-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px 16px; }
.record-filter-grid label { min-width: 0; margin: 0; }
.record-filter-basics { grid-template-columns: minmax(180px, 1.3fr) repeat(2, minmax(130px, 1fr)) minmax(200px, 1.5fr); }
.record-more-filters { margin-top: 16px; border-top: 1px solid var(--line, #e5e7eb); }
.record-more-filters > summary { padding: 14px 0 0; cursor: pointer; font-weight: 600; color: #475569; }
.record-more-filters > summary:focus-visible { outline: 2px solid #6366f1; outline-offset: 4px; border-radius: 4px; }
.record-filter-count { display: inline-block; margin-left: 10px; padding: 2px 8px; border-radius: 999px; background: #eef2ff; color: #4338ca; font-size: 12px; font-weight: 500; }
.record-filter-advanced { padding-top: 16px; }
.record-filter-actions { margin-top: 16px; flex-wrap: wrap; }
.record-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.record-stats .card { padding: 16px 12px; min-width: 0; }
.record-stats strong { display: block; font-size: 24px; margin-bottom: 5px; font-variant-numeric: tabular-nums; }
.record-stats span { font-size: 13px; }
.record-analysis-table { max-height: min(70vh, 760px); border: 1px solid var(--line, #e5e7eb); border-radius: 12px; }
.record-analysis-table table { min-width: 920px; }
.record-analysis-table th { position: sticky; top: 0; z-index: 1; background: #f8fafc; vertical-align: middle; }
.record-analysis-table td { vertical-align: top; }
.record-analysis-table th:first-child, .record-analysis-table td:first-child { min-width: 155px; }
.record-sort { display: flex; align-items: center; justify-content: space-between; gap: 5px; width: 100%; text-align: left; border: 0; box-shadow: none; padding: 0; color: inherit; background: transparent; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; }
.record-sort:hover { color: #4f46e5; background: transparent; }
.record-sort.selected { color: #4f46e5; }
.record-sort span { flex-shrink: 0; }
.record-sort:focus-visible { outline: 2px solid #6366f1; outline-offset: 5px; border-radius: 2px; }
.record-score { white-space: nowrap; font-variant-numeric: tabular-nums; }
.record-answer { display: inline-block; max-width: 300px; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .record-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .record-filter-basics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .record-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .record-filter-basics .record-filter-template, .record-filter-basics .record-filter-keyword { grid-column: span 2; }
  .record-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .record-stats strong { font-size: 21px; }
  .record-analysis-table { max-height: 65vh; }
  .record-filters { padding: 16px; }
}
@media (max-width: 380px) {
  .record-filter-grid { grid-template-columns: 1fr; }
  .record-filter-basics .record-filter-template, .record-filter-basics .record-filter-keyword { grid-column: auto; }
  .record-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.record-view-bar{display:flex;align-items:center;gap:18px;margin-bottom:20px}.record-view-toggle{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff}.record-view-toggle button{min-width:90px}.record-view-bar>.muted{font-size:13px}.record-class-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:-2px 0 18px}.record-class-breadcrumb strong{font-size:17px}.record-class-breadcrumb>.muted{font-size:12px}.record-class-hint{font-size:13px;margin:6px 0 24px}.record-grade-section{margin:0 0 28px}.record-grade-section h3{font-size:17px;margin:0 0 13px;padding-left:11px;border-left:3px solid var(--brand)}.record-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.record-class-card{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:22px;min-width:0;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 15px #27325204;white-space:normal;overflow-wrap:anywhere}.record-class-card:hover{background:#faf9ff;border-color:#a8a2e5;color:var(--ink)}.record-class-card:focus-visible{outline:3px solid #aaa6e8;outline-offset:3px}.record-class-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.record-class-card-head>strong{font-size:19px}.record-class-card-head>span{font-size:11px;color:var(--brand);font-weight:500;white-space:nowrap}.record-class-count{display:flex;align-items:baseline;gap:8px;margin:4px 0}.record-class-count>strong{font-size:35px;line-height:1.2;color:#514bcc}.record-class-count>span{font-size:13px;font-weight:400;color:var(--muted)}.record-class-card>.muted{font-size:12px;font-weight:400}.record-class-latest{border-top:1px solid var(--line);padding-top:13px;font-size:11px;font-weight:400;color:var(--muted)}
@media(max-width:1000px){.record-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.record-view-bar{flex-wrap:wrap;gap:10px}.record-view-bar>.muted{width:100%;font-size:12px}.record-class-grid{grid-template-columns:1fr;gap:12px}.record-class-card{padding:20px}.record-grade-section{margin-bottom:24px}.record-class-breadcrumb{gap:10px}.record-class-breadcrumb button{width:100%}.record-class-breadcrumb strong{font-size:16px}}

.record-answer{white-space:pre-wrap}.record-answer-list{margin:0;min-width:220px;max-width:380px}.record-answer-list>div{display:grid;grid-template-columns:minmax(64px,1fr) minmax(100px,2fr);gap:8px 14px;padding:6px 0;border-bottom:1px solid var(--line,#e5e7eb)}.record-answer-list>div:last-child{border-bottom:0}.record-answer-list dt{color:var(--muted,#64748b);font-weight:500;overflow-wrap:anywhere}.record-answer-list dd{margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.record-answer-list .record-answer{max-width:none}
