.header-actions{margin-left:auto;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.header-actions button{background:none;color:var(--depth);font-size:12px}.header-actions b{font-size:12px}.loading,.empty{padding:55px 15px;color:var(--muted);text-align:center}.auth-box{width:min(100%,490px);background:white;border:1px solid var(--line);border-radius:6px;margin:50px auto 70px;padding:33px}.auth-box h1{font-size:28px;letter-spacing:.05em;margin:13px 0}.auth-box p{color:var(--muted);line-height:1.8;font-size:14px}.auth-form,.teacher-form{display:grid;gap:16px;margin:25px 0}.auth-form label,.teacher-form label{display:grid;gap:7px;font-size:13px;font-weight:600}.auth-form input,.teacher-form input,.teacher-form select,.answer-input{border:1px solid #b9adce;border-radius:5px;background:white;padding:12px;color:var(--ink);font-size:16px;min-width:0;width:100%}.auth-form button{justify-self:start}.notice{padding:13px 16px;border-left:3px solid var(--primary);background:#f2f0f7;font-size:13px;line-height:1.7;margin:13px 0}.notice.error{border-color:#a95372;color:#813552}.tabs{display:flex;gap:7px;margin:15px 0 25px}.tabs button,.month-tabs button{background:#f2f0f7;border-radius:24px;padding:9px 18px;color:#5a4b70}.tabs button[aria-selected=true],.month-tabs button[aria-selected=true]{background:var(--primary);color:white}.intro.small{padding:32px 0}.intro.small h1{font-size:30px}.month-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:7px 0 25px}.month-tabs button{min-height:42px}.catalog .theme{min-height:195px}.theme-symbol{font-family:Georgia,serif}.unit-meta{font-size:12px;color:var(--muted)}.unit-skills{display:grid;gap:9px;margin:15px 0 34px}.skill-choice{background:white;border:1px solid var(--line);text-align:left;padding:17px 20px;border-radius:5px;display:flex;justify-content:space-between;gap:12px;align-items:center}.skill-choice b{font-size:15px}.skill-choice small{font-size:11px;color:var(--muted)}.skill-choice:hover{border-color:var(--primary)}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:5px;margin:19px 0}.panel h2{font-size:19px;margin-bottom:15px}.panel h3{font-size:15px}.selection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.selection-list label{padding:12px;background:white;border:1px solid var(--line);border-radius:5px;font-size:13px;display:flex;align-items:center;gap:9px}.selection-list input{accent-color:var(--primary);width:18px;height:18px}.action-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.action-line select{border:1px solid var(--line);padding:12px;background:white}.problem-zone .problem{white-space:pre-line}.problem-table{border-collapse:collapse;margin:18px 0;font-size:13px;background:white}.problem-table td{padding:8px 11px;border:1px solid var(--line)}.geometry-diagram{max-width:330px}.answer-row{align-items:stretch}.answer-row .answer-input{font-size:20px}.help .hints{list-style:decimal;padding-left:23px}.help .hints li{display:list-item}.hint-actions{display:flex;gap:8px;flex-wrap:wrap}.hint-actions button{margin-top:15px}.feedback strong{display:block}.review-list{display:grid;gap:12px;margin:28px 0}.review-list details{background:white;border:1px solid var(--line);border-radius:5px;padding:15px 20px}.review-list summary{cursor:pointer;font-size:14px}.review-list p{font-size:13px;line-height:1.8;margin:9px 0}.teacher-grid{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.5fr);gap:20px}.account-line,.session-line{border-top:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;font-size:13px}.account-line p,.session-line p{color:var(--muted);margin-top:6px;line-height:1.7}.account-actions{display:flex;gap:7px;flex-wrap:wrap}.account-actions button{background:#f2f0f7;color:var(--depth);border-radius:20px;padding:6px 11px;font-size:11px}.credential{background:#f2f0f7;border:1px solid #d7c9eb;padding:19px;border-radius:5px;margin:15px 0}.credential code{font-size:17px;display:block;word-break:break-all;margin:10px 0}.mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.mini-stats>div{background:#f2f0f7;padding:15px;min-width:140px}.mini-stats strong{display:block;font-size:21px;color:var(--depth)}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left}.data-table th{color:var(--muted)}.muted{color:var(--muted)}.small{font-size:11px}.finish .finish-note{font-size:13px}.checkbox-row{display:flex;align-items:center;gap:9px;font-size:13px}.checkpoint-note{font-size:12px;color:var(--muted);margin-top:17px;line-height:1.7}@media(max-width:700px){.header-actions{gap:7px}.header-actions b{display:none}.teacher-grid{grid-template-columns:1fr}.selection-list{grid-template-columns:1fr}.auth-box{margin:27px auto;padding:24px}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog .theme{min-height:170px}.answer-row{flex-wrap:wrap}.answer-row>.primary{width:100%}}@media(max-width:370px){.catalog{grid-template-columns:1fr}}
.math-number{display:inline-flex;align-items:center;gap:.14em;vertical-align:middle;white-space:nowrap;line-height:1.2;margin:.1em .08em;font-variant-numeric:tabular-nums}.stacked-fraction{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;font-size:.88em;line-height:1.2}.stacked-fraction>span{padding:.08em .22em}.stacked-fraction>span:first-child{border-bottom:1.6px solid currentColor}.math-whole{font-size:1em}.problem-zone .problem{line-height:1.9}.choices .choice{min-height:54px;line-height:1.8}.fraction-answer{border:0;padding:0;margin:0 0 20px;min-width:0}.fraction-answer legend{font-size:14px;font-weight:600;margin-bottom:12px}.answer-modes{display:flex;flex-wrap:wrap;gap:8px}.answer-modes label{display:flex;align-items:center;gap:6px;padding:11px 13px;border:1px solid #b9adce;border-radius:6px;cursor:pointer;font-size:15px;min-height:46px}.answer-modes label:has(:checked){background:#f0eaf9;border-color:#6246c4;color:#513da0}.answer-modes input{accent-color:#6246c4;width:18px;height:18px}.fraction-fields{display:flex;align-items:center;gap:14px;margin:22px 0}.fraction-input{display:flex;flex-direction:column;width:120px;flex:none}.fraction-input label,.whole-input{display:flex;flex-direction:column;gap:5px;text-align:center;font-size:12px;color:#59446e}.fraction-input label:first-child{border-bottom:2px solid #514362;padding-bottom:10px;margin-bottom:8px}.fraction-fields input{width:100%;min-width:0;min-height:48px;text-align:center;font-size:23px;padding:7px 5px;border:1px solid #9f8db5;border-radius:5px;background:white;color:#292136}.whole-input{width:105px}.input-guide,.drawing-note{font-size:13px;line-height:1.9;color:#58486b}.drawing-note{margin-bottom:17px}.geometry-figure{margin:20px 0}.geometry-figure figcaption{font-size:12px;line-height:1.8;color:#62556e}.geometry-diagram{width:100%;height:auto;display:block;margin:auto}.history-answer{padding:16px 0;border-top:1px solid var(--line);line-height:1.9}.history-answer p{margin:8px 0}.feedback{line-height:2}.feedback.retry{color:#854157}.review-list summary,.history-session summary{line-height:2}.answer-area .primary{min-height:48px}.hint-actions button{min-height:44px}input:focus-visible,button:focus-visible{outline:3px solid #a18bd3;outline-offset:3px}@media(max-width:420px){.answer-modes{gap:5px}.answer-modes label{padding:9px 10px}.fraction-fields{gap:12px}.fraction-input{width:106px}.whole-input{width:94px}.panel{padding:18px}.problem-table td{padding:7px 6px}}
.grade-tabs{display:flex;gap:10px;margin:18px 0}.grade-tabs button{min-height:46px;padding:10px 26px;border:1px solid #c7bbda;border-radius:6px;background:white;color:#59446e;font-weight:600}.grade-tabs button[aria-pressed=true]{background:#6246c4;color:white;border-color:#6246c4}.domain-label{font-size:12px;color:#776589}.month-note,.drawing-guide{font-size:14px;line-height:1.9;color:#685575;margin:15px 0}.math-keyboard{margin:18px 0 0;border:1px solid #c7bbda;border-radius:8px;background:#f6f2fb;overflow:hidden}.math-keyboard summary{padding:14px 16px;min-height:48px;cursor:pointer;color:#513b77;font-size:14px;font-weight:600}.math-keyboard p{font-size:12px;line-height:1.7;padding:0 14px}.key-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:14px}.key-grid button,.key-tools button{min-height:46px;background:white;color:#49305f;border:1px solid #cabbdc;border-radius:6px;font-size:21px;touch-action:manipulation}.key-grid button:hover,.key-tools button:hover{background:#ebe2f5}.key-tools{display:grid;grid-template-columns:1fr 1fr 2fr 2fr;gap:6px;padding:0 14px 14px}.key-tools button{font-size:12px}.pair-fields{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}.pair-fields label{display:grid;gap:8px;font-size:14px;flex:1;min-width:110px}.pair-fields input{font-size:22px;border:1px solid #b9adce;border-radius:5px;padding:10px;width:100%;min-width:0}.problem-table{max-width:100%}.problem-table td{overflow-wrap:anywhere}.history-session .geometry-diagram{max-width:360px}
.grade-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.grade-tabs button{min-width:0;padding:12px 4px;white-space:nowrap;font-size:14px}
.summary-options h2{margin-bottom:18px}.summary-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}.summary-count{min-height:112px;display:grid;align-content:center;gap:7px;border:1px solid #c7bbda;border-radius:7px;background:#f9f7fc;color:var(--depth);touch-action:manipulation}.summary-count strong{font-size:25px}.summary-count span{font-size:13px;color:var(--muted)}.summary-count:hover{border-color:var(--primary);background:#f2eef8}.summary-theme{border-color:#bfaee0}.result-score{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.result-score>div{display:grid;gap:4px;min-width:115px}.result-score strong{font-size:30px;color:var(--depth)}.result-score small,.result-score p{color:var(--muted);font-size:12px}.recommendation-panel{border-left:4px solid #b38331}.recommendation-panel>p{font-size:14px;line-height:1.8}.related-skills{display:grid;gap:8px;margin-top:15px}
@media(max-width:430px){.summary-counts{gap:8px}.summary-count{min-height:96px}.result-score{align-items:flex-start;gap:10px}.result-score p{flex-basis:100%}}
.check-range h2:not(:first-child){margin-top:27px}.check-range .month-tabs{margin-bottom:0}.check-range .month-tabs button[aria-pressed=true]{background:var(--primary);color:white}.check-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:20px 0}.check-counts button{min-height:55px;background:#f7f4fb;border:1px solid #c7bbda;border-radius:7px;color:var(--depth);font-weight:700}.check-counts button[aria-pressed=true]{background:var(--primary);color:white;border-color:var(--primary)}.finish-next{margin:0 auto 18px;max-width:680px;color:var(--muted);font-size:13px;line-height:1.8}.finish-actions .outline{border:1px solid #c7bbda}@media(max-width:700px){.check-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:430px){.check-counts{gap:7px}.check-counts button{min-height:50px}.finish-actions{display:grid;grid-template-columns:1fr;width:min(100%,340px);margin-left:auto;margin-right:auto}.finish-actions button{width:100%}}
.training-entry{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:-8px 0 28px;padding:23px 28px;background:#f2f0f7;border:1px solid #e4dbee;border-radius:5px}.training-entry h2{font-size:21px;margin:7px 0}.training-entry p:last-child{color:var(--muted);font-size:13px;line-height:1.7}.training-entry-actions{display:flex;flex-wrap:wrap;gap:10px}.training-entry-actions a{display:grid;place-items:center;min-height:54px;background:white;text-align:center;white-space:nowrap}.training-entry-actions small{font-size:11px;color:var(--muted);font-weight:400}@media(max-width:700px){.training-entry{flex-direction:column;align-items:stretch;padding:21px}.training-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.training-entry-actions a{padding:10px 6px;font-size:12px;white-space:normal}}
