.quota-status-bar{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-light,#e2e8f0);border-radius:8px;padding:8px 12px}.quota-status-bar--compact{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.quota-status-bar--full{flex-direction:column;gap:8px;display:flex}.quota-status-bar__slots{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quota-status-bar--full .quota-status-bar__slots{flex-direction:column;width:100%}.quota-status-bar__slot{flex-direction:column;gap:3px;display:flex}.quota-status-bar--compact .quota-status-bar__slot{flex-direction:row;align-items:center;gap:4px}.quota-status-bar__slot-header{align-items:center;gap:4px;display:flex}.quota-status-bar__slot-icon{font-size:14px;line-height:1}.quota-status-bar__slot-label{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:12px;font-weight:500}.quota-status-bar__slot-label--warning{color:var(--orange-600,#ea580c)}.quota-status-bar__slot-label--danger{color:var(--red-600,#dc2626);font-weight:600}.quota-status-bar__progress{border-radius:3px;width:100%;height:6px;overflow:hidden}.quota-status-bar__progress-fill{border-radius:3px;min-width:2px;height:100%;transition:width .4s}.quota-status-bar__mini-bar{border-radius:2px;width:40px;height:4px;overflow:hidden}.quota-status-bar__mini-bar-fill{border-radius:2px;height:100%;transition:width .4s}.quota-status-bar__upgrade{margin-top:4px;font-size:12px}.generate-dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.generate-dialog{background:#fff;border-radius:16px;width:90%;max-width:460px;max-height:85vh;padding:28px 24px 20px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000026}.generate-dialog__close{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;font-size:18px;position:absolute;top:12px;right:12px}.generate-dialog__title{color:var(--text-primary,#1e293b);margin:0 0 16px;font-size:18px;font-weight:700}.generate-dialog__existing-hint{color:var(--text-secondary,#64748b);background:#6366f10f;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:12px}.generate-dialog__existing-link{color:var(--ai-primary,#6366f1)}.generate-dialog__section{margin-bottom:14px}.generate-dialog__label{color:var(--text-primary,#334155);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.generate-dialog__kp-list{flex-wrap:wrap;gap:6px;display:flex}.generate-dialog__kp-item{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-light,#e2e8f0);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:all .15s;display:flex}.generate-dialog__kp-item:hover{border-color:var(--ai-primary,#6366f1)}.generate-dialog__kp-item:has(input:checked){border-color:var(--ai-primary,#6366f1);background:#6366f114}.generate-dialog__kp-name{color:var(--text-primary,#334155)}.generate-dialog__kp-relevance{color:var(--text-secondary,#94a3b8);font-size:10px}.generate-dialog__no-kp{color:var(--orange-600,#ea580c);font-size:13px}.generate-dialog__select{border:1px solid var(--border-light,#e2e8f0);box-sizing:border-box;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13px}.generate-dialog__select:focus{border-color:var(--ai-primary,#6366f1)}.generate-dialog__count-row{align-items:center;gap:10px;display:flex}.generate-dialog__slider{accent-color:var(--ai-primary,#6366f1);flex:1}.generate-dialog__count-value{color:var(--ai-primary,#6366f1);text-align:right;min-width:40px;font-size:14px;font-weight:600}.generate-dialog__quota-info{color:var(--text-secondary,#94a3b8);margin-top:4px;font-size:11px}.generate-dialog__quota-exhausted{color:var(--red-500,#ef4444);margin-left:4px}.generate-dialog__grading-warning{color:var(--orange-600,#ea580c);background:#f59e0b14;border-radius:6px;margin-bottom:14px;padding:8px 12px;font-size:12px}.generate-dialog__actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.generate-dialog__btn{cursor:pointer;border:none;border-radius:20px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.generate-dialog__btn--cancel{background:var(--bg-secondary,#f1f5f9);color:var(--text-secondary,#64748b)}.generate-dialog__btn--generate{background:linear-gradient(135deg, var(--ai-primary,#6366f1), var(--ai-secondary,#8b5cf6));color:#fff}.generate-dialog__btn--generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.generate-dialog__btn--generate:disabled{opacity:.5;cursor:not-allowed}.drill-guide-banner{display:none}.grading-pulse{background:var(--ai-500);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite gradingPulse;display:inline-block}@keyframes gradingPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.drill-layout{gap:var(--s6);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.drill-actions-bar{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3);display:flex}.subject-tabs{background:var(--gray-100);border-radius:var(--r-full);gap:2px;padding:4px;display:flex;margin-bottom:var(--s3)!important}.subject-tab{padding:8px var(--s3);border-radius:var(--r-full);font-size:var(--text-sm);color:var(--gray-500);cursor:pointer;transition:all var(--dur-micro) var(--ease);text-align:center;flex:1;font-weight:600;position:relative}.subject-tab:hover{color:var(--gray-800);background:#ffffff80}.subject-tab.active{background:var(--white);color:var(--brand-700);box-shadow:var(--shadow-sm)}.subject-tab[data-tooltip]:after,.subject-badge[data-tooltip]:after{content:attr(data-tooltip);background:var(--gray-900,#1f2937);color:#fff;white-space:pre-wrap;word-break:break-word;z-index:999;opacity:0;pointer-events:none;text-align:left;border-radius:8px;max-width:520px;padding:10px 14px;font-size:12px;font-weight:400;line-height:1.7;transition:opacity .15s;position:absolute;top:calc(100% + 8px);bottom:auto;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.subject-tab[data-tooltip]:hover:after,.subject-badge[data-tooltip]:hover:after{opacity:1}.qtype-row{background:var(--gray-100);border-radius:var(--r-full);gap:0;padding:4px;display:flex;margin-bottom:var(--s4)!important}.qtype-btn{padding:9px var(--s3);border-radius:var(--r-full);cursor:pointer;transition:all var(--dur-micro) var(--ease);text-align:center;font-size:var(--text-sm);color:var(--gray-600);background:0 0;border:none;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.qtype-btn:hover{color:var(--gray-800);background:#ffffff80}.qtype-btn.active{background:var(--white);color:var(--gold-700,#b45309);box-shadow:var(--shadow-sm);font-weight:700}.qtype-btn:active{transform:scale(.98)}.qtype-btn-icon{flex-shrink:0;margin:0;font-size:16px;line-height:1}.qtype-btn-name{font-size:var(--text-sm);font-weight:inherit;color:inherit;white-space:nowrap}.qtype-btn-count{font-size:var(--text-xs);color:var(--gray-400);white-space:nowrap;margin:0;font-weight:500}.qtype-btn.active .qtype-btn-count{color:var(--gold-600,#d97706)}.qtype-btn-progress{background:var(--gray-100);border-radius:var(--r-full);height:4px;margin-top:var(--s3);width:100%;overflow:hidden}.empty-question-card.question-card{background:var(--white);border-radius:var(--r-2xl);border:1.5px dashed var(--gray-300);box-shadow:none;padding:var(--s10) var(--s8);text-align:center;align-items:center;gap:var(--s3);flex-direction:column;display:flex}.empty-qmeta{align-items:center;gap:var(--s3);margin-bottom:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.empty-question-card .empty-icon{margin-bottom:var(--s2);font-size:48px}.empty-question-card .empty-title{font-size:var(--text-lg);color:var(--gray-700);font-weight:700}.empty-question-card .empty-desc{font-size:var(--text-sm);color:var(--gray-500);max-width:400px}.empty-suggest{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.question-card:not(.empty-question-card){border-radius:var(--r-2xl);margin-bottom:var(--s5);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;will-change:transform, opacity;border:1px solid #0000;padding:36px 40px;transition:box-shadow .25s;animation:.4s cubic-bezier(.16,1,.3,1) questionCardEnter;box-shadow:0 24px 60px #0f346029,0 8px 24px #0f346014,0 2px 4px #0f34600a;background:#fff!important}.question-card:not(.empty-question-card):hover{box-shadow:0 32px 72px #0f346033,0 12px 32px #0f34601a,0 2px 4px #0f34600a}@keyframes questionCardEnter{0%{opacity:0;transform:translateY(14px)scale(.985)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}.empty-question-card{animation:.4s cubic-bezier(.16,1,.3,1) questionCardEnter}.q-meta-row{align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.q-school-badge{background:var(--red-50);color:var(--red-700);padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);align-items:center;gap:4px;font-weight:600;display:flex}.q-frequency-badge{padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);align-items:center;gap:4px;font-weight:600;display:flex}.q-freq-high{color:#dc2626;background:#ef44441a}.q-freq-medium{color:#d97706;background:#f59e0b1a}.q-freq-low{color:#6b7280;background:#6b72801a}.q-src-badge{background:var(--gray-100);color:var(--gray-600);padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs)}.q-source-tag{padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:inline-flex}.q-source-exam{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.q-source-simulation{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.q-source-practice{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.q-exam-multi{cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted #b91c1c;text-decoration:underline dotted #b91c1c;position:relative}.q-exam-tooltip{padding:var(--s3) var(--s4);color:#f9fafb;border-radius:var(--r-lg);font-size:var(--text-xs);white-space:nowrap;z-index:1000;pointer-events:none;background:#1f2937;font-weight:400;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.q-exam-multi:hover .q-exam-tooltip{display:block}.q-exam-tooltip-item{font-size:var(--text-xs);color:#e5e7eb;padding:3px 0;line-height:1.5}.q-exam-tooltip-item+.q-exam-tooltip-item{border-top:1px solid #ffffff1f;margin-top:3px;padding-top:5px}.q-exam-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:50%;transform:translate(-50%)}.q-title{color:#14283f;margin-bottom:var(--s5);letter-spacing:.01em;font-size:1.35rem;font-weight:700;line-height:1.65}.input-toolbar{padding:var(--s3) var(--s4);background:var(--gray-50);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1.5px solid var(--gray-200);border-bottom:none;justify-content:space-between;align-items:center;display:flex}.toolbar-left{align-items:center;gap:var(--s4);display:flex}.word-count{font-size:var(--text-sm);color:var(--gray-700);font-weight:600}.word-count.warn{color:var(--orange-500)}.word-count.ok{color:var(--green-500)}.timer-chip{align-items:center;gap:var(--s2);font-size:var(--text-sm);color:var(--gray-700);background:var(--white);border:1px solid var(--gray-200);padding:4px var(--s3);border-radius:var(--r-md);transition:all var(--dur-micro) var(--ease);font-weight:700;display:flex}.timer-chip.warn{color:var(--red-500);border-color:var(--red-200);background:var(--red-50)}.timer-chip.urgent{color:var(--white);border-color:var(--red-500);background:var(--red-500);animation:1s ease-in-out infinite timer-blink}@keyframes timer-blink{0%,to{opacity:1}50%{opacity:.7}}.toolbar-tools{gap:var(--s2);display:flex}.tool-btn{font-size:var(--text-xs);color:var(--ai-600);background:var(--ai-50);border:1px solid var(--ai-200);padding:4px var(--s3);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-micro) var(--ease);align-items:center;gap:4px;display:flex}.tool-btn:hover{background:var(--ai-100);border-color:var(--ai-300)}.tool-btn:active{transform:scale(.97)}.answer-input{border:1.5px solid var(--gray-200);border-radius:0 0 var(--r-xl) var(--r-xl);width:100%;font-size:15px;font-family:var(--font);color:#14283f;resize:vertical;min-height:320px;transition:border-color var(--dur-micro), box-shadow var(--dur-micro), background .2s;background:#fff;border-top:none;outline:none;padding:32px 36px;line-height:2}.answer-input.essay{min-height:440px}.answer-input:focus{border-color:var(--gold-500,#c9a84c);background:linear-gradient(#fffefb 0%,#fff 25%);box-shadow:0 0 0 4px #c9a84c2e}.answer-input::placeholder{color:var(--gray-400);padding-top:2px;line-height:2}.assist-panel{background:var(--ai-50);border:1px solid var(--ai-200);border-radius:var(--r-xl);padding:var(--s4);margin-top:var(--s3);display:none}.assist-panel.show{animation:fadeUp var(--dur-normal) var(--ease) both;display:block}.assist-title{font-size:var(--text-xs);color:var(--ai-700);margin-bottom:var(--s3);font-weight:700}.keyword-grid{gap:var(--s2);flex-wrap:wrap;display:flex}.kw-blur{background:var(--gray-200);color:#0000;padding:3px var(--s3);border-radius:var(--r-full);font-size:var(--text-xs);cursor:pointer;transition:all var(--dur-micro) var(--ease);-webkit-user-select:none;user-select:none;border:1px solid var(--gray-300)}.kw-blur:hover,.kw-blur.shown{background:var(--gold-100);color:var(--yellow-700);border-color:var(--gold-400)}.logic-chain{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.lc-step{background:var(--white);border:1px solid var(--ai-200);padding:3px var(--s3);border-radius:var(--r-md);font-size:var(--text-xs);color:var(--ai-700);font-weight:600}.lc-arr{color:var(--gray-400)}.submit-warn{align-items:flex-start;gap:var(--s2);background:var(--yellow-50);border:1px solid var(--yellow-100);border-radius:var(--r-lg);padding:var(--s3) var(--s4);font-size:var(--text-xs);color:var(--yellow-700);margin-top:var(--s4);opacity:0;max-height:0;padding-top:0;padding-bottom:0;transition:max-height .25s,opacity .2s,padding .2s;display:flex;overflow:hidden}.submit-warn.show{opacity:1;max-height:80px;padding:var(--s3) var(--s4);animation:fadeUp var(--dur-normal) var(--ease) both}.submit-row{margin-top:var(--s5);justify-content:space-between;align-items:center;display:flex}.submit-left{gap:var(--s3);display:flex}.submit-row .btn-ai{letter-spacing:.5px;border-radius:14px!important;padding:14px 36px!important;font-size:16px!important;font-weight:700!important;transition:transform .15s,box-shadow .15s,filter .15s!important;box-shadow:0 6px 20px -2px #3b82f673!important}.submit-row .btn-ai:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 10px 28px -2px #3b82f68c!important}.draft-status{font-size:var(--text-xs);color:var(--gray-400);transition:color var(--dur-micro);align-items:center;gap:4px;display:flex}.draft-status.saving{color:var(--ai-500)}.draft-status.saved{color:var(--green-500)}.side-panel{gap:var(--s5);flex-direction:column;display:flex}.progress-card{border-radius:var(--r-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);padding:var(--s5);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.progress-ring-wrap{width:88px;height:88px;margin:0 auto var(--s4);position:relative}.ring-center-text{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-big{font-size:var(--text-2xl);color:var(--gray-900);font-weight:800;line-height:1}.ring-small{font-size:var(--text-xs);color:var(--gray-500)}.session-grid{gap:var(--s2);text-align:center;margin-top:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}.session-num{font-size:var(--text-lg);font-weight:800}.session-lbl{font-size:var(--text-xs);color:var(--gray-500);margin-top:2px}.rec-reason{background:var(--ai-50);border:1px solid var(--ai-200);border-radius:var(--r-xl);padding:var(--s4)}.rec-title{font-size:var(--text-xs);color:var(--ai-700);align-items:center;gap:var(--s2);margin-bottom:var(--s2);font-weight:700;display:flex}.rec-text{font-size:var(--text-xs);color:var(--gray-600);line-height:1.6}.weak-card{background:var(--red-50);border:1px solid var(--red-100);border-radius:var(--r-xl);padding:var(--s4)}.weak-list{gap:var(--s3);margin-top:var(--s3);flex-direction:column;display:flex}.weak-item{align-items:center;gap:var(--s3);display:flex}.weak-bar-wrap{flex:1}.weak-val{font-size:var(--text-xs);text-align:right;flex-shrink:0;width:32px;font-weight:700}.future-mode{background:var(--gray-50);border:1.5px dashed var(--gray-300);border-radius:var(--r-xl);padding:var(--s4);text-align:center;cursor:default}.future-mode-title{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:4px;font-weight:700}.future-mode-desc{font-size:var(--text-xs);color:var(--gray-400)}@media (width<=1024px){.drill-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(2,1fr);display:grid}}@media (width<=768px){.side-panel{grid-template-columns:1fr}.subject-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.qtype-tabs{flex-wrap:nowrap;overflow-x:auto}.toolbar{flex-wrap:wrap}}.qtype-btn-count{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:2px;display:flex}.qtype-stat{align-items:center;gap:2px;display:inline-flex}.qtype-stat-label{color:var(--gray-400);font-size:10px;font-weight:500}.qtype-stat-val{font-size:var(--text-xs);color:var(--gray-700);font-weight:700}.qtype-stat-val.today{color:var(--gold-600)}.qtype-btn.active .qtype-stat-val{color:var(--gray-800)}.qtype-btn.active .qtype-stat-val.today{color:var(--gold-700)}.qtype-stat-sep{color:var(--gray-300);padding:0 1px;font-size:10px}.dialog-overlay{z-index:1000;animation:fadeIn var(--dur-micro) var(--ease) both;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{background:var(--white);border-radius:var(--r-2xl);box-shadow:var(--shadow-lg);padding:var(--s8) var(--s8) var(--s7);text-align:center;width:90%;max-width:400px;animation:scaleIn var(--dur-normal) var(--ease) both}.dialog-icon{margin-bottom:var(--s4);font-size:40px;line-height:1}.dialog-title{font-size:var(--text-lg);color:var(--gray-900);margin-bottom:var(--s3);font-weight:800}.dialog-desc{font-size:var(--text-sm);color:var(--gray-600);margin-bottom:var(--s6);line-height:1.7}.dialog-desc strong{color:var(--gray-800)}.dialog-actions{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.dialog-actions .btn{min-width:120px}.source-type-row{gap:var(--s2);margin-bottom:var(--s3);display:flex}.source-type-btn{padding:4px var(--s4);border-radius:var(--r-full);font-size:var(--text-xs);color:var(--gray-500);background:var(--gray-100);border:1.5px solid var(--gray-200);cursor:pointer;transition:all var(--dur-micro) var(--ease);font-weight:600}.source-type-btn:hover{color:var(--gray-700);border-color:var(--gray-300)}.source-type-btn.active{color:var(--gray-800);background:var(--white);border-color:var(--gray-400);box-shadow:var(--shadow-sm)}.source-type-btn.active.source-exam{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.source-type-btn.active.source-non-exam{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.grading-history-card{border-radius:var(--r-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);padding:var(--s5);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.gh-header{margin-bottom:var(--s3);justify-content:space-between;align-items:center;display:flex}.gh-title{font-size:var(--text-sm);color:var(--gray-700);font-weight:700}.gh-view-all{font-size:var(--text-xs);color:var(--ai-500);cursor:pointer;background:0 0;border:none;padding:0}.gh-view-all:hover{color:var(--ai-700);text-decoration:underline}.gh-empty{text-align:center;padding:var(--s5) var(--s3)}.gh-empty-icon{margin-bottom:var(--s2);opacity:.6;font-size:28px}.gh-empty-text{font-size:var(--text-sm);color:var(--gray-500);margin-bottom:2px;font-weight:600}.gh-empty-hint{font-size:var(--text-xs);color:var(--gray-400)}.gh-list{flex-direction:column;gap:2px;display:flex}.gh-item{align-items:center;gap:var(--s3);padding:8px var(--s3);border-radius:var(--r-md);cursor:pointer;transition:background .15s;display:flex;position:relative}.gh-item:hover{background:var(--gray-50)}.gh-item:not(.gh-not-clickable):hover .gh-arrow{opacity:1}.gh-not-clickable{cursor:default;opacity:.7}.gh-not-clickable:hover{background:0 0}.gh-status{font-size:var(--text-xs);flex-shrink:0;align-items:center;gap:4px;min-width:60px;font-weight:600;display:inline-flex}.gh-status-label{font-size:var(--text-xs)}.gh-item.gh-status-pending .gh-status{color:var(--gray-500)}.gh-item.gh-status-processing .gh-status{color:var(--ai-500)}.gh-item.gh-status-completed .gh-status{color:var(--green-500)}.gh-item.gh-status-failed .gh-status,.gh-item.gh-status-permanent_failed .gh-status{color:var(--red-500)}.gh-item.gh-status-cancelled .gh-status{color:var(--gray-400)}.gh-qtype{font-size:var(--text-xs);color:var(--gray-600);background:var(--gray-100);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;padding:1px 8px;font-weight:500}.gh-score{font-size:var(--text-xs);color:var(--green-500);text-align:right;flex-shrink:0;min-width:36px;font-weight:700}.gh-time{font-size:var(--text-xs);color:var(--gray-400);white-space:nowrap;flex-shrink:0;margin-left:auto}.gh-arrow{font-size:var(--text-xs);color:var(--gray-400);opacity:0;flex-shrink:0;transition:opacity .15s}.gh-footer{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--gray-100);font-size:var(--text-xs);color:var(--gray-400);text-align:center}@media (width<=768px){.gh-score,.gh-arrow{display:none}.gh-status{min-width:52px}}.q-priority-badge{font-size:var(--text-xs);border-radius:var(--r-full);white-space:nowrap;align-items:center;gap:2px;padding:2px 8px;font-weight:700;animation:.4s cubic-bezier(.16,1,.3,1) priorityBadgeIn;display:inline-flex}@keyframes priorityBadgeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.q-priority-high{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.q-priority-medium{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.q-priority-low{color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb}.q-priority-unverified{color:#9ca3af;background:#f9fafb;border:1px dashed #d1d5db}.priority-stats-card{background:var(--bg-card,#fff);border:1px solid var(--gray-200);border-radius:var(--r-lg,12px);padding:var(--s4);margin-bottom:var(--s4)}.priority-stats-title{font-size:var(--text-sm);color:var(--gray-700);margin-bottom:var(--s3);font-weight:700}.priority-stats-bar{height:8px;margin-bottom:var(--s2);background:var(--gray-100);border-radius:4px;display:flex;overflow:hidden}.priority-stats-segment{min-width:4px;transition:width .5s cubic-bezier(.16,1,.3,1)}.priority-stats-legend{gap:var(--s4);font-size:var(--text-xs);color:var(--gray-500);display:flex}.priority-stats-legend-item{align-items:center;gap:4px;display:inline-flex}.priority-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.priority-dot-high{background:#ef4444}.priority-dot-medium{background:#f59e0b}.priority-dot-low{background:#6b7280}.fallback-notice{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);margin-bottom:var(--s4);border-radius:var(--radius-md);color:var(--gold-700,#b45309);background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border:1px solid #f59e0b33;font-size:.875rem;animation:.35s ease-out fallbackSlideIn;display:flex}.fallback-notice-icon{flex-shrink:0;font-size:1.1rem}@keyframes fallbackSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.kp-star{letter-spacing:0;cursor:help;border-radius:4px;padding:2px 4px;font-size:11px;font-weight:700;line-height:1}.kp-star-5{color:#dc2626;background:#dc262614}.kp-star-4{color:#ea580c;background:#ea580c14}.kp-star-3{color:#ca8a04;background:#ca8a0414}.kp-star-2{color:#6b7280;background:#6b728014}.drill-search-wrapper{z-index:100;position:relative}.drill-search-input-wrap{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--r-lg);padding:var(--s1) var(--s3);transition:all var(--dur-micro) var(--ease);align-items:center;gap:4px;min-width:200px;display:flex}.drill-search-input-wrap:focus-within{border-color:var(--ai-400);background:var(--white);box-shadow:0 0 0 3px #6366f11a}.drill-search-icon{font-size:var(--text-sm);opacity:.5;flex-shrink:0}.drill-search-input{font-size:var(--text-sm);color:var(--gray-800);background:0 0;border:none;outline:none;width:160px;font-family:inherit}.drill-search-input::placeholder{color:var(--gray-400);font-size:var(--text-xs)}.drill-search-spinner{border:2px solid var(--gray-200);border-top-color:var(--ai-500);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.drill-search-clear{cursor:pointer;color:var(--gray-400);flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.drill-search-clear:hover{color:var(--gray-600)}.drill-search-dropdown{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:200;max-height:360px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.drill-search-item{padding:var(--s3) var(--s4);cursor:pointer;border-bottom:1px solid var(--gray-100);transition:background var(--dur-micro)}.drill-search-item:last-child{border-bottom:none}.drill-search-item:hover{background:var(--ai-50)}.drill-search-item-header{align-items:center;gap:var(--s2);margin-bottom:4px;display:flex}.drill-search-type-tag{border-radius:var(--r-full);white-space:nowrap;color:var(--gray-500);background:var(--gray-100);padding:1px 6px;font-size:11px;font-weight:600}.drill-search-type-tag.term{color:#059669;background:#d1fae5}.drill-search-type-tag.short{color:#2563eb;background:#dbeafe}.drill-search-type-tag.essay{color:#7c3aed;background:#ede9fe}.drill-search-subject{color:var(--gray-400);flex-shrink:0;font-size:11px}.drill-search-exam-tag{color:#dc2626;border-radius:var(--r-full);background:#fef2f2;border:1px solid #fecaca;padding:0 5px;font-size:10px;font-weight:600}.drill-search-item-content{font-size:var(--text-xs);color:var(--gray-700);-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.drill-search-item-content em,.drill-search-item-content mark{color:var(--ai-600);background:#6366f11a;border-radius:2px;padding:0 2px;font-style:normal;font-weight:700}.drill-search-empty{padding:var(--s5);text-align:center;font-size:var(--text-sm);color:var(--gray-400)}.kp-jump-btn{background:linear-gradient(135deg, var(--brand-50,#f5f1e8), #fff);border:1px solid var(--brand-200,#d8c9a8);width:36px;height:36px;color:var(--brand-700,#14283f);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:inline-flex}.kp-jump-btn:hover{transform:scale(1.06);box-shadow:0 3px 12px #0f346029}.kp-jump-btn:active{transform:scale(.96)}.drill-topbar{align-items:center;gap:var(--s3);padding:var(--s3) 0;margin-bottom:var(--s2);border-bottom:1px solid var(--gray-100);flex-wrap:wrap;display:flex}.drill-topbar-title{font-size:var(--text-lg);color:var(--gray-900);white-space:nowrap;align-items:center;gap:6px;margin:0;font-weight:800;display:inline-flex}.topbar-chip{font-size:var(--text-xs);border-radius:var(--r-full);color:var(--gray-600);background:var(--gray-100);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.topbar-chip.brand{color:var(--brand-700,#14283f);background:var(--brand-50,#f5f1e8);border-color:var(--brand-200,#d8c9a8)}.topbar-chip.subtle{color:var(--gray-400);background:var(--gray-100)}.topbar-chip.clickable{cursor:pointer;transition:background .15s}.topbar-chip.clickable:hover{background:var(--brand-100)}.topbar-status{font-size:var(--text-xs);color:var(--gray-400);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.topbar-status.saving{color:var(--ai-500)}.topbar-status.saved{color:var(--green-500)}.topbar-status.pulsing{border-radius:var(--r-full);padding:3px 10px;font-weight:600}.topbar-status.pulsing.brand{color:var(--brand-600);background:var(--brand-50)}.topbar-status.pulsing.amber{color:#92400e;background:#fef3c7}.subject-select-wrap{border:1.5px solid var(--gray-200);border-radius:var(--r-lg,10px);height:38px;font-size:var(--text-sm);color:var(--gray-800);white-space:nowrap;cursor:pointer;background:linear-gradient(#fff,#f8f9fb);align-items:center;gap:8px;margin-left:auto;padding:0 12px 0 14px;font-weight:600;transition:all .15s;display:inline-flex;position:relative;box-shadow:0 1px 3px #0f34600d}.subject-select-wrap>svg:first-child{color:var(--brand-600,#1e3a5f);flex-shrink:0}.subject-select-wrap:hover{border-color:var(--brand-400,#c9a84c);box-shadow:0 2px 10px #c9a84c24}.subject-select-wrap:focus-within{border-color:var(--brand-500,#b8860b);box-shadow:0 0 0 3px #c9a84c29}.subject-select{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;padding-right:4px}.select-caret{color:var(--gray-400);pointer-events:none;font-size:10px}.change-q-top-btn{color:#fff;border-radius:var(--r-md,10px);cursor:pointer;white-space:nowrap;letter-spacing:.5px;background:linear-gradient(135deg,#f97316,#ef4444);border:none;align-items:center;gap:6px;padding:9px 22px;font-size:14px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 3px 12px #f9731666}.change-q-top-btn:hover:not(:disabled){transform:scale(1.04);box-shadow:0 5px 18px #f973168c}.change-q-top-btn:active:not(:disabled){transform:scale(.97)}.change-q-top-btn:disabled{opacity:.5;cursor:not-allowed}.drill-filterbar{align-items:center;gap:var(--s4);padding:var(--s2) 0 var(--s4);flex-wrap:wrap;display:flex}.filter-group{align-items:center;gap:var(--s2);flex-wrap:nowrap;display:flex}.filter-label{font-size:var(--text-xs);color:var(--gray-500);letter-spacing:.5px;flex-shrink:0;margin-right:4px;font-weight:700}.filter-qtype{flex-shrink:0;margin-bottom:0!important}.source-type-btn.ai-toggle.active{background:linear-gradient(135deg, var(--ai-50,#eef2ff), #fff);color:var(--ai-700,#4338ca);border-color:var(--ai-300,#a5b4fc);box-shadow:0 0 0 2px #6366f11f}.drill-actions-bar,.subject-tabs{display:none}.source-type-row{display:contents}.change-q-btn{color:#fff;cursor:pointer;white-space:nowrap;letter-spacing:.5px;background:linear-gradient(135deg,#f97316,#ef4444);border:none;border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:9px 20px;font-size:14px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 3px 12px #f9731666}.change-q-btn:hover:not(:disabled){transform:scale(1.04);box-shadow:0 5px 18px #f973168c}.change-q-btn:active:not(:disabled){transform:scale(.97)}.change-q-btn:disabled{opacity:.5;cursor:not-allowed}.tool-btn-ocr{color:var(--brand-700,#14283f);background:var(--brand-50,#f5f1e8);border-color:var(--brand-200,#d8c9a8)}.tool-btn-ocr:hover:not(:disabled){background:var(--brand-100,#ece4d2);border-color:var(--brand-300,#b59a6e)}.tool-btn-ocr:disabled{opacity:.6;cursor:not-allowed}.input-toolbar{margin-top:var(--s3)}.drill-filterbar>.filter-group:last-child>.filter-label{color:var(--gold-700,#b45309);font-size:var(--text-sm);letter-spacing:1px}.filter-qtype{border:1.5px solid var(--brand-200,#d8c9a8);border-radius:var(--r-lg,10px);background:linear-gradient(#fff,#fbf8f0);padding:3px;box-shadow:0 1px 4px #c9a84c1a}.filter-qtype .qtype-btn{font-size:var(--text-base,15px);border-radius:8px;min-height:38px;padding:10px 18px;font-weight:600}.filter-qtype .qtype-btn:hover{color:var(--gray-800);background:#ffffffb3}.filter-qtype .qtype-btn.active{color:var(--gold-700,#b45309);box-shadow:0 2px 12px #c9a84c47, 0 0 0 2px var(--gold-500,#c9a84c);background:linear-gradient(#fff,#fffaf0);font-weight:800}.filter-qtype .qtype-btn-count{font-weight:600;font-size:var(--text-xs);background:var(--gray-100);border-radius:var(--r-full);color:var(--gray-500);padding:1px 6px}.filter-qtype .qtype-btn.active .qtype-btn-count{background:var(--gold-100,#fef3c7);color:var(--gold-700,#b45309);font-weight:700}.filter-qtype .qtype-btn-name{font-size:var(--text-base,15px)}.school-filter{position:relative}.school-select{font-size:var(--text-sm,14px);color:var(--gray-700);border:1.5px solid var(--brand-200,#d8c9a8);border-radius:var(--r-lg,10px);cursor:pointer;background:#fff;align-items:center;gap:6px;max-width:180px;padding:7px 12px;font-weight:600;transition:border-color .15s,box-shadow .15s;display:inline-flex}.school-select:hover{border-color:var(--brand-300,#b59a6e)}.school-select.open{border-color:var(--ai-300,#a5b4fc);box-shadow:0 0 0 2px #6366f11f}.school-select-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.school-select-caret{opacity:.7;flex-shrink:0;font-size:11px}.school-dropdown-mask{z-index:2000;background:#00000059;position:fixed;inset:0}.school-dropdown{z-index:2001;border:1px solid var(--gray-200);border-radius:var(--r-lg,10px);background:#fff;min-width:180px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 36px #0f34602e}.school-dropdown-item{border-radius:var(--r-md,8px);font-size:var(--text-base,15px);color:var(--gray-800);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:600;transition:background .15s;display:flex}.school-dropdown-item:hover{background:var(--gray-100)}.school-dropdown-item.active{background:var(--ai-50,#eef2ff);color:var(--ai-700,#4338ca)}.school-dropdown-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.school-tag{color:var(--ai-700,#4338ca);background:var(--ai-50,#eef2ff);border:1px solid var(--ai-300,#a5b4fc);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700;line-height:1}.empty-question-card.question-card{border:1.5px dashed var(--gray-200)!important;padding:48px 40px!important;box-shadow:0 16px 48px #0f34601f!important}.kp-jump-btn{background:linear-gradient(135deg, var(--brand-100,#ece4d2), #fff);border:1.5px solid var(--brand-300,#b59a6e);color:var(--brand-700,#14283f);box-shadow:0 2px 8px #c9a84c2e}.kp-jump-btn:hover{border-color:var(--brand-500,#b8860b);background:linear-gradient(135deg, var(--brand-50,#f5f1e8), #fff);transform:scale(1.08);box-shadow:0 4px 16px #0f346038}.recommend-sparkle{cursor:help;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;animation:2.4s ease-in-out infinite sparkle-bob;display:inline-flex;box-shadow:0 2px 6px #f59e0b47}.recommend-sparkle:hover{animation-play-state:paused;transform:scale(1.15)rotate(-8deg);box-shadow:0 4px 12px #f59e0b80}@keyframes sparkle-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(6deg)}}.subject-select-wrap-inline{margin-left:0!important}.question-card.qc-exit{pointer-events:none;transform-origin:50% 60%;z-index:2;position:relative;animation:.9s cubic-bezier(.4,0,.3,1) forwards qCardExit!important}.question-card.qc-enter{transform-origin:50% 60%;animation:.7s cubic-bezier(.16,1,.3,1) forwards qCardEnter!important}@keyframes qCardExit{0%{opacity:1;transform:translateY(0)scale(1)rotate(0);box-shadow:0 8px 24px #0000000f}18%{opacity:1;transform:translateY(-6px)scale(1.02)rotate(-.5deg);box-shadow:0 22px 44px #0000002e}70%{opacity:.7;transform:translateY(-130px)scale(.9)rotate(3deg);box-shadow:0 10px 20px #00000014}to{opacity:0;transform:translateY(-230px)scale(.8)rotate(6deg);box-shadow:0 2px 4px #00000005}}@keyframes qCardEnter{0%{opacity:0;transform:translateY(64px)scale(.92);box-shadow:0 2px 6px #00000005}55%{opacity:1}to{opacity:1;transform:translateY(0)scale(1);box-shadow:0 8px 24px #0000000f}}.drill-topbar,.drill-filterbar,.q-meta-row{z-index:10;position:relative}.drill-topbar{z-index:20}.drill-layout{z-index:1;position:relative}@media (width>=1024px){.drill-filterbar{align-items:center}.subject-select-wrap-inline{margin-left:auto!important}}@media (width<=768px){.recommend-sparkle{width:22px;height:22px;font-size:14px}}
