:root{--bg:#f5f7fb;--panel:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#2563eb;--brand2:#1d4ed8;--danger:#dc2626;--green:#16a34a;--yellow:#ca8a04;--sidebar:250px;--radius:18px}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}.topbar{position:fixed;top:0;left:0;right:0;height:62px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:30}.brand{color:#fff;text-decoration:none;font-weight:800}.brand span{display:inline-grid;place-items:center;background:#2563eb;border-radius:9px;width:36px;height:36px;margin-right:8px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px}.sidebar{position:fixed;top:62px;bottom:0;width:var(--sidebar);background:#111827;padding:22px 14px;display:flex;flex-direction:column;justify-content:flex-start;z-index:20;overflow:hidden;min-height:0}.sidebar>nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-right:2px;padding-bottom:10px;scrollbar-width:thin}.sidebar>nav::-webkit-scrollbar{width:6px}.sidebar>nav::-webkit-scrollbar-thumb{background:#374151;border-radius:999px}.sidebar>nav::-webkit-scrollbar-track{background:transparent}.sidebar a{display:block;color:#d1d5db;text-decoration:none;padding:12px 14px;border-radius:12px;margin:4px 0}.sidebar a:hover{background:#1f2937;color:#fff}.sidebar-bottom{border-top:1px solid #374151;padding-top:12px;flex:0 0 auto;padding-bottom:max(0px,env(safe-area-inset-bottom))}.user-chip{color:#fff;padding:8px 14px}.sidebar-logout{margin:0}.sidebar-logout button{display:block;width:100%;text-align:left;color:#d1d5db;background:transparent;border:0;padding:12px 14px;border-radius:12px;margin:4px 0;font:inherit;cursor:pointer}.sidebar-logout button:hover{background:#1f2937;color:#fff}.content{margin-left:var(--sidebar);padding:90px 28px 50px;max-width:1500px}.guest-content{min-height:100vh}.page-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}.page-head h1{margin:4px 0;font-size:34px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--brand);margin:0}.panel,.question-card,.question-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 20px rgba(17,24,39,.04)}.panel{padding:22px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{font-size:34px;line-height:1.3}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-card{border:1px solid var(--line);border-radius:15px;padding:18px;text-decoration:none;color:var(--ink);background:#fafafa}.quick-card b,.quick-card span{display:block}.quick-card span{color:var(--muted);margin-top:5px;font-size:14px}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:10px 16px;text-decoration:none;font-weight:700;cursor:pointer}.btn.primary{background:var(--brand);border-color:var(--brand);color:white}.btn.primary:hover{background:var(--brand2)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.big{padding:14px 22px;font-size:16px}.btn.wide{width:100%}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:18px}.filters input,.filters select,.form-stack input,.form-stack select,.login-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.question-list{display:grid;gap:12px}.question-row{padding:18px}.question-row p{line-height:1.65}.q-meta,.practice-top{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px}.badge{display:inline-block;background:#eef2ff;color:#3730a3;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.error{background:#fee2e2;color:#991b1b}.options.compact>div{padding:6px 0}.answer{display:block;margin-top:10px;color:var(--green)}.form-stack{display:grid;gap:20px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-card input{display:none}.check-card span{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;text-align:center;font-weight:700}.check-card input:checked+span{border-color:var(--brand);background:#eff6ff;color:var(--brand)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid label,.form-stack>label,.login-card label{display:grid;gap:8px;font-weight:700}.progress-line{height:7px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin-bottom:14px}.progress-line div{height:100%;background:var(--brand)}.practice-top{margin-bottom:12px}.question-card{padding:24px;max-width:960px}.question-card h2,.question-card h3{line-height:1.55}.answer-form{display:grid;gap:10px}.answer-option{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:13px;cursor:pointer}.answer-option:has(input:checked){border-color:var(--brand);background:#eff6ff}.answer-option input{margin-top:7px}.letter{font-weight:900;color:var(--brand)}.feedback{margin:20px 0;padding:16px;border-radius:14px}.feedback.correct{background:#dcfce7;color:#166534}.feedback.wrong{background:#fee2e2;color:#991b1b}.review-options{display:grid;gap:8px;margin:14px 0}.review-option{padding:12px;border:1px solid var(--line);border-radius:11px}.review-option.right{border-color:#22c55e;background:#f0fdf4}.review-option.picked-wrong{border-color:#ef4444;background:#fef2f2}.q-actions{display:flex;gap:8px;margin-top:12px}.q-actions form{margin:0}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;cursor:pointer}.chip.active{background:#fff7ed;border-color:#fb923c}.result-card{text-align:center;max-width:560px;margin:20px auto}.score-ring{width:150px;height:150px;border-radius:50%;border:14px solid #dbeafe;display:grid;place-items:center;margin:10px auto}.score-ring strong{font-size:34px}.action-row{display:flex;gap:10px;justify-content:center}.review-row{padding:13px 0;border-bottom:1px solid var(--line)}.review-row p{margin:7px 0}.mastery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mastery-card{padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff}.mastery-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.mastery-card strong{font-size:30px}.mastery-card.green{border-top:5px solid #22c55e}.mastery-card.yellow{border-top:5px solid #eab308}.mastery-card.red{border-top:5px solid #ef4444}.meter{height:8px;background:#eee;border-radius:99px;overflow:hidden;margin:10px 0}.meter i{display:block;height:100%;background:#2563eb}.note{margin-top:14px}.sticky-exam-head{position:sticky;top:68px;background:#111827;color:#fff;padding:12px 18px;border-radius:14px;display:flex;justify-content:space-between;z-index:10;margin-bottom:14px}.sticky-exam-head div:first-child{display:flex;gap:16px}.mock-form{display:grid;gap:16px}.mock-q{max-width:none}.admin-source-list{display:grid;gap:8px}.source-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px;border-top:1px solid var(--line)}.source-row small{display:block;color:var(--muted)}.source-links{display:flex;gap:8px}.source-links a{font-size:13px}.mini-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.import-log{padding:10px 0;border-bottom:1px solid var(--line)}.import-log p{font-size:13px;color:var(--muted)}.alert{padding:13px 16px;border-radius:12px;margin-bottom:14px}.alert.success{background:#dcfce7;color:#166534}.alert.warning{background:#fef3c7;color:#92400e}.alert.danger{background:#fee2e2;color:#991b1b}.muted,.empty{color:var(--muted)}.good{color:#15803d}.bad{color:#b91c1c}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#dbeafe,#f8fafc 50%)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;display:grid;gap:16px;box-shadow:0 25px 70px rgba(15,23,42,.12)}.login-card h1{margin:0}.logo-mark{width:58px;height:58px;border-radius:17px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}@media(max-width:900px){.menu-btn{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.content{margin-left:0;padding:82px 15px 40px}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col,.mastery-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.source-row{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head h1{font-size:28px}}@media(max-width:520px){.stat-grid{grid-template-columns:1fr 1fr}.quick-grid,.check-grid{grid-template-columns:1fr}.question-card{padding:17px}.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.source-links{flex-wrap:wrap}}

/* V1.1 */
.nav-caption{color:#6b7280;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:18px 14px 5px}.action-row.left{justify-content:flex-start;flex-wrap:wrap}.action-row form{margin:0}.admin-stats{margin-top:0}.exam-source-panel{margin-top:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-title h2{margin:0 0 4px}.compact-checks{grid-template-columns:repeat(3,1fr)}.compact-checks .check-card span{font-size:14px;height:100%}.top-gap{margin-top:16px}.inline-form{display:inline-block}.admin-filters{grid-template-columns:2fr 1fr 1.5fr auto auto}.question-filters{grid-template-columns:2fr 1fr 1.4fr 1fr auto}.toggle-row{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.toggle-row input{width:auto!important}.admin-question-row{position:relative;padding-right:100px}.row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px}.admin-question-row>.row-actions{position:absolute;right:16px;top:14px;margin:0}.topic-layout{grid-template-columns:.8fr 1.4fr}.topic-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;justify-content:space-between}.topic-row>div:first-child{display:flex;gap:8px;align-items:center;min-width:0;flex-wrap:wrap}.topic-row b{line-height:1.45}.inline-edit{display:flex;gap:7px}.inline-edit input{padding:9px 10px;border:1px solid var(--line);border-radius:10px;min-width:120px}.question-editor textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;resize:vertical;line-height:1.55}.question-editor input[type=file]{padding:11px;border:1px dashed var(--line);border-radius:12px;background:#fafafa}.question-source-image{display:block;max-width:min(100%,950px);height:auto;border:1px solid var(--line);border-radius:14px;margin:14px 0;background:#fff}.question-image-wrap{margin:14px 0 20px}.question-image-wrap small{display:block;color:var(--muted)}.image-editor,.source-box{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.source-box .source-links{margin:9px 0}.danger-zone{margin-top:18px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section-gap{margin-top:34px}.mastery-link{text-decoration:none;color:inherit;display:block}.mastery-link:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(17,24,39,.08)}.topic-mastery .mastery-card p{min-height:44px}.badge.warning{background:#fef3c7;color:#92400e}
@media(max-width:1100px){.admin-filters,.question-filters{grid-template-columns:1fr 1fr}.admin-filters input,.question-filters input{grid-column:1/-1}.review-grid{grid-template-columns:1fr}.compact-checks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.compact-checks,.topic-layout{grid-template-columns:1fr}.topic-row{align-items:flex-start;flex-direction:column}.topic-row .row-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.inline-edit{width:100%}.inline-edit input{flex:1}.admin-question-row{padding-right:18px}.admin-question-row>.row-actions{position:static;justify-content:flex-start}.admin-filters,.question-filters{grid-template-columns:1fr}.admin-filters input,.question-filters input{grid-column:auto}.page-head .action-row{width:100%;justify-content:flex-start}.question-source-image{max-height:none}}

/* V1.2 AI + batch tools */
.ai-summary-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:center;margin-bottom:18px}.ai-summary-strip>div{display:grid;gap:4px}.ai-summary-strip span{color:var(--muted);font-size:13px}.ai-settings-grid{align-items:start}.workflow-list{display:grid;gap:12px}.workflow-list>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.workflow-list b,.workflow-list span{display:block}.workflow-list span{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.55}.notice-box{padding:15px;border:1px solid #fde68a;background:#fffbeb;border-radius:14px}.notice-box p{margin:7px 0 0;color:#92400e;line-height:1.55}.ai-run-row{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.ai-run-row small{display:block;color:var(--muted);margin-top:3px}.ai-run-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.badge.success{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.badge.pending{background:#fef3c7;color:#92400e}.badge.accepted{background:#dcfce7;color:#166534}.badge.rejected{background:#f3f4f6;color:#4b5563}.muted-badge{background:#f3f4f6;color:#6b7280}.batch-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.sticky-batch{position:sticky;top:72px;z-index:12;box-shadow:0 8px 25px rgba(17,24,39,.08)}.batch-topic-select{min-width:240px;flex:1}.selectable-row{padding-left:54px;transition:.15s}.selectable-row.selected{border-color:#93c5fd;background:#eff6ff}.question-select{position:absolute;left:17px;top:20px}.question-select input{width:20px;height:20px}.suggestion-list{display:grid;gap:14px}.suggestion-card{padding:18px}.suggestion-head{display:flex;gap:12px;align-items:flex-start}.suggestion-head>input{width:20px;height:20px;margin-top:4px}.suggestion-head h3{font-size:17px;line-height:1.55;margin:8px 0}.suggestion-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.suggestion-compare small,.suggestion-compare b{display:block}.suggestion-compare small{color:var(--muted);margin-bottom:4px}.suggestion-compare .arrow{font-size:22px;color:var(--muted)}.suggestion-meta{display:flex;gap:14px;color:var(--muted);font-size:13px;margin-top:10px}.compact-filter{grid-template-columns:minmax(180px,320px)}.ai-question-tools{margin-bottom:18px}.ai-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-tool-grid>div{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fafafa}.ai-tool-grid p{margin:5px 0 12px}.ai-suggestion-inline{margin-top:15px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;padding:15px}.ai-suggestion-inline small,.ai-suggestion-inline b,.ai-suggestion-inline span{display:block}.ai-suggestion-inline b{margin:4px 0}.ai-suggestion-inline span{color:var(--muted);font-size:13px}.ai-suggestion-inline p{margin:10px 0;color:#475569}.section-gap-small{margin-top:18px}.explanation-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.explanation-head h3{margin-bottom:8px}.explanation-text{white-space:pre-wrap;line-height:1.75;margin-bottom:8px}.form-stack code{background:#f3f4f6;padding:2px 5px;border-radius:6px}
@media(max-width:1050px){.ai-summary-strip{grid-template-columns:1fr 1fr}.ai-summary-strip>.btn{justify-self:start}.ai-tool-grid{grid-template-columns:1fr}.suggestion-compare{grid-template-columns:1fr}.suggestion-compare .arrow{transform:rotate(90deg);justify-self:center}.sticky-batch{position:static}}
@media(max-width:700px){.ai-summary-strip{grid-template-columns:1fr}.batch-toolbar{align-items:stretch}.batch-toolbar .btn,.batch-toolbar select{width:100%}.selectable-row{padding-left:50px}.suggestion-meta{flex-direction:column;gap:4px}.ai-run-row{grid-template-columns:1fr}.ai-run-row p{grid-column:auto}}

/* V1.3 smart review + daily missions */
.daily-hero{margin-bottom:18px;background:linear-gradient(135deg,#fff,#f8fbff)}.goal-meter{height:12px;border-radius:99px;background:#e5e7eb;overflow:hidden}.goal-meter.large{height:16px}.goal-meter i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#4f46e5);border-radius:inherit}.daily-task-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.daily-task-grid>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:5px}.daily-task-grid span{color:var(--muted);font-size:13px}.daily-task-grid b{font-size:20px}.daily-score{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:16px}.daily-score>div{display:grid;gap:4px}.daily-score span{font-size:13px;color:var(--muted)}.daily-score strong{font-size:28px}.daily-score small{color:var(--muted)}.daily-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.task-card{display:flex;flex-direction:column;align-items:flex-start}.task-card .task-icon{font-size:32px}.task-card h2{margin-bottom:4px}.task-card>strong{font-size:30px}.task-card p{color:var(--muted);line-height:1.6;flex:1}.task-card form,.task-card button{width:100%}.weak-topic-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.weak-topic-row:hover strong{color:#2563eb}.smart-review-list{display:grid}.smart-review-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.smart-review-row p{margin:7px 0;line-height:1.5}.smart-review-row small{color:var(--muted)}.mastery-pill{width:76px;height:76px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#eef2ff;color:#3730a3}.mastery-pill.low{background:#fee2e2;color:#991b1b}.mastery-pill.mid{background:#fef3c7;color:#92400e}.mastery-pill.high{background:#dcfce7;color:#166534}.mastery-pill small{font-size:11px}.mastery-pill b{font-size:20px}.review-state-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.review-state-strip>div{padding:12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);display:grid;gap:3px}.review-state-strip span{font-size:12px;color:var(--muted)}.review-state-strip b{font-size:16px}.result-daily{width:min(520px,100%);margin:18px auto;text-align:left}.result-daily>span,.result-daily>b{display:block}.result-daily>b{font-size:22px;margin:4px 0 8px}.review-summary{margin-bottom:18px}.btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1000px){.daily-task-grid{grid-template-columns:repeat(2,1fr)}.daily-cards{grid-template-columns:1fr}.daily-score{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.daily-task-grid,.daily-score,.review-state-strip{grid-template-columns:1fr}.smart-review-row{grid-template-columns:1fr}.mastery-pill{width:auto;height:auto;border-radius:12px;display:flex;gap:8px;justify-content:center;align-items:center;padding:10px}.page-head form.action-row{width:100%;justify-content:flex-start}.page-head form.action-row select{flex:1}}

/* V1.4 lecture library + integrated review + question AI */
.lecture-filters{grid-template-columns:2fr 1fr auto}.lecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lecture-card{text-decoration:none;color:inherit;display:block;transition:.15s}.lecture-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,24,39,.08)}.lecture-icon{font-size:34px}.lecture-card h2{margin:10px 0 6px;font-size:20px}.lecture-card p{color:var(--muted);line-height:1.55;min-height:48px}.lecture-card small{color:var(--muted)}.lecture-detail-grid{align-items:start}.lecture-description,.lecture-notes{white-space:pre-wrap;line-height:1.75}.linked-question-row{display:grid;grid-template-columns:1fr auto;gap:14px;text-decoration:none;color:inherit;padding:14px 0;border-bottom:1px solid var(--line)}.linked-question-row p{margin:7px 0;line-height:1.5}.linked-question-row small{color:var(--muted);margin-left:8px}.lecture-admin-grid{align-items:start}.material-admin-list{display:grid}.material-admin-row{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.material-admin-row b,.material-admin-row small{display:block}.material-admin-row small{color:var(--muted);margin-top:4px}.linked-material-admin{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.linked-material-admin b,.linked-material-admin small{display:block}.linked-material-admin b{margin:5px 0}.linked-material-admin small{color:var(--muted)}.material-link-form{display:grid;grid-template-columns:2fr .7fr .7fr 2fr auto;gap:9px;margin-top:14px}.material-link-form select,.material-link-form input{min-width:0}.review-detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:18px;align-items:start}.review-main{display:grid;gap:18px}.review-side{display:grid;gap:18px;position:sticky;top:82px}.question-review-panel h2{line-height:1.65}.answer-box{margin:15px 0;padding:13px 15px;border-radius:12px;background:#eef2ff;color:#312e81}.material-link-card{display:grid;grid-template-columns:1fr auto;gap:12px;text-decoration:none;color:inherit;padding:13px;border:1px solid var(--line);border-radius:13px;margin-bottom:10px}.material-link-card b,.material-link-card small,.material-link-card p{display:block}.material-link-card b{margin:5px 0}.material-link-card small{color:var(--muted)}.material-link-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.attempt-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.attempt-row span{font-size:13px;color:var(--muted)}.quick-prompts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.quick-prompts button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 12px;cursor:pointer}.chat-turn{display:grid;gap:8px;margin:14px 0}.chat-q,.chat-a{border-radius:14px;padding:13px 15px}.chat-q{background:#f8fafc}.chat-a{background:#eef2ff}.chat-turn p{white-space:pre-wrap;line-height:1.65;margin:5px 0}.chat-turn small{color:var(--muted)}.ai-chat-form{display:grid;gap:10px;margin-top:14px}.ai-chat-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;resize:vertical}.practice-study-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin-top:12px;border-top:1px solid var(--line)}.practice-study-tools div{display:grid;gap:3px}.practice-study-tools span{color:var(--muted);font-size:13px}.practice-materials{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.practice-materials a{display:grid;text-decoration:none;color:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:12px}.practice-materials small{color:var(--muted);margin-top:3px}.smart-review-actions{display:flex;align-items:center;gap:10px}.review-row a{color:inherit;text-decoration:none}.review-row a:hover{color:#2563eb}
@media(max-width:1050px){.lecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-detail-layout{grid-template-columns:1fr}.review-side{position:static}.material-link-form{grid-template-columns:1fr 1fr}.material-link-form select,.material-link-form input[name=note],.material-link-form button{grid-column:1/-1}.practice-materials{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.lecture-filters{grid-template-columns:1fr}.lecture-grid,.practice-materials{grid-template-columns:1fr}.material-admin-row,.linked-material-admin,.practice-study-tools,.smart-review-actions{align-items:flex-start;flex-direction:column}.material-link-form{grid-template-columns:1fr}.material-link-form>*{grid-column:auto!important}.linked-question-row{grid-template-columns:1fr}.review-detail-layout{display:block}.review-side{margin-top:18px}}
.chat-sources{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.chat-sources span{font-size:12px;background:#fff;border:1px solid #c7d2fe;color:#3730a3;border-radius:99px;padding:5px 8px}

/* V1.5 complete mock / readiness / users / mobile PWA */
.topbar-actions{display:flex;align-items:center;gap:10px}.top-install{border:1px solid #475569;background:#1f2937;color:#fff;border-radius:10px;padding:8px 11px;font-weight:700;cursor:pointer}.mobile-bottom-nav{display:none}.narrow-panel{max-width:620px}.dashboard-readiness{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.dashboard-readiness h2{margin:4px 0}.dashboard-readiness p{margin:0}.section-gap{margin-top:24px}
.readiness-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;margin-bottom:18px}.readiness-hero.good{border-left:6px solid #22c55e}.readiness-hero.warning{border-left:6px solid #eab308}.readiness-hero.bad{border-left:6px solid #ef4444}.readiness-score{width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#eef2ff}.readiness-score span,.readiness-score small{color:var(--muted);font-size:12px}.readiness-score strong{font-size:48px;line-height:1}.target-form{display:grid;gap:8px;min-width:170px}.target-form label{display:grid;gap:6px;font-weight:700}.target-form input{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px}.readiness-subject-list{display:grid}.readiness-subject-row{display:grid;grid-template-columns:180px 1fr 74px;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.readiness-subject-row small{display:block;color:var(--muted);margin-top:4px}.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-metrics span{background:#f8fafc;border-radius:9px;padding:8px;text-align:center;font-size:13px}.subject-score{height:54px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:900}.subject-score.low{background:#fee2e2;color:#991b1b}.subject-score.mid{background:#fef3c7;color:#92400e}.subject-score.high{background:#dcfce7;color:#166534}.history-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.history-row span,.history-row small{display:block}.history-row small{color:var(--muted);margin-top:4px}.history-row strong{font-size:18px}
.user-admin-layout{align-items:start}.rule-list p{line-height:1.6}.inline-check{display:flex!important;align-items:center;gap:8px!important;font-weight:600}.inline-check input{width:auto!important}.user-list{display:grid;gap:14px}.user-admin-card{border:1px solid var(--line);border-radius:16px;padding:16px}.user-admin-card.disabled{opacity:.62;background:#f8fafc}.user-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.user-admin-head b,.user-admin-head small{display:block}.user-admin-head small{color:var(--muted);margin-top:3px}.user-mini-stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0}.user-actions-grid{display:grid;grid-template-columns:2fr 2fr auto auto;gap:9px;align-items:center}.user-actions-grid .inline-form{display:flex;gap:8px;align-items:center}.user-actions-grid input[type=text],.user-actions-grid input[type=password],.user-actions-grid input:not([type]){min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px}.user-profile-form input[name=display_name]{flex:1}
.mock-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mock-mode-card{display:flex;flex-direction:column;gap:14px}.mock-mode-card h2{margin:0}.mock-mode-card p{margin:0;color:var(--muted);line-height:1.55}.mock-mode-card label{display:grid;gap:7px;font-weight:700}.mock-mode-card select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.mock-mode-card .btn{margin-top:auto}.mode-icon{font-size:34px}.mock-subject-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mock-subject-checks label{display:flex;align-items:center;gap:6px;font-weight:600}.mock-subject-checks small{color:var(--muted)}.subject-availability{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.subject-availability>div{padding:12px;background:#f8fafc;border-radius:12px;text-align:center}.subject-availability span,.subject-availability small{display:block;color:var(--muted)}.subject-availability b{font-size:22px}.resume-panel{border-left:5px solid #f59e0b}
.mock-shell{max-width:1250px}.mock-command-bar{position:sticky;top:70px;z-index:16;background:#111827;color:#fff;border-radius:15px;padding:11px 14px;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center}.mock-command-bar b,.mock-command-bar small{display:block}.mock-command-bar small{color:#cbd5e1;margin-top:3px}.mock-timer{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}.mock-timer.danger-time{color:#fca5a5}.save-state{font-size:12px;color:#86efac}.save-state.error{color:#fca5a5}.mock-progress{height:6px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin:8px 0 14px}.mock-progress i{display:block;height:100%;background:#2563eb;transition:.2s}.mock-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:16px;align-items:start}.mock-nav-panel{position:sticky;top:135px}.mock-number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.mock-num{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:9px;font-weight:800;cursor:pointer}.mock-num.answered{background:#dcfce7;border-color:#86efac;color:#166534}.mock-num.flagged{box-shadow:inset 0 0 0 2px #f59e0b}.mock-num.current{outline:3px solid #93c5fd}.mock-nav-note{font-size:12px;line-height:1.5}.mock-question-stage{min-width:0}.mock-page{max-width:none;scroll-margin-top:150px}.mock-page.is-hidden{display:none}.mock-flag-btn{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.mock-flag-btn.active{background:#fff7ed;border-color:#f59e0b;color:#92400e}.mock-bottom-actions{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;background:rgba(245,247,251,.95);backdrop-filter:blur(10px);padding:10px;border-radius:14px;border:1px solid var(--line);z-index:12}.mock-bottom-actions .danger{margin-left:auto}.mock-result-hero{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-bottom:20px}.mock-result-hero .score-ring{margin:0}.result-readiness{display:grid;text-align:right}.result-readiness span,.result-readiness small{color:var(--muted)}.result-readiness b{font-size:36px}.result-question-list{display:grid}.result-question-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.result-question-row p{margin:8px 0;line-height:1.5}.result-question-row.wrong{border-left:3px solid #ef4444;padding-left:12px}.result-question-row.right{border-left:3px solid #22c55e;padding-left:12px}
@media(max-width:1100px){.mock-mode-grid{grid-template-columns:1fr}.readiness-hero{grid-template-columns:auto 1fr}.target-form{grid-column:1/-1;grid-template-columns:1fr auto;align-items:end}.user-actions-grid{grid-template-columns:1fr 1fr}.subject-availability{grid-template-columns:repeat(3,1fr)}.mock-result-hero{grid-template-columns:auto 1fr}.result-readiness{grid-column:1/-1;text-align:left}}
@media(max-width:900px){.content{padding-bottom:95px}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:rgba(17,24,39,.96);backdrop-filter:blur(14px);z-index:40}.mobile-bottom-nav a{color:#d1d5db;text-decoration:none;display:grid;place-items:center;gap:2px;min-height:50px}.mobile-bottom-nav span{font-size:20px}.mobile-bottom-nav small{font-size:10px}.mobile-bottom-nav .mobile-primary{color:#fff}.mock-layout{grid-template-columns:1fr}.mock-nav-panel{position:static}.mock-number-grid{grid-template-columns:repeat(10,1fr)}.mock-nav-note{display:none}.mock-command-bar{top:67px}.user-admin-layout{grid-template-columns:1fr}.readiness-subject-row{grid-template-columns:120px 1fr 64px}.mini-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dashboard-readiness,.user-admin-head{align-items:flex-start;flex-direction:column}.readiness-hero{grid-template-columns:1fr;text-align:left}.readiness-score{width:120px;height:120px}.target-form{grid-column:auto;grid-template-columns:1fr}.readiness-subject-row{grid-template-columns:1fr auto}.readiness-subject-row .mini-metrics{grid-column:1/-1;grid-row:2}.user-actions-grid{grid-template-columns:1fr}.user-actions-grid .inline-form{align-items:stretch;flex-direction:column}.mock-command-bar{grid-template-columns:1fr auto;padding:9px 11px}.mock-command-bar .save-state{grid-column:1/-1}.mock-number-grid{grid-template-columns:repeat(8,1fr)}.mock-bottom-actions{bottom:72px;display:grid;grid-template-columns:1fr auto 1fr}.mock-bottom-actions .danger{grid-column:1/-1;margin-left:0}.mock-bottom-actions #questionPosition{text-align:center}.mock-result-hero{grid-template-columns:1fr;text-align:center}.mock-result-hero .score-ring{margin:auto}.result-readiness{text-align:center}.result-question-row{grid-template-columns:1fr}.subject-availability{grid-template-columns:repeat(2,1fr)}.mock-subject-checks{grid-template-columns:1fr}.top-install{display:none}}

.ios-install-hint{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;border-left:5px solid #2563eb}.ios-install-hint b,.ios-install-hint span{display:block}.ios-install-hint span{color:var(--muted);font-size:13px;margin-top:4px}@media(max-width:650px){.ios-install-hint{align-items:flex-start;flex-direction:column}}

/* V1.6 - quality control, global search, notes, similar questions */
.search-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;margin-bottom:18px}.search-hero input,.search-hero select,.report-form select,.report-form textarea,.report-admin-form select,.report-admin-form textarea,.compact-form textarea,.compact-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit}.search-section{margin-top:16px}.search-section h2{display:flex;gap:8px;align-items:center}.search-section h2 span{font-size:13px;color:var(--muted)}.search-result{display:flex;justify-content:space-between;gap:16px;color:var(--ink);text-decoration:none;padding:14px 2px;border-top:1px solid var(--line)}.search-result b{display:block;margin:7px 0}.search-result p{margin:5px 0;color:var(--muted);line-height:1.55}.notes-layout{align-items:start}.note-filters{grid-template-columns:2fr 1fr auto}.note-list{display:grid;gap:12px}.note-card.pinned{border-top:4px solid #f59e0b}.note-card h3{margin:7px 0}.compact-form{gap:9px}.report-card,.admin-report{display:grid;gap:10px}.report-detail,.report-admin-note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);white-space:pre-wrap}.report-admin-note{background:#eff6ff}.report-counts{display:flex;gap:10px;flex-wrap:wrap}.report-counts span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700}.report-filters{grid-template-columns:1fr 1fr auto}.report-admin-form{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:10px;align-items:start}.report-form{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:10px;align-items:start}.mini-report-list{margin-top:14px;border-top:1px solid var(--line)}.mini-report-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.mini-report-list p{margin:7px 0}.similar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.similar-card{position:relative;display:flex;justify-content:space-between;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);background:#fafafa}.similar-card small{margin-left:6px;color:var(--muted)}.similar-card p{margin:8px 0 0;line-height:1.5}.similar-score{font-weight:900;color:var(--brand);white-space:nowrap}.timeline{display:grid;gap:14px}.version-card h3{margin:7px 0}.version-diff>div{padding:12px 0;border-top:1px solid var(--line)}.diff-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.diff-grid pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:10px;background:#f8fafc;border-radius:10px;max-height:260px;overflow:auto}.diff-grid>span{font-weight:900;color:var(--muted)}
@media(max-width:900px){.search-hero,.report-admin-form,.report-form{grid-template-columns:1fr}.similar-grid{grid-template-columns:1fr}.note-filters,.report-filters{grid-template-columns:1fr}.diff-grid{grid-template-columns:1fr}.diff-grid>span{transform:rotate(90deg);text-align:center}}
.topbar-actions{display:flex;align-items:center;gap:8px}.top-search{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#fff;text-decoration:none;background:#1f2937}.top-search:hover{background:#374151}
.quality-summary-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.quality-summary-strip b,.quality-summary-strip span{display:block}.quality-summary-strip span{color:var(--muted);margin-top:4px}@media(max-width:700px){.quality-summary-strip{align-items:stretch;flex-direction:column}}

/* V1.7 - exam countdown, study plan, notifications, streaks */
.exam-countdown-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#eef2ff,#f8fafc)}.exam-countdown-hero h2{margin:4px 0}.exam-countdown-hero h2 strong{font-size:36px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.countdown-card{text-align:center}.countdown-card span,.countdown-card small{display:block;color:var(--muted)}.countdown-card strong{display:block;font-size:38px;margin:8px 0}.plan-layout{align-items:start}.plan-recommend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.plan-recommend-grid>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;text-align:center}.plan-recommend-grid span,.plan-recommend-grid b{display:block}.plan-recommend-grid b{font-size:27px;margin-top:5px}.plan-suggestion{display:flex;align-items:center;justify-content:space-between;gap:14px}.notification-list{display:grid;gap:12px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.notification-card.unread{border-left:5px solid #2563eb;background:#f8fbff}.notification-card h2{margin:7px 0}.notification-card p{margin:0;color:var(--muted)}.top-notify{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#fff;text-decoration:none;background:#1f2937}.top-notify b{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:10px}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;margin-left:4px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.achievement-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafafa}.achievement-card.unlocked{background:#fffbeb;border-color:#fde68a}.achievement-card.locked{opacity:.62}.achievement-card h3{margin:7px 0}.achievement-card p{color:var(--muted);min-height:42px}.achievement-icon{font-size:30px}
@media(max-width:900px){.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-recommend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-countdown-hero,.plan-suggestion,.notification-card{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.countdown-grid,.achievement-grid{grid-template-columns:1fr 1fr}.countdown-card strong{font-size:30px}.exam-countdown-hero h2 strong{font-size:30px}}

/* V2.2 - system, backup, security */
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:820px}.table-wrap th,.table-wrap td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.table-wrap code{font-size:12px}.panel hr{border:0;border-top:1px solid var(--line);margin:20px 0}.form-stack input[type=file]{padding:10px;background:#f8fafc}.stat-card strong{overflow-wrap:anywhere}
/* V2.3.4 - imported question integrity scanner */
.integrity-list{display:grid;gap:12px}.integrity-item{border-left:5px solid var(--line)}.integrity-item.integrity-critical{border-left-color:#b91c1c}.integrity-item.integrity-high{border-left-color:#ef4444}.integrity-item.integrity-medium{border-left-color:#f59e0b}.integrity-item.integrity-low{border-left-color:#60a5fa}.integrity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.integrity-item h3{margin:14px 0 6px}.integrity-item p{margin:6px 0;line-height:1.6}.integrity-snippet{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px;font-family:inherit;line-height:1.55;color:#374151}.integrity-filters{grid-template-columns:1fr 1fr 1.4fr auto}.integrity-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.integrity-head{flex-direction:column}.integrity-filters{grid-template-columns:1fr 1fr}.integrity-filters select:nth-child(3){grid-column:1/-1}.integrity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.integrity-filters,.integrity-stats{grid-template-columns:1fr}.integrity-filters select:nth-child(3){grid-column:auto}}

/* V2.3.6 - safe automatic repair of imported official questions */
.integrity-repair-panel{margin:0 0 18px}.integrity-repair-panel h2{margin:0 0 6px}.repair-status{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--surface-2,#f5f7fb)}.repair-running,.repair-scanning,.repair-backup{border-left:4px solid #2563eb}.repair-done{border-left:4px solid #16a34a}.repair-warning,.repair-error{border-left:4px solid #dc2626}.repair-details{margin-top:12px}.repair-result-list{display:grid;gap:8px;margin-top:10px}.repair-result{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border,#dfe3ea);border-radius:10px}.repair-result-success{border-left:4px solid #16a34a}.repair-result-warning,.repair-result-skipped{border-left:4px solid #d97706}.repair-result-error{border-left:4px solid #dc2626}

/* V2.3.7 - full review cards: stem + A/B/C/D + official answer + explanation */
.review-collection-stack{display:grid;gap:18px}.review-full-list{display:grid;gap:18px;margin-top:14px}.review-full-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.review-full-card+.review-full-card{margin-top:0}.review-full-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-full-labels{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.review-full-labels small{color:var(--muted)}.review-full-stem{font-size:17px;line-height:1.65;margin:13px 0}.review-list-options{margin:12px 0}.review-list-options .review-option{line-height:1.55}.review-list-answer{margin:12px 0;padding:11px 13px;border-radius:11px;background:#eef2ff;color:#312e81}.review-full-meta{font-size:13px;color:var(--muted);line-height:1.6;margin:8px 0}.review-list-explanation{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.review-list-explanation summary{cursor:pointer;font-weight:800;color:#334155;list-style:none}.review-list-explanation summary::-webkit-details-marker{display:none}.review-list-explanation[open] summary{margin-bottom:10px}.review-list-explanation .explanation-text{margin:0;padding:12px 14px;border-radius:12px;background:#f8fafc}.review-list-image{display:block;max-width:min(100%,720px);max-height:460px;object-fit:contain;margin:10px 0 14px;border:1px solid var(--line);border-radius:12px;background:#fff}@media(max-width:650px){.review-full-card{padding:15px}.review-full-head{flex-direction:column}.review-full-head .btn{width:100%}.review-full-stem{font-size:16px}.review-list-options .review-option{padding:11px}.review-list-explanation .explanation-text{padding:11px}}

/* V2.3.8 - full database recheck + automatic official re-import + image integrity repair */

/* V2.3.21 question bank search */
.question-filters{grid-template-columns:2.3fr 1fr 1.4fr 1fr auto;align-items:center}
.question-keyword-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
.question-keyword-wrap input{min-width:0}
.question-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.question-search-summary{margin:-4px 0 16px;color:var(--muted);font-size:14px}
.question-bank-explanation{margin-top:14px;padding:12px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}
.question-bank-explanation p{white-space:pre-wrap;margin:7px 0 0;line-height:1.65}
@media(max-width:1100px){.question-filters{grid-template-columns:1fr 1fr}.question-keyword-wrap{grid-column:1/-1}.question-filter-actions{grid-column:1/-1}}
@media(max-width:700px){.question-filters{grid-template-columns:1fr}.question-keyword-wrap,.question-filter-actions{grid-column:auto}.question-filter-actions .btn{flex:1 1 auto}}
@media(max-width:480px){.question-keyword-wrap{grid-template-columns:1fr}.question-search-btn{width:100%}}
