.mobile-nav .nav-action{color:var(--text-primary);font-size:15px;letter-spacing:1px}.phone{display:flex;flex-direction:column}.grading-main{flex:1;position:relative;overflow:hidden;background:#e8e8e8}.viewer-wrap{position:absolute;inset:0 0 52px;background:#e8e8e8;overflow:hidden;transition:bottom .3s cubic-bezier(.4,0,.2,1)}.paper-canvas{position:absolute;inset:12px;border-radius:10px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;padding:14px;color:#334155;font-size:13px;line-height:1.65;overflow-y:auto;overflow-x:hidden}.paper-sub-title{color:#0f172a;font-weight:var(--fw-semibold);margin-bottom:8px}.paper-line{margin-bottom:8px}.paper-student-answer{color:#2563eb;font-family:Kaiti,cursive,sans-serif;font-size:15px;text-decoration-color:#cbd5e1;padding:0 4px}.inline-mark{display:inline-flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:50%;font-size:10px;margin-left:6px;vertical-align:text-bottom;font-weight:700}.inline-mark.correct{color:#22c55e;border:1px solid #22c55e;background:#f0fdf4}.inline-mark.wrong{color:#ef4444;border:1px solid #ef4444;background:#fef2f2}.inline-mark.half{color:#f59e0b;border:1px solid #f59e0b;background:#fffbeb}.inline-mark.student{color:#ea580c;border:1px solid #fdba74;background:#fff7ed}.hotzone{position:absolute;border-radius:8px;border:2px dashed transparent;background:transparent;cursor:pointer;transition:all .2s;z-index:2}.hotzone:hover{background:#3b82f614}.hotzone.active{border-color:#3b82f680;background:#3b82f61f}.zone-tag{position:absolute;left:-2px;top:-2px;background:var(--brand-primary);color:#fff;font-size:11px;border-radius:8px 0 6px;padding:2px 8px;display:none}.hotzone.active .zone-tag{display:inline-block}.page-arrow{position:absolute;top:50%;width:32px;height:32px;margin-top:-16px;border:none;border-radius:50%;background:#00000047;color:#fff;cursor:pointer;z-index:3}.page-arrow.left{left:8px}.page-arrow.right{right:8px}.viewer-tools{position:absolute;left:0;right:0;bottom:0;height:52px;background:#ffffffe6;backdrop-filter:blur(4px);border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:4;transition:bottom .3s cubic-bezier(.4,0,.2,1)}.tool-btn{border:none;background:none;color:#111827;font-size:14px;cursor:pointer;padding:4px}.tool-group{display:flex;gap:14px;align-items:center}.grading-panel{position:absolute;left:0;right:0;bottom:0;height:55%;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -6px 20px #0f172a29;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:5;display:flex;flex-direction:column}.grading-panel.show{transform:translateY(0)}.grading-main.panel-open .viewer-wrap{bottom:calc(55% + 52px)}.grading-main.panel-open .viewer-tools{bottom:55%}.panel-header{height:50px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;flex-shrink:0}.panel-title{font-size:16px;font-weight:var(--fw-semibold)}.panel-analysis-link{font-size:14px;color:var(--brand-primary);text-decoration:none}.panel-analysis-link.readonly{color:#64748b}.panel-body{overflow-y:auto;padding:12px 14px 16px}.question-summary{border-bottom:1px solid #f0f0f0;margin-bottom:12px;padding-bottom:12px}.summary-title{font-size:15px;color:#111827;font-weight:var(--fw-semibold);margin-bottom:6px}.summary-passage{color:#4b5563;font-size:13px;line-height:1.6;white-space:pre-wrap}.question-summary.collapsed .summary-passage{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.summary-toggle{border:none;background:none;color:var(--brand-primary);font-size:12px;margin-top:4px;padding:0;cursor:pointer}.card-block{border:1px solid #f0f0f0;border-radius:10px;padding:12px;background:#fff;margin-bottom:10px}.card-title{font-size:14px;color:#111827;font-weight:var(--fw-semibold);margin-bottom:4px}.type-label{color:var(--text-muted);font-size:12px;margin-bottom:10px}.type-label.summary-type{margin-top:8px;margin-bottom:0}.grading-item{border-top:1px solid #f0f0f0;padding-top:10px;margin-top:10px}.grading-item:first-of-type{border-top:none;margin-top:0;padding-top:0}.item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.item-top.no-label{justify-content:flex-end}.item-label{color:#374151;font-size:13px;font-weight:var(--fw-medium);line-height:1.5}.item-controls{display:flex;gap:6px;align-items:center;flex-shrink:0}.ai-chip{border-radius:12px;border:1px solid #d1d5db;background:#f3f4f6;color:#6b7280;font-size:11px;padding:2px 8px;cursor:pointer}.ai-chip.is-ai{border-color:#93c5fd;background:#eff6ff;color:#2563eb}.judge-line,.score-line{display:flex;align-items:center;gap:8px}.judge-title,.score-title{color:var(--text-secondary);font-size:13px}.judge-btn.is-active.source-ai{background:#2563eb;color:#fff;border-color:#2563eb}.judge-btn.is-active.source-student{background:#ea580c;color:#fff;border-color:#ea580c}.score-stepper.source-student{border-color:#fdba74}.ref-label{display:inline-flex;align-items:center;color:var(--brand-primary);font-size:13px;margin-top:10px;margin-bottom:6px}.ref-answer{background:#eff6ff;color:#1e40af;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.5}.analysis-label{display:inline-flex;align-items:center;margin-top:10px;margin-bottom:6px;color:#0f766e;font-size:13px}.analysis-content{background:#f0fdfa;color:#0f172a;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.6}.readonly-item{border-top:1px solid #f0f0f0;margin-top:10px;padding-top:10px}.readonly-item:first-of-type{border-top:none;margin-top:0;padding-top:0}.readonly-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.readonly-head.no-label{justify-content:flex-end}.readonly-tags{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.readonly-tag{border-radius:999px;padding:2px 8px;border:1px solid transparent;font-size:11px;font-weight:600}.readonly-tag.pending{color:#92400e;border-color:#fde68a;background:#fffbeb}.readonly-tag.ai{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.readonly-tag.teacher{color:#166534;border-color:#86efac;background:#f0fdf4}.grading-footer{gap:10px;background:#fff;border-top:1px solid var(--border-light);z-index:6;position:relative}.footer-btn{border-radius:22px;height:44px;border:none;font-size:15px;font-weight:var(--fw-medium);cursor:pointer}.footer-btn.secondary{flex:1;border:1px solid var(--brand-primary);color:var(--brand-primary);background:#fff}.footer-btn.primary{flex:1.5;background:var(--brand-primary);color:#fff}.toast{position:absolute;left:50%;bottom:98px;transform:translate(-50%) translateY(10px);background:#0f172aeb;color:#fff;border-radius:999px;font-size:12px;padding:8px 14px;white-space:nowrap;opacity:0;transition:all .22s ease;pointer-events:none;z-index:30}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.history-sheet-mask{position:absolute;inset:0;background:#0f172a59;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:18}.history-sheet-mask.show{opacity:1;pointer-events:auto}.history-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -10px 30px #0f172a33;transform:translateY(100%);transition:transform .22s ease;z-index:19;max-height:62%;display:flex;flex-direction:column}.history-sheet.show{transform:translateY(0)}.history-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid #f1f5f9}.history-sheet-title{font-size:15px;font-weight:var(--fw-semibold);color:#111827}.history-sheet-close{border:none;background:#f8fafc;color:#64748b;border-radius:999px;font-size:12px;padding:5px 10px;cursor:pointer}.history-sheet-body{overflow-y:auto;padding:8px 14px 14px}.history-row{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;background:#fff}.history-row.active{border-color:#bfdbfe;background:#eff6ff}.history-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.history-row-title{font-size:13px;color:#111827;font-weight:var(--fw-medium)}.history-row-meta{font-size:12px;color:#64748b}.status-chip{border-radius:999px;padding:2px 8px;border:1px solid transparent;font-size:11px;font-weight:600;white-space:nowrap}.status-chip.pending{color:#92400e;border-color:#fde68a;background:#fffbeb}.status-chip.ai_graded{color:#1d4ed8;border-color:#bfdbfe;background:#eff6ff}.status-chip.teacher_graded{color:#166534;border-color:#86efac;background:#f0fdf4}
