:root{--bg: #05051a;--surface: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--border-bright: rgba(124, 58, 237, .5);--purple: #7c3aed;--purple-light: #a78bfa;--cyan: #06b6d4;--green: #10b981;--yellow: #f59e0b;--red: #ef4444;--text: #e2e8f0;--muted: #64748b;--muted-light: #94a3b8;--radius: 14px;--radius-sm: 8px;--shadow: 0 0 0 1px var(--border), 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 0 1px var(--border-bright), 0 8px 40px rgba(124, 58, 237, .15)}.app{min-height:100vh;position:relative;overflow-x:hidden}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(124,58,237,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.bg-orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;animation:orbFloat 20s ease-in-out infinite}.bg-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,.12) 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.bg-orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,.08) 0%,transparent 70%);bottom:100px;left:-100px;animation-delay:-7s}.bg-orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(124,58,237,.06) 0%,transparent 70%);top:50%;left:40%;animation-delay:-14s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.header{position:sticky;top:0;z-index:100;background:#05051ad9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.header-inner{max-width:1400px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:14px}.logo-symbol{font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--purple-light),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.logo-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.3px}.logo-sub{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.header-stats{display:flex;gap:8px}.stat-chip{display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 16px;min-width:72px}.stat-val{font-size:18px;font-weight:700;line-height:1.2;color:var(--text)}.stat-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:1px}.layout{max-width:1400px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:280px 1fr;gap:24px;position:relative;z-index:1;min-height:calc(100vh - 68px)}.sidebar{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;height:fit-content;position:sticky;top:92px;box-shadow:var(--shadow)}.sidebar-section{padding:4px 0}.sidebar-divider{height:1px;background:var(--border);margin:16px 0}.sidebar-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}.icon{font-size:13px}.topic-list{display:flex;flex-direction:column;gap:3px}.topic-btn{width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted-light);padding:7px 10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.topic-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.topic-btn.active{background:#7c3aed26;border-color:#7c3aed66;color:var(--purple-light)}.difficulty-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.diff-btn{padding:8px 4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted-light);font-size:12px;font-weight:600;text-transform:capitalize;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.diff-btn-easy.active{background:#10b98126;border-color:#10b98166;color:#10b981}.diff-btn-medium.active{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.diff-btn-hard.active{background:#ef444426;border-color:#ef444466;color:#ef4444}.diff-btn:hover{background:var(--surface-hover);color:var(--text)}.generate-btn{width:100%;padding:13px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;font-family:Inter,sans-serif;box-shadow:0 4px 20px #7c3aed4d;letter-spacing:.2px}.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #7c3aed73}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.pdf-upload{display:flex;flex-direction:column;gap:10px}.drop-zone{border:1.5px dashed var(--border);border-radius:var(--radius-sm);padding:20px 12px;text-align:center;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.drop-zone:hover,.drop-zone.dragging{border-color:var(--purple);background:#7c3aed0f}.drop-icon{font-size:22px;color:var(--muted);margin-bottom:2px}.drop-text{font-size:12px;font-weight:600;color:var(--muted-light)}.drop-sub{font-size:11px;color:var(--muted)}.pdf-loaded{display:flex;align-items:center;gap:8px;background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);padding:10px 12px}.pdf-loaded-icon{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pdf-loaded-info{flex:1;min-width:0}.pdf-filename{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-meta{font-size:10px;color:var(--muted)}.replace-btn{font-size:11px;color:var(--muted);background:none;border:1px solid var(--border);border-radius:6px;padding:3px 8px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.replace-btn:hover{color:var(--text);border-color:var(--muted)}.upload-message{font-size:11px;padding:7px 10px;border-radius:6px;font-weight:500}.upload-message.success{background:#10b9811a;color:var(--green)}.upload-message.error{background:#ef44441a;color:var(--red)}.pdf-hint{font-size:11px;color:var(--muted);line-height:1.5}.main{display:flex;flex-direction:column;gap:16px}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;color:#fca5a5}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px;box-shadow:var(--shadow);animation:cardIn .35s cubic-bezier(.16,1,.3,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:12px}.empty-icon{font-size:72px;font-weight:100;background:linear-gradient(135deg,var(--purple-light),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px}.empty-card h2{font-size:22px;font-weight:700;color:var(--text)}.empty-card p{font-size:14px;color:var(--muted-light);max-width:340px;line-height:1.6}.empty-card strong{color:var(--purple-light)}.loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:20px}.loading-orb{width:64px;height:64px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--purple);border-right-color:var(--cyan);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:var(--muted-light);font-weight:500}.card-header{margin-bottom:24px}.card-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 12px;border-radius:99px;font-size:12px;font-weight:600;border:1px solid}.topic-badge{background:#7c3aed1f;border-color:#7c3aed4d;color:var(--purple-light)}.diff-badge{background:transparent;text-transform:capitalize}.marks-badge{background:#06b6d41a;border-color:#06b6d440;color:var(--cyan)}.question-body{margin-bottom:28px}.question-text{font-size:18px;line-height:1.75;color:var(--text);font-weight:400}.hint-section{margin-bottom:24px}.hint-toggle{background:none;border:none;color:var(--muted-light);font-size:13px;font-weight:500;cursor:pointer;padding:0;font-family:Inter,sans-serif;transition:color .15s}.hint-toggle:hover{color:var(--yellow)}.hint-box{margin-top:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;color:#fde68a;line-height:1.6;animation:fadeSlide .2s ease both}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.answer-section{display:flex;flex-direction:column;gap:8px}.answer-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.answer-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.draw-toggle-btn.active{background:#7c3aed26;border-color:var(--purple);color:var(--purple-light)}.answer-row{display:flex;gap:10px}.answer-input{flex:1;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;font-family:JetBrains Mono,monospace;padding:12px 16px;outline:none;transition:border-color .15s,box-shadow .15s}.answer-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1f}.answer-input::placeholder{color:var(--muted)}.answer-input:disabled{opacity:.5}.submit-btn{padding:12px 22px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;font-family:Inter,sans-serif;white-space:nowrap;box-shadow:0 2px 12px #7c3aed40}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed66}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.answer-sub{font-size:11px;color:var(--muted)}.result-box{border-radius:var(--radius-sm);padding:24px;display:flex;flex-direction:column;gap:14px;animation:cardIn .3s ease both}.result-box.correct{background:#10b9810f;border:1px solid rgba(16,185,129,.25)}.result-box.incorrect{background:#ef44440f;border:1px solid rgba(239,68,68,.2)}.result-header{display:flex;align-items:center;gap:10px}.result-icon{font-size:22px}.result-title{font-size:18px;font-weight:700;flex:1}.correct .result-title{color:var(--green)}.incorrect .result-title{color:var(--red)}.result-score{font-size:12px;font-weight:700;font-family:JetBrains Mono,monospace;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px 10px;color:var(--muted-light)}.result-feedback{font-size:14px;color:var(--muted-light);line-height:1.6}.correct-answer{font-size:14px;color:var(--muted-light);padding:10px 14px;background:#ffffff08;border-radius:var(--radius-sm);border:1px solid var(--border)}.correct-label{font-weight:600;color:var(--text)}.solution-toggle{background:none;border:none;color:var(--cyan);font-size:13px;font-weight:600;cursor:pointer;padding:0;font-family:Inter,sans-serif;transition:opacity .15s;text-align:left}.solution-toggle:hover{opacity:.75}.solution-box{background:#06b6d40d;border:1px solid rgba(6,182,212,.15);border-radius:var(--radius-sm);padding:16px 18px;font-size:14px;color:var(--text);line-height:1.8;animation:fadeSlide .2s ease both}.chat-cta-btn{width:100%;padding:13px;border-radius:var(--radius-sm);border:1px dashed rgba(124,58,237,.4);background:#7c3aed12;color:var(--purple-light);font-size:14px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:all .2s ease;letter-spacing:.2px}.chat-cta-btn:hover{background:#7c3aed21;border-style:solid;border-color:#7c3aed80;transform:translateY(-1px)}.chat-empty{font-size:13px;color:var(--muted);text-align:center;padding:12px 0;font-style:italic}.result-nav-row{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:4px}.retry-btn{padding:11px 20px;border-radius:var(--radius-sm);border:1.5px solid rgba(251,191,36,.5);background:#fbbf2414;color:#fbbf24;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.retry-btn:hover{background:#fbbf242e;border-color:#fbbf24;transform:translateY(-1px)}.next-btn{padding:11px 24px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;box-shadow:0 2px 12px #7c3aed40}.next-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed66}.math-display{display:block;overflow-x:auto;padding:6px 0}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.upload-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite}.solution-steps{display:flex;flex-direction:column;gap:10px;margin-top:4px}.key-idea-box{display:flex;flex-direction:column;gap:4px;background:#7c3aed14;border:1px solid rgba(124,58,237,.25);border-left:3px solid var(--purple);border-radius:var(--radius-sm);padding:12px 16px}.key-idea-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--purple-light)}.key-idea-text{font-size:13px;color:#c4b5fd;line-height:1.5}.step-card{background:#ffffff05;border:1px solid var(--border);border-left:3px solid var(--cyan);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:8px;animation:fadeSlide .25s ease both}.step-header{display:flex;align-items:center;gap:10px}.step-number{width:24px;height:24px;border-radius:50%;background:var(--cyan);color:#05051a;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-title{font-size:13px;font-weight:700;color:var(--text)}.step-explanation{font-size:13px;color:var(--muted-light);line-height:1.6;margin:0;padding-left:34px}.step-working{background:#06b6d40d;border-radius:6px;padding:12px 16px;margin-left:34px;overflow-x:auto}.working-lines{display:flex;flex-direction:column;gap:10px}.working-line{display:block;text-align:center;overflow-x:auto}.working-line.math .katex-display{margin:0}.working-line.label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:left;padding-top:4px}.math-display{display:block;text-align:center;overflow-x:auto;padding:2px 0}.math-inline{display:inline}.active-step{border-left-color:var(--purple)!important}.step-done{opacity:.5;padding:10px 16px!important}.step-number.done{background:var(--green)!important;font-size:12px!important}.step-title.muted{color:var(--muted)!important;font-weight:500!important}.active-prompt{text-align:center;font-size:13px;color:var(--muted);padding:8px 0}.predict-zone{display:flex;flex-direction:column;gap:8px;margin-left:34px}.predict-label{font-size:12px;font-weight:600;color:var(--purple-light);letter-spacing:.2px}.predict-input{background:#7c3aed0f;border:1px solid rgba(124,58,237,.25);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:JetBrains Mono,monospace;padding:10px 14px;resize:none;outline:none;line-height:1.5;transition:border-color .15s,box-shadow .15s}.predict-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1a}.predict-input::placeholder{color:var(--muted)}.predict-actions{display:flex;align-items:center;gap:12px}.predict-submit-btn{padding:8px 18px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s;box-shadow:0 2px 10px #7c3aed40}.predict-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed66}.predict-submit-btn:disabled{opacity:.35;cursor:not-allowed}.predict-skip-btn{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;font-family:Inter,sans-serif;text-decoration:underline;transition:color .15s}.predict-skip-btn:hover{color:var(--muted-light)}.reveal-zone{display:flex;flex-direction:column;gap:10px;margin-left:34px;animation:fadeSlide .25s ease both}.your-attempt{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.attempt-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px}.attempt-text{font-size:13px;color:var(--muted-light);font-family:JetBrains Mono,monospace}.working-correct-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--cyan);margin-bottom:8px}.next-step-btn{align-self:flex-start;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid rgba(6,182,212,.3);background:#06b6d414;color:var(--cyan);font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.next-step-btn:hover{background:#06b6d424;border-color:#06b6d480}.hint-gate{display:flex;flex-direction:column;gap:8px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);padding:14px 16px;animation:fadeSlide .2s ease both}.hint-gate-prompt{font-size:13px;font-weight:600;color:#fde68a;margin:0}.reveal-step-btn{background:#06b6d414;border:1px dashed rgba(6,182,212,.35);border-radius:var(--radius-sm);color:var(--cyan);font-size:13px;font-weight:600;padding:10px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s;text-align:center}.reveal-step-btn:hover{background:#06b6d424;border-style:solid}.show-all-btn{background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;font-family:Inter,sans-serif;text-decoration:underline;text-align:center;padding:0;transition:color .15s}.show-all-btn:hover{color:var(--muted-light)}.final-answer-box{background:#10b98114;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);padding:16px 20px;display:flex;align-items:center;gap:16px;animation:fadeSlide .3s ease both}.final-answer-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--green);white-space:nowrap}.final-answer-value{font-size:16px;font-weight:600;color:#6ee7b7}.prep-talk-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;display:flex;flex-direction:column;gap:14px;animation:fadeSlide .35s ease both;transition:background .3s,border-color .3s}.prep-talk-header{display:flex;align-items:center;gap:10px}.prep-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.prep-header-text{flex:1;display:flex;flex-direction:column}.prep-name{font-size:13px;font-weight:700;color:var(--text)}.prep-subtitle{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.prep-badge{font-size:12px;font-weight:700;border:1px solid;border-radius:99px;padding:3px 12px;white-space:nowrap}.prep-loading{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);padding:4px 0}.conf-bar-wrap{display:flex;align-items:center;gap:10px}.conf-bar-track{flex:1;height:6px;border-radius:99px;background:#ffffff0f;overflow:hidden}.conf-bar-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.16,1,.3,1)}.conf-bar-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.prep-rows{display:flex;flex-direction:column;gap:10px}.prep-row{display:flex;gap:10px;align-items:flex-start}.prep-row-icon{font-size:14px;color:var(--green);margin-top:1px;flex-shrink:0;width:18px;text-align:center}.prep-row-icon.warn{color:var(--yellow)}.prep-row-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px}.prep-row-text{font-size:13px;color:var(--muted-light);line-height:1.55}.prep-row.motivational .prep-row-text{color:var(--text);font-weight:500}.italic{font-style:italic}.tutor-chat{margin-top:20px;border:1px solid rgba(124,58,237,.25);border-radius:var(--radius);overflow:hidden;background:#7c3aed0a;animation:fadeSlide .3s ease both}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:#7c3aed14}.chat-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-name{font-size:14px;font-weight:700;color:var(--text)}.chat-status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:1px}.chat-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-messages{max-height:380px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-bubble{display:flex;gap:10px;align-items:flex-start;animation:fadeSlide .2s ease both}.chat-bubble.user{flex-direction:row-reverse}.bubble-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.bubble-content{max-width:80%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6}.chat-bubble.assistant .bubble-content{background:#ffffff0d;border:1px solid var(--border);color:var(--text);border-top-left-radius:4px}.chat-bubble.user .bubble-content{background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;border-top-right-radius:4px}.bubble-content.typing{display:flex;align-items:center;gap:5px;padding:14px 18px}.bubble-content.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:typingBounce 1.2s ease-in-out infinite}.bubble-content.typing span:nth-child(2){animation-delay:.2s}.bubble-content.typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border);align-items:flex-end}.chat-input{flex:1;background:#ffffff0a;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;padding:10px 14px;resize:none;outline:none;max-height:120px;overflow-y:auto;transition:border-color .15s;line-height:1.5}.chat-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7c3aed1a}.chat-input::placeholder{color:var(--muted)}.chat-send-btn{width:38px;height:38px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;box-shadow:0 2px 10px #7c3aed4d}.chat-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed73}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.concept-chat{margin-top:20px;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius);overflow:hidden;background:#10b9810a;animation:fadeSlide .35s ease both}.concept-chat-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(16,185,129,.15);background:#10b98114}.concept-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#059669,#06b6d4);font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.concept-chat-name{font-size:14px;font-weight:700;color:var(--text)}.concept-chat-sub{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:1px}.concept-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 2s ease-in-out infinite}.concept-got-it-btn{margin-left:auto;padding:6px 14px;border-radius:20px;border:1px solid rgba(16,185,129,.4);background:transparent;color:var(--green);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:Inter,sans-serif}.concept-got-it-btn:hover{background:#10b9811f;border-color:var(--green)}.concept-key-idea{display:flex;align-items:flex-start;gap:8px;padding:10px 18px;background:#10b9810f;border-bottom:1px solid rgba(16,185,129,.1);font-size:13px;color:var(--muted-light);line-height:1.5}.concept-key-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green);white-space:nowrap;padding-top:2px;flex-shrink:0}.concept-messages{max-height:340px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.2) transparent}.concept-bubble{display:flex;gap:10px;align-items:flex-start;animation:fadeSlide .2s ease both}.concept-bubble.user{flex-direction:row-reverse}.concept-bubble-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#059669,#06b6d4);font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.concept-bubble-content{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6}.concept-bubble.assistant .concept-bubble-content{background:#10b9810f;border:1px solid rgba(16,185,129,.2);color:var(--text);border-top-left-radius:4px}.concept-bubble.user .concept-bubble-content{background:linear-gradient(135deg,#059669,#047857);color:#fff;border-top-right-radius:4px}.concept-bubble-content.typing{display:flex;align-items:center;gap:5px;padding:14px 18px}.concept-bubble-content.typing span{width:7px;height:7px;border-radius:50%;background:var(--green);animation:typingBounce 1.2s ease-in-out infinite}.concept-bubble-content.typing span:nth-child(2){animation-delay:.2s}.concept-bubble-content.typing span:nth-child(3){animation-delay:.4s}.concept-input-row{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(16,185,129,.15);align-items:flex-end}.concept-input{flex:1;background:#ffffff0a;border:1px solid rgba(16,185,129,.2);border-radius:10px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;padding:10px 14px;resize:none;outline:none;max-height:120px;overflow-y:auto;transition:border-color .15s;line-height:1.5}.concept-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #10b9811a}.concept-input::placeholder{color:var(--muted)}.concept-send-btn{width:38px;height:38px;border-radius:10px;border:none;background:linear-gradient(135deg,#059669,#047857);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;box-shadow:0 2px 10px #10b9814d;font-weight:700}.concept-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #10b98166}.concept-send-btn:disabled{opacity:.35;cursor:not-allowed}.concept-footer{padding:12px 14px;border-top:1px solid rgba(16,185,129,.1);display:flex;justify-content:center}.concept-continue-btn{padding:10px 28px;border-radius:24px;border:none;background:linear-gradient(135deg,#059669,#047857);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s;box-shadow:0 2px 12px #10b9814d;letter-spacing:.02em}.concept-continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98173}.drawing-pad-wrapper{position:relative;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border);animation:fadeSlide .2s ease both}.photo-upload-box{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;animation:fadeSlide .2s ease both}.photo-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 20px;cursor:pointer;background:#ffffff05;transition:background .15s;text-align:center}.photo-upload-label:hover{background:#7c3aed0f}.photo-upload-icon{font-size:28px;line-height:1}.photo-upload-text{font-size:14px;font-weight:600;color:var(--text)}.photo-upload-hint{font-size:12px;color:var(--muted)}.photo-preview-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;background:#ffffff05}.photo-preview-img{max-width:100%;max-height:220px;border-radius:8px;border:1px solid var(--border);object-fit:contain}.photo-preview-actions{display:flex;gap:8px;width:100%;justify-content:center}.photo-clear-btn{padding:8px 16px;border-radius:8px;border:1px solid rgba(239,68,68,.35);background:transparent;color:var(--red);font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s}.photo-clear-btn:hover{background:#ef44441a;border-color:var(--red)}.photo-result-box{display:flex;flex-direction:column;gap:12px;padding:14px;background:#ffffff05;animation:fadeSlide .25s ease both}.photo-result-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.photo-result-title{font-size:13px;font-weight:700;color:var(--text)}.photo-confidence{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}.photo-confidence.confidence-high{background:#10b98126;color:var(--green);border:1px solid rgba(16,185,129,.3)}.photo-confidence.confidence-medium{background:#f59e0b1f;color:var(--yellow);border:1px solid rgba(245,158,11,.3)}.photo-confidence.confidence-low{background:#ef44441f;color:var(--red);border:1px solid rgba(239,68,68,.3)}.photo-steps{background:#7c3aed0d;border:1px solid rgba(124,58,237,.15);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.photo-step-line{font-size:14px;line-height:1.7;color:var(--text);border-bottom:1px solid rgba(255,255,255,.04);padding-bottom:4px}.photo-step-line:last-child{border-bottom:none;padding-bottom:0}.photo-final-answer{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#10b98112;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-sm);flex-wrap:wrap}.photo-final-label{font-size:12px;font-weight:700;color:var(--green);white-space:nowrap;flex-shrink:0}.photo-final-value{font-size:14px;color:var(--text)}.photo-result-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-low-confidence-note{font-size:12px;color:var(--yellow);margin:0;padding:8px 12px;background:#f59e0b0f;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.2)}.pad-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:#ffffff05;gap:8px;flex-wrap:wrap}.pen-sizes{display:flex;align-items:center;gap:6px}.pen-size-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.pen-size-btn.active{border-color:var(--purple);background:#7c3aed26}.tool-toggle{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;flex-shrink:0}.tool-btn{padding:5px 10px;border:none;background:transparent;color:var(--muted-light);font-size:12px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.tool-btn+.tool-btn{border-left:1px solid var(--border)}.tool-btn.active{background:#7c3aed2e;color:var(--purple-light)}.tool-btn.eraser.active{background:#64748b33;color:var(--muted-light)}.pad-actions{display:flex;align-items:center;gap:6px}.pad-btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted-light);font-size:12px;font-weight:500;padding:5px 10px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.pad-btn:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.pad-btn:disabled{opacity:.35;cursor:not-allowed}.draw-canvas{width:100%;height:200px;display:block;background:#0f0f2a;touch-action:none}.canvas-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;color:var(--muted);pointer-events:none;white-space:nowrap}.pad-submit-btn{width:100%;padding:11px;border:none;border-top:1px solid var(--border);background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s}.pad-submit-btn:disabled{opacity:.4;cursor:not-allowed}.pad-submit-btn:not(:disabled):hover{opacity:.9}.input-mode-strip{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.input-mode-btn{padding:5px 11px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.input-mode-btn+.input-mode-btn{border-left:1px solid var(--border)}.input-mode-btn:hover:not(:disabled){color:var(--text);background:#ffffff0a}.input-mode-btn.active{background:#7c3aed26;color:var(--purple-light)}.input-mode-btn:disabled{opacity:.4;cursor:not-allowed}.draw-toggle-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.draw-toggle-btn:hover{border-color:var(--purple);background:#7c3aed1a}.draw-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.chat-sub{font-size:10px;color:var(--muted);text-align:center;padding:0 14px 10px}.admin-badge{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted-light);font-size:12px;font-weight:600;padding:6px 14px;cursor:pointer;font-family:Inter,sans-serif;transition:all .15s}.admin-badge:hover{border-color:var(--purple);color:var(--purple-light)}.admin-badge-active{background:#7c3aed1f;border-color:#7c3aed59;color:var(--purple-light)}.pdf-locked{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:10px 4px}.pdf-loaded-dot{color:var(--green);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#0f0f2a;border:1px solid var(--border-bright);border-radius:var(--radius);padding:40px 36px;width:360px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 0 60px #7c3aed33,var(--shadow);animation:cardIn .25s cubic-bezier(.16,1,.3,1) both}.modal-icon{font-size:36px}.modal-title{font-size:20px;font-weight:700;color:var(--text)}.modal-sub{font-size:13px;color:var(--muted-light);text-align:center;line-height:1.5;margin-bottom:4px}.modal-form{width:100%;display:flex;flex-direction:column;gap:10px}.modal-cancel{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;font-family:Inter,sans-serif;margin-top:4px;transition:color .15s}.modal-cancel:hover{color:var(--text)}.mode-selector{display:flex;flex-direction:column;gap:10px;margin-top:16px}.mode-selector-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.mode-btn-row{display:flex;flex-direction:row;gap:12px}.learn-btn{flex:1;padding:12px 0;border-radius:999px;border:none;background:linear-gradient(135deg,#059669,var(--green));color:#fff;font-weight:700;font-size:14px;cursor:pointer;font-family:Inter,sans-serif;transition:opacity .15s,transform .15s}.learn-btn:hover{opacity:.9;transform:translateY(-1px)}.check-btn{flex:1;padding:12px 0;border-radius:999px;border:1px solid var(--cyan);background:transparent;color:var(--cyan);font-weight:700;font-size:14px;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s,transform .15s}.check-btn:hover{background:#06b6d414;transform:translateY(-1px)}.streak-nudge{background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;color:#fbbf24;margin-bottom:4px;line-height:1.5}.flow-box{border-left:3px solid var(--purple);border-radius:var(--radius-sm);padding:16px 18px;background:var(--surface);display:flex;flex-direction:column;gap:12px;margin-top:16px}.flow-header{display:flex;align-items:center;gap:10px}.flow-icon{font-size:24px;line-height:1}.flow-title{font-weight:700;font-size:15px;color:var(--text)}.flow-sub{font-size:12px;color:var(--muted-light);margin-top:-4px}.priming-textarea{width:100%;background:#0000004d;border:1px solid rgba(124,58,237,.25);border-radius:var(--radius-sm);color:var(--text);font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;resize:none;outline:none;box-sizing:border-box;transition:border-color .15s;line-height:1.6}.priming-textarea:focus{border-color:var(--purple)}.char-count{font-size:11px;text-align:right;color:var(--muted);transition:color .15s}.learn-primary-btn{background:linear-gradient(135deg,#059669,var(--green));color:#fff;font-weight:700;font-size:13px;border:none;border-radius:var(--radius-sm);padding:10px 20px;cursor:pointer;align-self:flex-end;font-family:Inter,sans-serif;transition:opacity .15s,transform .15s}.learn-primary-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.learn-primary-btn:disabled{opacity:.35;cursor:not-allowed}.lstep-card{border-left:2px solid var(--cyan);padding:12px 16px;border-radius:var(--radius-sm);background:var(--surface);animation:fadeSlide .2s ease both}.lstep-card.done{opacity:.5;padding:8px 16px;border-left-color:var(--green);transition:opacity .15s,background .15s}.lstep-card.done:hover{opacity:.85;background:#10b9810d}.lstep-card.done.expanded{opacity:1;background:#10b9810f;border-left-color:var(--green)}.lstep-header{display:flex;align-items:center;gap:10px}.lstep-done-title{font-size:13px;color:var(--muted-light);flex:1}.lstep-chevron{font-size:10px;color:var(--muted);margin-left:auto;flex-shrink:0;transition:transform .15s}.lstep-review{margin-top:8px;animation:fadeSlide .2s ease both}.lstep-num{width:24px;height:24px;border-radius:50%;background:var(--cyan);color:#05051a;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lstep-num.done{background:var(--green)}.lstep-title{font-weight:700;font-size:14px;color:var(--text)}.lstep-explanation{font-size:13px;color:var(--muted-light);padding-left:34px;margin-top:6px;line-height:1.6}.lstep-working{background:#06b6d40f;border-radius:var(--radius-sm);padding:10px 12px;margin-left:34px;margin-top:8px;overflow-x:auto}.next-step-btn{border:1px solid var(--cyan);background:transparent;color:var(--cyan);border-radius:var(--radius-sm);padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;align-self:flex-start;transition:background .15s}.next-step-btn:hover{background:#06b6d414}.conf-stars{display:flex;gap:6px;font-size:28px;cursor:pointer}.star{color:var(--muted);transition:color .1s;-webkit-user-select:none;user-select:none}.star.filled{color:#f59e0b}.conf-msg{font-size:13px;color:var(--muted-light);margin-top:4px;animation:fadeSlide .2s ease both}.checkit-box{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:16px;padding:16px 0}.timer-ring-wrap{position:relative;width:120px;height:120px}.timer-svg{position:absolute;top:0;right:0;bottom:0;left:0}.timer-track{stroke:var(--border);fill:none;stroke-width:6}.timer-fill{stroke:var(--cyan);fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.timer-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--text)}.blurred-solution{filter:blur(7px);-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .6s ease;text-align:center;padding:16px 24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;box-sizing:border-box;font-size:16px;color:var(--text)}.blurred-solution.revealed{filter:blur(0);-webkit-user-select:auto;user-select:auto;pointer-events:auto}.stuck-btn{border:1px solid rgba(124,58,237,.4);background:transparent;color:var(--purple-light);border-radius:var(--radius-sm);padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s}.stuck-btn:hover{background:#7c3aed14}.variation-card{border:1px dashed rgba(124,58,237,.4);border-radius:var(--radius-sm);padding:16px;background:#7c3aed0d;display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}.variation-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600}.variation-q{font-size:15px;color:var(--text);line-height:1.6}.try-variation-btn{background:var(--purple);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;align-self:flex-start;transition:opacity .15s}.try-variation-btn:hover{opacity:.85}.session-summary{border:1px solid rgba(6,182,212,.3);border-radius:var(--radius);background:#06b6d40d;padding:20px;display:flex;flex-direction:column;gap:12px;margin-top:16px;animation:slideDown .3s ease both}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.summary-title{font-weight:700;font-size:15px;color:var(--text);display:flex;align-items:center;gap:8px}.summary-stats{font-size:14px;color:var(--muted-light);line-height:1.5}.summary-stats strong{color:var(--text)}.summary-bar-track{height:6px;background:var(--surface);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.summary-bar-learn{height:100%;background:var(--green);border-radius:999px;transition:width .6s ease}.summary-dismiss{align-self:flex-end;border:1px solid rgba(6,182,212,.4);background:transparent;color:var(--cyan);border-radius:var(--radius-sm);padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s}.summary-dismiss:hover{background:#06b6d414}@media (max-width: 900px){.layout{grid-template-columns:1fr;padding:16px}.sidebar{position:static}.question-card{padding:24px 20px}.header-stats{display:none}}.concept-radar{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.cr-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#7c3aed14;border-bottom:1px solid var(--border)}.cr-title{font-size:13px;font-weight:700;color:var(--text)}.cr-coverage{font-size:12px;font-weight:700;color:var(--purple-light);background:#7c3aed26;padding:2px 10px;border-radius:20px}.cr-tabs{display:flex;border-bottom:1px solid var(--border)}.cr-tab{flex:1;padding:8px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.cr-tab.active{color:var(--purple-light);border-bottom-color:var(--purple);background:#7c3aed0d}.cr-topic-list{max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.cr-topic-group{border-bottom:1px solid var(--border)}.cr-topic-group:last-child{border-bottom:none}.cr-topic-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}.cr-topic-header:hover{background:#ffffff08}.cr-topic-icon{font-size:13px;width:20px;text-align:center;flex-shrink:0;color:var(--purple-light);font-style:italic}.cr-topic-label{font-size:12px;font-weight:700;color:var(--text);flex:1}.cr-topic-count{font-size:11px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 7px}.cr-chevron{font-size:9px;color:var(--muted)}.cr-concept-list{padding:4px 0 8px;background:#0000001f;animation:fadeSlide .15s ease both}.cr-concept-row{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 34px;transition:background .1s}.cr-concept-row:hover{background:#ffffff08}.cr-concept-info{flex:1;min-width:0}.cr-concept-label{display:block;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-concept-tip{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-concept-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.cr-freq-wrap{display:flex;align-items:center;gap:4px;width:72px}.cr-freq-bar{height:3px;border-radius:2px;transition:width .3s}.cr-freq-label{font-size:10px;color:var(--muted);white-space:nowrap}.cr-status{font-size:10px;font-weight:700;min-width:30px;text-align:center}.cr-status.strong{color:var(--green)}.cr-status.weak{color:var(--yellow)}.cr-status.untried{color:var(--muted)}.cr-drill-btn{padding:3px 8px;border:1px solid rgba(124,58,237,.35);border-radius:5px;background:transparent;color:var(--purple-light);font-size:10px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.cr-drill-btn:hover{background:#7c3aed26;border-color:var(--purple)}.drilling-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--purple-light);background:#7c3aed1f;border:1px solid rgba(124,58,237,.3);border-radius:20px;padding:4px 12px;margin-bottom:10px}.graph-sketch-wrapper{display:flex;flex-direction:column;border-top:1px solid rgba(244,114,182,.25);animation:fadeSlide .2s ease both}.graph-sketch-canvas{width:100%;height:260px;display:block;touch-action:none;background:#0a0a1f}.input-mode-btn.sketch-btn.active{background:#db277726;color:#f472b6}.graph-view-wrapper{margin-top:16px;border:1px solid rgba(124,58,237,.3);border-radius:var(--radius);overflow:hidden;animation:fadeSlide .3s ease both}.graph-view-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#7c3aed14;border-bottom:1px solid rgba(124,58,237,.15)}.graph-view-icon{font-size:16px}.graph-view-label{font-size:13px;font-weight:700;color:var(--text);flex:1}.graph-view-loading{font-size:11px;color:var(--muted)}.graph-container{width:100%;height:340px}.graph-error{padding:20px;text-align:center;font-size:13px;color:var(--muted)}.sketch-checking-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#db277714;border:1px solid rgba(219,39,119,.25);border-top:none;font-size:13px;font-weight:600;color:#f472b6}.app-mode-tabs{display:flex;gap:6px;padding:4px;background:#ffffff0a;border-radius:10px;border:1px solid var(--border)}.app-mode-tab{flex:1;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--muted-light);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;font-family:Inter,sans-serif}.app-mode-tab.active{background:var(--purple);color:#fff;box-shadow:0 2px 10px #7c3aed59}.app-mode-tab:not(.active):hover{background:#ffffff0f;color:var(--text)}.tutor-mode-wrapper{display:flex;flex-direction:column;gap:0;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:100%;min-height:600px}.tutor-mode-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:#7c3aed0f}.tutor-mode-title{display:flex;align-items:center;gap:12px}.tutor-mode-icon{font-size:24px}.tutor-mode-name{font-size:15px;font-weight:700;color:var(--text)}.tutor-mode-sub{font-size:12px;color:var(--muted-light);margin-top:1px}.tutor-close-btn,.tutor-change-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted-light);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.tutor-change-btn:hover,.tutor-close-btn:hover{background:#ffffff0f;color:var(--text)}.tutor-subject-tabs{display:flex;gap:6px;padding:14px 20px 0}.tutor-subject-tab{padding:6px 18px;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--muted-light);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.tutor-subject-tab.active{background:var(--purple);border-color:var(--purple);color:#fff}.tutor-pick-prompt{padding:12px 20px 4px;font-size:13px;color:var(--muted-light);margin:0}.tutor-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 20px 20px;overflow-y:auto}.tutor-topic-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:10px;border:1.5px solid var(--border);background:#ffffff05;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease;font-family:Inter,sans-serif;text-align:left}.tutor-topic-card:hover{border-color:var(--purple);background:#7c3aed14;transform:translateY(-1px)}.tutor-topic-card.return-visit{border-color:#fbbf2480;background:#fbbf240d}.tutor-topic-card.visited{border-color:#10b9814d}.tutor-topic-label{line-height:1.3}.tutor-visit-badge{font-size:10px;font-weight:700;color:#fbbf24;background:#fbbf241f;padding:2px 6px;border-radius:4px}.tutor-visit-badge.visited-badge{color:#10b981;background:#10b9811a}.tutor-return-banner{padding:10px 20px;background:#fbbf2414;border-bottom:1px solid rgba(251,191,36,.2);font-size:12px;font-weight:600;color:#fbbf24;text-align:center}.tutor-chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.tutor-msg{display:flex;align-items:flex-start;gap:10px}.tutor-msg-user{flex-direction:row-reverse}.tutor-avatar{width:32px;height:32px;border-radius:50%;background:#7c3aed26;border:1px solid rgba(124,58,237,.3);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.tutor-avatar-student{background:#06b6d41a;border-color:#06b6d44d;font-size:10px;font-weight:700;color:var(--cyan)}.tutor-bubble{max-width:80%;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.6}.tutor-bubble-assistant{background:#7c3aed14;border:1px solid rgba(124,58,237,.18);color:var(--text);border-top-left-radius:4px}.tutor-bubble-user{background:#06b6d414;border:1px solid rgba(6,182,212,.2);color:var(--text);border-top-right-radius:4px}.tutor-typing{display:flex;align-items:center;gap:5px;padding:14px 18px}.tutor-dot{width:7px;height:7px;border-radius:50%;background:var(--purple-light);animation:tutorDot 1.2s ease-in-out infinite}.tutor-dot:nth-child(2){animation-delay:.2s}.tutor-dot:nth-child(3){animation-delay:.4s}@keyframes tutorDot{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.tutor-input-row{display:flex;gap:8px;padding:12px 16px 4px;border-top:1px solid var(--border)}.tutor-input{flex:1;background:#ffffff0a;border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;padding:10px 14px;resize:none;transition:border-color .2s ease;line-height:1.5}.tutor-input:focus{outline:none;border-color:var(--purple)}.tutor-send-btn{width:42px;height:42px;border-radius:10px;border:none;background:var(--purple);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;justify-content:center;align-self:flex-end}.tutor-send-btn:disabled{opacity:.4;cursor:not-allowed}.tutor-send-btn:not(:disabled):hover{background:#6d28d9;transform:translateY(-1px)}.tutor-input-hint{font-size:11px;color:var(--muted);text-align:center;padding:4px 0 10px;margin:0}.tutor-topic-icon-big{font-size:20px;line-height:1}.tutor-empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:var(--muted-light);font-size:14px;text-align:center}.tutor-empty-state strong{color:var(--text)}.tutor-msg-group{display:flex;flex-direction:column;gap:10px}.tutor-visual-block{margin-left:42px}.tv-graph-wrapper{border-radius:12px;overflow:hidden;border:1px solid rgba(124,58,237,.25);background:#0a0a1f}.tv-graph-canvas{width:100%;height:320px;display:block;transition:opacity .3s ease}.tv-graph-loading,.tv-graph-error{display:flex;align-items:center;justify-content:center;gap:8px;height:320px;font-size:13px;color:var(--muted-light)}.tv-caption{padding:10px 14px;font-size:13px;color:var(--muted-light);border-top:1px solid rgba(124,58,237,.15);background:#7c3aed0a;line-height:1.5}.tv-caption-sketch{border-top:none;border-bottom:1px solid rgba(219,39,119,.2);background:#db27770a;color:var(--text);font-weight:500;border-radius:10px 10px 0 0}.tv-slider-hint{padding:8px 14px;font-size:12px;font-weight:600;color:#a78bfa;background:#7c3aed0f;border-top:1px solid rgba(124,58,237,.1)}.tv-sketch-wrapper{border-radius:12px;overflow:hidden;border:1px solid rgba(219,39,119,.25)}.tv-caption-top{border-top:none;border-bottom:1px solid rgba(124,58,237,.2);padding:12px 16px;display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;color:var(--text);background:#7c3aed0f}.tv-caption-slider{background:#a78bfa12;border-bottom-color:#a78bfa40}.tv-caption-icon{font-size:16px;flex-shrink:0;margin-top:1px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-card{width:100%;max-width:420px;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-glow);position:relative;z-index:1}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:32px}.login-heading{font-size:18px;font-weight:700;color:var(--text);margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:12px;font-weight:600;color:var(--muted-light);text-transform:uppercase;letter-spacing:.5px}.login-input{background:#ffffff0a;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:Inter,sans-serif;padding:11px 14px;transition:border-color .2s ease}.login-input:focus{outline:none;border-color:var(--purple)}.login-error{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:#ef4444;padding:10px 14px;font-size:13px}.login-btn{padding:12px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--purple),#5b21b6);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed66}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{margin:20px 0 0;font-size:12px;color:var(--muted);text-align:center}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted-light);font-size:14px}.header-user{display:flex;align-items:center;gap:10px}.header-username{font-size:13px;font-weight:600;color:var(--muted-light);display:flex;align-items:center;gap:6px}.header-role-badge{font-size:10px;font-weight:700;background:#7c3aed33;color:var(--purple-light);border:1px solid rgba(124,58,237,.3);border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.5px}.logout-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Inter,sans-serif}.logout-btn:hover{background:#ef444414;border-color:#ef44444d;color:#ef4444}.tutor-topic-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tutor-stat-chip{font-size:10px;font-weight:700}.manage-users{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius);padding:28px;max-width:700px}.mu-title{font-size:18px;font-weight:700;color:var(--text);margin:0 0 20px}.mu-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 10px}.mu-create-box{background:#7c3aed0a;border:1px solid rgba(124,58,237,.15);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px}.mu-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.mu-input{background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;font-family:Inter,sans-serif;padding:8px 12px;flex:1;min-width:140px}.mu-input:focus{outline:none;border-color:var(--purple)}.mu-select{max-width:120px;flex:0 0 auto}.mu-create-btn{padding:8px 18px;border-radius:6px;border:none;background:var(--purple);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;white-space:nowrap}.mu-create-btn:disabled{opacity:.5}.mu-error{font-size:12px;color:#ef4444;margin:8px 0 0}.mu-success{font-size:12px;color:#10b981;margin:8px 0 0}.mu-muted{font-size:13px;color:var(--muted)}.mu-list{display:flex;flex-direction:column;gap:8px}.mu-user-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#ffffff05;border:1px solid var(--border);border-radius:8px}.mu-user-info{display:flex;align-items:center;gap:12px}.mu-username{font-size:14px;font-weight:600;color:var(--text)}.mu-email{font-size:12px;color:var(--muted)}.mu-role{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase}.mu-role-admin{background:#7c3aed26;color:var(--purple-light)}.mu-role-student{background:#06b6d41a;color:var(--cyan)}.mu-delete-btn{width:28px;height:28px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:#ef44440f;color:#ef4444;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mu-delete-btn:hover{background:#ef444426}.tutor-input-area{border-top:1px solid rgba(255,255,255,.08);padding:10px 16px 12px;display:flex;flex-direction:column;gap:8px;background:#0f0f2a99}.tutor-input-modes{display:flex;gap:6px;align-items:center}.tutor-mode-pill{padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#94a3b8;font-size:.78rem;cursor:pointer;transition:all .15s}.tutor-mode-pill:hover{border-color:#ffffff4d;color:#e2e8f0}.tutor-mode-pill.active{background:#7c3aed33;border-color:#7c3aed;color:#c4b5fd}.tutor-pending-img{position:relative;display:flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid rgba(124,58,237,.4);border-radius:10px;padding:8px}.tutor-pending-img img{height:72px;border-radius:6px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.tutor-pending-label{font-size:.78rem;color:#94a3b8;flex:1}.tutor-clear-img{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;border-radius:50%;width:22px;height:22px;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.tutor-clear-img:hover{background:#ef44444d}.tutor-submitted-img{display:block;max-width:100%;max-height:200px;border-radius:8px;margin-bottom:6px;border:1px solid rgba(255,255,255,.1)}.tdp-wrapper{background:#0f0f2acc;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.tdp-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.tdp-sizes{display:flex;gap:6px;align-items:center}.tdp-size{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.tdp-size.active{border-color:#7c3aed;background:#7c3aed33}.tdp-tools{display:flex;gap:4px}.tdp-tool{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#94a3b8;font-size:.78rem;cursor:pointer;transition:all .15s}.tdp-tool:hover{border-color:#ffffff4d;color:#e2e8f0}.tdp-tool.active{background:#7c3aed33;border-color:#7c3aed;color:#c4b5fd}.tdp-actions{display:flex;gap:4px;margin-left:auto}.tdp-btn{padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#64748b;font-size:.75rem;cursor:pointer;transition:all .15s}.tdp-btn:hover:not(:disabled){border-color:#ffffff4d;color:#94a3b8}.tdp-btn:disabled{opacity:.4;cursor:not-allowed}.tdp-canvas-wrap{position:relative;height:220px}.tdp-canvas{width:100%;height:100%;display:block;touch-action:none}.tdp-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#94a3b866;font-size:.85rem;pointer-events:none}.tdp-submit{margin:10px 12px;padding:10px;border-radius:8px;border:none;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.tdp-submit:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#7c3aed);transform:translateY(-1px)}.tdp-submit:disabled{opacity:.4;cursor:not-allowed;transform:none}.tutor-header-btns{display:flex;gap:8px;align-items:center}.tutor-restart-btn{padding:6px 12px;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#f87171;font-size:.8rem;cursor:pointer;transition:all .15s}.tutor-restart-btn:hover{background:#ef44442e;border-color:#ef444480}.tutor-quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 8px;border-top:1px solid rgba(255,255,255,.06);background:#0f0f2a66}.tutor-quick-btn{padding:8px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#cbd5e1;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.tutor-quick-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff4d;transform:translateY(-1px)}.tutor-quick-btn:disabled{opacity:.5;cursor:not-allowed}.tutor-quick-yes{background:linear-gradient(135deg,#10b9812e,#10b98114);border-color:#10b98166;color:#34d399}.tutor-quick-yes:hover:not(:disabled){background:linear-gradient(135deg,#10b98147,#10b98126);border-color:#10b98199}.tutor-quick-challenge{background:linear-gradient(135deg,#f59e0b2e,#f59e0b14);border-color:#f59e0b66;color:#fbbf24}.tutor-quick-challenge:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b47,#f59e0b26);border-color:#f59e0b99}.app-disclaimer{position:fixed;bottom:0;left:0;right:0;z-index:1000;text-align:center;padding:6px 16px;font-size:.72rem;letter-spacing:.02em;color:#94a3b8b3;background:#0a0a1fbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.06);pointer-events:none}.app,.login-page{padding-bottom:32px}.login-tabs{display:flex;gap:4px;margin:18px 0 6px;padding:4px;background:#ffffff0a;border-radius:10px}.login-tab{flex:1;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.login-tab.active{background:#7c3aed40;color:#c4b5fd}.login-trial-pitch{display:flex;align-items:center;gap:8px;margin:8px 0 4px;font-size:.78rem;color:#94a3b8}.login-trial-badge{background:linear-gradient(135deg,#10b98140,#10b9811a);border:1px solid rgba(16,185,129,.4);color:#34d399;font-weight:700;padding:3px 10px;border-radius:12px;font-size:.75rem}.login-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.login-course-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;cursor:pointer;transition:all .15s;text-align:left}.login-course-card:hover{border-color:#ffffff4d}.login-course-card.active{border-color:#7c3aed;background:#7c3aed1f;box-shadow:0 0 0 1px #7c3aed}.login-course-icon{font-size:1.3rem}.login-course-name{font-size:.85rem;font-weight:700;color:#e2e8f0}.login-course-sub{font-size:.7rem;color:#64748b}.login-link{background:none;border:none;color:#a78bfa;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.login-link:hover{color:#c4b5fd}.header-trial-chip{padding:4px 10px;border-radius:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#fbbf24;font-size:.74rem;font-weight:600;white-space:nowrap}.header-course-badge{margin-left:6px;padding:2px 8px;border-radius:10px;background:#06b6d426;border:1px solid rgba(6,182,212,.4);color:#22d3ee;font-size:.68rem;font-weight:700;letter-spacing:.05em}.paywall-card{max-width:420px;text-align:center}.paywall-text{color:#94a3b8;font-size:.9rem;line-height:1.5;margin:10px 0 18px}.paywall-price{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:18px}.paywall-amount{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.paywall-period{color:#64748b;font-size:1rem}.paywall-logout{margin-top:14px}.pdf-course-tabs{display:flex;gap:4px;margin-bottom:10px;padding:3px;background:#ffffff0a;border-radius:8px}.pdf-course-tab{flex:1;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.pdf-course-tab.active{background:#7c3aed40;color:#c4b5fd}.tutor-topic-group{margin-bottom:18px}.tutor-domain-heading{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#818cf8;border-left:3px solid #6366f1;padding-left:8px}.tutor-topic-share{font-size:.68rem;font-weight:600;color:#818cf8;margin-top:2px}.admin-course-switch{display:flex;flex-direction:column;gap:6px;padding:10px;margin-bottom:12px;background:#06b6d40f;border:1px solid rgba(6,182,212,.25);border-radius:10px}.admin-course-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#22d3ee}.admin-course-btns{display:flex;gap:4px}.admin-course-btn{flex:1;padding:6px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#94a3b8;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.admin-course-btn.active{background:#06b6d433;border-color:#06b6d4;color:#67e8f9}.paywall-subscribe{display:block;text-align:center;text-decoration:none}a.header-trial-chip{text-decoration:none;cursor:pointer}a.header-trial-chip:hover{background:#f59e0b38;border-color:#f59e0b99}.mu-actions{display:flex;gap:6px;align-items:center}.mu-sub{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px}.mu-sub-active{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.4)}.mu-sub-trial{background:#f59e0b1f;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.mu-sub-expired{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.35)}.mu-course{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:10px;background:#6366f11f;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.mu-paid-btn{padding:5px 10px;border-radius:7px;cursor:pointer;font-size:.74rem;font-weight:600;background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.4);transition:all .15s}.mu-paid-btn:hover{background:#10b98147}.mu-revoke-btn{padding:5px 10px;border-radius:7px;cursor:pointer;font-size:.74rem;font-weight:600;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.3);transition:all .15s}.mu-revoke-btn:hover{background:#ef444438}.paywall-recheck{margin-top:10px;width:100%;padding:9px;border-radius:8px;border:1px solid rgba(16,185,129,.4);background:#10b9811a;color:#34d399;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.paywall-recheck:hover{background:#10b98133}.trial-banner{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:12px 20px;margin:0;background:linear-gradient(135deg,#7c3aed2e,#06b6d41f);border-bottom:1px solid rgba(124,58,237,.3);position:relative;z-index:5}.trial-banner-text{font-size:.88rem;color:#e2e8f0;max-width:720px}.trial-banner-text strong{color:#c4b5fd}.trial-banner-btn{flex-shrink:0;padding:9px 20px;border-radius:9px;border:none;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.trial-banner-btn:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);transform:translateY(-1px)}.home-page{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.home-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;position:relative;z-index:2}.home-logo,.home-user{display:flex;align-items:center;gap:12px}.home-username{font-size:.9rem;color:#e2e8f0;display:flex;align-items:center;gap:8px}.home-main{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.home-heading{font-size:2.4rem;font-weight:800;margin:0 0 6px;background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.home-prompt{font-size:1.15rem;color:#94a3b8;margin:0 0 36px}.home-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;width:100%}@media (max-width: 680px){.home-course-grid{grid-template-columns:1fr}}.home-course-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px 26px 28px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;cursor:pointer;transition:all .2s ease;text-align:center;overflow:hidden}.home-course-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%);opacity:0;transition:opacity .25s}.home-course-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 18px 40px #00000059,0 0 0 1px var(--accent)}.home-course-card:hover:before{opacity:1}.home-course-flag{font-size:3rem;line-height:1;position:relative;z-index:1}.home-course-symbol{position:absolute;top:18px;right:22px;font-size:1.4rem;color:var(--accent);opacity:.5;font-weight:800}.home-course-name{font-size:1.35rem;font-weight:800;color:#f1f5f9;margin-top:4px;position:relative;z-index:1}.home-course-sub{font-size:.85rem;color:var(--accent);font-weight:600;position:relative;z-index:1}.home-course-blurb{font-size:.85rem;color:#94a3b8;line-height:1.5;margin:8px 0 4px;position:relative;z-index:1}.home-course-go{margin-top:10px;padding:9px 24px;border-radius:24px;background:var(--accent);color:#fff;font-weight:700;font-size:.92rem;position:relative;z-index:1}.home-hint{font-size:.82rem;color:#64748b;margin-top:30px}.switch-exam-btn{width:100%;padding:10px;margin-bottom:12px;border-radius:10px;border:1px solid rgba(99,102,241,.35);background:#6366f11a;color:#a5b4fc;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.switch-exam-btn:hover{background:#6366f133;border-color:#6366f199}.login-split{display:flex;flex-direction:row;align-items:stretch;padding:0}.login-hero{flex:1.15;position:relative;background-color:#0e1330;background-image:url(/billboard2.jpg);background-size:cover;background-position:center;min-height:100vh}.login-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:28px;background:linear-gradient(180deg,#080a1c26,#080a1c00 40%,#080a1c8c)}.login-hero-tag{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#e2e8f0;background:#0f103099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);padding:7px 14px;border-radius:20px}.login-formside{flex:.85;position:relative;display:flex;align-items:center;justify-content:center;padding:32px 24px;min-height:100vh}@media (max-width: 860px){.login-split{flex-direction:column}.login-hero{flex:none;min-height:240px;width:100%}.login-formside{flex:none;min-height:auto;width:100%;padding:28px 18px 60px}}.home-page{background-image:linear-gradient(#080a1cbd,#080a1ce0),url(/billboard2.jpg);background-size:cover;background-position:center;background-attachment:fixed}.home-page .bg-orb{opacity:.4}
