@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-app:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--bg-accent-subtle:#f2f5fd;--border-color:#e1e7ef;--text-primary:#10192d;--text-secondary:#607085;--text-tertiary:#97a3b4;--accent:#1d4fd7;--accent-hover:#1842b4;--accent-rgb:37, 99, 235;--success:#21c45d;--success-subtle:#e9fbf0;--warning:#f59f0a;--warning-subtle:#fefae6;--danger:#ef4343;--danger-subtle:#fef1f1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -2px #00000005;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-app:#080c16;--bg-surface:#0e1525;--bg-surface-hover:#131d34;--bg-accent-subtle:#131c34;--border-color:#16213c;--text-primary:#f8fafc;--text-secondary:#b3bdcc;--text-tertiary:#6b7c94;--accent:#3c83f6;--accent-hover:#639cf8;--accent-rgb:59, 130, 246;--success:#4ade80;--success-subtle:#082b15;--warning:#f7b23b;--warning-subtle:#322801;--danger:#f15b5b;--danger-subtle:#390404;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0003}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-normal), color var(--transition-normal);background:radial-gradient(circle at 50% 0,#fbfcfd 0%,#edf2f7 100%);min-height:100vh;line-height:1.6;overflow-x:hidden}[data-theme=dark] body{background:radial-gradient(circle at 50% 0,#10192d 0%,#080c16 100%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:10;box-shadow:var(--shadow-sm);transition:background-color var(--transition-normal);background-color:#ffffffbf;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}[data-theme=dark] .app-header{background-color:#0a0f1ebf}.logo-section{align-items:center;gap:10px;display:flex}.logo-icon{background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;font-weight:700;display:flex}.logo-text h1{letter-spacing:-.025em;color:var(--text-primary);font-size:1.25rem;font-weight:700}.logo-text p{color:var(--text-secondary);font-size:.75rem;font-weight:500}.header-status{align-items:center;gap:16px;display:flex}.agent-badge{background-color:var(--bg-accent-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;display:flex}.status-dot{background-color:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;display:inline-block}@keyframes pulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(.9)}}.nav-tabs{background-color:var(--bg-app);border-radius:var(--radius-md);border:1px solid var(--border-color);gap:6px;padding:4px;display:flex}.nav-tab{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;display:flex}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{background-color:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-sm)}.theme-toggle{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--text-primary);background-color:var(--bg-surface-hover)}.main-content{flex:1;height:calc(100vh - 61px);display:flex;overflow:hidden}.workspace-panel{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.console-panel{border-left:1px solid var(--border-color);background-color:var(--bg-surface);flex-direction:column;width:380px;display:flex;overflow:hidden}@media (width<=1200px){.console-panel{display:none}}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:20px;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:1.1rem;font-weight:600;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-app);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-surface-hover)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{opacity:.9}.btn-sm{padding:6px 12px;font-size:.8rem}h2{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}h3{letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}}.tutor-layout{grid-template-columns:1.2fr .8fr;gap:20px;height:100%;display:grid;overflow:hidden}@media (width<=992px){.tutor-layout{grid-template-columns:1fr}}.scaffolding-indicator{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.indicator-easy{color:var(--success);background-color:var(--success-subtle)}.indicator-medium{color:var(--warning);background-color:var(--warning-subtle)}.indicator-hard{color:var(--danger);background-color:var(--danger-subtle)}.question-text{color:var(--text-primary);white-space:pre-wrap;margin-bottom:20px;font-size:1.05rem;font-weight:500;line-height:1.6}.option-btn{text-align:left;background-color:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-fast);color:var(--text-primary);align-items:center;gap:12px;margin-bottom:10px;padding:14px 20px;font-size:.95rem;display:flex}.option-btn:hover:not(:disabled){border-color:var(--accent);background-color:var(--bg-accent-subtle)}.option-btn.selected{border-color:var(--accent);background-color:var(--bg-accent-subtle);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .2)}.option-btn.correct{border-color:var(--success);background-color:var(--success-subtle);color:var(--success);font-weight:600}.option-btn.incorrect{border-color:var(--danger);background-color:var(--danger-subtle);color:var(--danger)}.option-letter{background-color:var(--bg-app);border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.option-btn.selected .option-letter{background-color:var(--accent);color:#fff;border-color:var(--accent)}.option-btn.correct .option-letter{background-color:var(--success);color:#fff;border-color:var(--success)}.option-btn.incorrect .option-letter{background-color:var(--danger);color:#fff;border-color:var(--danger)}.chat-container{border-radius:var(--radius-lg);background-color:var(--bg-surface);border:1px solid var(--border-color);flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chat-message{gap:12px;max-width:80%;display:flex}.chat-message.student{flex-direction:row-reverse;align-self:flex-end}.chat-message.agent{align-self:flex-start}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:flex}.student .message-avatar{background-color:var(--bg-accent-subtle);color:var(--accent);border:1px solid var(--border-color)}.agent .message-avatar{background-color:var(--accent);color:#fff}.message-bubble{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:12px 16px;font-size:.925rem;line-height:1.5}.student .message-bubble{background-color:var(--accent);color:#fff;border-bottom-right-radius:2px}.agent .message-bubble{background-color:var(--bg-app);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:2px}.chat-input-area{border-top:1px solid var(--border-color);background-color:var(--bg-surface);gap:10px;padding:16px;display:flex}.chat-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;flex:1;padding:12px 16px;font-size:.9rem}.chat-input:focus{border-color:var(--accent)}.console-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.console-title{font-family:var(--font-mono);color:var(--text-primary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.console-logs{color:#4ade80;font-family:var(--font-mono);background-color:#05080f;flex-direction:column;flex:1;gap:10px;padding:16px;font-size:.775rem;line-height:1.5;display:flex;overflow-y:auto}.console-log-entry{border-left:2px solid var(--accent);padding-left:8px;animation:.2s ease-out fadeIn}.console-log-entry.diagnostic{border-left-color:var(--warning);color:#f7b23b}.console-log-entry.action{border-left-color:var(--success);color:#4ade80}.console-log-entry.thinking{border-left-color:var(--danger);color:#f8fafc;opacity:.9}.console-log-timestamp{color:var(--text-tertiary);margin-right:6px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-lg);flex-direction:column;gap:20px;padding:32px;display:flex}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card,.tutor-layout,.chat-container,.grid-3>div{animation:.5s cubic-bezier(.16,1,.3,1) both slideInUp}.grid-3>div:first-child{animation-delay:50ms}.grid-3>div:nth-child(2){animation-delay:.1s}.grid-3>div:nth-child(3){animation-delay:.15s}.main-content{animation:.4s ease-out fadeIn}.workspace-panel>div{animation:.4s cubic-bezier(.16,1,.3,1) both slideInUp}.chat-message{animation:.3s cubic-bezier(.16,1,.3,1) both slideInUp}.nav-tab{position:relative}.nav-tab:after{content:"";background-color:var(--accent);width:0;height:2px;transition:all var(--transition-normal);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-tab:hover:after,.nav-tab.active:after{width:60%}.option-btn{transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast)}.option-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.option-btn:active:not(:disabled){transform:translateY(0)}g circle{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),r .3s}g:hover circle{transform:scale(1.15)}g:hover text{font-weight:800}.mastery-progress-bar{background-color:var(--border-color);border-radius:4px;height:8px;position:relative;overflow:hidden}.mastery-progress-fill{border-radius:4px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.recommendation-pulse{position:relative}.recommendation-pulse:before{content:"";border:1.5px solid var(--warning);border-radius:var(--radius-lg);pointer-events:none;animation:2s infinite accentPulse;position:absolute;inset:-2px}@keyframes accentPulse{0%{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(1.02)}to{opacity:0;transform:scale(1.04)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.option-btn.incorrect{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}.score-ring-container{justify-content:center;align-items:center;display:flex;position:relative}.score-ring-bg{stroke:var(--border-color)}.score-ring-fill{stroke:var(--accent);stroke-dasharray:220;stroke-dashoffset:220px;transform-origin:50%;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1);transform:rotate(-90deg)}.score-ring-text{font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}
