.ql-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5f8faeb;justify-content:center;align-items:center;padding:16px;animation:.2s ql-fade;display:flex;position:absolute;inset:0}.ql-card{text-align:center;background:#fff;border:1px solid #e8edf2;border-radius:22px;width:100%;max-width:560px;padding:40px 36px 32px;animation:.3s ql-pop;position:relative;box-shadow:0 18px 50px #0f172a14}.ql-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.ql-close:hover{background:#e2e8f0}.ql-icon-wrap{justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 20px;display:flex;position:relative}.ql-pulse{background:#dcf7ee;border:2px solid #b7ecd9;border-radius:50%;animation:2s ease-in-out infinite ql-pulse;position:absolute;inset:0}.ql-icon{color:#0f766e;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;display:flex;position:relative;box-shadow:0 4px 14px #0f766e26}.ql-badge{color:#fff;background:#0f766e;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;animation:2.4s ease-in-out infinite ql-spin-in;display:flex;position:absolute;bottom:10px;right:10px}.ql-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:800}.ql-sub{color:#475569;margin:0 0 26px;font-size:16px}.ql-bar{background:#e6f8f1;border-radius:99px;height:5px;margin:0 20px 22px;overflow:hidden}.ql-bar-fill{background:linear-gradient(90deg,#14b8a6,#0f766e);border-radius:99px;width:35%;height:100%;animation:1.6s ease-in-out infinite ql-slide}.ql-dots{justify-content:center;gap:10px;margin-bottom:26px;display:flex}.ql-dots span{opacity:.3;background:#0f766e;border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite ql-dot}.ql-dots span:nth-child(2){animation-delay:.2s}.ql-dots span:nth-child(3){animation-delay:.4s}.ql-dots span:nth-child(4){animation-delay:.6s}.ql-note{color:#475569;border-top:1px solid #eef2f6;justify-content:center;align-items:center;gap:8px;padding-top:18px;font-size:14px;display:flex}.ql-note svg{color:#0f766e}.ql-actions{justify-content:center;gap:12px;display:flex}.ql-btn{color:#fff;font:inherit;cursor:pointer;background:#0f766e;border:none;border-radius:10px;padding:10px 24px;font-weight:600;transition:all .15s}.ql-btn:hover{background:#115e59;transform:translateY(-1px)}.ql-btn.ghost{color:#475569;background:#f1f5f9}.ql-btn.ghost:hover{background:#e2e8f0}@keyframes ql-fade{0%{opacity:0}to{opacity:1}}@keyframes ql-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes ql-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.06)}}@keyframes ql-spin-in{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.12)rotate(20deg)}}@keyframes ql-slide{0%{margin-left:-35%}to{margin-left:100%}}@keyframes ql-dot{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.quiz-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a66;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out qmFadeIn;display:flex;position:absolute;inset:0}.quiz-modal-container{background:#fff;border:1px solid #e2e8f0;border-radius:24px;flex-direction:column;width:100%;max-width:680px;max-height:94vh;padding:32px 36px 36px;animation:.25s cubic-bezier(.16,1,.3,1) qmScaleIn;display:flex;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a2e}.quiz-exit-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;position:absolute;top:20px;right:20px}.quiz-exit-btn:hover{color:#0f172a;background:#e2e8f0}.quiz-top-bar{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.quiz-segmented-progress{gap:8px;width:100%;display:flex}.quiz-progress-segment{background:#e2e8f0;border-radius:9999px;flex:1;justify-content:center;align-items:center;height:7px;transition:background .3s;display:flex;position:relative}.quiz-progress-segment.filled{background:#005944}.quiz-progress-segment.correct-mark .segment-check-icon{color:#fff;font-size:9px;font-weight:800;line-height:1}.quiz-meta-row{justify-content:space-between;align-items:center;display:flex}.quiz-question-counter{color:#475569;font-size:13px;font-weight:500}.quiz-progress-percent{color:#005944;font-size:13px;font-weight:600}.quiz-content-area{flex-direction:column;gap:18px;display:flex}.quiz-question-card{background:#f0fdf9;border:1.5px solid #a7f3d0;border-radius:20px;flex-direction:column;gap:14px;padding:22px 24px;display:flex}.quiz-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.quiz-subject-badge{color:#065f46;letter-spacing:.04em;background:#fff;border:1px solid #86efac;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.quiz-badge-icon{color:#059669}.quiz-attempt-badge{color:#0f766e;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.attempt-dot{background:#10b981;border-radius:50%;width:7px;height:7px}.quiz-question-text{color:#0f172a;font-size:18px;font-weight:600;line-height:1.55}.quiz-options-list{flex-direction:column;gap:12px;display:flex}.quiz-option-button{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;width:100%;padding:14px 18px;font-family:inherit;transition:all .15s;display:flex}.quiz-option-button:hover:not(:disabled){background:#f8fafc;border-color:#005944;transform:translateY(-1px)}.quiz-option-left{flex:1;align-items:center;gap:14px;display:flex}.quiz-option-id-circle{color:#334155;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.quiz-option-body{flex-direction:column;gap:2px;display:flex}.quiz-option-text{color:#1e293b;font-size:15px;font-weight:500;line-height:1.4}.quiz-option-subtext{font-size:12px;font-weight:600}.quiz-option-right{flex-shrink:0;margin-left:12px}.quiz-radio-circle{border:2px solid #cbd5e1;border-radius:50%;width:20px;height:20px}.quiz-option-button.incorrect{background:#fef2f2;border-color:#f87171}.quiz-option-button.incorrect .quiz-option-id-circle{color:#dc2626;background:#fee2e2}.quiz-option-button.incorrect .quiz-option-subtext{color:#dc2626}.quiz-badge-incorrect{color:#dc2626;background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.quiz-option-button.correct{background:#f0fdf9;border-color:#005944}.quiz-option-button.correct .quiz-option-id-circle{color:#fff;background:#005944}.quiz-option-button.correct .quiz-option-subtext{color:#005944}.quiz-badge-correct{color:#fff;background:#005944;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.quiz-option-button.revealed-correct{background:#fff;border-color:#86efac}.quiz-option-button.revealed-correct .quiz-option-id-circle{color:#15803d;background:#dcfce7}.quiz-badge-pill-correct{color:#15803d;background:#dcfce7;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.quiz-option-button.revealed-choice{background:#fff;border-color:#fca5a5}.quiz-option-button.revealed-choice .quiz-option-id-circle{color:#dc2626;background:#fee2e2}.quiz-badge-pill-choice{color:#b91c1c;background:#fee2e2;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.quiz-option-button.dimmed{opacity:.5;cursor:default}.quiz-helper-banner{background:#f0fdf9;border:1px solid #bbf7d0;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.quiz-helper-left{align-items:center;gap:8px;display:flex}.quiz-helper-icon{font-size:16px}.quiz-helper-text{color:#047857;font-size:13px}.quiz-formula-hint-btn{color:#047857;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700;transition:opacity .15s}.quiz-formula-hint-btn:hover{text-decoration:underline}.quiz-hint-box{background:#fffdf0;border:1.5px solid #fef08a;border-radius:18px;flex-direction:column;gap:8px;padding:18px 20px;animation:.25s qmSlideUp;display:flex}.quiz-hint-header{align-items:center;gap:10px;display:flex}.quiz-hint-bulb-circle{color:#d97706;background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.quiz-hint-title{color:#1e293b;font-size:16px;font-weight:700}.quiz-hint-content{color:#475569;font-size:14px;line-height:1.6}.quiz-solution-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:14px;padding:22px 24px;animation:.25s qmSlideUp;display:flex;box-shadow:0 4px 16px #0f172a0a}.quiz-solution-header{align-items:center;gap:12px;display:flex}.quiz-solution-info-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.quiz-solution-title-wrap{align-items:center;gap:10px;display:flex}.quiz-solution-title{color:#0f172a;font-size:18px;font-weight:700}.quiz-solution-badge{color:#4338ca;background:#ede9fe;border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:700}.quiz-solution-subtitle{color:#64748b;margin:0;font-size:13px}.quiz-solution-steps-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.quiz-solution-step-item{flex-direction:column;gap:4px;display:flex}.quiz-solution-step-label{color:#64748b;letter-spacing:.04em;font-size:11px;font-weight:700}.quiz-solution-step-label.final{color:#059669}.quiz-solution-step-content{color:#1e293b;font-size:14px;line-height:1.5}.quiz-final-answer-pill{color:#065f46;background:#dcfce7;border:1.5px solid #86efac;border-radius:9999px;align-self:flex-start;margin-top:4px;padding:6px 16px;font-size:15px;font-weight:700;display:inline-block}.quiz-common-slip-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.quiz-slip-icon{color:#2563eb;flex-shrink:0;margin-top:2px}.quiz-slip-text{color:#1e40af;font-size:13px;line-height:1.5}.quiz-success-card{background:#f0fdf9;border:1.5px solid #6ee7b7;border-radius:20px;flex-direction:column;gap:14px;padding:22px 24px;animation:.25s qmSlideUp;display:flex}.quiz-success-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quiz-success-left{align-items:center;gap:12px;display:flex}.quiz-success-check-circle{color:#fff;background:#059669;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.quiz-success-title{color:#065f46;margin:0;font-size:19px;font-weight:700}.quiz-success-subtitle{color:#047857;margin:2px 0 0;font-size:13px}.quiz-points-pill{color:#047857;background:#dcfce7;border:1px solid #a7f3d0;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.quiz-success-explanation{color:#065f46;border-top:1px dashed #a7f3d0;padding-top:10px;font-size:14px;line-height:1.6}.quiz-bottom-actions{flex-direction:column;align-items:center;gap:12px;margin-top:8px;display:flex}.quiz-primary-action-btn{color:#fff;cursor:pointer;background:#005944;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 28px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #00594440}.quiz-primary-action-btn:hover{background:#044b3a;transform:translateY(-1px)}.quiz-skip-link{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:none;transition:color .15s}.quiz-skip-link:hover{color:#0f172a;text-decoration:underline}.quiz-complete-view{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:10px 4px 16px;animation:.25s qmScaleIn;display:flex}.quiz-complete-icon-wrap{background:#d1fae5;border:3px solid #a7f3d0;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.quiz-complete-title{color:#0f172a;margin:0;font-size:28px;font-weight:800}.quiz-complete-subtitle{color:#475569;max-width:520px;margin:0;font-size:15px;line-height:1.5}.quiz-complete-score-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;flex-direction:column;align-items:center;gap:20px;width:100%;padding:26px 20px;display:flex;box-shadow:0 4px 16px #0f172a08}.quiz-donut-gauge{border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;transition:all .5s;display:flex;position:relative}.quiz-donut-inner{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100px;height:100px;display:flex;box-shadow:inset 0 2px 6px #0f172a0f}.quiz-donut-score-text{color:#0f172a;font-size:26px;font-weight:800}.quiz-donut-accuracy-pill{color:#047857;background:#ecfdf5;border-radius:9999px;padding:3px 9px;font-size:11px;font-weight:700}.quiz-summary-pills-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.quiz-summary-pill{border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.quiz-summary-pill.neutral{color:#334155;background:#f1f5f9}.pill-dot{color:#64748b;font-size:10px}.quiz-summary-pill.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.quiz-summary-pill.danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.quiz-diagnostic-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;flex-direction:column;gap:16px;width:100%;padding:22px 24px;display:flex;box-shadow:0 4px 16px #0f172a08}.quiz-diagnostic-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.quiz-diagnostic-header-left{align-items:center;gap:12px;display:flex}.quiz-diagnostic-icon-box{color:#005944;background:#ecfdf5;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.quiz-diagnostic-title{color:#0f172a;margin:0;font-size:17px;font-weight:700}.quiz-diagnostic-subtitle{color:#64748b;margin:2px 0 0;font-size:12px}.quiz-diagnostic-tag{color:#64748b;letter-spacing:.05em;font-size:11px;font-weight:700}.quiz-diagnostic-items-list{flex-direction:column;gap:10px;display:flex}.quiz-diagnostic-item{color:#1e293b;text-align:left;background:#f0f4ff;border:1px solid #e0e7ff;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.quiz-diagnostic-item.success-item{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.quiz-diagnostic-item-cross{color:#ef4444;background:#fee2e2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.diagnostic-highlight{color:#0f766e;font-weight:700}.quiz-diagnostic-recommendation{color:#1d4ed8;text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.rec-sparkle-icon{color:#2563eb;flex-shrink:0}.quiz-followup-message-box{color:#334155;text-align:left;background:#f8fafc;border-left:3px solid #005944;border-radius:6px;padding:10px 14px;font-size:13px;line-height:1.5}.quiz-complete-bottom-actions{flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:8px;display:flex}.quiz-back-chat-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:14px;font-weight:600;transition:color .15s;display:inline-flex}.quiz-back-chat-btn:hover{color:#0f172a;text-decoration:underline}.quiz-spin{animation:1s linear infinite qmSpin}@keyframes qmSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes qmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes qmScaleIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes qmSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.freekey-root{--primary:#7c3aed;--primary-light:#f4ecff;--text-dark:#333;--text-muted:#888;--bg-main:#f8f9fa;--bg-sidebar:#fff;--border-color:#eee;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--font-family)}*,:before,:after{box-sizing:border-box}.floating-launcher{background:var(--primary);color:#fff;cursor:pointer;z-index:999999;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #20c99766}.floating-launcher:hover{transform:scale(1.05);box-shadow:0 6px 16px #20c99780}.portal-overlay{z-index:999998;background:#0006;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.portal-container{width:100%;height:100%;font-family:var(--font-family);color:var(--text-dark);background:#fff;flex:1;min-width:0;min-height:0;display:flex}.portal-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;width:280px;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);color:#fff;background:#444;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex}.logo-container{letter-spacing:.5px;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.logo-arrow{color:var(--primary);font-size:20px}.close-btn-mobile{color:#fff;cursor:pointer;background:0 0;border:none;display:none}.sidebar-content{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.sidebar-title{color:var(--text-dark);justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.close-btn-desktop{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.close-btn-desktop:hover{color:var(--text-dark)}.new-doubt-btn{background:var(--primary-light);width:100%;color:var(--primary);border:1px solid var(--primary-light);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;transition:background .2s;display:flex}.new-doubt-btn:hover{background:#d4f3e6}.recent-section{flex-direction:column;gap:12px;display:flex}.section-title{color:var(--text-muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.search-container{width:100%}.search-input{border:1px solid var(--border-color);border-radius:6px;outline:none;width:100%;padding:10px;font-size:13px}.search-input:focus{border-color:var(--primary)}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-item{cursor:pointer;color:var(--text-muted);text-transform:uppercase;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:12px;font-weight:600;display:flex}.history-item.active{background:var(--primary-light);color:var(--primary)}.history-item:hover:not(.active){background:#f1f3f5}.bullet{background:#ccc;border-radius:50%;width:6px;height:6px}.history-item.active .bullet{background:var(--primary)}.animated-subject{color:var(--primary);animation:.5s cubic-bezier(.2,.8,.2,1) forwards slideUpFade;display:inline-block}@keyframes slideUpFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.chat-area{background:var(--bg-main);flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative}.chat-header{border-bottom:1px solid var(--border-color);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.header-title{margin:0;font-size:16px;font-weight:600}.header-user{align-items:center;gap:10px;font-size:13px;display:flex}.avatar{background:#333;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.dropdown-icon{color:var(--text-muted);cursor:pointer}.chat-messages{flex-direction:column;flex:1;gap:24px;min-height:0;padding:24px 10%;display:flex;overflow:hidden auto}.message-row{align-items:flex-start;gap:16px;max-width:1100px;display:flex}.message-row.user{flex-direction:row-reverse}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.user-avatar{background:var(--primary);color:#fff;font-size:14px}.bot-avatar{background:#e6f4ea;border:none}.message-bubble{word-wrap:break-word;overflow-wrap:break-word;border-radius:12px;width:90%;padding:20px 24px;font-size:14px;line-height:1.6}.user-bubble{color:var(--text-dark);border:2px solid var(--primary);background:0 0;border-bottom-left-radius:4px}.bot-bubble{color:#334155;background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.bot-section{margin-bottom:16px}.bot-section:last-child{margin-bottom:0}.section-heading{color:#2b3a42;align-items:center;gap:6px;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.concept-list{color:#4a5568;margin:0;padding-left:20px}.concept-list li{margin-bottom:8px}.math{font-family:Cambria Math,Times New Roman,serif;font-style:italic}.block-math{text-align:center;margin:12px 0;font-size:16px;display:block}.question-box{border-left:3px solid var(--primary);background:#f8f9fa;border-radius:8px;margin-top:12px;padding:12px}.chat-input-container{border-top:1px solid var(--border-color);background:#fff;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:20px 10%;display:flex}.chat-input-wrapper{border:1px solid var(--primary);background:#fff;border-radius:12px;align-items:center;width:100%;padding:12px 18px;transition:border-color .2s;display:flex;box-shadow:0 4px 12px #0000000a}.chat-input-wrapper:focus-within{box-shadow:0 4px 12px #7c3aed26}.chat-input{border:none;outline:none;flex:1;padding:18px 16px;font-size:16px;line-height:1.5}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.icon-btn:hover{background:#f1f3f5}.footer-text{color:var(--text-muted);font-size:11px}@media (width<=768px){.portal-sidebar{z-index:10;height:100%;transition:left .3s;position:absolute;left:-280px}.close-btn-desktop{display:none}.close-btn-mobile{display:block}}.metadata-card{background:var(--primary-light);border:1px solid #7c3aed33;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px 16px;font-size:12px;display:flex}.metadata-row{gap:12px;display:flex}.metadata-label{color:var(--primary);flex-shrink:0;width:80px;font-weight:700}.metadata-value{color:#333}.thinking-bubble{border:1px solid var(--border-color);color:var(--primary);background:0 0;border-radius:20px;align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex;box-shadow:0 2px 4px #00000005}.thinking-spinner{border:2px solid #7c3aed33;border-left-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.markdown-body{color:#334155;font-size:15px;line-height:1.6}.markdown-body p{margin:0 0 16px}.markdown-body p:last-child{margin:0}.markdown-body ul{margin:0 0 16px;padding-left:24px}.markdown-body li{margin-bottom:12px}.markdown-body strong{color:#1e293b;font-weight:600}.markdown-body h3{color:#0f172a;margin:24px 0 16px;font-size:16px;font-weight:700}.markdown-body h3:first-child{margin-top:0}.markdown-body pre,.markdown-body table,.markdown-body .katex-display{max-width:100%;margin:16px 0;overflow-x:auto}.markdown-body img{border-radius:8px;max-width:100%;height:auto}.auth-overlay-backdrop{-webkit-backdrop-filter:blur(10px);z-index:1000000;background:radial-gradient(circle at 50% 20%,#7c3aed1f,#0f172abf),#0f172aa6;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.auth-card-container{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:440px;padding:32px 28px;animation:.28s cubic-bezier(.16,1,.3,1) authCardEnter;display:flex;position:relative;box-shadow:0 20px 45px -10px #7c3aed33,0 0 0 1px #0000000f}@keyframes authCardEnter{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;display:flex}.auth-logo-badge{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:12px;display:flex;box-shadow:0 8px 18px -4px #7c3aed73}.auth-title{color:#0f172a;letter-spacing:-.3px;margin:0 0 6px;font-size:22px;font-weight:700}.auth-subtitle{color:#64748b;max-width:320px;margin:0;font-size:13px;line-height:1.4}.auth-institute-tag{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe;border-radius:9999px;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.auth-tabs{background:#f1f5f9;border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;transition:all .18s;display:flex}.auth-tab-btn.active{color:#7c3aed;background:#fff;box-shadow:0 2px 6px #0000000f}.auth-tab-btn:hover:not(.active){color:#1e293b}.auth-sub-method-switcher{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:flex}.auth-sub-method-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.auth-sub-method-btn.active{color:#7c3aed;background:#fff;box-shadow:0 1px 4px #00000014}.auth-sub-method-btn:hover:not(.active){color:#1e293b}.auth-forgot-header-bar{align-items:center;margin-bottom:16px;display:flex}.auth-back-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.auth-back-btn:hover{color:#1e293b}.auth-success-banner{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:12.5px;line-height:1.4;animation:.2s authFadeIn;display:flex}.auth-success-icon{flex-shrink:0;margin-top:1px}.auth-success-text{flex:1}.auth-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:12.5px;line-height:1.4;animation:.2s authFadeIn;display:flex}.auth-error-icon{flex-shrink:0;margin-top:1px}.auth-error-text{flex:1}.auth-label-row{justify-content:space-between;align-items:center;display:flex}.auth-forgot-link,.auth-change-link{color:#7c3aed;cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:500;transition:color .15s}.auth-forgot-link:hover,.auth-change-link:hover{color:#5b21b6;text-decoration:underline}.auth-resend-row{justify-content:center;margin-top:4px;display:flex}.auth-resend-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.auth-resend-btn:hover:not(:disabled){color:#7c3aed;background:#f5f3ff}.auth-resend-btn:disabled{opacity:.5;cursor:not-allowed}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-label{color:#334155;text-align:left;font-size:12px;font-weight:600}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.auth-input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;height:42px;padding:0 38px;font-family:inherit;font-size:13.5px;transition:all .18s}.auth-input:focus{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.auth-input:disabled{opacity:.6;cursor:not-allowed;background:#f1f5f9}.auth-password-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.auth-password-toggle:hover{color:#475569}.auth-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:44px;margin-top:6px;font-size:14px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #7c3aed40}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 100%);transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed59}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-spinner-wrapper{align-items:center;gap:8px;display:flex}.auth-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-switch-prompt{text-align:center;color:#64748b;margin-top:8px;font-size:12.5px}.auth-switch-link{color:#7c3aed;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.auth-switch-link:hover{color:#5b21b6}.sidebar-user-footer{border-top:1px solid var(--border-color);background:#fafafa;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:12px 14px;display:flex}.sidebar-user-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sidebar-user-avatar{color:#fff;text-transform:uppercase;background:linear-gradient(135deg,#7c3aed,#9333ea);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.sidebar-user-details{flex-direction:column;min-width:0;display:flex}.sidebar-user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-email{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar-logout-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .18s;display:flex}.sidebar-logout-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}
