@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--slate-850: #151f32;--accent-color: #3b82f6}body.light{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--border-color: #e2e8f0;--accent-color: #3b82f6}body.dark{--bg-primary: #05080f;--bg-secondary: rgba(10, 14, 26, .85);--bg-tertiary: rgba(255, 255, 255, .05);--bg-hover: rgba(255, 255, 255, .1);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: rgba(255, 255, 255, .1);--accent-color: #60a5fa}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;transition:background-color .3s ease,color .3s ease}body.light{background:#f8fafc;color:#0f172a}body.dark{background:#05080f;color:#f1f5f9}.app-container{display:flex;height:100vh;overflow:hidden;position:relative}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}body.dark .app-container:before{background:radial-gradient(circle at 50% 30%,rgba(59,130,246,.15) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.1) 0%,transparent 40%),linear-gradient(180deg,#05080f,#0f172a)}.sidebar{width:280px;display:flex;flex-direction:column;transition:transform .3s ease;z-index:100;position:relative}body.light .sidebar{background:#fff;border-right:1px solid #e2e8f0}body.dark .sidebar{background:#0a0e1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.05)}.sidebar-header{height:64px;display:flex;align-items:center;padding:0 24px}body.light .sidebar-header{border-bottom:1px solid #f1f5f9}body.dark .sidebar-header{border-bottom:1px solid rgba(255,255,255,.05)}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{width:32px;height:32px;background:var(--brand-600);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}.logo-text{font-size:18px;font-weight:600;letter-spacing:-.02em}body.light .logo-text{color:#0f172a}body.dark .logo-text{color:#fff}.sidebar-content{flex:1;overflow-y:auto;padding:24px 16px}.sidebar-content::-webkit-scrollbar{display:none}.progress-section{margin-bottom:32px}.section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px 8px;color:#94a3b8}.module-list{display:flex;flex-direction:column;gap:4px}.module-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}body.light .module-item{color:#64748b}body.dark .module-item{color:#94a3b8}body.light .module-item:hover{background:#f8fafc}body.dark .module-item:hover{background:#ffffff0d}body.light .module-item.active{background:#eff6ff;color:#1d4ed8}body.dark .module-item.active{background:#2563eb26;color:#60a5fa}.module-item.completed{opacity:.7}.module-item.locked{opacity:.5;cursor:not-allowed}.module-item .icon{font-size:18px;font-style:normal}.module-item.active .icon{color:var(--brand-600)}.module-item.completed .icon{color:#10b981}.completed-text{text-decoration:line-through}.certification-section{margin-bottom:32px;padding-top:24px}body.light .certification-section{border-top:1px solid #f1f5f9}body.dark .certification-section{border-top:1px solid rgba(255,255,255,.05)}.certification-card{border-radius:8px;padding:16px}body.light .certification-card{background:#f8fafc}body.dark .certification-card{background:#0003;border:1px solid rgba(255,255,255,.05)}.cert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cert-level{font-size:12px;font-weight:500}body.light .cert-level{color:#64748b}body.dark .cert-level{color:#cbd5e1}.cert-percentage{font-size:12px;font-weight:700;color:var(--brand-600)}body.dark .cert-percentage{color:#60a5fa}.progress-bar{width:100%;height:6px;border-radius:3px;overflow:hidden}body.light .progress-bar{background:#e2e8f0}body.dark .progress-bar{background:#475569}.progress-fill{height:100%;background:var(--brand-600);border-radius:3px;transition:width .3s ease}.settings-section{padding-top:24px}body.light .settings-section{border-top:1px solid #f1f5f9}body.dark .settings-section{border-top:1px solid rgba(255,255,255,.05)}.setting-group{margin-bottom:20px}.setting-group label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}body.light .setting-group label{color:#64748b}body.dark .setting-group label{color:#94a3b8}.button-group{display:flex;gap:8px}.setting-btn{flex:1;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}body.light .setting-btn{border:1px solid #e2e8f0;background:#f8fafc;color:#64748b}body.dark .setting-btn{border:1px solid rgba(255,255,255,.05);background:#ffffff0d;color:#94a3b8}body.light .setting-btn:hover{background:#fff;border-color:var(--brand-500)}body.dark .setting-btn:hover{background:#ffffff1a}body.light .setting-btn.active,body.dark .setting-btn.active{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.user-profile{padding:16px;display:flex;align-items:center;gap:12px}body.light .user-profile{border-top:1px solid #e2e8f0}body.dark .user-profile{border-top:1px solid rgba(255,255,255,.05);background:#0003}.profile-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}body.light .profile-avatar{background:#cbd5e1;color:#0f172a}body.dark .profile-avatar{background:linear-gradient(135deg,#334155,#1e293b);border:1px solid rgba(255,255,255,.1);color:#fff}.profile-info{flex:1}.profile-name{font-size:14px;font-weight:500;margin:0}body.light .profile-name{color:#0f172a}body.dark .profile-name{color:#fff}.profile-tier{font-size:12px;margin:2px 0 0}body.light .profile-tier{color:#64748b}body.dark .profile-tier{color:#94a3b8}.main-content{flex:1;display:flex;flex-direction:column;position:relative;z-index:10;overflow:hidden}.chat-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:20}body.light .chat-header{background:#fff;border-bottom:1px solid #e2e8f0}body.dark .chat-header{background:transparent;border-bottom:none}.mobile-menu-btn{display:none;background:none;border:none;font-size:24px;cursor:pointer}body.light .mobile-menu-btn{color:#64748b}body.dark .mobile-menu-btn{color:#94a3b8}.header-breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-label{color:#94a3b8}.breadcrumb-value{font-weight:600;display:flex;align-items:center;gap:8px}body.light .breadcrumb-value{color:#0f172a}body.dark .breadcrumb-value{color:#fff}.breadcrumb-icon{color:var(--brand-600);font-style:normal}.header-right{display:flex;align-items:center;gap:16px}.theme-toggle-wrapper{display:flex;align-items:center;gap:8px;border-radius:20px;padding:4px 12px 4px 4px}body.light .theme-toggle-wrapper{background:#f8fafc}body.dark .theme-toggle-wrapper{background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.theme-toggle{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 1px 3px #0000001a}body.light .theme-toggle{background:#fff;color:#0f172a}body.dark .theme-toggle{background:#ffffff1a;color:#fff}.theme-toggle:hover{transform:scale(1.05)}.theme-label{font-size:12px;font-weight:500}body.light .theme-label{color:#64748b}body.dark .theme-label{color:#cbd5e1}.settings-btn{background:none;border:none;font-size:20px;cursor:pointer;transition:color .2s}body.light .settings-btn{color:#94a3b8}body.dark .settings-btn,body.light .settings-btn:hover{color:#64748b}body.dark .settings-btn:hover{color:#94a3b8}.stage-area{flex:1;position:relative;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;padding-top:0;padding-bottom:140px}body.light .stage-area{background:radial-gradient(circle at center,#e2e8f0,#cbd5e1)}body.dark .stage-area{background:transparent}.stage-area.text-mode{align-items:stretch;justify-content:stretch;padding:20px}body.light .stage-area.text-mode{background:#f8fafc}body.dark .stage-area.text-mode{background:transparent}.text-chat-area{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.message-wrapper{display:flex;flex-direction:column;gap:8px}.text-chat-area .message{margin-bottom:0}.text-chat-area .message.user{align-self:flex-end}.text-chat-area .message.ai{align-self:flex-start}.text-chat-area .message-content{max-width:70%;padding:12px 16px;font-size:15px;line-height:1.6}.text-chat-area .more-details-container{align-self:flex-start;margin-left:16px}.avatar-placeholder{text-align:center}.avatar-circle{width:128px;height:128px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}body.light .avatar-circle{border:2px solid rgba(37,99,235,.3);background:#2563eb0d}body.dark .avatar-circle{border:2px solid rgba(59,130,246,.3);background:#3b82f61a}.avatar-icon{font-size:64px;color:var(--brand-500)}.status-overlay{position:absolute;top:24px;right:24px;border-radius:12px;padding:16px;z-index:10;opacity:0;transition:opacity .3s}body.light .status-overlay{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 32px #0000001a}body.dark .status-overlay{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(34,197,94,.2);box-shadow:0 0 15px #22c55e1a}.stage-area:hover .status-overlay{opacity:1}.status-content{display:flex;align-items:center;gap:12px;margin-bottom:8px}.status-pulse{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #10b981b3}50%{opacity:.9;box-shadow:0 0 0 10px #10b98100}}.status-text{font-size:12px;font-weight:500}body.light .status-text{color:#0f172a}body.dark .status-text{color:#ffffffe6}.status-message{font-size:14px;font-weight:500}body.light .status-message{color:#475569}body.dark .status-message{color:#fffc}.tech-debug{position:absolute;bottom:24px;left:24px;font-family:monospace;font-size:10px;line-height:1.6;opacity:.6;color:#64748b}.input-area{padding:16px 24px 24px;position:fixed;bottom:0;left:280px;right:0;z-index:30}body.light .input-area{background:#fff;border-top:1px solid #e2e8f0}body.dark .input-area{background:transparent;border-top:none}.input-wrapper{max-width:768px;margin:0 auto}.chat-snippet{max-height:200px;overflow-y:auto;overflow-x:hidden;margin-bottom:16px;padding-right:8px;display:flex;flex-direction:column;gap:12px}.chat-snippet::-webkit-scrollbar{display:none}.message{margin-bottom:12px;display:flex}.message.user{justify-content:flex-end}.message-content{max-width:80%;padding:8px 16px;border-radius:16px;font-size:14px;line-height:1.5;box-shadow:0 1px 2px #0000000d}.message.user .message-content{background:var(--brand-600);color:#fff;border-top-right-radius:4px;box-shadow:0 2px 8px #2563eb4d}body.light .message.ai .message-content{background:#f8fafc;color:#1e293b;border:1px solid transparent;border-top-left-radius:4px}body.dark .message.ai .message-content{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.05);border-top-left-radius:4px}.message.system .message-content{background:#fbbf241a;color:#f59e0b;border:1px solid rgba(251,191,36,.2);max-width:100%;text-align:center;font-size:11px}.message.error .message-content{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);max-width:100%}.typing-indicator{display:flex;align-items:center;gap:4px;padding:10px 16px}.typing-dot{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:bounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-container{display:flex;gap:16px;align-items:center;position:relative}body.dark .input-container{background:#0006;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:8px;box-shadow:0 8px 32px #0000004d}.mode-toggle-btn{padding:12px;border-radius:12px;border:none;cursor:pointer;font-size:20px;transition:all .2s}body.light .mode-toggle-btn{background:#f8fafc;color:#64748b}body.dark .mode-toggle-btn{background:transparent;color:#64748b}body.light .mode-toggle-btn:hover{background:#e2e8f0;color:#1e293b}body.dark .mode-toggle-btn:hover{background:#ffffff1a;color:#fff}.input-container input{flex:1;padding:12px 20px;border-radius:24px;font-size:14px;outline:none;font-family:Inter,sans-serif;transition:all .2s}body.light .input-container input{background:#f8fafc;border:1px solid #cbd5e1;color:#0f172a}body.dark .input-container input{background:transparent;border:none;color:#fff}body.light .input-container input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px #2563eb1a}body.dark .input-container input:focus{outline:none}body.light .input-container input::-moz-placeholder{color:#94a3b8}body.light .input-container input::placeholder{color:#94a3b8}body.dark .input-container input::-moz-placeholder{color:#64748b}body.dark .input-container input::placeholder{color:#64748b}.send-btn{position:relative;width:56px;height:56px;border-radius:12px;border:none;background:var(--brand-600);color:#fff;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 12px #2563eb4d;overflow:hidden}.send-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.2),transparent)}.send-btn:hover{background:#3b82f6;transform:scale(1.05);box-shadow:0 6px 16px #2563eb80}.send-btn:active{transform:scale(.95)}.send-btn.recording{background:#dc2626;animation:pulse 1.5s infinite}.ripple-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;border:2px solid rgba(255,255,255,.3);opacity:0;pointer-events:none}.send-btn:hover .ripple-ring{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(1.2);opacity:0}}.input-hint{text-align:center;margin-top:12px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:#94a3b8}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:block}.header-breadcrumb{display:none}.message-content{max-width:85%}}.overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.show{display:block}.curriculum-tree{display:flex;flex-direction:column;gap:8px}.module-group{border-radius:8px;overflow:hidden}body.light .module-group{background:#f8fafc;border:1px solid #e2e8f0}body.dark .module-group{background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.module-header{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}body.light .module-header{color:#0f172a}body.dark .module-header{color:#fff}body.light .module-header:hover{background:#00000005}body.dark .module-header:hover{background:#ffffff0d}.module-icon{font-size:10px;color:#94a3b8}.module-title{flex:1;text-align:left}.module-content{padding:0 8px 8px}.unit-group{margin-bottom:12px}.unit-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;color:#64748b}.lesson-list{display:flex;flex-direction:column;gap:2px}.lesson-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:13px;text-align:left;transition:all .2s}body.light .lesson-item{color:#475569}body.dark .lesson-item{color:#cbd5e1}body.light .lesson-item:hover:not(.locked){background:#2563eb0d;color:#1d4ed8}body.dark .lesson-item:hover:not(.locked){background:#3b82f61a;color:#60a5fa}.lesson-item.active{font-weight:600}body.light .lesson-item.active{background:#2563eb1a;color:#1d4ed8}body.dark .lesson-item.active{background:#3b82f626;color:#60a5fa}.lesson-item.completed{opacity:.7}.lesson-item.locked{opacity:.4;cursor:not-allowed}.lesson-status{font-size:14px;font-style:normal}.lesson-title{flex:1}.thinking-indicator{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px}body.light .thinking-indicator{color:#64748b}body.dark .thinking-indicator{color:#94a3b8}.thinking-dot{width:6px;height:6px;background:var(--accent-color);border-radius:50%;animation:thinkingPulse 1.4s infinite ease-in-out}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinkingPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.thinking-text{font-style:italic;margin-left:4px}.follow-up-questions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;padding:12px 16px;border-radius:8px;border:1px solid var(--border-color)}body.light .follow-up-questions{background:#f8fafc}body.dark .follow-up-questions{background:#ffffff08}.follow-up-label{font-size:12px;color:var(--text-tertiary);font-weight:500;margin-right:8px}.follow-up-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:16px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}body.light .follow-up-btn{background:#fff}body.dark .follow-up-btn{background:#ffffff0d}.follow-up-btn:hover{background:var(--accent-color)!important;color:#fff;border-color:var(--accent-color)}.whiteboard-reopen-btn{position:fixed;top:50%;right:20px;transform:translateY(-50%);width:48px;height:48px;background:var(--accent-color);border:none;border-radius:50%;font-size:20px;color:#fff;cursor:pointer;box-shadow:0 4px 12px #0003;z-index:150;transition:all .2s}.whiteboard-reopen-btn:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0000004d}@media (max-width: 768px){.whiteboard-reopen-btn{bottom:100px;top:auto;right:16px;transform:none}.whiteboard-reopen-btn:hover{transform:scale(1.1)}}.voice-setup{margin-top:16px;padding:16px;border-radius:8px;border:1px solid var(--border-color)}body.light .voice-setup{background:#f8fafc}body.dark .voice-setup{background:#ffffff08}.start-voice-btn{width:100%;padding:12px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:12px}.start-voice-btn:hover{background:var(--brand-600);transform:translateY(-1px)}.start-voice-btn:active{transform:translateY(0)}.avatar-size-slider{width:100%;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}body.light .avatar-size-slider{background:#e2e8f0}body.dark .avatar-size-slider{background:#ffffff1a}.avatar-size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-color);cursor:pointer;box-shadow:0 2px 4px #0003}.avatar-size-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-color);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.slider-value{text-align:center;font-size:12px;font-weight:600;margin-top:8px;color:var(--accent-color)}.send-btn{display:flex;align-items:center;justify-content:center;font-size:18px}.send-btn:not(.recording){background:var(--accent-color);color:#fff}.send-btn:not(.recording):hover{background:var(--brand-600)}.learning-guide-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.learning-guide-btn:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.quick-tip-btn{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;transition:all .2s;padding:0;font-size:inherit;line-height:inherit;color:inherit}.quick-tip-btn:hover{color:var(--accent-color);transform:translate(4px)}body.light .quick-tip-btn:hover{color:#1d4ed8}body.dark .quick-tip-btn:hover{color:#60a5fa}.more-details-container{display:flex;gap:8px;justify-content:flex-start;margin:4px 0 4px 16px}.more-details-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.more-details-btn:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.more-details-btn:disabled{cursor:not-allowed;opacity:.5}.finish-lesson-btn{background:#10b981!important;color:#fff!important;border-color:#10b981!important}.finish-lesson-btn:hover:not(:disabled){background:#059669!important;border-color:#059669!important}.mode-switch-container{display:flex;align-items:center;justify-content:center;gap:12px}.mode-label{font-size:13px;font-weight:500;transition:all .3s;opacity:.4}body.light .mode-label{color:#64748b}body.dark .mode-label{color:#94a3b8}.mode-label.active{color:var(--accent-color);font-weight:700;opacity:1;transform:scale(1.05)}.mode-switch{position:relative;display:inline-block;width:48px;height:24px}.mode-switch input{opacity:0;width:0;height:0}.mode-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border-radius:24px;transition:.3s}body.light .mode-switch .slider{background-color:#cbd5e1}body.dark .mode-switch .slider{background-color:#ffffff1a}.mode-switch .slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 4px #0003}.mode-switch input:checked+.slider{background-color:var(--accent-color)}.mode-switch input:checked+.slider:before{transform:translate(24px)}.mode-switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.voice-guide-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;padding:32px;border-radius:16px;max-width:400px;animation:fadeIn .5s ease}body.light .voice-guide-overlay{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 32px #0000001a}body.dark .voice-guide-overlay{background:#000000b3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.voice-guide-content{display:flex;flex-direction:column;align-items:center;gap:16px}.guide-icon{font-size:48px;animation:pointLeft 2s ease-in-out infinite}@keyframes pointLeft{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.guide-title{font-size:24px;font-weight:700;margin:0}body.light .guide-title{color:#0f172a}body.dark .guide-title{color:#fff}.guide-description{font-size:15px;line-height:1.6;margin:0}body.light .guide-description{color:#475569}body.dark .guide-description{color:#cbd5e1}.lesson-panel{position:absolute;top:60px;right:20px;width:400px;max-height:calc(100vh - 200px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0003;z-index:100;overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease}.lesson-panel.minimized{max-height:60px;height:60px}.lesson-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.lesson-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.panel-controls{display:flex;gap:4px}.control-btn{background:none;border:none;font-size:16px;color:var(--text-tertiary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.minimize-btn{font-size:14px;font-weight:700}.close-btn{font-size:18px}.lesson-content{padding:20px;overflow-y:auto;flex:1}.lesson-section{margin-bottom:20px}.lesson-section h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.lesson-type{display:inline-block;padding:4px 12px;background:var(--accent-color);color:#fff;border-radius:12px;font-size:12px;font-weight:500}.lesson-text{color:var(--text-secondary);line-height:1.6;font-size:14px}.lesson-text p{margin:0 0 12px}.lesson-objectives{list-style:none;padding:0;margin:0}.lesson-objectives li{color:var(--text-secondary);font-size:14px;line-height:1.5;position:relative;padding:8px 0 8px 20px}.lesson-objectives li:before{content:"✓";position:absolute;left:0;color:var(--accent-color);font-weight:700}.lesson-path{color:var(--text-secondary);font-size:14px;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid var(--accent-color);margin:0}.lesson-tip{color:var(--text-secondary);font-size:14px;line-height:1.6;padding:12px 16px;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.2);margin:0}.whiteboard-overlay{position:fixed;top:0;right:0;bottom:0;width:400px;z-index:200;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.whiteboard-panel{height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0003}body.light .whiteboard-panel{background:#fff;border-left:1px solid #e2e8f0}body.dark .whiteboard-panel{background:#0a0e1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1)}.whiteboard-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}body.light .whiteboard-header{border-bottom-color:#e2e8f0}.whiteboard-header h3{font-size:18px;font-weight:600;margin:0}body.light .whiteboard-header h3{color:#0f172a}body.dark .whiteboard-header h3{color:#fff}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#94a3b8;transition:color .2s}.close-btn:hover{color:#ef4444}.whiteboard-content{flex:1;overflow-y:auto;padding:24px}.whiteboard-content::-webkit-scrollbar{width:6px}.whiteboard-content::-webkit-scrollbar-track{background:transparent}.whiteboard-content::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.whiteboard-list{list-style:none;padding:0;margin:0}.whiteboard-list li{padding:12px 16px;margin-bottom:8px;border-radius:8px;font-size:14px;line-height:1.6}body.light .whiteboard-list li{background:#f8fafc;color:#1e293b;border:1px solid #e2e8f0}body.dark .whiteboard-list li{background:#ffffff0d;color:#cbd5e1;border:1px solid rgba(255,255,255,.05)}.whiteboard-list li:before{content:"✓";display:inline-block;margin-right:12px;color:#10b981;font-weight:700}.strategy-box{border-radius:12px;padding:20px}body.light .strategy-box{background:#f8fafc;border:1px solid #e2e8f0}body.dark .strategy-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.strategy-box h4{font-size:16px;font-weight:600;margin:0 0 12px;color:#3b82f6}.strategy-box p{font-size:14px;line-height:1.6;margin:0 0 16px}body.light .strategy-box p{color:#475569}body.dark .strategy-box p{color:#cbd5e1}.strategy-box ol{margin:0;padding-left:20px}.strategy-box ol li{font-size:14px;line-height:1.8;margin-bottom:8px}body.light .strategy-box ol li{color:#1e293b}body.dark .strategy-box ol li{color:#e2e8f0}.text-content{font-size:14px;line-height:1.8}body.light .text-content{color:#475569}body.dark .text-content{color:#cbd5e1}.loading{text-align:center;padding:40px;color:#94a3b8;font-size:14px}@media (max-width: 768px){.whiteboard-overlay{width:100%}}.quiz-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.quiz-modal{background:var(--bg-primary);border-radius:16px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.quiz-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.quiz-header h3{margin:0;font-size:20px;color:var(--text-primary)}.quiz-close{background:none;border:none;font-size:32px;cursor:pointer;color:var(--text-secondary);line-height:1}.quiz-progress{padding:16px 24px;font-size:14px;color:var(--text-secondary);background:var(--bg-secondary)}.quiz-question{padding:32px 24px}.quiz-question p{font-size:18px;font-weight:500;color:var(--text-primary);margin:0}.quiz-options{padding:0 24px 24px;display:flex;flex-direction:column;gap:12px}.quiz-option{padding:16px 20px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);font-size:16px;cursor:pointer;transition:all .2s;text-align:left}.quiz-option:hover{border-color:var(--accent-color);background:var(--bg-secondary)}.quiz-option.selected{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.quiz-footer{padding:24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.quiz-next-btn{padding:12px 32px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.quiz-next-btn:disabled{opacity:.5;cursor:not-allowed}.quiz-next-btn:not(:disabled):hover{opacity:.9}.quiz-results{padding:48px 24px;text-align:center}.result-icon{font-size:64px;margin-bottom:16px}.result-icon.pass{animation:bounce .5s}.result-icon.fail{animation:shake .5s}.quiz-results h2{margin:0 0 16px;color:var(--text-primary)}.result-score{font-size:24px;font-weight:600;color:var(--accent-color);margin:16px 0}.result-message{color:var(--text-secondary);margin:16px 0}.retry-btn{margin-top:24px;padding:12px 32px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.user-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-guide-modal{background:var(--bg-primary);border-radius:16px;padding:24px;max-width:480px;width:90%;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color)}.guide-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.guide-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:20px;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.guide-content{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.guide-step{display:flex;align-items:flex-start;gap:12px}.step-icon{font-size:20px;margin-top:2px}.guide-step h4{margin:0 0 4px;color:var(--text-primary);font-size:14px;font-weight:600}.guide-step p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.4}.guide-footer{display:flex;justify-content:center}.skip-btn{background:var(--accent-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.skip-btn:hover{background:var(--brand-600);transform:translateY(-1px)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-24{top:6rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-10{margin-top:-2.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-32{height:8rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-blue-50\/50{background-color:#eff6ff80}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/20{background-color:#fff3}.bg-white\/80{background-color:#fffc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-600{--tw-gradient-from: #059669 var(--tw-gradient-from-position);--tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-amber-400{--tw-gradient-to: #fbbf24 var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.to-indigo-400{--tw-gradient-to: #818cf8 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #2dd4bf var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-16{padding-top:4rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/30{--tw-shadow-color: rgb(59 130 246 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}html,body{height:auto;overflow-y:auto}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hover\:-translate-y-0:hover{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:gap-2{gap:.5rem}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:block{display:block}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:w-1\/2{width:50%}.lg\:flex-row{flex-direction:row}.lg\:pb-32{padding-bottom:8rem}.lg\:pt-48{padding-top:12rem}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}:is(:where(.dark) .dark\:border-blue-500\/20){border-color:#3b82f633}:is(:where(.dark) .dark\:border-slate-600){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-slate-700){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:border-slate-800){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-blue-900\/10){background-color:#1e3a8a1a}:is(:where(.dark) .dark\:bg-blue-900\/20){background-color:#1e3a8a33}:is(:where(.dark) .dark\:bg-blue-900\/30){background-color:#1e3a8a4d}:is(:where(.dark) .dark\:bg-green-900\/30){background-color:#14532d4d}:is(:where(.dark) .dark\:bg-purple-900\/30){background-color:#581c874d}:is(:where(.dark) .dark\:bg-slate-700){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-slate-800){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-slate-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-slate-900\/50){background-color:#0f172a80}:is(:where(.dark) .dark\:bg-slate-900\/80){background-color:#0f172acc}:is(:where(.dark) .dark\:bg-slate-950){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:bg-white){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}:is(:where(.dark) .dark\:text-blue-300){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-blue-400){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-green-300){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-slate-200){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-slate-300){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-slate-400){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-slate-700){--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-slate-900){--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:hover\:border-blue-900:hover){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:hover\:border-slate-600:hover){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(:where(.dark) .dark\:hover\:text-blue-300:hover){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}:is(:where(.dark) .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(:where(.dark) .group:hover .dark\:group-hover\:text-blue-400){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}
