/* 시험 가채점(2026-10-31 개발자3). 기본 모양은 /tools/tools.css. 휴대폰에서 40문항을 빨리 넣는 입력판이 핵심 - 번호 버튼은 크게(56px 이상). */
.ac-status { border-radius: 14px; padding: 12px 14px; font-size: 14.5px; font-weight: 700; margin-bottom: 16px; word-break: keep-all; }
.ac-status.pending { background: #FFF4E6; color: #A34F00; border: 1px solid #FFD8A8; }
.ac-status.provisional { background: #E7F5FF; color: #1864AB; border: 1px solid #A5D8FF; }
.ac-status.final { background: #EBFBEE; color: #2B8A3E; border: 1px solid #B2F2BB; }
.ac-parts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ac-parts button, .ac-form-row button, .ac-subj-tabs button {
    font-family: inherit; cursor: pointer; border: 1.5px solid #CED4E5; background: #fff; color: #1A1D29; border-radius: 12px; font-weight: 800;
}
.ac-parts button { font-size: 17px; padding: 12px; }
.ac-parts button[aria-selected="true"], .ac-form-row button[aria-pressed="true"], .ac-subj-tabs button[aria-selected="true"] { background: #3B5BDB; border-color: #3B5BDB; color: #fff; }
.ac-form-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; font-size: 15px; font-weight: 700; }
.ac-form-row button { font-size: 15px; padding: 8px 14px; }
.ac-form-row .none { font-size: 14px; font-weight: 600; color: #8A8FA3; }
.ac-subj-tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.ac-subj-tabs button { flex: 0 0 auto; font-size: 14px; padding: 8px 12px; white-space: nowrap; }
.ac-subj-tabs button small { font-weight: 700; opacity: .8; margin-left: 4px; }
.ac-now { text-align: center; font-size: 16px; font-weight: 700; color: #4A4F63; margin: 14px 0 8px; }
.ac-now b { font-size: 30px; color: #1A1D29; margin: 0 2px; font-variant-numeric: tabular-nums; }
.ac-keys { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.ac-keys button { font-family: inherit; font-size: 26px; font-weight: 800; height: 60px; border-radius: 14px; border: 1.5px solid #91A7FF; background: #EDF2FF; color: #2541B2; cursor: pointer; touch-action: manipulation; }
.ac-keys button:active { transform: scale(.96); background: #DBE4FF; }
.ac-keys button.on { background: #3B5BDB; color: #fff; border-color: #3B5BDB; }
.ac-nav { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 8px; }
.ac-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; margin-top: 14px; }
.ac-grid button { font-family: inherit; cursor: pointer; border: 1px solid #DEE2EC; background: #fff; border-radius: 8px; padding: 4px 0; line-height: 1.2; touch-action: manipulation; }
.ac-grid button .n { display: block; font-size: 10.5px; color: #8A8FA3; }
.ac-grid button .a { display: block; font-size: 15px; font-weight: 800; color: #1A1D29; min-height: 18px; }
.ac-grid button.cur { border: 2px solid #3B5BDB; }
.ac-grid button.ok { background: #EBFBEE; }
.ac-grid button.ng { background: #FFF5F5; }
.ac-paste { margin-top: 14px; font-size: 15px; }
.ac-paste summary { cursor: pointer; font-weight: 800; color: #3B5BDB; }
.ac-paste input { width: 100%; font-family: inherit; font-size: 16px; border: 1.5px solid #CED4E5; border-radius: 10px; padding: 10px; margin: 8px 0; letter-spacing: 1px; }
.ac-res-part { font-size: 16px; font-weight: 800; margin: 6px 0 8px; }
.ac-res-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ac-res-table th, .ac-res-table td { border: 1px solid #CED4E5; padding: 8px 6px; text-align: center; word-break: keep-all; }
.ac-res-table thead th { background: #E7ECFF; font-weight: 800; border-bottom: 2px solid #91A7FF; }
.ac-res-table td:first-child { text-align: left; font-weight: 700; }
.ac-res-table td.fail { color: #E03131; font-weight: 800; }
.ac-verdict { margin-top: 12px; border-radius: 14px; padding: 14px; text-align: center; }
.ac-verdict .big { font-size: 24px; font-weight: 800; }
.ac-verdict .small { font-size: 14px; margin-top: 4px; word-break: keep-all; }
.ac-verdict.pass { background: #EBFBEE; color: #2B8A3E; }
.ac-verdict.fail { background: #FFF5F5; color: #C92A2A; }
.ac-verdict.wait { background: #F3F5FC; color: #4A4F63; }
