body,html{-webkit-overflow-scrolling:touch;overflow-x:hidden!important}#root,body,html{height:auto!important;overflow-y:auto!important}#root{min-height:100vh}input,select,textarea{font-size:16px!important}*{margin:0;padding:0}:root[data-theme=light]{--bg-color:#fff;--text-color:#000;--card-color:#f5f5f5}:root[data-theme=dark]{--bg-color:#0f172a;--text-color:#fff;--card-color:#1e293b}body{background-color:var(--bg-color);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:var(--text-color);color:#000;flex-direction:column;font-family:Roboto,sans-serif;min-height:100vh;transition:background-color .3s ease,color .3s ease}body,header{display:flex}header{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000001a;height:60px;padding:10px 20px}header img{height:160px;width:auto}header{justify-content:flex-start}.desktop-nav{flex:0 0 auto;margin-left:auto}.hamburger{margin-left:12px}.desktop-nav ul{gap:20px;list-style:none}.desktop-nav ul,.desktop-nav ul li{align-items:center;display:flex}.desktop-nav ul li a{background-color:#444;border-radius:5px;color:#fff;line-height:1;padding:5px 16px;text-decoration:none;transition:background-color .3s ease}.desktop-nav ul li a:hover{background-color:#333}.auth-button{background-color:#444;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;line-height:1;padding:6.5px 16px;transition:background-color .3s ease}.auth-button:hover{background-color:#333}.hamburger,.mobile-nav{display:none}.hero{align-items:flex-start;background-color:#fffc;border-radius:15px;box-shadow:0 4px 8px #0000001a;display:flex;justify-content:space-between;margin:20px;padding:50px 20px}.hero-content{max-width:35%}.hero-content h1{color:#00a3ff;font-size:26px;font-weight:700;margin-bottom:20px}.hero-content p{color:#555;font-size:18px;margin-bottom:30px}.buttons{display:flex;flex-direction:column;gap:15px}.cta-button{background-color:#00a3ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 30px;transition:all .3s ease}.cta-button:hover{background-color:#07c}.action-buttons{gap:15px}.action-buttons button{background-color:initial;border:2px solid #00a3ff;border-radius:8px;color:#00a3ff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 20px;transition:all .3s ease}.action-buttons button:hover{background-color:#00a3ff;color:#fff}.right-content{align-items:center;background-color:#ffffffe6;border-radius:15px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;justify-content:flex-start;margin:20px;min-height:350px;padding:20px}.right-content video{border-radius:15px;box-shadow:0 4px 8px #0000004d;display:block;height:auto;margin-bottom:20px;max-width:400px;width:100%}.features{align-items:center;background-color:#fffc;border-radius:15px;box-shadow:0 4px 8px #0000001a;display:flex;justify-content:space-between;margin:0 auto 30px;padding:30px 20px;width:98%}.feature{flex:1 1;margin:0 10px;text-align:center}.feature h3{color:#040404;font-size:18px}.feature p{color:#555;font-size:14px}.feature-icon{color:#00a3ff;font-size:36px;margin-bottom:10px}footer{align-items:center;background-color:#fff;box-shadow:0 -2px 4px #0000001a;color:#555;display:flex;flex-direction:column;justify-content:center;padding:30px 10px}.footer-sections{display:flex;justify-content:space-between;margin-bottom:20px;width:90%}.footer-section h3{font-size:18px}.footer-section p{font-size:12px}.footer-social{display:flex;gap:15px;justify-content:center;margin-top:15px}.footer-social a{font-size:24px;transition:transform .3s,color .3s}.footer-social .instagram{color:#e4405f}.footer-social .youtube{color:red}.footer-social .twitter{color:#1da1f2}.footer-social .facebook{color:#1877f2}.footer-social .linkedin{color:#0077b5}.footer-social a:hover{filter:brightness(1.2);transform:scale(1.2)}.bubble{margin:10px 0}.bubble,.student-bubble{word-wrap:break-word;border-radius:10px;max-width:80%;padding:10px}.student-bubble{align-self:flex-start;background-color:#00a3ff;color:#fff;margin:5px 0;text-align:left}.ai-bubble{align-self:flex-end;background-color:#222;color:#fff;text-align:left}.student-bubble .speaker{color:#fff;font-weight:700}.ai-bubble .speaker{color:#00a3ff;font-weight:700}.typing-indicator{color:gray;font-style:italic;padding-left:10px}.tts-button-container{display:flex;justify-content:center;margin-top:15px}.tts-button{background-color:#00a3ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 5px;transition:all .3s ease}.tts-button:hover{background-color:#07c}.input-container{display:flex;justify-content:center;margin-top:10px}.input-container input{border:1px solid #ccc;border-radius:5px;font-size:16px;padding:10px;width:70%}.input-container button{background-color:#00a3ff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin-left:10px;padding:10px 20px}.input-container button:hover{background-color:#07c}.locked-message button{background:linear-gradient(45deg,#00a3ff,#07c);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;padding:2px 10px;transition:transform .2s ease,box-shadow .2s ease}.locked-message button:hover{box-shadow:0 4px 10px #0003;transform:scale(1.05)}.output-box{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;color:#000;display:flex;flex-direction:column;margin:0 auto 15px;max-height:300px;max-width:400px;min-height:80px;overflow-y:auto;padding:20px;width:100%}.video-background{display:block;margin-bottom:20px;max-width:400px;width:100%}.auth-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{background:#fff;border-radius:8px;max-width:400px;padding:2rem;text-align:center;width:90%}.auth-type-button{background:#00a3ff;color:#fff;display:block;margin:10px 0;padding:12px;width:100%}.auth-cancel-button,.auth-type-button{border:none;border-radius:4px;cursor:pointer}.auth-cancel-button{background:#f0f0f0;padding:8px 16px}@media only screen and (max-width:768px){header{padding:10px 20px}header img{height:115px;width:auto}.desktop-nav{display:none}.hamburger{cursor:pointer;display:flex;flex-direction:column;height:25px;justify-content:space-between;width:30px}.hamburger span{background-color:#000;border-radius:2px;display:block;height:3px}header{background:#fff;height:60px;left:0;position:fixed;right:0;top:0;z-index:1000}header~:not(.mobile-nav){padding-top:60px}.mobile-nav{background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000001a;color:#000;left:0;padding:20px 0;position:fixed;top:60px;width:100%;z-index:1100}body{margin:0}.mobile-nav ul{list-style:none;margin:0;padding:0;text-align:center}.mobile-nav ul li{margin:15px 0}.mobile-nav ul li a{color:#000;font-size:18px;font-weight:700;text-decoration:none}.mobile-nav ul li a:hover{color:#00a3ff}.mobile-nav ul li .auth-button{background:none;border:none;border-radius:0;color:#000;font-size:18px;font-weight:700;line-height:normal;padding:0;transition:color .3s ease}.mobile-nav ul li .auth-button:hover{background:none;color:#00a3ff}.hero{align-items:center;flex-direction:column;margin:10px;padding:30px 10px}.hero-content{margin-bottom:20px;max-width:100%;text-align:center}.hero-content h1{font-size:22px}.hero-content p{font-size:16px}.right-content{margin:10px 0;width:100%}.right-content video{max-width:none;width:100%}.features{align-items:center;flex-direction:column;padding:20px 10px}.feature{margin:10px 0}.output-box{margin:10px auto;max-width:90%;padding:15px}.input-container{align-items:center;flex-direction:column}.input-container input{margin-bottom:10px;width:80%}.input-container button{margin-left:0;width:80%}footer{padding:20px 10px;text-align:center}.footer-sections{align-items:center;flex-direction:column;gap:15px;width:100%}}@media (min-width:768px){header{height:72px}header~:not(.mobile-nav){padding-top:72px}.desktop-subnav{position:sticky;top:72px}}#root,body,html{height:auto!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:visible!important}header{background:#fff;box-sizing:border-box;justify-content:space-between;left:0;position:fixed;right:0;top:0;width:100%;z-index:1000}body.home-page .features,body.home-page .hero,body.home-page footer{padding-top:60px}@media (min-width:768px){body.home-page .features,body.home-page .hero,body.home-page footer{padding-top:72px}}.mobile-nav a,.mobile-nav button{-webkit-tap-highlight-color:transparent;display:block;position:relative}.mobile-nav{pointer-events:auto;z-index:1500!important}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .features,body.mobile-menu-open .hero,body.mobile-menu-open .right-content,body.mobile-menu-open footer{pointer-events:none}.hamburger{z-index:1601}.mobile-nav a,.mobile-nav button{touch-action:manipulation;z-index:1600}@media (max-width:768px){.mobile-nav{display:block!important;pointer-events:auto!important;z-index:3000!important}body.mobile-menu-open .features,body.mobile-menu-open .hero,body.mobile-menu-open .right-content,body.mobile-menu-open footer,body.mobile-menu-open header{pointer-events:none}.hamburger{pointer-events:auto;z-index:3001}.mobile-nav a,.mobile-nav button{-webkit-tap-highlight-color:transparent;position:relative;touch-action:manipulation;z-index:3002}body.mobile-menu-open header img{height:110px!important}.mobile-nav ul{text-align:center}.mobile-nav ul li .auth-button,.mobile-nav ul li a{background:none!important;border:none!important;border-radius:0!important;color:#000!important;display:inline-block!important;font-size:18px!important;font-weight:700!important;line-height:1.2!important;padding:0!important;vertical-align:middle}.mobile-nav ul li{margin:15px 0}}.action-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.action-buttons button{flex:1 1;font-size:14px;max-width:200px;min-width:140px;padding:10px 16px;text-align:center;white-space:nowrap}body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;padding:0}.auth-container{align-items:center;background-color:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-box{background:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.auth-logo{height:100px;margin-bottom:8px}h2{font-size:24px}.google-signin-btn,h2{color:#333;margin-bottom:20px}.google-signin-btn{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:10px;text-decoration:none;width:100%}.google-signin-btn:hover{background-color:#f1f1f1}.google-icon{margin-right:10px;width:20px}.demo-video-btn{align-items:center;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:0;color:#00000080;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;margin-bottom:20px;margin-top:20px;padding:8px;text-decoration:none;transition:background-color .3s ease;width:100%}.demo-video-btn:hover{background-color:#e0e0e0}.video-icon-wrapper{align-items:center;background-color:initial;display:flex;height:20px;justify-content:center;margin-right:10px;width:20px}.video-icon{color:#ff000080;height:14px;width:14px}.divider{align-items:center;display:flex;margin:20px 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #0000001a;content:"";flex:1 1}.divider span{color:#0000004d;font-size:16px;font-weight:500;padding:0 10px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#333;display:block;font-weight:700;margin-bottom:5px}.input-wrapper{position:relative;width:100%}.input-wrapper input{border:1px solid #ccc;border-radius:5px;font-size:16px;padding:10px 10px 10px 40px;width:100%}.input-wrapper input:focus{border-color:#00a3ff;box-shadow:0 0 4px #00a3ff4d;outline:none}.input-icon{font-size:12px;left:10px}.eye-icon,.input-icon{color:#999;position:absolute;top:50%;transform:translateY(-50%)}.eye-icon{cursor:pointer;font-size:14px;right:10px}.signin-btn{background-color:#00a3ff;border:none;border-radius:5px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;font-size:16px;margin-top:10px;padding:10px;transition:background-color .3s;width:100%}.signin-btn:hover{background-color:#003d82}.error-message{color:red;margin-bottom:20px}.links{font-size:13px;margin-top:20px}.links a{color:#0056b3;display:block;margin:5px 0;text-decoration:none}.links a:hover{text-decoration:underline}.auth-legal-links{display:flex;font-size:13px;justify-content:space-between;margin-top:10px}.auth-link{color:#0056b3;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-select{appearance:none;background:#0000;border:none;font-size:14px;outline:none;padding:10px 10px 10px 36px;width:100%}.input-wrapper select.auth-select{padding-left:36px}.input-wrapper:after{color:#777;content:"▾";font-size:12px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}@media (max-width:480px){.auth-box{max-width:90%;padding:16px}.auth-logo{height:80px;margin-bottom:6px}h2{font-size:20px;margin-bottom:16px}.demo-video-btn,.google-signin-btn,.signin-btn{font-size:14px;height:auto;padding:8px}.form-group input{font-size:14px;padding:6px 6px 6px 30px}.eye-icon,.input-icon{font-size:12px}.auth-legal-links,.links{font-size:11px}.video-icon-wrapper{height:18px;width:18px}.video-icon{height:12px;width:12px}.divider span{font-size:14px}}:root{--bg-light:#f9fafb;--bg-white:#fff;--border-gray:#e5e7eb;--padding-lg:20px;--padding-header:80px;--scrollbar-width:6px;--text-dark:#0f172a;--text-gray:#666;--primary-blue:#3b82f6;--sidebar-bg:#0f172a;--sidebar-text:#f1f5f9;--sidebar-hover:#1e293b;--border-dark:#334155}#root,body,html{background-color:var(--bg-white);box-sizing:border-box;font-family:Poppins,sans-serif;height:auto;min-height:100vh;overflow-x:hidden;padding:0}*,:after,:before{box-sizing:inherit}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.dashboard-header{align-items:center;background:var(--bg-white);box-shadow:0 2px 4px #0000001a;display:flex;height:60px;justify-content:space-between;left:0;padding:0 15px;position:fixed;right:0;top:0;z-index:1010}.logo-image{height:auto;margin-left:16px;width:120px}.dashboard-sidebar{background:var(--sidebar-bg);bottom:0;box-shadow:2px 0 5px #0000001a;color:var(--sidebar-text);display:flex;flex-direction:column;left:0;overflow-x:hidden;overflow-y:auto;padding:10px;position:fixed;top:60px;transition:width .3s ease;width:60px;z-index:900}.dashboard-sidebar.expanded{width:220px}.dashboard-sidebar nav{flex:1 1;margin-top:10px}.dashboard-sidebar nav ul{list-style:none;margin:0;padding:0}.dashboard-sidebar nav ul li{margin-bottom:10px}.dashboard-sidebar nav ul li.last-nav-item{margin-bottom:40px}.dashboard-sidebar nav ul li a{align-items:center;border-radius:5px;color:var(--sidebar-text);display:flex;font-size:16px;justify-content:center;padding:10px;text-decoration:none;transition:background-color .3s}.dashboard-sidebar.expanded nav ul li a{justify-content:flex-start;padding:10px 15px}.dashboard-sidebar nav ul li a:hover{background-color:var(--sidebar-hover)}.dashboard-sidebar nav ul li a.active{color:var(--primary-blue);font-weight:600}.sidebar-icon{color:var(--sidebar-text);font-size:20px!important;height:24px!important;margin-right:0;min-height:24px;min-width:24px;width:24px!important}.sidebar-btn{justify-content:left;min-height:48px}.dashboard-sidebar:not(.expanded) .sidebar-btn{justify-content:left;padding:10px}.dashboard-sidebar.expanded .sidebar-icon{margin-right:8px}.dashboard-sidebar span{display:none}.dashboard-sidebar.expanded span{display:inline}.sidebar-tagline{color:#94a3b8;font-size:13px;font-weight:500;letter-spacing:1px;margin-bottom:5px;padding:8px 15px 5px;text-transform:uppercase}.dashboard-label{display:none}.dashboard-sidebar.expanded .dashboard-label{color:#94a3b8;display:block;font-size:13px;letter-spacing:1px;margin-bottom:5px;padding:8px 15px;text-transform:uppercase}.sidebar-nav-wrapper{display:flex;flex-direction:column;height:100%}.sidebar-nav{flex-grow:1}.sidebar-bottom{list-style:none;margin-top:auto;padding:0}.sidebar-chat-list{background-color:var(--sidebar-bg);border-radius:6px;margin-top:5px;max-height:240px;overflow-y:auto;padding:8px 10px}.dashboard-sidebar:not(.expanded) .chat-list-wrapper{background:var(--sidebar-bg);box-shadow:2px 2px 5px #0003;left:100%;padding:1rem;position:absolute;top:0;width:250px;z-index:1100}.dashboard-sidebar.expanded .chat-list-wrapper{left:auto;position:relative;width:100%}.dashboard-sidebar:not(.expanded) .sidebar-chat-options,.dashboard-sidebar:not(.expanded) .sidebar-chat-time-group{display:none}.dashboard-sidebar:not(.expanded) .collapsed-chat-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.dashboard-sidebar:not(.expanded) .chat-list-wrapper{left:auto;right:100%;width:200px}}.sidebar-chat-list ul{list-style:none;margin:0;padding:0}.sidebar-chat-list li{margin-bottom:6px}.chat-link:hover{background-color:var(--sidebar-hover)}.chat-history-item{align-items:center;background-color:var(--sidebar-bg);border:1px solid var(--border-dark);border-radius:6px;color:var(--sidebar-text);display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 10px;transition:background-color .2s}.chat-history-item:hover{background-color:var(--sidebar-hover)}.chat-link{background:none;border:none;color:var(--sidebar-text);cursor:pointer;flex-grow:1;font-size:14px;text-align:left}.chat-link,.chat-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title-text{display:inline-block;max-width:180px}.chat-action-wrapper{position:relative}.chat-options-icon{background:none;border:none;color:var(--sidebar-text);cursor:pointer;font-size:18px;margin-left:10px;padding:4px}.chat-options-dropdown{background-color:var(--sidebar-hover);border:1px solid var(--border-dark);border-radius:6px;box-shadow:0 4px 10px #0000004d;min-width:100px;padding:6px 0;position:absolute;right:0;top:30px;z-index:1000}.chat-options-dropdown button{background:none;border:none;cursor:pointer;padding:8px 12px;text-align:left}.chat-options-dropdown button,.chat-rename-input{color:var(--sidebar-text);font-size:14px;width:100%}.chat-rename-input{background-color:var(--sidebar-bg);border:1px solid var(--border-dark);border-radius:6px;box-sizing:border-box;outline:none;padding:8px 10px}.chat-title-button{background:#0000;border:none;color:var(--sidebar-text);cursor:pointer;flex-grow:1;font-size:14px;overflow:hidden;padding:4px 0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.chat-history-item input.chat-rename-input{height:32px;line-height:1.2}.chat-options-dropdown button:hover{background-color:var(--border-dark)}.sidebar-chat-options:hover{opacity:1}.sidebar-chat-time-group{border-bottom:1px solid var(--border-dark);color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.5px;margin:12px 10px 6px;padding-left:0;text-transform:uppercase}.course-search{align-items:center;display:flex;gap:10px;margin-bottom:10px}.course-search input{border:1px solid #ccc;border-radius:5px;font-size:14px;padding:8px;width:100%}.search-icon{color:var(--text-gray)}.dashboard-main{margin-left:60px;width:calc(100% - 60px)}.dashboard-main.expanded{margin-left:220px;width:calc(100% - 220px)}.main-content-wrapper{flex-grow:1;padding-bottom:200px;padding-top:var(--padding-lg)}.notifications{align-items:center;display:flex;gap:6px}.notification-btn{align-items:center;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .3s;width:32px}.notification-btn:hover{background-color:#e0e0e0}.notification-btn svg{color:#000!important}.notif-badge{background:red;border-radius:50%;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;position:absolute;right:-6px;top:-6px;z-index:1200}.notif-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 10px #0000001a;padding:12px;position:absolute;right:0;top:55px;width:280px;z-index:1100}.notif-item{border-bottom:1px solid #f0f0f0;color:#111827;font-size:14px;padding:8px}.notif-item:last-child{border-bottom:none}.notif-empty{color:#888;font-size:13px;text-align:center}.toolbar-btn{align-items:center;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background-color .3s;width:32px}.toolbar-btn:hover{background-color:#e0e0e0}.toolbar-icon{color:#000;height:20px;width:20px}.profile-btn{cursor:pointer;position:relative}.profile-initial{align-items:center;background-color:var(--sidebar-hover);border:2px solid var(--primary-blue);border-radius:50%;color:var(--sidebar-text);display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.dropdown{border-radius:8px;box-shadow:0 4px 8px #0000001a;position:absolute;right:20px;top:50px;width:200px;z-index:1000}.dropdown-item{align-items:center;background:none;border:none;color:#000;cursor:pointer;display:flex;font-size:14px;padding:10px;text-align:left;width:100%}.dropdown-item:hover{background:#f0f0f0}.dropdown-icon{margin-right:8px}.welcome-box{margin:20px 0 25px;padding-top:var(--padding-lg);text-align:center}.welcome-box h2{color:#333;font-size:22px;margin:0 0 8px}.motivational-quote{color:var(--text-gray);font-size:16px;font-style:italic;margin:0}.dashboard-section{background-color:var(--bg-white);margin-bottom:var(--padding-lg)}.section-title{color:#333;font-size:20px;margin-bottom:10px;text-align:center}.dashboard-grid{background-color:var(--bg-white);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,300px));justify-content:center}@media (max-width:768px){.dashboard-grid{gap:8px;grid-template-columns:1fr}}.dashboard-card{box-sizing:border-box;text-align:left}.dashboard-card.card-dark{background:var(--sidebar-hover);box-shadow:0 4px 8px #0000001a;color:var(--sidebar-text);transition:transform .2s ease,box-shadow .2s ease}.dashboard-card.card-dark:hover{box-shadow:0 0 8px #3b82f626;transform:translateY(-3px)}.card-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.card-icon{color:var(--primary-blue);height:18px;width:18px}.card-dark h3{font-size:16px;margin:0}.card-dark li,.card-dark p{flex-grow:1;font-size:13px}.circle-bg{stroke:var(--bg-white)}.circle{stroke:var(--primary-blue)}.percentage{fill:var(--bg-white)}@keyframes progress{0%{stroke-dasharray:0 100}}.action-btn{background-color:var(--primary-blue);border:none;border-radius:5px;color:var(--bg-white);cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s,box-shadow .2s}.action-btn:hover{background-color:#2563eb;box-shadow:0 0 8px #3b82f626}.chat-view,.chat-view-split{display:flex;height:calc(100vh - 60px);overflow:hidden}.chat-view{flex-direction:column}.chat-view-split{flex-direction:row}.chat-response-area{background-color:var(--bg-light);padding-bottom:140px;padding-top:var(--padding-header);scrollbar-width:thin}.chat-response-area::-webkit-scrollbar{width:var(--scrollbar-width)}.chat-response-area::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.chat-view-split .chat-response-area{border-right:1px solid var(--border-gray);padding:var(--padding-lg);width:60%}.no-messages{color:var(--text-gray);font-style:italic;margin-top:var(--padding-lg);text-align:center}.user-message{align-self:flex-end;background-color:#f3f4f6;border-radius:16px 16px 0 16px;color:#111827;max-width:75%;padding:10px 14px}.assistant-message,.user-message{font-size:14px;white-space:pre-wrap}.assistant-message{align-self:flex-start;background-color:initial;color:var(--text-dark);font-family:inherit;line-height:1.6;max-width:100%;padding:0}.assistant-message strong{font-weight:600}.assistant-message ul{margin:6px 0;padding-left:18px}.assistant-message li{margin-bottom:4px}.message-arrival{animation:fadeIn .5s ease-in}.chat-bubble{word-wrap:break-word;border-radius:16px;box-shadow:0 1px 3px #0000001a;font-size:14px;line-height:1.4;margin:6px 10px;max-width:75%;padding:8px 12px}.user-bubble{align-self:flex-end;background-color:var(--primary-blue);border-top-right-radius:4px;color:var(--bg-white)}.assistant-pane{background-color:var(--bg-white);border-left:1px solid var(--border-gray);display:flex;flex-direction:column;padding:var(--padding-lg);width:40%}.chat-view-split .assistant-pane{height:100%}.assistant-response-area{background-color:var(--bg-white);flex:1 1;overflow-y:auto;padding:var(--padding-lg);padding-top:var(--padding-header);scrollbar-width:thin}.assistant-response-area::-webkit-scrollbar{width:var(--scrollbar-width)}.assistant-response-area::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.dashboard-main.expanded .main-content-wrapper .assistant-box{left:220px}.chat-view-split .assistant-box{margin:0;position:static;width:100%}.assistant-input-container{align-items:center;display:flex}.assistant-input-styled{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;max-height:160px;min-height:32px;outline:none;overflow-y:auto;padding:10px 36px 10px 14px;resize:none;width:100%}.assistant-input-styled::placeholder{color:var(--text-gray)}.assistant-divider{background-color:var(--border-gray);height:1px;width:100%}.assistant-buttons{align-items:center;display:flex;gap:12px;margin-top:10px}.assistant-rect-btn{background-color:var(--sidebar-text);border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 12px;transition:background .2s}.assistant-rect-btn:hover{background-color:#e0e7ff}.assistant-rect-btn svg{color:var(--primary-blue);height:16px;width:16px}.send-btn.stop{border-radius:50%;position:relative}.send-btn.stop svg{visibility:hidden}.send-btn.stop:before{inset:0;margin:auto;pointer-events:none;position:absolute}.assistant-toggle-btn{align-items:center;background-color:var(--text-dark);border:none;border-radius:50%;bottom:var(--padding-lg);box-shadow:0 4px 10px #00000040;color:var(--bg-white);cursor:pointer;display:flex;font-size:28px;height:48px;justify-content:center;position:fixed;right:var(--padding-lg);transition:background-color .2s ease;width:48px;z-index:1000}.assistant-toggle-btn:hover{background-color:var(--sidebar-hover)}.assistant-toggle-btn-close{align-items:center;background-color:var(--text-dark);border:none;border-radius:8px;color:var(--bg-white);cursor:pointer;display:flex;font-size:14px;justify-content:center;margin-left:auto;padding:6px 12px;transition:background-color .2s}.assistant-toggle-btn-close:hover{background-color:var(--sidebar-hover)}.dashboard-sidebar .sidebar-toggle-btn{align-items:center;background:none;border:none;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:16px;gap:0;justify-content:center;margin-bottom:10px;margin-top:10px;padding:10px 0;position:relative;width:100%;z-index:950}.dashboard-sidebar.expanded .sidebar-toggle-btn{gap:10px;justify-content:flex-start;padding:10px 15px}.dashboard-sidebar .sidebar-toggle-btn:hover{background-color:var(--sidebar-hover)}.github-btn{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;max-width:300px;padding:8px 14px;transition:background-color .2s ease,box-shadow .2s ease;width:fit-content}.github-btn:hover{background-color:#e5e7eb;box-shadow:0 1px 4px #00000014}.split-view{display:flex;height:calc(100vh - 60px)}.course-pane{background-color:var(--bg-light);overflow-y:auto;padding:var(--padding-lg);padding-top:var(--padding-header);width:60%}.assistant-box.hidden{display:none}.scrollable-chat-list{margin-top:8px;max-height:220px;overflow-y:auto;padding-right:5px}.sidebar-btn{align-items:center;background:none;border:none;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:16px;padding:10px 15px;text-align:left;transition:background-color .2s;width:100%}.sidebar-btn:hover{background-color:var(--sidebar-hover)}.sidebar-btn .sidebar-icon{margin-right:8px}.chatpage-container .chat-response-area{background-color:#f9fafb;padding:80px 20px 140px}.dashboard-main{height:calc(100vh - 60px);overflow:hidden}.dashboard-main,.main-content-wrapper{display:flex;flex:1 1;flex-direction:column}.main-content-wrapper{height:100%;overflow-y:auto;padding-bottom:0;padding-top:30px}.assistant-rect-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#111827;display:inline-flex;gap:8px;padding:8px 12px;transition:all .15s ease}.assistant-rect-btn:hover{border-color:#7ca7ed;color:#739ddf}.assistant-rect-btn.active{background:#6b9be7;border-color:#6b9be7;color:#fff}.assistant-rect-btn svg{flex-shrink:0}.yt-results{max-height:60vh;overflow:auto;padding:8px 4px}.yt-controls{align-items:center;display:flex;gap:8px;margin:6px 0 10px}.chip-group-label{font-size:.85rem;margin-right:2px;opacity:.7}.chip{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#111827;cursor:pointer;font-size:.85rem;padding:6px 10px}.chip:hover{border-color:#2563eb;color:#2563eb}.chip.active{background:#2563eb;border-color:#2563eb;color:#fff}.yt-row-wrap{position:relative}.yt-row{display:flex;gap:12px;overflow-x:auto;padding:2px 34px;scroll-behavior:smooth}.carousel-btn{background:#fff;border:none;border-radius:999px;box-shadow:0 1px 4px #00000026;cursor:pointer;height:28px;opacity:.9;position:absolute;top:50%;transform:translateY(-50%);width:28px}.carousel-btn.left{left:2px}.carousel-btn.right{right:2px}.yt-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a;cursor:pointer;display:block;overflow:hidden;padding:0;text-align:left}.yt-card img{aspect-ratio:16/9;display:block;object-fit:cover;width:100%}.yt-card-meta{padding:8px}.yt-card-title{font-size:.95rem;line-height:1.25;max-height:3.2em;overflow:hidden}.yt-card-channel{font-size:.8rem;margin-top:4px;opacity:.7}.yt-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:12px}@media (max-width:900px){.yt-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.yt-grid{grid-template-columns:1fr}}.yt-more-btn{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#111827;cursor:pointer;padding:8px 14px}.yt-more-btn:hover{border-color:#2563eb;color:#2563eb}.modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px #00000059;padding:14px;position:relative;width:min(920px,94vw)}.modal-close{background:#f3f4f6;border:none;border-radius:999px;cursor:pointer;height:28px;position:absolute;right:10px;top:10px;width:28px}.modal-video{border-radius:10px;overflow:hidden;padding-top:56.25%;position:relative}.modal-video iframe{height:100%;inset:0;position:absolute;width:100%}.modal-title{font-weight:600;margin-top:10px}.yt-open-link{color:#2563eb;display:inline-block;margin-top:6px;text-decoration:none}.yt-open-link:hover{text-decoration:underline}.bubble{background:#fff;border-radius:14px;box-shadow:0 1px 6px #00000014;color:#111;max-width:640px;padding:12px 14px;width:min(640px,92%)}.bubble.user{background:#0b5bd3;color:#fff}.assistant-message,.system-message,.user-message{margin:0;padding:0}.bubble.youtube{max-width:560px;width:min(560px,92%)}.bubble.youtube .yt-channel{color:#666}.chat-response-area{display:flex;flex-direction:column;gap:12px}.chat-row{display:flex}.chat-row.from-user{justify-content:flex-end}.bubble{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 4px #0000000f;color:#111827;max-width:min(560px,70vw);padding:10px 14px;width:fit-content}.bubble.user,.chat-row.from-user .bubble{background:#0b5bd3;border-color:#0b5bd3;color:#fff}.bubble p,.bubble-text{margin:0}.chat-row .summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 4px #0000000f;color:#111827;display:inline-block;max-width:min(560px,70vw);padding:12px 14px}.summary-card ul{margin:6px 0 0;padding-left:18px}.summary-card .summary-title{margin:0 0 4px}.bubble.youtube{border-radius:14px;max-width:420px;overflow:hidden;padding:0;width:min(420px,80vw)}.bubble.youtube iframe{aspect-ratio:16/9;border:0;display:block;width:100%}.bubble.youtube .yt-meta{padding:10px 12px}.bubble.youtube .yt-title{font-weight:600;margin-bottom:4px}.bubble.youtube .yt-channel{color:#6b7280;font-size:12px;margin-bottom:6px}.bubble.youtube .yt-link{color:#0b5bd3;font-size:12px;text-decoration:none}@media (max-width:520px){.bubble{max-width:85vw}.bubble.youtube{max-width:92vw;width:92vw}}.summary-card{background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:640px;padding:0!important;width:auto}.summary-card .summary-title{margin:0 0 6px}.summary-card ul{margin:6px 0 0 1.2rem;padding:0}:root{--chat-left-gutter:50px;--chat-left-gutter:48px;--chat-right-gutter:32px}.dashboard-main .chat-view,.dashboard-main .chatpage-container,.dashboard-main .split-view{padding-left:var(--chat-left-gutter)!important;padding-right:var(--chat-right-gutter)!important}.chat-row.from-user{padding-right:var(--chat-right-gutter)!important}.send-btn{align-items:center;background-color:var(--text-dark);border:none;border-radius:50%;color:var(--bg-white);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px}.assistant-input-container{position:relative}.assistant-input-styled{padding-right:44px}.send-btn,.send-btn.stop{border-radius:50%!important;bottom:auto!important;display:grid!important;height:28px!important;place-items:center!important;position:absolute!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;width:28px!important}.send-btn.stop svg{display:none!important}.send-btn.stop:before{background:#fff;border-radius:2px;content:"";height:12px;width:12px}.chat-response-area,.chat-view,.chatpage-container,.dashboard-main{background:#fff!important}.chat-response-area,.chat-view{border:0!important;border-radius:0!important;box-shadow:none!important}body{background:#fff}.chat-response-area .markdown-body{font-size:inherit;line-height:1.6}.chat-response-area .markdown-body h1,.chat-response-area .markdown-body h2,.chat-response-area .markdown-body h3{margin:.6em 0 .3em}.chat-response-area .markdown-body pre{border-radius:12px;margin:.75rem 0;overflow:auto}.chat-response-area .codeblock{position:relative}.chat-response-area .copy-btn{background:#fffc;border:1px solid #0000001a;border-radius:8px;cursor:pointer;font-size:12px;padding:6px 10px;position:absolute;right:8px;top:8px}.chat-row.from-assistant{justify-content:center}.chat-row.from-assistant .bubble:not(.youtube){background:#0000!important;border:0!important;box-shadow:none!important;max-width:780px!important;padding:0!important;width:min(780px,100%)!important}.chat-row.from-assistant .bubble:not(.youtube) .bubble-text{padding:0!important}.chat-row.from-assistant .markdown-body{background:#0000;padding:0}.chat-row.from-assistant .bubble.youtube{border-radius:14px;overflow:hidden;padding:0;width:min(560px,92%)}.chat-row.from-assistant{justify-content:flex-start}.bubble.youtube{margin:0}.codeblock{border:1px solid #e5e7eb;border-radius:12px;margin:12px 0;overflow:hidden}.codeblock-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 10px}.codeblock-lang{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase}.copy-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:12px;padding:6px 10px}.copy-btn:hover{background:#f3f4f6}.markdown-body pre{margin:0!important}.web-results{display:flex;flex-direction:column;gap:10px;margin-top:6px}.web-result{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#111827;display:block;padding:12px 14px;text-decoration:none}.web-result:hover{background:#f9fafb}.web-result-title{font-weight:600;margin-bottom:4px}.web-result-snippet{color:#6b7280;font-size:.92rem}.typing-indicator{align-items:center;display:flex;min-height:20px}.spinner{animation:spin .8s linear infinite;border:2px solid #d1d5db;border-radius:50%;border-top-color:#0b5bd3;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.cite-chip{background:#eef2ff;border-radius:10px;display:inline-block;font-size:12px;line-height:1;margin:0 2px;padding:2px 6px;white-space:nowrap}@media (max-width:600px){:root{--padding-lg:12px;--padding-header:60px;--scrollbar-width:4px}.dashboard-container{overflow:hidden}.dashboard-header{height:50px;padding:0 10px}.logo-image{margin-left:8px;width:100px}.notifications{gap:4px}.notification-btn,.toolbar-btn{height:28px;width:28px}.profile-btn{position:relative}.profile-initial{font-size:16px;height:32px;width:32px}.dropdown{background:#fff!important;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 30px #00000040;left:auto!important;max-width:calc(100vw - 16px);padding:8px 0;position:fixed!important;right:8px!important;top:50px!important;transform:none!important;width:180px;z-index:1400!important}.dropdown-item{align-items:center;display:flex;font-size:14px;gap:10px;padding:12px 16px}.dropdown-icon{height:18px;opacity:.8;width:18px}.dashboard-sidebar{top:50px;width:50px}.dashboard-sidebar.expanded{width:100vw;z-index:1100}.dashboard-main{margin-left:50px;padding-top:70px;width:calc(100% - 50px)}.dashboard-main.expanded{margin-left:0;padding-top:70px;width:100%}.main-content-wrapper{padding:12px 12px 160px}.dashboard-grid{gap:12px;grid-template-columns:1fr;justify-items:center;padding:0 8px}.dashboard-card{margin:0 auto;max-width:380px;min-height:auto;padding:14px;width:100%}.welcome-box{margin:8px 0 16px;padding:0 12px}.welcome-box h2{font-size:18px}.motivational-quote{font-size:14px}.section-title{font-size:17px;margin-bottom:10px;text-align:center}.main-content-wrapper .assistant-box{left:50px;margin:0 8px 8px auto;max-width:calc(100% - 66px);right:8px}.dashboard-main.expanded .main-content-wrapper .assistant-box{left:8px;max-width:calc(100% - 16px);right:8px}.assistant-input-styled{font-size:13px;min-height:28px;padding:8px 32px 8px 12px}.assistant-rect-btn{font-size:13px;padding:5px 10px}.send-btn{height:24px;width:24px}.github-btn{font-size:13px;padding:6px 10px}.chat-response-area,.course-pane{padding-top:70px!important}.assistant-box{border-radius:8px!important;bottom:12px!important;box-shadow:0 -2px 10px #00000014!important;left:50px!important;margin:0!important;max-width:calc(100% - 50px)!important;padding:16px!important;position:fixed!important;right:0!important;z-index:1000!important}.dashboard-main.expanded .assistant-box{left:0!important;max-width:100%!important;right:0!important}.chat-response-area,.main-content-wrapper{padding-bottom:160px!important}}.assistant-box{background:var(--bg-white);border-top:1px solid var(--border-gray);box-sizing:border-box}@media (max-width:600px){.assistant-box{border-radius:8px;bottom:12px;left:50px;max-width:calc(100% - 50px);right:0}.dashboard-main.expanded .assistant-box{left:0;max-width:100%;right:0}}.chat-response-area,.main-content-wrapper{padding-bottom:160px}body.page-dashboard .assistant-pane,body.page-dashboard .chat-view,body.page-dashboard .main-content-wrapper{max-height:none!important;overflow:visible!important}body.page-dashboard .welcome-box{margin-top:-43px!important;padding-top:0!important}body.page-dashboard .content,body.page-dashboard .dashboard-layout,body.page-dashboard .dashboard-page,body.page-dashboard .page-content,body.page-dashboard main{height:auto!important;min-height:calc(100vh - 60px)!important;overflow:visible!important}body.page-dashboard .assistant-box{background-color:#fff!important;bottom:0!important;left:50px!important;opacity:1!important;position:fixed!important;right:0!important;z-index:1200!important}@media (max-width:600px){.dashboard-sidebar:not(.expanded) .sidebar-btn,.dashboard-sidebar:not(.expanded) .sidebar-toggle-btn,.dashboard-sidebar:not(.expanded) nav ul li a,.dashboard-sidebar:not(.expanded) nav ul li button{align-items:center!important;display:flex!important;justify-content:center!important;padding:10px!important;text-align:center!important}.dashboard-sidebar:not(.expanded) .sidebar-icon{margin:0!important}}.message-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:8px;padding-top:8px}.action-icon-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px 8px;position:relative;transition:all .2s ease}.action-icon-btn:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}.action-icon-btn:active{transform:scale(.95)}.copied-tooltip{animation:fadeIn .2s ease;background:#111827;border-radius:4px;bottom:100%;color:#fff;font-size:11px;margin-bottom:4px;padding:4px 8px;pointer-events:none;white-space:nowrap}.copied-tooltip,.copied-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.copied-tooltip:after{border:4px solid #0000;border-top-color:#111827;content:"";top:100%}@keyframes fadeIn{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:600px){.message-actions{gap:6px;margin-top:6px;padding-top:6px}.action-icon-btn{padding:5px 7px}.action-icon-btn svg{height:12px;width:12px}}.chat-view,.chatpage-container{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.chat-response-area{background-color:#fff;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:80px 20px 160px;scroll-behavior:auto}.message-container{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:720px;padding:0 8px;width:100%}.assistant-box{background:#fff;border-top:1px solid #e5e7eb;bottom:16px;box-shadow:0 -2px 10px #00000014;left:60px;margin:0 auto;max-width:800px;padding:16px;position:fixed;right:0;z-index:1000}.dashboard-main.expanded .assistant-box{left:220px}@media (max-width:600px){.chat-view,.chatpage-container{height:calc(100vh - 50px)}.chat-response-area{padding-bottom:200px;padding-top:60px}.assistant-box{border-radius:8px;bottom:12px;left:50px;max-width:calc(100% - 50px);right:0}.dashboard-main.expanded .assistant-box{left:0;max-width:100%;right:0}.chat-view .chat-response-area,.chatpage-container .chat-response-area{padding-bottom:220px!important}}body.page-ChatPage .chat-page,body.page-ChatPage .chat-view,body.page-ChatPage .chatpage-container{margin-top:-60px;padding-top:20px}.k12-mini-page{padding-left:16px;padding-right:16px;padding-top:80px}.k12-mini-layout{display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr)}@media (max-width:900px){.k12-mini-layout{grid-template-columns:1fr}}.k12-mini-sidebar{background:#f9fafb;border-radius:12px;padding:12px}.k12-mini-content{background:#fff;border-radius:12px;padding:16px}.k12-tabs{display:flex;gap:8px;margin-bottom:10px}.k12-tab{background:#e5edff;border:1px solid #cbd5f5;border-radius:999px;cursor:pointer;flex:1 1;font-size:14px;padding:6px 10px}.k12-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.k12-grades{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.k12-grade-pill{background:#fff;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;font-size:12px;padding:4px 10px}.k12-grade-pill.active{background:#111827;color:#fff}.k12-lesson-list{max-height:420px;overflow-y:auto}.k12-lesson-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;margin-bottom:8px;padding:10px;text-align:left;width:100%}.k12-lesson-card.active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f666}.k12-lesson-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.k12-lesson-title{font-size:14px;font-weight:600}.k12-sticker{background:#fef3c7;border-radius:999px;font-size:11px;padding:2px 6px}.k12-lesson-topic{color:#4b5563;font-size:12px}.k12-lesson-objective{color:#6b7280;font-size:12px}.k12-lesson-viewer{display:flex;flex-direction:column;gap:16px}.k12-lesson-main-title{font-size:20px;margin-bottom:4px}.k12-lesson-main-objective{color:#6b7280}.k12-blocks-wrapper{border:1px solid #e5e7eb;border-radius:12px;padding:12px}.k12-block-nav{display:flex;gap:6px;margin-bottom:8px}.k12-block-dot{background:#fff;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;font-size:12px;height:24px;width:24px}.k12-block-dot.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.k12-block-content p{margin-bottom:8px}.k12-simpler-box{background:#eff6ff;border-radius:8px;font-size:14px;margin-top:8px;padding:8px}.k12-examples h4,.k12-practice h4{margin-bottom:6px}.k12-question-card{border:1px solid #e5e7eb;border-radius:10px;padding:10px}.k12-options{display:flex;flex-direction:column;gap:6px;margin-top:6px}.k12-option-btn{background:#fff;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;font-size:14px;padding:6px 10px;text-align:left}.k12-option-btn.correct{background:#dcfce7;border-color:#16a34a}.k12-option-btn.wrong{background:#fee2e2;border-color:#dc2626}.k12-explanation{font-size:13px;margin-top:6px}.btn-primary-small{background:#3b82f6;border-radius:999px;font-size:13px;padding:6px 14px}.k12-practice-card{background:#f9fafb;border-radius:14px;box-shadow:0 1px 3px #0f172a14;margin-top:16px;padding:12px 14px}.k12-practice-title{font-size:14px;font-weight:600;margin-bottom:4px}.k12-field-label{color:#111827;display:block;font-size:12px;font-weight:600;margin-top:8px}.k12-field-label:first-of-type{margin-top:4px}.k12-input,.k12-select{border:1px solid #d1d5db;border-radius:8px;display:block;font-size:13px;margin-top:4px;outline:none;padding:6px 8px;width:100%}.k12-input:focus,.k12-select:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640}.k12-practice-card .btn-primary-small{margin-top:10px;width:100%}.k12-practice-note{font-size:11px;line-height:1.4;margin-top:6px}.career-start-card{margin-top:16px;text-align:left}.career-quiz-card{margin-top:16px}.career-progress-bar{background:#020617;border-radius:999px;height:6px;margin-bottom:6px;width:100%}.career-progress-fill{background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:999px;transition:width .25s ease-out}.career-progress-label{font-size:12px;margin-bottom:12px;opacity:.7}.career-choice-row{display:flex;flex-wrap:wrap;margin-bottom:12px;margin-top:12px}.career-choice{align-items:center;background:#020617;border:1px solid #1f2937;border-radius:14px;display:flex;flex:1 1 180px;font-size:14px;gap:8px;min-width:150px;padding:10px 12px;text-align:left;transition:transform .1s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.career-choice:hover{background:#030712;border-color:#3b82f6;box-shadow:0 10px 22px #00000073;transform:translateY(-2px)}.career-choice-emoji{font-size:20px}.career-choice-label{flex:1 1}.career-results-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:8px}.career-emoji{font-size:26px;margin-right:6px}.career-tagline{margin-top:8px;opacity:.85}.btn-secondary-small{background:#0000;border:1px solid #374151;border-radius:999px;color:#e5e7eb;font-size:13px;margin-top:10px;padding:6px 14px;transition:background .15s ease,border-color .15s ease}.btn-secondary-small:hover{background:#111827;border-color:#4b5563}@media (max-width:768px){.career-choice-row{flex-direction:column}}.school-header-icon-btn{align-items:center;background:#fff;border:1px solid #00000014;border-radius:10px;cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0;position:relative;width:38px}.school-header-icon-btn:hover{background:#00000008}.school-header-icon-badge{background:#ef4444;border-radius:999px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:-6px;text-align:center;top:-6px}.github-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.github-modal{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0003;max-width:90%;padding:20px;text-align:center;width:400px}.github-modal h2{margin-bottom:20px}.github-modal label{display:block;font-weight:700;margin-bottom:10px}.github-modal select{border:1px solid #ccc;border-radius:4px;margin-bottom:20px;padding:8px;width:100%}.github-modal button{border:none;border-radius:4px;cursor:pointer;margin:0 10px;padding:10px 20px}.github-modal button:disabled{background:#ccc;cursor:not-allowed}.github-modal .cancel-btn{background:#f44336;color:#fff}.github-modal button:not(.cancel-btn){background:#28a745;color:#fff}.github-modal .success{color:#28a745}.github-modal .error{color:#f44336}.page-wrap{background:#fff;color:#0f172a;line-height:1.8;margin:0 auto;max-width:1120px;padding:72px 32px 96px}.page-wrap h1{font-size:clamp(2.1rem,2.6vw,2.5rem);font-weight:700;letter-spacing:-.03em;margin-bottom:8px}.page-wrap h2{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:36px 0 10px}.page-wrap h3{font-size:1.05rem;font-weight:600;margin-bottom:6px;margin-top:22px}.page-wrap p{color:#1f2933;font-size:.98rem;margin:8px 0}.page-wrap section{border-top:1px solid #e5e7eb;padding-top:18px}.page-wrap section:first-of-type{border-top:none;padding-top:0}.page-wrap ol,.page-wrap ul{font-size:.97rem;margin:8px 0 14px;padding-left:1.2rem}.page-wrap li{margin:3px 0}.page-wrap a{color:#2563eb;font-weight:500;text-decoration:none}.page-wrap a:hover{text-decoration:underline}.page-section-intro{margin-bottom:28px;max-width:640px}.page-section-intro p{color:#4b5563}.page-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:12px}.page-card{background:#f5f5f7;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 16px 40px #0f172a0f;display:flex;flex-direction:column;justify-content:space-between;padding:20px 20px 18px;transition:transform .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out,border-color .15s ease-out}.page-card:hover{background:#fff;border-color:#d1d5db;box-shadow:0 22px 55px #0f172a1a;transform:translateY(-3px)}.page-card-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:6px}.page-card-body{color:#4b5563;font-size:.95rem;margin-bottom:14px}.page-card-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto;padding-top:8px}.page-card-meta{color:#6b7280;font-size:.83rem}.page-card-link{align-items:center;color:#111827;display:inline-flex;font-size:.9rem;font-weight:500;gap:4px}.page-card-link:after{content:"›";font-size:.95rem}.comparison-table,.data-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:12px;font-size:.95rem;margin-top:16px;overflow:hidden;width:100%}.comparison-table thead,.data-table thead{background:#f3f4f6}.comparison-table td,.comparison-table th,.data-table td,.data-table th{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left}.comparison-table th,.data-table th{color:#4b5563;font-size:.9rem;font-weight:600}.comparison-table tbody tr:nth-child(2n),.data-table tbody tr:nth-child(2n){background:#f9fafb}.contact-two-col{align-items:flex-start;grid-template-columns:minmax(0,1.4fr) minmax(320px,420px);margin-top:24px}.contact-intro p{font-size:.98rem;margin:10px 0}.contact-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 12px 30px #0f172a14;color:#0f172a;padding:20px 18px}@media (max-width:900px){.page-wrap{padding:56px 16px 80px}.page-wrap h1{font-size:1.9rem}.contact-two-col{gap:28px;grid-template-columns:1fr}.contact-panel{position:static;top:auto}}.faq-list{display:grid;gap:18px;margin-top:8px}.faq-item{background:#f5f5f7;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 14px 36px #0f172a0f;padding:16px 18px 14px;transition:transform .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out,border-color .15s ease-out}.faq-item:hover{background:#fff;border-color:#d1d5db;box-shadow:0 20px 52px #0f172a1a;transform:translateY(-2px)}.faq-question{color:#111827;font-size:1rem;font-weight:600;margin:0 0 4px}.faq-answer{color:#4b5563;font-size:.95rem;margin:0}@media (max-width:900px){.faq-item{padding:14px 14px 12px}}.contact-two-col{align-items:start;display:grid;gap:40px;grid-template-columns:1fr minmax(340px,420px);margin-top:20px}.contact-intro h1{color:#111827;font-size:2rem;font-weight:700;margin-bottom:16px}.contact-intro p{color:#4b5563;font-size:1rem;line-height:1.65;margin:12px 0}.contact-panel{position:sticky;top:96px}@media (max-width:900px){.contact-two-col{grid-template-columns:1fr}.contact-panel{margin-top:12px;position:static}}.blog-hero{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:12px}.blog-hero h1{font-size:clamp(2rem,2.4vw,2.3rem);margin-bottom:8px}.blog-hero p{color:#4b5563;margin:0;max-width:640px}.blog-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:20px}.blog-card{background:radial-gradient(circle at top left,#f5f5ff 0,#fff 58%);background-position:0 0;background-size:140% 140%;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 16px 40px #0f172a0f;display:flex;flex-direction:column;justify-content:space-between;padding:18px 18px 14px;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out,background-position .15s ease-out}.blog-card:hover{background-position:50%;border-color:#c7d2fe;box-shadow:0 22px 60px #0f172a1f;transform:translateY(-4px)}.blog-tag{align-items:center;background:#2563eb14;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:.75rem;font-weight:500;margin-bottom:8px;padding:3px 10px}.blog-title{color:#0f172a;font-size:1.02rem;font-weight:600;margin:0 0 6px}.blog-excerpt{color:#4b5563;font-size:.95rem;margin:0}.blog-card-footer{align-items:center;border-top:1px dashed #e5e7eb;display:flex;gap:8px;justify-content:space-between;margin-top:14px;padding-top:10px}.blog-meta{color:#6b7280;font-size:.83rem}.blog-link{align-items:center;color:#111827;display:inline-flex;font-size:.9rem;font-weight:500;gap:4px;text-decoration:none;white-space:nowrap}.blog-link:after{content:"↗";font-size:.9rem}.blog-link:hover{text-decoration:underline}@media (max-width:900px){.blog-grid{grid-template-columns:1fr}.blog-card{padding:16px 16px 12px}.blog-card-footer{align-items:flex-start;flex-direction:column}}.feature-page .page-section-intro{margin-bottom:24px}.feature-page .page-section-intro p{color:#4b5563}.feature-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 16px 40px #0f172a0f;display:flex;flex-direction:column;padding:18px 18px 16px;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out,background-color .15s ease-out}.feature-card:hover{background-color:#f9fafb;border-color:#c7d2fe;box-shadow:0 22px 60px #0f172a1f;transform:translateY(-3px)}.feature-card-header{align-items:baseline;display:flex;gap:10px;margin-bottom:6px}.feature-index{align-items:center;background:#eef2ff;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.8rem;font-weight:600;height:26px;justify-content:center;width:26px}.feature-title{color:#0f172a;font-size:1.02rem;font-weight:600;margin:0}.feature-body{color:#4b5563;font-size:.95rem;line-height:1.65;margin:4px 0 0}@media (max-width:900px){.feature-card{padding:16px 14px 14px}}.resource-page .page-section-intro{margin-bottom:22px}.resource-page .page-section-intro p{color:#4b5563}.resource-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.resource-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:18px;display:flex;flex-direction:column;gap:6px;padding:16px 18px 14px;transition:border-color .15s ease-out,background-color .15s ease-out,transform .15s ease-out}.resource-card-wide{grid-column:1/-1}.resource-card-header{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.resource-title{color:#111827;font-size:1rem;font-weight:600;margin:0}.resource-label{background:#e5e7eb;border-radius:999px;color:#374151;font-size:.75rem;font-weight:500;padding:3px 9px;white-space:nowrap}.resource-body{color:#4b5563;font-size:.94rem;line-height:1.65;margin:4px 0 0}.resource-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.resource-links a{color:#2563eb;font-size:.9rem;font-weight:500;text-decoration:none}.resource-links a:hover{text-decoration:underline}.resource-links-multi{flex-direction:row;flex-wrap:wrap;gap:6px 14px}.resource-card:hover{background-color:#fff;border-color:#d1d5db;transform:translateY(-1px)}@media (max-width:900px){.resource-card{padding:14px 14px 12px}.resource-card-wide{grid-column:auto}.resource-card-header{align-items:flex-start;flex-direction:column}}.settings-wrapper{align-items:flex-start;background:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:80px 0}.settings-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000014;display:flex;max-width:90%;overflow:hidden;width:800px}.settings-sidebar{background:#f3f4f6;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px;padding:16px 0;width:180px}.settings-tab{background:none;border:none;color:#374151;cursor:pointer;font-size:14px;padding:12px 20px;text-align:left;transition:background .2s ease}.settings-tab.active,.settings-tab:hover{background:#e5e7eb;font-weight:500}.settings-content{flex:1 1;padding:24px 32px}.settings-content h2{font-size:18px;font-weight:600;margin-bottom:24px}.settings-row{border-bottom:1px solid #f3f4f6;color:#1f2937;font-size:14px;padding:12px 0}.settings-row select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:6px 10px}.danger-btn{background:#ef4444;border:none;border-radius:8px;padding:6px 12px}.danger-btn,.settings-btn{color:#fff;cursor:pointer;font-size:14px}.settings-btn{border:none;border-radius:999px;padding:8px 6px;transition:background-color .3s ease}.settings-btn,.settings-btn:hover{background-color:#222}.settings-section input{border:1px solid #ccc;border-radius:6px;display:block;margin-bottom:12px;margin-top:8px;padding:10px;width:100%}.settings-row input[type=password]{border:1px solid #ccc;border-radius:4px;margin:8px 0;padding:8px;width:100%}.settings-row button.settings-btn{background-color:#222;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.settings-row button:disabled{background-color:#ccc;cursor:not-allowed}.settings-row .success-message{color:#2e7d32;margin:8px 0}.settings-row .error-message{color:#d32f2f;margin:8px 0}.settings-section input[type=checkbox]{display:inline-block;margin-right:8px;width:auto}.consent-description{color:#374151;font-size:14px;margin-bottom:12px}.consent-label{align-items:center;color:#1f2937;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:12px}.consent-label input{accent-color:#3b82f6;transform:scale(1.2)}.consent-note{color:#6b7280;font-size:13px;font-style:italic}.plan-tag{background:#f3f4f6;border-radius:12px;color:#333}.subscription-box{background:#f9f9f9;border:1px solid #ddd;border-radius:12px;margin-top:20px;max-width:600px;padding:24px}.subscription-info{margin-bottom:20px}.settings-row{align-items:center;border-bottom:1px solid #eee;color:#333;display:flex;font-size:15px;justify-content:space-between;padding:10px 0;width:100%}.settings-row>span:first-child{flex:0 0 auto}.plan-tag{background-color:#e0e7ff;border-radius:999px;color:#1e3a8a;font-size:13px;font-weight:500;padding:4px 12px}.billing-date{color:#666;font-size:14px}.billing-status{border-radius:999px;font-size:13px;font-weight:500;padding:4px 10px}.billing-status.active{background-color:#dcfce7;color:#166534}.subscription-actions{display:flex;flex-direction:row;gap:8px;justify-content:flex-start}.subscription-actions label{color:#555;font-size:14px}.button-group{gap:12px;margin-left:auto}.upgrade-btn{background:none;border:none;color:#000;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;transition:color .3s ease}.upgrade-btn:hover{color:#4b5563}.cancel-btn{background:none;border:none;color:#ef4444;font-size:14px;font-weight:500;padding:8px 0;transition:color .3s ease}.cancel-btn:before{color:#ef4444;content:"X "}.cancel-btn:hover{color:#dc2626}@media (max-width:480px){.settings-wrapper{align-items:stretch;padding:5px 0}.settings-modal{border-radius:0;box-shadow:none;flex-direction:column;max-width:100%;width:100%}.settings-sidebar{background:#f3f4f6;border-bottom:1px solid #e5e7eb;border-right:none;flex-direction:row;gap:0;overflow-x:auto;padding:0;width:100%}.settings-tab{flex:1 0 auto;font-size:13px;padding:10px 12px;white-space:nowrap}.settings-tab.active,.settings-tab:hover{background:#e5e7eb}.settings-content{padding:16px}.settings-content h2{font-size:16px;margin-bottom:16px}.settings-row{align-items:flex-start;flex-direction:column;font-size:14px;gap:8px;padding:10px 0}.settings-row input[type=password],.settings-row select,.settings-section input{font-size:14px;width:100%}.danger-btn,.settings-btn{font-size:14px;padding:10px;width:100%}.consent-description,.consent-label,.consent-note{font-size:13px}.subscription-box{margin-top:16px;padding:16px}.subscription-actions{flex-direction:column;gap:12px}.button-group{flex-direction:column;gap:8px;margin-left:0;width:100%}.cancel-btn,.upgrade-btn{font-size:14px;padding:10px;text-align:center;width:100%}.billing-status,.plan-tag{font-size:12px;padding:4px 8px}}.report-container{overflow-y:auto!important}.submit-btn{background:#222;color:#fff}.report-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;margin:100px auto;max-width:600px;padding:32px}.report-container h2{font-size:20px;margin-bottom:20px}.report-container label{display:block;font-weight:500;margin-bottom:6px;margin-top:12px}.report-container select,.report-container textarea{border:1px solid #ccc;border-radius:6px;padding:10px;width:100%}.submit-btn{background:#222!important;border:none;border-radius:6px;color:#fff!important;cursor:pointer;margin-top:20px;padding:10px 20px}.success-msg{color:#2e7d32;font-weight:500;margin-top:20px}@media (max-width:600px){.report-container{background:#fff!important;border-radius:0;box-shadow:none;margin:60px auto 40px;max-width:100%;padding:20px}.report-container h2{font-size:18px;margin-bottom:16px}.report-container label{font-size:14px;margin-bottom:4px;margin-top:10px}.report-container select,.report-container textarea{font-size:14px;padding:8px}.submit-btn{background:#222!important;padding:8px 16px}.submit-btn,.success-msg{font-size:14px;margin-top:16px}.success-msg{color:#2e7d32}}.contact-wrapper{background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;font-family:sans-serif;margin:80px auto;max-width:400px;min-height:400px;padding:32px;width:90%}.contact-box{text-align:center}.contact-box h1{font-size:24px;margin-bottom:8px}.contact-box p{color:#555;font-size:16px;margin-bottom:24px}.contact-item{align-items:center;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;font-size:15px;justify-content:space-between;margin-bottom:12px;padding:12px 16px;transition:background .2s ease}.contact-item:hover{background:#f5f5f5}.contact-icon{color:#999}.contact-item.contact-toggle{align-items:stretch;border:none;flex-direction:column;padding:0}.contact-toggle-header{align-items:center;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;font-size:15px;justify-content:space-between;margin-bottom:8px;padding:12px 16px}.contact-toggle-header:hover{background:#f5f5f5}.contact-subform{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:16px;text-align:left;width:100%}.contact-subform h3{font-size:16px;font-weight:600;margin-bottom:8px}.contact-subform input,.contact-subform textarea{border:1px solid #ccc;border-radius:6px;font-size:14px;margin-bottom:12px;padding:10px;width:100%}.contact-subform .submit-btn{background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px}@media (max-width:600px){.contact-wrapper{border-radius:0;box-shadow:none;margin:60px auto 40px;max-width:100%;min-height:auto;overflow-y:auto!important;padding:10px;width:100%}.contact-box h1{font-size:20px;margin-bottom:6px}.contact-box p{font-size:14px;margin-bottom:20px}.contact-item{font-size:14px;padding:10px 14px}.contact-item,.contact-item.contact-toggle{margin-bottom:10px}.contact-toggle-header{font-size:14px;margin-bottom:6px;padding:10px 14px}.contact-subform{padding:14px}.contact-subform input,.contact-subform textarea{font-size:13px;margin-bottom:10px;padding:8px}.contact-subform .submit-btn{font-size:13px;padding:8px 14px}}#root,body,html{height:100%;margin:0;overflow-y:hidden}.courses-page{display:flex;flex-direction:column;min-height:100vh}.courses-scroll{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:80px 24px 24px}.courses-layout{display:flex;gap:20px}.courses-sidebar{background:#f9f9f9;border-radius:10px;font-size:14px;padding:16px;width:250px}.courses-sidebar h4{margin-bottom:10px}.courses-sidebar ul{list-style:none;margin-bottom:20px;padding-left:0}.courses-sidebar li{margin-bottom:6px}.courses-content{flex:1 1;min-width:0}.courses-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.search-bar{position:relative}.search-bar input{border:1px solid #ccc;border-radius:8px;padding:8px 30px 8px 12px}.search-icon{color:#777;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.courses-list{display:flex;flex-direction:column;gap:16px;padding-bottom:80px}.course-card{background:#fff;border:1px solid #e1e1e1;border-radius:10px;padding:16px}.course-tags{display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-top:8px}.tag{padding:4px 10px}.course-action{margin-top:12px}.start-btn{background-color:#1f2937;padding:8px 16px}@media (max-width:600px){.courses-page{display:flex;flex-direction:column;height:100vh!important;overflow-y:hidden!important}.courses-scroll{-webkit-overflow-scrolling:touch!important;flex:1 1!important;overflow-y:auto!important;padding:4px 12px 40px}.courses-layout{display:flex;flex-direction:column;gap:16px;min-height:auto!important}.courses-content,.courses-sidebar{flex:none!important;width:100%!important}.assistant-float{bottom:12px!important;position:fixed!important;right:12px!important;z-index:1000!important}.courses-sidebar{background:#f9f9f9;border-radius:8px;padding:12px}.courses-sidebar ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-bottom:16px;padding:0}.courses-sidebar li{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;font-size:13px;gap:6px;padding:6px 12px}}body.page-CoursePage,body.page-CoursePage html{height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-CoursePage #root,body.page-CoursePage .courses-page{height:auto!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-CoursePage .courses-page{margin-top:-60px!important;padding-bottom:100px!important;padding-top:20px!important}body.page-CoursePage .courses-content,body.page-CoursePage .courses-layout,body.page-CoursePage .courses-scroll,body.page-CoursePage .courses-sidebar{max-height:none!important;overflow:visible!important}@media (max-width:600px){body.page-CoursePage .courses-page{margin-top:-60px!important;padding:20px 12px 100px!important}}.fta-root{bottom:var(--fta-bottom,20px);color:#1f2937;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;position:fixed;right:var(--fta-right,20px);z-index:var(--fta-z,9999)}.fta-fab{background:#fff;border:1px solid #e5e7eb;border-radius:9999px;box-shadow:0 10px 20px #00000014,0 3px 6px #00000014;color:#111827;cursor:pointer;display:grid;height:64px;place-items:center;width:64px}.fta-fab:hover{transform:translateY(-1px)}.fta-fab:active{transform:translateY(0)}.fta-panel{border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 20px 40px #0000001f,0 6px 12px #00000014;flex-direction:column;height:min(520px,calc(100vh - 32px));overflow:hidden;width:min(420px,calc(100vw - 32px))}.fta-header,.fta-panel{background:#fff;display:flex}.fta-header{align-items:center;border-bottom:1px solid #f3f4f6;height:58px;justify-content:space-between;padding:0 14px 0 16px}.fta-title{align-items:center;display:flex;font-size:14.5px;font-weight:600;gap:10px}.fta-dot{background:#34d399;border-radius:9999px;box-shadow:0 0 0 2px #ecfdf5;height:10px;width:10px}.fta-header-btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#111827;cursor:pointer;display:grid;height:34px;place-items:center;width:34px}.fta-messages{background:#fff;flex:1 1 auto;overflow-y:auto;padding:14px 14px 10px}.fta-bubble{border:1px solid #e5e7eb;border-radius:14px;font-size:14px;line-height:1.35;margin:6px 0;max-width:75%;padding:10px 12px;white-space:pre-wrap}.fta-assistant{background:#fafafa;color:#111827}.fta-user{background:#f3f7ff;border-color:#dbe7ff;color:#111827;margin-left:auto}.fta-inputRow{align-items:center;background:#fff;border-top:1px solid #f3f4f6;display:flex;gap:8px;padding:10px}.fta-input{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1 1 auto;font-size:14px;max-height:120px;min-height:42px;outline:none;padding:10px 12px;resize:vertical}.fta-input:focus{border-color:#c7d2fe;box-shadow:0 0 0 3px #eef2ff}.fta-send{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#111827;cursor:pointer;display:grid;height:42px;place-items:center;width:42px}.fta-send:disabled{cursor:not-allowed;opacity:.5}.fta-hint{color:#6b7280;font-size:12px;padding:0 12px 10px}@media (max-width:600px){.fta-root{--fta-bottom:12px!important;--fta-right:12px!important}.fta-fab{box-shadow:0 4px 12px #0003!important;height:48px!important;width:48px!important}.fta-panel{border-radius:16px!important;bottom:var(--fta-bottom)!important;box-shadow:0 8px 32px #00000040!important;display:flex!important;flex-direction:column!important;height:auto!important;left:50px!important;max-height:70vh!important;max-width:calc(100% - 62px)!important;overflow:hidden!important;position:fixed!important;right:var(--fta-right)!important;width:auto!important;z-index:var(--fta-z)!important}.dashboard-main.expanded .fta-panel{left:12px!important}.fta-header{font-size:16px!important;padding:12px 16px!important}.fta-messages{flex:1 1!important;font-size:14px!important;max-height:40vh!important;overflow-y:auto!important}.fta-inputRow,.fta-messages{padding:12px!important}.fta-input{font-size:14px!important;max-height:100px!important;min-height:44px!important;padding:10px 40px 10px 12px!important}.fta-send{height:36px!important;right:12px!important;width:36px!important}.fta-hint{color:#666!important;font-size:11px!important;padding:6px 16px!important}.fta-panel:before{display:none!important}}*{box-sizing:border-box}.dash-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.dash-welcome-box{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;overflow:hidden;padding:32px;position:relative;transform:translateY(0);transition:transform .3s ease}.dash-welcome-box:before{animation:float 3s ease-in-out infinite;content:"🎓";font-size:60px;opacity:.3;position:absolute;right:20px;top:-10px}.dash-welcome-box:hover{transform:translateY(-5px)}.dash-welcome-box h2{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px;text-shadow:2px 2px 4px #0003}.dash-motivational-quote{color:#fffffff2;font-size:16px;line-height:1.6;margin:0}.dash-section{margin-bottom:32px}.dash-section-title{color:#fff;font-size:24px;font-weight:700;margin:0 0 16px;text-shadow:1px 1px 2px #0003}.dash-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dash-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;padding:24px;transition:all .3s ease}.dash-card:hover{box-shadow:0 12px 32px #0003;transform:translateY(-5px)}.dash-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.dash-card-icon{color:#0288d1;font-size:28px}.dash-card h4{color:#0277bd;font-size:18px;font-weight:700;margin:0}.dash-card p{color:#546e7a;flex-grow:1;font-size:14px;line-height:1.6;margin:0 0 16px}.dash-card code{background:#e1f5fe;border-radius:4px;color:#0277bd;font-family:Courier New,monospace;font-size:13px;padding:2px 6px}.dash-btn-primary{background:linear-gradient(135deg,#0288d1,#00acc1);border:none;border-radius:12px;box-shadow:0 4px 15px #0288d14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease;width:100%}.dash-btn-primary:hover{box-shadow:0 6px 20px #0288d166;transform:translateY(-2px)}.exam-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.exam-welcome-box{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;padding:32px;transition:transform .3s ease}.exam-welcome-box:hover{transform:translateY(-5px)}.exam-welcome-box h2{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px;text-shadow:2px 2px 4px #0003}.exam-motivational-quote{color:#fffffff2;font-size:16px;line-height:1.6;margin:0}.exam-stats-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.exam-stat-item{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000001a;display:flex;flex:1 1;gap:12px;min-width:150px;padding:16px 24px;transition:all .3s ease}.exam-stat-item:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.exam-stat-icon{font-size:32px}.exam-stat-label{color:#546e7a;font-size:12px;font-weight:600;text-transform:uppercase}.exam-stat-value{color:#0277bd;font-size:24px;font-weight:700}.exam-tabs{backdrop-filter:blur(10px);background:#ffffff26;border-radius:16px;display:flex;gap:12px;margin-bottom:20px;padding:8px}.exam-tab{background:#fff3;border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px 24px;transition:all .3s ease}.exam-tab:hover{background:#ffffff4d;transform:translateY(-2px)}.exam-tab.active{background:linear-gradient(135deg,#00bcd4,#26c6da);box-shadow:0 5px 15px #00bcd466}.exam-layout{display:flex;gap:20px}.exam-content{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;flex:1 1;padding:24px;transition:all .3s ease}.exam-content:hover{box-shadow:0 12px 32px #0003;transform:translateY(-3px)}.exam-content h3{color:#0277bd;font-size:22px;font-weight:700;margin:0 0 16px}.exam-textarea{background:#e1f5fe;border:3px solid #b3e5fc;border-radius:12px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.exam-textarea:focus{background:#fff;border-color:#0288d1;box-shadow:0 0 0 4px #0288d11a;outline:none}.exam-btn-primary{background:linear-gradient(135deg,#0288d1,#00acc1);border:none;border-radius:12px;box-shadow:0 4px 15px #0288d166;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:12px 28px;transition:all .3s ease}.exam-btn-primary:hover{box-shadow:0 6px 20px #0288d180;transform:translateY(-2px)}.exam-btn-primary:disabled{background:#b0bec5;box-shadow:none;cursor:not-allowed}.exam-result-box{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-left:5px solid #0288d1;border-radius:12px;padding:20px;position:relative}.exam-result-box strong{color:#01579b;display:block;font-size:16px;margin-bottom:8px}.exam-result-box pre{color:#0277bd;line-height:1.6;margin:0;white-space:pre-wrap}.exam-quiz-list{counter-reset:exam-counter;list-style:none;padding:0}.exam-quiz-item{background:#e1f5fe;border-radius:10px;counter-increment:exam-counter;cursor:pointer;margin-bottom:12px;padding:16px 16px 16px 60px;position:relative;transition:all .3s ease}.exam-quiz-item:hover{background:#b3e5fc;transform:translateX(5px)}.exam-quiz-item:before{border-radius:50%;color:#fff;content:counter(exam-counter);font-size:14px;font-weight:700;height:32px;left:16px;position:absolute;top:50%;transform:translateY(-50%);width:32px}.exam-flashcard,.exam-quiz-item:before{align-items:center;background:linear-gradient(135deg,#0288d1,#00acc1);display:flex;justify-content:center}.exam-flashcard{border-radius:16px;box-shadow:0 10px 30px #0288d14d;cursor:pointer;flex-direction:column;min-height:200px;padding:32px;text-align:center;transition:all .3s ease}.exam-flashcard:hover{box-shadow:0 15px 40px #0288d166;transform:scale(1.02)}.exam-flashcard h4,.exam-flashcard p{color:#fff;position:relative;z-index:1}.exam-card-pill{background:#b3e5fc;border:none;border-radius:20px;color:#01579b;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .3s ease}.exam-card-pill:hover{background:#81d4fa;transform:translateY(-2px)}.exam-card-pill.active,.exam-progress-badge{background:linear-gradient(135deg,#00bcd4,#26c6da);color:#fff}.exam-progress-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 16px}.career-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.career-welcome-box{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;padding:32px;transition:transform .3s ease}.career-welcome-box h2{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px}.career-motivational-quote{color:#fffffff2;font-size:16px;line-height:1.6;margin:0}.career-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:32px;transition:all .3s ease}.career-card:hover{box-shadow:0 12px 32px #0003;transform:translateY(-3px)}.career-card h3{color:#0277bd;font-size:24px;margin:0 0 16px}.career-card h4{color:#0277bd;font-size:20px;margin:0}.career-emoji{display:block;font-size:48px;margin-bottom:12px}.career-choice-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:16px 0}.career-choice-row-wrap{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.career-choice{background:#e1f5fe;border:3px solid #0000;border-radius:12px;cursor:pointer;padding:20px;text-align:center;transition:all .3s ease}.career-choice:hover{background:#b3e5fc;border-color:#0288d1;transform:translateY(-3px)}.career-choice-selected{background:linear-gradient(135deg,#00bcd4,#26c6da);border-color:#26c6da;color:#fff}.career-choice-emoji{display:block;font-size:32px;margin-bottom:8px}.career-choice-label{font-size:14px;font-weight:600}.career-progress-bar{background:#ffffff4d;border-radius:10px;height:8px;margin-bottom:12px;overflow:hidden}.career-progress-fill{background:linear-gradient(90deg,#00bcd4,#26c6da);height:100%;transition:width .5s ease}.career-progress-label{color:#0277bd;font-size:13px;font-weight:600;margin-bottom:16px}.career-results-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.career-tagline{color:#546e7a;font-size:13px;font-weight:600;margin:8px 0}.career-btn-secondary{background:#fff;border:2px solid #0277bd;border-radius:12px;color:#0277bd;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.career-btn-secondary:hover{background:#e1f5fe;transform:translateY(-2px)}.quiz-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.quiz-welcome-box{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;padding:32px}.quiz-welcome-box h2{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px}.quiz-motivational-quote{color:#fffffff2;font-size:16px;line-height:1.6;margin:0}.quiz-layout{display:flex;gap:20px}.quiz-sidebar{flex-shrink:0;width:350px}.quiz-content{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;flex:1 1;padding:24px}.quiz-list{display:flex;flex-direction:column;gap:12px}.quiz-card{background:#fff;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;transition:all .3s ease}.quiz-card:hover{background:#e1f5fe;border-color:#0288d1;transform:translateX(5px)}.quiz-card.active{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-color:#0288d1}.quiz-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.quiz-card-title{color:#0277bd;font-size:15px;font-weight:700}.quiz-badge{background:#00bcd4;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 12px}.quiz-question-card{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.quiz-question-text{color:#263238;font-size:16px;font-weight:600;margin-bottom:16px}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-option-btn{background:#fff;border:2px solid #b3e5fc;border-radius:10px;color:#263238;cursor:pointer;font-size:14px;padding:14px 18px;text-align:left;transition:all .3s ease}.quiz-option-btn:hover{background:#e1f5fe;border-color:#0288d1;transform:translateX(5px)}.quiz-option-btn.selected{background:#b3e5fc;border-color:#0288d1}.quiz-option-btn.correct{background:#c8e6c9;border-color:#43a047}.quiz-option-btn.wrong{background:#ffccbc;border-color:#f4511e}.quiz-explanation{background:#e1f5fe;border-radius:10px;color:#01579b;font-size:14px;margin-top:12px;padding:16px}.quiz-practice-card{background:#fff;border-radius:12px;margin-top:16px;padding:20px}.quiz-practice-card h4{color:#0277bd;margin:0 0 12px}.quiz-field-label{color:#546e7a;display:block;font-size:13px;font-weight:600;margin-bottom:6px;margin-top:12px}.quiz-input,.quiz-select{border:2px solid #b3e5fc;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .3s ease;width:100%}.quiz-input:focus,.quiz-select:focus{border-color:#0288d1;box-shadow:0 0 0 3px #0288d11a;outline:none}.lesson-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.lesson-welcome-box{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;padding:32px}.lesson-welcome-box h2{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px}.lesson-motivational-quote{color:#fffffff2;font-size:16px;line-height:1.6;margin:0}.lesson-layout{display:flex;gap:20px}.lesson-sidebar{flex-shrink:0;width:350px}.lesson-content{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;flex:1 1;padding:24px}.lesson-tabs{display:flex;gap:8px;margin-bottom:16px}.lesson-tab{background:#fff;border:none;border-radius:10px;color:#0277bd;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .3s ease}.lesson-tab:hover{background:#e1f5fe;transform:translateY(-2px)}.lesson-tab.active{background:linear-gradient(135deg,#0288d1,#00acc1);color:#fff}.lesson-grades{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.lesson-grade-pill{background:#fff;border:none;border-radius:20px;color:#0277bd;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.lesson-grade-pill:hover{background:#e1f5fe;transform:translateY(-2px)}.lesson-grade-pill.active{background:linear-gradient(135deg,#00bcd4,#26c6da);color:#fff}.lesson-list{display:flex;flex-direction:column;gap:10px}.lesson-card{background:#fff;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;transition:all .3s ease}.lesson-card:hover{background:#e1f5fe;border-color:#0288d1;transform:translateX(5px)}.lesson-card.active{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-color:#0288d1}.lesson-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.lesson-card-title{color:#0277bd;font-size:15px;font-weight:700}.lesson-sticker{background:#00bcd4;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px}.lesson-card-topic{color:#546e7a;font-size:12px;font-weight:600;margin-bottom:4px}.lesson-card-objective{color:#78909c;font-size:13px;line-height:1.4}.lesson-block-nav{display:flex;gap:8px;margin-bottom:16px}.lesson-block-dot{align-items:center;background:#fff;border:2px solid #b3e5fc;border-radius:50%;color:#0277bd;cursor:pointer;display:flex;font-weight:600;height:36px;justify-content:center;transition:all .3s ease;width:36px}.lesson-block-dot:hover{background:#e1f5fe;border-color:#0288d1}.lesson-block-dot.active{background:linear-gradient(135deg,#0288d1,#00acc1);border-color:#0288d1;color:#fff}.lesson-simpler-box{background:#e1f5fe;border-left:4px solid #0288d1;border-radius:8px;margin-top:16px;padding:16px}.lesson-simpler-box strong{color:#01579b;display:block;margin-bottom:8px}.lesson-examples h4,.lesson-practice h4{color:#0277bd;font-size:18px;margin:24px 0 12px}.lesson-examples ul{list-style:none;padding:0}.lesson-examples li{background:#f8f9fa;border-left:3px solid #00bcd4;border-radius:8px;margin-bottom:8px;padding:12px 16px}.code-playground-page{background:linear-gradient(135deg,#1e88e5,#00acc1);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.code-playground-header{background:linear-gradient(135deg,#0288d1,#0097a7);border-radius:20px;box-shadow:0 10px 30px #0000004d;margin-bottom:24px;padding:32px}.code-playground-header h1{color:#fff;font-size:32px;font-weight:700;margin:0 0 12px}.code-playground-header p{color:#fffffff2;font-size:16px;margin:0}.code-playground-layout{display:flex;gap:20px}.code-playground-left{flex-shrink:0;width:400px}.code-playground-right{flex:1 1}.code-playground-card{background:#fff;border-radius:16px;box-shadow:0 8px 24px #00000026;padding:24px}.code-grade-toggle{display:flex;gap:8px;margin-bottom:16px}.code-grade-pill{background:#e1f5fe;border:none;border-radius:10px;color:#0277bd;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:all .3s ease}.code-grade-pill:hover{background:#b3e5fc;transform:translateY(-2px)}.code-grade-pill.active{background:linear-gradient(135deg,#0288d1,#00acc1);color:#fff}.code-sticker-bar{background:#f8f9fa;border-radius:10px;display:flex;gap:8px;margin:16px 0;padding:12px}.code-sticker{align-items:center;background:#e0e0e0;border-radius:50%;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.code-sticker.earned{background:linear-gradient(135deg,#00bcd4,#26c6da);box-shadow:0 4px 12px #00bcd466;transform:scale(1.1)}.code-sticker-emoji{font-size:24px}.code-snippet-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.code-snippet-card{background:#f8f9fa;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:16px;transition:all .3s ease}.code-snippet-card:hover{background:#e1f5fe;border-color:#0288d1;transform:translateX(5px)}.code-snippet-card.active{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-color:#0288d1}.code-snippet-title{color:#0277bd;display:block;font-size:15px;font-weight:700}.code-snippet-subtitle{color:#546e7a;display:block;font-size:12px;margin-top:4px}.code-skill-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.code-skill-chip{background:#fff;border-radius:12px;color:#0277bd;font-size:11px;font-weight:600;padding:4px 10px}.code-card-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.code-badge{background:#00bcd4;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 12px}.code-button-row{display:flex;gap:12px;margin:16px 0}.code-secondary-btn{background:#fff;border:2px solid #0277bd;border-radius:12px;color:#0277bd;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.code-secondary-btn:hover{background:#e1f5fe;transform:translateY(-2px)}.code-secondary-btn:disabled{cursor:not-allowed;opacity:.5}.code-explain-box{background:#f8f9fa;border-radius:10px;color:#263238;line-height:1.6;min-height:100px;padding:20px}.code-error-box{background:#ffebee;border-left:4px solid #f44336;border-radius:8px;color:#c62828;font-family:Courier New,monospace;font-size:13px;margin:16px 0;padding:16px;white-space:pre-wrap}.code-toast{animation:slideUp .3s ease;border-radius:12px;bottom:24px;box-shadow:0 8px 24px #0003;padding:16px 24px;position:fixed;right:24px;z-index:1000}.code-toast-success{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.code-toast-error{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.btn-primary-small{background:linear-gradient(135deg,#0288d1,#00acc1);border:none;border-radius:12px;box-shadow:0 4px 15px #0288d14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary-small:hover{box-shadow:0 6px 20px #0288d166;transform:translateY(-2px)}.btn-primary-small:disabled{background:#b0bec5;box-shadow:none;cursor:not-allowed}.btn-secondary-small{background:#fff;border:2px solid #0277bd;border-radius:12px;color:#0277bd;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary-small:hover{background:#e1f5fe;transform:translateY(-2px)}.section-title{color:#fff;font-size:22px;font-weight:700;margin:0 0 16px;text-shadow:1px 1px 2px #0003}.muted{color:#78909c;font-size:13px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.code-playground-layout,.lesson-layout,.quiz-layout{flex-direction:column}.code-playground-left,.lesson-sidebar,.quiz-sidebar{width:100%}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.career-page,.code-playground-page,.dash-page,.exam-page,.lesson-page,.quiz-page{padding:16px}.career-welcome-box,.code-playground-header,.dash-welcome-box,.exam-welcome-box,.lesson-welcome-box,.quiz-welcome-box{padding:24px}.career-welcome-box h2,.code-playground-header h1,.dash-welcome-box h2,.exam-welcome-box h2,.lesson-welcome-box h2,.quiz-welcome-box h2{font-size:24px}.exam-tabs,.lesson-tabs{flex-direction:column;gap:8px}.exam-layout{flex-direction:column}.exam-content{width:100%!important}.career-choice-row{grid-template-columns:1fr}.exam-stats-bar{flex-direction:column}}@media (max-width:480px){.dash-grid{grid-template-columns:1fr}.code-grade-toggle{flex-direction:column}}.teacher-page{background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;max-width:100%;min-height:100vh;padding:0}.teacher-top-bar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a;padding:32px 48px}.teacher-top-left h2{font-size:28px;font-weight:700;margin:0 0 8px}.teacher-top-left p{font-size:15px;margin:0}.teacher-top-right{display:flex;gap:12px}.teacher-quick-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.teacher-quick-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.teacher-quick-icon{font-size:18px}.teacher-stats-container{background:#f8fafc;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);padding:32px 48px}.teacher-stat-box{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;gap:20px;padding:24px;transition:all .3s ease}.teacher-stat-box:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-4px)}.teacher-stat-icon-wrap{align-items:center;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.teacher-stat-info{flex:1 1}.teacher-stat-value{color:#0f172a;font-size:32px;font-weight:700;line-height:1;margin-bottom:6px}.teacher-stat-label{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.teacher-main-layout{display:grid;gap:32px;grid-template-columns:1fr 380px;margin:0 auto;max-width:1800px;padding:32px 48px 48px}.teacher-main-column{min-width:0}.teacher-sidebar-column{display:flex;flex-direction:column;gap:24px}.teacher-section-header{margin-bottom:24px}.teacher-section-header h3{color:#0f172a;font-size:22px;font-weight:700;margin:0 0 8px}.teacher-section-header p{color:#64748b;font-size:15px;margin:0}.teacher-action-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.teacher-action-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:20px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.teacher-action-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.teacher-action-card:hover:before{transform:scaleX(1)}.teacher-action-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.teacher-action-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.teacher-action-content{flex:1 1;position:relative}.teacher-action-content h4{color:#0f172a;font-size:18px;font-weight:700;margin:0 0 8px}.teacher-action-content p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.teacher-action-arrow{color:#cbd5e1;font-size:24px;position:absolute;right:0;top:0;transition:all .3s ease}.teacher-action-card:hover .teacher-action-arrow{color:#3b82f6;transform:translateX(4px)}.teacher-insight-card{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;box-shadow:0 4px 16px #3b82f64d;cursor:pointer;display:flex;gap:24px;justify-content:space-between;padding:32px;transition:all .3s ease}.teacher-insight-card:hover{box-shadow:0 8px 24px #3b82f666;transform:translateY(-4px)}.teacher-insight-left{align-items:center;display:flex;flex:1 1;gap:20px}.teacher-insight-icon{align-items:center;background:#fff3;border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.teacher-insight-left h4{color:#fff;font-size:20px;font-weight:700;margin:0 0 8px}.teacher-insight-left p{color:#ffffffe6;font-size:14px;line-height:1.5;margin:0}.teacher-insight-btn{background:#fff;border:none;border-radius:8px;color:#3b82f6;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.teacher-insight-btn:hover{box-shadow:0 4px 12px #0000001a;transform:scale(1.05)}.teacher-info-card,.teacher-quick-card,.teacher-tips-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:24px}.teacher-info-card h4,.teacher-quick-card h4,.teacher-tips-card h4{color:#0f172a;font-size:16px;font-weight:700;margin:0 0 16px}.teacher-quick-list{display:flex;flex-direction:column;gap:8px}.teacher-quick-item{align-items:center;background:#f8fafc;border:none;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px;text-align:left;transition:all .2s ease}.teacher-quick-item:hover{background:#f1f5f9;transform:translateX(4px)}.teacher-quick-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.teacher-activity-list{display:flex;flex-direction:column;gap:16px}.teacher-activity-item{align-items:flex-start;display:flex;gap:12px}.teacher-activity-dot{background:#3b82f6;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.teacher-activity-text{color:#0f172a;font-size:14px;font-weight:500;margin:0 0 4px}.teacher-activity-time{color:#94a3b8;font-size:12px;margin:0}.teacher-tips-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24}.teacher-tips-icon{font-size:32px;margin-bottom:12px}.teacher-tips-card h4{color:#92400e}.teacher-tips-card p{color:#78350f;font-size:14px;line-height:1.6;margin:0}@media (max-width:1400px){.teacher-main-layout{grid-template-columns:1fr 320px}}@media (max-width:1200px){.teacher-stats-container{grid-template-columns:repeat(2,1fr)}.teacher-main-layout{grid-template-columns:1fr}}@media (max-width:768px){.teacher-top-bar{align-items:flex-start;flex-direction:column;gap:16px;padding:24px}.teacher-stats-container{grid-template-columns:1fr;padding:24px}.teacher-main-layout{padding:24px}.teacher-action-grid{grid-template-columns:1fr}.teacher-insight-card{align-items:flex-start;flex-direction:column}}:root{--tr-bg:#fff;--tr-surface:#fff;--tr-surface-2:#f8fafc;--tr-surface-3:#f1f5f9;--tr-text:#0f172a;--tr-text-2:#334155;--tr-muted:#64748b;--tr-border:#e2e8f0;--tr-border-2:#cbd5e1;--tr-primary:#2563eb;--tr-primary-2:#1d4ed8;--tr-focus:#2563eb40;--tr-danger-bg:#fee2e2;--tr-danger-fg:#991b1b;--tr-warning-bg:#ffedd5;--tr-warning-fg:#9a3412;--tr-radius:14px;--tr-radius-sm:10px;--tr-shadow-sm:0 1px 2px #0206170f;--tr-shadow-md:0 10px 25px #02061714;--tr-gap:20px}.teacher-review-layout{gap:var(--tr-gap);grid-template-columns:300px 340px 1fr}.teacher-review-content,.teacher-review-middle,.teacher-review-sidebar{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:var(--tr-radius);box-shadow:var(--tr-shadow-sm);min-width:0;padding:18px}.teacher-card-title{color:var(--tr-text);font-size:18px;font-weight:750;letter-spacing:-.01em;margin:0 0 6px}.teacher-card-subtitle{color:var(--tr-muted);line-height:1.4;margin:0 0 16px}.teacher-list{display:flex;flex-direction:column;gap:10px}.teacher-list-item{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:var(--tr-radius-sm);box-shadow:0 0 0 #02061700;cursor:pointer;padding:12px;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.teacher-list-item:hover{background:linear-gradient(180deg,var(--tr-surface),var(--tr-surface-2));border-color:var(--tr-border-2);box-shadow:var(--tr-shadow-sm);transform:translateY(-1px)}.teacher-list-item:active{transform:translateY(0)}.teacher-list-item.active{background:linear-gradient(180deg,#eff6ff,#fff);border-color:#2563eb8c;box-shadow:0 0 0 4px var(--tr-focus)}.teacher-list-item:focus-visible{border-color:#2563eba6;box-shadow:0 0 0 4px var(--tr-focus);outline:none}.teacher-list-item-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.teacher-list-item-title{color:var(--tr-text);font-size:14px;font-weight:650;line-height:1.25}.teacher-list-item-meta{color:var(--tr-muted);font-size:12px;line-height:1.35;margin-top:4px}.teacher-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.01em;padding:4px 10px;white-space:nowrap}.teacher-badge-danger{background:var(--tr-danger-bg);border-color:#991b1b2e;color:var(--tr-danger-fg)}.teacher-badge-warning{background:var(--tr-warning-bg);border-color:#9a34122e;color:var(--tr-warning-fg)}.teacher-empty-state,.teacher-loading{background:var(--tr-surface-2);border:1px dashed var(--tr-border);border-radius:var(--tr-radius-sm);color:var(--tr-muted);font-size:13px;padding:14px;text-align:center}.teacher-error-box{background:var(--tr-danger-bg);border:1px solid #991b1b2e;border-radius:var(--tr-radius);box-shadow:var(--tr-shadow-sm);color:var(--tr-danger-fg);margin-bottom:16px;padding:14px}.teacher-refresh-btn{align-items:center;background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:12px;box-shadow:var(--tr-shadow-sm);color:var(--tr-text-2);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;padding:10px 14px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.teacher-refresh-btn:hover{background:var(--tr-surface-2);border-color:var(--tr-border-2);box-shadow:var(--tr-shadow-md);transform:translateY(-1px)}.teacher-refresh-btn:active{transform:translateY(0)}.teacher-refresh-btn:focus-visible{border-color:#2563eba6;box-shadow:0 0 0 4px var(--tr-focus);outline:none}.teacher-refresh-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.teacher-metrics-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.teacher-metric-card{background:linear-gradient(180deg,var(--tr-surface),var(--tr-surface-2));border:1px solid var(--tr-border);border-radius:var(--tr-radius);box-shadow:var(--tr-shadow-sm);padding:14px}.teacher-metric-label{color:var(--tr-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.teacher-metric-value{color:var(--tr-text);font-size:24px;font-weight:800;letter-spacing:-.02em}.teacher-work-section{border-top:1px solid var(--tr-border);margin-top:18px;padding-top:14px}.teacher-work-section-title{color:var(--tr-text);font-size:14px;font-weight:800;letter-spacing:-.01em;margin:0 0 12px}.teacher-work-list{display:flex;flex-direction:column;gap:10px}.teacher-work-item{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:var(--tr-radius);box-shadow:var(--tr-shadow-sm);padding:12px}.teacher-work-item-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.teacher-work-item-title{color:var(--tr-text);font-size:13px;font-weight:700;line-height:1.25}.teacher-work-item-meta{color:var(--tr-muted);font-size:12px}.teacher-score-badge{background:linear-gradient(180deg,var(--tr-primary),var(--tr-primary-2));border-radius:999px;box-shadow:0 6px 14px #2563eb2e;color:#fff;font-size:12px;font-weight:800;letter-spacing:.01em;padding:5px 10px}@media (max-width:900px){.teacher-review-layout{gap:12px!important;grid-template-columns:1fr!important}.teacher-review-content,.teacher-review-middle,.teacher-review-sidebar{border-radius:12px!important;padding:12px!important}.teacher-card-title{font-size:16px!important}.teacher-card-subtitle{font-size:12px!important;margin-bottom:12px!important}.teacher-list{-webkit-overflow-scrolling:touch;flex-direction:row!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:6px!important;scroll-snap-type:x mandatory}.teacher-list-item{flex:0 0 auto;min-width:220px;padding:12px!important;scroll-snap-align:start}.teacher-badge{font-size:10px!important;padding:4px 8px!important}.teacher-metrics-grid{gap:10px!important;grid-template-columns:1fr!important;margin-bottom:12px!important}.teacher-metric-value{font-size:22px!important}.teacher-work-item{padding:12px!important}.teacher-work-item-header{align-items:flex-start!important}.teacher-score-badge{font-size:11px!important;padding:4px 10px!important}}@media (max-width:420px){.teacher-review-content,.teacher-review-middle,.teacher-review-sidebar{padding:10px!important}.teacher-list-item{min-width:200px}}.teacher-quiz-layout{display:grid;gap:24px;grid-template-columns:380px 1fr}.teacher-quiz-sidebar{display:flex;flex-direction:column}.teacher-quiz-content{min-width:0}.teacher-form-label{color:#475569;display:block;font-size:14px;font-weight:600;margin-bottom:6px;margin-top:16px}.teacher-form-label:first-of-type{margin-top:0}.teacher-form-input,.teacher-form-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.teacher-form-input:focus,.teacher-form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.teacher-quiz-meta{background:#f8fafc;border-radius:6px;color:#64748b;font-size:13px;margin:16px 0;padding:12px}.teacher-btn-secondary{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#3b82f6;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.teacher-btn-secondary:hover{background:#f8fafc;border-color:#3b82f6}.teacher-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.teacher-success-box{background:#d1fae5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:24px;padding:16px}.teacher-success-title{color:#065f46;font-size:14px;font-weight:600}.teacher-success-meta{color:#047857;font-size:12px;margin-top:6px}.teacher-selected-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.teacher-selected-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.teacher-selected-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.teacher-selected-number{background:#3b82f6;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px}.teacher-selected-id{color:#64748b;font-size:11px}.teacher-selected-text{color:#0f172a;font-size:14px;font-weight:500;margin-bottom:10px}.teacher-btn-remove{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;width:100%}.teacher-btn-remove:hover{background:#fee2e2;border-color:#fecaca;color:#991b1b}.teacher-question-bank{display:flex;flex-direction:column;gap:10px;margin-top:16px}.teacher-question-item{background:#f8fafc;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:14px;text-align:left;transition:all .2s ease}.teacher-question-item:hover{background:#f1f5f9;border-color:#cbd5e1}.teacher-question-item.selected{background:#eff6ff;border-color:#3b82f6}.teacher-question-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.teacher-question-text{color:#0f172a;flex:1 1;font-size:14px;font-weight:600}.teacher-question-badge{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:4px;padding:4px 12px}.teacher-question-badge.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.teacher-question-meta{color:#64748b;font-size:12px}@media (max-width:1200px){.teacher-quiz-layout{grid-template-columns:1fr}}.teacher-page{padding:18px}.teacher-top-bar{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.teacher-top-left h2{color:#0f172a;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0}.teacher-top-left p{color:#64748b;font-size:13px;margin:6px 0 0}.teacher-content-wrapper{max-width:1400px}.teacher-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 2px #0206170f;padding:16px}.teacher-card-title{color:#0f172a;font-size:15px;font-weight:800;margin:0 0 8px}.teacher-card-subtitle{color:#64748b;font-size:13px;margin:0 0 14px}.teacher-error-box{background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;font-weight:700}.teacher-error-box,.teacher-success-box{font-size:13px;margin-bottom:14px;padding:12px 14px}.teacher-success-box{background:#dcfce7;border:1px solid #bbf7d0;border-radius:12px;color:#166534;font-weight:800}.teacher-empty-state,.teacher-loading{color:#64748b;font-size:13px;padding:14px}.teacher-empty-state{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;text-align:center}.teacher-field{margin-top:14px}.teacher-label{color:#475569;display:block;font-size:13px;font-weight:700;margin-bottom:6px}.teacher-input,.teacher-select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;padding:10px 12px;width:100%}.teacher-input:focus,.teacher-select:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f62e}.teacher-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;font-size:12px;margin-top:12px;padding:10px 12px}.teacher-btn{background:linear-gradient(180deg,#2563eb,#1d4ed8);border:1px solid #1d4ed8;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:800;margin-top:14px;padding:12px 14px;transition:transform .12s ease,box-shadow .12s ease}.teacher-btn:hover{box-shadow:0 12px 22px #2563eb33;transform:translateY(-1px)}.teacher-btn:active{transform:translateY(0)}.teacher-bank-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.teacher-bank-item{background:#f8fafc;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:14px;text-align:left;transition:background .16s ease,border-color .16s ease,transform .12s ease}.teacher-bank-item:hover{background:#f1f5f9;transform:translateY(-1px)}.teacher-bank-item.active{background:#eff6ff;border-color:#3b82f6}.teacher-bank-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.teacher-bank-title{color:#0f172a;font-size:14px;font-weight:800;line-height:1.25}.teacher-bank-meta{color:#64748b;font-size:12px}.teacher-pill{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;display:inline-flex;font-size:11px;font-weight:800;gap:6px;padding:5px 10px;white-space:nowrap}.teacher-pill.on{background:#3b82f6;border-color:#3b82f6;color:#fff}.teacher-settings-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.teacher-settings-section-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;margin-bottom:24px;padding-bottom:16px}.teacher-settings-section-header h4{color:#0f172a;font-size:18px;font-weight:700;margin:0}.teacher-settings-field{margin-bottom:20px}.teacher-settings-field:last-child{margin-bottom:0}.teacher-settings-field label{color:#475569;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.teacher-settings-input{border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.teacher-settings-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.teacher-settings-toggle{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 0}.teacher-settings-toggle:last-child{border-bottom:none}.teacher-settings-toggle-label{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:4px}.teacher-settings-toggle-desc{color:#64748b;font-size:12px}.teacher-toggle{display:inline-block;flex-shrink:0;height:24px;position:relative;width:48px}.teacher-toggle input{height:0;opacity:0;width:0}.teacher-toggle-slider{background-color:#cbd5e1;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.teacher-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.teacher-toggle input:checked+.teacher-toggle-slider{background-color:#3b82f6}.teacher-toggle input:checked+.teacher-toggle-slider:before{transform:translateX(24px)}.teacher-settings-info{background:#f8fafc;border-radius:6px;color:#64748b;font-size:13px;margin-bottom:8px;padding:10px}.teacher-settings-divider{background:#e2e8f0;height:1px;margin:24px 0}.teacher-card-danger{background:#fef2f2;border:1px solid #fecaca}.teacher-settings-warning{background:#fee2e2;border-radius:6px;color:#991b1b;font-size:13px;line-height:1.5;padding:12px}.teacher-btn-danger{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.teacher-btn-danger:hover{background:#b91c1c}@media (max-width:1200px){.teacher-settings-grid{grid-template-columns:1fr}}.teacher-review-layout{align-items:start;display:grid;gap:24px;grid-template-columns:380px 1fr}.teacher-review-content{display:flex;flex-direction:column;grid-column:2;min-height:600px}.teacher-picked-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.teacher-picked-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.teacher-picked-top{align-items:center;display:flex;gap:8px;margin-bottom:8px}.teacher-chip{background:#3b82f6;border-radius:8px;color:#fff;font-size:11px;font-weight:800;padding:4px 8px}.teacher-picked-id{color:#64748b;font-size:11px}.teacher-picked-title{color:#0f172a;font-size:14px;font-weight:700;margin-bottom:10px}.teacher-picked-remove{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-size:12px;font-weight:800;padding:8px 10px;width:100%}.teacher-picked-remove:hover{background:#f8fafc}.teacher-assigned-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.teacher-assigned-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.teacher-assigned-title{color:#0f172a;font-size:13px;font-weight:900}.teacher-assigned-meta{color:#64748b;font-size:12px;margin-top:4px}.teacher-assigned-note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;font-size:13px;margin-top:8px;padding:10px}@media (max-width:900px){.teacher-review-layout{gap:12px!important;grid-template-columns:1fr!important}.teacher-review-content{grid-column:auto!important}}.billing-wrapper{background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;font-family:sans-serif;margin:100px auto;max-width:800px;padding:32px}.billing-header{margin-bottom:24px}.billing-title{font-size:24px;margin-bottom:8px}.billing-desc{color:#555;font-size:16px;margin-bottom:16px}.billing-features{margin-bottom:24px}.billing-features li{list-style:disc;margin-left:20px;padding:6px 0}.billing-btn{background-color:#222;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}.progress-page{font-family:Segoe UI,sans-serif;padding:100px 40px 40px}.progress-page h1{font-size:28px;font-weight:600;margin-bottom:28px}.bottom-section,.top-cards{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px}.dashboard-card{border-radius:8px;display:flex;flex-direction:column;min-height:150px;padding:16px;transition:transform .2s ease,box-shadow .2s ease;width:300px}.card-dark{background:#1e293b;box-shadow:0 4px 8px #0000001a;color:#f1f5f9}.card-white{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000a;color:#1e293b}.dashboard-card:hover{box-shadow:0 0 8px #3b82f626;transform:translateY(-3px)}.dashboard-card h3{font-size:16px;margin-bottom:8px}.dashboard-card li,.dashboard-card p{font-size:13px;margin-bottom:6px}.stat-number{font-size:28px;font-weight:700;margin-bottom:4px}.stat-sub{font-size:13px;opacity:.8}.view-link{color:#3b82f6;cursor:pointer;font-size:12px;margin-top:8px;text-decoration:underline}.grades-list{list-style:none;margin:0;padding:0}.circular-chart{height:auto;margin:0 auto;max-width:80px;text-align:center;width:100%}.circular-chart svg{display:block;height:auto;max-width:100%}.circle-bg{fill:none;stroke:#fff;stroke-width:2.5}.circle{fill:none;stroke:#3b82f6;stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray .6s ease}.percentage{fill:#fff;text-anchor:middle;font-size:.5em}.course-progress-bar{margin-bottom:12px}.course-progress-bar span{display:block;font-size:13px;margin-bottom:4px}.bar{background:#e5e7eb;height:8px;overflow:hidden}.bar,.bar-fill{border-radius:6px}.bar-fill{transition:width .4s ease}.progress-list{list-style:none;margin:0;padding-left:0}.progress-label{font-size:13px;font-weight:500;margin-bottom:4px}.bar-wrapper{background:#eee;border-radius:6px;height:6px;margin-bottom:10px;overflow:hidden}.bar-fill{background:#3b82f6;height:100%;transition:width .3s ease}body.page-ProgressPage,body.page-ProgressPage html{height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-ProgressPage #root,body.page-ProgressPage .progress-page{height:auto!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-ProgressPage .progress-page{margin-top:-20px!important;padding-bottom:100px!important;padding-top:20px!important}@media (max-width:600px){body.page-ProgressPage .progress-page{margin-top:-60px!important;padding:20px 12px 100px!important}}.modal-overlay{background:#0000004d;height:100vh;width:100vw;z-index:999}.modal-box{background:#fff;border-radius:12px;box-shadow:0 12px 24px #0000001a;max-height:90vh;overflow-y:auto;padding:24px 28px}.modal-box.large{width:600px}.modal-header{align-items:center;display:flex;justify-content:space-between}.grades-table{border-collapse:collapse;width:100%}.grades-table td,.grades-table th{border:1px solid #ddd;font-size:14px;padding:10px 14px;text-align:left}.grades-table th{background:#f9f9f9}.white-card{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000000f;padding:16px}.view-all-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:13px;margin-top:8px;padding:0}.projects-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:24px}.projects-controls{align-items:center;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;margin-bottom:16px;padding:6px 10px}.control-group{align-items:center;display:flex;flex-direction:row;font-size:13px;gap:6px}.dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:13px;padding:6px 10px;transition:border-color .2s ease}.dropdown:hover{border-color:#aaa}.icon-btn{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 8px;transition:background .2s ease,transform .1s ease}.icon-btn:hover{background:#e9ecef;transform:scale(1.05)}.project-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);max-height:calc(100vh - 200px);overflow-y:auto;padding-bottom:20px}.project-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 20px #0000000d;padding:20px}.project-course{color:#555;font-size:14px;margin-bottom:6px}.status-badge{border-radius:8px;display:inline-block;font-size:12px;font-weight:600;margin-bottom:10px;padding:4px 12px}.completed{background:#e0f7ea;color:#2e7d32}.in-progress{background:#e0f3fc;color:#0277bd}.project-tags{margin:12px 0}.tag{background:#f0f0f0;border-radius:6px;color:#333;display:inline-block;font-size:12px;margin-right:8px;padding:5px 10px}.project-actions{display:flex;gap:10px;margin-top:10px}.project-btn{background-color:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px;transition:background-color .2s ease}.project-btn:hover{background-color:#444}.github-outline-btn{align-items:center;background:#0000;border:1.5px solid #ccc;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 14px;transition:background .2s ease}.github-outline-btn:hover{background:#f0f0f0}.react-select-container{font-size:13px}.react-select__control{border:1px solid #ddd!important;border-radius:6px!important;min-height:32px!important}.react-select__value-container{padding:2px 8px!important}.react-select__indicator-separator{display:none}.react-select__dropdown-indicator{padding:4px!important}.react-select__menu{font-size:13px}.full-page-loader{align-items:center;background:#fffc;bottom:0;display:flex;font-size:1.5rem;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@media (max-width:768px){.projects-header{gap:12px}.projects-controls{flex-wrap:wrap;gap:8px;padding:8px 10px}.control-group{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;min-width:240px}.project-grid{-webkit-overflow-scrolling:touch;gap:16px;grid-template-columns:repeat(2,1fr);max-height:calc(100vh - 240px)}.dropdown,.icon-btn{font-size:13px;padding:6px 10px}.project-actions{flex-wrap:wrap;gap:8px}.github-outline-btn,.project-btn{font-size:13px;padding:8px 12px}}@media (max-width:480px){.projects-header{margin-bottom:16px}.projects-controls,.projects-header{align-items:stretch;flex-direction:column;gap:10px}.projects-controls{border-radius:10px;margin-bottom:12px;padding:10px}.control-group{flex:1 1 100%;justify-content:space-between;min-width:0;width:100%}.dropdown{width:100%}.icon-btn{font-size:14px;padding:10px 12px}.project-grid{gap:14px;grid-template-columns:1fr;max-height:none;overflow-y:visible;padding-bottom:12px}.project-card{border-radius:10px;padding:16px}.project-course{font-size:13px;margin-bottom:4px}.status-badge{border-radius:999px;font-size:11px;padding:4px 10px}.project-tags{margin:10px 0}.tag{font-size:11px;margin:4px 6px 0 0;padding:4px 8px}.project-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:12px}.github-outline-btn,.project-btn{font-size:14px;justify-content:center;padding:10px 14px;width:100%}.full-page-loader{font-size:1.125rem}}@media (max-width:360px){.projects-controls{padding:8px}.icon-btn{font-size:13px;padding:9px 10px}.project-card{padding:14px}}.project-grid{-webkit-overflow-scrolling:touch}.project-grid::-webkit-scrollbar{width:10px}.project-grid::-webkit-scrollbar-thumb{background:#e1e4e8;border-radius:10px}.project-grid::-webkit-scrollbar-track{background:#0000}:root{--header-h-desktop:72px;--header-h-mobile:56px}.projects-page{padding-top:var(--header-h-desktop);position:relative}@media (max-width:480px){.projects-page{padding-top:var(--header-h-mobile)}}.projects-page .project-grid{max-height:unset!important}.projects-page .projects-controls,.projects-page .projects-header{position:relative;z-index:1}:root{--footer-safe:0px}.projects-shell{background:#fff;height:calc(100vh - var(--app-header-h-desktop));margin-top:var(--app-header-h-desktop);overflow:hidden}@media (max-width:480px){.projects-shell{height:calc(100vh - var(--app-header-h-mobile));margin-top:var(--app-header-h-mobile)}}.projects-scroll{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto;padding-bottom:calc(16px + var(--footer-safe) + env(safe-area-inset-bottom, 0px))}.projects-sticky{background:#fff;box-shadow:0 1px 0 #0000000d;padding-bottom:8px;position:sticky;top:0;z-index:5}.projects-page .project-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);max-height:none!important;overflow:visible!important}@media (max-width:900px){.projects-page .project-grid{gap:18px;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.projects-page .project-grid{gap:14px;grid-template-columns:1fr}}.projects-page .project-card{position:relative;z-index:0}.restart-modal-overlay{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.restart-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;padding:24px;text-align:center;width:300px}.modal-buttons{justify-content:space-around;margin-top:20px}.restart-btn{background:#000;border:none;border-radius:6px;color:#fff;padding:8px 16px}.cancel-btn{background:#0000;border:1px solid gray;border-radius:6px;color:#000;cursor:pointer;padding:8px 16px}.career-lab-wrapper{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000000d;font-family:Segoe UI,sans-serif;margin:80px 20px auto;max-width:1000px;padding:12px}.career-lab-tabs{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.career-lab-tab{background:#f0f0f0;border:none;border-radius:20px;color:#333;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s ease}.career-lab-tab:hover{background-color:#ddd}.dropdown-select{border:1px solid #ccc;border-radius:6px;font-size:14px;margin:12px 0;padding:10px;width:100%}.suggested-section h4{margin-top:20px}.suggested-list{list-style:none;margin:10px 0;padding-left:0}.suggested-item{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.start-btn{background:#e0e0e0;color:#222;font-size:14px;padding:5px 12px}.start-btn:hover{background-color:#ccc}.track-courses ol{list-style-position:inside;padding-left:20px}.track-courses ol li{font-size:15px;line-height:1.2;margin-bottom:10px}.get-started-btn{background:#222;border:none;border-radius:6px;cursor:pointer;margin-top:10px;padding:10px 18px}.custom-path-builder{border-top:1px solid #ddd;margin-top:40px;padding-top:20px}.custom-path-builder input{border:1px solid #ccc;border-radius:6px;margin-right:8px;padding:10px;width:60%}.custom-path-builder button{background:#e0e0e0;border:none;border-radius:6px;color:#222;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px}.custom-path-builder button:hover{background-color:#ccc}.instructions-section{background:#f9f9f9;border-left:4px solid #222;margin-bottom:20px;margin-top:16px;padding:16px 20px}.language-section label{display:block;font-weight:500;margin-bottom:6px;margin-top:10px}.custom-list .get-started-btn{background:#000;background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-top:12px;padding:10px 18px}.react-select__control{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:none!important;font-size:14px;min-height:38px}.react-select__control--is-focused{border-color:#aaa!important}.react-select__menu{border:1px solid #ccc;border-radius:6px;box-shadow:none;z-index:100}.react-select__option{cursor:pointer;font-size:14px;padding:8px 12px}.react-select__option--is-focused{background-color:#eaeaea}.react-select__placeholder{color:#888}.custom-path-builder input:focus{border-color:#aaa;box-shadow:none;outline:none}.react-select__option--is-selected{background-color:#fff!important;color:#111!important}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;padding:24px;width:90%}.modal-header{font-size:24px;font-weight:700;text-align:center}.modal-form-group,.modal-header{margin-bottom:16px}.modal-form-group label{color:#333;display:block;font-size:14px;margin-bottom:6px}.modal-form-group input,.modal-form-group select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.modal-buttons{display:flex;justify-content:space-between;margin-top:24px}.modal-buttons button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;padding:10px 16px}.get-started-btn{background-color:#333;color:#fff;margin-right:8px}.cancel-btn{background-color:#e5e7eb;color:#333}.custom-track-title{font-size:20px;margin-bottom:12px;text-align:center}.suggested-section{margin-top:20px}.suggested-tracks{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.track-card{background:var(--card-bg,#f8f9fa);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:16px}.track-title{font-weight:600;margin-bottom:4px}.track-desc{color:#555;font-size:.9rem;margin-bottom:10px}.start-btn{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 12px}.start-btn:hover{background-color:#2563eb}.dataset-instruction-box{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;max-height:180px;overflow:auto;padding:10px 12px}.instructions-text{line-height:1.35;white-space:pre-wrap}@media (max-width:600px){.career-lab-wrapper{-webkit-overflow-scrolling:touch!important;height:auto!important;max-height:none!important;min-height:100vh!important;overflow-y:visible!important}.career-lab-container,.career-lab-content{height:auto!important;max-height:none!important;overflow:visible!important}.career-lab-tabs{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}.career-lab-tab{font-size:14px;padding:8px 16px}.dropdown-select,.get-started-btn,.language-section select,.react-select-container,.start-btn{margin:8px 0!important;max-width:100%!important;width:100%!important}.get-started-btn,.start-btn{font-size:14px!important;padding:10px!important}.language-section{flex-direction:column;gap:8px}.suggested-tracks{gap:12px!important;grid-template-columns:1fr!important}.track-card{padding:12px!important}.dataset-instruction-box{font-size:13px!important;max-height:150px!important;overflow-y:auto!important;padding:8px 10px!important}.track-courses ol li{font-size:14px!important;margin-bottom:6px!important}.dataset-instruction-box::-webkit-scrollbar{width:4px}.dataset-instruction-box::-webkit-scrollbar-thumb{background:#0000004d;border-radius:2px}.career-lab-container::-webkit-scrollbar,.career-lab-content::-webkit-scrollbar,.career-lab-wrapper::-webkit-scrollbar{background:#0000;width:0}}body{background:#f5f5f5;font-family:Menlo,monospace;height:100vh;margin:0;overflow:hidden}.notebook-container{display:flex;flex-direction:column;height:100vh;max-width:100%}.notebook-body{flex:1 1;overflow-y:auto;padding:0 16px}.sticky-toolbar{background:#fff;box-shadow:0 2px 4px #00000014;position:sticky;top:0;z-index:1000}.toolbar{background:#fafafa;border-bottom:1px solid #ccc;padding:10px 16px}.toolbar-row{align-items:center;display:flex;justify-content:space-between}.toolbar-row.top{margin-bottom:6px}.toolbar-row.bottom{flex-wrap:nowrap;gap:12px}.nb-title{font-size:20px;font-weight:700;margin:0}.toolbar-left{flex:1 1;gap:10px}.toolbar-left,.toolbar-right{align-items:center;display:flex}.toolbar-right{flex-shrink:0}.add-cell-btn,.submit-btn,.toolbar-right button{align-items:center;background:#fff;border:1px solid #d9d9d9;cursor:pointer;display:inline-flex;gap:6px;height:32px;line-height:30px;white-space:nowrap}.kernel-select{background:#fff;border:1px solid #d9d9d9;font-weight:600;height:32px}.dataset-pill{align-items:center;background:#f7f7f9;border:1px solid #e5e5e5;border-radius:999px;display:inline-flex;gap:6px;padding:5px 10px}.cell-wrapper{position:relative}.cell-controls{display:inline-flex;gap:6px;position:absolute;right:8px;top:6px;z-index:5}.cell-controls button{background:#0000;border:none;color:#666;cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.cell-controls button:hover{color:#000}.editor-container{align-items:flex-start;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;display:flex;gap:6px;padding:4px 8px 6px}.input-label{color:#888;font-size:13px;padding-top:2px;text-align:right;width:35px}.editor-column{display:flex;flex:1 1;flex-direction:column;position:relative}.code-editor{width:100%}.code-editor .monaco-editor,.code-editor .monaco-editor .overflow-guard{max-height:none!important;min-height:40px!important;overflow:visible!important;width:100%!important}.code-editor .monaco-editor{background:#0000!important;border:none!important;box-shadow:none!important;line-height:18px!important;padding-left:0!important}.code-editor .monaco-editor .view-lines{margin:0!important;padding:0!important}.code-editor .monaco-editor .view-overlays .current-line{background:none!important;border:none!important}.code-editor .monaco-editor .margin-view-overlays,.code-editor .monaco-editor .view-overlays{border:none!important;height:auto!important;margin:0!important;padding:0!important}.monaco-editor .overflow-guard{overflow:visible!important;pointer-events:auto!important}.code-editor .monaco-editor .decorationsOverviewRuler{display:none!important}.output-plain{background:#f9f9f9;border:1px solid #e0e0e0;border-left:3px solid #1976d2;border-radius:4px;color:#222;font-family:monospace;font-size:14px;margin:8px 0 0 42px;min-height:20px;padding:12px 16px;white-space:pre-wrap}.split-editor-container{border:1px solid #ccc;border-radius:6px;display:flex;flex-direction:column;height:500px;overflow:hidden}.split-top{flex-grow:1;min-height:250px;overflow-y:auto;padding-top:28px}.split-drag-handle{background:#f0f0f0;border-bottom:1px solid #ccc;border-top:1px solid #ccc;color:#333;cursor:row-resize;font-size:12px;font-weight:700;height:26px;line-height:26px;text-align:center;-webkit-user-select:none;user-select:none}.split-bottom{background:#fff;border-top:none;font-family:monospace;font-size:14px;height:150px;overflow:auto;padding:10px 14px}.table-preview{margin-top:8px;max-width:100%;overflow:auto}.table-preview table{border-collapse:collapse;font-size:12px}.table-preview td,.table-preview th{border:1px solid #ddd;padding:4px 6px;white-space:nowrap}.table-preview thead{background:#0000000d;position:sticky;top:0}.tooltip-container{display:inline-block;position:relative}.tooltip-container .tooltip{background-color:#333;border-radius:4px;bottom:125%;color:#fff;font-size:11px;left:50%;opacity:0;padding:4px 6px;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s;visibility:hidden;white-space:nowrap;z-index:20}.tooltip-container:hover .tooltip{opacity:1;visibility:visible}body.dark-theme{color:#f0f0f0}body.dark-theme,body.dark-theme .notebook-container{background:#1e1e1e}body.dark-theme .toolbar{background:#2b2b2b;border-color:#444}body.dark-theme .add-cell-btn,body.dark-theme .kernel-select,body.dark-theme .submit-btn,body.dark-theme .toolbar-right button{background:#333;border-color:#666;color:#f0f0f0}body.dark-theme .submit-btn{background:#294b38;border-color:#3b7a53;color:#cfe8d9}body.dark-theme .dataset-pill{background:#2a2a2a;border-color:#444}body.dark-theme .editor-container{background:#2a2a2a;border:1px solid #555}body.dark-theme .input-label{color:#aaa}body.dark-theme .output-plain{background:#292929;border:1px solid #555;border-left:3px solid #888;color:#f8f8f8}body.dark-theme .split-bottom{background:#2a2a2a;color:#eee}body.dark-theme .split-drag-handle{background:#2b2b2b;border-color:#444;color:#ccc}body.dark-theme .table-preview thead{background:#ffffff0f}.sticky-toolbar{box-shadow:0 1px 2px #0000000f}.toolbar{gap:8px;padding:6px 16px}.toolbar h2{font-size:18px;line-height:1;margin:0}.toolbar-left{gap:8px;min-width:0}.toolbar-right{flex-wrap:nowrap;gap:8px}.kernel-select{border-radius:6px;font-size:12px;height:30px;padding:0 8px}.add-cell-btn,.submit-btn,.toolbar-right button{border-radius:6px;font-size:12px;height:30px;line-height:28px;padding:0 10px}.dataset-pill{font-size:12px;padding:3px 8px}.notebook-body{padding-top:6px}.cell-wrapper:first-child{margin-top:6px}.editor-container{padding:4px 8px}.nb-modal-backdrop{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.nb-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;max-height:82vh;overflow:hidden;width:min(760px,92vw)}.nb-modal-header{align-items:start;border-bottom:1px solid #eee;display:flex;gap:8px;justify-content:space-between;padding:16px 18px}.nb-modal-title{font-size:16px;font-weight:700}.nb-modal-subtitle{font-size:13px;margin-top:4px;opacity:.75}.nb-modal-close{background:#0000;border:none;cursor:pointer;font-size:18px}.nb-modal-section{overflow:auto;padding:14px 18px}.nb-section-title{font-weight:600;margin-bottom:8px}.nb-empty{font-style:italic;opacity:.7}.nb-list{margin:0;padding-left:18px}.nb-list li{margin:8px 0}.nb-check-title{font-weight:600}.nb-check-meta{font-size:12px;opacity:.7}.nb-check-feedback{margin-top:2px}.nb-table{border:1px solid #eee;border-radius:8px;overflow:hidden}.nb-tr{border-top:1px solid #eee;display:grid;grid-template-columns:120px 1fr 80px}.nb-tr:first-child{border-top:none}.nb-tr-head{background:#fafafa;font-weight:600}.nb-td{padding:8px 10px}.nb-td.w-28{width:120px}.nb-td.w-20{width:80px}.nb-modal-footer{border-top:1px solid #eee;display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.nb-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-weight:600;padding:8px 12px}.nb-btn.primary{background:#0f9d58;border-color:#0f9d58;color:#fff}@media (max-width:600px){.notebook-container{-webkit-overflow-scrolling:touch!important;left:0!important;overflow-y:auto!important;padding:16px 12px 140px;position:relative!important;top:0!important}.sticky-toolbar{background:#fff;box-shadow:none!important;margin:0 0 12px;padding:8px 0;position:static!important}.nb-title{font-size:18px;margin-top:2px}.code-editor,.monaco-editor,.overflow-guard,.view-lines{-webkit-overflow-scrolling:touch!important;border-radius:6px!important;font-size:13px!important;line-height:1.4!important;margin:12px 0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:10px!important;white-space:pre-wrap!important;word-break:break-all!important}.editor-container,.split-editor-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box;margin:0 0 20px;max-width:100%!important;overflow:visible!important;width:100%!important}.split-bottom,.split-top{height:auto!important;max-height:40vh!important;min-height:80px!important}.toolbar-row.bottom{flex-direction:column;gap:10px;margin-top:20px}.toolbar-right button{font-size:14px;padding:10px;width:100%}#chat-assistant-box,.assistant-float,.fta-root{bottom:12px!important;position:fixed!important;right:12px!important;z-index:1300!important}.notebook-info p{margin:0 0 8px}::-webkit-scrollbar{background:#0000;width:0}.toolbar-right{align-items:stretch!important;flex-direction:column!important;width:100%!important}.toolbar-right .grade-banner{border-radius:8px!important;box-sizing:border-box!important;flex-wrap:wrap!important;font-size:11px!important;gap:4px!important;justify-content:center;padding:4px 8px!important;text-align:center;white-space:normal!important;width:100%!important}.toolbar-right .grade-banner button{border-radius:4px!important;font-size:11px!important;margin-top:4px!important;padding:2px 6px!important}.toolbar-right .grade-banner span,.toolbar-right .grade-banner strong{font-size:11px!important}.cell-wrapper,.editor-container,.monaco-editor{pointer-events:auto!important;touch-action:auto!important}.output-plain{box-sizing:border-box;display:block!important;min-height:40px!important;padding-left:42px;position:relative!important;z-index:1!important}.output-image,.output-plain{margin-left:0!important;overflow-x:auto!important;width:100%!important}.output-image img{max-width:100%!important}.table-preview{margin-left:0!important}.cell-wrapper{margin-bottom:20px!important;overflow:visible!important}}.track-progress{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;font-family:Segoe UI,sans-serif;margin:40px auto;max-width:800px;padding:24px}.progress-bar-container{background-color:#eee;border-radius:8px;height:8px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#1d4ed8;height:100%;transition:width .4s ease-in-out}.button-group button{border:1px solid #ccc;border-radius:8px;font-size:14px;padding:10px 18px;transition:background-color .3s}.button-group button:hover:not(:disabled){background-color:#f0f0f0}.button-group button:disabled{background-color:#9ca3af;cursor:not-allowed}.custom-tools{color:#4b5563;font-style:italic;margin-bottom:16px}.error-modal{background-color:#fee2e2;border-radius:8px;color:#b91c1c;font-weight:500;padding:16px;text-align:center}.code-block{background-color:#f5f5f5;border-radius:5px;font-family:monospace;margin-bottom:1em;padding:10px;white-space:pre-wrap}.quiz-section ul{padding-left:1.5em}.quiz-section ul ul{list-style-type:circle;margin-bottom:1em;margin-top:.3em}.quiz-section li{margin-bottom:.5em}.track-progress-container{-ms-overflow-style:none;font-family:Segoe UI,sans-serif;margin:0 auto;max-height:85vh;max-width:1200px;overflow-y:auto;padding:80px 8px 24px 24px;scrollbar-width:none}.track-header{margin-bottom:20px}.track-header h3{color:#555;font-size:16px;margin-bottom:4px}.track-label{color:#888;font-size:14px;font-weight:400;margin-left:10px}.track-header h1{color:#1f2937;font-size:24px;font-weight:700}.track-content-grid{gap:40px;grid-template-columns:1fr 1fr}.lesson-panel{border-right:1px solid #eee;padding-right:20px}.lesson-panel h3,.quiz-panel h3{color:#111827;font-size:18px;margin-bottom:10px}.lesson-panel h4{font-weight:600;margin-top:20px}.step-code{background-color:#1e1e1e;border-radius:8px;color:#d4d4d4;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;overflow-x:auto;padding:12px;white-space:pre-wrap}.quiz-panel ul{list-style:none;margin:0;padding:0}.quiz-item{margin-bottom:20px}.quiz-item ul{margin-top:6px}.quiz-item input[type=radio]{margin-right:8px}.button-group{display:flex;gap:16px;margin-top:24px}.button-group button{background-color:#fff;border:none;border-radius:6px;color:#000;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .3s}.button-group button:hover{background-color:#f0f0f0}.quiz-item label{border-radius:4px;cursor:pointer;display:inline-block;padding:4px 8px}.quiz-item.correct{background-color:#dcfce7}.quiz-item.incorrect{background-color:#fee2e2}@media (max-width:768px){.track-content-grid{gap:24px;grid-template-columns:1fr}.lesson-panel{border-right:none;padding-right:0}}.track-progress-container::-webkit-scrollbar{display:none}label.correct{background-color:#dcfce7;border-radius:6px;color:#166534;padding:6px}label.incorrect{background-color:#fee2e2;border-radius:6px;color:#991b1b;padding:6px}.course-progress-page .track-progress-container{font-family:Segoe UI,sans-serif;margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);overflow:auto;padding:88px 24px 32px}.course-progress-page .track-content-grid{align-items:start;background:#fff;border-radius:10px;box-shadow:0 6px 12px #0000000f;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:visible;padding:24px}.course-progress-page .lesson-panel,.course-progress-page .quiz-section{max-height:none;min-width:0;overflow:visible}.course-progress-page .track-header{margin-bottom:20px}.course-progress-page .track-label{color:#888;font-size:14px;font-weight:400;margin-left:10px}.course-progress-page .progress-bar-container{background-color:#eee;border-radius:8px;height:8px;margin-top:8px;overflow:hidden}.course-progress-page .progress-bar{background-color:#1d4ed8;height:100%;transition:width .4s ease-in-out}.course-progress-page .button-group{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.course-progress-page .button-group button{background:#fff;border:1px solid #ccc;border-radius:6px;color:#000;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .3s}.course-progress-page .button-group button:hover:not(:disabled){background-color:#f0f0f0}.course-progress-page .button-group button:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width:768px){.course-progress-page .track-content-grid{gap:24px;grid-template-columns:1fr}.course-progress-page .lesson-panel{border-right:none;padding-right:0}}.quiz-feedback-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;line-height:1.4;margin-top:8px;padding:12px 16px}.quiz-feedback-box.correct{border-left:4px solid #16a34a}.quiz-feedback-box.incorrect{border-left:4px solid #dc2626}.quiz-feedback-title{font-weight:600;margin-bottom:4px}.quiz-feedback-explanation{color:#111827}.course-progress-page .inline-code-widget{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;padding:12px 14px}.course-progress-page .right-panel{display:flex;flex-direction:column;gap:20px}.course-progress-page .right-panel>:last-child{margin-bottom:0!important}.assistant-widget-fixed{bottom:24px!important;position:fixed!important;right:24px!important;z-index:3000!important}.restart-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#111827;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:6px 12px;transition:background .12s ease,box-shadow .12s ease,border-color .12s ease}.restart-btn .icon{font-size:14px;line-height:1}.restart-btn:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 0 #00000005}.restart-btn:active{background:#f3f4f6}.restart-btn:disabled{cursor:not-allowed;opacity:.6}.track-content-single{display:block;margin-top:12px;width:100%}.track-content-grid{gap:24px;grid-template-columns:minmax(0,1fr) 360px}.lesson-panel,.right-panel{min-height:0}.right-panel{align-self:start}.lesson-panel h1:first-child,.lesson-panel h2:first-child,.lesson-panel h3:first-child{margin-top:0}.lesson-panel,.quiz-section{word-break:break-word}.quiz-section{background:#fff;border-radius:12px;box-sizing:border-box;padding:16px}.lesson-panel>div{overflow-wrap:anywhere;white-space:pre-line}.lesson-panel>div p{line-height:1.5;margin:0 0 8px;padding-left:1.25rem;text-indent:-1rem}.lesson-panel>div p:first-child{font-weight:700;letter-spacing:.02em;margin-bottom:10px;text-transform:uppercase}.lesson-panel code,.lesson-panel pre{padding-left:0;text-indent:0;white-space:pre}.course-progress-page .track-content-grid{align-items:start!important;display:grid!important;gap:24px!important;grid-template-columns:minmax(0,1fr) 360px!important}.course-progress-page .lesson-panel,.course-progress-page .right-panel{align-self:start!important;min-height:0!important}.course-progress-page .lesson-panel .markdown-body,.course-progress-page .lesson-panel>div{overflow-wrap:anywhere;white-space:pre-line}.course-progress-page .lesson-panel .markdown-body p,.course-progress-page .lesson-panel>div p{line-height:1.5;margin:0 0 8px;padding-left:1.25rem;text-indent:-1rem}.course-progress-page .lesson-panel .markdown-body p:first-child,.course-progress-page .lesson-panel>div p:first-child{font-weight:700;letter-spacing:.02em;margin-bottom:10px;text-transform:uppercase}.course-progress-page .lesson-panel code,.course-progress-page .lesson-panel pre{padding-left:0;text-indent:0;white-space:pre}.course-progress-page .right-panel{display:flex!important;flex-direction:column!important;gap:20px!important}.course-progress-page .right-panel>*{margin-bottom:0!important}.course-progress-page .quiz-section{background:#fff;border-radius:12px;box-sizing:border-box;padding:16px}.course-progress-page .quiz-list{list-style:none;margin:0;padding:0}.course-progress-page .quiz-item{margin-bottom:14px}.course-progress-page .quiz-item:last-child{margin-bottom:0}.course-progress-page .quiz-question{margin:0 0 8px;white-space:normal}.course-progress-page .quiz-item>ul,.course-progress-page .quiz-options{list-style:none;margin:6px 0 0;padding:0}.course-progress-page .quiz-item label,.course-progress-page .quiz-option{align-items:flex-start;cursor:pointer;display:flex;gap:8px;line-height:1.4;white-space:normal}.course-progress-page .quiz-item input[type=radio],.course-progress-page .quiz-option input{margin-top:2px}.course-progress-page .quiz-item label span,.course-progress-page .quiz-option-text{flex:1 1;overflow-wrap:anywhere;white-space:normal;word-break:normal}.course-progress-page .quiz-feedback-box{margin-top:8px}.course-progress-page .quiz-summary{font-weight:600;margin-top:12px}.course-progress-page .lesson-panel h1:first-child,.course-progress-page .lesson-panel h2:first-child,.course-progress-page .lesson-panel h3:first-child{margin-top:0}.course-progress-page .progress-bar-container{margin-top:6px}:root{--app-header-h-desktop:72px;--app-header-h-mobile:56px;--sidebar-w-desktop:72px;--sidebar-w-mobile:56px}.course-progress-page .track-progress-container,.track-progress-page .track-progress-container{-webkit-overflow-scrolling:touch;bottom:0;left:var(--sidebar-w-desktop);max-height:none!important;overflow-y:auto;padding:80px 24px calc(24px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;scrollbar-width:none;top:var(--app-header-h-desktop)}.course-progress-page .track-progress-container::-webkit-scrollbar,.track-progress-page .track-progress-container::-webkit-scrollbar{display:none}@media (max-width:900px){.course-progress-page .track-progress-container,.track-progress-page .track-progress-container{left:var(--sidebar-w-mobile)}}@media (max-width:480px){.course-progress-page .track-progress-container,.track-progress-page .track-progress-container{left:var(--sidebar-w-mobile);padding:64px 16px 16px;top:var(--app-header-h-mobile)}}.track-content-grid{align-items:start;background:#fff;border-radius:10px;box-shadow:0 6px 12px #0000000f;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:24px}@media (max-width:768px){.track-content-grid{gap:24px;grid-template-columns:1fr}}.course-progress-page .track-content-grid{overflow:visible!important}.course-progress-page .lesson-panel,.course-progress-page .quiz-section,.track-progress-page .lesson-panel,.track-progress-page .quiz-section{max-height:none!important;min-width:0;overflow:visible}@media (max-width:480px){.track-header h1{font-size:20px}.lesson-panel h3,.quiz-panel h3{font-size:16px}.button-group{gap:12px}.button-group button{font-size:13px;padding:9px 14px}}.track-progress-container{overflow:visible!important}@media (max-width:600px){.course-progress-page .track-progress-container,.track-progress-container{-webkit-overflow-scrolling:touch!important;left:0!important;overflow-y:auto!important;padding:16px 12px 140px;position:relative!important;top:0!important}.track-header,.track-header-sticky{background:#fff;box-shadow:none!important;margin:0 0 12px;padding:8px 0;position:static!important}.track-header h3{font-size:13px}.track-header h1{font-size:18px;margin-top:2px}.track-label{font-size:11px}.CodeMirror,.cm-editor,.code-block,.react-codemirror2,.step-code,code,pre{-webkit-overflow-scrolling:touch!important;border-radius:6px!important;font-size:13px!important;line-height:1.4!important;margin:12px 0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:10px!important;white-space:pre-wrap!important;word-break:break-all!important}.CourseCodeWidget,.course-code-widget,.inline-code-widget{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box;margin:0 0 20px;max-width:100%!important;overflow:hidden!important;width:100%!important}.CourseCodeWidget .CodeMirror,.course-code-widget .CodeMirror,.inline-code-widget .CodeMirror{height:auto!important;max-height:40vh!important;min-height:80px!important}.CourseCodeWidget .cm-editor,.course-code-widget .cm-editor,.inline-code-widget .cm-editor{font-size:13px!important;line-height:1.4!important}.track-content-grid{gap:20px!important;grid-template-columns:1fr!important;padding:0!important}.lesson-panel,.quiz-section,.right-panel{overflow:visible!important;width:100%!important}.quiz-item{margin-bottom:16px}.quiz-item input[type=text]{border:1px solid #ccc;border-radius:6px;font-size:13px;padding:8px;width:100%}.button-group{flex-direction:column;gap:10px;margin-top:20px}.button-group button{font-size:14px;padding:10px;width:100%}#chat-assistant-box,.assistant-float,.fta-root{bottom:12px!important;position:fixed!important;right:12px!important;z-index:1300!important}.lesson-panel .markdown-body,.lesson-panel>div{font-size:14px;line-height:1.5}.lesson-panel h3,.quiz-section h3{font-size:16px;margin:0 0 8px}.lesson-panel p,.quiz-item p{margin:0 0 8px}::-webkit-scrollbar{background:#0000;width:0}}@media (max-width:600px){.course-progress-page .track-progress-container,.track-progress-container{-webkit-overflow-scrolling:touch!important;left:0!important;overflow-y:auto!important;padding:16px 12px 140px;position:relative!important;top:0!important}.track-header,.track-header-sticky{background:#fff;box-shadow:none!important;margin:0 0 12px;padding:8px 0;position:static!important}.track-header h3{font-size:13px}.track-header h1{font-size:18px;margin-top:2px}.track-label{font-size:11px}.track-content-grid{gap:20px!important;grid-template-columns:1fr!important;padding:0!important}.lesson-panel,.quiz-section,.right-panel{overflow:visible!important;width:100%!important}.lesson-panel ol,.lesson-panel ul{list-style-position:inside!important;margin-left:0!important;padding-left:16px!important}.lesson-panel li{margin-bottom:6px;word-break:break-word}.lesson-panel li p{display:inline}}.track-progress-container{max-height:none!important;overflow-y:auto!important}.track-header-sticky{box-shadow:0 2px 4px #0000001a;z-index:10!important}body.page-CourseProgressPage,body.page-CourseProgressPage html{height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-CourseProgressPage #root,body.page-CourseProgressPage .track-progress-container{height:auto!important;min-height:100vh!important;overflow-x:hidden!important;overflow-y:auto!important}body.page-CourseProgressPage .track-progress-container{bottom:auto!important;left:auto!important;margin-top:-40px!important;padding-bottom:100px!important;padding-top:20px!important;position:static!important;right:auto!important;top:auto!important}body.page-CourseProgressPage .lesson-panel,body.page-CourseProgressPage .right-panel,body.page-CourseProgressPage .track-content-grid,body.page-CourseProgressPage .track-content-single,body.page-CourseProgressPage .track-header-sticky{max-height:none!important;overflow:visible!important}@media (max-width:600px){body.page-CourseProgressPage .track-progress-container{margin-top:-60px!important;padding:20px 12px 100px!important}}.course-code-widget{border:1px solid #e5e7eb;border-radius:8px;padding:12px}.ccw-header{align-items:baseline;display:flex;gap:12px;margin-bottom:8px}.ccw-title{font-size:16px;margin:0}.ccw-sub{font-size:12px;margin:0;opacity:.7}.ccw-editor-shell{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.ccw-actions{display:flex;gap:8px;margin-top:10px}.ccw-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 12px}.ccw-btn.ccw-primary{background:#2563eb;border-color:#2563eb;color:#fff}.ccw-btn:disabled{cursor:not-allowed;opacity:.6}.ccw-output{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;color:#dcdcdc;margin-top:10px;max-height:220px;padding:12px}.ccw-inline-output,.ccw-output{overflow:auto;white-space:pre-wrap}.ccw-inline-output{background:#0f172a0d;border:1px solid #e5e7eb;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;margin-top:8px;max-height:160px;padding:10px 12px}