:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2937;background:#f3f4f6;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#2563eb;text-decoration:none}button,input,select{font:inherit}.page{max-width:720px;margin:0 auto;padding:24px 16px 48px}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;margin-bottom:16px}.btn{display:inline-block;border:none;border-radius:8px;padding:10px 18px;background:#2563eb;color:#fff;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:#6b7280}.btn.danger{background:#dc2626}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-weight:600}.field input,.field select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px}.err{color:#dc2626;margin-top:8px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.muted{color:#6b7280;font-size:14px}.option{display:block;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;cursor:pointer}.option.active{border-color:#2563eb;background:#eff6ff}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-box{background:#f9fafb;border-radius:8px;padding:12px}.stat-box strong{display:block;font-size:22px}.tag{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:999px;padding:2px 10px;margin:2px 4px 2px 0;font-size:13px}.item-row{border-top:1px solid #f3f4f6;padding:10px 0}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tab{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;color:#374151}.tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.ai-sections{margin-top:16px}.ai-block{background:#f8fafc;border-left:4px solid #2563eb;border-radius:8px;padding:12px 14px;margin-bottom:10px}.ai-block h4{margin:0 0 6px;color:#1e40af}.grade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.grade-btn{border:1px solid #d1d5db;background:#fff;border-radius:12px;padding:14px 10px;cursor:pointer;font-weight:600;color:#374151}.grade-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.grade-btn.active .muted,.grade-btn.active .subject-hint{color:#ffffffeb}.grade-btn .subject-hint{font-weight:400;font-size:12px;margin-top:6px;color:#6b7280}.subject-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:480px){.subject-grid{grid-template-columns:repeat(3,1fr)}}.subject-btn{border:1px solid #d1d5db;background:#fff;border-radius:14px;padding:18px 14px;cursor:pointer;text-align:center;color:#111827;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.subject-btn:hover{border-color:#93c5fd;box-shadow:0 2px 8px #2563eb1f}.subject-btn.active{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 4px 14px #2563eb47}.subject-btn .subject-title{font-size:18px;font-weight:700}.subject-btn .subject-hint{font-weight:400;font-size:13px;margin-top:6px;color:#6b7280}.subject-btn.active .subject-hint{color:#ffffffeb}.page-wide{max-width:860px}.q-pad-card{padding:14px 16px}.q-pad-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.q-pad{display:flex;flex-wrap:wrap;gap:8px}.q-pad-btn{width:40px;height:40px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;font-weight:600;padding:0}.q-pad-btn.answered{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.q-pad-btn.blank{background:#fff}.q-pad-btn.current{outline:2px solid #2563eb;outline-offset:1px}.q-pad-legend{margin:10px 0 0;display:flex;gap:12px;flex-wrap:wrap}.q-pad-legend .legend:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;border:1px solid #d1d5db}.q-pad-legend .legend.answered:before{background:#dbeafe;border-color:#93c5fd}.q-pad-legend .legend.blank:before{background:#fff}.q-pad-legend .legend.current:before{background:#fff;outline:2px solid #2563eb;outline-offset:1px}.btn-sm{padding:6px 12px;font-size:13px}.nav-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.blank-hint{color:#d97706;margin-left:8px;font-size:13px}.linkish{border:none;background:none;color:#2563eb;cursor:pointer;padding:0;margin-left:8px;font:inherit}.paper-preview .preview-item h4{font-weight:600}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{width:min(420px,100%);margin:0}.review-item{border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;margin-top:12px;background:#fff}.review-item.wrong{border-color:#fecaca;background:#fff7f7}.review-item.correct{border-color:#bbf7d0;background:#f7fdf9}.review-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.tag.ok{background:#dcfce7;color:#166534}.tag.bad{background:#fee2e2;color:#991b1b}.review-block{margin-top:8px}.review-label{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:2px}.review-body{font-size:15px;line-height:1.55;color:#111827}.review-body.blank{color:#d97706}.review-block.analysis .review-body{background:#f8fafc;border-radius:8px;padding:10px 12px;border:1px dashed #cbd5e1}.review-meta{margin:10px 0 0;font-size:13px}.preview-section{margin-bottom:18px}.preview-section-title{margin:8px 0 10px;font-size:17px;font-weight:700;color:#1e3a8a;padding-left:10px;border-left:4px solid #2563eb}.section-chip{display:inline-block;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:600}.paper-view-page .view-title{margin:0 0 4px;text-align:center;font-size:20px}.paper-view-page .view-sub{text-align:center;margin:0}.view-options{margin:6px 0 4px;display:grid;gap:4px}.view-option{font-size:15px;line-height:1.5;color:#374151}.view-answer{margin-top:8px;padding:8px 12px;background:#f0fdf4;border:1px dashed #86efac;border-radius:8px;font-size:14px;line-height:1.55;color:#166534}.view-answer-label{font-weight:700;margin-right:8px}.view-analysis{margin-top:6px;color:#374151}.answers-hint{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:10px;padding:8px 14px;font-size:13px}@media print{.no-print,.topbar .btn,.topbar .tabs{display:none!important}body{background:#fff}.paper-view-page{max-width:100%;padding:0}.paper-view-page .card{box-shadow:none;border:none;border-radius:0;padding:0;margin:6px 0;break-inside:avoid}.paper-view-page .preview-item{border-bottom:1px solid #e5e7eb}.preview-section-title{break-after:avoid}}
