@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";.app{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);padding:0;color:var(--foreground)}.container{max-width:100%;margin:0 auto;padding:0 24px;min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:10;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fff9;border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 1px 3px #0000000d;padding:20px 24px;margin-bottom:0;text-align:center}.title{font-size:28px;font-weight:var(--font-weight-bold);color:var(--foreground);margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:10px}.subtitle{font-size:14px;color:var(--muted-foreground);font-weight:var(--font-weight-normal)}.reset-btn{position:absolute;top:50%;right:var(--spacing-lg);transform:translateY(-50%);padding:var(--spacing-sm) var(--spacing-md);background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-lg);font-size:13px;color:var(--muted-foreground);cursor:pointer;transition:all .2s;font-weight:var(--font-weight-medium)}.reset-btn:hover{background:#fffffff2;color:var(--foreground)}.model-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.model-modal{background:#fff;border-radius:16px;width:90%;max-width:520px;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.model-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.model-modal-title{margin:0;font-size:18px;font-weight:600;color:#1e293b}.model-modal-close{width:32px;height:32px;border:none;background:#0000000d;border-radius:8px;font-size:16px;color:#64748b;cursor:pointer;transition:all .2s}.model-modal-close:hover{background:#0000001a;color:#1e293b}.model-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px;max-height:calc(80vh - 160px);overflow-y:auto}.model-modal-row{display:flex;flex-direction:column;gap:8px}.model-modal-label{font-size:14px;font-weight:600;color:#374151}.model-modal-select{width:100%;padding:12px 16px;font-size:14px;color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px}.model-modal-select:hover{border-color:#3b82f6;background-color:#fff}.model-modal-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.model-modal-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0}.model-modal-reset{padding:10px 20px;font-size:14px;font-weight:500;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.model-modal-reset:hover{background:#f1f5f9;color:#1e293b}.model-modal-confirm{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;cursor:pointer;transition:all .2s}.model-modal-confirm:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.agent-indicator-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agent-chip{display:flex;align-items:center;gap:5px;padding:4px 10px;background:#fffc;border:1px solid #e2e8f0;border-radius:16px;font-size:11px;color:#94a3b8;transition:all .3s ease}.agent-chip .agent-light{width:6px;height:6px;border-radius:50%;background:#cbd5e1;transition:all .3s ease}.agent-chip .agent-name{font-weight:500}.agent-chip.active{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.agent-chip.active .agent-light{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.agent-chip.loading .agent-light{animation:pulse-agent 1s ease-in-out infinite}@keyframes pulse-agent{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.model-settings-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fffc;border:1px solid #e2e8f0;border-radius:50%;font-size:14px;color:#64748b;cursor:pointer;transition:all .2s ease;margin-left:4px}.model-settings-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.model-settings-btn.active{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.section{margin-bottom:16px;padding:0 24px}.section:first-of-type{padding-top:24px}.chat-layout .section{padding:0}.chat-layout .section:first-of-type{padding-top:0}.section-title{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:16px;padding-bottom:0;border-bottom:none}.upload-grid{display:grid;gap:16px}.upload-grid.two-col{grid-template-columns:repeat(2,1fr)}@media (max-width: 600px){.upload-grid.two-col{grid-template-columns:1fr}}.upload-card{background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:20px;transition:all .3s ease;overflow:hidden;box-shadow:0 8px 32px #00000014}.upload-card:hover{background:#ffffffe6;transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.upload-label{display:flex;flex-direction:column;align-items:center;padding:24px;cursor:pointer;min-height:180px}.upload-icon{font-size:40px;margin-bottom:12px}.upload-title{font-weight:600;color:#1e293b;font-size:15px;margin-bottom:12px}.file-input{display:none}.upload-placeholder{color:#94a3b8;font-size:14px;padding:20px;border:2px dashed rgba(0,0,0,.15);border-radius:12px;width:100%;text-align:center}.image-preview{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.image-preview img{max-width:100%;max-height:140px;border-radius:12px;box-shadow:0 4px 16px #0000001a;object-fit:contain}.file-name{font-size:12px;color:#64748b;word-break:break-all;text-align:center;background:#fff9;padding:6px 12px;border-radius:8px}.submit-btn{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius-xl);font-size:var(--font-size);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;box-shadow:0 4px 16px #00000026}.submit-btn:hover:not(:disabled){background:#1e293b;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.error-box{background:#fee2e2cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:16px;margin:24px;color:#dc2626}.error-box h3{margin-bottom:6px;font-size:16px;font-weight:600}.main-content{padding:24px}.context-summary{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:16px;box-shadow:0 10px 25px #0000000d;overflow:hidden}.context-header{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#f1f5f9)}.context-header-icon{width:36px;height:36px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a;font-size:16px}.context-header-title{font-size:16px;font-weight:var(--font-weight-semibold);color:#0f172a}.problem-body{padding:24px;display:flex;flex-direction:column;gap:20px}.problem-text{font-size:16px;color:#0f172a;line-height:1.75;margin:0;font-weight:var(--font-weight-normal)}.choices-label{font-size:14px;color:#64748b;margin-bottom:12px;font-weight:var(--font-weight-normal)}.choices-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.choice-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:14px;color:#0f172a;font-weight:var(--font-weight-normal);cursor:pointer;transition:all .2s ease}.choice-btn:hover{border-color:#475569;background:#f8fafc}.choice-btn.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:var(--font-weight-medium);position:relative}.choice-btn.selected:hover{background:#dbeafe;border-color:#1d4ed8}.choice-check{margin-left:6px;color:#16a34a;font-weight:700}.selected-answer-info{margin-top:12px;padding:10px 14px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:14px}.selected-label{color:#64748b}.selected-value{font-weight:var(--font-weight-semibold);color:#0f172a}.answer-status{margin-left:auto;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:var(--font-weight-semibold)}.answer-status.correct{background:#dcfce7;color:#16a34a}.answer-status.incorrect{background:#fee2e2;color:#dc2626}.info-cards{display:flex;flex-direction:column;gap:16px}.strategy-card{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-left:4px solid var(--primary);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 8px 32px #00000014;transition:all .3s ease}.strategy-card:hover{box-shadow:0 12px 40px #0000001f}.strategy-card.collapsed{background:#fffc}.strategy-card.open{background:#ffffffe6}.strategy-toggle{width:100%;padding:18px var(--spacing-lg);background:transparent;border:none;display:flex;align-items:center;gap:12px;font-size:var(--font-size);font-weight:var(--font-weight-semibold);color:var(--foreground);cursor:pointer;transition:all .2s;font-family:inherit;text-align:left}.strategy-toggle:hover{background:#ffffff80;color:var(--foreground)}.strategy-card.open .strategy-toggle{color:#1e293b;background:transparent}.strategy-toggle-icon{font-size:10px;transition:transform .2s;color:var(--primary)}.strategy-body{padding:0 24px 24px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.strategy-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(0,0,0,.08)}.strategy-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.strategy-section-title{font-size:18px;font-weight:var(--font-weight-bold);color:var(--foreground);margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid var(--primary)}.strategy-item{margin-bottom:18px}.strategy-item:last-child{margin-bottom:0}.strategy-label{display:block;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--muted-foreground);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.strategy-content{font-size:15px;color:var(--foreground);line-height:1.7;margin:0;padding:0}.strategy-empty{color:var(--muted-foreground);font-style:italic}.big-steps{margin:0;padding-left:0;list-style:none}.big-steps li{font-size:15px;color:var(--foreground);line-height:1.8;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px}.big-steps li:before{content:counter(step-counter);counter-increment:step-counter;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#1e293b;color:#fff;font-size:12px;font-weight:600;flex-shrink:0}.big-steps{counter-reset:step-counter}.big-steps li:last-child{margin-bottom:0}.util-checks{margin:0;padding-left:0;list-style:none}.util-checks li{font-size:15px;color:var(--foreground);line-height:1.7;position:relative;padding-left:20px;margin-bottom:6px}.util-checks li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700;font-size:18px}.strategy-list{margin:0;padding-left:0;list-style:none}.strategy-list li{font-size:15px;color:var(--foreground);line-height:1.7;position:relative;padding-left:20px;margin-bottom:8px}.strategy-list li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700;font-size:18px}.strategy-list li:last-child{margin-bottom:0}.chat-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0;margin-bottom:0;min-height:calc(100vh - 120px);align-items:start}.main-area{display:flex;flex-direction:column;min-height:0;gap:0}.main-section{margin-bottom:16px;padding:0}.main-section:first-of-type{padding-top:0}.plan-card-area{display:flex;flex-direction:column;min-height:0}.plan-section{margin-bottom:0;padding:0;height:100%;display:flex;flex-direction:column}.plan-card{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:0;box-shadow:0 10px 25px #0000000d;height:100%;display:flex;flex-direction:column;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:hidden}.plan-card:hover{box-shadow:0 12px 40px #0000001f}.plan-header{display:flex;align-items:center;gap:10px;padding:16px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#f1f5f9)}.plan-header-icon{width:36px;height:36px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a;font-size:16px}.plan-header-title{font-size:16px;font-weight:var(--font-weight-semibold);color:#0f172a}.plan-body{flex:1;overflow-y:auto;padding:24px}.plan-body::-webkit-scrollbar{width:6px}.plan-body::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.plan-body::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.plan-body::-webkit-scrollbar-thumb:hover{background:#0000004d}.plan-step{margin-bottom:16px;padding:20px;border-radius:12px;background:linear-gradient(to bottom right,#fff,#f8fafc);border:1px solid #e2e8f0}.plan-step:last-child{margin-bottom:0}.plan-step-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.plan-step-number{width:28px;height:28px;border-radius:8px;background:linear-gradient(to bottom right,#475569,#1e293b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;box-shadow:0 2px 4px #0000001a}.plan-step-title{font-size:16px;font-weight:var(--font-weight-semibold);color:#0f172a;margin:0}.plan-step-content{display:flex;flex-direction:column;gap:16px;margin-left:16px}.plan-item{display:flex;flex-direction:column;gap:6px}.plan-label{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px}.plan-text{font-size:14px;color:var(--foreground);line-height:1.6;margin:0;padding:0}.plan-empty{text-align:center;padding:40px 20px;color:var(--muted-foreground)}.plan-empty p{margin:0 0 8px;font-size:15px}.plan-empty-hint{font-size:13px;color:var(--muted-foreground);font-style:italic}.plan-strategy-divider{height:1px;background:#00000026;margin:20px 0;position:relative}.plan-strategy-divider:before{content:"";position:absolute;left:0;top:-2px;width:40px;height:3px;background:var(--primary);border-radius:2px}.plan-strategy-section{margin-top:20px;background:#00000005;border-radius:12px;padding:16px;border-left:3px solid var(--muted-foreground)}.plan-strategy-title{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--foreground);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1)}.plan-strategy-content{display:flex;flex-direction:column;gap:14px}.plan-strategy-item{display:flex;flex-direction:column;gap:6px}.plan-strategy-label{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px}.plan-strategy-text{font-size:13px;color:var(--foreground);line-height:1.6;margin:0;padding:0}.plan-strategy-text.empty{color:var(--muted-foreground);font-style:italic}.plan-strategy-list{margin:0;padding-left:0;list-style:none}.plan-strategy-list li{font-size:13px;color:var(--foreground);line-height:1.6;position:relative;padding-left:16px;margin-bottom:4px}.plan-strategy-list li:before{content:"•";position:absolute;left:0;color:var(--muted-foreground);font-weight:700;font-size:14px}.plan-strategy-big-steps{margin:0;padding-left:0;list-style:none;counter-reset:strategy-step-counter}.plan-strategy-big-steps li{font-size:13px;color:var(--foreground);line-height:1.6;margin-bottom:6px;display:flex;align-items:flex-start;gap:10px;counter-increment:strategy-step-counter}.plan-strategy-big-steps li:before{content:counter(strategy-step-counter);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--muted-foreground);color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.plan-item-group{margin-bottom:16px;padding-left:16px;border-left:2px solid #e2e8f0}.plan-item-group:last-child{margin-bottom:0}.plan-item-title{font-size:14px;font-weight:var(--font-weight-semibold);color:#475569;margin-bottom:8px}.plan-item-compare{display:flex;flex-direction:column;gap:8px}.plan-state-box{background:#fff;border-radius:8px;padding:12px;border:1px solid #f1f5f9;display:flex;flex-direction:column;gap:4px}.plan-state-label{font-size:12px;font-weight:var(--font-weight-normal);color:#64748b;margin-bottom:4px}.plan-state-text,.plan-compact-text{font-size:14px;color:#475569;line-height:1.6;margin:0;padding:0}.plan-compact-text.empty{color:#94a3b8;font-style:italic}.plan-compact-list{margin:0;padding-left:0;list-style:none}.plan-compact-list li{font-size:14px;color:#475569;line-height:1.6;position:relative;padding-left:16px;margin-bottom:4px}.plan-compact-list li:before{content:"•";position:absolute;left:0;color:#94a3b8;font-weight:700;font-size:14px}.plan-compact-big-steps{margin:0;padding-left:0;list-style:none;counter-reset:compact-step-counter}.plan-compact-big-steps li{font-size:14px;color:#475569;line-height:1.6;margin-bottom:6px;display:flex;align-items:flex-start;gap:10px;counter-increment:compact-step-counter}.plan-compact-big-steps li:before{content:counter(compact-step-counter);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#94a3b8;color:#fff;font-size:11px;font-weight:600;flex-shrink:0}.chat-section{margin-bottom:0;flex:1;min-height:0;display:flex;flex-direction:column;padding:0}.chat-container{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:16px;box-shadow:0 10px 25px #0000000d;overflow:hidden;display:flex;flex-direction:column;height:550px}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#f1f5f9);flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:10px}.chat-header-icon{width:36px;height:36px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a;font-size:16px}.chat-header-title{font-size:16px;font-weight:var(--font-weight-semibold);color:#0f172a}.chat-messages{padding:16px 24px;display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;min-height:0}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.tutor,.chat-message.assistant{justify-content:flex-start}.message-bubble{max-width:85%;border-radius:12px;padding:12px 16px}.message-bubble.user{background:linear-gradient(to bottom right,#eff6ff,#dbeafe);color:#1e40af;border:1px solid #bfdbfe}.message-bubble.tutor,.message-bubble.assistant{background:linear-gradient(to bottom right,#f8fafc,#f1f5f9);color:#1e293b;border:1px solid #e2e8f0}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}.message-role{font-weight:600;padding:2px 6px;border-radius:4px}.message-role.tutor{background:#dbeafe;color:#1e40af}.message-role.assistant{background:#e2e8f0;color:#475569}.message-role.user{background:#dbeafe;color:#1e40af}.message-time{color:#94a3b8;font-size:10px}.message-text{margin:0;font-size:14px;line-height:1.75;white-space:pre-wrap}.message-text .markdown-latex-content{display:inline;color:inherit}.message-text .markdown-latex-content *{color:inherit}.message-text .md-paragraph{display:inline}.message-text .katex{font-size:1.1em}.message-text .katex-display{margin:.5em 0;overflow-x:auto;overflow-y:hidden}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text code{background-color:#0000000d;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.9em}.message-text pre{background-color:#0000000d;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.message-text pre code{background:none;padding:0}.message-text ul,.message-text ol{margin:8px 0;padding-left:24px}.message-text li{margin:4px 0}.message-image{max-width:220px;border-radius:8px;margin-bottom:8px;box-shadow:0 2px 8px #0000001a}.typing-indicator{display:flex;gap:6px;padding:4px 0}.typing-indicator span{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-8px);opacity:1}}.loading-bubble{min-width:120px}.loading-agent-info{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px}.loading-agent-name{font-weight:600;color:var(--primary)}.loading-status{color:#64748b;animation:pulse-opacity 1.5s infinite}@keyframes pulse-opacity{0%,to{opacity:.6}50%{opacity:1}}.chat-input-area{padding:16px 24px;border-top:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#f1f5f9);flex-shrink:0}.role-toggle-container{display:flex;align-items:center;margin-bottom:12px}.role-toggle{display:flex;gap:4px;background:#e2e8f0;padding:3px;border-radius:8px}.role-toggle-btn{padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;background:transparent;color:#64748b}.role-toggle-btn:hover{color:#334155}.role-toggle-btn.active{background:#fff;color:#1e40af;box-shadow:0 1px 3px #0000001a}.chat-input-wrapper{display:flex;gap:8px;align-items:center}.image-attach-btn{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .2s;padding:8px;border-radius:6px;background:transparent;border:none}.image-attach-btn:hover{background:#0000000d}.attached-image{position:relative;flex-basis:100%;margin-bottom:8px}.attached-image img{max-height:90px;border-radius:12px;box-shadow:0 4px 12px #00000026}.attached-image button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:none;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466}.chat-input{flex:1;padding:10px 16px;border-radius:8px;background:#fff;border:1px solid #cbd5e1;font-size:14px;outline:none;font-family:inherit;color:#0f172a;transition:all .2s}.chat-input:focus{outline:none;box-shadow:0 0 0 2px #47556933;border-color:#475569}.chat-input::placeholder{color:#94a3b8}.send-btn{padding:10px 16px;border-radius:8px;background:linear-gradient(to right,#475569,#1e293b);color:#fff;border:none;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 1px 3px #0000001a}.send-btn:hover:not(:disabled){background:linear-gradient(to right,#1e293b,#0f172a);box-shadow:0 2px 8px #00000026}.send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.init-phase-modern{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;width:100%;max-width:1024px;margin:0 auto}.init-header-modern{text-align:center;margin-bottom:48px}.init-logo-modern{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#1e293b,#0f172a);margin-bottom:16px;box-shadow:0 8px 24px #0003}.logo-icon{font-size:32px}.init-title-modern{font-size:32px;font-weight:var(--font-weight-bold);color:var(--foreground);margin-bottom:8px}.init-subtitle-modern{font-size:var(--font-size);color:var(--muted-foreground);font-weight:var(--font-weight-normal)}.upload-section-modern{width:100%;margin-bottom:32px}.upload-section-header{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:0 8px}.section-icon{font-size:20px;color:#94a3b8}.upload-section-title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--muted-foreground);margin:0}.upload-grid-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 768px){.upload-grid-modern{grid-template-columns:1fr}}.upload-card-modern{width:100%}.upload-label-modern{display:block;border-radius:var(--radius-2xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border:2px dashed var(--border-color, #cbd5e1);transition:all .3s ease;cursor:pointer;overflow:hidden;box-shadow:0 8px 32px #00000014}.upload-label-modern:hover{border-color:var(--border-color, #475569);box-shadow:0 12px 40px #0000001f;transform:translateY(-2px)}.upload-content{padding:32px;text-align:center}.upload-icon-modern{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;margin-bottom:16px;font-size:32px;transition:transform .3s ease}.upload-label-modern:hover .upload-icon-modern{transform:scale(1.1)}.upload-title-modern{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--foreground);margin-bottom:var(--spacing-md)}.upload-success{margin-top:16px}.success-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:#f1f5f9;color:#475569;margin-bottom:16px}.success-dot{width:8px;height:8px;border-radius:50%;background:#64748b}.image-preview-modern{margin-top:16px}.image-preview-modern img{max-width:100%;max-height:200px;border-radius:12px;box-shadow:0 4px 16px #0000001a;object-fit:contain}.upload-placeholder-modern{margin-top:16px}.placeholder-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:12px var(--spacing-md);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);transition:all .2s ease}.upload-label-modern:hover .placeholder-button{border-color:var(--border-color, #475569);color:var(--border-color, #475569)}.placeholder-hint{font-size:14px;color:var(--muted-foreground);margin-top:12px;margin-bottom:0}.start-btn-modern{width:100%;padding:20px var(--spacing-lg);border-radius:var(--radius-2xl);background:linear-gradient(135deg,#1e293b,#0f172a);color:var(--primary-foreground);border:none;font-size:var(--font-size);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #0003;display:flex;align-items:center;justify-content:center;gap:12px;font-family:inherit}.start-btn-modern:hover:not(:disabled){background:linear-gradient(135deg,#0f172a,#030213);box-shadow:0 12px 32px #0000004d;transform:translateY(-2px)}.start-btn-modern:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:20px}.btn-arrow{font-size:20px;transition:transform .3s ease}.start-btn-modern:hover:not(:disabled) .btn-arrow{transform:translate(4px)}.info-text-modern{margin-top:24px;text-align:center}.info-text-modern p{font-size:14px;color:var(--muted-foreground);margin:0}.error-box-modern{background:#fee2e2e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(239,68,68,.3);border-radius:16px;padding:16px 20px;margin-bottom:24px;color:#dc2626;width:100%;max-width:1024px}.error-box-modern h3{margin-bottom:6px;font-size:16px;font-weight:600}.error-box-modern p{margin:0;font-size:14px}@media (max-width: 1024px){.chat-layout{grid-template-columns:1fr;gap:16px}.plan-card{max-height:500px;position:relative;top:0}.container{padding:0 16px}}.plan-tabs{display:flex;gap:4px;padding:12px 16px;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.plan-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:all .2s ease}.plan-tab:hover{background:#fffc;border-color:#e2e8f0}.plan-tab.active{background:linear-gradient(to bottom right,#475569,#1e293b);border-color:#334155;box-shadow:0 2px 8px #00000026}.plan-tab-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:12px;font-weight:600;background:#e2e8f0;color:#475569;transition:all .2s ease}.plan-tab.active .plan-tab-number{background:#fff3;color:#fff}.plan-tab-name{font-size:11px;font-weight:500;color:#64748b;white-space:nowrap;transition:all .2s ease}.plan-tab.active .plan-tab-name{color:#fff}.plan-state-text.waiting,.plan-text.waiting{color:#94a3b8}.diagnosis-meta{border-top:1px solid #e2e8f0;background:linear-gradient(to bottom right,#f8fafc,#f1f5f9)}.diagnosis-header{padding:12px 16px;border-bottom:1px solid #e2e8f0}.diagnosis-title{font-size:14px;font-weight:600;color:#1e293b}.diagnosis-body{padding:16px;display:flex;flex-direction:column;gap:12px}.diagnosis-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.diagnosis-item.vertical{flex-direction:column;align-items:flex-start;gap:6px}.diagnosis-label{font-size:13px;font-weight:500;color:#64748b}.diagnosis-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.diagnosis-badge.high{background:#dcfce7;color:#166534}.diagnosis-badge.medium{background:#fef9c3;color:#854d0e}.diagnosis-badge.low{background:#fee2e2;color:#991b1b}.diagnosis-badge.yes{background:#dbeafe;color:#1e40af}.diagnosis-badge.no{background:#f1f5f9;color:#64748b}.diagnosis-text{font-size:13px;color:#334155;line-height:1.6;margin:0;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;width:100%}.diagnosis-questions{margin:0;padding:0;list-style:none;width:100%;display:flex;flex-direction:column;gap:8px}.diagnosis-questions li{font-size:13px;color:#334155;padding:10px 12px;background:linear-gradient(to right,#eff6ff,#f0f9ff);border-radius:8px;border:1px solid #bfdbfe;cursor:pointer;transition:all .2s}.diagnosis-questions li:hover{background:linear-gradient(to right,#dbeafe,#e0f2fe);border-color:#93c5fd}.diagnosis-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000001a;margin:0 16px;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.diagnosis-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#f8fafc,#f1f5f9);border-radius:12px 12px 0 0}.diagnosis-panel-title{font-size:14px;font-weight:600;color:#1e293b}.diagnosis-panel-close{background:none;border:none;font-size:16px;color:#64748b;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.diagnosis-panel-close:hover{background:#f1f5f9;color:#1e293b}.diagnosis-panel-body{padding:16px;display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.diagnosis-panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.diagnosis-panel-row.vertical{flex-direction:column;align-items:flex-start;gap:6px}.diagnosis-panel-label{font-size:13px;font-weight:500;color:#64748b}.diagnosis-panel-text{font-size:13px;color:#334155;line-height:1.5;margin:0;padding:8px 12px;background:#f8fafc;border-radius:6px;width:100%}.diagnosis-panel-reasoning{font-size:12px;color:#475569;line-height:1.6;margin:0;padding:10px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;width:100%;border-left:3px solid #f59e0b;white-space:pre-wrap;word-break:break-word}.diagnosis-panel-completion{font-size:12px;color:#166534;line-height:1.6;margin:0;padding:10px 12px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:8px;width:100%;border-left:3px solid #22c55e;font-weight:500}.diagnosis-panel-questions{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid #e2e8f0}.diagnosis-question-list{display:flex;flex-direction:column;gap:6px}.diagnosis-question-btn{width:100%;text-align:left;padding:10px 14px;background:linear-gradient(to right,#eff6ff,#f0f9ff);border:1px solid #bfdbfe;border-radius:8px;font-size:13px;color:#1e40af;cursor:pointer;transition:all .2s}.diagnosis-question-btn:hover{background:linear-gradient(to right,#dbeafe,#e0f2fe);border-color:#93c5fd;transform:translate(4px)}.diagnosis-question-btn.auto-sent{background:linear-gradient(to right,#f0fdf4,#ecfdf5);border-color:#86efac;opacity:.8;position:relative}.diagnosis-question-btn.auto-sent:hover{background:linear-gradient(to right,#dcfce7,#d1fae5);border-color:#4ade80;opacity:1}.auto-sent-badge{display:inline-block;padding:2px 8px;background:#22c55e;color:#fff;border-radius:12px;font-size:11px;font-weight:600;margin-bottom:6px}.question-meta{display:flex;gap:6px;margin-bottom:6px}.question-tag{font-size:10px;font-weight:600;padding:2px 6px;background:#1e40af;color:#fff;border-radius:4px}.question-item{font-size:10px;font-weight:500;padding:2px 6px;background:#e0e7ff;color:#3730a3;border-radius:4px}.question-text{font-size:13px;color:#1e40af;font-weight:500;line-height:1.4}.question-reason{font-size:11px;color:#64748b;margin-top:4px;font-style:italic}.updated-items-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.updated-item-tag{font-size:11px;font-weight:500;padding:4px 8px;background:linear-gradient(135deg,#dbeafe,#e0f2fe);color:#1e40af;border-radius:6px;border:1px solid #93c5fd}.sufficiency-grid{display:flex;flex-direction:column;gap:12px;margin-top:8px}.sufficiency-section{background:#f8fafccc;border-radius:8px;padding:10px;border:1px solid rgba(0,0,0,.05)}.sufficiency-section-title{font-size:12px;font-weight:600;color:#334155;margin-bottom:8px;display:block}.sufficiency-items{display:flex;flex-wrap:wrap;gap:6px}.sufficiency-item{display:flex;align-items:center;gap:4px;font-size:11px}.sufficiency-label{color:#64748b}.sufficiency-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600}.sufficiency-badge.sufficient{background:#dcfce7;color:#166534}.sufficiency-badge.partial{background:#fef9c3;color:#854d0e}.sufficiency-badge.none{background:#fee2e2;color:#991b1b}.plan-tab-sufficiency{display:flex;gap:4px;margin-left:6px}.suff-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700;color:#fff}.suff-dot.sufficient{background:#22c55e}.suff-dot.partial{background:#eab308}.suff-dot.none{background:#ef4444}.updated-badge{display:inline-flex;align-items:center;gap:2px;margin-left:8px;padding:2px 8px;background:linear-gradient(135deg,#dbeafe,#e0f2fe);color:#1e40af;font-size:11px;font-weight:600;border-radius:12px;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.suff-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;border-radius:4px}.suff-badge.sufficient{background:#dcfce7;color:#166534}.suff-badge.partial{background:#fef9c3;color:#854d0e}.suff-badge.none{background:#fee2e2;color:#991b1b}.plan-state-box.suff-충분{border-left:3px solid #22c55e}.plan-state-box.suff-부족{border-left:3px solid #eab308}.plan-state-box.suff-없음{border-left:3px solid #ef4444}.plan-item-title{display:flex;align-items:center;flex-wrap:wrap}.compact-list{display:flex;flex-direction:column;gap:8px}.compact-item{background:#ffffffe6;border-radius:10px;border:1px solid rgba(0,0,0,.08);overflow:hidden;transition:all .2s ease}.compact-item:hover{border-color:#00000026;box-shadow:0 2px 8px #0000000f}.compact-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(to right,#f8fafce6,#f1f5f9e6);border-bottom:1px solid rgba(0,0,0,.05)}.compact-status{font-size:14px;line-height:1}.compact-title{font-size:13px;font-weight:600;color:#1e293b;flex:1}.compact-updated{font-size:12px;animation:pulse-badge 2s ease-in-out infinite}.compact-content{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.compact-student,.compact-strategy{display:flex;gap:8px;font-size:12px;line-height:1.5}.compact-label{font-weight:600;color:#64748b;min-width:36px;flex-shrink:0}.compact-student .compact-label{color:#2563eb}.compact-strategy .compact-label{color:#059669}.compact-text{color:#334155;flex:1;word-break:break-word}.compact-strategy{padding-top:6px;border-top:1px dashed rgba(0,0,0,.08)}.compact-strategy .compact-text{color:#64748b;font-size:11px}.strategy-box{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:10px;margin-bottom:12px;overflow:hidden}.strategy-box-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(to right,#0ea5e91a,#38bdf81a);border-bottom:1px solid rgba(14,165,233,.2)}.strategy-box-icon{font-size:14px}.strategy-box-title{font-size:13px;font-weight:600;color:#0369a1}.strategy-box-content{padding:12px 14px}.strategy-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.strategy-steps li{font-size:12px;color:#334155;line-height:1.5}.strategy-steps li::marker{color:#0284c7;font-weight:600}.strategy-empty{font-size:12px;color:#94a3b8;font-style:italic}.diagnosis-toggle-btn{width:40px;height:40px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.diagnosis-toggle-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.diagnosis-toggle-btn.active{background:linear-gradient(to bottom right,#475569,#1e293b);border-color:#334155;color:#fff}.diagnosis-toggle-btn.has-data{border-color:#93c5fd;background:#eff6ff}.diagnosis-toggle-btn.has-data.active{background:linear-gradient(to bottom right,#475569,#1e293b)}.diagnosis-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.compact-error{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;margin-left:auto;flex-shrink:0}.compact-error.no-error{background:#dcfce7;color:#15803d;border:1px solid #86efac}.compact-error.error{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.compact-error.none{background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0}.compact-error.unknown{background:#e5e7eb;color:#6b7280;border:1px solid #d1d5db}.loading-indicator{display:flex;align-items:center;gap:10px}.loading-text{font-size:13px;color:var(--muted-foreground)}.saved-problems-section{width:100%;max-width:600px;background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 2px 8px #0000000a}.saved-problems-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;cursor:pointer;transition:background .2s ease}.saved-problems-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.saved-problems-title{display:flex;align-items:center;gap:10px}.saved-problems-title h2{margin:0;font-size:16px;font-weight:600;color:#1e293b}.problem-count{background:#3b82f6;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.collapse-icon{font-size:12px;color:#64748b;transition:transform .3s ease}.collapse-icon.open{transform:rotate(180deg)}.saved-problems-list{max-height:280px;overflow-y:auto}.saved-problem-item{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all .2s ease}.saved-problem-item:last-child{border-bottom:none}.saved-problem-item:hover{background:#f8fafc}.problem-item-icon{font-size:24px;flex-shrink:0}.problem-item-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.problem-item-title{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-item-date{font-size:12px;color:#94a3b8}.problem-item-actions{display:flex;gap:8px;flex-shrink:0}.problem-select-btn{padding:6px 14px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.problem-select-btn:hover{background:#2563eb;transform:translateY(-1px)}.problem-delete-btn{padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.problem-delete-btn:hover{background:#fef2f2;border-color:#fecaca}.section-divider{display:flex;align-items:center;width:100%;max-width:600px;margin:24px 0}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.section-divider span{padding:0 16px;font-size:13px;color:#94a3b8;white-space:nowrap}.problem-title-input-wrapper{width:100%;margin-bottom:16px}.problem-title-label{display:block;font-size:13px;font-weight:500;color:#64748b;margin-bottom:8px}.problem-title-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;background:#f8fafc;transition:all .2s ease;box-sizing:border-box}.problem-title-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.problem-title-input::placeholder{color:#94a3b8}.gold-model-selector{width:100%;margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;box-sizing:border-box}.gold-model-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#92400e;margin-bottom:10px}.gold-model-icon{font-size:18px}.gold-model-select{width:100%;padding:10px 14px;border:1px solid #f59e0b;border-radius:8px;font-size:14px;color:#78350f;background:#fff;cursor:pointer;transition:all .2s ease}.gold-model-select:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #f59e0b33}.gold-model-hint{margin-top:8px;font-size:12px;color:#a16207}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/math-ai-tutor/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/math-ai-tutor/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/math-ai-tutor/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/math-ai-tutor/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.student-problem-panel,.student-timeline-panel,.student-chat-panel{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e2e8f0;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;height:48px;box-sizing:border-box;min-width:0;overflow:hidden;position:relative}.right-panel-tabs{display:flex;gap:0}.right-panel-tab{padding:6px 12px;border:none;background:transparent;font-size:13px;font-weight:500;color:#94a3b8;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.right-panel-tab:hover{color:#334155}.right-panel-tab.active{color:#334155;border-bottom-color:#3b82f6}.panel-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.force-complete-area{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px 24px;margin-top:8px}.force-complete-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;animation:fadeInUp .15s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.force-complete-option-btn{padding:10px 20px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:24px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;box-shadow:0 1px 3px #0000000f}.force-complete-option-btn:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#dc2626}.force-complete-option-btn:disabled{opacity:.5;cursor:not-allowed}.teacher-msg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.teacher-msg-modal{position:relative;display:flex;flex-direction:column;gap:20px;width:520px;padding:32px 32px 28px;background:#fff;border-radius:20px;box-shadow:0 8px 40px #0000002e;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.teacher-msg-header{display:flex;align-items:center;gap:8px}.teacher-msg-header-spacer{width:36px;flex-shrink:0}.teacher-msg-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:10px;font-size:16px;color:#64748b;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.teacher-msg-back-btn:hover:not(:disabled){background:#e2e8f0;color:#334155}.teacher-msg-title{flex:1;text-align:center;font-size:16px;font-weight:700;color:#1e293b}.teacher-msg-subtitle{margin:0;font-size:13px;color:#94a3b8}.teacher-msg-hint{margin:4px 0 8px;font-size:12px;color:#b0b8c4;text-align:center}.teacher-msg-guide{margin:4px 0 0}.teacher-msg-guide p{margin:0;font-size:12px;color:#94a3b8;line-height:1.6}.teacher-msg-presets{display:flex;gap:12px}.teacher-msg-presets .teacher-msg-preset-btn{flex:1;min-width:0;overflow-wrap:anywhere}.teacher-msg-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.teacher-msg-modal-title{margin:0 0 4px;font-size:17px;font-weight:700;color:#1e293b;text-align:center}.teacher-intervention-text{font-size:15px;line-height:1.6;color:#333;white-space:pre-wrap;margin:0}.teacher-intervention-modal{position:relative;align-items:center;max-width:440px}.intervention-close-btn{position:absolute;top:16px;right:16px;width:28px;height:28px;border:none;background:none;font-size:20px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.intervention-close-btn:hover{background:#f1f5f9;color:#475569}.intervention-bubble{position:relative;width:100%;padding:16px 20px;background:#f1f5f9;border-radius:0 14px 14px}.intervention-bubble-tail{position:absolute;top:-8px;left:16px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #f1f5f9}.intervention-actions{display:flex;flex-direction:column;gap:8px;width:100%}.intervention-btn{display:block;width:100%;padding:14px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s}.intervention-btn.primary{background:#3b82f6;color:#fff}.intervention-btn.primary:hover{background:#2563eb}.intervention-btn.secondary{background:#f1f5f9;color:#64748b}.intervention-btn.secondary:hover{background:#e2e8f0}.teacher-msg-preset-btn{padding:20px 12px;background:#f8fafc;color:#374151;border:1.5px solid #e2e8f0;border-radius:14px;font-size:15px;font-weight:500;cursor:pointer;transition:all .15s;text-align:center;line-height:1.4;word-break:keep-all}.teacher-msg-preset-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.teacher-msg-preset-btn.selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.teacher-msg-preset-btn:disabled{opacity:.5;cursor:not-allowed}.teacher-msg-divider{display:flex;align-items:center;gap:12px;color:#cbd5e1;font-size:12px;letter-spacing:.03em}.teacher-msg-divider:before,.teacher-msg-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.teacher-msg-input{width:100%;padding:15px 16px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1e293b;outline:none;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.teacher-msg-input::placeholder{color:#cbd5e1}.teacher-msg-input:focus,.teacher-msg-input.active{border-color:#3b82f6}.teacher-msg-input:disabled{background:#f8fafc;color:#94a3b8}.teacher-msg-send-btn{width:100%;padding:17px;background:#3b82f6;color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;margin-top:4px}.teacher-msg-send-btn:hover:not(:disabled){background:#2563eb}.teacher-msg-send-btn:disabled{background:#93c5fd;cursor:not-allowed}.confirm-bubble-msg{margin-bottom:8px}.confirm-bubble-content{display:flex;flex-direction:column;gap:8px}.confirm-bubble-text{margin:0;font-size:14px;color:#1e293b;font-weight:500}.confirm-bubble-label{margin:0;font-size:13px;color:#475569;background:#f1f5f9;border-radius:6px;padding:4px 10px}.answer-correct{color:#16a34a}.answer-wrong{color:#dc2626}.confirm-bubble-reason{margin:0;font-size:13px;color:#64748b}.confirm-bubble-answer-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;outline:none;transition:border-color .15s;box-sizing:border-box}.confirm-bubble-answer-input:focus{border-color:#3b82f6}.confirm-bubble-actions{display:flex;gap:8px;margin-top:4px}.confirm-bubble-cancel-btn{padding:7px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#64748b;cursor:pointer;transition:all .15s}.confirm-bubble-cancel-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.confirm-bubble-confirm-btn{padding:7px 16px;background:#3b82f6;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s}.confirm-bubble-confirm-btn:hover:not(:disabled){background:#2563eb}.confirm-bubble-confirm-btn:disabled,.confirm-bubble-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.live-indicator.warning{background:#ef44441a;color:#ef4444}.live-indicator.warning .live-dot{animation:pulse 1s ease-in-out infinite}.live-indicator.warning .last-updated{color:#fca5a5}.panel-content{flex:1;overflow-y:auto;padding:16px;min-width:0;width:100%;box-sizing:border-box}.student-problem-panel{min-width:0!important;max-width:600px;flex:0 0 auto;overflow:hidden}.student-problem-panel *{min-width:0}.student-timeline-panel{min-width:0!important;max-width:500px;flex:0 0 auto;overflow:hidden}.student-timeline-panel *{min-width:0}.panel-header-mobile-clickable .panel-collapse-icon{display:none}@media (max-width: 640px){.panel-header-mobile-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.panel-header-mobile-clickable:active{background:#e2e8f0}.panel-header-mobile-clickable .panel-collapse-icon{display:block;color:#64748b;transition:transform .2s ease}.panel-header-mobile-clickable .panel-collapse-icon.collapsed{transform:rotate(-90deg)}}.panel-toggle-btn{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:#94a3b8;cursor:pointer;padding:0;z-index:1;transition:background .15s,color .15s}.student-problem-panel .panel-toggle-btn{right:8px}.student-timeline-panel .panel-toggle-btn{left:8px}.student-timeline-panel .panel-header{justify-content:center}.panel-toggle-btn:hover{background:#f1f5f9;color:#475569}@media (min-width: 641px){.student-problem-panel.collapsed{width:40px!important;min-width:40px!important;max-width:40px!important;flex:0 0 40px!important}.student-problem-panel.collapsed .panel-header{justify-content:center;overflow:visible}.student-problem-panel.collapsed .panel-title,.student-problem-panel.collapsed .panel-content{display:none}.student-problem-panel.collapsed .panel-toggle-btn{position:static;transform:none;flex-shrink:0}.student-timeline-panel.collapsed{width:40px!important;min-width:40px!important;max-width:40px!important;flex:0 0 40px!important}.student-timeline-panel.collapsed .panel-header{justify-content:center;overflow:visible}.student-timeline-panel.collapsed .panel-content{display:none}.student-timeline-panel.collapsed .panel-toggle-btn{position:static;transform:none;flex-shrink:0}.student-problem-panel.collapsed+.panel-divider,.panel-divider:has(+.student-timeline-panel.collapsed){display:none}}.panel-divider{width:6px;cursor:col-resize;background:transparent;position:relative;flex-shrink:0}.panel-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:#e2e8f0;border-radius:2px;transition:background .2s,height .2s}.panel-divider:hover:after,.student-layout.dragging .panel-divider:after{background:#94a3b8;height:60px}.student-layout.dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.problem-choice-image-container{margin-top:12px;margin-bottom:16px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.problem-subquestion{font-size:15px;line-height:1.55;color:#0f172a;font-weight:600;margin-bottom:12px;word-break:keep-all}.problem-text{font-size:14px;line-height:1.6;color:#334155;margin-top:4px;margin-bottom:16px;overflow:hidden}.student-chat-panel{flex:1;min-width:200px;min-height:0;height:100%}.chat-messages-student{flex:1;overflow-y:auto;min-height:0;padding:16px;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}.chat-msg{display:flex;flex-direction:column;max-width:60%!important}.chat-msg.chat-msg-tool{width:100%}.chat-msg.chat-msg-tool .msg-content{width:100%;box-sizing:border-box}.survey-response-bubble{display:flex;flex-direction:column;gap:6px}.survey-response-label{display:inline-block;font-size:11px;font-weight:600;background:#fff3;padding:2px 8px;border-radius:4px;width:fit-content}.survey-response-answers{display:flex;flex-direction:column;gap:2px}.survey-response-item{font-size:16px;line-height:1.5}.chat-msg .markdown-block p{margin:0 0 8px}.chat-msg .markdown-block p:last-child{margin-bottom:0}.chat-msg.tutor .markdown-block blockquote,.chat-msg.assistant .markdown-block blockquote{all:unset!important;display:block!important;margin:8px 0!important;padding:8px 12px!important;background:#ffffff80!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:8px!important;font-size:14px!important;font-style:normal!important;color:#475569!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.chat-msg.tutor .markdown-block blockquote p,.chat-msg.assistant .markdown-block blockquote p{margin:0!important;font-size:14px!important;line-height:1.5!important}.loading-message{color:#64748b;font-size:14px;animation:loading-fade-in .3s ease-out,loading-pulse 2s ease-in-out .3s infinite}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.5}}.sse-progress-steps{display:flex;flex-direction:column;gap:8px}.sse-step{display:flex;align-items:center;gap:8px;font-size:13px;animation:loading-fade-in .3s ease-out}.sse-step.done{color:#94a3b8}.sse-step.active{color:#475569}.sse-step-check{color:#22c55e;font-size:12px;font-weight:600;flex-shrink:0;width:16px;text-align:center}.sse-step-spinner{width:14px;height:14px;border:2px solid #e2e8f0;border-top-color:#4263eb;border-radius:50%;flex-shrink:0;animation:sse-spin .8s linear infinite}.sse-step-text{line-height:1.4}@keyframes sse-spin{to{transform:rotate(360deg)}}.tool-progress-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0f4ff;border:1px solid #dbe4ff;border-radius:10px;animation:loading-fade-in .3s ease-out}.tool-progress-icon{font-size:20px;flex-shrink:0}.tool-progress-body{flex:1;min-width:0}.tool-progress-text{font-size:13px;font-weight:500;color:#4263eb;display:block;margin-bottom:6px}.tool-progress-bar{height:3px;background:#dbe4ff;border-radius:2px;overflow:hidden}.tool-progress-bar-fill{height:100%;width:40%;background:#4263eb;border-radius:2px;animation:tool-progress-slide 1.5s ease-in-out infinite}@keyframes tool-progress-slide{0%{transform:translate(-100%);width:40%}50%{transform:translate(80%);width:60%}to{transform:translate(250%);width:40%}}.input-row{display:flex;align-items:center;gap:4px;padding:4px;background:#fff;border:1px solid #e2e8f0;border-radius:28px;min-height:48px}.input-row.complete{background:#f1f5f9;border-color:#e2e8f0;padding:12px 20px;justify-content:center;align-items:center;min-height:48px}.input-row.complete .complete-message{color:#64748b;font-size:13px;font-weight:500;text-align:center}.attach-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;background-color:#f1f5f9;border:none;border-radius:50%!important;cursor:pointer;font-size:0;transition:background-color .2s;flex-shrink:0;margin-left:4px;background-image:url(/math-ai-tutor/icons/image_upload.png);background-repeat:no-repeat;background-position:center;background-size:60% 60%}.input-row textarea,.input-row .latex-input-textarea,.input-row .latex-input-preview{flex:1;padding:8px 12px;border:none!important;background:transparent!important;font-size:14px;font-family:inherit;outline:none;resize:none;min-height:36px;height:auto;max-height:100px;line-height:1.4;overflow-y:auto;box-shadow:none!important}.input-row .latex-input-container{min-height:36px;display:flex;align-items:center}@supports (-webkit-touch-callout: none){.input-row textarea,.input-row .latex-input-textarea{font-size:16px}}.input-row textarea:focus,.input-row .latex-input-textarea:focus,.input-row .latex-input-preview:focus{outline:none;border:none!important;box-shadow:none!important}.input-row textarea:disabled,.input-row .latex-input-textarea:disabled{background:transparent!important;color:#94a3b8;cursor:not-allowed}.input-row .send-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px;padding:0;background:#3b82f6;color:#fff;border:none;border-radius:50%!important;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.input-row .send-btn:hover:not(:disabled){background:#2563eb}.input-row .send-btn:disabled{background:#cbd5e1;cursor:not-allowed}@media (max-width: 1024px){.student-chat-panel{flex:1}}@media (max-width: 768px){.student-timeline-panel{display:none}}.student-page .input-row.recording{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 12px}.student-page .recording-waveform-container{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.student-page .recording-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:rec-blink 1s ease-in-out infinite;flex-shrink:0}.student-page .stop-recording-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px;border:none;background:#22c55e;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%!important;flex-shrink:0}.student-page .stop-recording-btn:hover{background:#16a34a}.student-page .cancel-recording-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px;border:none;background:#f1f5f9;color:#94a3b8;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%!important;flex-shrink:0}.student-page .cancel-recording-btn:hover{background:#e2e8f0;color:#64748b}.student-page .input-row.transcribing{display:flex;align-items:center;justify-content:center;padding:4px 16px}.student-page .transcribing-text{font-size:14px;color:#64748b;font-weight:500;animation:transcribing-fade .3s ease-out}@keyframes transcribing-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.2}}.voice-preview-card{background:#f3f4f6;border-radius:8px;padding:12px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.voice-preview-card .voice-preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voice-preview-card .preview-audio{flex:1;min-width:180px;height:32px}.voice-preview-card .preview-warning{padding:8px;background:#fef3c7;border-radius:4px;font-size:13px;color:#92400e}.voice-preview-card .preview-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex-shrink:0}.preview-btn{flex:0 0 auto;padding:8px 10px;border-radius:6px;font-size:13px;border:none;cursor:pointer;transition:all .2s;font-weight:500;white-space:nowrap}.preview-btn.primary{background:#4a9eff;color:#fff}.preview-btn.primary:hover{background:#3d8be0}.preview-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.preview-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.voice-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%!important;cursor:pointer;transition:all .2s;flex-shrink:0;background-image:url(/math-ai-tutor/icons/voice_upload.png);background-repeat:no-repeat;background-position:center;background-size:80% 80%}.voice-btn:hover:not(:disabled){background-color:#e2e8f0}.voice-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.panel-toggle-btn{display:none}.student-layout{flex-direction:column;overflow:visible;min-height:0}.panel-divider{display:none}.student-problem-panel{width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;border-right:none;border-bottom:1px solid #e2e8f0;flex-shrink:1!important}.student-problem-panel.collapsed{flex:0 0 48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;overflow:hidden!important}.student-problem-panel.collapsed .panel-content{display:none!important}.student-problem-panel:not(.collapsed){flex:0 0 auto!important}.student-problem-panel:not(.collapsed) .panel-content{max-height:35vh;overflow-y:auto}.student-chat-panel{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.chat-messages-student{flex:1;min-height:0;overflow-y:auto}.chat-msg{max-width:85%!important}.chat-input-student{flex-shrink:0}.student-page .recording-controls{flex-direction:column;gap:12px}.student-page .recording-controls .stop-btn{width:100%;min-height:56px;font-size:16px}.student-page .recording-controls .cancel-btn{width:100%}.preview-actions{flex-direction:column}.preview-btn{width:100%}.input-row{gap:4px;padding:4px}.voice-btn,.input-row .send-btn,.attach-btn{width:40px;height:40px}}.teacher-terminate-toast{position:fixed;top:0;left:0;right:0;z-index:999;padding:24px 24px 0;pointer-events:none;animation:slideDownToast .6s cubic-bezier(.16,1,.3,1)}@keyframes slideDownToast{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.teacher-terminate-toast-content{pointer-events:auto;max-width:480px;margin:0 auto;padding:24px 28px;background:#fff;border-radius:20px;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;gap:16px}.teacher-terminate-toast-title{margin:0;font-size:16px;font-weight:700;color:#1e293b;text-align:center}.teacher-terminate-toast-msg{margin:0;padding:12px 16px;background:#f1f5f9;border-radius:0 12px 12px;font-size:14px;color:#334155;line-height:1.6;word-break:keep-all}.teacher-terminate-toast-actions{display:flex;flex-direction:column;gap:8px}.teacher-terminate-toast-btn{display:block;width:100%;padding:14px;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;transition:background .15s}.teacher-terminate-toast-btn.primary{background:#3b82f6;color:#fff}.teacher-terminate-toast-btn.primary:hover{background:#2563eb}.teacher-terminate-toast-btn.secondary{background:#f1f5f9;color:#64748b}.teacher-terminate-toast-btn.secondary:hover{background:#e2e8f0}.latex-input-container{position:relative;width:100%;flex:1;min-height:40px}.latex-input-container.mode-edit{display:flex;align-items:flex-end}.latex-input-container.mode-edit .latex-input-textarea{flex:1}.latex-input-container.disabled{opacity:.6;pointer-events:none}.latex-edit-button{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:10;padding:2px 6px;font-size:10px;font-weight:500;color:#666;background:#f5f5f5;border:1px solid #ddd;border-radius:3px;cursor:pointer;transition:all .15s ease}.latex-edit-button:hover{background:#eee;border-color:#ccc;color:#333}.latex-edit-button.editing{background:#e3f2fd;border-color:#90caf9;color:#1976d2}.latex-edit-button:disabled{cursor:not-allowed;opacity:.5}.latex-input-textarea{width:100%;min-height:40px;max-height:120px;padding:9px 16px;font-family:inherit;font-size:14px;line-height:1.4;color:#333;background:#fff;border:1px solid #e2e8f0;border-radius:8px;resize:none;overflow-y:auto;transition:border-color .15s ease;box-sizing:border-box}.latex-input-container.has-latex .latex-input-textarea{padding-right:60px}.latex-input-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.latex-input-textarea::placeholder{color:#9ca3af}.latex-input-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.latex-input-preview{min-height:40px;max-height:120px;padding:9px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:text;transition:all .15s ease;box-sizing:border-box;overflow-y:auto}.latex-input-container.has-latex .latex-input-preview{padding-right:60px}.latex-input-preview:hover{background:#fff;border-color:#cbd5e1}.latex-input-preview:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.latex-input-preview .markdown-latex-content{font-size:13px;line-height:1.4}.latex-input-preview .markdown-latex-content p{margin:0}.latex-input-preview .katex{font-size:1.1em}.latex-input-preview .katex-error{color:#dc2626;background:#fef2f2;padding:2px 4px;border-radius:2px;font-family:monospace;font-size:11px}.experiment-column .latex-input-textarea,.experiment-column .latex-input-preview{min-height:34px;max-height:140px;padding:8px 10px;border-radius:6px;border-color:#e5e7eb;font-size:13px}.experiment-column .latex-input-container{min-height:34px}.experiment-column .latex-input-container.has-latex .latex-input-textarea,.experiment-column .latex-input-container.has-latex .latex-input-preview{padding-right:56px}.experiment-column .latex-edit-button{right:8px;font-size:10px}@supports (-webkit-touch-callout: none){.latex-input-textarea{font-size:16px}}.timeline-item{display:flex;gap:12px;padding:10px 8px;border-radius:10px;transition:background-color .2s;position:relative;overflow:visible;animation:timeline-fade-in .3s ease-out}@keyframes timeline-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.timeline-item:hover{background-color:#f8fafc}.item-indicator{display:flex;flex-direction:column;align-items:center;min-width:32px;position:relative}.result-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;border:2.5px solid;flex-shrink:0;background:#fff;box-shadow:0 1px 3px #0000001a;position:relative;z-index:1}.item-line{display:none}.timeline-item:after{content:"";position:absolute;width:2px;background:#d1d5db;left:24px;top:38px;bottom:-10px}.timeline-item.last:after{display:none}.item-content{flex:1;min-width:0}.item-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.topic-icon{font-size:14px}.topic-name{font-size:13px;font-weight:600;color:#334155}.topic-detail{font-size:12px;color:#64748b;margin-bottom:2px}.item-note{font-size:11px;color:#94a3b8;font-style:italic}.learning-timeline{display:flex;flex-direction:column;gap:0;padding:8px 12px;height:100%;overflow-y:auto}.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center;padding:24px}.timeline-empty p{margin:4px 0}.timeline-empty .hint{font-size:12px;color:#cbd5e1}.timeline-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#64748b;font-size:13px}.timeline-loading .loading-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:report-fade-in .2s ease-out}@keyframes report-fade-in{0%{opacity:0}to{opacity:1}}.report-modal-content{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #0000001f;animation:report-scale-in .2s ease-out}@keyframes report-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.report-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#64748b;font-size:24px;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:10}.report-modal-close:hover{background:#0000000d;color:#334155}.report-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#64748b}.report-loading-spinner{width:32px;height:32px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.report-loading p{font-size:14px;margin:0}.report-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 20px}.report-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.report-section:last-of-type{border-bottom:none}.section-title{font-size:12px;font-weight:600;color:#64748b;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.report-summary{text-align:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.summary-result{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.result-icon{font-size:20px}.result-label{font-size:15px;font-weight:600;color:#1e293b}.result-turns{font-size:12px;color:#94a3b8}.summary-insight{font-size:14px;color:#475569;margin:0;line-height:1.5}.journey-list{display:flex;flex-direction:column;gap:10px}.journey-item{background:#f8fafc;border-radius:6px;padding:12px;border:1px solid #e2e8f0}.journey-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.journey-label{font-size:12px;font-weight:600;color:#334155}.journey-progress{display:flex;align-items:center;gap:6px}.journey-level{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.level-sufficient{background:#dcfce7;color:#166534}.level-partial{background:#fef3c7;color:#92400e}.level-none{background:#f1f5f9;color:#64748b}.journey-arrow{color:#94a3b8;font-size:11px}.journey-note{font-size:14px;color:#64748b;margin:8px 0 0;line-height:1.5}.report-list{list-style:none;padding:0;margin:0}.report-list li{font-size:14px;color:#475569;padding:4px 0 4px 12px;position:relative;line-height:1.5}.report-list li:before{content:"-";position:absolute;left:0;color:#64748b}.report-notes{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.report-note{padding:12px;border-radius:6px;border:1px solid}.report-note h4{font-size:12px;font-weight:600;margin:0 0 6px}.report-note p{font-size:14px;margin:0;line-height:1.5}.teacher-note{background:#faf5ff;border-color:#e9d5ff}.teacher-note h4{color:#7c3aed}.teacher-note p{color:#6b21a8}.student-note{background:#eff6ff;border-color:#bfdbfe}.student-note h4{color:#2563eb}.student-note p{color:#1e40af}.report-confirm-btn{width:100%;padding:12px;background:#3b82f6;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.report-confirm-btn:hover{background:#2563eb}.report-modal-content::-webkit-scrollbar{width:6px}.report-modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.report-modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.report-modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.highlight-description{font-size:15px;color:#334155;line-height:1.6;margin:0;text-align:left}.recommended-comment{background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #fde047;border-radius:8px;padding:14px;display:flex;align-items:flex-start;gap:12px}.recommended-comment-text{flex:1;font-size:14px;color:#713f12;margin:0;line-height:1.6}.copy-btn{flex-shrink:0;padding:6px 12px;background:#fbbf24;border:none;border-radius:6px;color:#78350f;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.copy-btn:hover{background:#f59e0b}.copy-btn:active{transform:scale(.95)}.recommended-next{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;padding:14px}.recommended-topic{font-size:14px;color:#0c4a6e;margin:0 0 6px}.recommended-topic strong{font-weight:600}.recommended-reason{font-size:12px;color:#0369a1;margin:0;line-height:1.5}.report-cta-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);font-size:15px;padding:14px;box-shadow:0 2px 8px #3b82f64d}.report-cta-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666}.student-view-v2{text-align:center}.student-view-v2 .report-section{text-align:left}.result-hero{padding:20px 16px 12px;margin-bottom:16px;background:transparent;border:none;border-radius:12px}.result-hero.result-success{background:transparent;border:none}.result-label-large{font-size:24px;font-weight:700;color:#0f172a;margin-bottom:0}.result-success .result-label-large{color:#0f172a}.result-character{width:120px;height:auto;margin:0 auto;display:block}.highlight-title{font-size:14px;text-transform:none;letter-spacing:0;color:#0f172a;font-weight:600;margin-bottom:10px;text-align:left}.encouragement-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.encouragement-box p{font-size:14px;color:#334155;margin:0;line-height:1.6}@keyframes pop-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes slide-in{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-in-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.anim-pop{animation:pop-in .5s cubic-bezier(.68,-.55,.265,1.55) forwards}.anim-slide-in{animation:slide-in .4s ease-out .3s forwards;opacity:0}.anim-fade-in{animation:fade-in-up .4s ease-out .5s forwards;opacity:0}.anim-pulse{animation:pulse 2s ease-in-out .7s infinite}.journey-summary-bar{display:flex;justify-content:space-between;gap:8px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px}.journey-summary-item{flex:1;text-align:center}.journey-summary-label{display:block;font-size:11px;color:#64748b;margin-bottom:6px}.journey-summary-dots{display:flex;justify-content:center;gap:4px}.journey-summary-dots .dot{width:12px;height:12px;border-radius:50%;display:inline-block}.journey-summary-dots .dot.level-sufficient{background:#22c55e}.journey-summary-dots .dot.level-partial{background:#f59e0b}.journey-summary-dots .dot.level-none{background:#cbd5e1}.gt-journey-list{display:flex;flex-direction:column;gap:8px}.gt-journey-item{display:flex;flex-direction:column;padding:10px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.gt-journey-header{display:flex;align-items:flex-start;gap:10px}.gt-step-number{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;border-radius:50%;font-size:12px;font-weight:600}.gt-step-content{flex:1;font-size:14px;color:#334155;line-height:1.5}.gt-status-icon{flex-shrink:0;font-size:16px}.gt-journey-note{margin:6px 0 0 32px;font-size:12px;color:#64748b;line-height:1.4}.gt-journey-item.gt-status-self{border-color:#bbf7d0;background:#f0fdf4}.gt-journey-item.gt-status-self .gt-step-number{background:#22c55e;color:#fff}.gt-journey-item.gt-status-hint{border-color:#fde68a;background:#fefce8}.gt-journey-item.gt-status-hint .gt-step-number{background:#f59e0b;color:#fff}.gt-journey-item.gt-status-error{border-color:#fed7aa;background:#fff7ed}.gt-journey-item.gt-status-error .gt-step-number{background:#f97316;color:#fff}.gt-journey-item.gt-status-guided{border-color:#c7d2fe;background:#eef2ff}.gt-journey-item.gt-status-guided .gt-step-number{background:#6366f1;color:#fff}.gt-journey-item.gt-status-skipped{border-color:#e2e8f0;background:#f8fafc;opacity:.7}.gt-journey-item.gt-status-skipped .gt-step-number{background:#94a3b8;color:#fff}.next-action-section{background:#f8fafc;border-radius:8px;padding:14px;border:1px solid #e2e8f0}.next-action-section .section-title{margin-bottom:12px}.action-item{padding:10px 0;border-bottom:1px dashed #e2e8f0}.action-item:last-child{border-bottom:none;padding-bottom:0}.action-item:first-of-type{padding-top:0}.action-label{display:block;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.action-content{font-size:14px;color:#334155;margin:0;line-height:1.5}.action-content strong{font-weight:600;color:#1e293b}.action-reason{display:block;color:#64748b;font-size:12px;margin-top:4px}.detail-section{border-bottom:none}.detail-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#475569;transition:all .15s}.detail-toggle:hover{background:#e2e8f0}.toggle-icon{font-size:10px;transition:transform .2s}.toggle-icon.open{transform:rotate(180deg)}.detail-content{margin-top:12px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.detail-item{margin-bottom:16px}.detail-item:last-child{margin-bottom:0}.detail-subtitle{font-size:12px;font-weight:600;color:#64748b;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.report-modal-content:has(.teacher-view-cards){max-width:95%;width:1100px}.teacher-view-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.teacher-view-cards .report-title,.teacher-view-cards .report-card:first-of-type,.teacher-view-cards .report-card:has(.journey-list),.teacher-view-cards .report-confirm-btn{grid-column:1 / -1}@media (max-width: 900px){.report-modal-content:has(.teacher-view-cards){width:90%;max-width:700px}.teacher-view-cards{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.report-modal-content:has(.teacher-view-cards){width:90%;max-width:480px}.teacher-view-cards{grid-template-columns:1fr}}.teacher-view-cards .report-title{margin-bottom:8px}.report-card{padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000a}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.card-title{font-size:15px;font-weight:600;color:#1e293b;flex:1}.card-header .result-label{font-size:15px;font-weight:600;color:#1e293b}.card-header .result-turns{font-size:12px;color:#64748b;margin-left:auto}.copy-btn-inline{padding:4px 10px;background:#3b82f6;border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.copy-btn-inline:hover{background:#2563eb}.comment-text{font-size:14px;color:#334155;line-height:1.6;margin:0;flex:1}.comment-options{display:flex;flex-direction:column;gap:10px;margin-top:4px}.comment-option{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s}.comment-option:hover{border-color:#cbd5e1;background:#f1f5f9}.comment-option:active{background:#e2e8f0}.comment-option-header{display:flex;justify-content:space-between;align-items:center}.comment-label{font-size:12px;font-weight:600;color:#475569}.copy-btn-small{flex-shrink:0;padding:4px 10px;background:#3b82f6;border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.copy-btn-small:hover{background:#2563eb}.feedback-section{margin-bottom:12px}.feedback-section:last-child{margin-bottom:0}.feedback-subtitle{font-size:12px;font-weight:500;color:#475569;margin:0 0 6px}.report-card .action-item{padding:8px 0;border-bottom:1px dashed #e2e8f0}.report-card .action-item:last-child{border-bottom:none;padding-bottom:0}.report-card .action-item:first-child{padding-top:0}.card-options{display:flex;flex-direction:column;gap:10px;margin-top:4px}.card-option{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.card-option-label{font-size:12px;font-weight:600;color:#475569}.card-option-text{font-size:14px;color:#334155;line-height:1.6;margin:0}.card-option-text strong{font-weight:600;color:#1e293b}.card-option-sub{display:block;font-size:12px;color:#64748b;margin-top:4px}.card-option .report-list{margin:0}.teacher-view-cards .report-confirm-btn{margin-top:4px}.prefill-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.prefill-modal-content{background:#fff;border-radius:12px;padding:24px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 12px 36px #0000002e}.prefill-modal-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#111}.prefill-modal-subtitle{margin:0 0 16px;font-size:14px;color:#555;line-height:1.5}.prefill-modal-photos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:#f6f7f9;border-radius:8px}.prefill-modal-photo{max-width:100%;max-height:280px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid #e5e7eb}.prefill-modal-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#333}.prefill-modal-textarea{width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;line-height:1.5;border:1px solid #d1d5db;border-radius:8px;resize:vertical;font-family:inherit;outline:none;transition:border-color .15s}.prefill-modal-textarea:focus{border-color:#3b82f6}.prefill-modal-textarea:disabled{background:#f3f4f6;cursor:not-allowed}.prefill-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.prefill-modal-btn{padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;border:none;transition:background .15s}.prefill-modal-btn:disabled{cursor:not-allowed;opacity:.5}.prefill-modal-btn--secondary{background:#f3f4f6;color:#374151}.prefill-modal-btn--secondary:hover:not(:disabled){background:#e5e7eb}.prefill-modal-btn--primary{background:#3b82f6;color:#fff}.prefill-modal-btn--primary:hover:not(:disabled){background:#2563eb}.update-notification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:un-fade-in .25s ease-out;padding:20px}@keyframes un-fade-in{0%{opacity:0}to{opacity:1}}.update-notification-content{background:#fff;border-radius:24px;padding:90px 32px 32px;max-width:400px;width:100%;position:relative;box-shadow:0 4px 6px -1px #0000000d,0 20px 50px -12px #00000026;animation:un-scale-in .3s cubic-bezier(.16,1,.3,1);overflow:visible;text-align:center}@keyframes un-scale-in{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.update-notification-character{position:absolute;top:-70px;left:50%;transform:translate(-50%);z-index:10}.update-notification-character img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.12))}.update-notification-close{position:absolute;top:20px;right:20px;background:#f1f5f9;border:none;color:#94a3b8;font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.update-notification-close:hover{background:#e2e8f0;color:#64748b;transform:scale(1.05)}.update-notification-title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 12px;line-height:1.3;letter-spacing:-.02em;word-break:keep-all}.update-notification-message{font-size:15px;color:#333a3e;line-height:1.7;margin-bottom:24px;text-align:center}.update-notification-message p{margin:0 0 6px;word-break:keep-all;color:inherit}.update-notification-message p:last-child{margin-bottom:0}.update-notification-message strong{color:#334155;font-weight:600}.update-notification-tips{background:#f8fafc;border-radius:16px;padding:16px 20px;margin-bottom:24px;text-align:left}.update-notification-tips .tips-label{font-size:11px;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.update-notification-tips .tips-content{font-size:14px;color:#475569;line-height:1.6}.update-notification-tips .tips-content p{margin:0 0 6px}.update-notification-tips .tips-content p:last-child{margin-bottom:0}.update-notification-actions{display:flex;gap:12px}.update-notification-btn{flex:1;padding:14px 20px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.update-notification-btn.dismiss{background:#f1f5f9;color:#64748b}.update-notification-btn.dismiss:hover{background:#e2e8f0;color:#475569}.update-notification-btn.close{background:#3b82f6;color:#fff}.update-notification-btn.close:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.update-notification-btn.close:active{transform:translateY(0)}@media (max-width: 480px){.update-notification-overlay{padding:16px}.update-notification-content{padding:80px 24px 28px;border-radius:20px}.update-notification-character{top:-55px}.update-notification-character img{width:110px;height:110px}.update-notification-title{font-size:20px}.update-notification-actions{flex-direction:column;gap:10px}.update-notification-btn{padding:16px 20px}}.gold-thinking-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:1000}.loader-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:440px;width:100%;padding:2rem;text-align:center}.loader-header{display:flex;flex-direction:column;gap:.375rem}.loader-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.loader-subtitle{font-size:.875rem;color:#6b7280;margin:0}.loader-progress-container{width:100%;display:flex;flex-direction:column;gap:.5rem}.loader-progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.loader-progress-fill{height:100%;background:#82d99e;border-radius:3px;transition:width .15s ease-out}.loader-progress-info{display:flex;justify-content:space-between;align-items:center}.loader-progress-text{font-size:.75rem;color:#6b7280;font-weight:500;font-variant-numeric:tabular-nums}.loader-status-message{font-size:.75rem;color:#82d99e;font-weight:500;animation:fadeIn .3s ease-out}.loader-character{width:160px;height:160px;display:flex;align-items:center;justify-content:center}.loader-character img{width:100%;height:100%;object-fit:contain}.loader-quote{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;background:#f9fafb;border-radius:12px;width:100%;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quote-text{font-size:.9375rem;color:#374151;line-height:1.6;margin:0}.quote-source{font-size:.8125rem;color:#9ca3af;font-weight:500}@media (max-width: 640px){.loader-content{padding:1.5rem;gap:1.25rem}.loader-title{font-size:1rem}.loader-character{width:120px;height:120px}.quote-text{font-size:.875rem}}.tool-result-container{margin-top:12px;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff}.tool-result-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.tool-result-icon{font-size:16px}.tool-result-name{font-size:13px;font-weight:600;color:#333}.tool-result-summary{font-size:12px;color:#666}.tool-result-minimal{border:none;background:transparent}.tool-result-header-minimal{padding:8px 0;background:transparent;border-bottom:none}.tool-result-header-minimal .tool-result-name{font-size:12px;font-weight:500;color:#666}.tool-result-links{display:flex;flex-direction:column}.tool-link-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;text-decoration:none;color:inherit;transition:background-color .15s ease;border-bottom:1px solid #f0f0f0}.tool-link-card:last-child{border-bottom:none}.tool-link-card:hover{background-color:#f5f7fa}.tool-link-thumbnail{width:64px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.tool-link-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f0f2f5;border-radius:8px;flex-shrink:0;color:#666}.tool-link-content{flex:1;min-width:0}.tool-link-title{font-size:14px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-link-description{font-size:12px;color:#666;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-link-external{flex-shrink:0;color:#999;margin-top:2px}.tool-result-images{padding:12px}.tool-result-minimal .tool-result-images{padding:0}.tool-result-images.single{display:flex;justify-content:flex-start}.tool-result-images.single .tool-image-item{max-width:280px}.tool-result-images.grid{display:flex;gap:8px;flex-wrap:wrap}.tool-result-images.grid .tool-image-item{width:calc(50% - 4px);max-width:160px}.tool-image-item{cursor:pointer;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;transition:border-color .15s ease,box-shadow .15s ease}.tool-image-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.tool-image{width:100%;height:auto;display:block}.tool-image-caption{font-size:11px;color:#666;text-align:center;padding:4px;background:#f8f9fa}.tool-image-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.tool-image-modal-content{position:relative;max-width:90vw;max-height:90vh}.tool-image-modal-content img{max-width:100%;max-height:85vh;object-fit:contain}.tool-image-modal-caption{text-align:center;color:#fff;margin-top:8px;font-size:14px}.tool-image-modal-close{position:absolute;top:-50px;right:-10px;background:none;border:none;color:#fffc;font-size:28px;cursor:pointer;padding:8px;line-height:1;transition:color .15s}.tool-image-modal-close:hover{color:#fff}.tool-image-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;transition:background .2s;z-index:10;padding:0}.tool-image-nav svg{display:block}.tool-image-nav:hover{background:#fff}.tool-image-nav-prev{left:-70px}.tool-image-nav-next{right:-70px}.tool-image-indicator{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fffc;font-size:13px;font-weight:500}.tool-result-text{padding:12px 14px;font-size:14px;line-height:1.6;color:#333}.tool-result-card{display:flex;gap:12px;padding:12px 14px}.tool-card-image{width:80px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0}.tool-card-body{flex:1;min-width:0}.tool-card-title{font-size:14px;font-weight:600;color:#1a1a1a}.tool-card-subtitle{font-size:12px;color:#666;margin-top:2px}.tool-card-description{font-size:13px;color:#444;margin-top:6px;line-height:1.5}.tool-card-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tool-card-link{font-size:12px;color:#4285f4;text-decoration:none}.tool-card-link:hover{text-decoration:underline}.tool-result-skeleton{margin-top:12px;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.tool-skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.tool-skeleton-message{padding:8px 14px 12px;font-size:12px;color:#888;text-align:center}.diagnosis-skeleton-message{padding:12px 14px;background:#f0f7ff;border-bottom:1px solid #e0e0e0}.diagnosis-skeleton-question{padding:14px}.diagnosis-skeleton-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.diagnosis-skeleton-options{display:flex;flex-direction:column;gap:6px}.diagnosis-skeleton-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px}.diagnosis-skeleton-radio{width:18px;height:18px;border-radius:50%;border:2px solid #e5e7eb;flex-shrink:0;background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.diagnosis-skeleton-dots{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px 0}.diagnosis-skeleton-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb}.diagnosis-skeleton-dot.active{width:24px;border-radius:4px;background:linear-gradient(90deg,#93c5fd 25%,#bfdbfe,#93c5fd 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.diagnosis-skeleton-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid #f0f0f0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.diagnosis-quiz{margin-top:12px;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff}.diagnosis-quiz-message{padding:12px 14px;background:#f0f7ff;border-bottom:1px solid #e0e0e0;font-size:14px;color:#1a56db;font-weight:500;line-height:1.5}.diagnosis-progress-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px 0}.diagnosis-progress-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .2s ease}.diagnosis-progress-dot.active{width:24px;border-radius:4px;background:#3b82f6}.diagnosis-progress-dot.answered:not(.active){background:#93c5fd}.diagnosis-progress-dot.done:not(.active){background:#93c5fd}.diagnosis-question{padding:14px}.diagnosis-question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.diagnosis-question-label{font-size:12px;font-weight:600;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px}.diagnosis-question-progress{font-size:11px;color:#9ca3af}.diagnosis-question-text{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:10px;line-height:1.5}.diagnosis-options{display:flex;flex-direction:column;gap:6px}.diagnosis-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s ease;background:#fff}.diagnosis-option:hover{border-color:#93c5fd;background:#f8fbff}.diagnosis-option.selected{border-color:#3b82f6;background:#eff6ff}.diagnosis-option.submitted{cursor:default;opacity:.85}.diagnosis-option.submitted:hover{border-color:#e5e7eb;background:#fff}.diagnosis-option.submitted.selected,.diagnosis-option.submitted.selected:hover{border-color:#3b82f6;background:#eff6ff}.diagnosis-option-indicator{width:18px;height:18px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s ease}.diagnosis-option-indicator.multi{border-radius:4px}.diagnosis-option.selected .diagnosis-option-indicator{border-color:#3b82f6;background:#3b82f6}.diagnosis-option.selected .diagnosis-option-indicator:after{content:"";display:block;width:8px;height:8px;background:#fff;border-radius:50%}.diagnosis-option.selected .diagnosis-option-indicator.multi:after{content:"";display:block;width:10px;height:6px;background:transparent;border-left:2px solid #fff;border-bottom:2px solid #fff;border-radius:0;transform:rotate(-45deg);margin-bottom:2px}.diagnosis-option-content{flex:1;min-width:0}.diagnosis-option-label{font-size:14px;color:#1a1a1a;line-height:1.4}.diagnosis-option-description{font-size:12px;color:#6b7280;margin-top:2px;line-height:1.4}.diagnosis-freetext{margin-top:6px}.diagnosis-freetext-input{width:100%;padding:8px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:#1a1a1a;outline:none;transition:border-color .15s ease;box-sizing:border-box;font-family:inherit}.diagnosis-freetext-input::placeholder{color:#9ca3af}.diagnosis-freetext-input:focus{border-color:#3b82f6}.diagnosis-freetext-input:disabled{background:#f9fafb;color:#6b7280;cursor:default}.diagnosis-quiz-footer{padding:12px 14px;border-top:1px solid #f0f0f0}.diagnosis-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.diagnosis-nav-btn{padding:8px 16px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;background:#fff;color:#374151}.diagnosis-nav-btn:hover:not(:disabled){border-color:#93c5fd;background:#f8fbff;color:#1d4ed8}.diagnosis-nav-btn:disabled{opacity:.4;cursor:not-allowed}.diagnosis-nav-btn.next{background:#3b82f6;color:#fff;border-color:#3b82f6}.diagnosis-nav-btn.next:hover:not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.diagnosis-submit-btn{width:100%;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.diagnosis-nav .diagnosis-submit-btn{flex:1}.diagnosis-submit-btn:hover:not(:disabled){background:#2563eb}.diagnosis-submit-btn:disabled{background:#93c5fd;cursor:not-allowed}.diagnosis-quiz.submitted .diagnosis-submit-btn{background:#d1d5db;color:#9ca3af;cursor:default}.diagnosis-quiz.submitted .diagnosis-progress-dot{cursor:pointer}.diagnosis-quiz.submitted .diagnosis-nav-btn{opacity:1;cursor:pointer}.diagnosis-quiz.submitted .diagnosis-nav-btn.next{background:#93c5fd;border-color:#93c5fd}.diagnosis-quiz.submitted .diagnosis-nav-btn.next:hover:not(:disabled){background:#7db8fa;border-color:#7db8fa}.diagnosis-quiz.submitted .diagnosis-nav-btn:disabled{opacity:.4;cursor:not-allowed}.chat-bubble-debug{margin-top:6px;display:flex;flex-direction:column;align-items:flex-end}.debug-toggle-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid #e2e8f0;border-radius:6px;background:transparent;cursor:pointer;font-size:11px;color:#64748b;transition:all .15s ease}.debug-toggle-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.debug-level-badge{display:inline-block;padding:1px 5px;border-radius:3px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.02em}.debug-bigstep-badge{display:inline-block;padding:1px 5px;border-radius:3px;background:#e0e7ff;color:#3730a3;font-size:10px;font-weight:600;letter-spacing:.02em}.debug-toggle-label{font-weight:500}.debug-chevron{transition:transform .15s ease;color:#94a3b8}.debug-chevron.expanded{transform:rotate(180deg)}.debug-panel{margin-top:6px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#334155}.debug-section{padding:6px 0}.debug-section+.debug-section{border-top:1px solid #f1f5f9}.debug-section-header{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.debug-tools-inline-chips{margin-left:auto;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:100%}.debug-tool-chip{display:inline-block;padding:1px 7px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#64748b;font-size:10px;font-weight:500;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.debug-tool-chip-more{background:#f1f5f9;color:#475569}.debug-level-badge-lg{display:inline-block;padding:2px 8px;border-radius:4px;color:#fff;font-size:11px;font-weight:600}.debug-bigstep-badge-lg{display:inline-block;padding:2px 8px;border-radius:4px;background:#e0e7ff;color:#3730a3;font-size:11px;font-weight:600}.debug-reason{margin:4px 0 0;font-size:14px;color:#334155;line-height:1.5;white-space:pre-wrap}.debug-reason .markdown-latex-content,.debug-reason .markdown-latex-content p{font-size:14px;line-height:1.5;margin:0}.debug-label{font-size:11px;font-weight:600;color:#64748b;letter-spacing:.03em;margin-bottom:4px}.debug-tags{display:flex;flex-wrap:wrap;gap:4px}.debug-tag{display:inline-block;padding:1px 6px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;color:#334155}.debug-observations{display:flex;flex-direction:column;gap:3px}.debug-obs-item{display:flex;align-items:center;gap:6px;font-size:11px}.debug-obs-result{display:inline-block;padding:0 5px;border-radius:3px;font-size:10px;font-weight:600}.debug-obs-result.correct{background:#dcfce7;color:#166534}.debug-obs-result.incorrect{background:#fee2e2;color:#991b1b}.debug-obs-result.corrected{background:#fef3c7;color:#92400e}.debug-obs-result.exploring{background:#e0e7ff;color:#3730a3}.debug-obs-result.skipped{background:#f1f5f9;color:#64748b}.debug-obs-action{color:#64748b}.debug-snapshot{display:flex;flex-direction:column;gap:6px}.debug-snapshot-step{display:flex;flex-direction:column;gap:4px}.debug-snapshot-step-label{font-size:11px;font-weight:600;color:#0f172a;margin-bottom:2px}.debug-snapshot-item{border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:4px 6px}.debug-snapshot-item.expandable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background-color .15s ease}.debug-snapshot-item.expandable:hover{border-color:#cbd5e1;background:#f8fafc}.debug-snapshot-item.expanded{border-color:#cbd5e1}.debug-snapshot-main{display:flex;align-items:flex-start;gap:5px;font-size:11px}.debug-snapshot-chevron{margin-left:auto;color:#94a3b8;flex-shrink:0;transition:transform .15s ease}.debug-snapshot-chevron.expanded{transform:rotate(180deg)}.debug-snapshot-badge{display:inline-block;padding:0 5px;border-radius:3px;font-size:10px;font-weight:600;flex-shrink:0;line-height:1.5;width:50px;text-align:center;white-space:nowrap;overflow:hidden}.debug-snapshot-badge.snapshot-correct{background:#dcfce7;color:#166534}.debug-snapshot-badge.snapshot-error{background:#fee2e2;color:#991b1b}.debug-snapshot-badge.snapshot-unknown{background:#e2e8f0;color:#475569}.debug-snapshot-name{color:#0f172a;font-size:11px;font-weight:700;flex-shrink:0}.debug-snapshot-content{color:#94a3b8;font-size:11px;min-width:0;flex:1;display:block;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.debug-snapshot-reason{margin-top:6px;padding-top:6px;border-top:1px solid #f1f5f9}.debug-snapshot-reason-label{font-size:10px;font-weight:600;color:#64748b;letter-spacing:.03em;margin-bottom:4px}.debug-snapshot-reason-text{font-size:11px;color:#334155;line-height:1.4}.debug-snapshot-content p,.debug-snapshot-content .markdown-latex-content,.debug-snapshot-content .markdown-latex-content p{white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.4;margin:0}.debug-snapshot-reason-text p,.debug-snapshot-reason-text .markdown-latex-content,.debug-snapshot-reason-text .markdown-latex-content p{font-size:11px;line-height:1.4;margin:0}.diagnosis-state-panel{padding-top:4px}.student-problem-panel .diagnosis-state-panel{margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.diagnosis-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 10px}.diagnosis-panel-title{font-size:12px;font-weight:600;color:#334155}.diagnosis-bigstep-badge{display:inline-block;padding:1px 6px;border-radius:3px;background:#e0e7ff;color:#3730a3;font-size:10px;font-weight:600}.diagnosis-empty{padding:12px 0;font-size:12px;color:#94a3b8;text-align:center}.diagnosis-meta-tags{margin-bottom:20px;display:flex;flex-direction:column;gap:16px}.diagnosis-meta-group{display:flex;flex-direction:column;gap:4px}.diagnosis-meta-label{font-size:11px;font-weight:600;color:#475569}.diagnosis-meta-tag-list{display:flex;flex-wrap:wrap;gap:4px}.diagnosis-meta-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500}.concept-tag{background:#ede9fe;color:#5b21b6}.skill-tag{background:#fef3c7;color:#92400e}.diagnosis-bigsteps-section{margin-bottom:16px}.diagnosis-label{font-size:11px;font-weight:600;color:#475569;letter-spacing:.03em;margin-bottom:6px}.diagnosis-bigsteps-list{display:flex;flex-direction:column;gap:10px}.diagnosis-bigstep-item{display:flex;align-items:baseline;gap:6px;padding:3px 6px;border-radius:4px;font-size:10px;color:#64748b;line-height:1.4}.diagnosis-bigstep-item.current{background:#eff6ff;color:#1e40af}.diagnosis-bigstep-num{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:10px;font-weight:600;flex-shrink:0}.diagnosis-bigstep-item.current .diagnosis-bigstep-num{background:#3b82f6;color:#fff}.diagnosis-bigstep-text{flex:1;min-width:0}.diagnosis-tree{display:flex;flex-direction:column;gap:12px}.diagnosis-step-label{font-size:12px;font-weight:600;color:#0f172a;margin-bottom:6px}.diagnosis-items{display:flex;flex-direction:column;gap:6px;padding-left:4px}.diagnosis-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;transition:border-color .15s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.diagnosis-card:hover,.diagnosis-card.expanded{border-color:#cbd5e1}.diagnosis-card-header{display:flex;align-items:center;gap:6px;padding:6px 8px}.diagnosis-card-header:hover{background:#f8fafc}.diagnosis-judgment{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;flex-shrink:0;line-height:1.4;width:50px;text-align:center;white-space:nowrap;overflow:hidden;order:1}.judgment-correct{background:#dcfce7;color:#166534}.judgment-error{background:#fee2e2;color:#991b1b}.judgment-unknown{background:#e2e8f0;color:#475569}.diagnosis-card-title{font-size:11px;color:#0f172a;font-weight:600;flex:1;min-width:0;order:0}.diagnosis-expand-icon{transition:transform .15s ease;color:#94a3b8;flex-shrink:0;order:2}.diagnosis-expand-icon.expanded{transform:rotate(180deg)}.diagnosis-card-content{padding:0 8px 6px;font-size:10px;color:#64748b;line-height:1.4}.diagnosis-card-reason{border-top:1px solid #f1f5f9;padding:8px;background:#f8fafc}.diagnosis-reason-label{font-size:10px;font-weight:600;color:#64748b;letter-spacing:.03em;margin-bottom:4px}.diagnosis-reason-text{font-size:10px;color:#334155;line-height:1.4}.diagnosis-state-panel .markdown-latex-content,.diagnosis-state-panel .markdown-latex-content p{font-size:13px;line-height:1.4;margin:0}.ref-labeling-panel{margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.ref-labeling-header{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.ref-labeling-title{font-size:11px;font-weight:600;color:#475569;flex:1}.ref-labeling-toggle{transition:transform .15s ease;color:#94a3b8;flex-shrink:0}.ref-labeling-toggle.open{transform:rotate(180deg)}.ref-labeling-actions{display:flex;gap:4px;margin-top:8px;margin-bottom:10px}.ref-labeling-btn{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:500;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;transition:all .15s ease}.ref-labeling-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.ref-labeling-btn:disabled{opacity:.5;cursor:not-allowed}.ref-labeling-btn.primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.ref-labeling-btn.primary:hover:not(:disabled){background:#2563eb}.ref-labeling-btn.danger{color:#dc2626;border-color:#fecaca}.ref-labeling-btn.danger:hover:not(:disabled){background:#fef2f2}.ref-labeling-status{font-size:10px;color:#94a3b8;margin-bottom:8px}.ref-labeling-error{font-size:10px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:6px 8px;margin-bottom:8px}.ref-labeling-list{display:flex;flex-direction:column;gap:10px}.ref-card{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;background:#fff}.ref-card-header{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.ref-card-num{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:10px;font-weight:600;flex-shrink:0}.ref-card-title{font-size:10px;font-weight:600;color:#0f172a;flex-shrink:0}.ref-card-header-spacer{flex:1}.ref-card-citation{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:500;background:#fef3c7;color:#92400e;flex-shrink:0}.ref-card-type{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:500;background:#e0e7ff;color:#3730a3;margin-left:4px;vertical-align:middle}.ref-card-body{padding:8px}.ref-raw-image{width:100%;border-radius:4px;border:1px solid #f1f5f9;background:#fafafa}.ref-label-section{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.ref-label-regions-section{margin-bottom:0;padding-bottom:0;border-bottom:none;margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9}.ref-use-when-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;line-height:1}.ref-use-when-badge.solution_steps{background:#dcfce7;color:#166534}.ref-use-when-badge.concept_explanation{background:#ede9fe;color:#5b21b6}.ref-use-when-badge.practice_problem{background:#fef3c7;color:#92400e}.ref-use-when-badge.hint{background:#dbeafe;color:#1e40af}.ref-summary{font-size:13px;color:#334155;line-height:1.4;margin-top:4px}.ref-summary .markdown-latex-content,.ref-summary .markdown-latex-content p{font-size:13px}.ref-meta{font-size:9px;color:#94a3b8;margin-top:4px}.ref-regions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ref-region-item{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:120px}.ref-region-image-wrap{position:relative;cursor:zoom-in}.ref-region-overlay{position:absolute;top:0;left:0;background:#0000008c;color:#fff;font-size:9px;font-weight:500;padding:1px 5px;border-radius:3px 0;line-height:1.4;pointer-events:none}.ref-region-image{max-width:120px;max-height:80px;object-fit:contain;border-radius:3px;border:1px solid #e2e8f0;display:block}.ref-region-type-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:500;margin-top:2px}.ref-region-type-badge.question{background:#fee2e2;color:#991b1b}.ref-region-type-badge.multiple_choice{background:#fef3c7;color:#92400e}.ref-region-type-badge.visual{background:#dbeafe;color:#1e40af}.ref-region-type-badge.table_data{background:#e0e7ff;color:#3730a3}.ref-region-type-badge.formula{background:#dcfce7;color:#166534}.ref-region-type-badge.solution{background:#ede9fe;color:#5b21b6}.ref-region-type-badge.instruction{background:#f1f5f9;color:#475569}.ref-region-desc{display:none}.ref-labeling-empty{font-size:10px;color:#94a3b8;text-align:center;padding:12px 0}.ref-cached-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:500;background:#fef3c7;color:#92400e;margin-left:4px}.ref-clickable-image{cursor:zoom-in;transition:opacity .15s ease}.ref-clickable-image:hover{opacity:.85}.ref-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:9999;display:flex;align-items:center;justify-content:center}.ref-modal{position:relative;background:#fff;border-radius:10px;width:720px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.ref-modal-close{position:absolute;top:8px;right:10px;background:#0006;border:none;color:#fff;font-size:16px;cursor:pointer;padding:2px 8px;border-radius:4px;line-height:1.2;z-index:2}.ref-modal-close:hover{background:#0009}.ref-modal-image-area{position:relative;display:flex;align-items:center;justify-content:center;background:#f8fafc;height:480px;overflow:hidden}.ref-modal-img{max-width:100%;max-height:100%;object-fit:contain}.ref-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0006;border:none;color:#fff;font-size:28px;cursor:pointer;padding:8px 12px;line-height:1;border-radius:6px;z-index:1;-webkit-user-select:none;user-select:none}.ref-modal-nav:hover{background:#0009}.ref-modal-prev{left:8px}.ref-modal-next{right:8px}.ref-modal-info{padding:10px 14px;border-bottom:1px solid #e2e8f0}.ref-modal-info-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ref-modal-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:600;flex-shrink:0}.ref-modal-badge.raw{background:#dbeafe;color:#1e40af}.ref-modal-badge.crop{background:#ede9fe;color:#5b21b6}.ref-modal-title{font-size:11px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-modal-label-info{margin-top:4px}.ref-modal-summary{font-size:10px;color:#334155;line-height:1.4;margin-top:4px}.ref-modal-edu-value{font-size:10px;color:#64748b;line-height:1.4;margin-top:4px;font-style:italic}.ref-modal-pager{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;background:#fff}.ref-modal-dot{width:7px;height:7px;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:background .15s ease}.ref-modal-dot.active{background:#3b82f6}.ref-modal-dot:hover{background:#94a3b8}.audio-waveform-timeline{display:flex;align-items:center;gap:1px;height:28px;flex:1;min-width:0;overflow:hidden}.waveform-bar-timeline{width:2px;flex-shrink:0;border-radius:1px;transition:height .05s ease-out}.waveform-bar-timeline.empty{background:#d1d5db}.waveform-bar-timeline.recorded{background:#374151}.waveform-bar-timeline.recorded.loud{animation:waveform-vibrate .15s ease-in-out infinite alternate}@keyframes waveform-vibrate{0%{transform:scaleY(.92)}to{transform:scaleY(1.08)}}.handwriting-preview-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #4a9eff26}@media (min-width: 768px){.handwriting-preview-card{max-width:55%;margin-left:auto}}.handwriting-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.handwriting-preview-title{font-size:14px;font-weight:600;color:#2563eb}.handwriting-preview-refresh{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;color:#2563eb;transition:background .2s,transform .2s}.handwriting-preview-refresh:hover:not(:disabled){background:#4a9eff26}.handwriting-preview-refresh:disabled{opacity:.5;cursor:not-allowed}.handwriting-preview-refresh.refreshing svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.handwriting-preview-content{position:relative;background:#fff;border-radius:8px;overflow:hidden;margin-bottom:12px;min-height:150px;display:flex;justify-content:center;align-items:flex-start;padding:8px}.handwriting-capture-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;justify-content:center;align-items:center;z-index:100;border-radius:8px;color:#2563eb;font-size:14px;font-weight:500}.handwriting-preview-wrapper{position:relative;border:1px solid #e2e8f0;border-radius:4px;background:#fff}.handwriting-preview-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#64748b;font-size:14px;z-index:20}.handwriting-preview-error{color:#dc2626;font-size:12px;margin-bottom:8px;padding:8px;background:#fef2f2;border-radius:6px}.handwriting-preview-actions{display:flex;gap:8px}.handwriting-preview-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.handwriting-preview-btn:disabled{opacity:.6;cursor:not-allowed}.handwriting-preview-btn-primary{background:#4a9eff;color:#fff}.handwriting-preview-btn-primary:hover:not(:disabled){background:#3d8be0}.handwriting-preview-btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.handwriting-preview-btn-secondary:hover:not(:disabled){background:#e2e8f0}.hw-lms-container{position:relative;background:#fff;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e2024;overflow:hidden}.hw-study-content-layer{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none;z-index:0}.hw-lms-content-inner{width:752px;margin-left:0;padding-bottom:61px}.hw-sai-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:16px}.hw-sai-header-left{display:flex;align-items:center;gap:8px}.hw-sai-header-right{display:flex;align-items:center}.hw-sa-type-chip{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 6px;border-radius:4px;font-size:12px;font-weight:500;line-height:20px;background-color:#fff0e5;color:#e05900;white-space:nowrap}.hw-required-label{font-size:14px;font-weight:700;line-height:22px;white-space:nowrap}.hw-required-label.required{color:#239565}.hw-required-label.bonus{color:#6b7180}.hw-sai-title{font-size:16px;font-weight:500;line-height:26px;color:#1e2024}.hw-sai-meta{display:flex;align-items:center;font-size:14px;font-weight:400;line-height:24px;color:#6b7180}.hw-sai-meta-separator{width:4px;height:4px;border-radius:50%;background-color:#e2e4ea;margin:0 8px}.hw-question-title{font-size:18px;font-weight:700;line-height:28px;color:#1e2024;margin-bottom:.35em}.hw-question-area{position:relative;margin-bottom:24px;word-break:break-word;font-size:16px;line-height:1.75;color:#1e2024;display:grid}.hw-question-area p,.hw-question-area .MDSRichEditor-paragraph{margin:0;padding:3px 0;font-size:16px;font-weight:400;line-height:28px;white-space-collapse:break-spaces}.hw-question-area .image-wrapper{position:relative;display:grid;box-sizing:content-box;max-width:100%;width:752px;margin:24px 0;line-height:24px;cursor:pointer;pointer-events:none}.hw-question-area img{display:block;max-width:100%;width:100%;height:auto}.hw-question-area img.legacy-image,.hw-question-area img[data-uploaded]{height:auto;max-width:100%;width:100%}.hw-question-area img[data-uploaded]{width:100%;height:auto!important}.hw-question-area img[alignment=left]{margin:24px auto 24px 0}.hw-question-area img[alignment=right]{margin:24px 0 24px auto}.hw-handwriting-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.hw-choice-list{list-style:none;padding:0;margin:24px 0 0}.hw-choice-list>li+li{margin-top:4px}.hw-choice-item{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;border-radius:4px;user-select:text;-webkit-user-select:text;-ms-user-select:text}.hw-choice-left{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0}.hw-choice-number{font-size:24px;font-weight:300;line-height:28px;color:#1e2024}.hw-choice-text{font-size:16px;font-weight:400;line-height:28px;color:#1e2024;word-break:break-word}.hw-choice-right{display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-ms-user-select:none}.hw-choice-label{font-size:12px;font-weight:500;line-height:20px;color:#6b7180;white-space:nowrap}.hw-subjective-list{list-style:none;padding:0;margin:24px 0 0}.hw-subjective-item{margin-top:8px}.hw-subjective-stack{display:flex;flex-direction:column;gap:8px;align-items:center}.hw-subjective-symbol{font-size:20px;font-weight:400;line-height:28px;color:#1e2024}.hw-subjective-input{width:100%;height:52px;border:1px solid rgba(226,228,234,1);border-radius:8px;background:#fff;padding:0 16px;display:flex;align-items:center;font-size:16px;line-height:28px;color:#1e2024}.hw-subjective-placeholder{color:#6b7180}.handwriting-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px}.handwriting-modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d}.handwriting-modal-close{position:absolute;top:12px;right:12px;background:#ffffffe6;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;color:#374151;box-shadow:0 2px 8px #00000026;transition:background .2s,transform .2s}.handwriting-modal-close:hover{background:#fff;transform:scale(1.1)}.handwriting-modal-inner{overflow:hidden}.handwriting-modal-inner .hw-lms-container{background:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff9ef;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.login-container{display:flex;align-items:center;justify-content:center;gap:80px;max-width:1000px;width:100%}.login-hero{flex:1;display:none}@media (min-width: 900px){.login-hero{display:block}}.login-hero h1{font-size:42px;font-weight:700;color:#1a1a2e;margin:0 0 20px;line-height:1.3}.login-hero h1 .highlight{color:#2aa270}.login-hero p{font-size:16px;color:#666;line-height:1.6;margin:0}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 4px 24px #00000014;margin:0 auto}.login-card-title{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 28px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{position:relative}.form-label{position:absolute;top:-8px;left:12px;background:#fff;padding:0 4px;font-size:13px;font-weight:500;color:#666}.form-label .required{color:#ff6b6b;margin-left:2px}.form-input{width:100%;padding:16px 14px;border:1px solid #ddd;border-radius:8px;font-size:15px;transition:border-color .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#2aa270}.form-input::placeholder{color:#aaa}.login-button{width:100%;padding:16px 24px;background:#2aa270;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px}.login-button:hover:not(:disabled){background:#248f62}.login-button:disabled{background:#7fcaa0;cursor:not-allowed}.error-message{background:#fff5f5;border:1px solid #FFCDD2;color:#c62828;padding:12px 16px;border-radius:8px;font-size:14px}.login-footer{margin-top:20px;text-align:center;font-size:13px;color:#999}.login-footer a{color:#666;text-decoration:none;margin:0 8px}.login-footer a:hover{color:#2aa270}.login-footer .divider{color:#ddd}.exam-dash{max-width:1500px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.exam-dash h1{font-size:24px;font-weight:700;margin:0;color:#1d1d1f}.exam-dash__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.exam-dash__tabs{display:flex;gap:4px;border-bottom:1px solid #e5e5e7;margin-bottom:24px}.exam-dash__tab{padding:10px 20px;font-size:14px;font-weight:500;color:#86868b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.exam-dash__tab:hover{color:#1d1d1f}.exam-dash__tab--active{color:#007aff;border-bottom-color:#007aff}.exam-dash__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.exam-dash__toolbar h2{font-size:18px;font-weight:600;margin:0}.exam-dash__btn{padding:8px 16px;border-radius:8px;border:1px solid #d1d1d6;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#1d1d1f;transition:background .15s}.exam-dash__btn:hover{background:#f5f5f7}.exam-dash__btn--primary{background:#007aff;color:#fff;border-color:#007aff}.exam-dash__btn--primary:hover{background:#0066d6}.exam-dash__btn--danger{color:#d70015;border-color:#d70015}.exam-dash__btn--sm{padding:4px 10px;font-size:12px}.exam-dash__btn:disabled{opacity:.5;cursor:default}.exam-dash__table{width:100%;border-collapse:collapse;font-size:13px}.exam-dash__table th{text-align:left;padding:10px 12px;font-weight:600;color:#86868b;border-bottom:1px solid #e5e5e7;white-space:nowrap}.exam-dash__table td{padding:10px 12px;border-bottom:1px solid #f0f0f5;color:#1d1d1f;vertical-align:middle}.exam-dash__table tr:hover td{background:#fafafa}.exam-dash__table tr.exam-dash__row--clickable{cursor:pointer}.exam-dash__status{display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap}.exam-dash__status--waiting{background:#f0f0f5;color:#86868b}.exam-dash__status--need_action{background:#fff0e0;color:#c05600;font-weight:600}.exam-dash__status--photo_uploaded{background:#fff3cd;color:#856404}.exam-dash__status--completed{background:#d4f5d4;color:#1d8348}.exam-dash__status--error{background:#fee;color:#d70015}.exam-dash__empty{text-align:center;padding:48px 16px;color:#86868b;font-size:14px}.exam-dash__modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.exam-dash__modal{background:#fff;border-radius:12px;padding:28px;width:90%;max-width:560px;max-height:90vh;overflow:visible}.exam-dash__modal h3{font-size:17px;font-weight:600;margin:0 0 16px}.exam-dash__modal-field{margin-bottom:12px}.exam-dash__modal-field label{display:block;font-size:13px;font-weight:500;color:#86868b;margin-bottom:4px}.exam-dash__modal-field input,.exam-dash__modal-field select{width:100%;padding:8px 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;box-sizing:border-box}.exam-dash__modal-field .td-combo-control--open{box-shadow:none}.exam-dash__modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.exam-dash__error{background:#fff2f2;color:#d70015;padding:10px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;cursor:pointer}.exam-dash__link-btn{padding:4px 8px;font-size:11px;border:1px solid #d1d1d6;border-radius:6px;background:#fff;cursor:pointer;white-space:nowrap}.exam-dash__link-btn:hover{background:#f5f5f7}.exam-dash__back{font-size:13px;color:#007aff;background:none;border:none;cursor:pointer;padding:0;margin-bottom:12px}.exam-dash__back:hover{text-decoration:underline}.exam-dash__table--compact td,.exam-dash__table--compact th{padding:8px 10px;font-size:12px}.exam-dash__table-wrap{overflow-x:auto}.exam-dash__cell--num{text-align:center;color:#86868b;font-variant-numeric:tabular-nums;width:36px}.exam-dash__row--error td{background:#fff8f8}.exam-dash__acct-cell{display:flex;flex-direction:column;gap:2px}.exam-dash__pw{font-size:11px;color:#86868b;letter-spacing:.5px}.exam-dash__acct-row{display:flex;align-items:center;gap:6px}.exam-dash__link-btn--copy{font-size:10px;padding:1px 5px;color:#636366;border-color:#d1d1d6;flex-shrink:0}.exam-dash__student-info{display:flex;flex-direction:column;gap:2px}.exam-dash__sub-text{font-size:11px;color:#86868b}.exam-dash__placeholder{color:#c7c7cc;font-size:12px}.exam-dash__warn-text{font-size:11px;color:#ff9500;font-weight:500}.exam-dash__label-hint{font-size:11px;color:#86868b;font-weight:400}.exam-dash__tag{display:inline-block;font-size:11px;font-weight:500;padding:1px 6px;border-radius:4px;background:#f0f0f5;color:#636366}.exam-dash__tag--blue{background:#e8f0fe;color:#1a73e8}.exam-dash__curriculum-cell{display:flex;align-items:center;gap:4px;overflow:hidden}.exam-dash__curriculum-cell .exam-dash__tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.exam-dash__feed-date{font-size:12px;color:#1d8348;font-weight:500}.exam-dash__actions{display:flex;gap:4px;flex-wrap:nowrap}.exam-dash__link-btn--accent{color:#007aff;border-color:#007aff}.exam-dash__link-btn--accent:hover{background:#f0f7ff}.exam-dash__link-btn--kakao{color:#a16c00;border-color:#f5c400;background:#fffbe6}.exam-dash__link-btn--kakao:hover{background:#fff3b0}.exam-dash__setup-info{background:#f5f5f7;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:13px}.exam-dash__modal-row{display:flex;gap:12px}.exam-dash__modal-row>.exam-dash__modal-field{flex:1}.exam-dash__copy{cursor:pointer;border-bottom:1px dashed #c7c7cc}.exam-dash__copy:hover{color:#007aff;border-bottom-color:#007aff}.exam-dash__copy:active{opacity:.5}.exam-dash__modal-field textarea{width:100%;padding:8px 12px;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box;resize:vertical}.exam-dash__gt-progress{margin-left:6px;font-size:11px;color:#084298;font-weight:500;font-variant-numeric:tabular-nums}.exam-dash__search-bar{display:flex;gap:8px;margin-bottom:16px}.exam-dash__search-input{flex:1;padding:8px 12px;font-size:14px;border:1px solid #d2d2d7;border-radius:8px;outline:none}.exam-dash__search-input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.exam-dash__search-results{margin-bottom:16px;border:1px solid #e5e5e7;border-radius:10px;overflow:hidden}.exam-dash__search-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f0f0f2}.exam-dash__search-item:last-child{border-bottom:none}.exam-dash__ps-detail{background:#fafafa;padding:8px 16px 12px;border-top:1px solid #e5e5e7}.exam-dash__status--analyzing{background:#cfe2ff;color:#084298}.exam-dash__elapsed{margin-left:6px;font-size:11px;font-weight:400;color:#636366;font-variant-numeric:tabular-nums;opacity:.8}.exam-dash__gt-dot{display:inline-block;font-size:13px;font-weight:600;width:24px;text-align:center}.exam-dash__gt-dot--completed{color:#1d8348}.exam-dash__gt-dot--error{color:#d70015}.exam-dash__gt-dot--pending{color:#c7c7cc}.exam-dash__gt-summary{display:flex;align-items:center;gap:12px;padding:8px 0 4px}.exam-dash__gt-badge{font-size:12px;font-weight:500;padding:3px 10px;background:#f0f0f5;border-radius:10px;color:#636366;white-space:nowrap;font-variant-numeric:tabular-nums}.exam-dash__gt-bar-wrap{flex:1;height:6px;background:#e5e5e7;border-radius:3px;overflow:hidden}.exam-dash__gt-bar{height:100%;background:#34c759;border-radius:3px;transition:width .5s ease}.exam-dash__modal--wide{max-width:700px;max-height:85vh;display:flex;flex-direction:column}.exam-dash__pmodal-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #e5e5e7;margin-bottom:0}.exam-dash__pmodal-header h3{font-size:17px;font-weight:600;margin:0 0 6px}.exam-dash__pmodal-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#636366}.exam-dash__pmodal-close{background:none;border:none;font-size:18px;color:#86868b;cursor:pointer;padding:4px 8px;line-height:1}.exam-dash__pmodal-close:hover{color:#1d1d1f}.exam-dash__pmodal-body{overflow-y:auto;padding-top:16px}.exam-dash__pmodal-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.exam-dash__pmodal-img-section h4{font-size:12px;font-weight:600;color:#86868b;margin:0 0 6px}.exam-dash__pmodal-img-section img{width:100%;border-radius:8px;border:1px solid #e5e5e7}.exam-dash__pmodal-section{margin-bottom:16px}.exam-dash__pmodal-section h4{font-size:13px;font-weight:600;color:#1d1d1f;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #f0f0f5}.exam-dash__pmodal-text{font-size:13px;line-height:1.6;color:#1d1d1f;margin:0}.exam-dash__pmodal-text--sub{color:#86868b;font-size:12px;margin-top:6px}.exam-dash__pmodal-tags{display:flex;gap:6px;flex-wrap:wrap}.exam-dash__tag--green{background:#d4f5d4;color:#1d8348}.exam-dash__pmodal-choices{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.8}.exam-dash__pmodal-correct{font-weight:600;color:#1d8348}.exam-dash__pmodal-gt-block{background:#f9f9fb;border-radius:8px;padding:12px 14px;margin-bottom:10px}.exam-dash__pmodal-gt-block h5{font-size:12px;font-weight:600;color:#007aff;margin:0 0 8px}.exam-dash__pmodal-gt-block p{font-size:13px;line-height:1.6;margin:0 0 4px;color:#1d1d1f}.exam-dash__pmodal-steps{margin:6px 0 0;padding-left:20px;font-size:13px;line-height:1.8}.exam-dash__row--clickable{cursor:pointer}.exam-dash__row--clickable:hover td{background:#f0f7ff!important}.exam-dash__upload-group{display:inline-flex;align-items:center;gap:2px}.exam-dash__link-btn--open{padding:3px 5px;font-size:11px;color:#636366;border-color:#d1d1d6;text-decoration:none;line-height:1}.exam-dash__link-btn--open:hover{color:#007aff;border-color:#007aff;background:#f0f7ff}.exam-dash__progress-cell{display:flex;align-items:center;gap:4px}.exam-dash__link-btn--retry{font-size:10px;padding:1px 5px;color:#ff9500;border-color:#ff9500}.exam-dash__link-btn--retry:hover{background:#fff8f0}.exam-dash__link-btn--done{color:#16a34a;border-color:#86efac}.exam-dash__link-btn--done:hover{background:#f0fdf4}.exam-dash__link-btn--danger{color:#ef4444;border-color:#fca5a5}.exam-dash__link-btn--danger:hover{background:#fef2f2}.exam-dash__filter-group{display:flex;gap:4px;margin-top:6px}.exam-dash__filter-btn{padding:4px 12px;font-size:13px;font-weight:500;color:#86868b;background:#f5f5f7;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.exam-dash__filter-btn:hover{background:#e8e8ed}.exam-dash__filter-btn--active{color:#007aff;background:#e8f0fe;border-color:#007aff}.exam-dash__filter-count{font-weight:700;margin-left:2px}.exam-dash__refresh-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.exam-dash__refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#f5f5f7;border:1px solid #e5e5e7;border-radius:8px;cursor:pointer;color:#86868b;transition:background .15s,color .15s}.exam-dash__refresh-btn:hover{background:#e8e8ed;color:#1d1d1f}.exam-dash__refresh-icon{transition:transform .3s ease}.exam-dash__refresh-icon--spin{transform:rotate(180deg)}.exam-dash__refresh-bar{width:32px;height:2px;background:#e5e5e7;border-radius:1px;overflow:hidden}.exam-dash__refresh-bar-fill{height:100%;background:#007aff;transition:width .1s linear;border-radius:1px}.student-page{width:100%;height:100vh;height:100dvh;height:var(--fullHeight, 100dvh);position:fixed;top:0;right:0;bottom:0;left:0;background:#f8fafc;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.student-error-banner{background:#fef2f2;border-bottom:1px solid #fecaca;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;color:#991b1b}.student-error-banner button{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer}.student-layout{display:flex;flex:1;overflow:hidden;min-height:0;height:100%}.student-problem-panel,.student-timeline-panel,.student-chat-panel{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e2e8f0}.student-timeline-panel{border-right:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;height:48px;box-sizing:border-box}.panel-title{font-weight:600;font-size:14px;color:#334155}.view-report-btn{padding:6px 12px;background:#4a9eff;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.view-report-btn:hover{background:#3d8be0}.panel-header-right{display:flex;align-items:center;gap:12px}.force-complete-area{align-self:center;padding:16px 0 24px;margin-top:8px}.force-complete-btn{width:fit-content;padding:10px 24px;background:#fff;color:#64748b;border:1px solid #d1d5db;border-radius:24px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000014;white-space:nowrap}.force-complete-btn:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#dc2626}.force-complete-btn.pulse{animation:force-complete-pulse .8s ease-out 3;border-color:#6366f1;color:#4338ca;box-shadow:0 0 #6366f199}@keyframes force-complete-pulse{0%{box-shadow:0 0 #6366f199;transform:scale(1)}50%{box-shadow:0 0 0 12px #6366f100;transform:scale(1.05)}to{box-shadow:0 0 #6366f100;transform:scale(1)}}.ai-disclaimer{display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;font-size:11px;line-height:1.4;color:#94a3b8;margin-top:8px}.ai-disclaimer-icon{font-size:11px;opacity:.85;line-height:1}.new-session-btn{padding:6px 12px;background:#64748b;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.new-session-btn:hover:not(:disabled){background:#475569}.new-session-btn:disabled{background:#94a3b8;cursor:not-allowed}.live-indicator{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:12px;background:#0000000d;transition:all .2s}.live-indicator.active{background:#22c55e1f;color:#16a34a}.live-indicator.inactive{background:#0000000d;color:#9ca3af}.live-indicator.stale{background:#00000008;color:#9ca3af}.live-indicator.stale .last-updated{color:#9ca3af}.live-indicator.complete{background:#3b82f61a;color:#3b82f6}.live-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.live-indicator.active .live-dot{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.live-text{font-weight:500}.last-updated{color:#9ca3af;font-size:11px;margin-left:2px}.live-indicator.active .last-updated{color:#6ee7b7}.student-info{display:flex;align-items:center;font-size:13px}.student-label{color:#94a3b8;margin-right:4px}.student-name{font-weight:500;color:#334155}.panel-login-info{padding:12px 16px;flex-shrink:0}.login-label{font-size:10px;color:#b0b8c4;margin-bottom:4px}.login-detail{font-size:11px;color:#94a3b8}.panel-content{flex:1;overflow-y:auto;padding:16px}.student-problem-panel{width:360px;min-width:280px;flex-shrink:0}.curriculum-info{padding:8px 12px;background:#f8fafc;border-radius:6px;margin-bottom:12px;line-height:1.4;word-break:keep-all}.curriculum-info .curriculum-title{font-size:11px;color:#94a3b8;margin-bottom:2px}.curriculum-info .module-title{font-size:13px;color:#475569;font-weight:500}.problem-image-container{margin-bottom:16px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.problem-image{width:100%;height:auto;display:block}.problem-image.clickable{cursor:zoom-in;transition:opacity .2s}.problem-image.clickable:hover{opacity:.9}.problem-text{font-size:14px;line-height:1.6;color:#334155;margin-bottom:16px}.problem-choices-student{display:flex;flex-direction:column;gap:8px}.choice-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.choice-item.selected{background:#eff6ff;border-color:#3b82f6}.choice-item.incorrect{background:#fef2f2;border-color:#ef4444}.choice-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border-radius:50%;font-size:12px;font-weight:600;color:#64748b;flex-shrink:0}.choice-item.selected .choice-number{background:#3b82f6;color:#fff}.choice-item.incorrect .choice-number{background:#ef4444;color:#fff}.choice-text{flex:1}.choice-check{color:#22c55e;font-weight:600}.choice-wrong{color:#ef4444;font-weight:600}.student-chat-panel{flex:1;min-width:320px;min-height:0;height:100%}.student-timeline-panel{width:360px;min-width:280px}.reset-btn-small{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer;transition:all .2s;height:28px;display:flex;align-items:center}.reset-btn-small:hover{background:#e2e8f0;color:#334155}.chat-messages-student{flex:1;overflow-y:auto;min-height:0;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-msg{display:flex;flex-direction:column;max-width:85%}.chat-msg.user,.chat-msg.student{align-self:flex-end}.chat-msg.tutor,.chat-msg.assistant{align-self:flex-start}.msg-role{font-size:11px;color:#94a3b8;margin-bottom:4px;padding:0 8px}.msg-content{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.chat-msg.user .msg-content,.chat-msg.student .msg-content{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.chat-msg.user .msg-content *,.chat-msg.student .msg-content *{color:#fff}.chat-msg.tutor .msg-content,.chat-msg.assistant .msg-content{background:#f1f5f9;color:#334155;border-bottom-left-radius:4px}.chat-date-header{text-align:center;font-size:12px;color:#94a3b8;padding:12px 0 16px}.msg-time{font-size:11px;color:#94a3b8;margin-top:4px;padding:0 8px}.chat-msg.user .msg-time,.chat-msg.student .msg-time{text-align:right}.msg-footer{display:flex;align-items:center;gap:8px;margin-top:4px;padding:0 8px}.msg-footer .msg-time{margin-top:0;padding:0}.chat-msg.user .msg-footer,.chat-msg.student .msg-footer{justify-content:flex-end}.report-btn{font-size:11px;color:#94a3b8;background:none;border:none;padding:2px 6px;cursor:pointer;border-radius:4px;transition:all .2s}.report-btn:hover{color:#64748b;background:#0000000d}.chat-msg.tutor .markdown-block p,.chat-msg.assistant .markdown-block p{margin:0 0 8px}.chat-msg.tutor .markdown-block p:last-child,.chat-msg.assistant .markdown-block p:last-child{margin-bottom:0}.chat-msg.tutor .markdown-block blockquote,.chat-msg.assistant .markdown-block blockquote{margin:10px 0;padding:10px 14px;background:#3b82f614;border-left:3px solid #3b82f6;border-radius:0 8px 8px 0}.chat-msg.tutor .markdown-block blockquote p,.chat-msg.assistant .markdown-block blockquote p{margin:4px 0}.chat-msg.tutor .markdown-block em,.chat-msg.assistant .markdown-block em{color:#64748b;font-size:13px}.chat-msg.tutor .markdown-block strong,.chat-msg.assistant .markdown-block strong{font-weight:600}.chat-msg.tutor .markdown-block ol,.chat-msg.assistant .markdown-block ol{margin:8px 0;padding-left:24px}.chat-msg.tutor .markdown-block ul,.chat-msg.assistant .markdown-block ul{margin:8px 0;padding-left:20px}.chat-msg.tutor .markdown-block li,.chat-msg.assistant .markdown-block li{margin:4px 0;line-height:1.5}.msg-image{max-width:200px;border-radius:8px;margin-bottom:8px}.msg-image.clickable{cursor:zoom-in;transition:opacity .2s}.msg-image.clickable:hover{opacity:.85}.msg-content.typing{display:flex;gap:4px;padding:16px 20px}.msg-content.typing span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out}.msg-content.typing span:nth-child(1){animation-delay:0s}.msg-content.typing span:nth-child(2){animation-delay:.2s}.msg-content.typing span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.msg-content.loading-progress{padding:16px 20px;min-height:52px;display:flex;align-items:center}.loading-message{color:#64748b;font-size:14px;animation:loading-fade-in .3s ease-out}@keyframes loading-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-input-student{padding:16px;border-top:1px solid #e2e8f0;background:#f8fafc}.attached-preview{margin-bottom:12px;position:relative;display:inline-block}.attached-preview img{max-height:80px;border-radius:8px;border:1px solid #e2e8f0}.attached-preview button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ef4444;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:12px}.input-row{display:flex;gap:8px;align-items:flex-end}.input-row.complete{background:#64748b;border-radius:8px;padding:12px 16px;justify-content:center;align-items:center;min-height:40px}.input-row.complete .complete-message{color:#fff;font-size:13px;font-weight:500;text-align:center}.attach-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;font-size:0;transition:all .2s;background-image:url(/math-ai-tutor/icons/image_upload.png);background-repeat:no-repeat;background-position:center;background-size:70% 70%}.attach-btn:hover{background-color:#e2e8f0}.input-row textarea{flex:1;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;resize:none;min-height:40px;max-height:120px;line-height:1.4;overflow-y:auto}@supports (-webkit-touch-callout: none){.input-row textarea{font-size:16px}}.input-row textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-row textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.input-row button:last-child{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.input-row button:last-child:hover:not(:disabled){background:#2563eb}.input-row button:last-child:disabled{background:#94a3b8;cursor:not-allowed}.student-loading,.student-error,.student-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.student-loading .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.student-loading p{color:#64748b}.student-error h2{color:#ef4444;margin-bottom:8px}.student-error p{color:#64748b;margin-bottom:16px}.student-error button{padding:10px 20px;background:#e2e8f0;color:#475569;border:none;border-radius:8px;cursor:pointer}.student-error button.primary{background:#3b82f6;color:#fff}.error-buttons{display:flex;gap:12px}.student-empty h2{color:#334155;margin-bottom:8px}.student-empty p{color:#64748b}.student-empty .hint{font-size:12px;color:#94a3b8;margin-top:8px}@media (max-width: 1024px){.student-timeline-panel,.student-problem-panel{width:280px;min-width:240px}.student-chat-panel{flex:1}}@media (max-width: 768px){.student-timeline-panel{display:none}.student-problem-panel{width:280px;min-width:220px}}@media (max-width: 640px){.student-layout{flex-direction:column;overflow:visible;min-height:0}.student-problem-panel{width:100%;max-height:35vh;min-height:150px;flex-shrink:0;border-right:none;border-bottom:1px solid #e2e8f0}.student-chat-panel{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.chat-messages-student{flex:1;min-height:0;overflow-y:auto}.chat-input-student{flex-shrink:0}}.force-complete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fc-fade-in .2s ease-out}@keyframes fc-fade-in{0%{opacity:0}to{opacity:1}}.force-complete-modal-content{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;position:relative;box-shadow:0 8px 32px #0000001f;animation:fc-scale-in .2s ease-out}@keyframes fc-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.force-complete-modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:#94a3b8;font-size:20px;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.force-complete-modal-close:hover:not(:disabled){background:#f1f5f9;color:#475569}.force-complete-modal-close:disabled{opacity:.5;cursor:not-allowed}.force-complete-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.force-complete-subtitle{font-size:14px;color:#64748b;margin:0 0 20px}.force-complete-reasons{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.force-complete-reason-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s}.force-complete-reason-item:hover{background:#f1f5f9;border-color:#cbd5e1}.force-complete-reason-item:has(input:checked){background:#eff6ff;border-color:#3b82f6}.force-complete-reason-item input[type=radio]{width:18px;height:18px;margin:0;accent-color:#3b82f6;cursor:pointer}.force-complete-reason-item .reason-label{font-size:14px;color:#334155;flex:1}.force-complete-detail{width:100%;min-height:80px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#334155;resize:vertical;margin-bottom:16px;font-family:inherit}.force-complete-detail:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.force-complete-detail::placeholder{color:#94a3b8}.force-complete-detail:disabled{background:#f8fafc;cursor:not-allowed}.force-complete-actions{display:flex;gap:10px}.force-complete-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.force-complete-btn.cancel{background:#f1f5f9;color:#475569}.force-complete-btn.cancel:hover:not(:disabled){background:#e2e8f0}.force-complete-btn.confirm{background:#ef4444;color:#fff}.force-complete-btn.confirm:hover:not(:disabled){background:#dc2626}.force-complete-btn:disabled{opacity:.5;cursor:not-allowed}.bcm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.bcm__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#000;flex-shrink:0}.bcm__header-btn{background:none;border:none;color:#fff;font-size:16px;padding:4px 8px;cursor:pointer;min-width:56px;text-align:center}.bcm__header-title{color:#fff;font-size:15px;font-weight:600}.bcm__page-nav{display:flex;align-items:center;gap:8px}.bcm__page-btn{background:#ffffff1f;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.bcm__page-btn:disabled{opacity:.3;cursor:default}.bcm__page-label{color:#ffffffb3;font-size:13px;min-width:40px;text-align:center}.bcm__canvas-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px}.bcm__guide{text-align:center;font-size:13px;color:#ffffff80;padding:4px 16px;flex-shrink:0}.bcm__progress{display:flex;gap:4px;padding:8px 16px;overflow-x:auto;flex-shrink:0;justify-content:center;flex-wrap:wrap}.bcm__progress::-webkit-scrollbar{display:none}.bcm__prog-item{width:32px;height:28px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.bcm__prog-item--done{background:#34c75940;color:#34c759}.bcm__prog-item--current{background:#007aff4d;color:#5ac8fa;box-shadow:0 0 0 2px #007aff}.bcm__prog-item--empty{background:#ffffff14;color:#ffffff59}.bcm__footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#000;flex-shrink:0;gap:8px}.bcm__footer-left{display:flex;align-items:center;gap:8px}.bcm__num-select{background:#ffffff1f;border:none;color:#fff;font-size:14px;font-weight:600;padding:8px 12px;border-radius:8px;cursor:pointer}.bcm__action-btn{background:#ffffff1f;border:none;color:#fff;font-size:13px;padding:8px 14px;border-radius:8px;cursor:pointer;transition:background .15s}.bcm__action-btn:active{background:#fff3}.bcm__action-btn:disabled{opacity:.3;cursor:default}.bcm__complete-btn{background:#007aff;border:none;color:#fff;font-size:14px;font-weight:600;padding:10px 20px;border-radius:10px;cursor:pointer;transition:opacity .15s;white-space:nowrap}.bcm__complete-btn:active{opacity:.8}.bcm__complete-btn:disabled{opacity:.4;cursor:default}.td-page{min-height:100vh;background:#f8fafc}.td-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:20px 32px;display:flex;align-items:center;gap:12px}.td-header-icon{color:#64748b;flex-shrink:0}.td-title{margin:0;font-size:18px;font-weight:600;color:#0f172a;letter-spacing:-.01em}.td-subtitle{margin:2px 0 0;font-size:13px;color:#94a3b8}.td-content{max-width:1100px;margin:0 auto;padding:24px 32px}.td-stats{display:flex;gap:12px;margin-bottom:20px}.td-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 20px;display:flex;flex-direction:column;gap:4px;min-width:90px}.td-stat-label{font-size:11px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.td-stat-value{font-size:22px;font-weight:700;color:#0f172a;line-height:1}.td-stat-value.alert{color:#ef4444}.td-stat-value.success{color:#22c55e}.td-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.td-search-wrap{position:relative;display:flex;align-items:center}.td-search-icon{position:absolute;left:10px;color:#94a3b8;pointer-events:none}.td-search-input{padding:7px 12px 7px 32px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#334155;width:180px;outline:none;background:#fff;font-family:inherit;transition:border-color .15s}.td-search-input::placeholder{color:#94a3b8}.td-search-input:focus{border-color:#3b82f6}.td-filter-group{display:flex;gap:4px}.td-filter-btn{padding:6px 12px;border-radius:6px;border:1px solid #e2e8f0;background:transparent;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.td-filter-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.td-filter-btn.active{background:#0f172a;border-color:#0f172a;color:#fff}.td-refresh-wrap{position:relative;margin-left:auto}.td-refresh-bar{position:absolute;bottom:0;left:6px;right:6px;height:2px;background:#e2e8f0;border-radius:1px;overflow:hidden}.td-refresh-bar-fill{height:100%;background:#3b82f6;transition:width .1s linear}.td-refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 12px 8px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.td-refresh-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.td-refresh-btn .spinning{animation:spin .3s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.td-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px;margin-bottom:16px}.td-loading,.td-empty-page{text-align:center;padding:60px 24px;color:#94a3b8;font-size:14px}.td-group{margin-bottom:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.td-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.td-group-header:hover{background:#f8fafc}.td-chevron{color:#94a3b8;transition:transform .2s;flex-shrink:0}.td-chevron.rotated{transform:rotate(90deg)}.td-group-label{font-size:13px;font-weight:600;color:#334155}.td-group-count{font-size:12px;color:#94a3b8}.td-group-checked{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#22c55e;margin-left:auto}.td-group-empty{padding:20px 16px;color:#94a3b8;font-size:13px;border-top:1px solid #f1f5f9}.td-table-wrap{overflow-x:auto;border-top:1px solid #e2e8f0}.td-table{width:100%;border-collapse:collapse;font-size:13px}.td-table thead tr{border-bottom:1px solid #e2e8f0}.td-table th{padding:9px 12px;text-align:left;font-size:11px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f8fafc}.td-table th.sticky{position:sticky;z-index:2}.td-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.td-table tbody tr:last-child{border-bottom:none}.td-table tbody tr:hover{background:#f8fafc}.td-table td{padding:10px 12px;color:#334155;white-space:nowrap}.td-table td.sticky{position:sticky;background:#fff;z-index:1}.td-table tbody tr:hover td.sticky{background:#f8fafc}.td-muted{color:#94a3b8}.td-open-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#3b82f6;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.td-open-btn:hover{background:#eff6ff;border-color:#3b82f6}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.live-dot.active{background-color:#22c55e;animation:pulse 1.5s ease-in-out infinite}.live-dot.warning{background-color:#f97316}.live-dot.danger{background-color:#ef4444}.live-dot.complete{background-color:#e2e8f0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.td-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px;text-align:center;padding:40px;background:#f8fafc}.td-gate h2{font-size:16px;font-weight:600;color:#0f172a;margin:0}.td-gate p{font-size:14px;color:#64748b;margin:0}.td-gate-btn{margin-top:8px;padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;font-family:inherit;transition:background .15s}.td-gate-btn:hover{background:#2563eb}.td-tabs{display:flex;gap:0;background:#fff;border-bottom:1px solid #e2e8f0;padding:0 32px}.td-tab{padding:12px 20px;border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;position:relative;transition:color .15s}.td-tab:hover{color:#334155}.td-tab--active{color:#0f172a;font-weight:600}.td-tab--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#0f172a;border-radius:1px 1px 0 0}.td-diag{max-width:1100px;margin:0 auto;padding:24px 32px}.td-diag-setup{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px 24px;margin-bottom:24px}.td-diag-setup-title{margin:0 0 16px;font-size:15px;font-weight:600;color:#0f172a}.td-diag-setup-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.td-diag-setup-row:last-child{margin-bottom:0}.td-diag-label{font-size:13px;font-weight:500;color:#334155;min-width:80px;flex-shrink:0}.td-diag-field{display:flex;align-items:center;gap:10px;flex:1}.td-combo{position:relative;min-width:360px}.td-combo-control{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 7px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:border-color .15s;min-height:34px}.td-combo-control--open{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.td-combo-control--disabled{opacity:.5;cursor:not-allowed}.td-combo-display{font-size:13px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.td-combo-display--placeholder{color:#94a3b8}.td-combo-input{border:none;outline:none;font-size:13px;color:#334155;background:transparent;font-family:inherit;flex:1;min-width:0}.td-combo-input::placeholder{color:#cbd5e1}.td-combo-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:6px}.td-combo-clear{display:flex;align-items:center;justify-content:center;border:none;background:#f1f5f9;border-radius:50%;width:18px;height:18px;cursor:pointer;color:#64748b;padding:0}.td-combo-clear:hover{background:#e2e8f0;color:#334155}.td-combo-chevron{color:#94a3b8;transition:transform .15s}.td-combo-chevron--open{transform:rotate(180deg)}.td-combo-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #00000014;z-index:50;list-style:none;margin:0;padding:4px}.td-combo-option{padding:7px 10px;font-size:13px;color:#334155;border-radius:4px;cursor:pointer}.td-combo-option:hover{background:#f1f5f9}.td-combo-option--selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.td-combo-no-result{padding:10px;font-size:12px;color:#94a3b8;text-align:center}.td-diag-student-names{font-size:12px;color:#475569;background:#f1f5f9;padding:4px 10px;border-radius:6px;line-height:1.5}.td-diag-loading-text{font-size:13px;color:#94a3b8}.td-diag-empty-text{font-size:13px;color:#94a3b8;font-style:italic}.td-diag-warning{margin:0;font-size:12px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:6px 12px}.td-diag-start-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s}.td-diag-start-btn:hover:not(:disabled){background:#2563eb}.td-diag-start-btn:disabled{background:#94a3b8;cursor:not-allowed}.td-diag-sessions{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.td-diag-sessions-header{position:relative;display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e2e8f0}.td-diag-sessions-header .td-refresh-wrap{margin-left:auto}.td-diag-sessions-title{margin:0;font-size:15px;font-weight:600;color:#0f172a}.td-diag-loading,.td-diag-empty{padding:40px 20px;text-align:center;color:#94a3b8;font-size:13px}.td-diag-table-wrap{overflow-x:auto}.td-diag-table{width:100%;border-collapse:collapse;font-size:13px}.td-diag-table thead tr{border-bottom:1px solid #e2e8f0}.td-diag-table th{padding:9px 16px;text-align:left;font-size:11px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f1f5f9}.td-diag-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.td-diag-table tbody tr:last-child{border-bottom:none}.td-diag-table tbody tr:hover{background:#f0f4f8}.td-diag-table td{padding:10px 16px;color:#334155;white-space:nowrap}.td-diag-student-name{font-weight:500;color:#0f172a}.td-diag-cell-group{color:#64748b;font-size:12px}.td-diag-cell-name{font-weight:500;color:#0f172a}.td-diag-cell-curriculum{font-size:12px;color:#64748b;word-break:break-all}.td-diag-cell-date{font-size:12px;color:#94a3b8;white-space:nowrap}.td-diag-stats{display:flex;gap:12px;margin-left:12px}.td-diag-stat{font-size:12px;color:#94a3b8}.td-diag-stat strong{color:#334155;margin-left:2px}.td-diag-stat strong.td-diag-stat--alert{color:#dc2626}.td-diag-stat strong.td-diag-stat--success{color:#16a34a}.td-diag-filter-group{display:flex;gap:2px;background:#f1f5f9;border-radius:6px;padding:2px}.td-diag-filter-btn{border:none;background:transparent;padding:4px 10px;border-radius:4px;font-size:12px;color:#64748b;cursor:pointer;font-family:inherit;transition:all .15s}.td-diag-filter-btn:hover{color:#334155}.td-diag-filter-btn.active{background:#fff;color:#0f172a;font-weight:500;box-shadow:0 1px 2px #0000000f}.td-diag-check-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1.5px solid #d1d5db;border-radius:4px;background:#fff;color:transparent;cursor:pointer;padding:0;transition:all .15s}.td-diag-check-btn:hover{border-color:#3b82f6}.td-diag-check-btn--checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.td-diag-row--checked{opacity:.5}.td-diag-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.td-diag-spinner{animation:td-diag-spin 1s linear infinite}@keyframes td-diag-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.td-diag-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#3b82f6;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.td-diag-copy-btn:hover{background:#eff6ff;border-color:#3b82f6}.td-diag-report-link{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#15803d;font-size:11px;font-weight:500;text-decoration:none;transition:all .15s}.td-diag-report-link:hover{background:#f0fdf4;border-color:#15803d}.td-diag-retry-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#f97316;font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.td-diag-retry-btn:hover:not(:disabled){background:#fff7ed;border-color:#f97316}.td-diag-retry-btn:disabled{opacity:.6;cursor:not-allowed}.session-selector{display:flex;align-items:center;gap:8px}.session-selector label{font-size:14px;font-weight:500}.session-dropdown{position:relative;min-width:250px}.session-dropdown-toggle{width:100%;padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px}.session-dropdown-toggle:hover{border-color:#999}.session-dropdown-toggle:disabled{background:#f5f5f5;cursor:not-allowed}.session-message-count{margin-left:8px;color:#666;font-size:12px}.dropdown-arrow{color:#666;font-size:10px}.session-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px #0000001a;max-height:400px;overflow-y:auto;z-index:100}.session-dropdown-empty{padding:16px;text-align:center;color:#666;font-size:14px}.session-dropdown-item{padding:12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.session-dropdown-item:last-child{border-bottom:none}.session-dropdown-item:hover{background:#f8f9fa}.session-dropdown-item.active{background:#e7f3ff}.session-item-title{font-size:14px;font-weight:500;margin-bottom:4px}.session-item-meta{font-size:12px;color:#666;display:flex;justify-content:space-between}.session-item-count{color:#999}.session-dropdown-divider{height:1px;background:#e0e0e0;margin:4px 0}.session-create-btn{width:100%;padding:12px;background:#f8f9fa;border:none;text-align:left;cursor:pointer;font-size:14px;color:#007bff;font-weight:500}.session-create-btn:hover{background:#e9ecef}.llm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.llm-modal-content{background:#fff;border-radius:12px;width:95%;max-width:1000px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.llm-modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e5e7eb}.llm-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.llm-modal-stage{background:#dbeafe;color:#1d4ed8;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.llm-modal-close{margin-left:auto;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;line-height:1}.llm-modal-close:hover{color:#1f2937}.llm-modal-tabs{display:flex;border-bottom:1px solid #e5e7eb;padding:0 20px}.llm-modal-tab{background:none;border:none;padding:12px 20px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.llm-modal-tab:hover{color:#3b82f6}.llm-modal-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.llm-modal-subtabs{display:flex;gap:8px;margin-bottom:16px}.llm-modal-subtab{background:#f3f4f6;border:none;padding:8px 16px;font-size:13px;font-weight:500;color:#4b5563;cursor:pointer;border-radius:6px;transition:all .2s}.llm-modal-subtab:hover{background:#e5e7eb}.llm-modal-subtab.active{background:#3b82f6;color:#fff}.llm-modal-body{flex:1;overflow-y:auto;padding:20px}.llm-modal-meta{display:flex;gap:20px;margin-bottom:16px;padding:12px 16px;background:#f9fafb;border-radius:8px;font-size:13px;color:#4b5563}.llm-modal-meta span{display:flex;align-items:center;gap:6px}.llm-modal-messages{display:flex;flex-direction:column;gap:12px}.llm-modal-message{border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.llm-modal-message-role{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.llm-modal-message-content{padding:12px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-y:auto;background:#1f2937;color:#f9fafb;font-family:SF Mono,Monaco,Consolas,monospace}.llm-modal-message-system .llm-modal-message-role{background:#fef3c7;color:#92400e}.llm-modal-message-user .llm-modal-message-role{background:#dbeafe;color:#1e40af}.llm-modal-message-assistant .llm-modal-message-role{background:#dcfce7;color:#166534}.llm-modal-prompt{margin-bottom:16px}.llm-modal-prompt h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#374151}.llm-modal-prompt pre{margin:0;padding:12px;background:#f3f4f6;border-radius:8px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.llm-modal-response pre{margin:0;padding:16px;background:#1f2937;color:#f9fafb;border-radius:8px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-y:auto;font-family:SF Mono,Monaco,Consolas,monospace}.llm-modal-empty{color:#9ca3af;font-style:italic;text-align:center;padding:40px}.experiment-list-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.experiment-list-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.experiment-list-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.experiment-list-modal-header h2{margin:0;font-size:1.5rem}.modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-close-btn:hover{color:#333}.experiment-create-section{padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.btn-create-experiment{width:100%;padding:12px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-create-experiment:hover{background:#218838}.experiment-create-form{display:flex;gap:8px;align-items:center}.experiment-create-form input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.experiment-create-form input:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 2px #28a74533}.experiment-create-form button{padding:10px 16px;border-radius:4px;font-size:14px;cursor:pointer}.experiment-list-search{padding:16px 20px;border-bottom:1px solid #e0e0e0}.experiment-list-search input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.experiment-list-content{flex:1;overflow-y:auto;padding:20px}.experiment-list-loading,.experiment-list-empty{text-align:center;padding:40px 20px;color:#666}.experiment-list-items{display:flex;flex-direction:column;gap:12px}.experiment-list-item{border:1px solid #e0e0e0;border-radius:6px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.experiment-list-item:hover{box-shadow:0 2px 4px #0000001a}.experiment-item-info h3{margin:0 0 8px;font-size:1.1rem}.experiment-item-meta{display:flex;gap:16px;font-size:.9rem;color:#666}.experiment-item-actions{display:flex;gap:8px}.experiment-item-actions button{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.btn-primary{background:#007bff;color:#fff;border:none}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff;border:none}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;color:#fff;border:none}.btn-danger:hover{background:#c82333}.experiment-list-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.pagination{display:flex;gap:12px;align-items:center}.pagination button{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer}.pagination button:hover:not(:disabled){background:#e9ecef}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:14px;color:#666}.lab-page-new{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;background:#f8fafc}.lab-header-new{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.header-left,.header-right{display:flex;align-items:center;gap:12px}.lab-title{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:#1f2937;margin:0}.lab-icon{font-size:24px}.lab-badge{padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:11px;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.lab-content-new{display:flex;flex:1;overflow:hidden;min-height:0}.lab-sidebar-new{width:15%;min-width:200px;background:#fff;border-right:1px solid #e5e7eb;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;min-height:0}.sidebar-section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:14px;font-weight:600;color:#374151;margin:0}.upload-stack{display:flex;flex-direction:column;gap:12px}.upload-box{width:100%;aspect-ratio:4 / 3;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;overflow:hidden;background:#f9fafb}.upload-box:hover{border-color:#3b82f6;background:#eff6ff}.upload-box.has-image{border-style:solid;border-color:#10b981;background:#fff}.upload-box label{width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af}.upload-icon{font-size:32px}.upload-placeholder span:last-child{font-size:12px;font-weight:500}.upload-image-wrapper{position:relative;width:100%;height:100%}.upload-image-wrapper img{width:100%;height:100%;object-fit:contain}.image-hint{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:10px;padding:4px;text-align:center;opacity:0;transition:opacity .2s}.upload-box:hover .image-hint{opacity:1}.pipeline-actions{display:flex;flex-direction:column;gap:8px}.action-group{position:relative}.action-btn{width:100%;padding:8px 12px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn:hover{border-color:#3b82f6;background:#eff6ff}.action-btn.save-btn{background:#3b82f6;color:#fff;border-color:#3b82f6}.action-btn.save-btn:hover{background:#2563eb}.action-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:10;display:flex;flex-direction:column}.action-dropdown button{padding:10px 12px;border:none;background:none;text-align:left;font-size:13px;color:#374151;cursor:pointer;transition:background .2s}.action-dropdown button:hover{background:#f3f4f6}.action-dropdown button:first-child{border-radius:6px 6px 0 0}.action-dropdown button:last-child{border-radius:0 0 6px 6px}.manage-btn{width:100%;padding:12px 16px!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:none!important;font-weight:600;font-size:14px}.experiments-area{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;overflow:hidden;min-height:0}.experiment-column{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7eb;overflow:hidden;min-height:0}.experiment-column:last-child{border-right:none}.column-header{padding:16px;border-bottom:1px solid #e5e7eb;background:#fafbfc;display:flex;flex-direction:column;gap:10px}.column-header-top{display:flex;justify-content:space-between;align-items:center}.column-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.column-title{cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background .2s}.column-title:hover{background:#f3f4f6}.column-title-input{margin:0;padding:4px 8px;font-size:16px;font-weight:600;color:#1f2937;border:2px solid #3b82f6;border-radius:4px;background:#fff;outline:none;width:200px}.column-remove-btn{background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.column-remove-btn:hover{background:#fee2e2;color:#dc2626}.pipeline-select{width:100%;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.pipeline-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.column-gold-section{padding:16px;border-bottom:1px solid #e5e7eb;background:#fafbfc;display:flex;flex-direction:column;gap:12px}.gold-run-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.gold-run-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.gold-run-btn:disabled{background:#cbd5e1;cursor:not-allowed}.gold-result-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.gold-header-row{display:flex;align-items:center;gap:8px}.gold-header-row .llm-detail-btn{flex-shrink:0;margin-right:8px}.gold-toggle{flex:1;padding:10px 12px;background:none;border:none;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .2s}.gold-toggle:hover{background:#f9fafb}.gold-metrics-badge{font-size:11px;color:#9ca3af;font-family:Monaco,Menlo,monospace}.gold-content{padding:12px;background:#f9fafb;border-top:1px solid #e5e7eb}.gold-content pre{margin:0;font-size:13px;line-height:1.6;color:#374151;overflow-x:auto;max-height:400px;overflow-y:auto}.lab-page-new .column-chat-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.lab-page-new .experiment-column .chat-title{margin:0;padding:12px 16px;font-size:14px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;background:#fafbfc}.lab-page-new .experiment-column .chat-messages-area{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.lab-page-new .experiment-column .chat-empty-hint{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:13px}.lab-page-new .experiment-column .chat-msg{padding:10px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.lab-page-new .experiment-column .chat-msg.student{background:#eff6ff;border-color:#bfdbfe}.lab-page-new .experiment-column .chat-msg.tutor{background:#f9fafb}.lab-page-new .experiment-column .msg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lab-page-new .experiment-column .msg-role{font-size:11px;font-weight:600;color:#6b7280}.lab-page-new .experiment-column .msg-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#9ca3af}.lab-page-new .experiment-column .meta-pipeline{background:#e0e7ff;color:#3730a3;padding:2px 6px;border-radius:4px;font-weight:600;font-size:9px}.lab-page-new .experiment-column .meta-model{background:#dbeafe;color:#1e40af;padding:2px 6px;border-radius:4px;font-weight:600;font-size:9px}.lab-page-new .experiment-column .meta-stage{background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-weight:600;font-size:9px}.lab-page-new .experiment-column .meta-custom{background:#fce7f3;color:#9d174d;padding:2px 6px;border-radius:4px;font-weight:600;font-size:9px}.lab-page-new .experiment-column .meta-metrics{font-family:Monaco,Menlo,monospace;color:#9ca3af}.lab-page-new .experiment-column .msg-content{font-size:13px;color:#1f2937;line-height:1.6;white-space:pre-wrap}.lab-page-new .experiment-column .msg-content p{margin:0}.lab-page-new .experiment-column .msg-content .markdown-latex-content,.lab-page-new .experiment-column .msg-content .markdown-block{display:inline}.lab-page-new .experiment-column .msg-content .katex-display{margin:0;overflow-x:auto;overflow-y:hidden}.lab-page-new .experiment-column .msg-diagnosis{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.lab-page-new .experiment-column .msg-diagnosis summary{font-size:11px;font-weight:500;color:#6b7280;cursor:pointer}.lab-page-new .experiment-column .msg-diagnosis pre{margin-top:6px;padding:10px;background:#f1f5f9;border-radius:4px;font-size:12px;line-height:1.5;overflow-x:auto;max-height:400px;overflow-y:auto}.experiment-column .chat-input-section{border-top:1px solid #e5e7eb;padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.experiment-column .attached-image-preview{position:relative;display:inline-block;margin-bottom:8px}.experiment-column .attached-image-preview img{max-width:150px;max-height:100px;border-radius:6px;border:1px solid #e5e7eb}.experiment-column .remove-image-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.experiment-column .chat-input-row{display:flex;gap:8px;align-items:flex-start}.experiment-column .chat-input-row .chat-textarea{flex:1}.experiment-column .image-attach-btn{padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;flex-shrink:0}.experiment-column .image-attach-btn:hover{background:#f3f4f6}.experiment-column .image-attach-btn:disabled{opacity:.5;cursor:not-allowed}.experiment-column .msg-image{max-width:200px;max-height:150px;border-radius:6px;margin-bottom:8px}.experiment-column .chat-textarea{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:inherit;resize:none;line-height:1.4}.experiment-column .chat-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.experiment-column .chat-textarea:disabled{background:#f9fafb;color:#9ca3af}.experiment-column .chat-controls{display:flex;gap:8px;align-items:center}.stage-select{flex:1;padding:6px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.stage-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.send-btn{padding:6px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.send-btn:hover:not(:disabled){background:#2563eb}.send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.image-btn{padding:6px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:16px;cursor:pointer;transition:all .2s}.image-btn:hover:not(:disabled){background:#e5e7eb}.image-btn:disabled{opacity:.5;cursor:not-allowed}.student-image-preview{position:relative;display:inline-block;margin-bottom:8px}.student-image-preview img{max-width:120px;max-height:80px;border-radius:8px;border:1px solid #e5e7eb;object-fit:cover}.student-image-preview .image-remove-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:#ef4444;color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.student-image-preview .image-remove-btn:hover{background:#dc2626}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;cursor:default;animation:modal-scale-in .2s ease-out}@keyframes modal-scale-in{0%{transform:scale(.95)}to{transform:scale(1)}}.image-modal-content img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 20px 60px #00000080}.image-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.image-modal-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.image-modal-close{position:absolute;top:-40px;right:0;width:32px;height:32px;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-modal-close:hover{background:#ffffff4d}.image-modal-body{padding:20px;overflow:auto;display:flex;align-items:center;justify-content:center}.image-modal-body img{max-width:100%;max-height:calc(90vh - 100px);object-fit:contain}.editor-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.editor-modal-content{background:#fff;border-radius:12px;width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.editor-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.editor-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.editor-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.editor-modal-close:hover{background:#f3f4f6;color:#1f2937}.editor-modal-body{flex:1;overflow-y:auto;padding:20px 24px}.stages-editor-list{display:flex;flex-direction:column;gap:12px}.stage-editor-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.stage-editor-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.stage-editor-card.selected{border-color:#3b82f6;background:#eff6ff}.stage-editor-header{font-size:15px;font-weight:600;color:#374151}.stage-editor-form{margin-top:16px;display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}.editor-form-row{display:flex;flex-direction:column;gap:6px}.editor-form-row label{font-size:13px;font-weight:500;color:#6b7280}.editor-form-row input,.editor-form-row select,.editor-form-row textarea{padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;background:#fff}.editor-form-row input:focus,.editor-form-row select:focus,.editor-form-row textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.editor-form-row textarea{font-family:Monaco,Menlo,Consolas,monospace;resize:vertical;min-height:120px;line-height:1.5}.editor-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.editor-btn-cancel{padding:8px 16px;background:#f3f4f6;color:#374151;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.editor-btn-cancel:hover{background:#e5e7eb}.manager-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.manager-modal-content{background:#fff;border-radius:12px;width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.manager-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.manager-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.manager-modal-header-actions{display:flex;align-items:center;gap:8px}.manager-modal-save{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.manager-modal-save:hover:not(:disabled){background:#2563eb}.manager-modal-save:disabled{background:#d1d5db;cursor:not-allowed}.manager-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.manager-modal-close:hover{background:#f3f4f6;color:#1f2937}.manager-modal-body{flex:1;overflow-y:auto;padding:20px 24px}.storage-mode-selector{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.storage-mode-selector label{font-size:13px;font-weight:600;color:#374151}.storage-mode-buttons{display:flex;gap:8px}.storage-mode-btn{padding:6px 16px;border:2px solid #e5e7eb;background:#fff;color:#6b7280;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.storage-mode-btn:hover{border-color:#3b82f6;background:#eff6ff}.storage-mode-btn.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.pipeline-list h4,.template-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280}.empty-list{padding:20px;text-align:center;color:#9ca3af;font-size:14px}.pipeline-items{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.pipeline-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.pipeline-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.pipeline-info{display:flex;flex-direction:column;gap:4px}.pipeline-name{font-size:14px;font-weight:600;color:#1f2937}.pipeline-meta{font-size:12px;color:#9ca3af}.pipeline-actions{display:flex;flex-direction:row;gap:8px;flex-shrink:0;flex-wrap:nowrap;align-items:center}.btn-edit,.btn-copy,.btn-delete{display:inline-flex;align-items:center;padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-copy{background:#e0e7ff;color:#3730a3}.btn-copy:hover{background:#c7d2fe}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca}.template-section{padding-top:20px;border-top:1px solid #e5e7eb}.template-buttons{display:flex;gap:12px}.template-btn{flex:1;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.template-btn:hover{border-color:#3b82f6;background:#eff6ff}.edit-header{margin-bottom:20px}.pipeline-name-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;font-weight:600}.pipeline-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-cancel,.btn-save{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-save{background:#3b82f6;color:#fff}.btn-save:hover{background:#2563eb}.temperature-control{display:flex;align-items:center;gap:12px}.temperature-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;cursor:pointer}.temperature-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;transition:transform .15s ease}.temperature-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.temperature-slider::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border-radius:50%;border:none;cursor:pointer}.temperature-input{width:60px;padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;text-align:center}.temperature-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.lab-page-new .experiment-column .msg-rating-section{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.lab-page-new .experiment-column .rating-stars{display:flex;align-items:center;gap:2px}.lab-page-new .experiment-column .star-btn{background:none;border:none;font-size:18px;color:#d1d5db;cursor:pointer;padding:2px;transition:transform .1s}.lab-page-new .experiment-column .star-btn:hover{transform:scale(1.2)}.lab-page-new .experiment-column .star-btn.active{color:#fbbf24}.lab-page-new .experiment-column .rating-value{margin-left:8px;font-size:12px;color:#6b7280}.lab-page-new .experiment-column .msg-notes{margin-top:6px}.lab-page-new .experiment-column .msg-notes summary{font-size:12px;color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none}.lab-page-new .experiment-column .msg-notes summary:hover{color:#374151}.lab-page-new .experiment-column .notes-textarea{width:100%;margin-top:6px;padding:8px;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;resize:vertical;min-height:50px}.lab-page-new .experiment-column .notes-textarea:focus{outline:none;border-color:#3b82f6}.lab-page-new .experiment-column .msg-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lab-page-new .experiment-column .fork-btn{background:#fef3c7;border:1px solid #f59e0b;color:#b45309;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.lab-page-new .experiment-column .fork-btn:hover{background:#fde68a;border-color:#d97706}.lab-page-new .experiment-column .fork-btn:disabled{opacity:.5;cursor:not-allowed}.custom-prompt-section{display:flex;flex-direction:column;gap:8px}.prompt-variable-buttons{display:flex;flex-wrap:wrap;gap:6px}.variable-btn{padding:4px 10px;font-size:12px;font-weight:500;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s}.variable-btn:hover{background:#e0f2fe;border-color:#0ea5e9;color:#0369a1}.prompt-hint{font-size:11px;color:#9ca3af;margin-top:4px}.lab-page-new .experiment-column .msg-llm-detail{margin-top:8px;padding:8px 12px;background:#fefce8;border:1px solid #fef08a;border-radius:8px;font-size:12px}.lab-page-new .experiment-column .msg-llm-detail summary{cursor:pointer;font-weight:600;color:#854d0e;padding:4px 0}.lab-page-new .experiment-column .msg-llm-detail[open] summary{margin-bottom:8px;border-bottom:1px solid #fef08a;padding-bottom:8px}.llm-detail-section{margin-bottom:12px}.llm-detail-section:last-child{margin-bottom:0}.llm-detail-section h4{font-size:11px;font-weight:600;color:#78716c;margin:0 0 6px;text-transform:uppercase}.llm-detail-meta{display:flex;gap:16px;margin-bottom:8px;font-size:11px;color:#57534e}.llm-detail-meta span{padding:2px 8px;background:#fef3c7;border-radius:4px}.llm-prompt,.llm-response{max-height:300px;overflow:auto;padding:12px;background:#1e293b;color:#e2e8f0;border-radius:6px;font-family:Fira Code,Monaco,monospace;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.llm-messages{margin-top:12px}.llm-messages h5{margin:0 0 8px;font-size:12px;color:#6b7280}.llm-message{margin-bottom:12px;padding:10px;border-radius:6px;background:#f8fafc;border-left:3px solid #94a3b8}.llm-message-system{background:#fef3c7;border-left-color:#f59e0b}.llm-message-user{background:#dbeafe;border-left-color:#3b82f6}.llm-message-assistant{background:#dcfce7;border-left-color:#22c55e}.llm-message strong{display:block;font-size:10px;color:#6b7280;margin-bottom:4px;text-transform:uppercase}.llm-message pre{margin:0;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.lab-page-new .experiment-column .llm-detail-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s;margin-top:8px}.lab-page-new .experiment-column .llm-detail-btn:hover{background:#e0e7ff;border-color:#a5b4fc}.lab-page-new .experiment-column .llm-detail-btn:before{content:"📋";font-size:12px}.prompt-action-buttons{display:flex;gap:8px;margin-bottom:8px}.load-prompt-btn{padding:6px 12px;font-size:12px;font-weight:500;color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:6px;cursor:pointer;transition:all .15s}.load-prompt-btn:hover{background:#bae6fd;border-color:#38bdf8}.sai-input-group{display:flex;gap:8px}.sai-input{flex:1;padding:8px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;outline:none;transition:border-color .15s}.sai-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sai-load-btn{padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:#6366f1;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.sai-load-btn:hover:not(:disabled){background:#4f46e5}.sai-load-btn:disabled{background:#9ca3af;cursor:not-allowed}.sai-error{font-size:12px;color:#dc2626;padding:8px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.metadata-display{display:flex;flex-direction:column;gap:12px;font-size:13px}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-label{font-weight:600;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.metadata-value{color:#1f2937;line-height:1.5}.metadata-choices{display:flex;flex-direction:column;gap:4px;margin-top:4px}.choice-item{display:flex;gap:6px;padding:6px 8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px}.choice-number{font-weight:600;color:#6366f1;min-width:20px}.choice-text{color:#374151;flex:1}.voice-input-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px}.voice-header{display:flex;align-items:center;gap:12px;padding:8px 12px}.voice-toggle-btn{padding:6px 12px;font-size:12px;font-weight:500;color:#374151;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s}.voice-toggle-btn:hover{background:#f3f4f6;border-color:#d1d5db}.recording-indicator{font-size:12px;color:#ef4444;font-weight:500;animation:pulse 1s infinite}.voice-settings{padding:12px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.voice-mode-select{display:flex;flex-direction:column;gap:8px;font-size:13px}.voice-mode-select label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:background .2s}.voice-mode-select label:hover{background:#f1f5f9}.voice-mode-select input[type=radio]{accent-color:#3b82f6}.transcribe-model-select{padding:6px 10px;font-size:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.transcribe-model-select:focus{outline:none;border-color:#3b82f6}.voice-controls{display:flex;gap:8px;align-items:center}.voice-record-btn,.voice-stop-btn,.voice-transcribe-btn,.voice-reset-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.voice-record-btn{background:#3b82f6;color:#fff}.voice-record-btn:hover:not(:disabled){background:#2563eb}.voice-record-btn:disabled{background:#cbd5e1;cursor:not-allowed}.voice-stop-btn{background:#ef4444;color:#fff}.voice-stop-btn:hover{background:#dc2626}.voice-preview{display:flex;flex-direction:column;gap:8px;width:100%}.voice-preview audio{width:100%;height:36px}.voice-preview-actions{display:flex;gap:8px}.voice-transcribe-btn{background:#8b5cf6;color:#fff;flex:1}.voice-transcribe-btn:hover:not(:disabled){background:#7c3aed}.voice-transcribe-btn:disabled{background:#cbd5e1;cursor:not-allowed}.voice-reset-btn{background:#f3f4f6;color:#374151}.voice-reset-btn:hover:not(:disabled){background:#e5e7eb}.voice-reset-btn:disabled{color:#9ca3af;cursor:not-allowed}.voice-error{font-size:12px;color:#ef4444;padding:8px;background:#fef2f2;border-radius:6px}.cl-page{padding:20px 28px 80px;max-width:1480px;margin:0 auto;font-size:14px}.cl-page h2{margin:0;font-size:22px}.cl-dim{color:#64748b;font-size:13px}.cl-error{color:#b91c1c;background:#fee2e2;padding:8px 14px;border-radius:8px}.cl-warn{color:#92400e;background:#fef3c7;padding:6px 12px;border-radius:8px;font-size:13px}.cl-empty{color:#64748b;padding:24px;background:#f8fafc;border-radius:10px}.cl-header{display:flex;gap:14px;align-items:center;margin-bottom:10px}.cl-header select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px}.cl-search{flex:1;max-width:360px;padding:6px 12px;border:1px solid #cbd5e1;border-radius:8px}.cl-search-hits{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 14px;margin-bottom:10px}.cl-search-hit{padding:3px 0;font-size:13px}.cl-hit-jump{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:6px;padding:2px 8px;cursor:pointer;font-size:12.5px}.cl-hit-jump:hover{background:#dbeafe}.cl-dict{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:10px 16px;margin-bottom:14px}.cl-dict summary{cursor:pointer;font-weight:600}.cl-dict-body{display:grid;grid-template-columns:2fr 3fr;gap:20px;margin-top:12px}.cl-dict-row{margin-bottom:8px}.cl-dict-val{color:#334155;font-size:13px;background:#fff;border-radius:6px;padding:4px 10px;margin-top:2px}.cl-tabs{display:flex;gap:4px;border-bottom:2px solid #e2e8f0;margin-bottom:14px}.cl-tab{padding:8px 18px;border:none;background:none;cursor:pointer;font-size:14px;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-2px}.cl-tab-on{color:#1d4ed8;font-weight:700;border-bottom-color:#1d4ed8}.cl-main{display:grid;grid-template-columns:260px 1fr;gap:24px}.cl-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;align-self:start;position:sticky;top:12px}.cl-panel h4{margin:0 0 6px}.cl-panel label{display:block;margin:6px 0}.cl-radio{display:flex;gap:6px;align-items:center;font-size:13.5px;cursor:pointer}.cl-radio-block{margin:4px 0}.cl-slider{margin:10px 0}.cl-slider input[type=range]{width:100%}.cl-content{min-width:0}.cl-group-select{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;margin:8px 0 14px}.cl-group-head h3{margin:4px 0}.cl-singles{margin:-6px 0 14px}.cl-singles summary{cursor:pointer;color:#64748b;font-size:13px}.cl-singles-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-top:6px}.cl-single-btn{text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12.5px;color:#334155}.cl-single-btn:hover{background:#f8fafc}.cl-single-on{border-color:#1d4ed8;background:#eff6ff}.cl-grid{display:grid;gap:14px;margin:12px 0}.cl-card{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#fff}.cl-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cl-card-meta{font-size:12.5px;color:#475569}.cl-card-foot{font-size:12.5px;color:#64748b;margin-top:6px}.cl-seojin-sum,.cl-seojin-sum code{color:#7c3aed}.cl-seojin-reason{margin-top:4px;font-size:12.5px}.cl-seojin-reason summary{cursor:pointer;color:#7c3aed}.cl-seojin-reason p{margin:4px 0 0;color:#475569}.cl-badge-removed{background:#fee2e2;color:#991b1b;border-radius:999px;padding:1px 8px;margin-left:6px;font-size:12px}.cl-img{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;box-sizing:border-box}.cl-text-fallback{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px 14px}.cl-text-fallback-tag{font-size:11.5px;color:#94a3b8;margin-bottom:4px}.cl-detail-btn{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:2px 10px;cursor:pointer;font-size:12.5px}.cl-detail-pop{background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:13px}.cl-detail-pop p{margin:4px 0}.cl-step-ids{color:#6d28d9;font-size:12.5px}.cl-verdict{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #e2e8f0;padding-top:12px;margin-top:8px}.cl-verdict-closed{color:#92400e;background:#fef3c7;border:none;border-radius:8px;padding:10px 14px}.cl-memo{flex:1;min-width:200px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px}.cl-save{background:#1d4ed8;color:#fff;border:none;border-radius:8px;padding:7px 18px;cursor:pointer}.cl-save:disabled{opacity:.5}.cl-verdict-current,.cl-verdict-msg{font-size:13px;color:#475569}.cl-scatter-box{margin:10px 0 14px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;background:#fff}.cl-scatter-box summary{cursor:pointer;color:#334155;font-size:14px}.cl-scatter-svg{width:100%;max-width:760px;height:auto;display:block;margin-top:8px;background:#f8fafc;border-radius:8px}.cl-scatter-dot{cursor:pointer;opacity:.78}.cl-scatter-dot:hover{opacity:1}.cl-scatter-sel{stroke:#0f172a;stroke-width:2;opacity:1}.cl-scatter-single{fill:#cbd5e1;opacity:.6}.cl-badge-avg{background:#eef2ff;color:#3730a3;border-radius:6px;padding:1px 7px;font-size:12px;margin-left:6px}.cl-badge-far{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.cl-nb-search{margin-bottom:12px}.cl-nb-body{display:grid;grid-template-columns:460px 1fr;gap:20px;align-items:start}.cl-nb-svg{width:100%;max-width:540px;background:#f8fafc;border-radius:12px}.cl-nb-ring{fill:none;stroke:#e2e8f0;stroke-width:1}.cl-nb-ring-label{fill:#94a3b8;font-size:10px}.cl-nb-dot{cursor:pointer;opacity:.85}.cl-nb-dot:hover{opacity:1}.cl-nb-anchor{fill:#0f172a}.cl-nb-anchor-label{fill:#0f172a;font-size:11px;font-weight:700}.cl-nb-verdict{border-radius:8px;padding:10px 14px;margin-bottom:10px;font-size:14px}.cl-nb-verdict-ok{background:#dcfce7;color:#166534}.cl-nb-verdict-warn{background:#fef3c7;color:#92400e}.cl-nb-verdict-info{background:#eff6ff;color:#1e40af}.cl-nb-anchor-card{font-size:13px;color:#334155;margin-bottom:8px}.cl-nb-table{border-collapse:collapse;font-size:13px;width:100%}.cl-nb-table th,.cl-nb-table td{border-bottom:1px solid #f1f5f9;padding:5px 8px;text-align:left}.cl-nb-table tbody tr{cursor:pointer}.cl-nb-table tbody tr:hover{background:#f8fafc}.cl-nb-row-twin{background:#eff6ff}.cl-nb-row-focus{outline:2px solid #dc2626;outline-offset:-2px}.cl-nb-bar{display:inline-block;height:8px;border-radius:3px;margin-right:6px;vertical-align:middle}.cl-dict-channels{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:12px}.cl-dict-channels h4{margin:0 0 6px}.cl-dict-layers{margin:10px 0}.cl-dict-chtable{border-collapse:collapse;font-size:13px;width:100%;margin-top:8px}.cl-dict-chtable th,.cl-dict-chtable td{border:1px solid #e2e8f0;padding:5px 10px;text-align:left;vertical-align:top}.cl-dict-chtable th{background:#f1f5f9}.cl-dict-chtable td:first-child{white-space:nowrap;font-weight:600;color:#0f172a}.cl-crit-desc{background:#eef2ff;color:#3730a3;border-radius:8px;padding:8px 10px;font-size:12.5px;margin:8px 0;line-height:1.5}.cl-mat-help{margin:6px 0 10px;font-size:12.5px}.cl-mat-help summary{cursor:pointer;color:#334155}.cl-mat-row{margin:8px 0}.cl-mat-row>b{color:#0f172a}.cl-mat-fields{color:#64748b;font-size:12px;margin-top:1px}.cl-inspect-btn{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1;border-radius:6px;padding:1px 7px;font-size:12px;cursor:pointer;margin-left:6px}.cl-inspect-btn:hover{background:#e0e7ff;border-color:#a5b4fc}.cl-nb-scan{margin-bottom:14px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;background:#fff}.cl-nb-scan summary{cursor:pointer;color:#334155;font-size:14px}.cl-nb-scan-body{margin-top:8px}.cl-nb-scan-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.cl-nb-scan-row{display:flex;gap:10px;align-items:center;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;font-size:13px;text-align:left}.cl-nb-scan-row:hover{background:#eff6ff;border-color:#bfdbfe}.cl-nb-scan-sim{font-weight:700;color:#0f172a;min-width:48px}.cl-nb-scan-kind{color:#475569;min-width:150px}.cl-nb-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:12px 0;padding:12px;background:#f8fafc;border-radius:10px}.cl-nb-cmp-col{min-width:0}.cl-nb-cmp-head{font-size:12.5px;color:#334155;margin-bottom:6px;display:flex;gap:8px;align-items:center;justify-content:space-between}.cl-nb-cmp-mid{text-align:center}.cl-nb-cmp-sim{font-size:20px;font-weight:700;color:#0f172a}.cl-nb-img{max-width:100%;max-height:560px;border:1px solid #e2e8f0;border-radius:8px}.cl-nb-img-fallback{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}@media (max-width: 900px){.cl-nb-body{grid-template-columns:1fr}}.cl-gate{margin-top:8px}.cl-gate-pass{color:#15803d;font-weight:700}.cl-gate-fail{color:#b91c1c;font-weight:700}.cl-gate-table{border-collapse:collapse;font-size:13px;margin-top:6px}.cl-gate-table th,.cl-gate-table td{border:1px solid #e2e8f0;padding:4px 10px;text-align:left}.cl-gate-table th{background:#f1f5f9}.cl-gate-warn td{background:#fef2f2}.cl-incl select{width:100%;max-width:640px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;margin:8px 0 14px}.cl-incl-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cl-incl-col h4{margin:4px 0 10px}.cl-incl-col .cl-card{margin-bottom:12px}@media (max-width: 900px){.cl-main,.cl-dict-body,.cl-incl-cols{grid-template-columns:1fr}}.tt-page.student-page{position:relative;inset:auto;width:100%;height:100vh;padding-bottom:0}.tt-top-bar{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0;height:48px;box-sizing:border-box}.tt-bar-title{flex:1;font-size:14px;font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-nav-btn{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer;flex-shrink:0;transition:all .2s}.tt-nav-btn:hover{background:#e2e8f0;color:#334155}.tt-recent-list{padding:24px 16px;max-width:600px;margin:0 auto}.tt-recent-heading{font-size:15px;font-weight:600;color:#334155;margin:0 0 16px}.tt-recent-empty{text-align:center;color:#94a3b8;font-size:13px;padding:32px 0}.tt-recent-empty .tt-nav-btn{margin-top:12px}.tt-recent-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .15s}.tt-recent-item:hover{background:#f1f5f9}.tt-recent-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;border:1px solid #e2e8f0;flex-shrink:0;background:#f8fafc}.tt-recent-thumb-empty{background:#f1f5f9}.tt-recent-info{flex:1;min-width:0}.tt-recent-title{font-size:13px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-recent-module{color:#64748b;font-weight:500}.tt-recent-time{font-size:11px;color:#94a3b8;margin-top:2px}.ls-page{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;max-width:860px;margin:0 auto;padding:32px 24px 80px;min-height:100vh;background:#fafbfc}.ls-header{margin-bottom:28px}.ls-title{font-size:26px;font-weight:700;color:#111827;margin:0 0 6px;letter-spacing:-.5px}.ls-subtitle{font-size:14px;color:#6b7280;margin:0}.ls-search-bar{display:flex;align-items:center;background:#fff;border:1.5px solid #E5E7EB;border-radius:12px;padding:4px 4px 4px 16px;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}.ls-search-bar:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614}.ls-search-icon{color:#9ca3af;flex-shrink:0;margin-right:12px;display:flex}.ls-search-input{flex:1;border:none;outline:none;font-size:15px;color:#111827;background:transparent;font-family:inherit;padding:10px 0}.ls-search-input::placeholder{color:#c0c5cd}.ls-search-btn{flex-shrink:0;padding:10px 28px;background:#111827;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;min-width:80px;display:flex;align-items:center;justify-content:center}.ls-search-btn:hover:not(:disabled){background:#1f2937}.ls-search-btn:disabled{background:#d1d5db;cursor:not-allowed}.ls-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.ls-spinner-lg{width:28px;height:28px;border:3px solid #E5E7EB;border-top-color:#3b82f6;border-radius:50%;animation:spin .6s linear infinite}.ls-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.ls-filter-group{display:flex;gap:6px;align-items:center}.ls-mode-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:3px}.ls-mode-btn{padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;font-family:inherit;transition:all .15s}.ls-mode-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.ls-filter-chip{padding:5px 14px;border:1px solid #E5E7EB;background:#fff;border-radius:20px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;font-family:inherit;transition:all .15s}.ls-filter-chip:hover{border-color:#d1d5db;background:#f9fafb}.ls-filter-chip.active{background:#111827;color:#fff;border-color:#111827}.ls-filter-pedagogy-chip{border-color:#e5e7eb}.ls-filter-pedagogy-chip.active{background:var(--chip-color, #3B82F6);color:#fff;border-color:var(--chip-color, #3B82F6)}.ls-filter-pedagogy{flex-wrap:wrap}.ls-filter-clear{padding:5px 10px;border:none;background:none;font-size:12px;color:#9ca3af;cursor:pointer;text-decoration:underline;font-family:inherit}.ls-error{padding:12px 16px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;color:#991b1b;font-size:13px;margin-bottom:16px}.ls-results-summary{display:flex;align-items:center;gap:8px;font-size:13px;color:#9ca3af;margin-bottom:16px;padding-left:2px}.ls-results-summary-dot{width:3px;height:3px;background:#d1d5db;border-radius:50%}.ls-results{min-height:200px}.ls-card{background:#fff;border:1px solid #E8EAED;border-radius:12px;padding:18px 20px;margin-bottom:10px;transition:border-color .15s,box-shadow .15s}.ls-card:hover{border-color:#c7cbd1;box-shadow:0 2px 8px #0000000a}.ls-card-expanded{border-color:#3b82f6;box-shadow:0 2px 12px #3b82f614}.ls-card-clickable{cursor:pointer}.ls-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ls-card-rank{width:24px;height:24px;background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#6b7280;flex-shrink:0}.ls-card-concept{font-size:15px;font-weight:600;color:#111827;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-card-pedagogy{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;border:1px solid;white-space:nowrap;flex-shrink:0}.ls-card-grade{background:#eff6ff;color:#2563eb;font-size:11px;font-weight:700;padding:3px 8px;border-radius:5px;flex-shrink:0}.ls-card-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#9ca3af;margin-bottom:8px;flex-wrap:wrap}.ls-card-course{color:#6b7280;font-weight:500}.ls-card-sep{color:#d1d5db}.ls-card-chapter{color:#9ca3af}.ls-card-duration{background:#f3f4f6;padding:1px 8px;border-radius:4px;font-weight:600;color:#6b7280;margin-left:4px}.ls-card-timerange{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#c0c5cd}.ls-card-desc{font-size:13px;color:#4b5563;line-height:1.6;margin:0 0 8px}.ls-card-prereqs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ls-card-prereqs-label{font-size:11px;font-weight:600;color:#9ca3af;margin-right:2px}.ls-card-prereq-tag{font-size:11px;padding:2px 8px;background:#fff7ed;color:#c2410c;border-radius:4px;border:1px solid #FED7AA}.ls-card-prereq-more{font-size:11px;color:#9ca3af}.ls-expanded{margin-top:16px;padding-top:16px;border-top:1px solid #F3F4F6}.ls-tabs{display:flex;gap:2px;margin-bottom:14px;background:#f3f4f6;border-radius:8px;padding:3px}.ls-tab{flex:1;padding:7px 0;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;font-family:inherit;transition:all .15s}.ls-tab:hover{color:#374151}.ls-tab-active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000000f}.ls-tab-content{min-height:60px}.ls-player-wrap{border-radius:10px;overflow:hidden;border:1px solid #E5E7EB}.ls-no-video{color:#9ca3af;font-size:13px;text-align:center;padding:24px}.ls-detail{display:flex;flex-direction:column;gap:16px}.ls-detail-section h4{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.ls-detail-section p{font-size:13px;color:#374151;line-height:1.7;margin:0}.ls-detail-learner{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px;padding:12px 14px}.ls-detail-learner h4{color:#059669}.ls-detail-learner p{color:#065f46}.ls-detail-prereqs{display:flex;gap:6px;flex-wrap:wrap}.ls-transcript{font-size:12px;color:#6b7280;line-height:1.7;max-height:160px;overflow-y:auto;background:#f9fafb;padding:12px 14px;border-radius:8px;border:1px solid #F3F4F6}.ls-lecture-group{background:#fff;border:1px solid #E8EAED;border-radius:12px;margin-bottom:10px;overflow:hidden}.ls-lecture-group-header{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;transition:background .15s}.ls-lecture-group-header:hover{background:#f9fafb}.ls-lecture-group-info{flex:1;display:flex;align-items:center;gap:10px}.ls-lecture-group-title{font-size:14px;font-weight:600;color:#111827}.ls-lecture-group-count{font-size:12px;color:#9ca3af;background:#f3f4f6;padding:2px 8px;border-radius:4px}.ls-lecture-group-chevron{font-size:12px;color:#9ca3af;transition:transform .2s}.ls-lecture-group-chevron.open{transform:rotate(180deg)}.ls-lecture-group-segments{padding:0 12px 12px}.ls-lecture-group-segments .ls-card{border-color:#f3f4f6}.ls-empty{text-align:center;padding:60px 20px}.ls-empty-icon{font-size:36px;margin-bottom:12px}.ls-empty p{font-size:16px;font-weight:600;color:#374151;margin:0 0 6px}.ls-empty span{font-size:13px;color:#9ca3af}.ls-loading{text-align:center;padding:48px 20px}.ls-loading p{margin-top:14px;font-size:14px;color:#6b7280}:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-alt: #f1f5f9;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #eef2ff;--color-primary-text: #4338ca;--color-success: #22c55e;--color-success-light: #f0fdf4;--color-success-text: #15803d;--color-error: #ef4444;--color-error-light: #fef2f2;--color-error-text: #dc2626;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-warning-text: #d97706;--color-info: #3b82f6;--color-info-light: #eff6ff;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16)}.hackathon-page{max-width:1200px;margin:0 auto;padding:var(--space-6);font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);min-height:100vh}.hackathon-header{text-align:center;margin-bottom:var(--space-6)}.hackathon-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.hackathon-subtitle{color:var(--color-text-secondary);margin:0;font-size:var(--text-lg)}.student-selector{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.student-selector.disabled{opacity:.5;background:var(--color-surface-alt)}.student-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);transition:border-color .15s,background-color .15s,color .15s;position:relative}.student-btn:disabled{cursor:not-allowed;opacity:.6}.student-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-text)}.student-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.student-btn-name{font-weight:600}.student-btn-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.badge{display:inline-block;padding:1px 6px;background:#0000000f;border-radius:var(--radius-full);font-size:11px;font-weight:600;color:#6b7280}.badge.green{background:#dcfce7;color:#166534}.badge.blue{background:#dbeafe;color:#1e40af}.student-btn.active .badge{background:#ffffff40;color:#ffffffe6}.tab-nav{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);background:var(--color-surface);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tab-btn{flex:1;padding:10px var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:background-color .15s,color .15s}.tab-btn:hover{background:var(--color-primary-light);color:var(--color-primary-text)}.tab-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.error-bar{padding:10px var(--space-4);background:var(--color-error-light);border-left:4px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error-text);margin-bottom:var(--space-3);font-size:var(--text-base)}.loading-bar{padding:10px var(--space-4);background:var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning-text);margin-bottom:var(--space-3);font-size:var(--text-base)}.tab-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tab-panel{padding:var(--space-6)}.panel-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.panel-header h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin:0;flex:1}.btn-primary,.primary-btn{padding:var(--space-2) var(--space-5);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;transition:background-color .15s,box-shadow .15s}.btn-primary:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-primary:disabled,.primary-btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-2) var(--space-5);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:600;transition:background-color .15s,color .15s}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.batch-controls{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.progress-info{flex:1;min-width:200px}.progress-text{font-weight:600;display:block;margin-bottom:6px;font-size:var(--text-base);color:var(--color-text)}.progress-bar{height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#818cf8);border-radius:var(--radius-full);transition:width .5s ease}.batch-result{padding:10px var(--space-4);background:var(--color-success-light);border:1px solid #bbf7d0;border-radius:var(--radius-md);font-weight:600;margin-bottom:var(--space-4);color:var(--color-success-text);font-size:var(--text-base)}.problems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.problem-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:center;transition:box-shadow .15s,transform .15s;position:relative;background:var(--color-surface)}.problem-card.clickable{cursor:pointer}.problem-card.clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.problem-photo-badge{position:absolute;top:var(--space-1);right:6px;font-size:var(--text-xs)}.problem-card.completed{background:var(--color-success-light);border-color:#86efac}.problem-card.pending{background:var(--color-surface-alt);border-color:var(--color-border)}.problem-card.correct{background:var(--color-info-light);border-color:#93c5fd}.problem-card.wrong{background:var(--color-warning-light);border-color:#fcd34d}.problem-num{font-weight:700;color:var(--color-text);font-size:var(--text-base)}.problem-topic{color:var(--color-text-secondary);font-size:var(--text-sm);margin:var(--space-1) 0}.problem-status{font-size:var(--text-sm)}.correctness{font-size:1.1rem}.student-summary{font-size:var(--text-lg);font-weight:600;color:var(--color-primary-text);margin-bottom:var(--space-4);padding:10px var(--space-4);background:var(--color-primary-light);border:1px solid #c7d2fe;border-radius:var(--radius-md)}.uploaded-badge{font-size:var(--text-xs);color:var(--color-success-text);background:var(--color-success-light);padding:3px var(--space-2);border-radius:var(--radius-sm);font-weight:600}.diagnosis-result{display:flex;flex-direction:column;gap:var(--space-5)}.diagnosis-summary-card{padding:var(--space-5);background:var(--color-primary-light);border-radius:var(--radius-lg);border:1px solid #c7d2fe}.diagnosis-summary-card h3{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--text-lg)}.level-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:10px}.habits-note{margin-top:10px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary)}.gap-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.gap-table th{background:var(--color-surface-alt);padding:10px var(--space-3);text-align:left;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.gap-table td{padding:10px var(--space-3);border-bottom:1px solid var(--color-border-light)}.gap-table tr:hover td{background:var(--color-surface-alt)}.level-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);color:#fff;font-size:var(--text-sm);font-weight:600}.curriculum-result{display:flex;flex-direction:column;gap:var(--space-6)}.cur-dashboard{display:flex;align-items:center;gap:6px;padding:var(--space-4) var(--space-6);background:var(--color-primary-light);border-radius:var(--radius-lg);border:1px solid #c7d2fe;flex-wrap:wrap}.cur-dash-item{display:flex;align-items:baseline;gap:var(--space-1)}.cur-dash-num{font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.cur-dash-num.cur-dash-lecture{color:var(--color-info)}.cur-dash-num.cur-dash-problem{color:var(--color-error)}.cur-dash-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.cur-dash-sep{color:var(--color-text-muted);font-size:1.2rem;margin:0 2px}.cur-goals-section{display:flex;flex-direction:column;gap:14px}.cur-section-title{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0;padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border)}.cur-rationale-box{padding:14px 18px;background:var(--color-success-light);border-radius:var(--radius-md);border:1px solid #bbf7d0}.cur-rationale-text{margin:0;font-size:var(--text-base);color:var(--color-text);line-height:1.6}.cur-weakpoints-box{padding:14px 18px;background:var(--color-warning-light);border-radius:var(--radius-md);border:1px solid #fde68a}.cur-weakpoints-label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-warning-text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.cur-weakpoints-text{margin:0;font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.6}.cur-wp-cards{display:flex;flex-direction:column;gap:var(--space-2)}.cur-wp-card{padding:var(--space-3) var(--space-4);background:var(--color-warning-light);border:1px solid #fde68a;border-radius:var(--radius-md)}.cur-wp-card-label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--color-warning-text);margin-bottom:var(--space-1)}.cur-wp-card-detail{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.5}.cur-gap-resolution{display:flex;flex-direction:column;gap:10px}.cur-gap-resolution-title{margin:0;font-size:var(--text-base);font-weight:700;color:var(--color-text-secondary)}.cur-gap-list{display:flex;flex-direction:column;gap:10px}.cur-gap-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cur-gap-diagnosis{padding:14px var(--space-4);background:var(--color-surface-alt);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px}.cur-gap-diagnosis-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cur-gap-subfield{font-weight:700;font-size:var(--text-base);color:var(--color-text)}.cur-gap-meta{display:flex;gap:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap}.cur-gap-specific{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.cur-gap-solution{padding:14px var(--space-4);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-2)}.cur-gap-solution-item{display:flex;gap:var(--space-2);align-items:flex-start}.cur-gap-session-num{font-size:var(--text-xs);font-weight:700;color:var(--color-primary-text);background:var(--color-primary-light);padding:2px var(--space-2);border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0}.cur-gap-solution-modules{display:flex;flex-direction:column;gap:2px}.cur-gap-solution-reason{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.cur-gap-no-match{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.cur-calendar-section{display:flex;flex-direction:column;gap:14px}.cur-week-block{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cur-week-header{padding:var(--space-2) var(--space-4);background:var(--color-surface-alt);font-weight:700;font-size:var(--text-base);color:var(--color-text);border-bottom:1px solid var(--color-border)}.cur-week-grid{display:grid;gap:0}.cur-cal-card{padding:14px;border-right:1px solid var(--color-border-light);transition:background-color .15s}.cur-cal-card:last-child{border-right:none}.cur-cal-card:hover{background:var(--color-surface-alt)}.cur-cal-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cur-cal-num{font-size:var(--text-xs);font-weight:700;color:var(--color-primary-text)}.cur-cal-time{font-size:.72rem;color:var(--color-text-muted);background:var(--color-surface-alt);padding:1px 6px;border-radius:var(--radius-md)}.cur-cal-topic{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);line-height:1.4}.cur-cal-counts{display:flex;gap:6px;margin-bottom:6px}.cur-cal-count-lecture{font-size:.72rem;font-weight:700;color:#1d4ed8;background:var(--color-info-light);padding:2px var(--space-2);border-radius:var(--radius-full)}.cur-cal-count-problem{font-size:.72rem;font-weight:700;color:var(--color-error-text);background:var(--color-error-light);padding:2px var(--space-2);border-radius:var(--radius-full)}.cur-cal-modules{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.cur-cal-mod{padding:6px 0}.cur-cal-mod-header{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:2px}.cur-cal-mod-type-label{font-size:.72rem;color:var(--color-text-secondary);font-weight:600}.cur-cal-mod-source{font-size:.68rem;color:var(--color-text-muted);background:var(--color-surface-alt);padding:1px 6px;border-radius:var(--radius-sm)}.cur-cal-mod-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text);line-height:1.3}.cur-cal-mod-reason{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.4;margin-top:2px}.cur-skipped-section{display:flex;flex-direction:column;gap:10px}.cur-skipped-table td{vertical-align:top}.cur-skipped-reason{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.4}.source-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;color:#fff}.source-badge-b,.source-badge.source-badge-b{background:#3b82f6}.source-badge-a,.source-badge.source-badge-a{background:#22c55e}.source-badge-r,.source-badge.source-badge-r{background:#f97316}.empty-state{text-align:center;padding:60px var(--space-5);color:var(--color-text-muted);font-size:var(--text-lg)}.hint{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.prereq-hints{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2)}.prereq-hints .hint{margin-top:0;color:var(--color-warning-text, #b45309)}.problem-analyses-section h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3)}.problem-analysis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:var(--space-2)}.problem-analysis-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--text-sm);background:var(--color-surface)}.problem-analysis-card.correct{background:var(--color-success-light);border-color:#86efac}.problem-analysis-card.wrong{background:var(--color-warning-light);border-color:#fcd34d}.pa-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.pa-num{font-weight:700;color:var(--color-text)}.pa-result{padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.pa-result.correct{background:var(--color-success-light);color:var(--color-success-text)}.pa-result.wrong{background:var(--color-error-light);color:var(--color-error-text)}.pa-topic{color:var(--color-text-secondary);font-size:var(--text-xs)}.pa-concepts{color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:6px;line-height:1.4}.pa-hw{margin-bottom:6px}.pa-understanding{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff;margin-right:6px}.pa-error-type{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff;margin-right:var(--space-1)}.pa-hw-assessment{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.4}.pa-llm-assessment{margin:var(--space-1) 0 0;color:var(--color-primary-text);font-size:var(--text-sm);line-height:1.4;border-top:1px solid var(--color-border);padding-top:var(--space-1)}.pa-polya-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;color:#fff;margin-right:6px}.pa-missing{font-size:var(--text-xs);color:var(--color-error-text);margin:2px 0}.polya-gap-table{font-size:var(--text-sm)}.polya-gap-table td{vertical-align:top}.polya-stage-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.subfield-chip{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-md);background:var(--color-primary-light);color:var(--color-primary-text);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.gap-specific{color:var(--color-text);line-height:1.4;margin-bottom:3px}.gap-meta{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.evidence-nums{display:flex;flex-wrap:wrap;gap:var(--space-1)}.evidence-chip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-text);font-size:.72rem;font-weight:700}.pattern-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.concept-gaps-section h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3)}.error-rate-chip{font-size:var(--text-sm);font-weight:700}.heatmap-section h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3)}.heatmap-wrapper{position:relative;overflow-x:auto;margin-bottom:var(--space-2)}.heatmap-table{border-collapse:collapse;font-size:var(--text-xs);white-space:nowrap;min-width:100%}.heatmap-corner{position:sticky;left:0;background:var(--color-surface);z-index:2;padding:var(--space-1) var(--space-2);font-weight:700;text-align:center;border-bottom:2px solid var(--color-border)}.heatmap-col-header{padding:var(--space-1) 2px;text-align:center;border-bottom:1px solid var(--color-border);min-width:52px}.heatmap-col-label{font-weight:600;color:var(--color-text);font-size:.7rem;writing-mode:horizontal-tb}.heatmap-col-rate{font-size:.65rem;font-weight:700;margin-top:2px}.heatmap-stage-row th{border-bottom:2px solid var(--color-border)}.heatmap-stage-header{color:#fff;font-size:.7rem;font-weight:700;padding:3px var(--space-1);text-align:center}.heatmap-row-header{position:sticky;left:0;background:var(--color-surface);z-index:1;padding:3px var(--space-2);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-1)}.heatmap-row-header.correct{background:var(--color-success-light)}.heatmap-row-header.wrong{background:var(--color-warning-light)}.heatmap-pnum{font-weight:700;color:var(--color-text);font-size:var(--text-xs);min-width:16px}.heatmap-result{font-size:.7rem;font-weight:700;padding:0 var(--space-1);border-radius:var(--radius-sm)}.heatmap-result.correct{color:var(--color-success)}.heatmap-result.wrong{color:var(--color-error)}.heatmap-cell{padding:3px;text-align:center;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:opacity .15s}.heatmap-cell:hover{opacity:.7}.heatmap-dot{width:10px;height:10px;border-radius:50%;margin:0 auto}.heatmap-error-type{padding:3px var(--space-1);border-bottom:1px solid var(--color-border-light);text-align:center}.heatmap-tooltip{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--color-text);color:#fff;padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);max-width:400px;z-index:100;box-shadow:var(--shadow-xl);line-height:1.5}.tooltip-judgment{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-xs);margin:var(--space-1) 0}.tooltip-judgment.ok{background:#22c55e40;color:#86efac}.tooltip-judgment.error{background:#ef444440;color:#fca5a5}.tooltip-judgment.unknown{background:#94a3b840;color:#cbd5e1}.tooltip-content,.tooltip-reason{font-size:var(--text-xs);color:#cbd5e1;margin-top:2px}.heatmap-legend{display:flex;gap:var(--space-4);justify-content:center;font-size:var(--text-xs);color:var(--color-text-secondary);padding:var(--space-1) 0}.legend-item{display:flex;align-items:center;gap:var(--space-1)}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.mini-dots{display:flex;gap:3px;margin:var(--space-1) 0 6px;flex-wrap:wrap}.mini-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.subfield-summary-section h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-3)}.subfield-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2)}.subfield-summary-card{padding:10px var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.subfield-summary-card.highlight{border-color:var(--color-error);background:var(--color-error-light)}.sf-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sf-stage-chip{display:inline-block;padding:1px 6px;border-radius:var(--radius-md);color:#fff;font-size:.65rem;font-weight:700}.sf-field-name{font-weight:700;font-size:var(--text-sm);color:var(--color-text)}.sf-rate{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-1)}.sf-counts{display:flex;gap:6px;font-size:.72rem}.sf-count{padding:1px 6px;border-radius:var(--radius-md);font-weight:600}.sf-count.ok{background:var(--color-success-light);color:var(--color-success-text)}.sf-count.err{background:var(--color-error-light);color:var(--color-error-text)}.sf-count.unk{background:var(--color-surface-alt);color:var(--color-text-muted)}.pool-section{margin-bottom:var(--space-2)}.section-divider{height:1px;background:var(--color-border);margin:var(--space-6) 0}.pool-content{display:flex;flex-direction:column;gap:var(--space-5)}.pool-stats{display:flex;gap:10px;flex-wrap:wrap}.pool-source-card{flex:1;min-width:180px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.pool-source-name{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.pool-source-title{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.pool-source-stats{display:flex;gap:var(--space-3);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.pool-total-stats{display:flex;gap:var(--space-3);padding:14px var(--space-4);background:var(--color-primary-light);border:1px solid #c7d2fe;border-radius:var(--radius-md);flex-wrap:wrap}.pool-stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.pool-stat-num{font-size:1.4rem;font-weight:700;color:var(--color-text)}.pool-stat-label{font-size:.72rem;color:var(--color-text-muted);margin-top:2px}.pool-gt-section{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.pool-gt-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.pool-gt-header h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0;flex:1}.pool-gt-progress{display:flex;flex-direction:column;gap:var(--space-2)}.pool-gt-stats{display:flex;gap:var(--space-2);flex-wrap:wrap}.gt-stat{padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.gt-stat.completed{background:var(--color-success-light);color:var(--color-success-text)}.gt-stat.skipped{background:var(--color-info-light);color:#1d4ed8}.gt-stat.errors{background:var(--color-error-light);color:var(--color-error-text)}.pool-gt-message{font-size:var(--text-sm);color:var(--color-text-secondary);padding:6px 10px;background:var(--color-warning-light);border:1px solid #fde68a;border-radius:var(--radius-sm)}.pool-day-summary h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 10px}.pool-day-list{display:flex;flex-direction:column;gap:3px;max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)}.pool-day-item{display:flex;align-items:center;gap:var(--space-2);padding:5px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface)}.pool-day-item:hover{background:var(--color-primary-light)}.pool-day-num{font-weight:700;color:var(--color-text);min-width:50px}.pool-day-title{flex:1;color:var(--color-text-secondary)}.pool-day-mods{color:var(--color-text-muted);font-size:var(--text-xs)}.pool-day-sas{color:var(--color-primary-text);font-size:var(--text-xs);font-weight:600}.token-section{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:var(--color-warning-light);border:1px solid #fde68a;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.token-label{font-size:var(--text-xs);font-weight:600;color:var(--color-warning-text);white-space:nowrap}.token-input{flex:1;padding:5px 10px;border:1px solid #fde68a;border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface);min-width:0}.token-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.token-status{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.sa-view-btn,.sf-view-btn{padding:2px var(--space-2);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary-text);font-size:.7rem;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s;white-space:nowrap}.sa-view-btn:hover,.sf-view-btn:hover{background:var(--color-primary);color:#fff}.sf-view-btn{margin-left:var(--space-2)}.sa-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.sa-viewer-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.sa-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.sa-viewer-header h3{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--color-text)}.sa-viewer-close{background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.sa-viewer-close:hover{background:var(--color-surface-alt);color:var(--color-text)}.sa-viewer-body{padding:var(--space-5);overflow-y:auto;flex:1}.sa-viewer-loading{text-align:center;padding:40px;color:var(--color-text-muted);font-size:var(--text-base)}.sa-viewer-error{text-align:center;padding:40px;color:var(--color-error-text);font-size:var(--text-base)}.sa-viewer-info{margin-bottom:var(--space-4)}.sa-viewer-key{font-size:var(--text-xs);color:var(--color-text-muted);font-family:SF Mono,Fira Code,monospace;background:var(--color-surface-alt);padding:2px var(--space-2);border-radius:var(--radius-sm)}.sa-viewer-image-section{margin-bottom:var(--space-5)}.sa-viewer-image-section h4{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary)}.sa-viewer-image{max-width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md)}.sa-viewer-gt-info{padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--space-1)}.sa-viewer-no-image{text-align:center;padding:30px;color:var(--color-text-muted);font-size:var(--text-base);background:var(--color-surface-alt);border-radius:var(--radius-md)}.sa-viewer-handwriting{border-top:2px dashed var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.sa-viewer-handwriting h4{color:var(--color-success-text)}.sa-viewer-chapter{display:inline-block;margin-left:10px;font-size:var(--text-sm);color:var(--color-primary-text);font-weight:500}.sa-viewer-duration{display:inline-block;margin-left:10px;font-size:var(--text-sm);color:var(--color-text-muted)}.sa-viewer-video-wrap{margin-bottom:var(--space-4)}.sa-viewer-video{width:100%;border-radius:var(--radius-md);background:#000}.sa-viewer-lecture-summary{margin-bottom:var(--space-4);padding:14px var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.sa-viewer-lecture-summary strong{display:block;margin-bottom:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.sa-viewer-lecture-summary p{margin:0;font-size:var(--text-base);color:var(--color-text);line-height:1.6;white-space:pre-wrap}.sa-viewer-chapters{margin-bottom:var(--space-4)}.sa-viewer-chapters strong{display:block;margin-bottom:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.sa-viewer-chapters ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.sa-viewer-chapters li{padding:var(--space-2) var(--space-3);background:var(--color-primary-light);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.sa-viewer-timestamp{font-size:var(--text-xs);color:var(--color-text-muted);font-family:SF Mono,Fira Code,monospace;margin-right:var(--space-1)}.sf-stats-bar{display:flex;align-items:center;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-5)}.sf-stat-item{display:flex;flex-direction:column;align-items:center;flex:1}.sf-stat-item.include .sf-stat-num{color:var(--color-success)}.sf-stat-item.skip .sf-stat-num{color:var(--color-error)}.sf-stat-num{font-size:1.8rem;font-weight:700;color:var(--color-text);line-height:1}.sf-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.sf-stat-divider{width:1px;height:40px;background:var(--color-border);flex-shrink:0}.sf-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:14px;box-shadow:var(--shadow-sm)}.sf-filter-group{display:flex;align-items:center;gap:var(--space-1)}.sf-filter-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;margin-right:2px}.sf-filter-btn{padding:var(--space-1) 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;color:var(--color-text-secondary);transition:border-color .15s,color .15s,background-color .15s}.sf-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary-text)}.sf-filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sf-filter-count{margin-left:auto;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.sf-list{display:flex;flex-direction:column;gap:6px}.sf-load-more-btn,.load-more-btn{margin:var(--space-3) auto 0;display:block;padding:var(--space-2) var(--space-6);border:1px solid var(--color-primary);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary-text);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}.sf-load-more-btn:hover,.load-more-btn:hover{background:var(--color-primary);color:#fff}.sf-item{display:flex;align-items:center;gap:var(--space-3);padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);transition:box-shadow .15s}.sf-item:hover{box-shadow:var(--shadow-md)}.sf-item-skip{background:var(--color-error-light);border-color:#fecaca;opacity:.85}.sf-item-include{background:var(--color-surface)}.sf-item-error{background:var(--color-warning-light);border-color:#fde68a;opacity:.85}.sf-item-verdict{font-size:1.1rem;flex-shrink:0}.sf-item-main{flex:1;min-width:0}.sf-item-title{font-size:var(--text-base);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.sf-item-meta{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:2px}.sf-type-badge{padding:1px 7px;border-radius:var(--radius-md);font-size:.72rem;font-weight:600}.sf-type-badge.video{background:var(--color-info-light);color:#1d4ed8}.sf-type-badge.problem{background:var(--color-success-light);color:var(--color-success-text)}.sf-source-badge{padding:1px 7px;border-radius:var(--radius-md);font-size:.72rem;background:var(--color-primary-light);color:var(--color-primary-text)}.sf-topic-badge{padding:1px 7px;border-radius:var(--radius-md);font-size:.72rem;background:var(--color-warning-light);color:var(--color-warning-text)}.sf-level-badge{padding:1px 7px;border-radius:var(--radius-md);font-size:.72rem;font-weight:700}.sf-level-badge.level-a{background:var(--color-success-light);color:var(--color-success-text)}.sf-level-badge.level-b{background:var(--color-warning-light);color:var(--color-warning-text)}.sf-rule-badge{padding:1px 7px;border-radius:var(--radius-md);font-size:.72rem;font-weight:600}.sf-rule-badge.skip{background:var(--color-error-light);color:var(--color-error-text)}.sf-rule-badge.keep{background:var(--color-success-light);color:var(--color-success-text)}.sf-item-reason{font-size:var(--text-xs);color:var(--color-text-muted)}.pd-modal{max-width:640px}.pd-title{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.pd-title h3{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-result-badge{flex-shrink:0;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.pd-result-badge.correct{background:var(--color-success-light);color:var(--color-success-text)}.pd-result-badge.wrong{background:var(--color-error-light);color:var(--color-error-text)}.pd-stage-group{margin-bottom:var(--space-5)}.pd-stage-label{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.pd-subfield-card{border-left:3px solid #bbb;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--color-surface-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.pd-sf-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.pd-sf-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text)}.pd-sf-badge{padding:1px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.pd-badge-error{background:var(--color-error-light);color:var(--color-error-text)}.pd-badge-ok{background:var(--color-success-light);color:var(--color-success-text)}.pd-badge-unknown{background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.pd-sf-rate{font-size:var(--text-xs);margin-left:auto}.pd-sf-content{font-size:var(--text-sm);color:var(--color-text);margin-top:2px;line-height:1.5}.pd-sf-reason{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.pd-error-section{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-error-light);border-radius:var(--radius-md)}.pd-error-section h4{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-error-text)}.pd-error-type-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-error);color:#fff;font-size:var(--text-xs);font-weight:600}.pd-error-desc{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-error-text);line-height:1.5}.pd-assessment-section{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-md)}.pd-assessment-section h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--color-text)}.pd-concepts-section{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-primary-light);border-radius:var(--radius-md)}.pd-concepts-section h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--color-primary-text)}.pd-concept-row{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);line-height:1.6}.pd-concept-label{font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.c2-progress-wrap{margin:var(--space-3) 0 var(--space-2);padding:10px 14px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.c2-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:var(--text-sm);color:var(--color-text-secondary)}.c2-progress-pct{font-weight:700;color:var(--color-primary-text)}.c2-done-badge{margin-left:var(--space-2);padding:1px var(--space-2);background:var(--color-success-light);color:var(--color-success-text);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.c2-pending-badge{margin-left:var(--space-2);padding:1px var(--space-2);background:var(--color-warning-light);color:var(--color-warning-text);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.c2-progress-bar{height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.c2-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#818cf8);border-radius:var(--radius-full);transition:width .4s ease}.c2-force-label{display:flex;align-items:center;gap:5px;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.c2-force-label input{cursor:pointer}.c2-controls-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 0;flex-wrap:wrap}.c2-controls-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.c2-evidence-list{margin-top:6px;display:flex;flex-direction:column;gap:var(--space-1)}.c2-evidence-item{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs)}.c2-evidence-num{flex-shrink:0;font-weight:700;color:var(--color-primary-text);background:var(--color-primary-light);border-radius:var(--radius-sm);padding:1px 6px;font-size:.72rem}.c2-evidence-reason{color:var(--color-text-secondary);line-height:1.4}.add-student-btn{background:transparent!important;border:2px dashed var(--color-text-muted)!important;color:var(--color-text-secondary)!important;font-weight:600}.add-student-btn:hover:not(:disabled){border-color:var(--color-primary)!important;color:var(--color-primary-text)!important;background:var(--color-primary-light)!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);min-width:380px;max-width:480px;box-shadow:var(--shadow-xl)}.modal-content h3{margin:0 0 var(--space-5);font-size:var(--text-xl);color:var(--color-text)}.modal-field{margin-bottom:14px}.modal-field label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.modal-field input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box;background:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.modal-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.batch-upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;margin-bottom:var(--space-4);transition:border-color .15s,background-color .15s;background:var(--color-surface-alt)}.batch-upload-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-light)}.batch-upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.batch-upload-icon{font-size:2rem}.batch-upload-text{font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary)}.batch-upload-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.batch-upload-btn{margin-top:var(--space-2);cursor:pointer}.hw-cache-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.hw-cache-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.hw-cache-label{font-size:var(--text-base);color:var(--color-text)}.hw-error-badge{display:inline-block;background:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-full);padding:1px var(--space-2);font-size:var(--text-xs);font-weight:600;margin-left:var(--space-2)}.hw-pending-badge{display:inline-block;background:var(--color-warning-light);color:var(--color-warning);border-radius:var(--radius-full);padding:1px var(--space-2);font-size:var(--text-xs);font-weight:600;margin-left:var(--space-2)}.hw-cache-pct{font-weight:700;font-size:var(--text-base);color:var(--color-primary-text)}.hw-cache-bar{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden;display:flex;margin-bottom:var(--space-3)}.hw-cache-fill.ok{background:var(--color-success)}.hw-cache-fill.error{background:var(--color-error)}.hw-cache-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.hw-cache-cell{display:flex;flex-direction:column;align-items:center;padding:6px var(--space-1);border-radius:var(--radius-md);font-size:var(--text-xs);position:relative}.hw-cache-cell.cache-ok{background:var(--color-success-light);color:var(--color-success)}.hw-cache-cell.cache-error{background:var(--color-error-light);color:var(--color-error)}.hw-cache-cell.cache-pending{background:var(--color-surface-alt);color:var(--color-text-muted)}.hw-cache-num{font-weight:700;font-size:var(--text-sm);color:var(--color-text)}.hw-cache-status{font-size:.7rem}.hw-cache-retry-btn{position:absolute;top:2px;right:2px;border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted);padding:0 2px;line-height:1}.hw-cache-retry-btn:hover{color:var(--color-primary-text)}.diagnosis-step-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.diagnosis-step-header{margin-bottom:var(--space-3)}.diagnosis-step-header h3{margin:0 0 var(--space-1);font-size:var(--text-lg);color:var(--color-text)}.diagnosis-step-desc{font-size:var(--text-sm);color:var(--color-text-muted)}.step-complete-badge{display:inline-block;background:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-full);padding:3px 10px;font-size:var(--text-xs);font-weight:600}.step-warn-badge{display:inline-block;background:var(--color-warning-light);color:var(--color-warning-text);border-radius:var(--radius-full);padding:3px 10px;font-size:var(--text-xs);font-weight:600}.diagnosis-controls{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center}:root{--hv2-bg: #f8fafc;--hv2-card: #ffffff;--hv2-border: #e2e8f0;--hv2-text: #1e293b;--hv2-text-secondary: #64748b;--hv2-primary: #3b82f6;--hv2-primary-hover: #2563eb;--hv2-danger: #ef4444;--hv2-success: #10b981;--hv2-warning: #f59e0b;--hv2-radius: 12px;--hv2-radius-sm: 8px}.hv2-root{--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--radius-md: 6px;--radius-full: 20px}.hv2-root{min-height:100vh;background:var(--hv2-bg);color:var(--hv2-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.hv2-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--hv2-card);border-bottom:1px solid var(--hv2-border);position:sticky;top:0;z-index:10}.hv2-header-left{display:flex;align-items:center;gap:12px}.hv2-header h1{font-size:20px;font-weight:700;margin:0}.hv2-back-btn{background:none;border:1px solid var(--hv2-border);border-radius:var(--hv2-radius-sm);padding:6px 12px;cursor:pointer;font-size:16px;color:var(--hv2-text);transition:background .15s}.hv2-back-btn:hover{background:var(--hv2-bg)}.hv2-set-badge{background:#eff6ff;color:var(--hv2-primary);padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500}.hv2-steps{display:flex;gap:8px;align-items:center}.hv2-step{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--hv2-text-secondary);opacity:.5;transition:opacity .2s}.hv2-step.active{opacity:1}.hv2-step.current{font-weight:600;color:var(--hv2-primary)}.hv2-step-dot{width:24px;height:24px;border-radius:50%;background:var(--hv2-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.hv2-step.active .hv2-step-dot{background:var(--hv2-primary);color:#fff}.hv2-step.clickable{cursor:pointer}.hv2-step.clickable:hover{opacity:.8}.hv2-main{max-width:1200px;margin:0 auto;padding:24px}.hv2-section{display:flex;flex-direction:column;gap:20px}.hv2-card{background:var(--hv2-card);border:1px solid var(--hv2-border);border-radius:var(--hv2-radius);padding:24px}.hv2-card h2{font-size:16px;font-weight:600;margin:0 0 16px}.hv2-card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.hv2-card-header-row h2{margin:0}.hv2-card-actions{display:flex;align-items:center;gap:8px}.hv2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.hv2-two-col{display:grid;grid-template-columns:280px 1fr;gap:20px}.hv2-input{padding:8px 12px;border:1px solid var(--hv2-border);border-radius:var(--hv2-radius-sm);font-size:14px;outline:none;transition:border-color .15s;background:#fff}.hv2-input:focus{border-color:var(--hv2-primary)}.hv2-form-row{display:flex;gap:8px;align-items:center}.hv2-form-row .hv2-input{flex:1}.hv2-input-desc{max-width:200px}.hv2-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.hv2-form-field label{display:block;font-size:12px;font-weight:500;color:var(--hv2-text-secondary);margin-bottom:4px}.hv2-form-field .hv2-input{width:100%;box-sizing:border-box}.hv2-form-field-wide{grid-column:1 / -1}.hv2-image-input{display:flex;gap:8px;align-items:center}.hv2-image-input .hv2-input{flex:1}.hv2-or{color:var(--hv2-text-secondary);font-size:12px}.hv2-form-actions{margin-top:12px;display:flex;justify-content:flex-end}.hv2-btn{padding:8px 16px;border:none;border-radius:var(--hv2-radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.hv2-btn:disabled{opacity:.5;cursor:not-allowed}.hv2-btn-primary{background:var(--hv2-primary);color:#fff}.hv2-btn-primary:hover:not(:disabled){background:var(--hv2-primary-hover)}.hv2-btn-secondary{background:var(--hv2-bg);color:var(--hv2-text);border:1px solid var(--hv2-border)}.hv2-btn-secondary:hover:not(:disabled){background:var(--hv2-border)}.hv2-btn-icon{width:28px;height:28px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--hv2-text-secondary);transition:all .15s}.hv2-btn-icon.hv2-btn-danger:hover{background:#fef2f2;color:var(--hv2-danger)}.hv2-btn-sm{padding:4px 12px;border:1px solid var(--hv2-border);border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .15s}.hv2-btn-correct:hover{border-color:var(--hv2-success);color:var(--hv2-success)}.hv2-btn-wrong:hover{border-color:var(--hv2-danger);color:var(--hv2-danger)}.hv2-btn-correct-active{background:#d1fae5;border-color:var(--hv2-success);color:#065f46;font-weight:600}.hv2-btn-wrong-active{background:#fee2e2;border-color:var(--hv2-danger);color:#991b1b;font-weight:600}.hv2-btn-upload{border:1px dashed var(--hv2-border)}.hv2-btn-upload:hover{border-color:var(--hv2-primary)}.hv2-btn-full{width:100%;margin-top:16px}.hv2-create-card{background:#f0f9ff;border-color:#bfdbfe}.hv2-set-card{cursor:pointer;transition:all .2s}.hv2-set-card:hover{border-color:var(--hv2-primary);box-shadow:0 2px 12px #3b82f61a}.hv2-set-card-header{display:flex;justify-content:space-between;align-items:flex-start}.hv2-set-card-header h3{margin:0;font-size:15px;font-weight:600}.hv2-set-desc{font-size:13px;color:var(--hv2-text-secondary);margin:8px 0}.hv2-set-meta{display:flex;gap:16px;font-size:12px;color:var(--hv2-text-secondary);margin-top:12px;padding-top:12px;border-top:1px solid var(--hv2-border)}.hv2-problem-list{display:flex;flex-direction:column;gap:8px}.hv2-problem-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--hv2-border);border-radius:var(--hv2-radius-sm);transition:background .15s}.hv2-problem-item:hover{background:var(--hv2-bg)}.hv2-problem-num{font-weight:600;font-size:14px;min-width:32px;color:var(--hv2-text-secondary)}.hv2-problem-image-thumb{width:48px;height:48px;border-radius:6px;overflow:hidden;background:var(--hv2-bg);flex-shrink:0}.hv2-problem-image-thumb img{width:100%;height:100%;object-fit:cover}.hv2-no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--hv2-text-secondary)}.hv2-problem-info{flex:1;display:flex;gap:8px;align-items:center;font-size:13px}.hv2-gt-badge{font-size:12px;color:var(--hv2-text-secondary);background:var(--hv2-bg);padding:4px 8px;border-radius:4px}.hv2-gt-status{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px}.hv2-gt-completed{color:var(--hv2-success);background:#d1fae5}.hv2-gt-error{color:var(--hv2-danger);background:#fee2e2}.hv2-gt-pending{color:var(--hv2-text-secondary);background:var(--hv2-bg)}.hv2-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--hv2-bg);color:var(--hv2-text-secondary);font-weight:500}.hv2-tag-topic{background:#eff6ff;color:var(--hv2-primary)}.hv2-tag-stage{background:#f0fdf4;color:#166534}.hv2-tag-danger{background:#fee2e2;color:#991b1b}.hv2-tag-warn{background:#fefce8;color:#854d0e}.hv2-students-panel{max-height:calc(100vh - 140px);overflow-y:auto}.hv2-student-list{display:flex;flex-direction:column;gap:4px;margin-top:12px}.hv2-student-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--hv2-radius-sm);cursor:pointer;transition:background .15s;font-size:14px}.hv2-student-item:hover{background:var(--hv2-bg)}.hv2-student-item.active{background:#eff6ff;color:var(--hv2-primary);font-weight:500}.hv2-answers-panel{max-height:calc(100vh - 140px);overflow-y:auto}.hv2-answer-count{font-size:13px;font-weight:400;color:var(--hv2-text-secondary);margin-left:8px}.hv2-answer-grid{display:flex;flex-direction:column;gap:6px}.hv2-answer-row-wrap{border:1px solid var(--hv2-border);border-radius:var(--hv2-radius-sm);transition:all .15s}.hv2-answer-row-wrap.correct{border-left:3px solid var(--hv2-success)}.hv2-answer-row-wrap.wrong{border-left:3px solid var(--hv2-danger)}.hv2-answer-row-main{display:flex;align-items:center;gap:10px;padding:8px 12px}.hv2-answer-num{font-weight:600;min-width:32px;color:var(--hv2-text-secondary);font-size:14px}.hv2-answer-topic{font-size:12px;color:var(--hv2-text-secondary);min-width:60px}.hv2-answer-correct{font-size:12px;min-width:60px}.hv2-answer-student-input{flex:0 0 100px;min-width:0}.hv2-answer-student-input .hv2-input{width:100%;box-sizing:border-box}.hv2-input-sm{padding:4px 8px;font-size:12px}.hv2-answer-buttons{display:flex;gap:4px}.hv2-answer-photo{display:flex;align-items:center;gap:6px;margin-left:auto}.hv2-answer-photos-bar{display:flex;gap:6px;padding:4px 12px 8px 54px;flex-wrap:wrap;align-items:center}.hv2-photo-chip{display:flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid var(--hv2-border);border-radius:4px;font-size:11px;background:#f0fdf4}.hv2-photo-chip-pending{background:#fffbeb;border-color:var(--hv2-warning)}.hv2-photo-chip-label{color:var(--hv2-success);font-size:10px}.hv2-photo-chip-name{color:var(--hv2-text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv2-photo-chip-remove{background:none;border:none;cursor:pointer;color:var(--hv2-danger);font-size:14px;line-height:1;padding:0 2px}.hv2-photo-chip-remove:hover{color:#991b1b}.hv2-photo-thumb{width:28px;height:28px;object-fit:cover;border-radius:3px}.hv2-diagnosis-panel{max-height:calc(100vh - 140px);overflow-y:auto}.hv2-status-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--hv2-radius-sm);font-size:13px;margin-bottom:16px}.hv2-status-running{background:#eff6ff;color:var(--hv2-primary)}.hv2-status-error{background:#fef2f2;color:var(--hv2-danger)}.hv2-spinner{width:16px;height:16px;border:2px solid #bfdbfe;border-top-color:var(--hv2-primary);border-radius:50%;animation:hv2-spin .8s linear infinite}@keyframes hv2-spin{to{transform:rotate(360deg)}}.hv2-elapsed{margin-left:6px;font-variant-numeric:tabular-nums;opacity:.8}.hv2-diagnosis-result{display:flex;flex-direction:column;gap:20px}.hv2-diagnosis-result .problem-analyses-section h3,.hv2-diagnosis-result .subfield-summary-section h3,.hv2-diagnosis-result .concept-gaps-section h3,.hv2-diagnosis-result .heatmap-section h3{font-size:14px;font-weight:600;margin:0 0 12px}.hv2-loading,.hv2-empty{text-align:center;padding:40px;color:var(--hv2-text-secondary);font-size:14px}.hv2-empty-sm{text-align:center;padding:16px;color:var(--hv2-text-secondary);font-size:13px}@media (max-width: 768px){.hv2-header{padding:12px 16px}.hv2-main{padding:16px}.hv2-two-col,.hv2-form-grid{grid-template-columns:1fr}.hv2-steps{display:none}}.advanced-cropper-line-wrapper--north,.advanced-cropper-line-wrapper--south{height:12px;width:100%}.advanced-cropper-line-wrapper--north{cursor:n-resize}.advanced-cropper-line-wrapper--south{cursor:s-resize}.advanced-cropper-line-wrapper--east,.advanced-cropper-line-wrapper--west{width:12px;height:100%}.advanced-cropper-line-wrapper--east{cursor:e-resize}.advanced-cropper-line-wrapper--west{cursor:w-resize}.advanced-cropper-line-wrapper--disabled{cursor:auto}.advanced-cropper-line-wrapper__content{position:absolute}.advanced-cropper-line-wrapper__content--east,.advanced-cropper-line-wrapper__content--west{height:100%}.advanced-cropper-line-wrapper__content--north,.advanced-cropper-line-wrapper__content--south{width:100%}.advanced-cropper-line-wrapper__content--east{left:50%;-webkit-transform:translateX(-100%);transform:translate(-100%)}.advanced-cropper-line-wrapper__content--west{right:50%;-webkit-transform:translateX(100%);transform:translate(100%)}.advanced-cropper-line-wrapper__content--north{top:50%}.advanced-cropper-line-wrapper__content--south{bottom:50%}.advanced-cropper-handler-wrapper{position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:30px;height:30px}.advanced-cropper-handler-wrapper__draggable{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.advanced-cropper-handler-wrapper--west-north{cursor:nw-resize}.advanced-cropper-handler-wrapper--north{cursor:n-resize}.advanced-cropper-handler-wrapper--east-north{cursor:ne-resize}.advanced-cropper-handler-wrapper--east{cursor:e-resize}.advanced-cropper-handler-wrapper--east-south{cursor:se-resize}.advanced-cropper-handler-wrapper--south{cursor:s-resize}.advanced-cropper-handler-wrapper--west-south{cursor:sw-resize}.advanced-cropper-handler-wrapper--west{cursor:w-resize}.advanced-cropper-handler-wrapper--disabled{cursor:auto}.advanced-cropper-bounding-box{position:relative;height:100%;width:100%}.advanced-cropper-bounding-box__handler-wrapper{position:absolute}.advanced-cropper-bounding-box__handler-wrapper--east,.advanced-cropper-bounding-box__handler-wrapper--west{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%}.advanced-cropper-bounding-box__handler-wrapper--south,.advanced-cropper-bounding-box__handler-wrapper--north{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);width:100%}.advanced-cropper-bounding-box__handler-wrapper--west,.advanced-cropper-bounding-box__handler-wrapper--west-north,.advanced-cropper-bounding-box__handler-wrapper--west-south{left:0}.advanced-cropper-bounding-box__handler-wrapper--east,.advanced-cropper-bounding-box__handler-wrapper--east-north,.advanced-cropper-bounding-box__handler-wrapper--east-south{left:100%}.advanced-cropper-bounding-box__handler-wrapper--north,.advanced-cropper-bounding-box__handler-wrapper--west-north,.advanced-cropper-bounding-box__handler-wrapper--east-north{top:0}.advanced-cropper-bounding-box__handler-wrapper--south,.advanced-cropper-bounding-box__handler-wrapper--west-south,.advanced-cropper-bounding-box__handler-wrapper--east-south{top:100%}.advanced-cropper-bounding-box__handler{position:absolute}.advanced-cropper-bounding-box__handler--west-north{left:0;top:0}.advanced-cropper-bounding-box__handler--north{left:50%;top:0}.advanced-cropper-bounding-box__handler--east-north{left:100%;top:0}.advanced-cropper-bounding-box__handler--east{left:100%;top:50%}.advanced-cropper-bounding-box__handler--east-south{left:100%;top:100%}.advanced-cropper-bounding-box__handler--south{left:50%;top:100%}.advanced-cropper-bounding-box__handler--west-south{left:0;top:100%}.advanced-cropper-bounding-box__handler--west{left:0;top:50%}.advanced-cropper-bounding-box__line{position:absolute}.advanced-cropper-bounding-box__line--north,.advanced-cropper-bounding-box__line--south{left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.advanced-cropper-bounding-box__line--north{top:0}.advanced-cropper-bounding-box__line--south{top:100%}.advanced-cropper-bounding-box__line--west,.advanced-cropper-bounding-box__line--east{top:0;-webkit-transform:translateX(-50%);transform:translate(-50%)}.advanced-cropper-bounding-box__line--west{left:0}.advanced-cropper-bounding-box__line--east{left:100%}.advanced-cropper-artificial-transition{will-change:transform}.advanced-cropper-background-image{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;-webkit-transform-origin:center;transform-origin:center;pointer-events:none;max-width:none!important}.advanced-cropper-canvas{display:none}.advanced-cropper-source{width:1px;height:1px;visibility:hidden;position:absolute;opacity:0}.advanced-cropper-fade{visibility:hidden;opacity:0;-webkit-transition:.5s;transition:.5s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.advanced-cropper-fade--visible{opacity:1;visibility:visible}.advanced-cropper-wrapper__fade{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;min-height:0}.advanced-cropper-stencil-grid{display:table;border-collapse:collapse;table-layout:fixed;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.advanced-cropper-stencil-grid--visible{opacity:1}.advanced-cropper-stencil-grid__row{display:table-row}.advanced-cropper-stencil-grid__cell{display:table-cell;width:1%;height:1%;border:currentColor solid 1px}.advanced-cropper-stencil-grid__cell--top{border-top-color:transparent}.advanced-cropper-stencil-grid__cell--left{border-left-color:transparent}.advanced-cropper-stencil-grid__cell--right{border-right-color:transparent}.advanced-cropper-stencil-grid__cell--bottom{border-bottom-color:transparent}.advanced-cropper-stencil-overlay{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-shadow:0 0 0 1000px currentColor;box-shadow:0 0 0 1000px currentColor;pointer-events:none;width:100%;height:100%;position:absolute;-webkit-backface-visibility:hidden}.advanced-cropper-stencil-wrapper{will-change:transform}.advanced-cropper-boundary{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;direction:ltr;position:relative}.advanced-cropper-boundary__content{width:100%;height:100%;position:absolute;top:0;left:0}.advanced-cropper-boundary__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.advanced-cropper-circle-stencil{position:absolute;height:100%;width:100%;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d}.advanced-cropper-circle-stencil__overlay{border-radius:50%;overflow:hidden}.advanced-cropper-circle-stencil__preview{border-radius:50%}.advanced-cropper-circle-stencil__draggable-area,.advanced-cropper-circle-stencil__overlay,.advanced-cropper-circle-stencil__preview,.advanced-cropper-circle-stencil__grid{position:absolute;height:100%;width:100%}.advanced-cropper-circle-stencil--movable{cursor:move}.advanced-cropper-rectangle-stencil{position:absolute;height:100%;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d}.advanced-cropper-rectangle-stencil__draggable-area,.advanced-cropper-rectangle-stencil__overlay,.advanced-cropper-rectangle-stencil__preview,.advanced-cropper-rectangle-stencil__grid{position:absolute;height:100%;width:100%}.advanced-cropper-rectangle-stencil--movable{cursor:move}.advanced-cropper-simple-line{background:none;border-width:0}.advanced-cropper-simple-line--south,.advanced-cropper-simple-line--north{height:0;width:100%}.advanced-cropper-simple-line--east,.advanced-cropper-simple-line--west{height:100%;width:0}.advanced-cropper-simple-line--east{border-right-width:1px}.advanced-cropper-simple-line--west{border-left-width:1px}.advanced-cropper-simple-line--south{border-bottom-width:1px}.advanced-cropper-simple-line--north{border-top-width:1px}.advanced-cropper-simple-handler{display:block}.advanced-cropper-preview{overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.advanced-cropper-preview__content{overflow:hidden;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.advanced-cropper-preview__image{display:none;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform-origin:center;transform-origin:center;max-width:none!important}.advanced-cropper-preview__image--visible{display:block}.advanced-cropper-preview__boundary{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;min-height:0;min-width:0}.cropper-preview-wrapper__fade{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;min-height:0;width:100%}.advanced-cropper{overflow:hidden;max-height:100%;background:#000;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:#fff}.advanced-cropper__boundary{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;min-height:0;min-width:0}.advanced-cropper__wrapper,.advanced-cropper__background-wrapper{left:0;top:0;right:0;bottom:0;position:absolute}.advanced-cropper__stencil-wrapper{position:absolute}.advanced-cropper *{-webkit-box-sizing:border-box;box-sizing:border-box}.advanced-cropper-simple-handler{background:currentColor;height:10px;width:10px}.advanced-cropper-simple-line{-webkit-transition:border .5s;transition:border .5s;border-color:#ffffff4d;border-style:solid}.advanced-cropper-simple-line--hover{border-color:#fff}.advanced-cropper-circle-stencil__preview{border:solid 2px rgba(255,255,255,.2)}.advanced-cropper-stencil-overlay{color:#00000080}.advanced-cropper-stencil-grid{color:#fff6}.eu-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.eu-editor__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#000;flex-shrink:0}.eu-editor__header-btn{background:none;border:none;color:#fff;font-size:16px;padding:4px 8px;cursor:pointer;min-width:56px;text-align:center}.eu-editor__header-btn:disabled{opacity:.4;cursor:default}.eu-editor__header-title{font-size:16px;font-weight:600;color:#fff;margin:0}.eu-editor__header-spacer{min-width:56px}.eu-editor__cropper-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.eu-editor__cropper{width:100%;height:100%;max-height:100%}.eu-editor__cropper .advanced-cropper-handler-wrapper{width:80px;height:80px}.eu-editor__toolbar{display:flex;justify-content:center;gap:40px;padding:12px 24px;background:#000;flex-shrink:0}.eu-editor__tool-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:#fff;cursor:pointer;padding:8px 16px;border-radius:8px;transition:background .15s}.eu-editor__tool-btn:active{background:#ffffff1a}.eu-editor__tool-btn span{font-size:11px;opacity:.7}.eu-editor__confirm-area{padding:12px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#000;flex-shrink:0}.eu-editor__confirm-btn{width:100%;padding:14px;border:none;border-radius:12px;background:#007aff;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.eu-editor__confirm-btn:active{opacity:.8}.eu-editor__confirm-btn:disabled{opacity:.4;cursor:default}.fcm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.fcm__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#000;flex-shrink:0}.fcm__header-btn{background:none;border:none;color:#fff;font-size:16px;padding:4px 8px;cursor:pointer;min-width:56px;text-align:center}.fcm__header-title{font-size:16px;font-weight:600;color:#fff;margin:0}.fcm__header-spacer{min-width:56px}.fcm__guide{text-align:center;font-size:13px;color:#fff9;padding:8px 16px;flex-shrink:0}.fcm__canvas-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px}.fcm__toolbar{display:flex;justify-content:center;gap:32px;padding:12px 24px;background:#000;flex-shrink:0}.fcm__tool-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:#fff;cursor:pointer;padding:8px 16px;border-radius:8px;transition:background .15s}.fcm__tool-btn:active{background:#ffffff1a}.fcm__tool-btn:disabled{opacity:.3;cursor:default}.fcm__tool-btn span{font-size:11px;opacity:.7}.fcm__confirm-area{padding:12px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#000;flex-shrink:0}.fcm__confirm-btn{width:100%;padding:14px;border:none;border-radius:12px;background:#5b8def;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.fcm__confirm-btn:active{opacity:.8}.fcm__confirm-btn:disabled{opacity:.4;cursor:default}.ucm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000;display:flex;flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.ucm__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#000;flex-shrink:0}.ucm__header-btn{background:none;border:none;color:#fff;font-size:16px;padding:4px 8px;cursor:pointer;min-width:56px;text-align:center}.ucm__header-spacer{min-width:56px}.ucm__mode-toggle{display:flex;background:#ffffff1f;border-radius:8px;padding:2px;gap:2px}.ucm__mode-btn{border:none;background:transparent;color:#fff9;font-size:13px;font-weight:500;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ucm__mode-btn--active{background:#ffffff40;color:#fff;font-weight:600}.ucm__guide{text-align:center;font-size:13px;color:#fff9;padding:8px 16px;flex-shrink:0}.ucm__editor-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.ucm__editor-wrap--freeform{padding:8px}.ucm__cropper{width:100%;height:100%;max-height:100%}.ucm__cropper .advanced-cropper-handler-wrapper{width:80px;height:80px}.ucm__toolbar{display:flex;justify-content:center;gap:32px;padding:12px 24px;background:#000;flex-shrink:0}.ucm__tool-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:#fff;cursor:pointer;padding:8px 16px;border-radius:8px;transition:background .15s}.ucm__tool-btn:active{background:#ffffff1a}.ucm__tool-btn:disabled{opacity:.3;cursor:default}.ucm__tool-btn span{font-size:11px;opacity:.7}.ucm__confirm-area{padding:12px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#000;flex-shrink:0}.ucm__confirm-btn{width:100%;padding:14px;border:none;border-radius:12px;background:#007aff;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.ucm__confirm-btn:active{opacity:.8}.ucm__confirm-btn:disabled{opacity:.4;cursor:default}.exam-upload{min-height:100vh;min-height:100dvh;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.exam-upload__resubmit-banner{background:#fff3e0;color:#e65100;font-size:13px;padding:10px 16px;text-align:center;border-bottom:1px solid #ffe0b2}.exam-upload__header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e5e5e7;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.exam-upload__header h1{font-size:17px;font-weight:600;margin:0;color:#1d1d1f}.exam-upload__header-sub{font-size:13px;color:#86868b}.exam-upload__progress-text{font-size:13px;font-weight:500;color:#007aff}.exam-upload__list{padding:12px 16px 120px;display:flex;flex-direction:column;gap:12px}.exam-problem-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014}.exam-problem-card__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.exam-problem-card__header:active{background:#f5f5f7}.exam-problem-card__title{display:flex;align-items:center;gap:8px}.exam-problem-card__num{font-size:15px;font-weight:600;color:#1d1d1f}.exam-problem-card__badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:#e8e8ed;color:#86868b}.exam-problem-card__badge--done{background:#d4f5d4;color:#1d8348}.exam-problem-card__chevron{color:#c7c7cc;transition:transform .2s ease;font-size:18px}.exam-problem-card__chevron--open{transform:rotate(90deg)}.exam-problem-card__body{padding:0 16px 16px}.exam-problem-card__image{width:100%;max-height:300px;object-fit:contain;background:#fafafa;border-radius:8px;border:1px solid #e5e5e7;margin-bottom:12px}.exam-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.exam-photo-slot{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px dashed #d1d1d6;display:flex;align-items:center;justify-content:center;background:#fafafa;cursor:pointer;-webkit-tap-highlight-color:transparent}.exam-photo-slot:active{background:#f0f0f5}.exam-photo-slot--filled{border-style:solid;border-color:#007aff}.exam-photo-slot__add{display:flex;flex-direction:column;align-items:center;gap:4px;color:#86868b}.exam-photo-slot__add-icon{font-size:24px;color:#007aff}.exam-photo-slot__add-text{font-size:11px}.exam-photo-slot__img{width:100%;height:100%;object-fit:cover}.exam-photo-slot__delete{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#00000080;color:#fff;border:none;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.exam-photo-slot__uploading{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:12px;color:#007aff;font-weight:500}.exam-upload__footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e5e7;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:10}.exam-upload__progress-bar{height:4px;background:#e8e8ed;border-radius:2px;margin-bottom:12px;overflow:hidden}.exam-upload__progress-fill{height:100%;background:#007aff;border-radius:2px;transition:width .3s ease}.exam-upload__footer-row{display:flex;align-items:center;justify-content:space-between}.exam-upload__footer-text{font-size:14px;color:#86868b}.exam-upload__footer-text strong{color:#1d1d1f}.exam-upload__submit-btn{padding:10px 24px;border-radius:20px;border:none;font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s,opacity .2s;background:#007aff;color:#fff}.exam-upload__submit-btn:active{opacity:.8}.exam-upload__submit-btn:disabled{background:#e8e8ed;color:#86868b;cursor:default}.exam-upload__status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:32px;text-align:center;background:#fff}.exam-upload__status-icon{font-size:48px;margin-bottom:16px}.exam-upload__status h2{font-size:20px;font-weight:600;color:#1d1d1f;margin:0 0 8px}.exam-upload__status p{font-size:15px;color:#86868b;margin:0;line-height:1.5}.exam-upload__status-desc{margin-bottom:8px!important}.exam-upload__status-desc strong{color:#1d1d1f}.exam-upload__status-sub{font-size:13px!important;color:#aeaeb2!important}.exam-upload__done-btn{margin-top:28px;width:100%;max-width:280px;padding:14px;background:#007aff;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.exam-upload__status-spinner{width:40px;height:40px;border:3px solid #e8e8ed;border-top-color:#007aff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.exam-upload__picker-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.exam-upload__picker{background:#fff;border-radius:16px;width:100%;max-width:400px;overflow:hidden;animation:exam-upload-modal-up .25s ease-out}.exam-upload__picker-btn{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;font-size:16px;font-weight:500;color:#1d1d1f;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;-webkit-tap-highlight-color:transparent}.exam-upload__picker-btn:active{background:#f5f5f7}.exam-upload__picker-icon{font-size:20px}.exam-upload__picker-cancel{width:100%;padding:16px 20px;font-size:16px;font-weight:500;color:#6e6e73;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.exam-upload__picker-cancel:active{background:#f5f5f7}.exam-upload__modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.exam-upload__modal{background:#fff;border-radius:16px;padding:28px 24px 20px;width:100%;max-width:400px;text-align:center;animation:exam-upload-modal-up .25s ease-out}@keyframes exam-upload-modal-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.exam-upload__modal-icon{font-size:36px;margin-bottom:12px}.exam-upload__modal-title{font-size:17px;font-weight:600;color:#1d1d1f;margin:0 0 12px}.exam-upload__modal-desc{font-size:14px;line-height:1.6;color:#6e6e73;margin:0 0 24px}.exam-upload__modal-desc strong{color:#1d1d1f}.exam-upload__modal-actions{display:flex;flex-direction:column;gap:8px}.exam-upload__modal-btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.exam-upload__modal-btn--primary{background:#007aff;color:#fff}.exam-upload__modal-btn--secondary{background:#f5f5f7;color:#86868b}.exam-upload__error{background:#fff2f2;color:#d70015;padding:12px 16px;margin:12px 16px 0;border-radius:8px;font-size:14px}.eu-screen{min-height:100vh;min-height:100dvh;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:24px}.eu-screen--center{display:flex;flex-direction:column;align-items:center;justify-content:center}.eu-screen__title{font-size:24px;font-weight:700;color:#1e2024;margin:0 0 16px;text-align:center}.eu-screen__desc{font-size:15px;color:#6b7180;margin:0 0 32px;text-align:center}.eu-screen__text{font-size:15px;color:#6b7180;margin:0}.eu-btn{width:100%;max-width:400px;padding:14px 24px;border:none;border-radius:12px;font-size:18px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s,transform .1s}.eu-btn:active{opacity:.9;transform:scale(.98)}.eu-btn--primary{background:#1e2024;color:#fff}.eu-btn--secondary{background:#fff;color:#1e2024;border:1px solid #d1d5db}.eu-btn--dark{background:#1e2024;color:#fff}.eu-error-icon{margin-bottom:16px}.eu-info-box{width:100%;max-width:400px;background:#f5f6f8;border-radius:12px;padding:20px 24px;margin-bottom:16px}.eu-info-box--blue{background:#eff6ff}.eu-info-box__title{font-size:15px;font-weight:600;color:#1e2024;margin:0 0 12px}.eu-info-box__text{font-size:14px;color:#6b7180;margin:0;line-height:1.6}.eu-info-box__list{margin:0;padding-left:20px;font-size:14px;color:#6b7180;line-height:1.8}.eu-info-box__list--disc{list-style-type:disc}.eu-info-box__list--decimal{list-style-type:decimal}.eu-screen__title--lg{font-size:30px}.eu-completion-icon{margin-bottom:16px}.eu-next-steps{width:100%;max-width:400px;border:1px solid #edeef2;border-radius:12px;padding:16px;margin-bottom:32px}.eu-next-steps__title{font-size:15px;font-weight:600;color:#1e2024;margin:0 0 12px}.eu-next-steps__text{font-size:14px;color:#6b7180;line-height:1.6;margin:0 0 12px}.eu-next-steps__time{font-size:14px;font-weight:500;color:#1e2024;margin:0}.eu-completion-warning{width:100%;max-width:400px;padding:16px;font-size:14px;color:#1e2024;text-align:center;line-height:1.6}.eu-completion-warning__icon{display:inline-block;vertical-align:middle;width:16px;height:16px;margin-right:4px}.eu-welcome{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.eu-welcome__header{position:relative;height:200px;background:#1e2024;color:#fff;padding:16px 24px;overflow:hidden}.eu-welcome__header h1,.eu-welcome__header h2,.eu-welcome__header p{color:inherit}.eu-welcome__header-bg{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:flex-end}.eu-welcome__header-bg img{height:100%;width:auto;object-fit:contain;opacity:.5}.eu-welcome__header-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;word-break:break-word}.eu-welcome__header-text{display:flex;flex-direction:column;gap:4px}.eu-welcome__date{font-size:14px;opacity:.6;line-height:24px;margin:0}.eu-welcome__title{font-size:28px;font-weight:200;letter-spacing:-.5px;line-height:1.2;margin:0}.eu-welcome__title-bold{font-weight:700}.eu-welcome__subtitle{font-size:18px;opacity:.9;line-height:1.6;margin:0}.eu-welcome__student{font-size:20px;font-weight:600;text-align:right;letter-spacing:-.5px;margin:0}.eu-welcome__body{flex:1;background:#fff;display:flex;flex-direction:column;align-items:center;padding:24px 24px 120px;gap:32px;overflow-y:auto}.eu-welcome__instructions{width:100%;display:flex;flex-direction:column;gap:8px}.eu-welcome__instructions-title{font-size:22px;font-weight:600;color:#1e2024;margin:0}.eu-welcome__instructions-text{font-size:16px;color:#1e2024;line-height:1.75;margin:0}.eu-welcome__example{width:100%;max-width:260px}.eu-welcome__example img{width:100%;height:auto;object-fit:contain}.eu-welcome__footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid #edeef2}.eu-welcome__footer-buttons{display:flex;gap:8px;width:100%;max-width:400px}.eu-welcome__count{font-size:14px;color:#0069e0;margin:0}.eu-welcome__count span{font-weight:700}.eu-loading-spinner{width:64px;height:64px;border:4px solid rgba(30,32,36,.2);border-top-color:#1e2024;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:32px}.eu-loading-title{font-size:20px;font-weight:600;color:#1e2024;margin:0 0 32px}.eu-loading-steps{display:flex;flex-direction:column;align-items:center;gap:12px}.eu-loading-step{display:flex;align-items:center;gap:12px;font-size:14px;color:#7f8c8d;animation:pulse 2s ease-in-out infinite}.eu-loading-step:nth-child(2){animation-delay:.2s}.eu-loading-step:nth-child(3){animation-delay:.4s}.eu-loading-dot{width:8px;height:8px;background:#1e2024;border-radius:50%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.eu-camera{height:100vh;height:100dvh;background:#000;display:flex;flex-direction:column;overflow:hidden}.eu-camera__header{flex-shrink:0;height:52px;padding:0 8px;display:flex;align-items:center;justify-content:space-between}.eu-camera__header-spacer{width:36px;height:36px}.eu-camera__header-progress{color:#fff;font-size:15px;font-weight:500}.eu-camera__header-progress span{font-weight:700}.eu-camera__header-submit{padding:6px 8px;border-radius:8px;background:none;border:none;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.eu-camera__body{flex:1;display:flex;flex-direction:column;min-height:0}.eu-camera__viewfinder{position:relative;width:100%;aspect-ratio:3 / 4;max-height:70dvh;flex-shrink:0;background:#15181e}.eu-camera__video{width:100%;height:100%;object-fit:cover}.eu-camera__error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#15181e}.eu-camera__error-content{color:#fff;text-align:center;padding:24px}.eu-camera__error-content p{margin:0 0 16px}.eu-camera__error-retry{background:#0f97ff;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer}.eu-camera__error-fallback{margin-top:8px;background:#6b7180;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer}.eu-camera__add-btn{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;padding:0}.eu-camera__add-circle{width:44px;height:44px;background:#1e2024b3;border-radius:50%;display:flex;align-items:center;justify-content:center}.eu-camera__count-badge{position:absolute;top:10px;left:10px;background:#1e2024b3;padding:6px 8px;border-radius:8px;display:flex;align-items:center;gap:8px;color:#fff;font-size:14px;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:2}.eu-camera__photo-list{position:absolute;top:44px;left:10px;background:#1e2024e6;border-radius:12px;padding:8px;display:flex;gap:8px;z-index:3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.eu-camera__photo-list-item{position:relative;flex-shrink:0}.eu-camera__photo-list-img{width:64px;height:64px;border-radius:8px;object-fit:cover;cursor:pointer}.eu-camera__photo-list-delete{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:#fb515f;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.eu-camera__header-problem-btn{padding:6px 8px;border-radius:8px;background:none;border:none;color:#0091ff;font-size:14px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.eu-camera__image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.eu-camera__image-modal-content{position:relative;max-width:100%;max-height:80vh}.eu-camera__image-modal-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.eu-camera__image-modal-close{position:absolute;top:-40px;right:0;width:36px;height:36px;background:#ffffff26;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.eu-camera__question-guide{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);background:#000000a6;color:#fff;font-size:18px;font-weight:600;text-align:center;white-space:pre-line;line-height:1.5;padding:16px 32px;border-radius:14px;z-index:10;pointer-events:none;animation:eu-question-guide 2s ease-out forwards}@keyframes eu-question-guide{0%{opacity:0}10%{opacity:1}65%{opacity:1}to{opacity:0}}.eu-camera__overlay-text{position:absolute;bottom:10px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 48px);background:#000000b3;padding:8px 16px;border-radius:8px}.eu-camera__overlay-text p{color:#fffc;font-size:14px;text-align:center;margin:0}.eu-camera__capturing{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.eu-camera__capturing-text{background:#000000b3;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px}.eu-camera__success{position:absolute;top:0;right:0;bottom:0;left:0;background:#2aa2701f;display:flex;align-items:center;justify-content:center;animation:eu-success-fade 1.5s ease-out forwards}.eu-camera__success-icon{width:80px;height:80px;background:#2aa270;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:eu-success-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes eu-success-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes eu-success-fade{0%,70%{opacity:1}to{opacity:0}}.eu-camera__tabs{flex-shrink:0;padding:8px 16px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.eu-camera__tabs::-webkit-scrollbar{display:none}.eu-camera__tabs-inner{display:flex;gap:8px}.eu-camera__tabs-inner:after{content:"";flex-shrink:0;width:8px}.eu-camera__tab{flex-shrink:0;width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;transition:all .2s}.eu-camera__tab--active{background:#0091ff}.eu-camera__tab--filled{background:#2a2d35}.eu-camera__tab--empty{background:#1e2024;border:2px dashed #3a3d45}.eu-camera__tab-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.6;border-radius:12px}.eu-camera__tab-num{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1.2}.eu-camera__tab-num-val{font-size:15px;font-weight:700}.eu-camera__tab-num-label{font-size:10px;font-weight:500;opacity:.7}.eu-camera__tab--active .eu-camera__tab-num{color:#fff}.eu-camera__tab--filled .eu-camera__tab-num{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.eu-camera__tab--empty .eu-camera__tab-num{color:#5a5d65}.eu-camera__tab-badge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;background:#0091ff;color:#fff;font-size:11px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;z-index:2;border:2px solid #000}.eu-camera__shutter-area{flex-shrink:0;height:72px;margin-top:24px;margin-bottom:32px;display:flex;align-items:center;justify-content:center;gap:48px}.eu-camera__nav-btn{padding:8px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.eu-camera__nav-btn:disabled{opacity:.3}.eu-camera__shutter{width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s}.eu-camera__shutter:active{transform:scale(.95)}.eu-camera__shutter:disabled{opacity:.5}.eu-camera__shutter-inner{width:60px;height:60px;border-radius:50%;background:#fff}.eu-review{height:100vh;height:100dvh;background:#fff;display:flex;flex-direction:column}.eu-review__resubmit-banner{flex-shrink:0;background:#fef3c7;color:#92400e;font-size:13px;padding:10px 16px;text-align:center;line-height:1.4}.eu-review__header{flex-shrink:0;height:52px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;background:#fff}.eu-review__header-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:none;border:none;cursor:pointer}.eu-review__header-title{font-size:15px;font-weight:500;color:#1e2024;margin:0}.eu-review__header-spacer{width:36px;height:36px}.eu-review__progress{flex-shrink:0;padding:0 16px 12px;background:#fff}.eu-review__progress-text{font-size:15px;font-weight:500;color:#6b7180;margin:0}.eu-review__progress-text span{font-weight:700;color:#1e2024}.eu-review__indicators{display:flex;flex-wrap:wrap;gap:2px;margin-top:8px}.eu-review__indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.eu-review__indicator--done{background:#0091ff}.eu-review__indicator--empty{background:#edeef2}.eu-review__main{flex:1;overflow-y:auto;padding:0 24px 16px}.eu-review__question{border-bottom:1px solid #edeef2;padding:12px 0}.eu-review__question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.eu-review__question-info{display:flex;align-items:baseline;gap:4px}.eu-review__question-num{font-size:14px;font-weight:500;color:#1e2024}.eu-review__question-count{font-size:12px;color:#6b7180}.eu-review__problem-img-wrap{margin-bottom:8px;border-radius:8px;overflow:hidden;background:#f5f6f8;cursor:pointer}.eu-review__problem-img{width:100%;max-height:120px;object-fit:contain}.eu-review__slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.eu-review__slot{position:relative;aspect-ratio:1;border-radius:8px;overflow:visible}.eu-review__slot--filled{background:#0e1c2a;border:2px solid #007aff;border-radius:8px;overflow:hidden}.eu-review__slot--empty{border:2px dashed #d1d1d6;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.eu-review__slot--empty:active{background:#f0f0f5}.eu-review__slot-label{font-size:11px;color:#86868b}.eu-review__slot-img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block}.eu-review__slot-delete{position:absolute;top:-4px;right:-4px;width:clamp(24px,6vw,32px);height:clamp(24px,6vw,32px);display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;z-index:1}.eu-review__slot-delete svg{width:100%;height:100%}.eu-review__footer{flex-shrink:0;padding:8px 24px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px));background:#fff}.eu-review__submit{width:100%;background:#1e2024;color:#fff;font-weight:500;font-size:18px;padding:12px;border-radius:12px;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s}.eu-review__submit:active{transform:scale(.98)}.eu-review__submit:disabled{background:#d1d5db;cursor:not-allowed}.eu-review__modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:50}.eu-review__modal{background:#fff;border-radius:16px;padding:28px 24px 20px;max-width:400px;width:100%;text-align:center;animation:exam-upload-modal-up .25s ease-out}.eu-review__modal-icon{font-size:36px;margin-bottom:12px}.eu-review__modal-title{font-size:17px;font-weight:600;color:#1e2024;margin:0 0 12px}.eu-review__modal-desc{font-size:14px;line-height:1.6;color:#6e6e73;margin:0 0 24px}.eu-review__modal-desc strong{color:#1e2024}.eu-review__modal-actions{display:flex;flex-direction:column;gap:8px}.eu-review__modal-secondary{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;background:#f5f5f7;color:#86868b;-webkit-tap-highlight-color:transparent}.eu-review__modal-primary{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;background:#007aff;color:#fff;-webkit-tap-highlight-color:transparent}.eu-review__picker-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.eu-review__picker{background:#fff;border-radius:16px;width:100%;max-width:400px;overflow:hidden;animation:exam-upload-modal-up .25s ease-out}.eu-review__picker-btn{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;font-size:16px;font-weight:500;color:#1d1d1f;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;-webkit-tap-highlight-color:transparent}.eu-review__picker-btn:active{background:#f5f5f7}.eu-review__picker-icon{font-size:20px}.eu-review__picker-cancel{width:100%;padding:16px 20px;font-size:16px;font-weight:500;color:#6e6e73;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.eu-review__picker-cancel:active{background:#f5f5f7}.eu-review__preview-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.eu-review__preview-img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.eu-review__preview-close{position:absolute;top:max(16px,env(safe-area-inset-top,16px));right:16px;width:36px;height:36px;background:#ffffff26;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.rpt{--rpt-color-bg: #f7f8fa;--rpt-color-surface: #ffffff;--rpt-color-dark: #1e2024;--rpt-color-primary: #1e2024;--rpt-color-secondary: #6b7180;--rpt-color-tertiary: #4f545f;--rpt-color-muted: #aeaeb2;--rpt-color-border: #edeef2;--rpt-color-subtle-bg: rgba(30, 32, 36, .06);--rpt-color-highlight: #c7e6ff;--rpt-color-blue: #5b8def;--rpt-color-blue-bg: #eef2ff;--rpt-color-red: #fb515f;--rpt-color-red-bg: #ffe6e6;--rpt-color-green-bg: #e6f9ee;--rpt-color-green-text: #1d8348;--rpt-color-red-text: #d70015;--rpt-color-disabled: #d1d1d6;--rpt-color-empty: #e8e8ed;--rpt-color-warn-bg: #fff3cd;--rpt-color-warn-text: #856404;--rpt-stage-understand: #5b8def;--rpt-stage-plan: #a855f7;--rpt-stage-execute: #f97316;--rpt-jdg-pass: #22bb33;--rpt-jdg-fail: #fb515f;--rpt-jdg-unknown: #86868b;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--rpt-color-bg);min-height:100dvh}.rpt-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;height:56px;box-sizing:border-box;max-width:1440px;margin:0 auto;border-bottom:.5px solid rgba(30,32,36,.12)}.rpt-header__logo-wrap{display:flex;align-items:center}.rpt-header__logo{width:104px;height:28px;display:block}.rpt-header__btn{width:36px;height:36px;border:1px solid rgba(30,32,36,.09);background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.rpt-header__btn:hover{background:var(--rpt-color-subtle-bg)}.rpt-content{max-width:1008px;margin:0 auto;padding:16px 16px 40px}.rpt-hero{position:relative;border-radius:16px;overflow:hidden;min-height:220px}.rpt-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--rpt-color-dark)}.rpt-hero__illustration{position:absolute;right:20px;top:calc(50% - 4px);transform:translateY(-50%);width:260px;height:260px;opacity:.7;pointer-events:none;overflow:hidden}.rpt-hero__illustration img{width:100%;height:100%;object-fit:contain}.rpt-hero__body{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:24px 32px;color:var(--rpt-color-surface);min-height:220px}.rpt-hero__student{align-self:flex-end;font-size:18px;font-weight:600;opacity:.9}.rpt-hero__text{display:flex;flex-direction:column;gap:4px}.rpt-hero__date{font-size:18px;font-weight:400;line-height:30px;opacity:.6}.rpt-hero__title{font-size:40px;font-weight:200;line-height:56px;letter-spacing:-.16px;margin:0;color:var(--rpt-color-surface)}.rpt-hero__title strong{font-weight:700}.rpt-hero__sub{font-size:20px;font-weight:400;line-height:1.5;color:var(--rpt-color-surface);opacity:.6;margin:0}.rpt-hero__name{font-size:24px;font-weight:600;line-height:1.35;letter-spacing:-.72px;text-align:right;margin-top:auto}.rpt-tabs{display:flex;justify-content:center;gap:8px;padding:16px 0 0;margin-top:16px}.rpt-tabs__item{padding:10px 16px;font-size:14px;font-weight:500;color:var(--rpt-color-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.rpt-tabs__item--active{color:var(--rpt-color-primary);font-weight:600;border-bottom-color:var(--rpt-color-primary)}.rpt-body{padding-top:16px}.rpt-overview-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.rpt-level-card{background:var(--rpt-color-surface);border-radius:16px;padding:16px;display:flex;flex-direction:column;min-height:200px;position:relative;overflow:hidden}.rpt-level-card__label{font-size:18px;font-weight:500;line-height:28px;color:var(--rpt-color-secondary)}.rpt-level-card__spacer{flex:1}.rpt-level-card__value-wrap{position:relative}.rpt-level-card__value{font-size:32px;font-weight:600;line-height:40px;white-space:pre-line;background:linear-gradient(transparent 60%,var(--rpt-color-highlight) 60%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 6px;margin-left:-6px;color:var(--rpt-color-primary)}.rpt-summary-card{background:var(--rpt-color-surface);border-radius:16px;overflow:hidden;flex:1}.rpt-summary-card__top{padding:16px;border-bottom:1px solid var(--rpt-color-border)}.rpt-summary-card__title{font-size:20px;font-weight:600;line-height:30px;color:var(--rpt-color-primary);margin:0 0 8px}.rpt-summary-card__text{font-size:15px;line-height:26px;color:var(--rpt-color-primary)}.rpt-summary-card__text .markdown-latex-content p{margin:0}.rpt-summary-card__bottom{padding:16px}.rpt-summary-card__hl-label{position:relative;display:inline-flex;align-items:center;margin-bottom:8px;font-size:15px;font-weight:500;line-height:24px;color:var(--rpt-color-primary)}.rpt-summary-card__hl-bar{position:absolute;left:-3px;bottom:0;width:76px;height:14px;background:var(--rpt-color-highlight);z-index:0}.rpt-summary-card__hl-label>span:last-child{position:relative;z-index:1}.rpt-summary-card__hl-text{font-size:14px;line-height:24px;color:var(--rpt-color-secondary)}.rpt-summary-card__hl-text .markdown-latex-content p{margin:0}.rpt-card{background:var(--rpt-color-surface);border-radius:16px;overflow:hidden;margin-bottom:16px}.rpt-card__inner{padding:16px}.rpt-section{margin-bottom:16px}.rpt-section__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.rpt-section__title{font-size:20px;font-weight:600;line-height:30px;color:var(--rpt-color-primary);margin:0 0 4px}.rpt-section__sub{font-size:13px;font-weight:400;line-height:22px;color:var(--rpt-color-secondary);margin:0 0 8px}.rpt-guide__label{display:block;font-size:15px;font-weight:500;line-height:24px;color:var(--rpt-color-secondary);margin-bottom:4px}.rpt-guide__title{font-size:20px;font-weight:600;line-height:30px;color:var(--rpt-color-primary);margin:0 0 12px}.rpt-guide__desc{font-size:15px;font-weight:400;line-height:26px;color:var(--rpt-color-primary);margin:0 0 16px}.rpt-guide__desc strong{font-weight:700}.rpt-guide__stages{display:flex;flex-direction:column;gap:8px}.rpt-guide__stage-row{display:flex;align-items:center;gap:8px}.rpt-guide__pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:16px;background:var(--rpt-color-subtle-bg);flex-shrink:0}.rpt-guide__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rpt-guide__pill span:last-child{font-size:12px;font-weight:500;line-height:20px;color:var(--rpt-color-tertiary);white-space:nowrap}.rpt-guide__stage-desc{font-size:13px;font-weight:500;line-height:22px;color:var(--rpt-color-secondary)}.rpt-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}.rpt-legend__item{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:20px;color:var(--rpt-color-tertiary)}.rpt-legend__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}[data-stage=understand]{background:var(--rpt-stage-understand)}[data-stage=plan]{background:var(--rpt-stage-plan)}[data-stage=execute]{background:var(--rpt-stage-execute)}[data-stage=unknown]{background:var(--rpt-color-disabled)}.rpt-jdg--pass{color:var(--rpt-jdg-pass)}.rpt-jdg--fail{color:var(--rpt-jdg-fail)}.rpt-jdg--unknown{color:var(--rpt-jdg-unknown)}.rpt-problem__dot.rpt-jdg--pass{background:var(--rpt-color-blue)}.rpt-problem__dot.rpt-jdg--fail{background:var(--rpt-color-red)}.rpt-problem__dot.rpt-jdg--unknown{background:#ddd}.rpt-problem__dot.rpt-jdg--empty{background:var(--rpt-color-empty)}.rpt-map-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.rpt-map{display:flex;gap:8px;align-items:flex-start}.rpt-map__col{background:var(--rpt-color-surface);border-radius:8px;overflow:hidden;flex-shrink:0}.rpt-map__col--stage{min-width:0}.rpt-map__col-head{padding:4px 8px 5px;border-bottom:1px solid var(--rpt-color-border);font-size:14px;font-weight:400;color:var(--rpt-color-primary);text-align:center;white-space:nowrap;letter-spacing:-.28px;line-height:24px}.rpt-map__col-head--stage{font-weight:700;text-align:left}.rpt-map__stage-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.rpt-map__col-subhead{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;border-bottom:1px solid #f1f3f5}.rpt-map__col--q{width:64px;position:sticky;left:0;z-index:3}.rpt-map__q-cell{display:flex;align-items:center;justify-content:center;height:24px;gap:4px;padding:.5px 4px;border-bottom:1px solid #f1f3f5}.rpt-map__q-num{font-size:13px;font-weight:500;color:var(--rpt-color-secondary);line-height:22px}.rpt-map__q-mark{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.rpt-map__q-mark--correct{color:#0091ff}.rpt-map__q-mark--wrong{color:var(--rpt-color-red)}.rpt-map__q-mark--unknown{color:#adb5bd;font-size:12px}.rpt-map__subheads{display:flex}.rpt-map__sf-head{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px}.rpt-map__sf-name{font-size:11px;font-weight:600;color:var(--rpt-color-primary);line-height:1.2;white-space:nowrap}.rpt-map__sf-rate{font-size:11px;font-weight:500;color:var(--rpt-color-secondary);line-height:1.2}.rpt-map__data-row{display:flex}.rpt-map__cell{flex:1 1 0;min-width:0;height:24px;padding:.5px;cursor:pointer;position:relative}.rpt-map__cell--selected{outline:2px solid var(--rpt-color-blue);outline-offset:-2px;z-index:1}.rpt-map__cell-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:Pretendard,sans-serif;font-size:10px;font-weight:400;line-height:none}.rpt-cell--pass .rpt-map__cell-label{background:#8accff;color:#fff}.rpt-cell--fail .rpt-map__cell-label{background:#fb515f;color:#fff}.rpt-cell--unknown .rpt-map__cell-label{background:#f1f3f5;color:#adb5bd}.rpt-map__col--error{width:80px}.rpt-map__error-cell{height:24px;padding:.5px;border-bottom:1px solid #f1f3f5}.rpt-map__col--lecture{width:72px}.rpt-map__lecture-cell{height:24px;padding:1px 4px;border-bottom:1px solid #f1f3f5;display:flex;align-items:center;justify-content:center}.rpt-map__lecture-btn{padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px;border:1px solid var(--rpt-color-blue);background:#fff;color:var(--rpt-color-blue);cursor:pointer;white-space:nowrap;line-height:1.2;transition:background-color .15s ease,color .15s ease}.rpt-map__lecture-btn:hover{background:var(--rpt-color-blue);color:#fff}.rpt-map__error-chip{display:flex;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;font-size:10px;font-weight:500;color:#fff;white-space:nowrap}.rpt-map__error-chip--concept{background:#fb515f}.rpt-map__error-chip--calc{background:#fe8534}.rpt-map__error-icon{flex-shrink:0;opacity:.86}.rpt-map__hint{text-align:center;font-size:13px;font-weight:400;line-height:22px;color:var(--rpt-color-secondary);margin:16px 0 0}.rpt-map__hint-icon{vertical-align:middle;margin-right:4px;color:var(--rpt-color-muted)}.rpt-tooltip{background:var(--rpt-color-dark);color:var(--rpt-color-surface);border-radius:12px;padding:12px 16px;line-height:1.5;z-index:100;box-shadow:0 4px 24px #0000004d}.rpt-tooltip--fixed{position:fixed;bottom:20px;left:50%;transform:translate(-50%);max-width:420px;animation:rpt-tooltip-in .15s ease}@keyframes rpt-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.rpt-tooltip__header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600}.rpt-tooltip__judgment{font-size:13px;font-weight:700;padding:1px 8px;border-radius:6px}.rpt-tooltip__judgment.rpt-jdg--pass{background:#8accff;color:#f0f4f8}.rpt-tooltip__judgment.rpt-jdg--fail{background:#fb515f40}.rpt-tooltip__judgment.rpt-jdg--unknown{background:#94a3b840}.rpt-tooltip__field-label{font-size:12px;font-weight:600;color:var(--rpt-color-muted)}.rpt-tooltip__content{font-size:13px;line-height:22px;color:#ffffffd9}.rpt-tooltip__content .markdown-latex-content{display:inline}.rpt-tooltip__content .markdown-latex-content p{display:inline;margin:0}.rpt-tooltip__evidence{margin-top:4px;font-size:13px;line-height:22px;color:#fff9}.rpt-tooltip__evidence .markdown-latex-content{display:inline}.rpt-tooltip__evidence .markdown-latex-content p{display:inline;margin:0}.rpt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.rpt-table{width:100%;border-collapse:collapse;min-width:780px}.rpt-table__th{padding:5px 16px;font-size:13px;font-weight:500;color:var(--rpt-color-secondary);text-align:left;border-top:1px solid rgba(30,32,36,.06);border-bottom:1px solid rgba(30,32,36,.06);border-right:1px solid rgba(30,32,36,.03);white-space:nowrap;min-height:32px;line-height:22px}.rpt-table__th--rank{width:63px}.rpt-table__th--name{width:120px}.rpt-table__th--rate{width:100px}.rpt-table__th--count{width:100px;text-align:center}.rpt-table__th--sf{width:120px}.rpt-table__th--problems{width:100px}.rpt-table__th--pattern{width:100px;text-align:center}.rpt-table__th--grate{width:66px}.rpt-table__row{border-bottom:1px solid rgba(30,32,36,.06)}.rpt-table__row:last-child{border-bottom:none}.rpt-table__td{padding:4px 16px;font-size:14px;color:var(--rpt-color-primary);vertical-align:middle;min-height:40px;line-height:24px;border-right:1px solid rgba(30,32,36,.03)}.rpt-table__td--rank{font-weight:400;white-space:nowrap}.rpt-table__stage-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.rpt-table__td--name,.rpt-table__td--sf{font-weight:400}.rpt-table__td--rate{text-align:left}.rpt-table__td--rate strong{font-weight:700}.rpt-table__td--pass,.rpt-table__td--fail,.rpt-table__td--unknown{text-align:center}.rpt-chip{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:20px;padding:0 6px;border-radius:8px;font-size:12px;font-weight:500;line-height:20px}.rpt-chip--pass{background:#0091ff0f;color:#0069e0}.rpt-chip--fail{background:#fb515f0f;color:#c8323e}.rpt-chip--unknown{background:#1e20240f;color:#6b7180}.rpt-table__td--gap{font-size:14px;line-height:24px}.rpt-table__td--pattern{text-align:center}.rpt-table__td--grate{font-weight:400}.rpt-table__td--grate strong{font-weight:700}.rpt-table__row--tall .rpt-table__td{padding:4px 16px;vertical-align:top}.rpt-gap-text__main{margin:0;font-size:14px;line-height:24px;color:var(--rpt-color-primary)}.rpt-gap-text__keyword{margin:2px 0 0;font-size:12px;line-height:20px;color:#0069e0}.rpt-gap-text__keyword-label{font-weight:500}.rpt-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:8px;background:#1e20240f;font-size:12px;font-weight:500;color:var(--rpt-color-secondary);margin:0 4px 4px 0}.rpt-pattern-tag{display:inline-flex;align-items:center;height:20px;font-size:12px;font-weight:500;padding:0 6px;border-radius:8px}.rpt-pattern-tag--structural{background:#fb515f;color:#fff}.rpt-pattern-tag--intermittent{background:var(--rpt-color-warn-bg);color:var(--rpt-color-warn-text)}.rpt-problems-grid{display:flex;flex-direction:column;gap:16px}.rpt-problem{background:var(--rpt-color-surface);border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 8px 20px #1e20241f;transition:box-shadow .15s}.rpt-problem:hover{box-shadow:0 8px 24px #1e20242e}.rpt-problem__upper{display:flex;flex-direction:column;gap:8px;padding:16px 16px 17px;border-bottom:1px solid var(--rpt-color-border)}.rpt-problem__lower{padding:16px}.rpt-problem__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.rpt-problem__head-left{display:flex;align-items:center;gap:6px}.rpt-problem__badge{display:inline-flex;align-items:center;height:20px;font-size:12px;font-weight:500;padding:0 6px;border-radius:8px;background:transparent}.rpt-problem__badge--correct{border:1px solid #8accff;color:#0069e0}.rpt-problem__badge--wrong{border:1px solid #ffa3ab;color:#c8323e}.rpt-problem__badge--unknown{border:1px solid #dee2e6;color:#868e96}.rpt-problem__title{font-size:14px;font-weight:500;color:var(--rpt-color-primary)}.rpt-problem__topic{font-size:12px;font-weight:400;color:var(--rpt-color-secondary)}.rpt-problem__error-tag{display:inline-flex;align-items:center;height:20px;font-size:12px;font-weight:500;color:#fff;background:#fb515f;padding:0 6px;border-radius:8px}.rpt-problem__dots,.rpt-problem__dot-group{display:flex;align-items:center;gap:1px}.rpt-problem__dot-divider{display:none}.rpt-problem__check{width:16px;height:12px;border-radius:2px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:#fff;line-height:1}.rpt-problem__check.rpt-jdg--pass{background:#8accff}.rpt-problem__check.rpt-jdg--fail{background:#fb515f}.rpt-problem__check.rpt-jdg--unknown{background:#cbcfd8}.rpt-problem__check.rpt-jdg--empty{background:#e8e8e8}.rpt-problem__concepts{font-size:12px;line-height:20px;color:var(--rpt-color-secondary)}.rpt-problem__concepts strong{font-weight:700}.rpt-problem__no-analysis{font-size:13px;line-height:20px;color:#86868b;background:#f5f5f7;border-radius:8px;padding:12px 14px;margin:0}.rpt-problem__analysis{font-size:15px;line-height:26px;color:var(--rpt-color-primary)}.rpt-problem__analysis .markdown-latex-content p{margin:0 0 6px}.rpt-problem__summary{font-size:14px;line-height:24px;color:var(--rpt-color-secondary);margin:0}.rpt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e202480;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:rpt-overlay-in .2s ease}@keyframes rpt-overlay-in{0%{opacity:0}to{opacity:1}}.rpt-modal{background:var(--rpt-color-surface);border-radius:16px 16px 0 0;width:100%;max-width:600px;max-height:90dvh;display:flex;flex-direction:column;animation:rpt-modal-in .25s ease}@keyframes rpt-modal-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.rpt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--rpt-color-border);flex-shrink:0}.rpt-modal__title{font-size:16px;font-weight:700;color:var(--rpt-color-primary);margin:0}.rpt-modal__nav{display:flex;align-items:center;gap:4px}.rpt-modal__nav-btn,.rpt-modal__close-btn{width:32px;height:32px;border:none;background:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--rpt-color-primary);cursor:pointer}.rpt-modal__nav-btn:hover,.rpt-modal__close-btn:hover{background:var(--rpt-color-subtle-bg)}.rpt-modal__nav-btn:disabled{color:var(--rpt-color-disabled);cursor:default}.rpt-modal__nav-btn:disabled:hover{background:none}.rpt-modal__body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.rpt-modal__section{margin-bottom:20px}.rpt-modal__section-title{font-size:14px;font-weight:600;color:var(--rpt-color-secondary);margin:0 0 10px;text-transform:uppercase;letter-spacing:.3px}.rpt-modal__image{width:100%;border-radius:8px;border:1px solid var(--rpt-color-border)}.rpt-modal__photos{display:flex;flex-direction:column;gap:8px}.rpt-modal__photo{width:100%;border-radius:8px;border:1px solid var(--rpt-color-border)}.rpt-modal__analysis-card{background:var(--rpt-color-bg);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.rpt-priority-list{display:flex;flex-direction:column}.rpt-priority{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rpt-color-border)}.rpt-priority:last-child{border-bottom:none}.rpt-priority__rank{font-size:16px;font-weight:700;color:var(--rpt-color-blue);flex-shrink:0;min-width:28px}.rpt-priority__body{display:flex;flex-direction:column;gap:2px;min-width:0}.rpt-priority__topic{font-size:15px;font-weight:600;color:var(--rpt-color-primary)}.rpt-priority__reason{font-size:13px;color:var(--rpt-color-secondary);line-height:22px}.rpt-priority__approach{font-size:13px;color:var(--rpt-color-tertiary);line-height:22px;margin-top:2px}.rpt-priority__approach .markdown-latex-content p{margin:0}.rpt-problem__error-desc{font-size:13px;line-height:22px;color:var(--rpt-color-red);margin-bottom:8px;padding:6px 10px;background:var(--rpt-color-red-bg);border-radius:6px}.rpt-problem__error-desc .markdown-latex-content p{margin:0}.rpt-problem__assessment{font-size:13px;line-height:22px;color:var(--rpt-color-tertiary);margin:4px 0 0;font-style:italic}.rpt-problem__meta{display:flex;gap:8px;margin-bottom:8px}.rpt-problem__meta-item{font-size:12px;color:var(--rpt-color-secondary);background:var(--rpt-color-subtle-bg);padding:2px 8px;border-radius:4px}.rpt-polya-detail{display:flex;flex-direction:column;gap:12px}.rpt-polya-stage__header{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:700;color:var(--rpt-color-surface);margin-bottom:6px}.rpt-polya-stage__header[data-stage=understand]{background:var(--rpt-stage-understand)}.rpt-polya-stage__header[data-stage=plan]{background:var(--rpt-stage-plan)}.rpt-polya-stage__header[data-stage=execute]{background:var(--rpt-stage-execute)}.rpt-polya-stage__dot{width:8px;height:8px;border-radius:50%;background:#ffffff80}.rpt-polya-stage__fields{display:flex;flex-direction:column;gap:6px;padding-left:8px}.rpt-polya-field{border-left:3px solid var(--rpt-color-border);padding:8px 12px;border-radius:0 8px 8px 0;background:var(--rpt-color-bg)}.rpt-polya-field[data-stage=understand]{border-left-color:var(--rpt-stage-understand)}.rpt-polya-field[data-stage=plan]{border-left-color:var(--rpt-stage-plan)}.rpt-polya-field[data-stage=execute]{border-left-color:var(--rpt-stage-execute)}.rpt-polya-field__head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.rpt-polya-field__name{font-size:13px;font-weight:600;color:var(--rpt-color-primary)}.rpt-polya-field__badge{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}.rpt-polya-field__badge.rpt-jdg--pass{background:var(--rpt-color-green-bg);color:var(--rpt-color-green-text)}.rpt-polya-field__badge.rpt-jdg--fail{background:var(--rpt-color-red-bg);color:var(--rpt-color-red-text)}.rpt-polya-field__badge.rpt-jdg--unknown{background:var(--rpt-color-empty);color:var(--rpt-color-secondary)}.rpt-polya-field__content{font-size:13px;line-height:22px;color:var(--rpt-color-primary)}.rpt-polya-field__content .markdown-latex-content p{margin:0}.rpt-polya-field__evidence{margin-top:4px;font-size:12px;line-height:20px;color:var(--rpt-color-secondary)}.rpt-polya-field__evidence-label{font-weight:600;margin-right:4px}.rpt-polya-field__evidence .markdown-latex-content p{margin:0}.rpt-empty{text-align:center;color:var(--rpt-color-secondary);font-size:14px;padding:40px 0}.rpt-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:var(--rpt-color-secondary);font-size:14px}.rpt-spinner{width:32px;height:32px;border:3px solid var(--rpt-color-border);border-top-color:var(--rpt-color-blue);border-radius:50%;animation:rpt-spin .8s linear infinite;margin-bottom:12px}@keyframes rpt-spin{to{transform:rotate(360deg)}}@keyframes rptViralPulse{0%,to{box-shadow:0 0 #0ea5e980}50%{box-shadow:0 0 0 10px #0ea5e900}}@media (max-width: 767px){.rpt-content{padding:0 12px 40px}.rpt-header{padding:10px 16px}.rpt-hero{min-height:160px;border-radius:12px}.rpt-hero__body{padding:20px 16px;min-height:160px;gap:12px}.rpt-hero__date{font-size:13px;line-height:20px}.rpt-hero__title{font-size:22px;line-height:32px}.rpt-hero__sub{font-size:14px}.rpt-hero__name{font-size:16px}.rpt-hero__illustration{width:180px;height:180px;opacity:.4}.rpt-tabs{gap:0;padding:12px 0 0;margin-top:12px}.rpt-tabs__item{padding:8px 12px;font-size:13px}.rpt-level-card{min-height:120px;padding:14px}.rpt-level-card__label{font-size:15px}.rpt-level-card__value{font-size:26px}.rpt-summary-card__title{font-size:17px}.rpt-summary-card__text{font-size:14px;line-height:24px}.rpt-summary-card__hl-text{font-size:13px;line-height:22px}.rpt-section__title{font-size:17px;line-height:26px}.rpt-section__sub{font-size:12px;line-height:20px}.rpt-viral-trend-grid{grid-template-columns:1fr!important}.rpt-viral-score-grid{grid-template-columns:1fr!important;gap:10px!important}.rpt-viral-score-grid>div:nth-child(2){transform:rotate(90deg);padding:4px 0!important;font-size:24px!important}.rpt-viral-msg-row{grid-template-columns:1fr!important;gap:8px!important}.rpt-viral-msg-row>div:nth-child(2){display:none!important}.rpt-guide__title{font-size:17px;line-height:26px}.rpt-guide__desc{font-size:14px;line-height:24px}.rpt-map{min-width:740px}.rpt-map__sf-head,.rpt-map__col-subhead{padding:6px 2px}.rpt-map__col--q{width:48px}.rpt-map__col--error{width:68px}.rpt-map__col--lecture{width:60px}.rpt-map__lecture-btn{padding:2px 6px;font-size:10px}.rpt-map__col-head{font-size:12px;padding:4px 6px 5px}.rpt-map__sf-name,.rpt-map__sf-rate{font-size:10px}.rpt-table__th{padding:4px 10px;font-size:12px}.rpt-table__td{padding:4px 10px;font-size:13px}.rpt-tooltip--fixed{max-width:calc(100vw - 24px);left:12px;transform:none;bottom:12px}@keyframes rpt-tooltip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rpt-problem__analysis{font-size:14px;line-height:24px}.rpt-problem__summary{font-size:13px;line-height:22px}.rpt-modal{max-height:95dvh}}@media (min-width: 768px){.rpt-overview-grid{flex-direction:row}.rpt-level-card{width:240px;min-height:311px;flex-shrink:0}.rpt-summary-card{flex:1;min-width:0}.rpt-map{min-width:auto}.rpt-modal{border-radius:16px;max-height:85dvh}.rpt-modal-overlay{align-items:center}@keyframes rpt-modal-in{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}}@media (min-width: 1024px){.rpt-problems-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}}@media (min-width: 1440px){.rpt-modal{max-width:720px}}.rpt-reco-block{margin-bottom:32px}.rpt-reco-block__title{font-size:15px;font-weight:600;color:var(--rpt-color-primary);margin:0 0 12px}.rpt-reco-group-title{font-size:16px;font-weight:700;color:var(--rpt-color-primary);margin:0 0 12px}.rpt-reco-card--habit{background:#fff8ec;border-color:#f6dca8}.rpt-reco-card--practice{background:#f0f7ff;border-color:#b8d4f1}.rpt-reco-list{display:flex;flex-direction:column;gap:12px}.rpt-reco-card{background:var(--rpt-color-surface);border:1px solid var(--rpt-color-border);border-radius:16px;padding:16px}.rpt-reco-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.rpt-reco-card__head-text{flex:1;min-width:0}.rpt-reco-card__title{font-size:16px;font-weight:600;color:var(--rpt-color-primary);line-height:24px;margin:0 0 4px}.rpt-reco-card__sub{font-size:13px;color:var(--rpt-color-secondary);line-height:20px;margin:0 0 4px}.rpt-reco-card__meta{font-size:12px;color:var(--rpt-color-secondary);line-height:18px}.rpt-reco-btn{padding:8px 14px;font-size:13px;font-weight:500;border-radius:8px;border:1px solid var(--rpt-color-blue);background:var(--rpt-color-blue);color:#fff;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s ease}.rpt-reco-btn:hover:not(:disabled){filter:brightness(.94)}.rpt-reco-btn:disabled{background:var(--rpt-color-muted);border-color:var(--rpt-color-muted);cursor:not-allowed}.rpt-reco-btn__spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:rpt-reco-spin .8s linear infinite}.rpt-reco-error{font-size:13px;color:var(--rpt-color-red-text);margin:12px 0 0}.rpt-reco-empty{font-size:13px;color:var(--rpt-color-secondary);margin:0}.rpt-reco-results{margin-top:16px;display:flex;flex-direction:column;gap:8px}@keyframes rpt-reco-spin{to{transform:rotate(360deg)}}.rpt-table__th--lecture,.rpt-table__td--lecture{width:84px;text-align:center}.rpt-table-lecture-btn{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;border:1px solid var(--rpt-color-blue);background:#fff;color:var(--rpt-color-blue);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s ease,color .15s ease}.rpt-table-lecture-btn:hover:not(:disabled){background:var(--rpt-color-blue);color:#fff}.rpt-table-lecture-btn:disabled{border-color:var(--rpt-color-muted);color:var(--rpt-color-muted);cursor:not-allowed}.rpt-table-lecture-btn .rpt-reco-btn__spinner{border-color:#0069e04d;border-top-color:var(--rpt-color-blue)}.rpt-table-lecture-btn:hover:not(:disabled) .rpt-reco-btn__spinner{border-color:#fff6;border-top-color:#fff}.rpt-table__row--expanded{background:var(--rpt-color-bg-soft, #fafbfc)}.rpt-table__expanded-cell{padding:16px 20px!important;border-top:1px dashed rgba(30,32,36,.1)}.rpt-reco-inline-loading{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--rpt-color-secondary)}.rpt-reco-inline-loading .rpt-reco-btn__spinner{border-color:#0069e04d;border-top-color:var(--rpt-color-blue)}.rpt-reco-inline-results{display:flex;flex-direction:column;gap:8px}.rpt-modal__reco{display:flex;flex-direction:column;gap:12px}.rpt-modal__reco-btn{align-self:flex-start}.rpt-reco-card__main{display:flex;flex-direction:column;gap:12px}.rpt-reco-card__placeholder{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:16px;border:1px dashed var(--rpt-color-border);border-radius:12px;font-size:13px;color:var(--rpt-color-secondary)}.rpt-reco-card__placeholder .rpt-reco-btn__spinner{border-color:#0069e04d;border-top-color:var(--rpt-color-blue)}.rpt-reco-card__lectures{display:flex;flex-direction:column;gap:8px}.rpt-reco-card__why{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(30,32,36,.1)}.rpt-reco-card__why-label{display:inline-block;font-size:11px;font-weight:600;color:var(--rpt-color-secondary);letter-spacing:.02em;margin-bottom:6px}.rpt-reco-card__why-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.rpt-reco-card__why-pill{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;color:var(--rpt-color-secondary);background:#1e20240a;border-radius:999px}.rpt-reco-card__why-text{font-size:12px;line-height:18px;color:var(--rpt-color-secondary);margin:0}.exam-reg{max-width:440px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100dvh;box-sizing:border-box}.exam-reg__title{font-size:22px;font-weight:700;margin:0 0 6px;color:#1d1d1f}.exam-reg__desc{font-size:14px;color:#86868b;margin:0 0 28px}.exam-reg__form{display:flex;flex-direction:column;gap:16px}.exam-reg__field{display:flex;flex-direction:column;gap:4px}.exam-reg__field label{font-size:13px;font-weight:500;color:#86868b}.exam-reg__field input,.exam-reg__field select{padding:12px 14px;border:1px solid #d1d1d6;border-radius:10px;font-size:16px;background:#fff;color:#1d1d1f;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.exam-reg__field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2386868b' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.exam-reg__field input:focus,.exam-reg__field select:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1f}.exam-reg__btn{padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,opacity .15s}.exam-reg__btn:disabled{opacity:.4;cursor:default}.exam-reg__btn--submit{background:#007aff;color:#fff;margin-top:8px}.exam-reg__btn--submit:hover:not(:disabled){background:#0066d6}.exam-reg__btn--copy{background:#007aff;color:#fff;width:100%}.exam-reg__btn--copy:hover{background:#0066d6}.exam-reg__btn--reset{background:none;color:#007aff;width:100%;margin-top:4px}.exam-reg__error{background:#fff2f2;color:#d70015;padding:12px 14px;border-radius:10px;font-size:14px;cursor:pointer}.exam-reg__result{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:60px}.exam-reg__check{width:56px;height:56px;border-radius:50%;background:#d4f5d4;color:#1d8348;font-size:28px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.exam-reg__result h1{font-size:20px;font-weight:700;margin:0 0 6px;color:#1d1d1f}.exam-reg__result-sub{font-size:14px;color:#86868b;margin:0 0 28px}.exam-reg__credentials{width:100%;background:#f5f5f7;border-radius:12px;padding:16px;margin-bottom:20px}.exam-reg__cred-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.exam-reg__cred-row+.exam-reg__cred-row{border-top:1px solid #e5e5e7}.exam-reg__cred-label{font-size:13px;color:#86868b}.exam-reg__cred-value{font-size:15px;font-weight:600;color:#1d1d1f;word-break:break-all}.lmpd-form-root{position:fixed;bottom:0;left:0;width:100%;padding:8px;z-index:1000;box-sizing:border-box}.lmpd-form-inner{position:relative;max-width:520px;margin:0 auto}.lmpd-form-toggle{display:flex;align-items:center;justify-content:center;width:100%;height:48px;padding:8px;line-height:1;font-size:1.125rem;font-weight:700;color:#fff;border-radius:8px;background-color:orange;box-shadow:4px 4px 10px #0006;border:none;outline:none;cursor:pointer}.lmpd-form-root[data-activated=true] .lmpd-form-toggle{position:absolute;top:-12px;right:8px;width:48px;height:24px;font-size:.875rem;border-radius:48px;background-color:#000;box-shadow:2px 2px 4px #0006}.lmpd-form-root form{padding:16px;border-radius:8px;background-color:#fff;box-shadow:4px 4px 10px #0006}.lmpd-form-root[data-activated=false] form{display:none}.lmpd-form-body{display:flex;flex-direction:column}.lmpd-form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.lmpd-input-wrap{width:100%;display:flex;flex-direction:column;gap:4px}.lmpd-col-grade,.lmpd-col-school-grade,.lmpd-col-school-loc{grid-column:span 2}.lmpd-col-phone,.lmpd-col-date,.lmpd-col-time{grid-column:span 3}.lmpd-label{font-size:12px;font-weight:700;color:#333}.lmpd-sub-text{font-size:12px;font-weight:400;color:#333;margin-left:4px}.lmpd-input{height:40px;font-size:14px;background-color:#fff;border:1px solid #777;padding:8px;box-sizing:border-box;outline:none}select.lmpd-input{padding:8px 4px}.lmpd-input:focus{border-color:orange}.lmpd-form-submit{margin:16px 0 8px;width:100%;padding:8px;font-size:1rem;font-weight:700;color:#fff;background-color:#ccc;border:none;outline:none;cursor:pointer;height:44px}.lmpd-form-root[data-ready=true] .lmpd-form-submit:not(:disabled){background-color:orange}.lmpd-form-submit:disabled{cursor:not-allowed}.lmpd-policy{display:flex;justify-content:space-between;gap:8px}.lmpd-policy-col{display:flex;flex-direction:column;gap:4px}.lmpd-policy-row{display:flex;align-items:center;gap:4px;font-size:10px;cursor:pointer}.lmpd-policy-row input[type=checkbox]{width:16px;height:16px;cursor:pointer}@media only screen and (min-width: 365px){.lmpd-form-submit{font-size:1.25rem}}@media only screen and (min-width: 768px){.lmpd-label{font-size:14px}}@media only screen and (min-width: 1860px){.lmpd-form-root{position:fixed;left:unset;right:2%;top:16%;bottom:unset;width:360px}.lmpd-form-toggle{display:none}.lmpd-form-root form{display:block!important}.lmpd-form-grid{grid-template-columns:repeat(2,1fr)}.lmpd-col-grade,.lmpd-col-school-grade,.lmpd-col-date,.lmpd-col-time{grid-column:span 1}.lmpd-col-school-loc,.lmpd-col-phone{grid-column:span 2}}.lmpd{width:100%;overflow-x:clip;background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lmpd-section{width:100%;display:flex;justify-content:center;align-items:flex-start}.lmpd-section--dark{background-color:#000}.lmpd-section--white{background-color:#fff}.lmpd-section--purple{background-color:#100e7b}.lmpd-section--navy{background-color:#001352}.lmpd-section--footer{background-color:#000;background-size:cover;background-position:center top;background-repeat:no-repeat}.lmpd-img{width:100%;max-width:1140px;height:auto;display:block}.lmpd-stack{position:relative;width:100%;max-width:1140px;display:block}.lmpd-stack__bg{width:100%;height:auto;display:block}.lmpd-stack__overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.lmpd-videos{width:100%;max-width:1140px;margin:0 auto;padding:2rem 1rem 6vw;display:flex;gap:2vw;box-sizing:border-box}@media (max-width: 768px){.lmpd-videos{padding:1rem .5rem 8vw}}.lmpd-corp-footer{width:100%;background:#2a2a2a;color:#b0b0b0}.lmpd-corp-footer__inner{max-width:1140px;margin:0 auto;padding:48px 24px 32px}.lmpd-corp-footer__logo{width:200px;height:auto;display:block;margin-bottom:28px}.lmpd-corp-footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}.lmpd-corp-footer__col p{margin:0 0 12px;font-size:13px;line-height:1.7;color:#b0b0b0}.lmpd-corp-footer__col p:last-child{margin-bottom:0}@media (max-width: 768px){.lmpd-corp-footer__inner{padding:32px 16px 24px}.lmpd-corp-footer__logo{width:160px;margin-bottom:20px}.lmpd-corp-footer__cols{grid-template-columns:1fr;gap:16px}.lmpd-corp-footer__col p{font-size:12px}}.lmpd-video-wrap{flex:1;min-width:0}.lmpd-video-wrap video{width:100%;height:auto;border-radius:8px;display:block}.lmpd-section--footer{background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width: 768px){.lmpd-videos{padding:.5rem;gap:2vw;margin-bottom:8vw}.lmpd-video-wrap video{border-radius:4px}}.lflyer-form{width:100%;max-width:480px;margin:0 auto;padding:24px 20px 28px;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif}.lflyer-form__title{font-size:20px;font-weight:800;color:#1e2024;margin-bottom:18px;text-align:center}.lflyer-fieldset{border:none;padding:0;margin:0 0 18px}.lflyer-legend{font-size:13px;font-weight:700;color:#4f545f;margin-bottom:8px;padding:0}.lflyer-option-group{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lflyer-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:600;color:#4f545f;background:#f8f9fb;cursor:pointer;transition:all .15s ease}.lflyer-option:hover{border-color:#cbd5e1}.lflyer-option input[type=radio]{width:16px;height:16px;margin:0;accent-color:#5b8def}.lflyer-option--active{background:#eef2ff;border-color:#5b8def;color:#1e2024}.lflyer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.lflyer-field{display:flex;flex-direction:column;gap:4px}.lflyer-field--name,.lflyer-field--school,.lflyer-field--grade{grid-column:span 2}.lflyer-label{font-size:12px;font-weight:600;color:#4f545f}.lflyer-sub{margin-left:4px;font-size:11px;font-weight:400;color:#94a3b8}.lflyer-input{width:100%;height:44px;padding:0 12px;font-size:14px;color:#1e2024;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;font-family:inherit;box-sizing:border-box}.lflyer-input:focus{outline:none;border-color:#5b8def}select.lflyer-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.lflyer-submit{width:100%;height:52px;font-size:16px;font-weight:700;color:#fff;background:#1e2024;border:none;border-radius:10px;cursor:pointer;transition:opacity .15s ease;margin-bottom:16px}.lflyer-submit:hover:not(:disabled){opacity:.9}.lflyer-submit:disabled{opacity:.4;cursor:not-allowed}.lflyer-policy{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #f1f5f9}.lflyer-policy__row{display:flex;align-items:center;gap:8px;font-size:12px;color:#4f545f;cursor:pointer}.lflyer-policy__row input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#5b8def}.lflyer-policy__row--all{font-weight:700;color:#1e2024;padding-bottom:6px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.lflyer-page{min-height:100vh;background:#f5f5f7;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e2024}.lflyer-hero{position:relative;background:linear-gradient(180deg,#1e2024,#2a2d33 60%,#1e2024);color:#fff;padding:48px 20px 72px;text-align:center;overflow:hidden}.lflyer-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 0%,rgba(91,141,239,.18) 0%,transparent 50%),radial-gradient(ellipse at 70% 100%,rgba(168,85,247,.14) 0%,transparent 50%);pointer-events:none}.lflyer-hero__inner{position:relative;max-width:720px;margin:0 auto}.lflyer-hero__eyebrow{font-size:13px;font-weight:600;color:#5b8def;margin-bottom:12px;letter-spacing:-.01em}.lflyer-hero__title{font-size:28px;font-weight:900;line-height:1.3;margin:0 0 16px;color:#fff}.lflyer-hero__sub{font-size:15px;line-height:1.6;color:#ffffffc7;margin:0 0 36px}.lflyer-deck{position:relative;width:100%;max-width:480px;margin:0 auto;height:clamp(360px,70vw,520px)}.lflyer-deck__card{position:absolute;top:0;left:50%;width:62%;max-width:280px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 12px 32px #00000073,0 4px 8px #0000004d;transform-origin:center center}.lflyer-deck__card img{display:block;width:100%;height:auto}.lflyer-deck__card--back{transform:translate(-78%,12px) rotate(-7deg);z-index:1}.lflyer-deck__card--front{transform:translate(-22%) rotate(5deg);z-index:2}.lflyer-main{padding:0 16px 40px;margin-top:-32px;position:relative;z-index:1}.lflyer-info{max-width:480px;margin:24px auto 0;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a}.lflyer-info__title{font-size:14px;font-weight:700;color:#1e2024;margin:0 0 12px}.lflyer-info__list{margin:0;padding-left:20px;font-size:13px;line-height:1.8;color:#4f545f}.lflyer-footer{padding:24px 20px 32px;text-align:center;font-size:12px;color:#94a3b8;line-height:1.7}.lflyer-footer p{margin:0}@media (max-width: 480px){.lflyer-hero{padding:40px 16px 64px}.lflyer-hero__title{font-size:24px}.lflyer-deck{height:360px}.lflyer-deck__card{width:60%}}.vpup{width:100%;min-height:100vh;background:#f5f5f7;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif}.vpup-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:#6b7180}.vpup-header{background:#1e2024;color:#fff;padding:16px 0;border-bottom:1px solid #2a2c30}.vpup-header__inner{max-width:720px;margin:0 auto;padding:0 20px}.vpup-header h1{margin:0;font-size:20px;font-weight:700;color:#fff}.vpup-student{margin:4px 0 0;font-size:13px;color:#b0b0b0}.vpup-main{max-width:720px;margin:0 auto;padding:24px 16px 120px}.vpup-guide{background:#fff;border-radius:12px;padding:16px 18px;margin-bottom:20px;border:1px solid #edeef2}.vpup-guide h2{margin:0 0 8px;font-size:15px;font-weight:700;color:#1e2024}.vpup-guide ul{margin:0;padding-left:20px;font-size:13px;line-height:1.7;color:#4f545f}.vpup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}@media (max-width: 480px){.vpup-grid{grid-template-columns:repeat(2,1fr)}}.vpup-tile{position:relative;width:100%;aspect-ratio:3 / 4;background:#fff;border:1px solid #e2e4ea;border-radius:8px;overflow:hidden}.vpup-tile img{width:100%;height:100%;object-fit:cover;display:block}.vpup-tile__order{position:absolute;top:6px;left:6px;padding:2px 8px;background:#0009;color:#fff;font-size:11px;font-weight:600;border-radius:4px}.vpup-tile__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.vpup-tile__overlay--err{background:#d7001599}.vpup-tile__delete{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#000000a6;color:#fff;font-size:16px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.vpup-tile__delete:hover{background:#d70015d9}.vpup-tile--add{cursor:pointer;background:#fff;border:2px dashed #c0c4cc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;transition:border-color .15s,background .15s}.vpup-tile--add:hover{border-color:#5b8def;background:#f8faff}.vpup-tile__add-icon{font-size:28px}.vpup-tile__add-label{font-size:12px;color:#6b7180;font-weight:600}.vpup-footer{position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid #edeef2;padding:12px 16px env(safe-area-inset-bottom,12px);z-index:100}.vpup-submit{display:block;width:100%;max-width:720px;margin:0 auto;height:52px;font-size:16px;font-weight:700;color:#fff;background:orange;border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 8px #ffa5004d}.vpup-submit:disabled{background:#c0c4cc;cursor:not-allowed;box-shadow:none}.vpup-footer__note{max-width:720px;margin:8px auto 0;font-size:11px;color:#6b7180;text-align:center}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes mld-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes mld-fade-in{0%{opacity:0}to{opacity:1}}.mld-animate{opacity:0;animation:mld-fade-up .6s ease forwards}.mld-animate--d1{animation-delay:.1s}.mld-animate--d2{animation-delay:.2s}.mld-animate--d3{animation-delay:.3s}.mld-animate--d4{animation-delay:.4s}.mld-animate--d5{animation-delay:.5s}.mld{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f7f8fa;min-height:100dvh;overflow-x:hidden}.mld-header{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;height:56px;box-sizing:border-box;max-width:1200px;margin:0 auto}.mld-header__logo{width:104px;height:28px;display:block}.mld-hero{max-width:1200px;margin:0 auto;padding:0 24px}.mld-hero__inner{position:relative;background:#1e2024;border-radius:16px;overflow:hidden;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}.mld-hero__text{flex:1;color:#fff;z-index:1}.mld-hero__badge{display:inline-block;padding:6px 14px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;font-size:13px;font-weight:600;color:#fff;margin-bottom:16px;letter-spacing:.5px}.mld-hero__label{font-size:14px;font-weight:400;color:#ffffffb3;margin-bottom:8px}.mld-hero__title{font-size:28px;font-weight:200;line-height:1.4;letter-spacing:-.3px;margin:0 0 14px;color:#fff}.mld-hero__title strong{font-weight:700}.mld-hero__desc{font-size:15px;font-weight:400;line-height:1.6;color:#ffffffd9;margin:0;max-width:440px}.mld-hero__visual{width:200px;height:200px;flex-shrink:0;opacity:.7;z-index:1}.mld-hero__visual img{width:100%;height:100%;object-fit:cover}.mld-problem-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:40px}.mld-problem-top__preview{border-radius:16px;overflow:hidden;border:1px solid #edeef2;box-shadow:0 8px 32px #00000014}.mld-problem-top__preview img{display:block;width:100%}.mld-section{max-width:1200px;margin:0 auto;padding:40px 24px}.mld-section--surface{background:#1e202408}.mld-section__eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#5b8def;margin-bottom:12px}.mld-section__title{font-size:24px;font-weight:800;color:#1e2024;text-align:center;line-height:1.35;margin:0 0 12px}.mld-section__sub{font-size:14px;color:#6b7180;line-height:1.6;margin:0 auto 24px;max-width:520px;text-align:center}.mld-problems{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mld-problem-card{background:#fff;border:1px solid #edeef2;border-radius:16px;padding:28px 24px;transition:transform .2s,box-shadow .2s}.mld-problem-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.mld-problem-card__num{font-size:32px;font-weight:700;color:#edeef2;margin-bottom:16px;line-height:1}.mld-problem-card__title{font-size:17px;font-weight:600;color:#1e2024;margin-bottom:8px;line-height:1.4}.mld-problem-card__desc{font-size:14px;color:#6b7180;line-height:1.6}.mld-video-wrap{margin-top:32px;border-radius:16px;overflow:hidden;border:1px solid #edeef2;box-shadow:0 8px 32px #00000014}.mld-video-wrap video{display:block;width:100%}.mld-process-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:8px}.mld-process-step{flex:1;max-width:220px;text-align:center;padding:0 12px}.mld-process-step__icon{width:56px;height:56px;border-radius:16px;background:#f7f8fa;border:1px solid #edeef2;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.mld-process-step__num{font-size:11px;font-weight:700;color:#aeaeb2;letter-spacing:1px;margin-bottom:4px}.mld-process-step__title{font-size:16px;font-weight:700;color:#1e2024;margin-bottom:6px}.mld-process-step__desc{font-size:13px;color:#6b7180;line-height:1.5}.mld-process-step__arrow{display:flex;align-items:center;padding-top:16px;flex-shrink:0}.mld-process-videos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mld-highlight{margin-top:32px;padding:24px;background:#1e2024;color:#ffffffd9;border-radius:12px;font-size:15px;line-height:1.7}.mld-highlight strong{color:#fff;font-weight:700}.mld-solution__footnote{margin-top:4px;padding:10px 0 0;border-top:1px solid #edeef2;font-size:13px;color:#6b7180;line-height:1.5}.mld-solution__footnote strong{color:#1e2024}.mld-results{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mld-result-card{background:#fff;border:1px solid #edeef2;border-radius:12px;padding:14px 16px}.mld-result-card__grade{font-size:15px;font-weight:700;margin-bottom:4px}.mld-result-card__desc{font-size:13px;color:#4f545f;line-height:1.5}.mld-cta__org{font-size:12px;color:#ffffff59;margin:16px 0 0}.mld-solution{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.mld-solution__content{display:flex;flex-direction:column;gap:10px}.mld-solution__point{display:flex;gap:10px;align-items:flex-start}.mld-solution__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:7px}.mld-solution__point-title{font-size:15px;font-weight:600;color:#1e2024;margin-bottom:2px}.mld-solution__point-desc{font-size:13px;color:#6b7180;line-height:1.5}.mld-solution__preview{background:#f7f8fa;border-radius:16px;padding:8px;overflow:hidden;border:1px solid #edeef2;box-shadow:0 8px 32px #00000014}.mld-solution__preview-label{font-size:12px;opacity:.5;margin-bottom:8px}.mld-solution__preview-title{font-size:20px;font-weight:700;margin-bottom:20px}.mld-solution__preview-items{display:flex;justify-content:center;gap:24px}.mld-solution__preview-item{text-align:center}.mld-solution__preview-item-value{font-size:28px;font-weight:700}.mld-solution__preview-item-label{font-size:11px;opacity:.5;margin-top:4px}.mld-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.mld-step{text-align:center;padding:0 16px;position:relative}.mld-step__num{width:40px;height:40px;border-radius:50%;background:#1e2024;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.mld-step__title{font-size:15px;font-weight:600;color:#1e2024;margin-bottom:4px}.mld-step__desc{font-size:12px;color:#aeaeb2;line-height:1.4}.mld-step__arrow{position:absolute;right:-8px;top:20px;color:#d1d1d6;font-size:16px}.mld-cta{background:#fff;text-align:center;padding:32px 24px 120px}.mld-cta__title{font-size:28px;font-weight:700;color:#1e2024;margin:0 0 8px}.mld-cta__sub{font-size:15px;color:#6b7180;margin:0 0 32px}.mld-cta__info{display:flex;justify-content:center;gap:40px;margin-bottom:32px}.mld-cta__info-label{font-size:11px;color:#fff6}.mld-cta__info-value{font-size:20px;font-weight:700;color:#fff;margin-top:2px}.mld-cta__btn{display:inline-block;padding:16px 48px;background:#fff;color:#1e2024;font-size:16px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:opacity .2s,transform .2s;letter-spacing:-.2px}.mld-cta__btn:hover{opacity:.9;transform:translateY(-1px)}.mld-floating-cta{position:fixed;bottom:0;left:0;right:0;padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid #edeef2;z-index:100}.mld-floating-cta__btn{display:block;width:100%;max-width:480px;margin:0 auto;padding:16px;background:#1e2024;color:#fff;font-size:16px;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:opacity .2s;letter-spacing:-.2px}.mld-floating-cta__btn:hover{opacity:.85}@media (max-width: 768px){.mld-hero__inner{padding:32px 20px 36px;min-height:auto}.mld-hero__title{font-size:28px}.mld-hero__desc{max-width:100%}.mld-hero__visual{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:140px;height:140px;opacity:.12;z-index:0}.mld-problem-top{grid-template-columns:1fr;gap:24px}.mld-process-step__arrow{display:none}.mld-process-steps{flex-direction:column;align-items:center;gap:20px}.mld-problems{grid-template-columns:1fr}.mld-process-videos{grid-template-columns:1fr;gap:0}.mld-solution,.mld-results{grid-template-columns:1fr}.mld-steps{grid-template-columns:repeat(2,1fr);gap:24px}.mld-step__arrow{display:none}.mld-section{padding:40px 20px}.mld-section__title{font-size:22px}.mld-cta__info{gap:24px}.mld-cta__title{font-size:22px}}.mld-code-input::placeholder{color:#d0d1d6;font-weight:400}.mock-exam-page{min-height:100dvh;padding:1px 16px 40px;background:#f5f6f8;color:#1e2024}.mock-exam-card{box-sizing:border-box;border:1px solid #e4e7ec;border-radius:18px;background:#fff;box-shadow:0 10px 30px #0f172a0f}.mock-registration-input{box-sizing:border-box;width:100%;min-height:46px;padding:11px 12px;border:1px solid #d6dae1;border-radius:10px;background:#fff;color:#1e2024;font:inherit}.mock-registration-input:focus{border-color:#1e2024;outline:2px solid rgb(30 32 36 / 10%)}.mock-registration-button{min-height:48px;padding:11px 16px;border:0;border-radius:11px;background:#1e2024;color:#fff;font-size:15px;font-weight:700;cursor:pointer}.mock-registration-button--secondary{border:1px solid #d6dae1;background:#f2f3f5;color:#1e2024}.mock-registration-button:disabled{cursor:not-allowed;opacity:.45}.jqops{--jqops-ink: #1e2024;--jqops-muted: #6b7180;--jqops-line: #edeef2;--jqops-surface: #f7f8fa;color:var(--jqops-ink);display:grid;gap:20px}.jqops-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between}.jqops-header h2,.jqops-panel h3{margin:0}.jqops-header h2{font-size:22px;letter-spacing:-.02em}.jqops-header p,.jqops-panel-heading p{color:var(--jqops-muted);font-size:13px;margin:6px 0 0}.jqops-eyebrow{color:#3b5bdb!important;font-size:11px!important;font-weight:700;letter-spacing:.12em;margin:0 0 5px!important}.jqops-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.jqops-updated{color:var(--jqops-muted);flex-basis:100%;font-size:11px;text-align:right}.jqops-health{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;min-height:32px;padding:0 12px}.jqops-health--healthy{background:#e6f9ee;color:#1d8348}.jqops-health--degraded{background:#fff0f0;color:#b42318}.jqops-alert{background:#fff8e6;border:1px solid #f5d58a;border-radius:12px;color:#754c00;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 20px;padding:14px 16px}.jqops-alert strong{flex-basis:100%}.jqops-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.jqops-summary{background:#fff;border:1px solid var(--jqops-line);border-radius:12px;display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px}.jqops-summary span{color:var(--jqops-muted);font-size:12px}.jqops-summary strong{font-size:26px;letter-spacing:-.03em}.jqops-panel{border:1px solid var(--jqops-line);border-radius:14px;overflow:hidden}.jqops-panel--warning{border-color:#f5d58a}.jqops-panel-heading{align-items:center;display:flex;justify-content:space-between;padding:16px 18px}.jqops-panel-heading h3{font-size:16px}.jqops-table-wrap{overflow-x:auto}.jqops-table{border-collapse:collapse;font-size:12px;min-width:760px;width:100%}.jqops-table--wide{min-width:980px}.jqops-table th{background:var(--jqops-surface);color:#4f545f;font-size:11px;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.jqops-table td{border-top:1px solid var(--jqops-line);max-width:360px;padding:11px 12px;vertical-align:middle}.jqops-table a{color:#3b5bdb;font-weight:600}.jqops-cell-sub{color:var(--jqops-muted);display:block;font-size:10px;margin-top:3px}.jqops-error-code{color:#b42318;display:block;font-size:10px;font-weight:700;margin-bottom:3px}.jqops-error-message{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jqops-status{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;padding:4px 8px}.jqops-status--ok{background:#e6f9ee;color:#1d8348}.jqops-status--error{background:#fff0f0;color:#b42318}.jqops-button{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:650;justify-content:center;min-height:44px;padding:0 13px;text-decoration:none;white-space:nowrap}.jqops-button:focus-visible{outline:3px solid rgba(59,91,219,.3);outline-offset:2px}.jqops-button:disabled{cursor:not-allowed;opacity:.45}.jqops-button--primary{background:var(--jqops-ink);color:#fff}.jqops-button--secondary{background:#fff;border-color:#d7d9e0;color:#4f545f}.jqops-actions{display:flex;gap:6px}.jqops-funnel{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));padding:0 18px 18px}.jqops-funnel-item{background:var(--jqops-surface);min-height:82px;padding:14px}.jqops-funnel-item:first-child{border-radius:10px 0 0 10px}.jqops-funnel-item:last-child{border-radius:0 10px 10px 0}.jqops-funnel-item span{color:var(--jqops-muted);display:block;font-size:11px}.jqops-funnel-item strong{display:block;font-size:22px;margin-top:8px}.jqops-funnel-item--error{background:#fff0f0;color:#b42318}.jqops-empty{align-items:center;color:var(--jqops-muted);display:flex;flex-direction:column;font-size:13px;gap:12px;justify-content:center;min-height:110px;padding:20px;text-align:center}@media (max-width: 900px){.jqops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jqops-header{align-items:flex-start;flex-direction:column}.jqops-header-actions{justify-content:flex-start}.jqops-updated{text-align:left}}@media (max-width: 560px){.jqops{gap:14px}.jqops-summary-grid{gap:8px}.jqops-summary{padding:13px}.jqops-summary strong{font-size:22px}.jqops-panel-heading{padding:14px}.jqops-funnel{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 14px}.jqops-funnel-item:first-child,.jqops-funnel-item:last-child{border-radius:8px}}@media (prefers-reduced-motion: reduce){.jqops *{scroll-behavior:auto!important;transition:none!important}}.mea{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;min-height:100vh;padding:24px 32px;max-width:1400px;margin:0 auto}.mea h1{font-size:24px;font-weight:700;color:#1e2024;margin:0 0 24px;letter-spacing:-.3px}.mea-error{background:#fff0f0;color:#d70015;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:13px;cursor:pointer;border:1px solid #ffe0e0}.mea-selected{font-size:13px;color:#6b7180;margin-bottom:12px}.mea-selected strong{color:#1e2024;font-weight:600}.mea-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid #edeef2}.mea-tab{padding:10px 20px;font-size:13px;font-weight:400;color:#6b7180;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.mea-tab--active{font-weight:600;color:#1e2024;border-bottom-color:#1e2024}.mea-card{background:#fff;border:1px solid #edeef2;border-radius:12px;padding:16px;transition:border-color .15s,box-shadow .15s}.mea-card--selected{border-color:#1e2024;box-shadow:0 0 0 1px #1e2024}.mea-card:hover{box-shadow:0 2px 8px #0000000a}.mea-btn{padding:6px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;letter-spacing:-.1px}.mea-btn:hover{opacity:.85}.mea-btn:active{transform:scale(.97)}.mea-btn:disabled{opacity:.4;cursor:default;transform:none}.mea-btn--primary{background:#1e2024;color:#fff}.mea-btn--secondary{background:#edeef2;color:#4f545f}.mea-btn--danger{background:#fff0f0;color:#d70015}.mea-btn--accent{background:#5b8def;color:#fff}.mea-btn--sm{padding:4px 10px;font-size:12px}.mea-input{padding:8px 12px;border:1px solid #edeef2;border-radius:8px;font-size:13px;color:#1e2024;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s}.mea-input:focus{border-color:#1e2024}.mea-input--sm{padding:4px 8px;font-size:12px}.mea-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:#fff;border-radius:12px;border:1px solid #edeef2;overflow:hidden}.mea-table th{text-align:left;padding:10px 14px;font-weight:600;color:#4f545f;background:#f7f8fa;font-size:12px;border-bottom:1px solid #edeef2}.mea-table td{padding:10px 14px;color:#1e2024;border-bottom:1px solid #f7f8fa}.mea-table tbody tr{transition:background .1s}.mea-table tbody tr:hover{background:#f7f8fa}.mea-table tbody tr:last-child td{border-bottom:none}.mea-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.mea-badge--ok{background:#e6f9ee;color:#1d8348}.mea-badge--error{background:#fff0f0;color:#d70015}.mea-badge--pending{background:#f7f8fa;color:#6b7180}.mea-badge--running{background:#fff8e6;color:#92400e}.mea-badge--blue{background:#eef2ff;color:#3b5bdb}.mea-progress{background:#edeef2;height:6px;border-radius:3px;overflow:hidden}.mea-progress__bar{height:100%;border-radius:3px;background:#1e2024;transition:width .3s}.mea-progress__bar--error{background:#f59e0b}.mea-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;align-items:center;justify-content:center}.mea-modal-overlay--top{align-items:flex-start;padding-top:40px;overflow:auto}.mea-modal{background:#fff;border-radius:16px;padding:24px;box-shadow:0 20px 60px #0000001f;max-width:95vw}.mea-label{font-size:12px;font-weight:500;color:#6b7180;margin-bottom:4px}.mea-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.mea-toolbar__group{display:flex;gap:6px;align-items:center}.mea-toolbar__count{font-size:13px;color:#6b7180}.mea-empty{text-align:center;padding:48px 16px;color:#6b7180;font-size:14px}.mea-dash__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.mea-dash__toolbar h2{font-size:18px;font-weight:600;margin:0 0 4px;color:#1e2024}.mea-filter-group{display:flex;gap:4px}.mea-filter-btn{padding:4px 12px;font-size:13px;font-weight:500;color:#6b7180;background:#f7f8fa;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.mea-filter-btn:hover{background:#edeef2}.mea-filter-btn--active{color:#3b5bdb;background:#eef2ff;border-color:#3b5bdb}.mea-filter-count{font-weight:700;margin-left:2px}.mea-table--compact td,.mea-table--compact th{padding:8px 10px;font-size:12px}.mea-table-wrap{overflow-x:auto}.mea-student-info{display:flex;flex-direction:column;gap:2px}.mea-sub-text{font-size:11px;color:#6b7180}.mea-placeholder{color:#aeaeb2;font-size:12px}.mea-status{display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap}.mea-status--created,.mea-status--waiting{background:#f7f8fa;color:#6b7180}.mea-status--pending_payment,.mea-status--need_action{background:#fff8e6;color:#92400e}.mea-status--registered,.mea-status--photo_uploaded{background:#fff3cd;color:#856404}.mea-status--submitted,.mea-status--analyzing{background:#eef2ff;color:#3b5bdb}.mea-status--completed{background:#e6f9ee;color:#1d8348}.mea-link-btn{padding:4px 8px;font-size:11px;border:1px solid #edeef2;border-radius:6px;background:#fff;cursor:pointer;white-space:nowrap;text-decoration:none;color:#4f545f}.mea-link-btn:hover{background:#f7f8fa}.mea-link-btn--accent{color:#3b5bdb;border-color:#3b5bdb}.mea-link-btn--accent:hover{background:#eef2ff}.mea-link-btn--done{color:#16a34a;border-color:#86efac}.mea-link-btn--done:hover{background:#f0fdf4}.mea-link-btn--danger{color:#d70015;border-color:#fca5a5}.mea-link-btn--danger:hover{background:#fff0f0}.mea-link-btn--retry{color:#ff9500;border-color:#ff9500}.mea-link-btn--retry:hover{background:#fff8f0}.mea-link-btn--retry:disabled{opacity:.5;cursor:default}.mea-status--error{background:#fff0f0;color:#d70015}.mea-link-btn--copy{font-size:10px;padding:1px 5px;color:#6b7180}.mea-actions{display:flex;gap:4px;flex-wrap:nowrap}.mea-tag{display:inline-block;font-size:11px;font-weight:500;padding:1px 6px;border-radius:4px;background:#f7f8fa;color:#6b7180;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.mea-tag--blue{background:#eef2ff;color:#3b5bdb}.mea-refresh-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.mea-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#f7f8fa;border:1px solid #edeef2;border-radius:8px;cursor:pointer;color:#6b7180;transition:background .15s,color .15s}.mea-refresh-btn:hover{background:#edeef2;color:#1e2024}.mea-refresh-icon{transition:transform .3s ease}.mea-refresh-icon--spin{transform:rotate(180deg)}.mea-refresh-bar{width:32px;height:2px;background:#edeef2;border-radius:1px;overflow:hidden}.mea-refresh-bar-fill{height:100%;background:#1e2024;transition:width .1s linear;border-radius:1px}.mea-search-input{padding:8px 12px;font-size:13px;border:1px solid #edeef2;border-radius:8px;outline:none}.mea-search-input:focus{border-color:#1e2024}.mea-code-row{display:flex;align-items:center;gap:6px}.mea-feed-date{font-size:12px;color:#1d8348;font-weight:500}/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer app-base;@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-ink:#18181b;--color-muted:#71717a;--color-line:#e8e8eb;--color-line-soft:#f3f3f5;--color-surface:#fff;--color-page:#f7f7f8;--color-ok:#059669;--color-error:#dc2626;--color-mpd-gold:#b4914f;--color-mpd-gold-deep:#83621a;--color-mpd-cream:#f6efdf;--color-mpd-red:#d00;--color-mpd-red-soft:#fdeaea;--color-mpd-teal:#4e7a72;--color-mpd-gray:#6b7180;--color-mpd-border:#edeef2;--color-mpd-border-strong:#cbcfd8;--color-mpd-bg:#fafbfc;--color-mpd-divider:#e2e4ea}}@layer base{.mpd-report,.mpd-report *,.mpd-report :before,.mpd-report :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}.mpd-report :is(button,input,select,textarea){font:inherit;color:inherit;background:0 0}.mpd-report button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.mpd-report :is(img,svg,video,canvas){vertical-align:middle;display:block}.mpd-report :is(img,video){max-width:100%;height:auto}.mpd-report :is(b,strong){font-weight:bolder}.mpd-report a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.mpd-report :is(ol,ul){list-style:none}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-3{inset:calc(var(--spacing) * 3)}.inset-x-0{inset-inline:0}.inset-x-1{inset-inline:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-2{top:calc(var(--spacing) * -2)}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-9{top:calc(var(--spacing) * 9)}.top-\[2px\]{top:2px}.top-\[46px\]{top:46px}.top-\[60px\]{top:60px}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.-right-2\.5{right:calc(var(--spacing) * -2.5)}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[2px\]{right:2px}.right-\[24px\]{right:24px}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-\[2px\]{bottom:2px}.bottom-\[24px\]{bottom:24px}.bottom-full{bottom:100%}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-\[3px\]{left:3px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[9\]{z-index:9}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.-mt-\[4px\]{margin-top:-4px}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[4px\]{margin-top:4px}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[8px\]{margin-bottom:8px}.-ml-\[4px\]{margin-left:-4px}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-square{aspect-ratio:1}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-\[2px\]{width:2px;height:2px}.size-\[7\.5px\]{width:7.5px;height:7.5px}.size-\[7px\]{width:7px;height:7px}.size-\[10px\]{width:10px;height:10px}.size-\[13px\]{width:13px;height:13px}.size-\[18px\]{width:18px;height:18px}.size-\[20px\]{width:20px;height:20px}.size-\[22px\]{width:22px;height:22px}.size-\[24px\]{width:24px;height:24px}.size-\[44px\]{width:44px;height:44px}.size-\[48px\]{width:48px;height:48px}.size-\[168px\]{width:168px;height:168px}.size-\[220px\]{width:220px;height:220px}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[11px\]{height:11px}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[28px\]{height:28px}.h-\[29px\]{height:29px}.h-\[32px\]{height:32px}.h-\[72px\]{height:72px}.h-\[848px\]{height:848px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[80dvh\]{max-height:80dvh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[503px\]{max-height:503px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[18px\]{min-height:18px}.min-h-\[38vh\]{min-height:38vh}.min-h-\[44px\]{min-height:44px}.min-h-\[46px\]{min-height:46px}.min-h-\[48px\]{min-height:48px}.min-h-\[55dvh\]{min-height:55dvh}.min-h-\[70dvh\]{min-height:70dvh}.min-h-\[340px\]{min-height:340px}.min-h-dvh{min-height:100dvh}.min-h-px{min-height:1px}.w-2{width:calc(var(--spacing) * 2)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-40{width:calc(var(--spacing) * 40)}.w-\[3px\]{width:3px}.w-\[4px\]{width:4px}.w-\[20px\]{width:20px}.w-\[22px\]{width:22px}.w-\[28px\]{width:28px}.w-\[32px\]{width:32px}.w-\[38px\]{width:38px}.w-\[46\%\]{width:46%}.w-\[48px\]{width:48px}.w-\[52px\]{width:52px}.w-\[54px\]{width:54px}.w-\[60px\]{width:60px}.w-\[72px\]{width:72px}.w-\[200\%\]{width:200%}.w-\[1104px\]{width:1104px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[200px\]{max-width:200px}.max-w-\[312px\]{max-width:312px}.max-w-\[320px\]{max-width:320px}.max-w-\[420px\]{max-width:420px}.max-w-\[480px\]{max-width:480px}.max-w-\[672px\]{max-width:672px}.max-w-\[744px\]{max-width:744px}.max-w-\[848px\]{max-width:848px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[67px\]{min-width:67px}.min-w-\[576px\]{min-width:576px}.min-w-px{min-width:1px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.scroll-mt-\[64px\]{scroll-margin-top:64px}.\[scrollbar-width\:none\]{scrollbar-width:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(84px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[2px\]{gap:2px}.gap-\[3px\]{gap:3px}.gap-\[4px\]{gap:4px}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[16px\]{gap:16px}.gap-\[24px\]{gap:24px}.gap-\[32px\]{gap:32px}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-\[1px\]{column-gap:1px}.gap-x-\[3px\]{column-gap:3px}.gap-x-\[4px\]{column-gap:4px}.gap-y-1{row-gap:var(--spacing)}.gap-y-\[4px\]{row-gap:4px}.gap-y-px{row-gap:1px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[24px\]{border-radius:24px}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.rounded-t-\[17px\]{border-top-left-radius:17px;border-top-right-radius:17px}.rounded-t-\[24px\]{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[0\.5px\]{border-style:var(--tw-border-style);border-width:.5px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-x-\[6px\]{border-inline-style:var(--tw-border-style);border-inline-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-\[4px\]{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#0091ff\]{border-color:#0091ff}.border-\[\#e9d4ac\]{border-color:#e9d4ac}.border-\[\#f0d9ad\]{border-color:#f0d9ad}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.border-black\/5{border-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.border-error{border-color:var(--color-error)}.border-error\/40{border-color:#dc262666}@supports (color:color-mix(in lab,red,red)){.border-error\/40{border-color:color-mix(in oklab,var(--color-error) 40%,transparent)}}.border-line{border-color:var(--color-line)}.border-line-soft{border-color:var(--color-line-soft)}.border-mpd-border{border-color:var(--color-mpd-border)}.border-mpd-border-strong{border-color:var(--color-mpd-border-strong)}.border-mpd-divider{border-color:var(--color-mpd-divider)}.border-mpd-gold{border-color:var(--color-mpd-gold)}.border-mpd-gold-deep\/60{border-color:#83621a99}@supports (color:color-mix(in lab,red,red)){.border-mpd-gold-deep\/60{border-color:color-mix(in oklab,var(--color-mpd-gold-deep) 60%,transparent)}}.border-mpd-gold\/50{border-color:#b4914f80}@supports (color:color-mix(in lab,red,red)){.border-mpd-gold\/50{border-color:color-mix(in oklab,var(--color-mpd-gold) 50%,transparent)}}.border-mpd-red{border-color:var(--color-mpd-red)}.border-mpd-red\/40{border-color:#d006}@supports (color:color-mix(in lab,red,red)){.border-mpd-red\/40{border-color:color-mix(in oklab,var(--color-mpd-red) 40%,transparent)}}.border-ok{border-color:var(--color-ok)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-white\/35{border-color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.border-white\/35{border-color:color-mix(in oklab,var(--color-white) 35%,transparent)}}.border-white\/90{border-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.border-white\/90{border-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.border-x-transparent{border-inline-color:#0000}.border-t-black{border-top-color:var(--color-black)}.bg-\[\#9ca3af\]{background-color:#9ca3af}.bg-\[\#d97706\]{background-color:#d97706}.bg-\[\#d97706\]\/10{background-color:#d977061a}.bg-\[\#fff8ed\]{background-color:#fff8ed}.bg-\[rgba\(0\,0\,0\,0\.06\)\]{background-color:#0000000f}.bg-\[rgba\(0\,145\,255\,0\.12\)\]{background-color:#0091ff1f}.bg-\[rgba\(180\,145\,79\,0\.14\)\]{background-color:#b4914f24}.bg-\[rgba\(192\,49\,26\,0\.08\)\]{background-color:#c0311a14}.bg-\[rgba\(220\,38\,38\,0\.1\)\]{background-color:#dc26261a}.bg-black{background-color:var(--color-black)}.bg-black\/15{background-color:#00000026}@supports (color:color-mix(in lab,red,red)){.bg-black\/15{background-color:color-mix(in oklab,var(--color-black) 15%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab,red,red)){.bg-black\/55{background-color:color-mix(in oklab,var(--color-black) 55%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-error{background-color:var(--color-error)}.bg-mpd-bg{background-color:var(--color-mpd-bg)}.bg-mpd-border{background-color:var(--color-mpd-border)}.bg-mpd-cream{background-color:var(--color-mpd-cream)}.bg-mpd-cream\/40{background-color:#f6efdf66}@supports (color:color-mix(in lab,red,red)){.bg-mpd-cream\/40{background-color:color-mix(in oklab,var(--color-mpd-cream) 40%,transparent)}}.bg-mpd-divider{background-color:var(--color-mpd-divider)}.bg-mpd-gold{background-color:var(--color-mpd-gold)}.bg-mpd-gold-deep{background-color:var(--color-mpd-gold-deep)}.bg-mpd-gold-deep\/25{background-color:#83621a40}@supports (color:color-mix(in lab,red,red)){.bg-mpd-gold-deep\/25{background-color:color-mix(in oklab,var(--color-mpd-gold-deep) 25%,transparent)}}.bg-mpd-gold\/80{background-color:#b4914fcc}@supports (color:color-mix(in lab,red,red)){.bg-mpd-gold\/80{background-color:color-mix(in oklab,var(--color-mpd-gold) 80%,transparent)}}.bg-mpd-red{background-color:var(--color-mpd-red)}.bg-mpd-red-soft{background-color:var(--color-mpd-red-soft)}.bg-ok{background-color:var(--color-ok)}.bg-page{background-color:var(--color-page)}.bg-white{background-color:var(--color-white)}.bg-white\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-white\/0{background-color:color-mix(in oklab,var(--color-white) 0%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[0\.5px\]{padding:.5px}.p-\[2px\]{padding:2px}.p-\[3px\]{padding:3px}.p-\[5px\]{padding:5px}.p-\[8px\]{padding:8px}.p-\[12px\]{padding:12px}.p-\[16px\]{padding:16px}.p-\[20px\]{padding:20px}.p-px{padding:1px}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-12{padding-inline:calc(var(--spacing) * 12)}.px-\[2px\]{padding-inline:2px}.px-\[4px\]{padding-inline:4px}.px-\[6px\]{padding-inline:6px}.px-\[8px\]{padding-inline:8px}.px-\[10px\]{padding-inline:10px}.px-\[12px\]{padding-inline:12px}.px-\[16px\]{padding-inline:16px}.px-\[20px\]{padding-inline:20px}.px-\[23px\]{padding-inline:23px}.px-\[24px\]{padding-inline:24px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[2px\]{padding-block:2px}.py-\[4px\]{padding-block:4px}.py-\[5px\]{padding-block:5px}.py-\[6px\]{padding-block:6px}.py-\[8px\]{padding-block:8px}.py-\[12px\]{padding-block:12px}.py-\[16px\]{padding-block:16px}.py-\[20px\]{padding-block:20px}.py-\[24px\]{padding-block:24px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[4px\]{padding-top:4px}.pt-\[12px\]{padding-top:12px}.pt-\[16px\]{padding-top:16px}.pt-\[max\(0\.75rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(.75rem,env(safe-area-inset-top))}.pt-px{padding-top:1px}.pr-\[6px\]{padding-right:6px}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pb-\[4px\]{padding-bottom:4px}.pb-\[5px\]{padding-bottom:5px}.pb-\[8px\]{padding-bottom:8px}.pb-\[10px\]{padding-bottom:10px}.pb-\[14px\]{padding-bottom:14px}.pb-\[50px\]{padding-bottom:50px}.pb-\[max\(0\.75rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.pb-\[max\(1rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\[\'Inter\'\]{font-family:Inter}.text-\[6px\]{font-size:6px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[64px\]{font-size:64px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[16\.5px\]{--tw-leading:16.5px;line-height:16.5px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[19\.5px\]{--tw-leading:19.5px;line-height:19.5px}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-\[26px\]{--tw-leading:26px;line-height:26px}.leading-\[30px\]{--tw-leading:30px;line-height:30px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.2px\]{--tw-tracking:-.2px;letter-spacing:-.2px}.tracking-\[-0\.3px\]{--tw-tracking:-.3px;letter-spacing:-.3px}.tracking-\[-0\.6px\]{--tw-tracking:-.6px;letter-spacing:-.6px}.tracking-\[-0\.17px\]{--tw-tracking:-.17px;letter-spacing:-.17px}.tracking-\[-0\.18px\]{--tw-tracking:-.18px;letter-spacing:-.18px}.tracking-\[-0\.24px\]{--tw-tracking:-.24px;letter-spacing:-.24px}.tracking-\[-0\.26px\]{--tw-tracking:-.26px;letter-spacing:-.26px}.tracking-\[-0\.28px\]{--tw-tracking:-.28px;letter-spacing:-.28px}.tracking-\[-0\.32px\]{--tw-tracking:-.32px;letter-spacing:-.32px}.tracking-\[-0\.64px\]{--tw-tracking:-.64px;letter-spacing:-.64px}.\[word-break\:break-word\]{word-break:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#989898\]{color:#989898}.text-\[\#d97706\]{color:#d97706}.text-\[\#dc2626\]{color:#dc2626}.text-\[rgba\(0\,0\,0\,0\.7\)\]{color:#000000b3}.text-\[rgba\(0\,0\,0\,0\.55\)\]{color:#0000008c}.text-\[rgba\(0\,0\,0\,0\.85\)\]{color:#000000d9}.text-\[rgba\(131\,98\,26\,0\.4\)\]{color:#83621a66}.text-\[rgba\(180\,145\,79\,0\.6\)\]{color:#b4914f99}.text-\[rgba\(180\,145\,79\,0\.55\)\]{color:#b4914f8c}.text-black{color:var(--color-black)}.text-black\/35{color:#00000059}@supports (color:color-mix(in lab,red,red)){.text-black\/35{color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.text-black\/40{color:#0006}@supports (color:color-mix(in lab,red,red)){.text-black\/40{color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.text-black\/50{color:#00000080}@supports (color:color-mix(in lab,red,red)){.text-black\/50{color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.text-black\/60{color:#0009}@supports (color:color-mix(in lab,red,red)){.text-black\/60{color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.text-black\/70{color:#000000b3}@supports (color:color-mix(in lab,red,red)){.text-black\/70{color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.text-black\/80{color:#000c}@supports (color:color-mix(in lab,red,red)){.text-black\/80{color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.text-error{color:var(--color-error)}.text-ink{color:var(--color-ink)}.text-mpd-border-strong{color:var(--color-mpd-border-strong)}.text-mpd-gold{color:var(--color-mpd-gold)}.text-mpd-gold-deep{color:var(--color-mpd-gold-deep)}.text-mpd-gray{color:var(--color-mpd-gray)}.text-mpd-red{color:var(--color-mpd-red)}.text-mpd-teal{color:var(--color-mpd-teal)}.text-muted{color:var(--color-muted)}.text-ok{color:var(--color-ok)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-\[0px_8px_20px_0px_rgba\(30\,32\,36\,0\.12\)\]{--tw-shadow:0px 8px 20px 0px var(--tw-shadow-color,#1e20241f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black{--tw-ring-color:var(--color-black)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0px_5px_4px_rgba\(30\,32\,36\,0\.16\)\]{--tw-drop-shadow-size:drop-shadow(0px 5px 4px var(--tw-drop-shadow-color,#1e202429));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0px_8px_10px_rgba\(30\,32\,36\,0\.12\)\]{--tw-drop-shadow-size:drop-shadow(0px 8px 10px var(--tw-drop-shadow-color,#1e20241f));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\[background\:linear-gradient\(90deg\,rgba\(0\,0\,0\,0\)\,black_50\%\,rgba\(0\,0\,0\,0\)\)\]{background:linear-gradient(90deg,#0000,#000 50%,#0000)}.placeholder\:text-white\/40::placeholder{color:#fff6}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/40::placeholder{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-mpd-bg:hover{background-color:var(--color-mpd-bg)}.hover\:bg-mpd-gold-deep:hover{background-color:var(--color-mpd-gold-deep)}.hover\:text-mpd-red:hover{color:var(--color-mpd-red)}.hover\:opacity-70:hover{opacity:.7}}.focus\:border-mpd-gold:focus{border-color:var(--color-mpd-gold)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[\.98\]:active{scale:.98}.active\:scale-\[\.99\]:active{scale:.99}.active\:bg-black\/5:active{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.active\:bg-black\/5:active{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.active\:bg-mpd-bg:active{background-color:var(--color-mpd-bg)}.active\:bg-white\/15:active{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.active\:bg-white\/15:active{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.active\:bg-white\/25:active{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.active\:bg-white\/25:active{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.active\:opacity-70:active{opacity:.7}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.disabled\:hover\:bg-mpd-gold:disabled:hover{background-color:var(--color-mpd-gold)}}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:480px){.min-\[480px\]\:rotate-0{rotate:0deg}.min-\[480px\]\:flex-row{flex-direction:row}}@media (min-width:40rem){.sm\:top-\[68px\]{top:68px}.sm\:right-\[30px\]{right:30px}.sm\:bottom-\[30px\]{bottom:30px}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:size-\[56px\]{width:56px;height:56px}.sm\:h-\[32px\]{height:32px}.sm\:h-\[518\.5px\]{height:518.5px}.sm\:w-\[44px\]{width:44px}.sm\:w-\[60px\]{width:60px}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:gap-\[6px\]{gap:6px}.sm\:gap-\[10px\]{gap:10px}.sm\:gap-\[16px\]{gap:16px}.sm\:gap-\[24px\]{gap:24px}.sm\:rounded-\[4px\]{border-radius:4px}.sm\:rounded-\[60px\]{border-radius:60px}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-\[16px\]{padding-inline:16px}.sm\:px-\[32px\]{padding-inline:32px}.sm\:px-\[40px\]{padding-inline:40px}.sm\:py-\[32px\]{padding-block:32px}.sm\:pt-\[10px\]{padding-top:10px}.sm\:pt-\[24px\]{padding-top:24px}.sm\:pb-\[11px\]{padding-bottom:11px}.sm\:text-\[20px\]{font-size:20px}.sm\:text-\[24px\]{font-size:24px}.sm\:text-\[32px\]{font-size:32px}.sm\:text-\[40px\]{font-size:40px}.sm\:text-\[80px\]{font-size:80px}.sm\:tracking-\[-0\.4px\]{--tw-tracking:-.4px;letter-spacing:-.4px}.sm\:tracking-\[-0\.8px\]{--tw-tracking:-.8px;letter-spacing:-.8px}.sm\:tracking-\[-0\.72px\]{--tw-tracking:-.72px;letter-spacing:-.72px}.sm\:text-black{color:var(--color-black)}.sm\:opacity-40{opacity:.4}}@media (min-width:48rem){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&_\.katex\]\:text-\[0\.95em\] .katex{font-size:.95em}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.mpd-report{--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;font-feature-settings:"case" 1,"ss06" 1,"ss10" 1,"lnum" 1,"tnum" 1;color:#18181b;-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes jdsm-progress-dot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes jdsm-progress-count-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes jdsm-progress-gradient-flow{0%{transform:translate(0)}to{transform:translate(-50%)}}.mpd-report .jdsm-progress-dot{background:var(--color-mpd-gold-deep);border-radius:999px;width:4px;height:4px;animation:.9s ease-in-out infinite jdsm-progress-dot-bounce;display:inline-block}.mpd-report .jdsm-progress-dot--1{animation-delay:.15s}.mpd-report .jdsm-progress-dot--2{animation-delay:.3s}.mpd-report .jdsm-progress-count{animation:.25s ease-out jdsm-progress-count-enter}.mpd-report .jdsm-progress-width{transition:width .4s ease-out}.mpd-report .jdsm-progress-gradient{background:linear-gradient(90deg,var(--color-mpd-gold),var(--color-mpd-gold-deep),var(--color-mpd-gold),var(--color-mpd-gold-deep),var(--color-mpd-gold));animation:3s linear infinite jdsm-progress-gradient-flow}@media (prefers-reduced-motion:reduce){.mpd-report .jdsm-progress-dot,.mpd-report .jdsm-progress-count,.mpd-report .jdsm-progress-gradient{animation:none}.mpd-report .jdsm-progress-width{transition:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}:root{--font-size: 16px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--background: #ffffff;--foreground: #030213;--card: #ffffff;--card-foreground: #030213;--primary: #030213;--primary-foreground: #ffffff;--secondary: #f1f5f9;--secondary-foreground: #030213;--muted: #f1f5f9;--muted-foreground: #64748b;--accent: #f8fafc;--accent-foreground: #030213;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: rgba(0, 0, 0, .1);--input: transparent;--input-background: #f3f4f6;--ring: #030213;--radius: .625rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px);--radius-2xl: calc(var(--radius) + 8px);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}@layer app-base{*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size);height:100%;height:-webkit-fill-available}body{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;background:#f8fafc;color:var(--foreground);font-weight:var(--font-weight-normal);line-height:1.5;overscroll-behavior:none;height:100%;min-height:100%;min-height:-webkit-fill-available}#root{width:100%;height:100%}h1{font-size:2rem;font-weight:var(--font-weight-bold);line-height:1.5;color:var(--foreground)}h2{font-size:1.5rem;font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--foreground)}h3{font-size:1.25rem;font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--foreground)}h4{font-size:1rem;font-weight:var(--font-weight-medium);line-height:1.5;color:var(--foreground)}p{font-size:1rem;font-weight:var(--font-weight-normal);line-height:1.5;color:var(--foreground)}label{font-size:1rem;font-weight:var(--font-weight-medium);line-height:1.5}button{font-size:1rem;font-weight:var(--font-weight-medium);line-height:1.5;font-family:inherit}input{font-size:1rem;font-weight:var(--font-weight-normal);line-height:1.5;font-family:inherit}}[data-sonner-toast] [data-close-button]{background:#fff!important;border-color:#0000001f!important;color:#374151!important}
