:root{--primary:#7c3aed;--primary-hover:#6d28d9;--primary-light:#f3efff;--primary-subtle:rgba(124,58,237,0.09);--accent:#0891b2;--accent-hover:#0e7490;--accent-light:#ecfeff;--success:#10b981;--success-light:#ecfdf5;--warning:#f59e0b;--warning-light:#fffbeb;--error:#e11d48;--error-light:#fff1f2;--info:#3b82f6;--info-light:#eff6ff;--bg:var(--bg-main);--bg-card:var(--bg-surface);--bg-surface-elevated:var(--bg-surface);--text:var(--text-primary);--text-h:var(--text-primary);--heading:var(--text-primary);--code-bg:var(--bg-subtle);--social-bg:var(--bg-subtle);--shadow:var(--shadow-md);--sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--success-bg:var(--success-light);--success-border:rgba(16,185,129,0.3);--warning-bg:var(--warning-light);--warning-border:rgba(245,158,11,0.3);--error-bg:var(--error-light);--error-border:rgba(225,29,72,0.25);--info-bg:var(--info-light);--info-border:rgba(59,130,246,0.3);--accent-bg:var(--accent-light);--accent-border:rgba(8,145,178,0.3);--gradient-primary:linear-gradient(135deg,#7c3aed,#0891b2);--gradient-hero:linear-gradient(120deg,#7c3aed,#6366f1 45%,#0891b2);--gradient-nav:linear-gradient(90deg,rgba(124,58,237,0.1),rgba(8,145,178,0.08));--aurora-a:rgba(124,58,237,0.09);--aurora-b:rgba(8,145,178,0.08);--aurora-c:rgba(99,102,241,0.06);--shadow-glow:0 0 0 4px rgba(124,58,237,0.12),var(--shadow-lg);--bg-main:#faf9ff;--bg-surface:#ffffff;--nav-bg:rgba(255,255,255,0.85);--bg-subtle:#f4f2fc;--border:#e5e1f2;--border-focus:#7c3aed;--text-primary:#1e1b4b;--text-secondary:#4b5563;--text-muted:#9298b4;--text-inverse:#ffffff;--shadow-sm:0 1px 2px 0 rgba(30,27,75,0.06);--shadow-md:0 4px 12px -2px rgba(76,61,148,0.09),0 2px 4px -2px rgba(76,61,148,0.05);--shadow-lg:0 12px 24px -6px rgba(76,61,148,0.12),0 4px 8px -4px rgba(76,61,148,0.06);--shadow-xl:0 24px 40px -8px rgba(76,61,148,0.16),0 8px 16px -6px rgba(76,61,148,0.08);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--sidebar-width:260px;--header-height:64px}[data-theme=dark]{--primary:#8b5cf6;--primary-hover:#7c3aed;--primary-light:rgba(139,92,246,0.16);--primary-subtle:rgba(139,92,246,0.13);--accent:#22d3ee;--accent-hover:#67e8f9;--accent-light:rgba(34,211,238,0.15);--success:#34d399;--success-light:rgba(52,211,153,0.15);--warning:#fbbf24;--warning-light:rgba(251,191,36,0.15);--error:#fb7185;--error-light:rgba(251,113,133,0.15);--info:#60a5fa;--info-light:rgba(96,165,250,0.15);--bg-surface-elevated:#172033;--success-bg:rgba(52,211,153,0.15);--success-border:rgba(52,211,153,0.35);--warning-bg:rgba(251,191,36,0.15);--warning-border:rgba(251,191,36,0.35);--error-bg:rgba(251,113,133,0.15);--error-border:rgba(251,113,133,0.35);--info-bg:rgba(96,165,250,0.15);--info-border:rgba(96,165,250,0.35);--accent-bg:rgba(34,211,238,0.15);--accent-border:rgba(34,211,238,0.35);--gradient-primary:linear-gradient(135deg,#8b5cf6,#22d3ee);--gradient-hero:linear-gradient(120deg,#a78bfa,#818cf8 45%,#22d3ee);--gradient-nav:linear-gradient(90deg,rgba(139,92,246,0.16),rgba(34,211,238,0.1));--aurora-a:rgba(124,58,237,0.16);--aurora-b:rgba(8,145,178,0.12);--aurora-c:rgba(99,102,241,0.1);--shadow-glow:0 0 0 4px rgba(139,92,246,0.2),var(--shadow-lg);--bg-main:#0a0d1a;--bg-surface:#101527;--nav-bg:rgba(16,21,39,0.85);--bg-subtle:#1a2138;--border:#262f4d;--border-focus:#8b5cf6;--text-primary:#f3f2ff;--text-secondary:#c4c9e2;--text-muted:#6b7394;--text-inverse:#0a0d1a;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.35);--shadow-md:0 4px 12px -2px rgba(0,0,0,0.45),0 2px 4px -2px rgba(0,0,0,0.35);--shadow-lg:0 12px 24px -6px rgba(0,0,0,0.55),0 4px 8px -4px rgba(0,0,0,0.45);--shadow-xl:0 24px 40px -8px rgba(0,0,0,0.65),0 8px 16px -6px rgba(0,0,0,0.5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-main);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(560px 420px at 12% -4%,var(--aurora-a),transparent 70%),radial-gradient(640px 480px at 96% 4%,var(--aurora-b),transparent 70%),radial-gradient(720px 560px at 50% 108%,var(--aurora-c),transparent 72%)}.text-gradient{background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-surface{background:var(--gradient-primary)}.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;font-size:14px;text-align:left;transition:all var(--transition-fast)}.nav-item:hover{background-color:var(--bg-subtle);color:var(--text-primary)}.nav-item--active{background:var(--gradient-nav);color:var(--primary);font-weight:700}.nav-item--active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:var(--radius-full);background:var(--gradient-primary)}.hero-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hero-aurora:after,.hero-aurora:before{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.75}.hero-aurora:before{width:420px;height:420px;top:-120px;left:-80px;background:radial-gradient(circle,var(--aurora-a),transparent 70%);animation:blobDrift 14s ease-in-out infinite}.hero-aurora:after{width:480px;height:480px;bottom:-180px;right:-100px;background:radial-gradient(circle,var(--aurora-b),transparent 70%);animation:blobDrift 18s ease-in-out infinite reverse}@keyframes blobDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,24px) scale(1.08)}66%{transform:translate(-30px,40px) scale(.95)}}@media (prefers-reduced-motion:reduce){.animate-float,.floating-hero,.hero-aurora:after,.hero-aurora:before{animation:none!important}}@keyframes pulseGlow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.floating-hero{animation:floatCard 4s ease-in-out infinite}.perspective-1000{perspective:1000px}.transform-style-3d{transform-style:preserve-3d}.backface-hidden{backface-visibility:hidden;-webkit-backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{width:100%;max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}.mockup-filename{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card{background-color:var(--bg-card)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:20px}.grid-4,.grid-stats{display:grid;gap:20px}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px}.stat-label{font-size:13px;font-weight:600;color:var(--text-muted)}.stat-value{font-size:26px;font-weight:800;color:var(--text-primary);margin-top:6px}.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.grid-stats{gap:12px}.grid-stats>*{padding:14px!important}.grid-stats .stat-label{font-size:11px;line-height:1.3}.grid-stats .stat-value{font-size:19px}.grid-stats .stat-icon{width:34px;height:34px}.grid-stats .stat-icon svg{width:17px;height:17px}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:floatY 4s ease-in-out infinite}.card-hoverable{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-normal),border-color var(--transition-fast)}.card-hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary)!important}.btn-hover-effect{will-change:transform}.btn-hover-effect:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn-hover-effect:active:not(:disabled){transform:translateY(0);filter:brightness(.97)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin .9s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fadeIn .32s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--primary-light);color:var(--primary)}button{background:none;border:none;cursor:pointer;color:inherit}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.show-on-mobile{display:none!important}@media (max-width:900px){.hide-on-mobile{display:none!important}.show-on-mobile{display:flex!important}}.mobile-overlay{position:fixed;inset:0;z-index:100;background:rgba(2,6,23,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.app-sidebar{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;overflow:hidden;height:100vh;height:100dvh}.app-sidebar__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-content{flex:1 1;display:flex;flex-direction:column;min-width:0;margin-left:260px}@media (max-width:900px){.app-content{margin-left:0}}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;z-index:101;width:286px;max-width:84vw;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;padding:20px 14px;overflow:hidden;animation:slideInLeft .26s cubic-bezier(.4,0,.2,1)}.mobile-drawer--dark{background:#0f172a;border-right-color:#1e293b}.mobile-drawer-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--bg-subtle);z-index:2}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@media (max-width:640px){.app-container{padding-left:16px!important;padding-right:16px!important}}@media (max-width:900px){.grid-form-2,.layout-admin-split,.layout-exam,.layout-slides{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){.grid-form-4,.grid-metrics-4,.grid-rating-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (max-width:768px){.app-header{padding:0 14px!important}.header-search{display:none!important}}.header-notif{width:300px}@media (max-width:480px){.header-notif{width:calc(100vw - 28px)!important}}@media (max-width:640px){.landing-nav-actions{gap:6px!important}.mockup-filename{font-size:11px!important}}.markdown-body{font-size:15px;line-height:1.75;color:var(--text-secondary);word-wrap:break-word}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.md-h1{font-size:24px;letter-spacing:-.02em;margin:4px 0 18px;padding-bottom:12px;border-bottom:2px solid var(--border)}.md-h1,.md-h2{font-weight:800;color:var(--text-primary)}.md-h2{font-size:19px;letter-spacing:-.01em;margin:30px 0 12px;padding-left:12px;border-left:4px solid var(--primary);line-height:1.4}.md-h3{font-size:16px;color:var(--text-primary);margin:22px 0 8px}.md-h3,.md-h4{font-weight:700}.md-h4{font-size:14.5px;color:var(--primary);margin:18px 0 6px}.md-p{margin:0 0 14px}.md-strong{color:var(--text-primary);font-weight:700}.md-em{font-style:italic;color:var(--text-secondary)}.md-ol,.md-ul{margin:0 0 16px;padding-left:22px;display:flex;flex-direction:column;gap:7px}.md-ul{list-style:none;padding-left:4px}.md-ul .md-li{position:relative;padding-left:20px}.md-ul .md-li:before{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:var(--radius-full);background:var(--primary)}.md-ol .md-li{padding-left:2px}.md-ol .md-li::marker{color:var(--primary);font-weight:700}.md-li>.md-ol,.md-li>.md-ul{margin-top:7px;margin-bottom:0}.md-quote{margin:0 0 16px;padding:12px 18px;border-left:4px solid var(--accent);background:var(--accent-light);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-primary);font-size:14px}.md-quote .md-p{margin:0}.md-code-inline{font-family:JetBrains Mono,monospace;font-size:12.5px;padding:2px 6px;border-radius:6px;color:var(--primary)}.md-code-inline,.md-pre{background:var(--bg-subtle);border:1px solid var(--border)}.md-pre{margin:0 0 16px;padding:16px 18px;border-radius:var(--radius-md);overflow-x:auto;box-shadow:inset 3px 0 0 var(--primary)}.md-code-block{font-family:JetBrains Mono,monospace;display:block;font-size:13px;line-height:1.7;white-space:pre;color:var(--text-primary)}.katex-display{overflow-x:auto;overflow-y:hidden;padding:10px 0}.katex{color:var(--text-primary)}.md-hr{border:none;border-top:1px solid var(--border);margin:26px 0}.md-a{color:var(--primary);font-weight:600;text-decoration:none;border-bottom:1px solid var(--primary-light)}.md-a:hover{border-bottom-color:var(--primary)}.md-table-wrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--border);border-radius:var(--radius-md)}.md-table{width:100%;border-collapse:collapse;font-size:13.5px}.md-th{background:var(--bg-subtle);color:var(--text-primary);font-weight:700;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap}.md-td,.md-th{padding:10px 14px}.md-td{border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top}.md-table tr:last-child .md-td{border-bottom:none}.md-table tbody tr:hover{background:var(--bg-subtle)}.chat-page{max-width:880px;padding:24px 24px 0;height:calc(100vh - 64px);height:calc(100dvh - 64px);display:flex;flex-direction:column}.chat-card,.chat-thread{min-height:0}.back-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border-radius:var(--radius-full);background-color:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.back-pill:hover{color:var(--primary);border-color:var(--primary);background-color:var(--primary-light);transform:translateX(-3px);box-shadow:var(--shadow-md)}.back-pill svg{transition:transform var(--transition-fast)}.back-pill:hover svg{transform:translateX(-2px)}.chat-bubble{overflow-wrap:anywhere;word-break:break-word}.chat-input-bar{flex-shrink:0}.chat-input-bar input{flex:1 1;min-width:0}.material-detail-page{padding:32px 24px;min-width:0;overflow-x:hidden}.pipeline-step-icon{width:16px;min-width:16px;height:20px;display:inline-flex;align-items:flex-start;justify-content:center;margin-top:1px}.pipeline-step>span:last-child,.quiz-option-text{min-width:0;line-height:1.55}.quiz-option-text{overflow-wrap:anywhere}.quiz-option-status{white-space:nowrap;justify-self:end}@media (max-width:640px){.quiz-option{grid-template-columns:28px minmax(0,1fr)!important;padding:12px 14px!important;gap:12px!important}.quiz-option-status{display:none}}.detail-subtabs,.slide-list,.summary-mode-switcher{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.detail-subtabs>button,.summary-mode-switcher>button{flex:0 0 auto;white-space:nowrap}.material-header-main,.summary-toolbar,.topic-heading,.topic-title-row{min-width:0}.topic-title{overflow-wrap:anywhere}.detail-subtabs::-webkit-scrollbar,.slide-list::-webkit-scrollbar,.summary-mode-switcher::-webkit-scrollbar{display:none}@media (max-width:640px){.chat-page{padding:10px 10px 0!important;height:calc(100dvh - 64px)}.chat-page-header{margin-bottom:8px!important;gap:8px!important}.chat-titlebar{padding:10px 14px!important;gap:10px!important}.chat-subtitle{display:none!important}.chat-thread{padding:14px 6px!important;gap:14px!important}.chat-msg-row{max-width:94%!important;gap:8px!important}.chat-avatar{width:26px!important;height:26px!important}.chat-avatar svg{width:14px;height:14px}.chat-bubble{padding:10px 14px!important;font-size:14px!important}.chat-input-bar{padding:10px 4px 12px!important;gap:8px!important}.chat-send-btn{padding:11px 14px!important;flex-shrink:0}.chat-send-label{display:none!important}.material-detail-page{padding:16px 12px!important}.material-header-card{padding:18px!important;margin-bottom:20px!important}.material-status-row{align-items:flex-start!important;flex-wrap:wrap;gap:6px!important}.material-title{font-size:20px!important;line-height:1.3!important;overflow-wrap:anywhere}.feature-launch-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding-top:16px!important}.feature-launch-bar>button{font-size:12.5px!important;padding:10px 8px!important;gap:6px!important}.feature-launch-bar>button:last-child{grid-column:1/-1}.detail-subtabs button{padding:10px 12px!important;font-size:13px!important;white-space:nowrap}.summary-mode-switcher{width:100%;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.summary-mode-switcher button{white-space:nowrap}.summary-version-note{display:none!important}.summary-card{padding:18px!important}.markdown-body{font-size:14px;line-height:1.7}.md-h1{font-size:21px}.md-h2{font-size:17px;padding-left:9px}.topic-card{padding:16px!important}.topic-heading{gap:10px}.topic-heading,.topic-title-row{align-items:flex-start!important}.topic-title-row{min-width:0}.topic-title{font-size:15px!important;line-height:1.35!important}.slide-detail-card{padding:18px!important;min-height:auto!important}.slide-list{max-height:230px!important}}