:root{--blue-900: #0b3a8c;--blue-700: #1252b0;--blue-600: #1668dc;--blue-500: #2f7ff0;--blue-400: #5a9df7;--blue-100: #d4e4fc;--blue-50: #eef5ff;--ink: #1c2333;--ink-light: #5a6478;--bg: #f5f8fe;--white: #ffffff;--border: #e2e8f0;--shadow: 0 2px 8px rgba(11, 58, 140, .08);--shadow-lg: 0 8px 24px rgba(11, 58, 140, .12);--radius: 12px;--radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}header{background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:var(--white);padding:1rem 2rem;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.5rem;font-weight:700;letter-spacing:.02em}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#ffffffd9;text-decoration:none;font-size:.95rem;padding:.3rem .6rem;border-radius:6px;transition:all .2s}.nav-links a:hover,.nav-links a.active{color:#fff;background:#ffffff26}.nav-greeting{color:#ffffffe6;font-size:.9rem;margin-left:.5rem;white-space:nowrap}main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.home-hero{text-align:center;padding:3rem 1rem}.home-hero h1{font-size:2.5rem;color:var(--blue-900);margin-bottom:.5rem}.home-hero p{font-size:1.1rem;color:var(--ink-light);margin-bottom:3rem}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:700px;margin:0 auto}.home-card{background:var(--white);border-radius:var(--radius);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow);cursor:pointer;transition:all .2s;border:2px solid transparent}.home-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-400)}.home-card-icon{font-size:3rem;margin-bottom:1rem}.home-card h2{font-size:1.5rem;color:var(--blue-700);margin-bottom:.5rem}.home-card p{color:var(--ink-light);font-size:.95rem}.dropzone{border:2px dashed var(--blue-400);border-radius:var(--radius);padding:4rem 2rem;text-align:center;background:var(--blue-50);cursor:pointer;transition:all .2s}.dropzone:hover,.dropzone.active{border-color:var(--blue-600);background:var(--blue-100)}.dropzone-icon{font-size:3rem;margin-bottom:1rem}.dropzone h3{color:var(--blue-700);margin-bottom:.5rem}.dropzone p{color:var(--ink-light);font-size:.9rem}.upload-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dropzone.compact{padding:2rem 1rem}.dropzone.compact .dropzone-icon{font-size:2rem;margin-bottom:.5rem}.dropzone.compact h3{font-size:1rem}@media (max-width: 768px){.upload-blocks{grid-template-columns:1fr}}.doc-list{margin-top:2rem}.doc-item{background:var(--white);border-radius:var(--radius-sm);padding:1rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.doc-info{flex:1;min-width:0;margin-right:1rem}.doc-info h4{font-size:1rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-info p{font-size:.85rem;color:var(--ink-light)}.doc-actions{display:flex;gap:1rem;align-items:center;flex-shrink:0}.doc-actions .btn,.doc-actions .badge{white-space:nowrap}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.badge-processing{background:#fef3c7;color:#92400e}.badge-done{background:#d1fae5;color:#065f46}.badge-error{background:#fee2e2;color:#991b1b}.badge-featured{background:var(--blue-100);color:var(--blue-700)}.btn{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-sm);border:none;font-size:.9rem;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s}.btn-primary{background:var(--blue-600);color:var(--white)}.btn-primary:hover{background:var(--blue-700)}.btn-danger{background:#fee2e2;color:#991b1b}.btn-danger:hover{background:#fecaca}.bank-layout{display:grid;grid-template-columns:330px 1fr;gap:2rem}@media (max-width: 768px){.bank-layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none;overflow-y:visible}}.classify-topbar{position:sticky;top:0;z-index:5;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow)}.classify-select-group{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.classify-select{display:flex;flex-direction:column;gap:.25rem}.classify-select label{font-size:.78rem;color:var(--ink-light);font-weight:500}.classify-select select{padding:.45rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;outline:none;min-width:160px;max-width:280px;transition:border-color .2s}.classify-select select:focus{border-color:var(--blue-500)}.classify-checks{display:flex;flex-wrap:wrap;gap:.4rem}.check-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px;font-size:.82rem;color:var(--ink);cursor:pointer;background:#fff;transition:background .15s,border-color .15s,color .15s}.check-chip:hover{border-color:var(--blue-300)}.check-chip.on{background:var(--blue-100);border-color:var(--blue-500);color:var(--blue-700);font-weight:500}.check-chip input{margin:0}.classify-list{display:flex;flex-direction:column;gap:.75rem}.classify-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:.6rem .8rem;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.classify-card:hover{background:var(--blue-50);border-color:var(--blue-100)}.classify-card.active{background:var(--blue-50);border-color:var(--blue-500);box-shadow:inset 3px 0 0 var(--blue-500)}.classify-card-top{display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.classify-card-index{font-size:.85rem;font-weight:600;color:var(--blue-700)}.classify-dirty-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#f59e0b;margin-left:auto}.classify-card-stem{font-size:.9rem;color:var(--ink);white-space:pre-wrap;word-break:break-word;line-height:1.6}.classify-hint{font-size:.78rem;color:var(--ink-light);margin:0}.classify-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.classify-count{margin-right:auto;font-size:.9rem;color:var(--ink-light)}.profile-page-wrapper{max-width:900px;margin:0 auto}.profile-page-wrapper .dian-ge-profile{width:100%;position:static;margin-left:0}@media (max-width: 768px){.profile-content{flex-direction:column;min-height:0}.profile-info{width:100%}.profile-portrait{width:160px;margin:0 auto}}.sidebar{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);height:fit-content;position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--blue-100);border-radius:3px}.sidebar h3{font-size:1.1rem;color:var(--blue-700);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue-100)}.sidebar-item{padding:.5rem .75rem;margin-bottom:.25rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:.25rem;font-size:.9rem;transition:background .2s}.sidebar-item:hover{background:var(--blue-50)}.sidebar-item.active{background:var(--blue-100);color:var(--blue-700);font-weight:500}.sidebar-item .count{font-size:.8rem;color:var(--ink-light);margin-left:auto}.chevron{display:inline-block;width:1em;flex-shrink:0;color:var(--ink-light);font-size:.8em}.sidebar-textbook{display:flex;align-items:center;gap:.25rem;font-weight:600;color:var(--blue-900);margin-top:.75rem;margin-bottom:.25rem;padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;white-space:nowrap;transition:background .2s}.sidebar-textbook:hover{background:var(--blue-50)}.sidebar-textbook.active{background:var(--blue-100);color:var(--blue-700)}.sidebar-textbook .count{margin-left:auto;font-size:.8rem;color:var(--ink-light);font-weight:400}.sidebar-unit{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;margin-top:.75rem;margin-bottom:.25rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;color:var(--blue-900);font-size:.92rem;transition:background .2s}.sidebar-unit:hover{background:var(--blue-50)}.sidebar-unit.active{background:var(--blue-100);color:var(--blue-700)}.sidebar-unit .count{font-size:.8rem;color:var(--ink-light);font-weight:400}.sidebar-item.level-1{margin-left:.85rem;padding-left:.9rem;border-left:2px solid var(--blue-100);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.sidebar-item.level-1:hover{border-left-color:var(--blue-300)}.sidebar-item.level-1.active{color:var(--blue-700);border-left-color:var(--blue-500)}.sidebar-item.level-2{margin-left:.85rem;padding-left:.9rem;border-left:2px solid var(--blue-100);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.85rem;color:var(--ink-light)}.sidebar-item.level-2:hover{border-left-color:var(--blue-300)}.sidebar-item.level-2.active{color:var(--blue-700);border-left-color:var(--blue-500)}.sidebar-item.level-3{margin-left:2.55rem;padding-left:.9rem;border-left:2px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.82rem;color:var(--ink-light)}.sidebar-item.level-3.active{color:var(--blue-700);border-left-color:var(--blue-500)}.filter-bar{background:var(--white);border-radius:var(--radius);padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;box-shadow:var(--shadow)}.filter-bar input,.filter-bar select{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;outline:none;transition:border-color .2s}.filter-bar input:focus,.filter-bar select:focus{border-color:var(--blue-500)}.filter-bar input{flex:1;min-width:200px}.question-list{display:flex;flex-direction:column;gap:1rem}.question-card{background:var(--white);border-radius:var(--radius);padding:1.5rem 1.5rem 1.5rem 3rem;box-shadow:var(--shadow);position:relative}.question-header{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.question-tag{font-size:.75rem;padding:.2rem .6rem;border-radius:4px;background:var(--blue-50);color:var(--blue-700)}.question-tag-review{background:#f0fdf4;color:#166534}.question-stem{font-size:1rem;line-height:1.9;white-space:pre-wrap;margin-bottom:1rem}.question-stem sub,.question-stem sup,.question-option sub,.question-option sup,.paper-item-stem sub,.paper-item-stem sup{font-size:.72em;line-height:0}.question-stem sub,.question-option sub,.paper-item-stem sub{vertical-align:-.24em}.question-stem sup,.question-option sup,.paper-item-stem sup{vertical-align:.42em}.question-stem img,.question-option img,.paper-item-stem img{display:inline-block;height:auto;max-width:100%;vertical-align:middle;margin:.1rem .15rem}.question-stem img.img-inline:not(.img-exact),.question-option img.img-inline:not(.img-exact),.paper-item-stem img.img-inline:not(.img-exact){width:auto;max-height:2.8em}.question-stem img.img-exact,.question-option img.img-exact,.paper-item-stem img.img-exact{width:min(var(--w, 100%),100%);height:auto}.question-stem img.img-illus,.question-option img.img-illus,.paper-item-stem img.img-illus{display:block;width:min(var(--w, 100%),100%);height:auto;margin:.7rem auto}.question-options{margin-bottom:1rem}.question-option{padding:.4rem 0;font-size:.95rem;display:flex;align-items:center}.question-toggle{color:var(--blue-600);cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none}.question-toggle:hover{text-decoration:underline}.question-answer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.question-answer p{margin-bottom:.5rem}.question-answer strong{color:var(--blue-700)}.question-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.question-images{margin:.5rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.question-image{max-width:60%;max-height:240px;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border)}.option-image{max-height:120px;max-width:200px;width:auto;height:auto;object-fit:contain;margin-left:.5rem;vertical-align:middle;border-radius:var(--radius-sm);border:1px solid var(--border)}.question-stem table,.question-option table,.paper-item-stem table{border-collapse:collapse;margin:.5rem 0;font-size:.9rem}.question-stem table td,.question-stem table th,.question-option table td,.question-option table th,.paper-item-stem table td,.paper-item-stem table th{border:1px solid var(--border);padding:4px 8px;text-align:left}.question-stem table th,.question-option table th,.paper-item-stem table th{background:var(--bg-secondary, #f5f5f5);font-weight:600}.question-card.editing{border:2px solid var(--blue-400)}.edit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.edit-field{display:flex;flex-direction:column;gap:.3rem}.edit-field label{font-size:.85rem;color:var(--ink-light);font-weight:500}.edit-field select,.edit-field input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;outline:none;transition:border-color .2s}.edit-field select:focus,.edit-field input:focus{border-color:var(--blue-500)}.btn-edit{background:var(--blue-50);color:var(--blue-700);font-size:.85rem;padding:.3rem .8rem;border-radius:6px;border:none;cursor:pointer;transition:all .2s}.btn-edit:hover{background:var(--blue-100)}.btn-secondary{background:var(--white);color:var(--ink);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.load-more{text-align:center;margin-top:2rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--ink-light)}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.2rem;margin-bottom:.5rem}.page-title{font-size:1.8rem;color:var(--blue-900);margin-bottom:1rem}.view-tabs{display:flex;gap:0;margin-bottom:1.5rem;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.view-tab{flex:1;padding:.9rem 1.5rem;border:none;background:var(--white);color:var(--ink-light);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent}.view-tab:hover{background:var(--blue-50);color:var(--blue-700)}.view-tab.active{color:var(--blue-600);border-bottom-color:var(--blue-600);background:var(--blue-50)}.question-select{position:absolute;top:1rem;left:1rem;cursor:pointer;z-index:1}.question-select input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue-600);cursor:pointer}.question-card.selected{border:2px solid var(--blue-500);background:var(--blue-50)}.selection-bar{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 12px #0b3a8c1a;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;z-index:100}.selection-count{font-size:1rem;font-weight:600;color:var(--blue-700)}.selection-actions{display:flex;gap:.75rem}.paper-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.paper-header .page-title{margin-bottom:0}.paper-toolbar{display:flex;align-items:center;gap:1rem}.paper-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.paper-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue-600)}.paper-list{display:flex;flex-direction:column;gap:.75rem}.paper-item{background:var(--white);border-radius:var(--radius-sm);padding:1rem 1.5rem;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:1rem}.paper-item-number{font-size:1.2rem;font-weight:700;color:var(--blue-600);min-width:2rem;text-align:center;padding-top:.2rem}.paper-item-content{flex:1;min-width:0}.paper-item-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.paper-item-stem{font-size:.95rem;line-height:1.6;color:var(--ink);white-space:pre-wrap}.paper-item-actions{display:flex;flex-direction:column;gap:.25rem}.btn-icon{background:none;border:1px solid var(--border);border-radius:6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;color:var(--ink-light);transition:all .2s}.btn-icon:hover:not(:disabled){background:var(--blue-50);border-color:var(--blue-400);color:var(--blue-700)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon-danger:hover:not(:disabled){background:#fee2e2;border-color:#f87171;color:#991b1b}.paper-empty{text-align:center;padding:4rem 2rem;color:var(--ink-light)}.paper-empty p{margin-bottom:1.5rem;font-size:1.1rem}.paper-footer{margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid var(--border);font-size:.95rem;color:var(--ink-light)}.ai-assistant-ball{position:fixed;z-index:1000;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border-radius:16px;padding:8px;box-shadow:0 4px 15px #00000026;transition:transform .2s,box-shadow .2s}.ai-assistant-ball:hover{transform:scale(1.05);box-shadow:0 6px 20px #00000040}.ai-assistant-ball:active{cursor:grabbing}.ai-ball-inner{display:flex;flex-direction:column;align-items:center;gap:4px}.ai-ball-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #667eea;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.ai-ball-text{color:#667eea;font-size:.8rem;font-weight:600;white-space:nowrap}.ai-welcome-bubble{position:fixed;z-index:999;background:#fff;color:#333;padding:12px 18px;border-radius:20px;box-shadow:0 4px 15px #00000026;font-size:.9rem;max-width:220px;cursor:pointer;animation:bubbleFadeIn .5s ease}.ai-welcome-bubble:hover{box-shadow:0 6px 20px #0003}.ai-bubble-arrow{position:absolute;left:-8px;top:24px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid white}@keyframes bubbleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-window{position:fixed;width:380px;height:500px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.ai-chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.ai-chat-header-content{display:flex;align-items:center;gap:12px}.ai-chat-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid white}.ai-chat-header h3{margin:0;font-size:1.1rem;font-weight:600}.ai-chat-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.ai-chat-close:hover{background:#fff3}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.ai-chat-welcome{text-align:center;color:var(--ink-light);padding:20px;font-size:.95rem;line-height:1.6}.ai-message{display:flex;flex-direction:column}.ai-message.user{align-items:flex-end}.ai-message.assistant{align-items:flex-start}.ai-message-content{max-width:80%;padding:12px 16px;border-radius:16px;font-size:.95rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.ai-message.user .ai-message-content{background:#667eea;color:#fff;border-bottom-right-radius:4px}.ai-message.assistant .ai-message-content{background:#f3f4f6;color:var(--ink);border-bottom-left-radius:4px;white-space:normal}.ai-message.assistant .ai-message-content ul{margin:4px 0;padding-left:20px}.ai-message.assistant .ai-message-content li{margin:2px 0}.ai-message.assistant .ai-message-content strong{font-weight:600}.ai-message.assistant .ai-message-content em{font-style:italic}.ai-typing{color:var(--ink-light);font-style:italic}.ai-chat-input{padding:16px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:flex-end}.ai-chat-input textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s;min-height:40px;max-height:100px}.ai-chat-input textarea:focus{border-color:#667eea}.ai-chat-input textarea:disabled{background:#f9fafb;cursor:not-allowed}.ai-send-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:10px 20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s;white-space:nowrap}.ai-send-btn:hover:not(:disabled){transform:scale(1.05)}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.dian-ge-profile{width:100%;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:20px;align-self:flex-start;position:sticky;top:20px}.profile-header h2{margin:0 0 16px;font-size:1.3rem;color:var(--blue-900);text-align:center;padding-bottom:12px;border-bottom:2px solid var(--blue-500)}.profile-content{position:relative;display:flex;gap:16px;min-height:320px;margin-bottom:20px}.profile-info{flex:1;min-width:0}.profile-portrait{flex-shrink:0;width:300px;display:flex;flex-direction:column;align-items:center}.profile-portrait img{width:100%;height:auto;border-radius:10px;object-fit:cover}.profile-list{list-style:none;padding:0;margin:0 0 16px}.profile-list li{font-size:.85rem;color:var(--ink);line-height:1.5;position:relative;padding:6px 0 6px 14px}.profile-list li:before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--blue-500)}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{text-align:center;padding:10px 8px;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border-radius:8px}.stat-number{font-size:1.4rem;font-weight:700;color:var(--blue-700);line-height:1.2}.stat-number span{font-size:.9rem;font-weight:600}.stat-unit{font-size:.75rem!important;margin-left:2px}.stat-label{font-size:.75rem;color:var(--ink-light);margin-top:4px}.teaching-style{border-top:1px solid var(--border);padding-top:16px}.teaching-style h3{margin:0 0 12px;font-size:1.1rem;color:var(--blue-900);text-align:center}.style-photos{display:grid;grid-template-columns:1fr;gap:12px}.style-photos img{width:100%;height:220px;object-fit:cover;border-radius:8px;box-shadow:0 1px 4px #0000001a;transition:transform .2s}.style-photos img:hover{transform:scale(1.05)}.profile-header{position:relative}.profile-edit-btn{position:absolute;top:0;right:0;padding:4px 14px;font-size:.8rem;border:1px solid var(--blue-500);background:#fff;color:var(--blue-600);border-radius:6px;cursor:pointer;transition:all .2s}.profile-edit-btn:hover{background:var(--blue-500);color:#fff}.profile-save-btn{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}.profile-save-btn:hover{background:var(--blue-700)}.profile-edit-actions-top{position:absolute;top:0;right:0;display:flex;gap:8px}.profile-msg{text-align:center;font-size:.85rem;color:var(--blue-600);margin-bottom:12px}.profile-bio-edit{display:flex;gap:6px;align-items:center}.profile-bio-edit input{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:.85rem}.profile-bio-edit input:focus{outline:none;border-color:var(--blue-500)}.profile-remove-btn{width:22px;height:22px;border:none;background:#fee;color:#e53;border-radius:50%;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-remove-btn:hover{background:#e53;color:#fff}.profile-add-btn{display:inline-block;padding:4px 12px;font-size:.8rem;border:1px dashed var(--blue-400);background:#fff;color:var(--blue-500);border-radius:6px;cursor:pointer;margin-top:8px}.profile-add-btn:hover{background:var(--blue-50)}.profile-stat-edit{display:flex;flex-direction:column;gap:4px;width:100%}.profile-stat-edit input{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:.8rem;text-align:center}.profile-stat-edit input:focus{outline:none;border-color:var(--blue-500)}.stat-num-input{font-weight:700}.stat-unit-input{font-size:.75rem!important}.profile-photo-item{position:relative}.profile-photo-delete{position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;background:#dc3232d9;color:#fff;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;z-index:2}.profile-photo-delete:hover{background:#c00}.profile-upload-btn{display:block;width:100%;text-align:center;padding:10px}.login-page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.25rem;background:radial-gradient(1100px 520px at 78% -8%,#dbe9ff,#dbe9ff00 60%),radial-gradient(900px 480px at 8% 108%,#e4efff,#e4efff00 55%),var(--bg);overflow:hidden}.login-decor{position:absolute;color:#9cc0f5;opacity:.18;pointer-events:none}.login-decor-a{width:320px;top:-70px;left:-60px;transform:rotate(14deg)}.login-decor-b{width:380px;bottom:-110px;right:-80px;transform:rotate(-18deg)}.login-shell{position:relative;display:grid;grid-template-columns:1.02fr 1fr;width:100%;max-width:980px;background:var(--white);border-radius:22px;box-shadow:var(--shadow-lg2),0 0 0 1px #1020400a;overflow:hidden;animation:page-rise .34s cubic-bezier(.22,.61,.36,1) both}.login-brand{position:relative;overflow:hidden;padding:2.6rem 2.4rem;color:#fff;background:linear-gradient(150deg,#0d3f95,#1257c4 55%,#2f7ff0 130%);display:flex;flex-direction:column}.login-brand-logo{margin-bottom:2.2rem}.login-brand h1{font-size:1.72rem;font-weight:700;line-height:1.3;letter-spacing:.01em}.login-brand h1 span{display:block;font-size:.92rem;font-weight:400;opacity:.72;margin-top:.35rem;letter-spacing:.05em}.login-brand-sub{margin-top:.8rem;font-size:.88rem;opacity:.78;max-width:32ch}.login-brand-feats{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:1.05rem}.login-brand-feats li{display:flex;gap:.8rem;align-items:flex-start}.feat-ico{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:#ffffff21;border:1px solid rgba(255,255,255,.2)}.login-brand-feats b{display:block;font-size:.92rem;font-weight:600}.login-brand-feats i{display:block;font-style:normal;font-size:.78rem;opacity:.68;margin-top:.12rem}.login-brand-ring{position:absolute;width:300px;right:-120px;bottom:-120px;color:#fff;opacity:.1;pointer-events:none}.login-main{padding:2.4rem 2.6rem 2.2rem;display:flex;flex-direction:column}.login-main-head h2{font-size:1.22rem;font-weight:700}.login-main-head p{color:var(--ink-light);font-size:.84rem;margin-top:.15rem}.wx-login-panel{margin-top:1.2rem}.wx-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;background:var(--blue-600);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .18s,transform .18s;box-shadow:0 6px 16px #1668dc40}.wx-btn:hover{background:var(--blue-700);transform:translateY(-1px)}.wx-login-code{border:1px solid #dbe7fb;background:#f7faff;border-radius:14px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.7rem}.wx-code-body{display:flex;align-items:center;gap:1rem}.wx-qr{width:118px;flex:none;background:#fff;border:1px solid #e3ecfb;border-radius:10px;padding:8px;box-shadow:0 2px 8px #1020400f}.wx-qr svg{display:block;width:100%;height:auto}.wx-code-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.wx-code-caption{font-size:.8rem;color:var(--ink-light);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.wx-code-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--blue-50);color:var(--blue-700);font-weight:600;font-size:.74rem;padding:.18rem .55rem;border-radius:99px}.wx-code-digits{font-size:1.9rem;font-weight:700;letter-spacing:.32em;padding-left:.32em;color:var(--blue-700);text-align:left;font-variant-numeric:tabular-nums}.wx-code-meta{display:flex;justify-content:space-between;align-items:center}.wx-code-timer{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--ink-light);font-variant-numeric:tabular-nums}.wx-code-refresh{border:none;background:none;color:var(--blue-600);font-size:.8rem;cursor:pointer;padding:0}.wx-code-refresh:hover{text-decoration:underline}.wx-code-hint{font-size:.84rem;color:var(--ink-light)}.wx-login-dev{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.8rem}.wx-dev-toggle{border:none;background:none;color:var(--ink-light);font-size:.76rem;cursor:pointer;padding:0}.wx-dev-toggle:hover{color:var(--blue-600)}.wx-dev-body{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem;justify-content:center}.wx-dev-body input{padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;width:140px}.login-divider{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0;color:var(--ink-light);font-size:.76rem;letter-spacing:.08em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;background:#eef2f9;border-radius:12px;padding:.28rem}.role-tab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .8rem;border:none;border-radius:9px;background:transparent;color:var(--ink-light);font-size:.88rem;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.role-tab.active{background:var(--white);color:var(--blue-700);font-weight:600;box-shadow:0 1px 4px #1020401a}.pw-form{display:flex;flex-direction:column;gap:.7rem;margin-top:.9rem}.pw-field{display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:12px;padding:0 .9rem;color:var(--ink-light);transition:border-color .18s,box-shadow .18s,color .18s}.pw-field:focus-within{border-color:var(--blue-500);box-shadow:var(--ring);color:var(--blue-600)}.pw-field input{flex:1;min-width:0;border:none;outline:none;padding:.78rem 0;font-size:.95rem;color:var(--ink);background:transparent}.pw-submit{margin-top:.3rem;padding:.82rem;background:var(--blue-600);color:#fff;border:none;border-radius:12px;font-size:.98rem;font-weight:600;letter-spacing:.3em;text-indent:.3em;cursor:pointer;transition:background .18s,transform .18s;box-shadow:0 6px 16px #1668dc38}.pw-submit:hover:not(:disabled){background:var(--blue-700);transform:translateY(-1px)}.pw-submit:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#b91c1c;font-size:.82rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.45rem .7rem}.login-foot{position:relative;margin-top:1.4rem;font-size:.76rem;color:var(--ink-light);opacity:.7;letter-spacing:.06em}@media (max-width: 880px){.login-shell{grid-template-columns:1fr;max-width:520px}.login-brand{padding:1.6rem 1.8rem 1.8rem}.login-brand-feats,.login-brand-sub,.login-brand-ring{display:none}.login-brand h1{font-size:1.3rem}.login-brand h1 span{font-size:.82rem}.login-brand-logo{margin-bottom:1rem}.login-main{padding:1.8rem 1.6rem 2rem}.wx-code-body{flex-direction:column;align-items:stretch}.wx-qr{width:130px;align-self:center}.wx-code-digits{text-align:center}}.page-loading{text-align:center;padding:4rem;color:var(--ink-light)}.student-manage-page{max-width:800px;margin:0 auto;padding:1rem}.student-manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.student-manage-header h1{color:var(--blue-900)}.student-manage-header div{display:flex;gap:.75rem}.student-manage-header button{padding:.5rem 1rem;background:var(--blue-600);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer}.student-manage-header button:hover{background:var(--blue-700)}.student-form-wrapper,.student-import-wrapper{background:var(--white);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.student-form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.student-form input,.student-form select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem}.student-form button{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--blue-600);color:#fff}.student-form button[type=button]{background:#e2e8f0;color:var(--ink)}.student-import-wrapper input[type=file]{margin:.5rem 0}.student-import-wrapper button{padding:.5rem 1rem;background:var(--blue-600);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;margin-left:.5rem}.import-result{margin-top:.75rem;color:#065f46;font-size:.9rem}.student-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.student-table th,.student-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.student-table th{background:var(--blue-50);color:var(--blue-700);font-weight:600}.student-table td button{margin-right:.5rem}.btn-small{padding:.25rem .5rem;font-size:.8rem;border:1px solid var(--border);border-radius:4px;background:var(--white);cursor:pointer}.btn-small:hover{background:var(--blue-50)}.btn-small.btn-danger{color:#991b1b;border-color:#fca5a5}.btn-small.btn-danger:hover{background:#fee2e2}.btn-small.btn-primary{background:var(--blue-600);color:var(--white);border-color:var(--blue-600)}.btn-small.btn-primary:hover{background:var(--blue-700);border-color:var(--blue-700)}.btn-ghost{padding:.4rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink-light);font-size:.85rem;cursor:pointer}.btn-ghost:hover{background:var(--blue-50);color:var(--blue-700)}.btn-link{background:none;border:none;padding:0;color:var(--blue-600);font-size:.85rem;cursor:pointer;text-align:left}.btn-link:hover{text-decoration:underline}.tab-row{display:flex;gap:.4rem;border-bottom:1px solid var(--border);margin-bottom:1.2rem;flex-wrap:wrap}.tab-btn{position:relative;padding:.55rem 1rem;border:none;background:none;font-size:.92rem;color:var(--ink-light);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-btn:hover{color:var(--blue-700)}.tab-btn.active{color:var(--blue-700);font-weight:600;border-bottom-color:var(--blue-600)}.tab-badge{display:inline-block;margin-left:.4rem;padding:0 .4rem;border-radius:10px;background:#ef4444;color:#fff;font-size:.72rem;line-height:1.5;vertical-align:middle}.batch-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;margin-bottom:.9rem;background:var(--blue-50);border-radius:var(--radius-sm);font-size:.88rem;color:var(--blue-700)}.roster-actions{display:flex;gap:.6rem;margin-bottom:1rem}.roster-actions button{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;font-size:.9rem}.roster-actions button:hover{background:var(--blue-50);color:var(--blue-700)}.status-pill{display:inline-block;padding:.1rem .5rem;border-radius:10px;font-size:.78rem;white-space:nowrap}.status-approved{background:#dcfce7;color:#166534}.status-pending{background:#fef3c7;color:#92400e}.status-rejected{background:#fee2e2;color:#991b1b}.status-disabled{background:#e5e7eb;color:#4b5563}.dup-tag{display:inline-block;margin-left:.4rem;padding:0 .35rem;border-radius:4px;background:#fef3c7;color:#92400e;font-size:.72rem;cursor:help}.row-actions{white-space:nowrap}.row-hint{color:var(--ink-light);font-size:.82rem}.panel-msg{margin:.6rem 0;padding:.5rem .8rem;background:var(--blue-50);border-radius:var(--radius-sm);color:var(--blue-700);font-size:.85rem}.panel-msg-inline{color:var(--ink-light);font-size:.82rem;margin-left:.6rem}.panel-empty{color:var(--ink-light);font-size:.85rem;margin:.6rem 0}.grade-editor{margin-bottom:1.2rem}.grade-body{margin-top:.7rem;padding:.9rem;background:var(--blue-50);border-radius:var(--radius-sm)}.grade-body textarea{width:100%;max-width:320px;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem;resize:vertical;margin-bottom:.6rem}.invite-form{padding:1rem 1.2rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.2rem}.invite-form h3{font-size:1rem;margin-bottom:.8rem;color:var(--blue-700)}.invite-form-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:flex-end}.invite-form-row label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--ink-light)}.invite-form-row select,.invite-form-row input{padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;font-family:inherit;background:var(--white)}.invite-form-row input[type=number]{width:90px}.invite-form-row input[type=text]{width:180px}.invite-form-row button{padding:.5rem 1.2rem;border-radius:var(--radius-sm);border:none;font-size:.9rem;cursor:pointer}.invite-created{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.9rem 1.1rem;margin-bottom:1.2rem;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:var(--radius)}.invite-created-label{font-size:.85rem;color:#047857}.invite-created-code{font-size:1.6rem;font-weight:700;letter-spacing:.25rem;color:#065f46;font-variant-numeric:tabular-nums}.invite-code-inline{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem;letter-spacing:.15rem;color:var(--blue-700)}.usage-box{margin-top:1.4rem;padding:1rem 1.2rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius)}.usage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.gen-page{max-width:760px}.gen-sub{margin:-.4rem 0 1.2rem;color:var(--text-secondary, #5a6478);font-size:.95rem}.gen-sub a{color:var(--blue-700, #1668dc)}.gen-card{background:var(--white, #fff);border:1px solid var(--border, #e5eaf2);border-radius:12px;padding:1.6rem 1.8rem}.gen-row{padding:.9rem 0;border-bottom:1px dashed var(--border, #eef1f6)}.gen-row:last-of-type{border-bottom:none}.gen-label{display:inline-block;width:110px;font-weight:600;font-size:.95rem;vertical-align:middle}.gen-input{width:calc(100% - 130px);padding:.55rem .8rem;border:1px solid var(--border, #d9e0ea);border-radius:8px;font-size:.95rem;outline:none;vertical-align:middle}.gen-input:focus{border-color:var(--blue-700, #1668dc);box-shadow:0 0 0 3px #1668dc1f}.gen-options{display:inline-flex;flex-wrap:wrap;gap:.5rem 1.4rem;vertical-align:middle;margin-left:12px}.gen-radio{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.95rem;white-space:nowrap}.gen-radio input{accent-color:var(--blue-700, #1668dc);width:16px;height:16px;cursor:pointer}.gen-hint{margin:.5rem 0 0 122px;font-size:.82rem;color:#8a94a6}.gen-hint--center{margin:.8rem 0 0;text-align:center}.gen-error{margin:.8rem 0 0;color:#d93025;font-size:.9rem}.gen-actions{margin-top:1.6rem;text-align:center}.gen-download{min-width:240px;padding:.7rem 1.6rem;font-size:1.02rem}@media (max-width: 640px){.gen-card{padding:1.1rem 1rem}.gen-label{display:block;width:auto;margin-bottom:.5rem}.gen-input{width:100%}.gen-options,.gen-hint{margin-left:0}}.paper-layout{display:flex;align-items:flex-start;gap:1.5rem}.paper-main{flex:1;min-width:0}.paper-side{width:280px;flex-shrink:0;position:sticky;top:1rem;background:var(--white, #fff);border:1px solid var(--border, #e5eaf2);border-radius:12px;padding:1.1rem 1.2rem}.side-section{padding:.7rem 0;border-bottom:1px dashed var(--border, #eef1f6)}.side-section:first-child{padding-top:.1rem}.side-title{font-size:1rem;font-weight:700;margin-bottom:.7rem;color:var(--ink, #1f2733)}.side-stats{display:flex;gap:2rem}.side-stat{display:flex;flex-direction:column}.side-stat-num{font-size:1.5rem;font-weight:700;color:var(--blue-700, #1668dc);line-height:1.2}.side-stat-label{font-size:.8rem;color:#8a94a6}.side-label{font-size:.85rem;color:#8a94a6;margin-bottom:.55rem}.side-empty{margin:0;font-size:.85rem;color:#8a94a6}.side-diff-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#eef1f6}.side-diff-bar span{display:block;transition:flex .25s ease}.diff-easy{background:#34a853}.diff-mid{background:#1668dc}.diff-hard{background:#d93025}.side-diff-legend{display:flex;justify-content:space-between;margin-top:.45rem;font-size:.8rem;color:#5a6478}.side-sort-btns{display:flex;gap:.45rem}.side-sort-btn{flex:1;padding:.4rem 0;font-size:.85rem;border:1px solid var(--border, #d9e0ea);border-radius:8px;background:var(--white, #fff);color:var(--ink, #1f2733);cursor:pointer;transition:all .15s ease}.side-sort-btn:hover{border-color:var(--blue-700, #1668dc);color:var(--blue-700, #1668dc)}.side-sort-btn.on{background:var(--blue-700, #1668dc);border-color:var(--blue-700, #1668dc);color:#fff}.side-group{margin-bottom:.85rem}.side-group:last-child{margin-bottom:0}.side-group-title{font-size:.92rem;font-weight:600;margin-bottom:.45rem;color:var(--ink, #1f2733)}.side-group-count{font-weight:400;font-size:.8rem;color:#8a94a6}.side-chips{display:flex;flex-wrap:wrap;gap:.4rem}.side-chip{min-width:34px;height:34px;padding:0 6px;border:1px solid var(--blue-700, #1668dc);border-radius:6px;background:var(--white, #fff);color:var(--blue-700, #1668dc);font-size:.9rem;cursor:pointer;transition:all .15s ease}.side-chip:hover{background:var(--blue-700, #1668dc);color:#fff}.side-clear{width:100%;margin-top:1rem}@media (max-width: 1000px){.paper-layout{flex-direction:column}.paper-side{width:100%;position:static;order:2}.paper-main{width:100%;order:1}}.paper-item-handle{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;position:relative;border-radius:6px;padding:.2rem .15rem .15rem;transition:background .15s ease,transform .15s ease}.paper-item-handle:after{content:"⠿";display:block;font-size:.7rem;line-height:1;color:#b9c2d0;margin-top:.1rem;transition:color .15s ease}.paper-item-handle:hover{background:#1668dc14}.paper-item-handle:hover:after{color:var(--blue-600, #1668dc)}.paper-item-handle.is-pressing{background:#1668dc24;transform:scale(.94)}.paper-item-handle.is-pressing:after{color:var(--blue-600, #1668dc)}.paper-item.is-dragging{position:relative;z-index:900;opacity:.96;box-shadow:0 14px 30px #0f234638;outline:2px solid var(--blue-600, #1668dc);outline-offset:-1px;cursor:grabbing;transition:none}body.sort-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.pitem-drop-line{position:fixed;display:none;height:3px;border-radius:999px;background:var(--blue-600, #1668dc);box-shadow:0 0 0 3px #1668dc24;pointer-events:none;z-index:1000}.pitem-drop-line:before{content:"";position:absolute;left:-4px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--blue-600, #1668dc)}.side-label-tip{margin-left:.5rem;font-size:.76rem;color:#b0b8c6;font-weight:400}.side-chip{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.side-chip.is-pressing{transform:scale(.92)}.side-chip.is-dragging{position:relative;z-index:900;background:var(--blue-700, #1668dc);border-color:var(--blue-700, #1668dc);color:#fff;box-shadow:0 8px 18px #0f234642;cursor:grabbing;transition:none}.chip-drop-line{position:fixed;display:none;width:3px;border-radius:999px;background:var(--blue-600, #1668dc);box-shadow:0 0 0 3px #1668dc24;pointer-events:none;z-index:1000}.paper-item.is-moved{animation:paper-moved-flash 1.2s ease}@keyframes paper-moved-flash{0%,to{outline:2px solid rgba(22,104,220,0);outline-offset:2px}20%,70%{outline:2px solid rgba(22,104,220,.85);outline-offset:2px}}.asg-page{max-width:1100px}.asg-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1rem}.asg-layout{display:grid;grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:1.25rem;align-items:start}@media (max-width: 900px){.asg-layout{grid-template-columns:1fr}}.asg-form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.85rem}.asg-form-title{font-size:1rem;font-weight:600}.asg-field{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;color:var(--ink-light)}.asg-input{width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--ink);background:#fff}.asg-input:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px var(--blue-50)}.asg-seg{display:inline-flex;background:var(--blue-50);border-radius:999px;padding:3px;gap:2px}.asg-seg-item{border:none;background:transparent;padding:.35rem .8rem;border-radius:999px;font-size:.83rem;color:var(--ink-light);cursor:pointer;font-family:inherit}.asg-seg-item.active{background:#fff;color:var(--blue-700);font-weight:600;box-shadow:var(--shadow)}.asg-hint{font-size:.8rem;color:var(--ink-light);display:flex;flex-direction:column;gap:.35rem}.asg-warn{color:#b45309}.asg-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;color:var(--ink);cursor:pointer}.asg-roster{max-height:230px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem;display:flex;flex-direction:column;gap:.5rem;background:var(--blue-50)}.asg-grades{display:flex;flex-wrap:wrap;gap:.75rem}.asg-grade-block{display:flex;flex-direction:column;gap:.3rem}.asg-grade-name{font-size:.8rem;font-weight:600;color:var(--blue-700)}.asg-student-grid{display:flex;flex-wrap:wrap;gap:.6rem}.asg-side,.asg-list{display:flex;flex-direction:column;gap:.75rem}.asg-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.asg-card-revoked{opacity:.65}.asg-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.asg-card-main{display:flex;flex-direction:column;gap:.45rem}.asg-title{font-weight:600;font-size:.95rem}.asg-pill{font-size:.72rem;padding:.12rem .5rem;border-radius:999px;white-space:nowrap}.asg-pill-ok{color:#067647;background:#e9f7ef}.asg-pill-warn{color:#b45309;background:#fef6e7}.asg-pill-muted{color:var(--ink-light);background:#f1f5f9}.asg-pill-danger{color:#b42318;background:#fee4e2}.asg-meta{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.78rem;color:var(--ink-light)}.asg-note{font-size:.84rem;color:var(--ink);background:var(--blue-50);border-radius:var(--radius-sm);padding:.4rem .6rem}.asg-expired{color:#b45309}.asg-actions{display:flex;flex-wrap:wrap;gap:.5rem}.asg-preview{margin-top:.2rem}.asg-preview-frame{width:100%;height:520px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.asg-receipts{display:flex;flex-direction:column;gap:.3rem;border-top:1px dashed var(--border);padding-top:.5rem}.asg-receipt-row{display:grid;grid-template-columns:60px 1fr auto auto;gap:.5rem;font-size:.82rem;align-items:center}.asg-receipt-ok{color:#067647}.asg-receipt-wait{color:#b45309}.asg-empty{background:#fff;border:1px dashed var(--border);border-radius:var(--radius);padding:1.2rem;text-align:center;color:var(--ink-light);font-size:.88rem}.asg-error{background:#fee4e2;color:#b42318;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.7rem}.asg-error-inline{color:#b42318;font-size:.8rem}.asg-ok{background:#e9f7ef;color:#067647;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.7rem}.asg-accepted{font-size:.8rem;color:#067647}.asg-muted{color:var(--ink-light);font-size:.85rem}.fb-page{max-width:900px}.fb-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem}.fb-page-sub{font-size:.84rem;color:var(--ink-light);margin-top:.25rem}.fb-error{background:#fee4e2;color:#b42318;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.7rem}.fb-ok{background:#e9f7ef;color:#067647;border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.7rem}.fb-tabs{display:inline-flex;background:var(--blue-50);border-radius:999px;padding:3px;gap:2px;margin-bottom:.9rem}.fb-tab{border:none;background:transparent;padding:.35rem .9rem;border-radius:999px;font-size:.84rem;color:var(--ink-light);cursor:pointer;font-family:inherit}.fb-tab.active{background:#fff;color:var(--blue-700);font-weight:600;box-shadow:var(--shadow)}.fb-empty{background:#fff;border:1px dashed var(--border);border-radius:var(--radius);padding:1.2rem;text-align:center;color:var(--ink-light);font-size:.88rem}.fb-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem;margin-bottom:.8rem;display:flex;flex-direction:column;gap:.55rem}.fb-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.fb-who{font-weight:600;font-size:.95rem}.fb-grade{font-size:.78rem;color:var(--ink-light)}.fb-status{font-size:.72rem;padding:.12rem .5rem;border-radius:999px}.fb-status.is-open{color:#b45309;background:#fef6e7}.fb-status.is-done{color:#067647;background:#e9f7ef}.fb-time{margin-left:auto;font-size:.76rem;color:var(--ink-light)}.fb-content{font-size:.9rem;white-space:pre-wrap;word-break:break-word}.fb-pics{display:flex;flex-wrap:wrap;gap:.5rem}.fb-pics img{width:96px;height:96px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:zoom-in;background:#f1f5f9}.fb-muted{font-size:.78rem;color:var(--ink-light)}.fb-reply{background:var(--blue-50);border-left:3px solid var(--blue-400);border-radius:var(--radius-sm);padding:.45rem .65rem;display:flex;flex-direction:column;gap:.15rem}.fb-reply-who{font-size:.76rem;color:var(--blue-700);font-weight:600}.fb-reply-text{font-size:.86rem;color:var(--ink);white-space:pre-wrap}.fb-reply-time{font-size:.72rem;color:var(--ink-light)}.fb-draft{width:100%;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;font-family:inherit;color:var(--ink);resize:vertical}.fb-draft:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px var(--blue-50)}.fb-actions{display:flex;flex-wrap:wrap;gap:.5rem}.fb-zoom{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ac7;display:flex;align-items:center;justify-content:center;z-index:60;cursor:zoom-out;padding:2rem}.fb-zoom img{max-width:100%;max-height:100%;border-radius:var(--radius-sm)}:root{--n-50: #f8fafc;--n-100: #f2f5f9;--n-200: #e7ecf3;--n-300: #d5dde8;--n-500: #78859a;--n-700: #3c4759;--n-900: #131a28;--shadow-xs: 0 1px 2px rgba(16, 32, 64, .06);--shadow-sm: 0 1px 2px rgba(16, 32, 64, .05), 0 2px 6px rgba(16, 32, 64, .05);--shadow-md: 0 2px 4px rgba(16, 32, 64, .05), 0 8px 18px rgba(16, 32, 64, .07);--shadow-lg2: 0 4px 8px rgba(16, 32, 64, .06), 0 16px 36px rgba(16, 32, 64, .1);--ring: 0 0 0 3px rgba(22, 104, 220, .15);--radius-lg: 16px}header{position:sticky;top:0;z-index:50;padding:.68rem 2rem;background:linear-gradient(120deg,#0f4aa5,#1668dc 58%,#2f7ff0);box-shadow:inset 0 1px #ffffff24,0 6px 20px #0b3a8c29}.logo{display:flex;align-items:center;gap:.6rem;font-size:1.04rem;font-weight:600;letter-spacing:.01em}.logo-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffffff26;border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px #fff3}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-main{font-size:1.04rem;font-weight:600}.logo-sub{font-size:.63rem;font-weight:400;letter-spacing:.16em;opacity:.68;margin-top:.1rem}.nav-links{gap:.15rem;align-items:center}.nav-links a{padding:.42rem .78rem;border-radius:9px;font-size:.9rem;color:#ffffffd1;transition:background .16s,color .16s}.nav-links a:hover{background:#ffffff21;color:#fff}.nav-links a.active{background:#fff;color:var(--blue-700);font-weight:600;box-shadow:0 1px 3px #03193c2e}.nav-greeting{color:#ffffffeb;font-size:.84rem;padding-left:.7rem;margin-left:.35rem;border-left:1px solid rgba(255,255,255,.22)}.classify-topbar{top:64px}.page-title{font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin-bottom:1.35rem}.view-tabs{background:var(--n-100);padding:4px;gap:4px;border-radius:13px;box-shadow:none;overflow:visible}.view-tab{border-radius:10px;border-bottom:none;padding:.58rem 1rem;font-size:.9rem;font-weight:500;background:transparent;color:var(--n-500);transition:background .16s,color .16s,box-shadow .16s}.view-tab:hover{background:#ffffffb8;color:var(--blue-700)}.view-tab.active{background:#fff;color:var(--blue-700);font-weight:600;border-bottom-color:transparent;box-shadow:var(--shadow-xs)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1.6rem}.page-head-main{display:flex;flex-direction:column;gap:.32rem;min-width:0}.page-eyebrow{font-size:.71rem;font-weight:600;letter-spacing:.15em;color:var(--blue-500)}.page-head h1,.page-head h2{font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.25;margin:0}.page-desc{font-size:.885rem;color:var(--n-500);line-height:1.6}.page-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-weight:500;line-height:1.25;white-space:nowrap;box-shadow:var(--shadow-xs)}.btn-primary{background:var(--blue-600);box-shadow:0 1px 2px #1668dc47,inset 0 1px #ffffff29;transition:background .16s,box-shadow .16s,transform .12s}.btn-primary:hover{background:#1359c4;transform:translateY(-1px);box-shadow:0 4px 12px #1668dc42,inset 0 1px #ffffff29}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary{border:1px solid var(--n-300);color:var(--n-700);box-shadow:none;transition:background .16s,border-color .16s,color .16s}.btn-secondary:hover{background:var(--n-50);border-color:var(--blue-200, #c7dbfa);color:var(--blue-700)}.btn-danger{background:#fff;color:#b42318;border:1px solid #f1c9c4;box-shadow:none;transition:background .16s,border-color .16s}.btn-danger:hover{background:#fef4f3;border-color:#e5a49b;color:#912018}.btn-small{border-radius:7px;padding:.3rem .62rem;font-size:.79rem;font-weight:500;color:var(--n-700);transition:background .15s,border-color .15s,color .15s}.btn-small:hover{border-color:var(--blue-300, #b5d4f4);color:var(--blue-700);background:var(--blue-50)}.btn-small.btn-danger{color:#b42318;border-color:var(--border)}.btn-small.btn-danger:hover{background:#fef4f3;border-color:#f1c9c4}.doc-item{border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .18s,box-shadow .18s}.doc-item:hover{border-color:var(--blue-100);box-shadow:var(--shadow-md)}.student-table{border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:.9rem}.student-table th{background:var(--n-50);color:var(--n-500);font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.72rem 1rem;border-bottom:1px solid var(--border);white-space:nowrap}.student-table td{padding:.78rem 1rem;vertical-align:middle;color:var(--n-700)}.student-table tbody tr{transition:background .14s}.student-table tbody tr:hover{background:#eef5ff9e}.student-table tbody tr:last-child td{border-bottom:none}.empty-state{padding:3.6rem 2rem;color:var(--n-500)}.empty-state-icon{width:64px;height:64px;margin:0 auto 1.15rem;display:grid;place-items:center;border-radius:20px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-600);font-size:1.7rem;opacity:1}.empty-state h3{font-size:1.05rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}.empty-state p{font-size:.875rem;line-height:1.7;max-width:30rem;margin:0 auto}.dash{display:flex;flex-direction:column;gap:1.5rem}.dash-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 1.8rem;border-radius:var(--radius-lg);background:linear-gradient(120deg,#0f4aa5,#1668dc 62%,#3f8bf2);box-shadow:var(--shadow-md);color:#fff;overflow:hidden;position:relative}.dash-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff12;pointer-events:none}.dash-hero-text{display:flex;flex-direction:column;gap:.4rem;position:relative}.dash-hero-kicker{font-size:.72rem;letter-spacing:.16em;opacity:.72}.dash-hero h1{font-size:1.62rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.dash-hero p{font-size:.9rem;opacity:.82;max-width:34rem;line-height:1.6}.dash-hero-btn{flex-shrink:0;background:#fff;color:var(--blue-700);font-weight:600;box-shadow:0 4px 14px #03193c2e;position:relative}.dash-hero-btn:hover{background:#f4f8ff;transform:translateY(-1px)}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}.stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.05rem 1.15rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.3rem}.stat-label{font-size:.78rem;color:var(--n-500);font-weight:500}.stat-value{font-size:1.72rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.2;font-variant-numeric:tabular-nums}.stat-value em{font-style:normal;font-size:.8rem;font-weight:400;color:var(--n-500);margin-left:.25rem}.stat-accent{color:var(--blue-600)}.dash-section-title{font-size:.83rem;font-weight:600;letter-spacing:.04em;color:var(--n-500);margin-bottom:.7rem}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.05rem 1.1rem;display:flex;align-items:flex-start;gap:.85rem;cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--blue-100)}.tile-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100)}.tile-body h3{font-size:.94rem;font-weight:600;color:var(--ink);margin-bottom:.18rem}.tile-body p{font-size:.81rem;color:var(--n-500);line-height:1.55}.dropzone{position:relative;border-width:1.5px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.dropzone:hover{box-shadow:var(--shadow-sm)}.dropzone.primary{background:#fff;border-style:solid;border-color:var(--blue-500);box-shadow:0 2px 10px #1668dc1a}.dropzone.primary:before{content:"推荐";position:absolute;top:.7rem;right:.7rem;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--blue-700);background:var(--blue-100);border-radius:999px;padding:.12rem .5rem}.dropzone.primary:hover{border-color:var(--blue-600);box-shadow:0 6px 18px #1668dc29}.dropzone .dz-icon{width:46px;height:46px;margin:0 auto .7rem;display:grid;place-items:center;border-radius:14px;background:#ffffffe6;border:1px solid var(--blue-100);color:var(--blue-600)}.dropzone.primary .dz-icon{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.dropzone.compact .dz-icon{width:38px;height:38px;border-radius:11px;margin-bottom:.55rem}.dropzone h3{font-size:.98rem;font-weight:600;color:var(--ink)}.dropzone p{font-size:.82rem;color:var(--n-500)}.dropzone.compact h3{font-size:.92rem}.dropzone .dz-hint{margin-top:.4rem;font-size:.76rem;color:var(--n-500);opacity:.9}.assign-file-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.assign-file-name{font-size:.83rem;color:var(--n-700);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-file-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.46rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--n-300);background:#fff;color:var(--n-700);font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .16s,border-color .16s,color .16s}.select-file-btn:hover{background:var(--blue-50);border-color:var(--blue-300, #b5d4f4);color:var(--blue-700)}:where(input,select,textarea):focus-visible,:where(button,a):focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c8d3e2;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a6b4c8;background-clip:content-box}::selection{background:#1668dc2e}@media (max-width: 1024px){.dash-stats,.dash-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){header{padding:.6rem 1rem;flex-direction:column;align-items:flex-start;gap:.55rem}.nav-links{flex-wrap:wrap}.logo-sub{display:none}.dash-hero{flex-direction:column;align-items:flex-start;padding:1.3rem 1.2rem}.dash-stats,.dash-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}}.student-manage-page,.asg-page,.fb-page{max-width:1120px;margin:0 auto;padding:0}.surface{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.surface .empty-state{padding:3.1rem 1.5rem}.alert-error{background:#fef4f3;border:1px solid #f1c9c4;color:#912018;padding:.7rem .9rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.87rem}.upload-progress{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.1rem;font-size:.86rem;color:var(--n-500)}.doc-list-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1rem}.doc-list-head h3{font-size:1.05rem;font-weight:600;color:var(--ink)}.doc-list-count{font-size:.76rem;color:var(--n-500);background:var(--n-100);border-radius:999px;padding:.08rem .5rem}.doc-badges{margin-left:.55rem;display:inline-flex;align-items:center;vertical-align:middle}.empty-state-action{margin-top:1.1rem}.badge{border:1px solid transparent}.badge-done{border-color:#b4e8d1}.badge-processing{border-color:#f6dda0}.badge-error{border-color:#f3c3bd}.badge-featured{border-color:var(--blue-100)}.ai-assistant-ball{border-radius:20px;padding:6px 6px 5px;background:#fffffff7;border:1px solid rgba(16,32,64,.07);box-shadow:0 2px 4px #1020400f,0 10px 26px #10204024}.ai-assistant-ball:hover{transform:translateY(-2px);box-shadow:0 4px 8px #10204014,0 14px 32px #1020402e}.ai-ball-avatar{width:52px;height:52px;border:none;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--blue-100)}.ai-ball-text{color:var(--blue-700);font-size:.71rem;font-weight:600;letter-spacing:.02em}main>*{animation:page-rise .34s cubic-bezier(.22,.61,.36,1) both}@keyframes page-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){main>*{animation:none}}.page-head{margin-bottom:1.1rem}.page-title,.view-tabs{margin-bottom:1rem}.view-tab{padding:.72rem 1.25rem;font-size:.95rem}.bank-layout{grid-template-columns:300px minmax(0,1fr);gap:1.4rem}.question-list{gap:.6rem}.question-card{padding:.9rem 1.1rem .95rem 2.6rem;box-shadow:var(--shadow-xs),inset 0 0 0 1px var(--border)}.question-card.selected{border:none;box-shadow:var(--shadow-xs),inset 0 0 0 2px var(--blue-500)}.question-select{top:.9rem;left:.9rem}.question-header{margin-bottom:.5rem}.question-stem{line-height:1.58}.question-options{margin-bottom:.65rem}.question-option{padding:.26rem 0}.question-answer{margin-top:.7rem;padding-top:.7rem}.question-actions{margin-top:.7rem}.question-images{gap:.4rem}.paper-list{gap:.55rem}.paper-item{padding:.72rem 1.05rem}.paper-item-tags{margin-bottom:.35rem}.doc-list{margin-top:1.2rem}.doc-item{padding:.72rem 1.05rem;margin-bottom:.6rem}.dash-hero{padding:1.3rem 1.5rem}.dash-hero h1{font-size:1.5rem}.dash-stats{gap:.75rem}.stat{padding:.85rem 1rem;gap:.22rem}.stat-value{font-size:1.52rem}.dash-grid{gap:.7rem}.tile{padding:.85rem .95rem}.surface .empty-state{padding:2.3rem 1.5rem}@media (max-width: 768px){.question-card{padding:.85rem .95rem}.question-select{position:static;margin-bottom:.4rem}}.question-card.editing{border:none;box-shadow:var(--shadow-xs),inset 0 0 0 2px var(--blue-400)}.doc-item:hover{border-color:transparent;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--blue-100)}
