@import url(https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700&family=Nunito:wght@400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--color-iris:#5a60ff;--color-lilac:#b28dff;--color-sunrise:#ff9f68;--color-mint:#4fe3c1;--color-berry:#ff5f8f;--gray-50:#f7f8fb;--gray-100:#edf0ff;--gray-200:#e1e5f5;--gray-500:#6f7391;--gray-800:#1e1f2b;--theme-primary:var(--color-iris);--theme-secondary:var(--color-lilac);--theme-accent:var(--color-sunrise);--theme-success:var(--color-mint);--theme-warning:var(--color-berry);--theme-background:var(--gray-50);--theme-surface:#fff;--theme-surface-glass:#ffffff38;--theme-border:#5c63a326;--font-display:"Baloo 2","Comic Neue","Nunito","Segoe UI",sans-serif;--font-body:"Nunito","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Roboto","Helvetica Neue",sans-serif;--shadow-soft:0 15px 40px #454cb226;--shadow-hard:0 25px 80px #282c5f33;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--transition-snappy:200ms cubic-bezier(0.25,0.8,0.35,1);--app-gradient:radial-gradient(circle at 20% 20%,#ffde7940 0%,#0000 40%),radial-gradient(circle at 80% 0%,#6585ff40 0%,#0000 35%),linear-gradient(135deg,#f8f9ff,#eef1ff 40%,#fff8f3)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 20% 20%,#ffde7940 0,#0000 40%),radial-gradient(circle at 80% 0,#6585ff40 0,#0000 35%),linear-gradient(135deg,#f8f9ff,#eef1ff 40%,#fff8f3);background:var(--app-gradient);font-family:Nunito,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;font-family:var(--font-body);min-height:100vh;transition:background .3s ease}body,h1,h2,h3,h4,h5,h6{color:#1e1f2b;color:var(--gray-800)}h1,h2,h3,h4,h5,h6{font-family:Baloo\ 2,Comic Neue,Nunito,Segoe UI,sans-serif;font-family:var(--font-display)}code{font-family:JetBrains Mono,Fira Code,Source Code Pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit}button{cursor:pointer}::selection{background:#5a60ff33}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.grecaptcha-badge{bottom:14px!important;opacity:1!important;right:14px!important;visibility:visible!important;z-index:9999!important}.captcha-protected{align-items:center;background:#f8f9fa;border-left:3px solid #4caf50;border-radius:8px;color:#666;display:flex;font-size:.85rem;gap:8px;margin-top:12px;padding:8px 12px}.captcha-protected-icon{color:#4caf50;font-size:1rem}.snake-game-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 10px 30px #0000004d;flex-direction:column;margin:0 auto;max-width:400px;padding:15px;position:relative}.snake-game-container,.snake-game-header{align-items:center;display:flex;width:100%}.snake-game-header{color:#fff;justify-content:space-between;margin-bottom:15px}.snake-game-header h2{font-size:1.8rem;margin:0;text-shadow:2px 2px 4px #0000004d}.game-score{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:10px;font-size:1.2rem;font-weight:700;padding:8px 16px}.game-board{grid-gap:1px;aspect-ratio:1;background:#0000004d;border-radius:10px;box-shadow:inset 0 0 20px #00000080;display:grid;gap:1px;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(20,1fr);max-width:350px;padding:2px;position:relative;width:100%}.cell{background:#ffffff1a;border-radius:2px;transition:all .1s ease}.snake-head{animation:pulse-head .5s ease-in-out infinite;background:linear-gradient(135deg,#4caf50,#8bc34a)!important;border-radius:3px;box-shadow:0 0 10px #4caf50cc}@keyframes pulse-head{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.snake-body{background:linear-gradient(135deg,#66bb6a,#81c784)!important;border-radius:2px;box-shadow:0 0 5px #4caf5080}.food{animation:food-pulse .8s ease-in-out infinite;background:linear-gradient(135deg,#ff5722,#ff7043)!important;border-radius:50%;box-shadow:0 0 15px #ff5722cc}@keyframes food-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.game-overlay{align-items:center;background:#000c;border-radius:20px;bottom:0;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;top:0;width:100%;z-index:10}.game-message{background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000080;max-width:300px;padding:30px;text-align:center}.game-message h3{color:#667eea;font-size:1.5rem;margin:0 0 15px}.game-message p{color:#666;font-size:1rem;margin:10px 0}.game-buttons{display:flex;gap:10px;justify-content:center;margin-top:20px}.game-controls{color:#fff;margin-top:20px;text-align:center;width:100%}.control-instructions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:10px;padding:15px}.control-instructions p{font-weight:700;margin:0 0 10px}.control-keys{display:inline-block;margin:10px 0}.control-row{display:flex;gap:5px;justify-content:center;margin:5px 0}.control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:1.5rem;height:50px;transition:all .2s ease;width:50px}.control-btn:hover:not(:disabled){background:#ffffff4d;box-shadow:0 4px 10px #0000004d;transform:scale(1.1)}.control-btn:active:not(:disabled){transform:scale(.95)}.control-btn:disabled{cursor:not-allowed;opacity:.5}.space-hint{font-size:.9rem;margin-top:10px;opacity:.8}@media (max-width:600px){.game-board{height:300px;width:300px}.snake-game-container{max-width:100%;padding:15px}}.tic-tac-toe-container{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;margin:0 auto;max-width:400px;padding:15px;width:100%}.tic-tac-toe-header{align-items:center;color:#fff;display:flex;justify-content:space-between;margin-bottom:15px;width:100%}.tic-tac-toe-header h2{font-size:1.5rem;margin:0;text-shadow:2px 2px 4px #0000004d}.game-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:10px;font-size:1rem;font-weight:700;padding:6px 12px}.board{background:#0003;border-radius:10px;flex-direction:column;margin-bottom:15px;padding:5px}.board,.board-row{display:flex;gap:5px}.square{background:#ffffffe6;border:none;border-radius:10px;box-shadow:0 4px 10px #0003;color:#333;cursor:pointer;font-size:2.5rem;font-weight:700;height:80px;transition:all .2s ease;width:80px}.square:hover:not(:disabled){background:#fff;box-shadow:0 6px 15px #0000004d;transform:scale(1.05)}.square:active:not(:disabled){transform:scale(.95)}.square:disabled{cursor:not-allowed;opacity:.8}.square-x{color:#f5576c}.square-o,.square-x{animation:mark-appear .3s ease}.square-o{color:#667eea}@keyframes mark-appear{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.game-controls-ttt{text-align:center;width:100%}.game-btn{border:none;border-radius:10px;box-shadow:0 4px 10px #0003;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.start-btn{background:linear-gradient(135deg,#4caf50,#66bb6a)}.start-btn:hover{box-shadow:0 6px 15px #4caf5066}.reset-btn{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.reset-btn:hover{box-shadow:0 6px 15px #f4433666;transform:translateY(-2px)}@media (max-width:1200px){.square{font-size:2rem;height:60px;width:60px}.tic-tac-toe-container{max-width:100%;padding:15px}}.home-page{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#4facfe 50%,#667eea 75%,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 25%,var(--theme-accent,#4facfe) 50%,var(--theme-primary,#667eea) 75%,var(--theme-secondary,#764ba2) 100%);background-size:400% 400%;justify-content:center;overflow:hidden;padding:20px;transition:background .3s ease}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.doodles-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.doodle{animation:float 6s ease-in-out infinite;cursor:pointer;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));font-size:2.5rem;opacity:.7;pointer-events:auto;position:absolute;transition:all .3s ease}.doodle:hover{filter:drop-shadow(0 8px 20px rgba(0,0,0,.5)) brightness(1.2);opacity:1!important;transform:scale(1.4)!important;z-index:10}@keyframes rotate{0%,to{transform:rotate(0deg)}50%{transform:rotate(1turn)}}.doodle-1{animation-delay:0s;animation-duration:5s;left:10%;top:10%}.doodle-2{animation-delay:.5s;animation-duration:6s;right:15%;top:20%}.doodle-3{animation-delay:1s;animation-duration:7s;left:5%;top:30%}.doodle-4{animation-delay:1.5s;animation-duration:5.5s;right:10%;top:15%}.doodle-5{animation-delay:2s;animation-duration:6.5s;bottom:30%;left:8%}.doodle-6{animation-delay:2.5s;animation-duration:5s;bottom:25%;right:12%}.doodle-7{animation-delay:3s;animation-duration:7s;left:3%;top:50%}.doodle-8{animation-delay:3.5s;animation-duration:6s;right:5%;top:60%}.doodle-9{animation-delay:4s;animation-duration:5.5s;bottom:15%;left:15%}.doodle-10{animation-delay:4.5s;animation-duration:6.5s;bottom:20%;right:8%}.doodle-11{animation-delay:5s;animation-duration:7s;left:12%;top:40%}.doodle-12{animation-delay:5.5s;animation-duration:5s;bottom:40%;right:18%}.doodle-13{animation-delay:.2s;animation-duration:6s;font-size:3rem;left:25%;top:5%}.doodle-14{animation-delay:.7s;animation-duration:5.5s;font-size:2.2rem;left:20%;top:25%}.doodle-15{animation-delay:1.2s;animation-duration:6.5s;font-size:2.8rem;right:25%;top:35%}.doodle-16{animation-delay:1.7s;animation-duration:7s;bottom:35%;font-size:2.5rem;left:25%}.doodle-17{animation-delay:2.2s;animation-duration:5.5s;bottom:15%;font-size:3rem;left:30%}.doodle-18{animation-delay:2.7s;animation-duration:6s;font-size:2.3rem;right:30%;top:45%}.doodle-19{animation-delay:3.2s;animation-duration:7.5s;font-size:2.6rem;left:50%;top:15%}.doodle-20{animation-delay:3.7s;animation-duration:5.8s;bottom:45%;font-size:2.4rem;right:35%}.doodle-21{animation-delay:.3s;animation-duration:6.2s;font-size:2.7rem;right:40%;top:8%}.doodle-22{animation-delay:.8s;animation-duration:7.2s;font-size:2.5rem;left:18%;top:55%}.doodle-23{animation-delay:1.3s;animation-duration:6.8s;bottom:50%;font-size:2.9rem;left:40%}.doodle-24{animation-delay:1.8s;animation-duration:5.7s;font-size:2.6rem;right:22%;top:65%}.doodle-25{animation-delay:2.3s;animation-duration:7.3s;bottom:10%;font-size:2.4rem;right:28%}.doodle-26{animation-delay:2.8s;animation-duration:6.3s;font-size:2.8rem;left:22%;top:70%}.doodle-27{animation-delay:3.3s;animation-duration:5.9s;font-size:2.3rem;left:60%;top:12%}.doodle-28{animation-delay:3.8s;animation-duration:7.1s;bottom:55%;font-size:2.7rem;right:45%}.doodle-29{animation-delay:.4s;animation-duration:6.4s;font-size:2.5rem;left:45%;top:28%}.doodle-30{animation-delay:.9s;animation-duration:7.4s;bottom:28%;font-size:2.6rem;left:50%}.doodle-31{animation-delay:1.4s;animation-duration:6.1s;font-size:2.9rem;right:50%;top:38%}.doodle-32{animation-delay:1.9s;animation-duration:5.6s;bottom:38%;font-size:2.4rem;right:55%}.doodle-33{animation-delay:2.4s;animation-duration:7.6s;font-size:2.7rem;left:35%;top:48%}.doodle-34{animation-delay:2.9s;animation-duration:6.5s;bottom:48%;font-size:2.5rem;left:55%}.doodle-35{animation-delay:3.4s;animation-duration:6.7s;font-size:2.8rem;right:60%;top:18%}.doodle-36{animation-delay:3.9s;animation-duration:5.4s;bottom:18%;font-size:2.3rem;right:65%}.doodle-37{animation-delay:.5s;animation-duration:7.7s;font-size:2.6rem;left:28%;top:58%}.doodle-38{animation-delay:1s;animation-duration:6.6s;bottom:58%;font-size:2.4rem;left:60%}.doodle-39{animation-delay:1.5s;animation-duration:5.3s;font-size:3rem;right:38%;top:68%}.doodle-40{animation-delay:2s;animation-duration:7.8s;bottom:8%;font-size:2.5rem;left:65%}.doodle-41{animation-delay:2.5s;animation-duration:6.9s;font-size:2.7rem;left:70%;top:22%}.doodle-42{animation-delay:3s;animation-duration:5.2s;bottom:22%;font-size:2.8rem;right:70%}.doodle-43{animation-delay:3.5s;animation-duration:7.9s;font-size:2.6rem;left:75%;top:32%}.doodle-44{animation-delay:4s;animation-duration:6.8s;bottom:32%;font-size:2.4rem;left:80%}.doodle-45{animation-delay:.6s;animation-duration:5.1s;font-size:2.9rem;right:75%;top:42%}.doodle-46{animation-delay:1.1s;animation-duration:8s;bottom:42%;font-size:2.5rem;right:80%}.doodle-47{animation-delay:1.6s;animation-duration:6.2s;font-size:3rem;left:70%;top:52%}.doodle-48{animation-delay:2.1s;animation-duration:7.1s;bottom:52%;font-size:2.3rem;left:75%}.doodle-49{animation-delay:2.6s;animation-duration:5.5s;font-size:2.7rem;right:60%;top:62%}.doodle-50{animation-delay:3.1s;animation-duration:7.2s;bottom:62%;font-size:2.6rem;right:65%}.snake{animation:snakeMove 10s ease-in-out infinite!important;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));font-size:3rem;opacity:.9;position:absolute;z-index:1}.snake:hover{animation-play-state:paused;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6)) brightness(1.4);opacity:1!important;transform:scale(1.6) rotate(15deg)!important}@keyframes snakeMove{0%{transform:translateX(0) translateY(0) rotate(0deg) scale(1)}10%{transform:translateX(30px) translateY(-20px) rotate(15deg) scale(1.05)}20%{transform:translateX(60px) translateY(-10px) rotate(25deg) scale(1.1)}30%{transform:translateX(80px) translateY(-30px) rotate(-10deg) scale(1.05)}40%{transform:translateX(100px) translateY(-5px) rotate(-20deg) scale(1)}50%{transform:translateX(90px) translateY(-25px) rotate(-15deg) scale(1.05)}60%{transform:translateX(70px) translateY(-40px) rotate(10deg) scale(1.1)}70%{transform:translateX(40px) translateY(-30px) rotate(20deg) scale(1.05)}80%{transform:translateX(20px) translateY(-15px) rotate(5deg) scale(1.05)}90%{transform:translateX(10px) translateY(-5px) rotate(-5deg) scale(1)}to{transform:translateX(0) translateY(0) rotate(0deg) scale(1)}}.snake-1{animation-delay:0s;animation-duration:10s;left:5%;top:5%}.snake-2{animation-delay:.5s;animation-duration:11s;right:8%;top:10%}.snake-3{animation-delay:1s;animation-duration:12s;left:15%;top:15%}.snake-4{animation-delay:1.5s;animation-duration:10.5s;right:15%;top:20%}.snake-5{animation-delay:2s;animation-duration:11.5s;left:8%;top:25%}.snake-6{animation-delay:2.5s;animation-duration:10s;right:12%;top:30%}.snake-7{animation-delay:3s;animation-duration:12s;bottom:35%;left:10%}.snake-8{animation-delay:3.5s;animation-duration:11s;bottom:30%;right:10%}.snake-9{animation-delay:4s;animation-duration:10.5s;bottom:25%;left:18%}.snake-10{animation-delay:4.5s;animation-duration:11.5s;bottom:20%;right:18%}.snake-11{animation-delay:5s;animation-duration:10s;left:5%;top:40%}.snake-12{animation-delay:5.5s;animation-duration:12s;right:5%;top:45%}.snake-13{animation-delay:6s;animation-duration:11s;left:12%;top:50%}.snake-14{animation-delay:6.5s;animation-duration:10.5s;right:12%;top:55%}.snake-15{animation-delay:7s;animation-duration:11.5s;bottom:50%;left:22%}.home-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:0 auto;max-width:1400px;padding:20px;position:relative;z-index:1}.game-panel{flex:0 0 auto;position:relative;z-index:2}.left-game{order:1}.right-game{order:3}.home-container{animation:bounceIn .6s ease-out;background:#fff;border-radius:30px;box-shadow:0 20px 60px #0000004d;flex:0 0 auto;max-width:500px;min-width:400px;order:2;padding:50px 40px;position:relative;text-align:center;width:100%;z-index:1}@media (max-width:1200px){.home-layout{align-items:center;flex-direction:column}.left-game,.right-game{order:0}.home-container{min-width:0;min-width:auto;order:1}}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.home-header{margin-bottom:40px}.home-title{color:#667eea;color:var(--theme-primary,#667eea);font-size:3rem;margin-bottom:10px;text-shadow:2px 2px 4px #0000001a}.home-subtitle{color:#764ba2;color:var(--theme-secondary,#764ba2);font-size:1.2rem;font-weight:600}.page-views{color:#999;margin-top:15px;opacity:.8}.auth-options{display:flex;flex-direction:column;gap:15px}.auth-btn{border:none;border-radius:15px;box-shadow:0 4px 15px #0003;font-size:1.1rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.admin-btn{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 100%);color:#fff}.admin-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.student-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.student-btn:hover{box-shadow:0 6px 20px #f5576c66;transform:translateY(-2px)}.signup-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.signup-btn:hover{box-shadow:0 6px 20px #4facfe66;transform:translateY(-2px)}.signin-form,.signup-form{display:flex;flex-direction:column;gap:20px}.signup-form h2{color:#667eea;margin-bottom:10px}.signup-input{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;outline:none;padding:12px 20px;transition:border-color .3s}.signup-input:focus{border-color:#667eea}.user-type-selector{display:flex;gap:20px;justify-content:center;margin:10px 0}.user-type-selector label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:1rem;gap:8px}.user-type-selector input[type=radio]{cursor:pointer;height:20px;width:20px}.signup-actions{display:flex;gap:10px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 100%);flex:1 1}.cancel-btn{flex:1 1}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;font-size:.9rem;padding:12px 20px}.signup-note{background:#e3f2fd;border-radius:8px;color:#1976d2;font-size:.85rem;margin:0;padding:10px 15px;text-align:center}.divider{align-items:center;color:#999;display:flex;margin:20px 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.divider span{font-size:.9rem;padding:0 15px}.forgot-password-link{margin-bottom:15px;margin-top:8px;text-align:right}.forgot-password-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline;transition:color .3s ease}.forgot-password-btn:hover{color:#764ba2;color:var(--theme-secondary,#764ba2)}.forgot-password-modal{max-width:500px}.reset-instructions{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:20px}.reset-success{text-align:center}.success-message{border-radius:8px;font-size:.95rem;line-height:1.5;margin-bottom:20px;padding:15px}.view-sessions-link{margin-bottom:30px}.sessions-link-btn{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 100%);border-radius:15px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:inline-block;font-size:1rem;font-weight:700;padding:12px 30px;text-decoration:none;transition:all .3s ease}.sessions-link-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}:root{--hero-max-width:1200px}.home-page{display:flex;flex-direction:column;gap:64px;min-height:100vh;padding:clamp(32px,5vw,64px) clamp(20px,5vw,64px) 120px;position:relative}.floating-charms{inset:0;overflow:hidden;pointer-events:none;position:absolute}.charm{animation:charmFloat 12s ease-in-out infinite;font-size:clamp(1.5rem,3vw,2.75rem);opacity:.4;position:absolute}.charm-1{animation-delay:0s;left:6%;top:8%}.charm-2{animation-delay:1.5s;right:10%;top:15%}.charm-3{animation-delay:3s;bottom:12%;left:18%}.charm-4{animation-delay:4.5s;bottom:20%;right:15%}.charm-5{animation-delay:2.25s;left:50%;top:40%}.charm-6{animation-delay:5.75s;bottom:35%;right:40%}@keyframes charmFloat{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(12px,-18px,0) scale(1.1)}to{transform:translateZ(0) scale(1)}}.home-hero{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:var(--theme-surface-glass);border:1px solid var(--theme-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;overflow:hidden;width:min(1200px,100%);width:min(var(--hero-max-width),100%)}.hero-left{display:flex;flex-direction:column;gap:24px;padding:clamp(32px,5vw,56px)}.hero-pill{align-self:flex-start;background:#fff6;border:1px solid #5a60ff33;border-radius:999px;color:var(--theme-primary);font-weight:600;padding:6px 16px}.hero-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1}.hero-lead{color:var(--gray-500);font-size:1.1rem}.hero-steps{grid-gap:16px;display:grid;gap:16px}.hero-step{grid-gap:16px;background:#ffffff80;border:1px solid #5a60ff26;border-radius:var(--radius-md);display:grid;gap:16px;grid-template-columns:auto 1fr;padding:16px}.step-icon{font-size:1.5rem}.step-title{font-weight:700}.step-description{color:var(--gray-500);font-size:.95rem}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.cta{align-items:center;border:none;border-radius:999px;display:inline-flex;font-weight:700;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:transform var(--transition-snappy),box-shadow var(--transition-snappy)}.cta.primary{background:linear-gradient(120deg,var(--theme-primary),var(--theme-accent));box-shadow:0 10px 35px #5a60ff59}.cta.primary:hover{transform:translateY(-2px)}.cta.ghost{background:#0000;border:1px solid #5a60ff4d;color:var(--theme-primary)}.cta.ghost:hover{box-shadow:0 6px 20px #5a60ff33}.cta.w-100{width:100%}.hero-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:8px}.stat-card{background:#fff9;border:1px solid #5a60ff1a;border-radius:var(--radius-md);padding:16px;text-align:center}.stat-value{font-size:1.6rem}.stat-card.admin{border-color:#ff9f6866}.hero-right{align-items:center;background:#ffffffd9;display:flex;padding:clamp(32px,5vw,56px)}.auth-card{background:#fff;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:20px;padding:32px;width:100%}.auth-toggle{background:var(--gray-50);border-radius:999px;display:grid;grid-template-columns:repeat(2,1fr);padding:4px}.auth-toggle button{background:#0000;border:none;border-radius:999px;color:var(--gray-500);font-weight:700;padding:10px 16px}.auth-toggle button.active{background:#fff;box-shadow:0 6px 20px #5a60ff26;color:var(--theme-primary)}.auth-alert{background:#ff5f8f1f;border:1px solid #ff5f8f4d;border-radius:var(--radius-sm);color:var(--color-berry);font-weight:600;padding:12px 16px}.auth-form{gap:16px}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{font-size:.95rem;font-weight:600;gap:6px}.form-field input{border:1px solid #5a60ff33;border-radius:var(--radius-sm);font-size:1rem;padding:12px 14px;transition:border-color var(--transition-snappy),box-shadow var(--transition-snappy)}.form-field input:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px #5a60ff26;outline:none}.form-meta{text-align:right}.form-meta button{background:none;border:none;color:var(--theme-primary);font-weight:600}.avatar-picker{background:var(--gray-50);border-radius:var(--radius-md);padding:12px 16px}.avatar-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.avatar-chip{background:#fff;border:2px solid #0000;border-radius:50%;font-size:1.4rem;height:44px;width:44px}.avatar-chip.selected{border-color:var(--theme-primary);box-shadow:0 6px 18px #5a60ff33}.auth-footnote{color:var(--gray-500);font-size:.9rem;text-align:center}.badges-section,.brain-breaks,.journey-section{background:#ffffffd9;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin:0 auto;padding:clamp(24px,4vw,48px);width:min(1100px,100%)}.section-header{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:24px}.section-chip{align-self:center;background:#ff9f681f;color:var(--color-sunrise);padding:6px 14px}.eyebrow{color:var(--gray-500);letter-spacing:.08em;margin-bottom:4px}.journey-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.journey-card{background:#fff;border:1px solid #5a60ff1a;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;min-height:180px;padding:20px}.card-icon{font-size:1.8rem}.journey-card h3{font-size:1.1rem}.journey-card p{color:var(--gray-500)}.journey-card.accent-mint{border-color:#4fe3c166}.journey-card.accent-berry{border-color:#ff5f8f66}.journey-card.accent-sunrise{border-color:#ff9f6866}.badges-panel{align-items:flex-start;display:flex;flex-direction:column;gap:16px}.badge-row{display:flex;flex-wrap:wrap;gap:12px}.badge-chip{align-items:center;background:var(--gray-100);border-radius:999px;display:flex;font-weight:600;gap:8px;padding:10px 18px}.fun-fact{background:#5a60ff14;border-radius:var(--radius-md);font-weight:600;padding:12px 18px}.game-tabs{display:flex;flex-wrap:wrap;gap:12px}.game-tab{align-items:center;background:#fff;border:1px solid #5a60ff33;border-radius:999px;display:inline-flex;font-weight:600;gap:8px;padding:8px 18px}.game-tab.active{background:linear-gradient(120deg,var(--theme-primary),var(--theme-accent));border-color:#0000;box-shadow:0 8px 25px #5a60ff40;color:#fff}.game-surface{background:var(--gray-50);border:1px solid #5a60ff1f;border-radius:var(--radius-lg);margin-top:24px;overflow:hidden;padding:16px}.modal-overlay{background:#0c0f2599;inset:0;padding:24px}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);max-width:420px;padding:clamp(24px,4vw,48px)}.reset-instructions{color:var(--gray-500);margin-bottom:16px}.forgot-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}@media (max-width:768px){.home-page{padding-bottom:64px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{padding:24px}.badges-section,.brain-breaks,.journey-section{padding:20px}.section-header{align-items:flex-start;flex-direction:column}}.new-features-section{margin:60px auto;max-width:1200px;padding:0 20px}.new-features-section .section-header{margin-bottom:50px;text-align:center}.new-features-section .eyebrow{color:#667eea;font-size:.9rem;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.new-features-section h2{color:#2c3e50;font-size:2.5rem;font-weight:800;margin:0 0 15px}.new-features-section .section-subtitle{color:#7f8c8d;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:40px}.feature-card{align-items:center;background:#fff;border:3px solid #0000;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:40px 30px;position:relative;text-align:center;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.feature-card:before{background:var(--feature-color);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .4s ease}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{border-color:var(--feature-color);box-shadow:0 20px 40px #0000001a,0 0 0 1px var(--feature-color);transform:translateY(-10px)}.feature-badge{animation:badgePulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:4px 12px;position:absolute;right:15px;text-transform:uppercase;top:15px}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.feature-icon{animation:iconBounce 2s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:4rem;margin-bottom:20px}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.feature-card:hover .feature-icon{animation:iconSpin .6s ease}@keyframes iconSpin{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(1turn) scale(1)}}.feature-card h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0 0 12px;transition:color .3s ease}.feature-card:hover h3{color:var(--feature-color)}.feature-card p{color:#7f8c8d;flex:1 1;font-size:1rem;line-height:1.6;margin:0 0 20px}.feature-arrow{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:50%;color:var(--feature-color);display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.feature-card:hover .feature-arrow{background:var(--feature-color);color:#fff;transform:translateX(5px)}.feature-lock{align-items:center;background:#e74c3c1a;border-radius:12px;bottom:15px;color:#e74c3c;display:flex;font-size:.75rem;font-weight:600;gap:5px;left:50%;padding:4px 12px;position:absolute;transform:translateX(-50%)}@media (max-width:1024px){.features-grid{gap:25px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.new-features-section{margin:40px auto}.new-features-section h2{font-size:2rem}.features-grid{gap:20px;grid-template-columns:1fr}.feature-card{padding:30px 25px}.feature-icon{font-size:3rem}.feature-card h3{font-size:1.3rem}}@media (prefers-color-scheme:dark){.feature-card{background:#2c3e50}.feature-card h3{color:#fff}.feature-card p{color:#bdc3c7}}.feature-card:focus{outline:3px solid var(--feature-color);outline-offset:2px}.feature-card:focus:not(:focus-visible){outline:none}.features-grid.loading .feature-card{opacity:.5;pointer-events:none}@media (hover:none){.feature-card:active{transform:scale(.98)}}.admin-layout{background:radial-gradient(circle at 20% 20%,#ffde7959,#0000 40%),linear-gradient(120deg,#f6f7ff,#fff8f4 60%,#f2f8ff);display:flex;min-height:100vh}.admin-sidebar{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0f1446d9;border-right:1px solid #ffffff14;color:#fff;display:flex;flex-direction:column;padding:32px 24px;width:280px}.admin-header h1{font-size:1.6rem}.admin-header p{color:#fffc;margin-top:4px}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:8px;margin-top:24px}.nav-item{align-items:center;border-radius:var(--radius-md);color:#ffffffb3;display:flex;gap:12px;padding:14px 16px;text-decoration:none;transition:background var(--transition-snappy),color var(--transition-snappy)}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:linear-gradient(120deg,#5a60ff,#b28dff);color:#fff}.nav-icon{font-size:1.2rem}.signout-btn{background:linear-gradient(120deg,#f093fb,#f5576c);margin-top:24px;padding:12px 18px}.admin-content{display:flex;flex:1 1;flex-direction:column;gap:24px;padding:40px}.admin-topbar{align-items:center;background:#ffffffe6;border:1px solid #5a60ff1a;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;padding:24px 32px}.primary-cta{background:linear-gradient(120deg,var(--theme-primary),var(--theme-accent));border:none;border-radius:999px;box-shadow:0 12px 30px #5a60ff40;color:#fff;font-weight:700;padding:12px 22px}.admin-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-stat-card{background:#ffffffe6;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.stat-label{color:var(--gray-500);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.stat-value{margin:8px 0}.stat-trend{color:var(--gray-500)}.admin-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.action-chip{align-items:center;background:#ffffffd9;border:1px dashed #5a60ff66;border-radius:var(--radius-md);color:var(--gray-500);display:inline-flex;font-weight:600;gap:8px;padding:10px 16px}.admin-panel{background:#ffffffeb;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex:1 1;padding:24px}@media (max-width:960px){.admin-layout{flex-direction:column}.admin-sidebar{flex-direction:row;overflow-x:auto;width:100%}.admin-content{padding:24px}.admin-topbar{flex-direction:column;gap:16px;text-align:center}}.learning-component-picker{background:#f8f9fa;border-radius:12px;margin:0 auto;max-width:1200px;padding:20px}.picker-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.picker-header h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.selection-count{color:#6c757d;font-size:.9rem;margin:4px 0 0}.done-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.done-btn:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.done-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.picker-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-bar{background:#fff;border-radius:8px;min-width:300px}.filter-controls{flex-wrap:wrap;gap:8px}.filter-controls select{border-radius:6px;font-size:.85rem;min-width:140px;padding:8px 12px}.selected-components{background:#fff;border:2px solid #e9ecef;border-radius:8px;margin-bottom:24px;padding:16px}.selected-components h4{color:#2c3e50;font-size:1.1rem;margin:0 0 12px}.selected-list{display:flex;flex-wrap:wrap;gap:8px}.selected-item{background:#667eea;border-radius:20px;font-size:.85rem;font-weight:500;gap:8px;padding:8px 12px}.selected-item,.selected-item .remove-btn{align-items:center;color:#fff;display:flex}.selected-item .remove-btn{background:none;border:none;border-radius:50%;cursor:pointer;justify-content:center;padding:2px;transition:background-color .3s ease}.selected-item .remove-btn:hover{background:#fff3}.components-grid-container{margin-bottom:24px}.component-group{margin-bottom:32px}.components-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (max-width:768px){.components-grid{grid-template-columns:1fr}}.component-card{border-radius:12px;cursor:pointer}.component-card.selected{background:linear-gradient(135deg,#f8fff9,#e8f5e9);border-color:#28a745}.selection-indicator{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.component-card.selected .selection-indicator{background:#28a745;color:#fff}.card-content{padding:16px}.card-content h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.component-meta{margin-bottom:12px}.card-actions{background:#f8f9fa;border-top:1px solid #e9ecef;padding:16px}.preview-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.preview-btn:hover{background:#5a6fd8}.no-components{grid-column:1/-1;padding:40px}.preview-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.preview-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.preview-header{border-bottom:1px solid #e9ecef;padding:24px}.preview-header h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.close-btn:hover{color:#2c3e50}.preview-body{padding:24px}.preview-description{color:#2c3e50;font-size:1rem;line-height:1.6;margin:0 0 24px}.preview-details{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.detail-row{align-items:center;justify-content:space-between;margin-bottom:8px}.detail-row:last-child{margin-bottom:0}.detail-row strong{color:#495057;font-weight:600}.detail-row span{align-items:center;color:#2c3e50;display:flex;gap:6px}.preview-config h4,.preview-tags h4{color:#2c3e50;font-size:1.1rem;margin:0 0 12px}.config-list{display:flex;flex-direction:column;gap:8px}.config-item{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:8px}.config-item svg{color:#28a745;flex-shrink:0}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.preview-footer{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:24px}.select-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .3s ease}.select-btn:hover{background:#218838}.component-picker-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{height:40px;width:40px}@media (max-width:768px){.learning-component-picker{padding:16px}.picker-filters{flex-direction:column}.search-bar{min-width:auto}.filter-controls{flex-wrap:wrap}.filter-controls select{flex:1 1;min-width:120px}.components-grid{gap:16px;grid-template-columns:1fr}.preview-modal{padding:10px}.preview-content{max-height:90vh}}@media (max-width:480px){.picker-header{gap:8px}.component-meta,.picker-header{align-items:flex-start;flex-direction:column}.selected-list{flex-direction:column}.selected-item{justify-content:space-between}}.course-components-manager{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.manager-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:24px}.header-info h3{align-items:center;display:flex;font-size:1.5rem;font-weight:600;gap:12px;margin:0 0 4px}.entity-type{font-size:.9rem;margin:0;opacity:.9}.header-stats{gap:24px}.stat-label{font-size:.8rem}.manager-tabs{background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex}.tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:8px;margin-bottom:-2px;padding:16px 24px;transition:all .3s ease}.tab:hover{background:#0000000d;color:#495057}.tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.manager-content{max-height:600px;min-height:400px;overflow-y:auto}.components-preview{padding:24px}.components-preview h4{color:#2c3e50;font-size:1.3rem;margin:0 0 20px}.empty-state{color:#6c757d}.empty-state p{margin:0 0 16px}.add-components-btn{background:#667eea;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.add-components-btn:hover{background:#5a6fd8}.preview-content{display:flex;flex-direction:column;gap:24px}.component-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.component-group h5{align-items:center;color:#2c3e50;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 16px}.component-list{display:flex;flex-direction:column;gap:12px}.component-preview-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:16px}.item-header{margin-bottom:8px}.item-header h6{color:#2c3e50;font-size:1rem;font-weight:600;margin:0}.time-badge{align-items:center;background:#e9ecef;color:#495057;display:flex;font-weight:500;gap:4px}.item-description{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0 0 12px}.item-tags{display:flex;flex-wrap:wrap;gap:6px}.components-settings{padding:24px}.components-settings h4{color:#2c3e50;font-size:1.3rem;margin:0 0 24px}.settings-section{margin-bottom:32px}.settings-section h5{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 16px}.setting-item{margin-bottom:12px}.setting-item label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:.95rem;gap:12px}.setting-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.setting-item input[type=number]{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;margin:0 8px;padding:6px 8px;width:80px}.manager-actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:24px}.components-manager-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.components-manager-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#667eea;height:48px;margin-bottom:16px;width:48px}@media (max-width:768px){.manager-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.header-stats{gap:32px}.manager-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab{font-size:.9rem;padding:14px 20px;white-space:nowrap}.manager-content{max-height:500px}.components-preview,.components-settings{padding:20px}.component-group{padding:16px}.manager-actions{padding:20px}.cancel-btn,.save-btn{font-size:.9rem;padding:10px 20px}}@media (max-width:480px){.manager-header{padding:16px}.header-info h3{font-size:1.3rem}.header-stats{justify-content:space-around;width:100%}.stat-value{font-size:1.5rem}.tab{font-size:.85rem;padding:12px 16px}.components-preview,.components-settings{padding:16px}.component-preview-item{padding:12px}.manager-actions{flex-direction:column;padding:16px}.cancel-btn,.save-btn{justify-content:center;width:100%}}.courses-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.modal-content{width:95%}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:10px;transition:border-color .3s;width:100%}.topics-section{margin-bottom:20px}.topics-section>label{color:#555;display:block;font-weight:700;margin-bottom:10px}.topic-item{background:#f9f9f9;border:2px solid #e0e0e0;flex-direction:column;gap:10px;margin-bottom:20px}.topic-item>input:first-of-type,.topic-item>textarea:first-of-type{border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;padding:8px}.topic-item>textarea:first-of-type{min-height:60px}.topic-item>input[type=date],.topic-item>input[type=number]{border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;padding:8px;width:150px}.sample-code-section{margin-top:10px;width:100%}.sample-code-section label{color:#555;display:block;font-size:.9rem;font-weight:700;margin-bottom:8px}.code-textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:.85rem;min-height:120px;padding:10px;resize:vertical;width:100%}.code-textarea:focus{background:#fff;border-color:#667eea;outline:none}.remove-btn{background:#f5576c;color:#fff}.config-btn,.remove-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 12px}.config-btn{margin-right:8px}.config-btn:hover{box-shadow:0 4px 12px #667eea4d}.component-config-modal{max-height:90vh;max-width:1200px;overflow-y:auto;width:95%}.add-topic-btn{background:#4facfe;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:10px;padding:10px 20px}.courses-management-list{display:flex;flex-direction:column;gap:15px;margin-top:30px}.topic-date-badge{background:#4caf50;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px}.topic-config-btn{background:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;min-width:32px;padding:6px 8px;transition:all .3s ease}.topic-config-btn:hover{background:#f57c00;transform:scale(1.05)}.topic-sample-code{margin-top:15px}.topic-sample-code h5{color:#555;font-size:.9rem;margin:0 0 10px}.topic-sample-code pre{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;font-size:.85rem;overflow-x:auto;padding:12px}.topic-sample-code code{font-family:Courier New,monospace}.config-btn,.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;min-width:40px;padding:8px 12px;transition:all .3s ease}.config-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.config-btn:hover{background:linear-gradient(135deg,#5568d3,#667eea)}.config-btn:hover,.edit-btn:hover{transform:translateY(-1px)}.delete-btn{background:#ff6b6b}.delete-btn:hover{background:#ff5252;transform:translateY(-1px)}.course-actions{margin-top:15px}.delete-btn,.edit-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.session-component-config{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.session-config-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-spinner{margin-bottom:16px}.config-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px}.config-header h3{align-items:center;display:flex;font-size:1.5rem;font-weight:600;gap:12px;margin:0 0 8px}.config-header p{font-size:.95rem;line-height:1.5;margin:0;opacity:.9}.picker-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:16px;max-height:80vh;max-width:900px;width:100%}.modal-header h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0}.close-btn{color:#6c757d}.close-btn:hover{background:#f8f9fa;color:#495057}.modal-body{padding:20px}.config-sections{padding:24px}.config-section{margin-bottom:32px}.config-section:last-child{margin-bottom:0}.section-header{margin-bottom:16px}.section-header h4{align-items:center;color:#2c3e50;display:flex;font-size:1.2rem;font-weight:600;gap:8px;margin:0}.add-btn{font-size:.9rem;padding:8px 16px}.add-btn:hover{background:#218838}.inheritance-badge{background:#e9ecef;border-radius:12px;color:#6c757d;font-size:.75rem;font-weight:500;padding:4px 8px}.empty-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;padding:40px 20px;text-align:center}.empty-section p{margin:0 0 4px}.empty-section .hint{font-size:.85rem;font-style:italic}.components-list{gap:16px}.component-config-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:all .3s ease}.component-config-card:hover{border-color:#dee2e6;box-shadow:0 4px 15px #0000000d}.component-config-card.inherited{background:#f8f9fa;border-color:#dee2e6}.card-header{align-items:flex-start;margin-bottom:12px}.component-info h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.component-meta{align-items:center}.difficulty-badge{color:#fff;text-transform:capitalize}.source-badge{background:#6c757d;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px}.component-config-card.inherited .source-badge{background:#17a2b8}.card-actions{gap:8px}.action-btn{border:1px solid #dee2e6;border-radius:6px;padding:6px}.action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.action-btn.danger:hover{background:#dc3545;border-color:#dc3545;color:#fff}.component-description{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0 0 16px}.component-configuration{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.component-configuration h6{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 12px}.config-fields{display:flex;flex-direction:column;gap:12px}.config-field{align-items:center;display:flex;gap:12px}.config-field label{color:#495057;font-size:.9rem;font-weight:500;min-width:120px}.config-field input[type=text]{border:1px solid #ced4da;border-radius:4px;flex:1 1;font-size:.9rem;padding:6px 8px}.config-field input[type=checkbox]{height:18px;width:18px}.config-field input:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.config-actions{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:24px}.save-btn{align-items:center;background:#28a745;border-radius:8px;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:background-color .3s ease}.save-btn:hover:not(:disabled){background:#218838}.save-btn:disabled{background:#6c757d}.btn-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.config-header{padding:20px}.config-header h3{font-size:1.3rem}.config-sections{padding:20px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.add-btn{justify-content:center;width:100%}.component-config-card{padding:16px}.card-header{flex-direction:column;gap:12px}.card-actions{justify-content:flex-end;width:100%}.config-field{align-items:flex-start;flex-direction:column;gap:6px}.config-field label{min-width:auto}.config-actions{flex-direction:column;padding:20px}.cancel-btn,.save-btn{justify-content:center;width:100%}}@media (max-width:480px){.config-header,.config-sections{padding:16px}.component-config-card,.component-configuration{padding:12px}.config-actions{padding:16px}}.sessions-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:10px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.courses-management{gap:30px}.course-section{background:#fff;border:1px solid #e0e0e0;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.course-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px}.course-header h2{font-size:1.8rem;font-weight:600;margin:0}.course-header .course-actions{display:flex;gap:10px}.course-components-section,.course-details-section,.registration-details-section,.students-details-section,.topics-section{border-bottom:1px solid #f0f0f0;padding:25px 30px}.course-components-section{border-bottom:none}.course-components-section h3,.course-details-section h3,.registration-details-section h3,.students-details-section h3,.topics-section h3{border-bottom:2px solid #667eea;color:#333;font-size:1.3rem;font-weight:600;margin:0 0 20px;padding-bottom:8px}.course-details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.course-details-grid .detail-item{align-items:center;background:#f8f9ff;border-left:4px solid #667eea;border-radius:8px;display:flex;justify-content:space-between;padding:12px 15px}.course-details-grid .detail-label{color:#555;font-weight:600}.course-details-grid .detail-item span:last-child{color:#333;font-weight:500}.config-components-btn,.deactivate-btn,.delete-btn,.edit-btn,.view-details-btn,.view-students-btn,.view-topics-btn{border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 15px;text-align:center;transition:all .3s ease}.view-details-btn{background:#fff3;color:#fff}.view-details-btn:hover{background:#ffffff4d}.view-students-btn{background:#4caf50cc}.view-students-btn:hover{background:#4caf50}.view-topics-btn{background:#ff9800cc;color:#fff}.view-topics-btn:hover{background:#ff9800}.config-components-btn{background:#9c27b0cc}.config-components-btn:hover{background:#9c27b0}.edit-btn{background:#2196f3cc}.edit-btn:hover{background:#2196f3}.delete-btn{background:#f44336cc}.delete-btn:hover{background:#f44336}.deactivate-btn{background:#ff5722cc}.deactivate-btn:hover{background:#ff5722}.course-details-panel{background:#ffffff1a;border:1px solid #fff3;border-radius:15px;margin-top:20px;padding:20px}.registration-details-section,.students-details-section,.topics-section{background:#fff;border-radius:15px;color:#333;margin-bottom:25px;padding:20px}.registration-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:15px}.stat-item{align-items:center;background:#f8f9ff;border-left:4px solid #667eea;border-radius:10px;justify-content:space-between;padding:15px}.stat-label{font-weight:600}.students-list{gap:15px;margin-top:15px}.student-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px;display:flex;justify-content:space-between}.student-info{flex-direction:column;gap:5px}.student-info strong{color:#333}.student-stats{display:flex;flex-wrap:wrap;gap:15px}.student-stats .stat{background:#e8f5e9;border-radius:15px;color:#2e7d32;font-size:.8rem;padding:5px 10px}.student-actions{flex-wrap:wrap}.classroom-toggle-btn,.homework-btn,.rewards-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;padding:8px 12px;transition:all .3s ease}.classroom-toggle-btn{background:#4caf50;color:#fff}.classroom-toggle-btn.enabled{background:#f44336}.classroom-toggle-btn.disabled{background:#4caf50}.rewards-btn{background:#ffc107;color:#333}.homework-btn{background:#2196f3;color:#fff}.topics-list{gap:15px}.topic-item{background:#f8f9ff;border:1px solid #e0e0e0;border-left:4px solid #667eea;border-radius:12px;margin-bottom:15px;padding:20px}.topic-header{align-items:flex-start}.topic-info h4{color:#333;font-size:1.2rem;margin-bottom:8px}.topic-desc{font-size:.95rem;line-height:1.4;margin-bottom:8px}.topic-hours{background:#667eea1a;border-radius:6px;color:#667eea;display:inline-block;padding:4px 8px}.topic-actions{margin-left:15px}.add-components-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 16px;transition:all .3s ease;white-space:nowrap}.add-components-btn:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.topic-components{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:15px}.topic-components h5{color:#555;font-size:1rem;font-weight:600;margin:0 0 12px}.components-list{display:flex;flex-direction:column;gap:10px}.component-item{align-items:center;background:#f0f4ff;border-left:3px solid #2196f3;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.component-name{color:#333;font-weight:500}.original-name{font-size:.85rem;margin-left:8px;opacity:.7}.configure-content-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:4px 8px;transition:background .3s ease}.configure-content-btn:hover{background:#1976d2}.modal-header{background:#f8f9ff;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;padding:20px}.modal-header h3{color:#333}.close-btn{color:#666;padding:5px}.content-config-body{max-height:60vh;overflow-y:auto;padding:25px}.advanced-settings,.component-description,.component-info,.configuration-options{margin-bottom:25px}.advanced-settings h4,.component-description h4,.component-info h4,.configuration-options h4{border-bottom:2px solid #667eea;color:#555;font-size:1.1rem;font-weight:600;margin:0 0 15px;padding-bottom:5px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{background:#f0f4ff;border-left:3px solid #667eea;border-radius:6px;justify-content:space-between;padding:10px}.info-item .label{color:#555;font-weight:600}.info-item .value{color:#333;font-weight:500}.component-description p{background:#fafafa;border-left:3px solid #ddd;border-radius:6px;color:#666;line-height:1.6;margin:0;padding:15px}.config-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:.95rem}.form-input,.form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px;transition:all .3s ease}.form-input:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{color:#555;font-size:.95rem;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#667eea}.modal-footer{background:#f8f9ff;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;gap:15px;padding:20px}.cancel-btn,.save-btn{font-weight:500;transition:all .3s ease}.cancel-btn:hover{background:#d0d0d0}.save-btn:hover{box-shadow:0 4px 12px #667eea4d}.no-students,.no-topics{color:#999;font-style:italic;padding:20px;text-align:center}.rewards-modal{max-height:80vh;max-width:600px;overflow-y:auto}.rewards-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:20px 0}.reward-item{background:linear-gradient(135deg,#fff9c4,#ffeb3b);border:2px solid #fbc02d;border-radius:15px;padding:20px;text-align:center}.reward-item h3{color:#f57c00;margin-bottom:10px}.reward-item p{color:#666;margin-bottom:15px}.award-reward-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .3s ease}.award-reward-btn:hover{box-shadow:0 4px 15px #ff980066;transform:translateY(-2px)}.homework-modal{max-height:80vh;max-width:700px;overflow-y:auto}.homework-content{margin:20px 0}.homework-section{margin-bottom:30px}.homework-section h3{border-bottom:2px solid #667eea;color:#667eea;margin-bottom:15px;padding-bottom:5px}.assignment-item{align-items:center;background:#f8f9ff;border-left:4px solid #667eea;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.assignment-item h4{color:#333;margin-bottom:5px}.assignment-item p{color:#666;font-size:.9rem}.status.pending{color:#ff9800;font-weight:700}.status.completed{color:#4caf50;font-weight:700}.mark-complete-btn,.view-submission-btn{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;padding:8px 15px;transition:all .3s ease}.mark-complete-btn{background:#4caf50}.view-submission-btn{background:#2196f3}.add-assignment-form{display:flex;flex-direction:column;gap:15px}.assignment-input,.assignment-textarea{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;padding:12px}.assignment-input:focus,.assignment-textarea:focus{border-color:#667eea;outline:none}.assignment-textarea{min-height:100px;resize:vertical}.add-assignment-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:12px 20px;transition:all .3s ease}.add-assignment-btn:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.sessions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.courses-management{display:flex;flex-direction:column;gap:15px}.course-row{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.course-row:hover{box-shadow:0 4px 16px #00000026}.course-row-header{align-items:center;background:linear-gradient(135deg,#f8f9ff,#fff);border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background .3s ease}.course-row-header:hover{background:linear-gradient(135deg,#e8ecff,#f8f9ff)}.course-row-info{align-items:center;display:flex;flex:1 1;gap:15px}.course-expand-icon{font-size:1.5rem;transition:transform .3s ease}.course-basic-info{flex:1 1}.course-title{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 8px}.course-meta{display:flex;flex-wrap:wrap;gap:15px}.meta-item{background:#f0f4ff;border:1px solid #e0e7ff;border-radius:15px;color:#666;font-size:.85rem;padding:4px 10px}.meta-item.status{font-weight:600}.course-row-actions{display:flex;gap:8px}.course-row-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;min-width:40px;padding:8px 12px;transition:all .3s ease}.course-expanded-content{background:#fff;border-top:1px solid #f0f0f0}.course-details-expanded{border-bottom:1px solid #f0f0f0;padding:20px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.detail-card{background:#f8f9ff;border-left:4px solid #667eea;border-radius:8px;padding:15px}.detail-card h4{color:#667eea;font-size:1rem;margin:0 0 10px}.detail-card p{color:#666;font-size:.9rem;margin:5px 0}.students-expanded{border-bottom:1px solid #f0f0f0;padding:20px}.students-expanded h4{color:#333;margin:0 0 15px}.students-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.student-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;transition:all .3s ease}.student-card:hover{background:#f0f4ff;border-color:#667eea}.student-header strong{color:#333;display:block;margin-bottom:4px}.student-actions{gap:8px}.student-actions button.small{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;min-width:32px;padding:6px 8px;transition:all .3s ease}.topics-expanded{padding:20px}.topics-expanded h4{color:#333;margin:0 0 15px}.topics-row-list{display:flex;flex-direction:column;gap:10px}.topic-row{background:#f8f9ff;border:1px solid #e0e7ff;border-radius:8px;overflow:hidden;transition:all .3s ease}.topic-row:hover{background:#e8ecff;border-color:#667eea}.topic-row-header{align-items:center;background:#ffffff80;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:background .3s ease}.topic-row-header:hover{background:#fffc}.topic-row-info{align-items:center;display:flex;flex:1 1;gap:12px}.topic-expand-icon{font-size:1.2rem;transition:transform .3s ease}.topic-basic-info{align-items:center;display:flex;flex:1 1;gap:10px}.topic-basic-info strong{color:#333;font-size:1rem}.components-count,.topic-hours{border-radius:10px;font-size:.75rem;padding:2px 8px}.components-count{background:#4caf50;color:#fff;font-weight:600}.topic-row-actions{display:flex;gap:6px}.topic-row-actions button.small{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;min-width:32px;padding:6px 8px;transition:all .3s ease}.topic-expanded-content{background:#fff;border-top:1px solid #e0e0e0;padding:15px}.topic-description{background:#f9f9f9;border-radius:6px;color:#666;font-style:italic;padding:10px}.topic-components-list h5{color:#555;font-size:.95rem;margin:0 0 10px}.components-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.component-card{align-items:center;background:#f0f4ff;border:1px solid #e0e7ff;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.component-card:hover{background:#e8ecff}.component-info{flex:1 1}.component-info strong{color:#333;display:block;font-size:.9rem;margin-bottom:4px}.original-name{color:#666;font-size:.75rem;font-style:italic}.configure-content-btn.small{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:6px 8px;transition:all .3s ease}.configure-content-btn.small:hover{background:#1976d2}.no-components{background:#fafafa;border:1px dashed #ddd;border-radius:6px;color:#999;font-style:italic;padding:20px}.course-components-section{background:linear-gradient(135deg,#f8f9ff,#e8ecff);border-radius:20px;box-shadow:0 8px 25px #667eea26;margin-top:40px;padding:30px}.course-components-section h2{color:#667eea;font-size:1.8rem;margin-bottom:10px}.section-description{font-size:1rem;line-height:1.6;margin-bottom:30px}.courses-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.course-config-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.course-config-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.course-config-card h3{color:#667eea;font-size:1.3rem;margin-bottom:10px}.course-desc{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:20px}.course-config-actions{display:flex;flex-direction:column;gap:10px}.config-course-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:12px 20px;transition:all .3s ease}.config-course-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.config-topics-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:12px 20px;transition:all .3s ease}.config-topics-btn:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.session-card{padding:20px}.session-card h3{font-size:1.3rem}.session-card h3,.session-details{margin-bottom:15px}.session-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.attendance-btn,.config-components-btn,.delete-btn,.edit-btn,.view-reg-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:700;min-width:120px;padding:8px 16px;transition:all .3s ease}.attendance-btn{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.attendance-btn:hover{background:linear-gradient(135deg,#f57c00,#ff9800)}.view-reg-btn{background:#667eea;color:#fff}.view-reg-btn:hover{background:#5568d3}.config-components-btn{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.config-components-btn:hover{background:linear-gradient(135deg,#7c3aed,#8b5cf6);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.join-classroom-btn{margin-right:10px}.registrations-panel{background:#f9f9f9;border-radius:10px;border-top:3px solid #667eea;margin-top:20px;padding:20px}.panel-header{flex-wrap:wrap;gap:15px}.registrations-panel h4{color:#667eea;font-size:1.1rem;margin:0}.bulk-classroom-actions{display:flex;flex-wrap:wrap;gap:10px}.disable-all-classroom-btn,.enable-all-classroom-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.enable-all-classroom-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.enable-all-classroom-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.disable-all-classroom-btn{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.disable-all-classroom-btn:hover{box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.classroom-status{margin:10px 0}.classroom-badge{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:700;padding:6px 14px}.classroom-badge.enabled{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.classroom-badge.disabled{background:#e0e0e0;color:#666}.classroom-actions{margin-bottom:10px}.disable-classroom-btn,.enable-classroom-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.enable-classroom-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.enable-classroom-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.disable-classroom-btn{background:linear-gradient(135deg,#f44336,#e57373);color:#fff}.disable-classroom-btn:hover{box-shadow:0 4px 12px #f4433666;transform:translateY(-2px)}.assign-student-section{border-bottom:2px solid #e0e0e0;margin-bottom:20px;padding-bottom:20px}.assign-student-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.assign-student-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.assign-student-form{padding:20px 0}.students-list-select{margin:20px 0;max-height:400px;overflow-y:auto}.student-select-item{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.student-info-select{display:flex;flex-direction:column;gap:5px}.student-info-select strong{color:#333;font-size:1rem}.student-email-select{color:#666;font-size:.85rem}.assign-student-to-session-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.assign-student-to-session-btn:hover:not(.disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.assign-student-to-session-btn.disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.no-registrations{color:#999;font-style:italic;padding:20px;text-align:center}.registrations-list{display:flex;flex-direction:column;gap:12px}.registration-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:15px}.registration-item.pending{border-left-color:#ffa726}.registration-item.active{border-left-color:#4caf50}.registration-item.cancelled{border-left-color:#f5576c;opacity:.7}.reg-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.reg-info strong{color:#555;font-size:1rem}.reg-date{color:#999;font-size:.85rem;margin-bottom:10px}.reg-actions{display:flex;gap:10px;margin-top:10px}.approve-btn,.cancel-reg-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;padding:6px 12px;transition:all .3s ease}.approve-btn{background:#4caf50;color:#fff}.approve-btn:hover{background:#45a049}.cancel-reg-btn{background:#f5576c;color:#fff}.cancel-reg-btn:hover{background:#e0455a}.form-group textarea{font-family:inherit;padding:10px}.form-group textarea:focus{border-color:#667eea}.topic-dates-section{background:#f9f9f9;border-left:3px solid #667eea;border-radius:10px;margin-top:20px;padding:20px}.topic-date-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:15px}.topic-date-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.topic-date-header strong{color:#667eea;font-size:1rem}.add-date-btn-small{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:6px 12px}.add-date-btn-small:hover{background:#5568d3}.date-input-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.date-input-row input[type=date]{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:.9rem;padding:8px}.date-input-row input[type=date]:focus{border-color:#667eea;outline:none}.remove-date-btn{background:#f5576c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:8px 12px}.remove-date-btn:hover{background:#e0455a}.no-dates-hint{color:#999;font-size:.85rem;font-style:italic;margin:10px 0 0}.attendance-modal{max-width:90%;width:1000px}.attendance-topics{display:flex;flex-direction:column;gap:30px;margin:20px 0}.attendance-topic-section{background:#f9f9f9;border-left:4px solid #667eea;border-radius:10px;padding:20px}.attendance-topic-section h3{color:#667eea;font-size:1.2rem;margin:0 0 15px}.attendance-dates-table{overflow-x:auto}.attendance-dates-table table{background:#fff;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.attendance-dates-table th{background:#667eea;border-right:1px solid #fff3;color:#fff;font-size:.9rem;font-weight:700;padding:12px;text-align:left}.attendance-dates-table th:first-child{min-width:150px}.attendance-dates-table td{border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:10px 12px}.attendance-dates-table tr:last-child td{border-bottom:none}.attendance-dates-table td:last-child,.attendance-dates-table th:last-child{border-right:none}.attendance-select{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.9rem;min-width:120px;padding:6px 10px;transition:all .3s ease}.attendance-select:focus{border-color:#667eea;outline:none}.attendance-select.attended{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.attendance-select.not-attended{background:#ffebee;border-color:#f44336;color:#c62828}.attendance-select.absent{background:#fff3e0;border-color:#ff9800;color:#e65100}.no-dates-msg{background:#f5f5f5;border-radius:6px;color:#999;font-style:italic;padding:15px;text-align:center}.topic-classroom-section{border-radius:15px;margin-bottom:25px;padding:25px}.topic-classroom-section .panel-header{margin-bottom:20px}.topic-classroom-section h4{color:#667eea;font-size:1.4rem;margin:0 0 10px}.section-description{color:#666;font-size:.95rem;font-style:italic;margin:0}.topics-classroom-list{display:flex;flex-direction:column;gap:15px}.topic-classroom-item{align-items:center;background:#fff;border-left:5px solid #667eea;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:20px;justify-content:space-between;padding:20px;transition:all .3s ease}.topic-classroom-item:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.topic-info{flex:1 1}.topic-info h5{color:#333;font-size:1.2rem;margin:0 0 8px}.topic-info .topic-desc{color:#666;font-size:.9rem;line-height:1.5;margin:5px 0}.topic-info .topic-hours{background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:.85rem;font-weight:700;margin-top:5px;padding:4px 10px}.topic-classroom-status{align-items:center;display:flex;flex-direction:column;gap:8px}.topic-classroom-status .status-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:8px 16px;white-space:nowrap}.topic-classroom-status .status-badge.live{animation:pulse 2s infinite;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.topic-classroom-status .status-badge.offline{background:#e2e8f0;color:#666}.topic-classroom-status .enabled-time{color:#666;font-size:.75rem}.topic-classroom-actions{display:flex;gap:10px}.disable-topic-btn,.enable-topic-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.enable-topic-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.enable-topic-btn:hover{box-shadow:0 6px 16px #48bb7866;transform:translateY(-2px)}.disable-topic-btn{background:linear-gradient(135deg,#fc8181,#f56565);color:#fff}.disable-topic-btn:hover{box-shadow:0 6px 16px #f5656566;transform:translateY(-2px)}.registrations-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}@media (max-width:768px){.topic-classroom-item{align-items:stretch;flex-direction:column}.disable-topic-btn,.enable-topic-btn,.topic-classroom-actions,.topic-classroom-status{width:100%}}.component-config-modal{box-sizing:border-box!important;margin:0!important;transform:none!important;z-index:9999!important}.component-config-modal,body .component-config-modal{align-items:center!important;bottom:0!important;display:flex!important;justify-content:center!important;left:0!important;position:fixed!important;right:0!important;top:0!important}.component-config-modal .modal-content{left:auto!important;margin:0!important;max-width:1200px;position:relative!important;top:auto!important;transform:none!important;width:95%}.homework-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.add-btn:hover{box-shadow:0 6px 20px #667eea66}.modal-content{max-width:600px}.form-group input,.form-group select,.form-group textarea{border-radius:8px;padding:10px;transition:border-color .3s;width:100%}.homeworks-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.homework-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:20px;transition:transform .3s ease}.homework-card:hover{transform:translateY(-5px)}.homework-card h3{color:#667eea;font-size:1.3rem;margin-bottom:10px}.homework-details{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.detail-label{min-width:100px}.homework-actions{margin-top:15px}.delete-btn,.edit-btn,.view-submissions-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.view-submissions-btn{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.view-submissions-btn:hover{background:linear-gradient(135deg,#f57c00,#ff9800);transform:translateY(-2px)}.edit-btn{background:#4facfe;color:#fff}.edit-btn:hover{background:#3d9be8}.submissions-modal{max-width:900px}.submissions-list{display:flex;flex-direction:column;gap:20px;margin:20px 0;max-height:600px;overflow-y:auto}.submission-item{background:#f9f9f9;border-left:4px solid #667eea;border-radius:10px;padding:20px}.submission-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.submission-header strong{color:#667eea;display:block;font-size:1.1rem}.submission-date{color:#999;display:block;margin-top:5px}.grade-badge{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:15px;color:#fff;font-size:.9rem;font-weight:700;padding:6px 12px}.submission-content{margin-top:15px}.answer-display{word-wrap:break-word;background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:8px;min-height:80px;padding:15px;white-space:pre-wrap}.files-list{margin-top:8px}.grading-form{background:#fff;border:2px solid #667eea;border-radius:8px;margin-top:15px;padding:15px}.submission-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:15px}.feedback-display{flex:1 1;min-width:200px}.grade-btn,.save-grade-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.grade-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.grade-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.save-grade-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.save-grade-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.no-submissions{color:#999;font-size:1.1rem;padding:40px;text-align:center}.form-hint{color:#999;display:block;font-size:.85rem;font-style:italic;margin-top:5px}.students-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.page-header h1{color:#667eea}.students-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.student-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:20px;transition:transform .3s ease}.student-card:hover{transform:translateY(-5px)}.student-card.inactive{opacity:.6}.student-header{margin-bottom:10px}.student-header h3{color:#667eea;font-size:1.3rem}.status-badge{padding:5px 12px}.status-badge.inactive{background:#f5576c;color:#fff}.student-email{color:#666;font-size:.9rem}.student-courses,.student-email{margin-bottom:15px}.student-courses strong{color:#555;display:block;margin-bottom:8px}.no-courses{color:#999;font-style:italic}.courses-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.course-badge{background:#fff;border-radius:20px;color:#667eea;font-size:.85rem;font-weight:500;padding:6px 12px}.student-actions{display:flex;gap:10px;margin-top:15px}.assign-btn,.coach-btn,.remove-coach-btn,.status-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.activate-btn{background:#4caf50;color:#fff}.activate-btn:hover{background:#45a049}.deactivate-btn{background:#f5576c;color:#fff}.deactivate-btn:hover{background:#e0455a}.assign-btn{background:#4facfe;color:#fff}.assign-btn:hover{background:#3d9be8}.coach-btn{background:#4caf50;color:#fff}.coach-btn:hover{background:#45a049}.remove-coach-btn{background:#ff9800;color:#fff}.remove-coach-btn:hover{background:#f57c00}.user-type-badge{background:#f5f5f5;border-radius:8px;font-size:.9rem;margin-bottom:10px;padding:8px 12px}.student-info{margin-bottom:15px}.courses-selection{display:flex;flex-direction:column;gap:12px;margin:20px 0;max-height:300px;overflow-y:auto}.course-checkbox{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:all .3s ease}.course-checkbox:hover{background:#f0f0f0;border-color:#667eea}.course-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.no-courses-msg{color:#999;font-style:italic;padding:20px;text-align:center}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px}.add-python-course{margin:0 auto;max-width:900px;padding:30px}.add-python-course h1{color:#667eea;margin-bottom:30px;text-align:center}.course-preview{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;padding:25px}.course-preview h2{color:#764ba2;font-size:1.8rem;margin-bottom:15px}.course-description{font-size:1.1rem;margin-bottom:25px}.topics-preview h3{color:#667eea;font-size:1.3rem;margin-bottom:15px}.topics-preview ul{list-style:none;padding:0}.topics-preview li{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:15px;padding:15px 20px;transition:transform .2s}.topics-preview li:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(5px)}.topics-preview li strong{color:#333;display:block;font-size:1.1rem;margin-bottom:8px}.hours-badge{background:#667eea;border-radius:12px;color:#fff;display:inline-block;font-size:.85rem;font-weight:700;margin-left:10px;padding:4px 12px}.topic-description{font-size:.95rem;line-height:1.8;margin-top:10px;white-space:pre-line}.add-course-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:all .3s;width:100%}.add-course-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.add-course-btn:disabled{cursor:not-allowed;opacity:.6}.message{border-radius:10px;font-size:1rem;margin-top:20px;padding:15px 20px;text-align:center}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.initialize-components{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin:20px auto;max-width:600px;padding:24px}.init-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.init-header h3{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0}.init-header .lucide{color:#667eea}.init-status{margin-bottom:24px}.status-message{align-items:center;border-radius:8px;display:flex;font-size:.95rem;gap:8px;padding:12px 16px}.status-message.info{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1}.status-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.status-message.warning{background:#fffbeb;border:1px solid #fed7aa;color:#92400e}.status-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.status-message .lucide{flex-shrink:0}.init-actions{margin-bottom:24px}.action-group{display:flex;flex-direction:column;gap:8px}.init-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;min-height:48px;padding:12px 24px;transition:all .3s ease}.init-btn:disabled{cursor:not-allowed;opacity:.6}.init-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.init-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.init-btn.secondary{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.init-btn.secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.init-btn.danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.init-btn.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.info-text{color:#64748b;font-style:italic;text-align:center}.init-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.init-info h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 12px}.init-info ul{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0;padding-left:20px}.init-info li{margin-bottom:4px}.confirm-dialog-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:450px;overflow:hidden;width:100%}.confirm-dialog-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:20px 20px 16px}.confirm-dialog-header h4{color:#1a202c;font-size:1.2rem;font-weight:600;margin:0}.confirm-dialog-body{padding:20px}.confirm-dialog-body p{color:#4a5568;line-height:1.5;margin:0 0 12px}.confirm-dialog-body p:last-child{margin-bottom:0}.confirm-dialog-actions{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:20px}.confirm-btn{border-radius:6px;flex:1 1;font-size:.95rem;font-weight:500;min-height:40px;padding:10px 16px}.confirm-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-btn.cancel{background:#fff;border:1px solid #d1d5db;color:#6b7280}.confirm-btn.cancel:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.confirm-btn.confirm{background:#dc2626;color:#fff}.confirm-btn.confirm:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}@media (max-width:768px){.initialize-components{margin:10px;padding:20px}.init-header{flex-direction:column;gap:8px;text-align:center}.init-header h3{font-size:1.3rem}.confirm-dialog-overlay{padding:10px}.confirm-dialog{max-width:100%}.confirm-dialog-actions{flex-direction:column}}.debug-components{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;padding:16px}.debug-components h3{color:#1a202c;font-size:1.1rem;margin:0 0 16px}.debug-info{line-height:1.6}.error{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;padding:8px 12px}.empty-warning{background:#fffbeb;border:1px solid #fed7aa;border-radius:4px;margin:12px 0;padding:12px}.empty-warning p{color:#92400e;margin:0 0 4px}.components-list{margin:12px 0}.components-list h4{color:#374151;font-size:1rem;margin:0 0 8px}.component-item{background:#fff;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:8px;padding:8px 12px}.component-item strong{color:#1f2937}.component-item small{color:#6b7280;display:block;margin-top:4px}.refresh-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:12px;padding:8px 16px}.refresh-btn:hover{background:#2563eb}.interactive-learning-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:30px}.interactive-learning-management h1{color:#667eea;font-size:2rem;margin-bottom:30px}.selection-section{background:#f5f5f5;border-radius:10px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.selection-section .form-group{flex:1 1;min-width:200px}.selection-section label{color:#333;display:block;font-weight:700;margin-bottom:8px}.selection-section select{border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:10px;width:100%}.loading-state{color:#999;padding:40px;text-align:center}.content-editor{display:flex;flex-direction:column;gap:30px}.content-section{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:15px;padding:25px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#667eea;font-size:1.5rem;margin:0}.add-btn{background:#4caf50;font-weight:700;padding:10px 20px}.add-btn:hover{background:#45a049}.empty-message{color:#999;font-style:italic;padding:20px;text-align:center}.items-list{display:flex;flex-direction:column;gap:20px}.item-card{background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 2px 5px #0000000d;padding:20px}.item-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.item-header h3{color:#667eea;font-size:1.2rem;margin:0}.delete-btn{background:#f5576c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .3s ease}.delete-btn:hover{background:#e0455a}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:10px;width:100%}.code-textarea{background:#f5f5f5;font-family:Courier New,monospace}.option-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.option-row input[type=text]{flex:1 1}.emoji-input{width:80px!important}.checkbox-label,.radio-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:5px;white-space:nowrap}.checkbox-label input,.radio-label input{cursor:pointer;margin:0;width:auto}.save-section{border-top:3px solid #667eea;margin-top:30px;padding-top:20px;text-align:center}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 40px;transition:all .3s ease}.save-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.content-filters{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.content-filters .search-bar{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:flex;flex:1 1;min-width:250px;padding:12px 16px}.content-filters .search-bar input{border:none;color:#2c3e50;flex:1 1;font-size:.95rem;outline:none}.content-filters .filter-controls{display:flex;flex-wrap:wrap;gap:8px}.content-filters .filter-controls select{background:#fff;border:2px solid #e9ecef;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.85rem;min-width:140px;padding:8px 12px;transition:border-color .3s ease}.content-grid-container,.content-group{margin-bottom:32px}.group-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.group-header,.group-header h3{align-items:center;display:flex}.group-header h3{font-size:1.2rem;font-weight:600;gap:8px;margin:0}.group-count{background:#fff3;border-radius:20px;font-size:.85rem;font-weight:500;padding:4px 12px}.content-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (max-width:768px){.content-grid{grid-template-columns:1fr}}.content-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;position:relative;transition:all .3s ease}.content-card:hover{border-color:#667eea;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.content-card .card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 16px}.content-card .content-type{font-size:1.2rem}.content-card .card-actions{display:flex;gap:8px}.content-card .delete-btn,.content-card .edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:4px 8px;transition:background-color .3s ease}.content-card .edit-btn:hover{background:#667eea1a}.content-card .delete-btn:hover{background:#dc35451a}.content-card .card-content{padding:16px}.content-card .card-content h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 12px}.content-card .card-content p{color:#6c757d;line-height:1.5;margin:0 0 8px}.content-card .card-content pre{background:#f8f9fa;border-radius:6px;font-size:.9rem;margin:8px 0;overflow-x:auto;padding:12px}.content-card .card-content ul{margin:8px 0;padding-left:20px}.content-card .card-content li.correct{color:#28a745;font-weight:600}.content-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.difficulty-badge{border-radius:12px;padding:4px 8px}.difficulty-badge.beginner{background:#d4edda;color:#155724}.difficulty-badge.intermediate{background:#fff3cd;color:#856404}.difficulty-badge.advanced{background:#f8d7da;color:#721c24}.points-badge{background:#e3f2fd;color:#1565c0}.points-badge,.time-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px}.time-badge{background:#f3e5f5;color:#7b1fa2}.no-content{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:40px;text-align:center}.no-content p{color:#6c757d;font-size:1.1rem;margin:0 0 16px}.clear-filters-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s ease}.clear-filters-btn:hover{background:#5a6fd8}.add-content-section{background:#fff;border:2px solid #e9ecef;border-radius:12px;margin-bottom:24px;padding:24px}.add-content-section h3{color:#2c3e50;font-size:1.2rem;margin:0 0 16px}.add-buttons-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.add-content-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 16px;transition:all .3s ease}.add-content-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.content-filters{align-items:stretch;flex-direction:column}.content-filters .search-bar{min-width:auto}.add-buttons-grid{grid-template-columns:1fr}}.points-badges-widget{align-items:center;display:flex;gap:10px;position:relative}.points-display{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:25px;cursor:pointer;display:flex;gap:8px;padding:10px 15px;transition:all .3s ease}.points-display:hover{background:#ffffff4d;transform:scale(1.05)}.points-icon{animation:twinkle 2s infinite;font-size:1.5rem}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.points-value{color:#fff;font-size:1.2rem;font-weight:700}.points-label{color:#ffffffe6;font-size:.9rem}.badges-preview{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:25px;cursor:pointer;display:flex;gap:5px;padding:10px 15px;transition:all .3s ease}.badges-preview:hover{background:#ffffff4d;transform:scale(1.05)}.badge-count{color:#fff;font-size:1rem;font-weight:700}.badge-icon{font-size:1.2rem}.badges-modal{animation:slideDown .3s ease;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;margin-top:10px;max-height:500px;max-width:500px;min-width:350px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.badges-header{align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;border-radius:15px 15px 0 0;display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0}.badges-header h3{color:#667eea;font-size:1.3rem;margin:0}.close-btn{color:#999;font-size:2rem;height:30px;padding:0;width:30px}.close-btn:hover{background:#f0f0f0;color:#333}.badges-list{padding:20px}.no-badges{color:#999;font-style:italic;padding:40px 20px;text-align:center}.badge-item{background:#f9f9f9;border-radius:10px;display:flex;gap:15px;margin-bottom:15px;padding:15px;transition:all .3s ease}.badge-item:hover{background:#f0f0f0;transform:translateX(5px)}.badge-icon-large{flex-shrink:0}.badge-info{flex:1 1}.badge-name{font-size:1.1rem}.badge-description{font-size:.9rem;margin-bottom:5px}.badge-date{color:#999;font-size:.8rem}@media (max-width:768px){.badges-modal{max-width:90vw;min-width:300px}}.emoji-reactions-container{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:25px}.emoji-reactions-container h3{color:#667eea;font-size:1.3rem;margin:0 0 20px}.reactions-display{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.reaction-btn{align-items:center;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:25px;cursor:pointer;display:flex;font-size:1.1rem;gap:8px;padding:10px 15px;transition:all .3s ease}.reaction-btn:hover{background:#e8e8e8;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.reaction-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.reaction-btn .emoji{font-size:1.3rem}.reaction-btn .count{font-size:.9rem;font-weight:700}.emoji-options{flex-wrap:wrap;gap:10px}.emoji-option,.emoji-options{display:flex;justify-content:center}.emoji-option{align-items:center;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:50%;height:50px;transition:all .3s ease;width:50px}.emoji-option:hover{background:#f0f0f0;box-shadow:0 4px 8px #0000001a;transform:scale(1.1) rotate(5deg)}.emoji-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 6px 12px #667eea66;transform:scale(1.15)}.emoji-option:disabled{cursor:not-allowed;opacity:.5}.live-polls-container{padding:20px}.live-polls-container h2{color:#667eea;font-size:1.8rem;margin:0 0 25px}.no-polls{background:#f9f9f9;border:2px dashed #e0e0e0;border-radius:15px;padding:60px 20px;text-align:center}.no-polls p{color:#666;font-size:1.1rem;margin:10px 0}.no-polls .hint{color:#999;font-size:.9rem;font-style:italic}.polls-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.poll-tab{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:10px;color:#555;cursor:pointer;font-size:.95rem;max-width:300px;overflow:hidden;padding:12px 20px;text-overflow:ellipsis;transition:all .3s ease;white-space:nowrap}.poll-tab:hover{background:#e8e8e8;transform:translateY(-2px)}.poll-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.poll-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:30px}.poll-card h3{color:#667eea;font-size:1.5rem;margin:0 0 15px}.poll-description{color:#666;font-size:1rem;line-height:1.6;margin:0 0 25px}.poll-options{display:flex;flex-direction:column;gap:15px}.poll-option{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;padding:15px 20px;text-align:left;transition:all .3s ease}.poll-option:hover{background:#f0f0f0;border-color:#667eea;transform:translateX(5px)}.poll-option:disabled{cursor:not-allowed;opacity:.6}.poll-results{margin-top:20px}.response-confirmation{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:5px;color:#2e7d32;font-size:1rem;margin-bottom:25px;padding:15px}.results-display h4{color:#667eea;font-size:1.2rem;margin:0 0 20px}.result-item{margin-bottom:20px}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.option-text{font-size:1rem}.result-stats{color:#666;font-size:.9rem}.result-bar-container{background:#f0f0f0;border-radius:15px;height:30px;overflow:hidden;position:relative;width:100%}.result-bar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;display:flex;font-size:.85rem;font-weight:700;height:100%;justify-content:flex-end;padding:0 10px;transition:width .5s ease}.result-bar.your-choice{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 0 10px #4caf5080}.total-responses{border-top:2px solid #e0e0e0;color:#666;font-size:.9rem;margin-top:20px;padding-top:20px;text-align:center}@media (max-width:768px){.poll-card{padding:20px}.polls-list{flex-direction:column}.poll-tab{max-width:100%}}.class-chat-container{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;display:flex;flex-direction:column;height:600px;overflow:hidden}.chat-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px}.chat-header h2{font-size:1.5rem;margin:0}.message-type-toggle{display:flex;gap:10px}.toggle-btn{border-radius:20px;font-size:.9rem;padding:8px 16px}.toggle-btn.active{background:#fff;border-color:#fff;color:#667eea}.messages-container{background:#f9f9f9;flex:1 1;overflow-y:auto;padding:20px}.no-messages{color:#999;font-style:italic;padding:60px 20px;text-align:center}.message-item{background:#fff;border-left:4px solid #e0e0e0;border-radius:10px;margin-bottom:15px;padding:12px 15px}.message-item.own-message{background:#e3f2fd;border-left-color:#667eea;margin-left:20%}.message-item.question{background:#fff3e0;border-left-color:#ffa726}.message-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.sender-name{color:#667eea;font-weight:700}.question-badge{background:#ffa726;border-radius:10px;color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px}.message-time{color:#999;font-size:.8rem;margin-left:auto}.message-content{word-wrap:break-word;color:#333;line-height:1.5}.answer-content{background:#e8f5e9;border-left:3px solid #4caf50;border-radius:5px;color:#2e7d32;margin-top:10px;padding:10px}.message-input-form{background:#fff;border-top:2px solid #e0e0e0;display:flex;gap:10px;padding:15px}.message-input{border:2px solid #e0e0e0;border-radius:25px;flex:1 1;font-size:1rem;outline:none;padding:12px 15px;transition:border-color .3s}.message-input:focus{border-color:#667eea}.send-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.send-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.class-chat-container{height:500px}.message-item.own-message{margin-left:10%}}.progress-dashboard-container{padding:20px}.progress-dashboard-container h2{color:#667eea;font-size:1.8rem;margin:0 0 25px}.progress-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;display:flex;gap:20px;padding:25px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.stat-icon{font-size:3rem}.stat-info{flex:1 1}.stat-value{color:#333;margin-bottom:5px}.points-card{border-left:4px solid #ffa726}.streak-card{border-left:4px solid #f44336}.attendance-card{border-left:4px solid #4caf50}.badges-section,.points-history-section{margin-bottom:30px}.badges-section h3,.points-history-section h3{color:#667eea;font-size:1.3rem;margin:0 0 20px}.no-badges,.no-history{background:#f9f9f9;border-radius:10px;color:#999;font-style:italic;padding:40px 20px;text-align:center}.badges-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.badge-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:20px;text-align:center;transition:all .3s ease}.badge-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.badge-icon-large{font-size:3rem;margin-bottom:10px}.badge-name{color:#333;font-size:1rem;font-weight:700;margin-bottom:5px}.badge-description{color:#666;font-size:.85rem}.points-history-list{display:flex;flex-direction:column;gap:10px}.point-item{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;padding:15px}.point-details{display:flex;flex-direction:column;gap:5px}.point-reason{color:#333;font-weight:700}.point-date{color:#999;font-size:.85rem}.point-value{color:#4caf50;font-size:1.2rem;font-weight:700}@media (max-width:768px){.progress-stats{grid-template-columns:1fr}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.leaderboard-container{padding:20px}.leaderboard-container h2{color:#667eea;font-size:1.8rem;margin:0 0 25px}.period-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.period-btn{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:25px;color:#555;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.period-btn:hover{background:#e8e8e8;border-color:#667eea}.period-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.loading-state,.no-leaderboard{color:#999;padding:60px 20px;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:15px}.leaderboard-item{align-items:center;background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;display:flex;gap:20px;padding:20px;transition:all .3s ease}.leaderboard-item:hover{box-shadow:0 8px 20px #00000026;transform:translateX(5px)}.leaderboard-item.top-three{background:linear-gradient(135deg,#fff9c4,#fff59d);border-left:4px solid #ffa726}.rank{min-width:50px;text-align:center}.rank-icon{color:#667eea;font-size:1.5rem;font-weight:700}.student-info{flex:1 1}.student-name{color:#333;font-size:1.1rem;font-weight:700}.student-points{align-items:center;color:#667eea;display:flex;font-size:1.2rem;font-weight:700;gap:8px}.points-icon{font-size:1.3rem}.points-value{min-width:80px;text-align:right}@media (max-width:768px){.period-selector{flex-direction:column}.period-btn{width:100%}.leaderboard-item{flex-wrap:wrap}}.screen-share-container{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:20px 0;padding:20px}.screen-share-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.screen-share-header h3{color:#667eea;font-size:1.3rem;margin:0}.screen-share-controls{display:flex;gap:10px}.screen-share-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;padding:10px 20px;transition:all .3s ease}.start-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.start-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.stop-btn{background:linear-gradient(135deg,#f5576c,#f093fb);color:#fff}.stop-btn:hover{box-shadow:0 4px 12px #f5576c66;transform:translateY(-2px)}.screen-share-error{background:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;margin-bottom:15px;padding:12px}.screen-share-preview{margin-top:15px}.preview-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.sharing-indicator{animation:pulse 2s infinite;background:#ff5252;border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:6px 12px}.sharer-name{color:#666;font-size:.9rem;font-weight:700}.screen-share-video{background:#000;border:2px solid #667eea;border-radius:10px;box-shadow:0 4px 15px #0003;max-width:100%;min-height:400px;width:100%}.preview-info{background:#e3f2fd;border-radius:8px;color:#1976d2;margin-top:15px;padding:15px}.preview-info p{font-size:.9rem;margin:5px 0}.info-note{color:#666!important;font-size:.85rem!important;font-style:italic}.screen-share-info{background:#f5f5f5;border-radius:10px;margin-top:15px;padding:20px}.screen-share-info p{color:#666;font-size:1rem;margin-bottom:15px}.sharing-instructions{background:#e3f2fd;border-left:4px solid #1976d2;border-radius:8px;margin-bottom:15px;padding:15px}.sharing-instructions p{color:#1976d2;font-weight:700;margin-bottom:10px}.sharing-steps{color:#555;margin:10px 0;padding-left:25px}.sharing-steps li{line-height:1.6;margin:8px 0}.note-text{border-top:1px solid #90caf9;color:#555!important;font-size:.9rem!important;font-weight:400!important;margin-top:15px!important;padding-top:15px}.sharing-tips{list-style:none;margin:0;padding:0}.sharing-tips li{color:#555;font-size:.95rem;padding:8px 0 8px 25px;position:relative}.sharing-tips li:before{color:#667eea;content:"•";font-size:1.2rem;font-weight:700;left:10px;position:absolute}.screen-share-not-supported{background:#fff3e0;border-left:4px solid #e65100;border-radius:10px;color:#e65100;margin:20px 0;padding:15px}.screen-share-not-supported p{font-size:.95rem;margin:0}@media (max-width:768px){.screen-share-header{align-items:flex-start;flex-direction:column}.screen-share-video{min-height:300px}.preview-header{align-items:flex-start;flex-direction:column}}.quick-exercises{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:20px 0;padding:25px}.exercise-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.exercise-header h4{color:#667eea;font-size:1.3rem;margin:0}.exercise-progress{background:#e3f2fd;border-radius:15px;color:#1976d2;font-size:.9rem;font-weight:700;padding:6px 12px}.exercise-content{min-height:300px}.exercise-question{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:20px;padding:20px}.exercise-question p{font-size:1.2rem;font-weight:700;margin:0}.visual-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.visual-option{align-items:center;background:#fff;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:120px;padding:20px;transition:all .3s ease}.visual-option:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}.visual-option.correct{animation:correctPulse .5s ease;background:#e8f5e9;border-color:#4caf50}.visual-option.wrong{animation:shake .5s ease;background:#ffebee;border-color:#f44336}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.option-emoji{font-size:3rem}.option-text{color:#333;font-weight:700;text-align:center}.code-example,.fill-blank-exercise{margin-bottom:20px}.code-example{background:#1e1e1e;border-radius:10px;color:#d4d4d4;font-family:Courier New,monospace;font-size:1.2rem;padding:20px;text-align:center}.blank{background:gold;border-radius:4px;color:#000;font-weight:700;padding:4px 8px}.blank-options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.blank-option{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.blank-option:hover{background:#e3f2fd;border-color:#667eea}.blank-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.exercise-hint{background:#fff3e0;border-left:4px solid #ff9800;border-radius:6px;color:#e65100;font-size:.95rem;margin-top:15px;padding:12px;text-align:center}.true-false-exercise{display:flex;gap:20px;justify-content:center;margin-bottom:20px}.tf-btn{background:#fff;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;flex:1 1;font-size:1.2rem;font-weight:700;max-width:200px;padding:20px;transition:all .3s ease}.tf-btn:hover{transform:scale(1.05)}.tf-btn.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.exercise-feedback{margin:20px 0;text-align:center}.feedback{animation:slideIn .3s ease;border-radius:10px;font-size:1.1rem;font-weight:700;padding:15px}.correct-feedback{background:#e8f5e9;color:#2e7d32}.wrong-feedback{background:#ffebee;color:#c62828}.exercise-actions{margin-top:30px;text-align:center}.next-exercise-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 30px;transition:all .3s ease}.next-exercise-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.next-exercise-btn:disabled{cursor:not-allowed;opacity:.5}.exercise-results{padding:40px 20px;text-align:center}.exercise-results h3{color:#667eea;font-size:2rem;margin-bottom:20px}.results-summary{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:15px;margin-bottom:30px;padding:30px}.results-summary p{color:#2e7d32;font-size:1.3rem;font-weight:700;margin-bottom:15px}.celebration{animation:bounce 1s infinite;font-size:2rem}.restart-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 30px;transition:all .3s ease}.restart-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}@media (max-width:768px){.visual-options{grid-template-columns:1fr}.true-false-exercise{flex-direction:column}.tf-btn{max-width:100%}}.learning-cards-container{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:15px;margin:30px 0;padding:20px}.learning-cards-container h4{color:#667eea;font-size:1.5rem;margin-bottom:10px}.cards-description{color:#666;font-size:.95rem;margin-bottom:20px}.cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:20px}.learning-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.learning-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.learning-card.completed{background:linear-gradient(135deg,#fff,#e8f5e9);border-color:#4caf50}.learning-card.expanded{border-color:#667eea;box-shadow:0 6px 20px #667eea33}.card-header{background:#fafafa;cursor:pointer;gap:15px;padding:15px;transition:background .3s ease}.card-header:hover{background:#f0f0f0}.card-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:35px;justify-content:center;width:35px}.learning-card.completed .card-number{background:linear-gradient(135deg,#4caf50,#45a049)}.card-title-section{flex:1 1}.card-title-section h5{color:#333;font-size:1.1rem;margin:0 0 5px}.card-subtitle{color:#666;font-size:.85rem;margin:0}.card-actions{align-items:center;display:flex;gap:10px}.completed-badge{font-size:1.2rem}.expand-icon{color:#667eea;font-size:.9rem;font-weight:700}.card-content{animation:slideDown .3s ease;border-top:2px solid #f0f0f0}.card-description{margin-bottom:20px}.card-description p{color:#555;line-height:1.6;margin:0}.card-sample-code{margin-bottom:20px}.card-sample-code h6{color:#667eea;font-size:1rem;margin-bottom:10px}.code-display-card{background:#1e1e1e;border-radius:8px;box-shadow:0 2px 8px #0003;overflow:hidden}.code-header-card{align-items:center;background:#2d2d2d;color:#fff;display:flex;font-size:.85rem;justify-content:space-between;padding:8px 15px}.copy-code-btn-card{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 10px;transition:all .3s ease}.copy-code-btn-card:hover{background:#5568d3;transform:translateY(-1px)}.code-block-card{color:#d4d4d4;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:0;overflow-x:auto;padding:15px}.card-explanation{margin-bottom:20px}.card-explanation h6{color:#667eea;font-size:1rem;margin-bottom:8px}.card-explanation p{color:#555;line-height:1.6;margin:0}.card-examples{margin-bottom:20px}.card-examples h6{color:#667eea;font-size:1rem;margin-bottom:8px}.card-examples ul{color:#555;margin:0;padding-left:20px}.card-examples li{line-height:1.5;margin-bottom:8px}.card-footer{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:15px}.mark-complete-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 20px;transition:all .3s ease;width:100%}.mark-complete-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.completed-message{color:#4caf50;font-weight:700;padding:10px;text-align:center}.cards-progress{border-top:2px solid #e0e0e0;margin-top:25px;padding-top:20px}.cards-progress p{color:#666;font-weight:600;margin-bottom:10px}.progress-bar-cards{background:#e0e0e0;border-radius:6px;height:12px;overflow:hidden;width:100%}.progress-fill-cards{background:linear-gradient(90deg,#4caf50,#45a049);border-radius:6px;height:100%;transition:width .5s ease}@media (max-width:768px){.cards-grid{grid-template-columns:1fr}}.syntax-guess-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;box-shadow:0 8px 20px #667eea1a;margin-top:10px;padding:20px}.syntax-card-header{align-items:flex-start;display:flex;gap:15px;justify-content:space-between}.syntax-card-header h4{color:#4c51bf;margin:0}.syntax-card-prompt{color:#555;margin:5px 0 0}.syntax-card-meta{align-items:flex-end;color:#444;display:flex;flex-direction:column;font-weight:700;gap:5px}.syntax-progress{background:#edf2ff;border-radius:12px;padding:4px 10px}.syntax-points{color:#f6ad55}.syntax-timer{margin:20px 0 10px}.timer-label{color:#333;font-weight:600;margin-bottom:6px}.timer-bar{background:#f3f3f3;border-radius:8px;height:10px;overflow:hidden;width:100%}.timer-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.syntax-code-block{background:#1e1e1e;border-radius:12px;color:#cbd5f5;margin-bottom:20px;padding:15px}.syntax-code{font-family:Fira Code,Courier New,monospace;font-size:.95rem;margin:0;white-space:pre-wrap}.syntax-blank{background:#fff;border:2px dashed #a3bffa;border-radius:6px;color:#4c51bf;display:inline-block;font-weight:700;margin:0 2px;min-width:50px;padding:2px 6px}.syntax-blank.correct{background:#e6fffa;border-color:#38a169;color:#276749}.syntax-blank.wrong{background:#fff5f5;border-color:#e53e3e;color:#c53030}.syntax-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.syntax-option{background:#f8f9ff;border:2px solid #d6d6f5;border-radius:10px;cursor:pointer;font-weight:600;padding:12px;transition:all .2s ease}.syntax-option:hover:not(:disabled){border-color:#667eea;transform:translateY(-2px)}.syntax-option.selected{background:#667eea;border-color:#667eea;color:#fff}.syntax-option.correct{background:#e6fffa;border-color:#38a169;color:#276749}.syntax-option:disabled{cursor:not-allowed;opacity:.85}.syntax-result{border-radius:10px;font-weight:600;margin-top:15px;padding:12px;text-align:center}.syntax-result.correct{background:#e6fffa;color:#276749}.syntax-result.wrong{background:#fff5f5;color:#c53030}.syntax-result.timeout{background:#fffbeb;color:#c05621}.syntax-actions{margin-top:10px;text-align:center}.next-syntax-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:700;padding:10px 24px;transition:transform .2s ease}.next-syntax-btn:hover{transform:translateY(-2px)}.topic-interactive-learning{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:2px solid #667eea;border-radius:12px;margin-top:20px;padding:20px}.topic-learning-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.topic-learning-header h5{color:#667eea;font-size:1.1rem;margin:0}.topic-score{background:gold;border-radius:20px;color:#333;font-size:.9rem;font-weight:700;padding:5px 12px}.topic-activity-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.topic-activity-btn{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.topic-activity-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.topic-activity-btn.active{background:#667eea;box-shadow:0 4px 8px #667eea4d;color:#fff}.topic-activity-content{background:#fff;border-radius:8px;min-height:150px;padding:15px}.topic-activity-placeholder{color:#999;padding:30px;text-align:center}.quick-quiz{padding:15px}.quick-quiz h4{color:#667eea;margin-bottom:15px}.quiz-question p{color:#333;font-size:1.1rem;margin-bottom:15px}.quiz-options{display:flex;flex-direction:column;gap:10px}.quiz-option{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;padding:12px 20px;text-align:left;transition:all .3s ease}.quiz-option:hover{background:#f0f4ff;border-color:#667eea}.quiz-option.correct{background:#4caf50;border-color:#4caf50;color:#fff}.quiz-option.wrong{background:#f5576c;border-color:#f5576c;color:#fff}.quiz-result{border-radius:8px;font-weight:700;margin-top:15px;padding:12px;text-align:center}.quiz-result.correct{background:#e8f5e9;color:#2e7d32}.quiz-result.wrong{background:#ffebee;color:#c62828}.matching-activity{padding:15px}.matching-activity h4{color:#667eea;margin-bottom:15px}.matching-container{display:flex;flex-wrap:wrap;gap:20px}.matching-items,.matching-targets{display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:200px}.matching-item{background:#667eea;border-radius:8px;color:#fff;cursor:grab;font-weight:700;padding:12px;text-align:center}.matching-item:active{cursor:grabbing}.matching-item.matched{background:#4caf50;cursor:default}.matching-target{background:#f5f5f5;border:2px dashed #999;border-radius:8px;min-height:45px;padding:12px;text-align:center}.matching-target.matched{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.code-playground{padding:15px}.code-playground h4{color:#667eea;margin-bottom:15px}.playground-editor{margin-bottom:15px}.code-input{border:2px solid #ddd;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;min-height:150px;padding:12px;resize:vertical;width:100%}.run-code-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;margin-top:10px;padding:10px 20px}.run-code-btn:hover{background:#5568d3}.run-code-btn:disabled{background:#ccc;cursor:not-allowed}.playground-output{background:#f5f5f5;border-left:4px solid #667eea;border-radius:8px;padding:12px}.playground-output pre{color:#333;margin:10px 0 0}.course-visual-learning{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1400px;min-height:100vh;padding:30px}.error-state,.loading-state{padding:60px 20px}.loading-spinner{animation:pulse 2s ease-in-out infinite;font-size:4rem}.course-header-visual{align-items:center;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;margin-bottom:40px;padding:40px}.course-title-section h1{color:#667eea;font-size:2.5rem;margin:0 0 15px}.course-description-visual{color:#666;font-size:1.1rem;line-height:1.6;margin:0}.progress-section{align-items:center;display:flex;gap:30px}.progress-circle{height:120px;position:relative;width:120px}.progress-ring{transform:rotate(-90deg)}.progress-ring-background{stroke:#e0e0e0}.progress-ring-fill{stroke:#667eea;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.progress-text{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.progress-percentage{color:#667eea;display:block;font-size:2rem}.progress-label{color:#999;display:block;font-size:.9rem}.progress-stats{flex-direction:column;gap:15px}.stat-item{align-items:flex-start}.stat-value{font-size:1.8rem}.topic-path-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;padding:40px}.topic-path-container h2{color:#667eea;font-size:1.8rem;margin-bottom:30px}.topic-path{flex-direction:column}.topic-node,.topic-path{display:flex;gap:20px;position:relative}.topic-node{align-items:center;border-radius:15px;cursor:pointer;padding:15px;transition:all .3s ease}.topic-node:hover:not(.locked){background:#f5f5f5;transform:translateX(10px)}.topic-node.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 20px #667eea66;color:#fff}.topic-node.active .node-hours,.topic-node.active h4{color:#fff}.topic-node.completed{background:#e8f5e9;border:2px solid #4caf50}.topic-node.locked{cursor:not-allowed;opacity:.5}.node-connector{align-items:center;display:flex;height:100%;position:relative;width:40px}.connector-line{background:#e0e0e0;height:20px;left:50%;position:absolute;top:-20px;transform:translateX(-50%);width:3px}.connector-line.completed{background:#4caf50}.connector-line-right{background:#e0e0e0;height:3px;position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:20px}.connector-line-right.completed{background:#4caf50}.node-content{flex:1 1;gap:20px;position:relative}.node-content,.node-icon{align-items:center;display:flex}.node-icon{background:#fff;border-radius:50%;box-shadow:0 4px 10px #0000001a;flex-shrink:0;font-size:2.5rem;height:60px;justify-content:center;width:60px}.topic-node.active .node-icon{background:#fff3;box-shadow:0 4px 15px #ffffff4d}.node-info{flex:1 1}.node-info h4{color:#333;font-size:1.3rem;margin:0 0 5px}.node-hours{color:#999;font-size:.9rem}.completion-badge{align-items:center;background:#4caf50;border-radius:50%;box-shadow:0 2px 8px #4caf5066;color:#fff;display:flex;font-weight:700;height:30px;justify-content:center;position:absolute;right:-5px;top:-5px;width:30px}.current-topic-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:40px}.topic-header-visual{border-bottom:3px solid #f0f0f0;margin-bottom:30px;padding-bottom:20px}.topic-title-bar{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.topic-title-bar h2{display:flex;flex-direction:column;gap:5px;margin:0}.topic-number{color:#999;font-size:.9rem;font-weight:400}.topic-name-visual{color:#667eea;font-size:2rem;font-weight:700}.topic-completed-badge{background:#4caf50;border-radius:20px;color:#fff;font-weight:700;padding:8px 16px}.topic-description-visual{color:#666;font-size:1.1rem;line-height:1.6;margin:15px 0}.topic-meta{gap:20px;margin-top:15px}.meta-item{color:#999;font-size:.95rem}.sample-code-visual-section{margin-bottom:30px}.sample-code-visual-section h3{color:#667eea;font-size:1.5rem;margin-bottom:15px}.code-display-visual{background:#1e1e1e;border-radius:10px;box-shadow:0 4px 15px #0003;overflow:hidden}.code-header-visual{align-items:center;background:#2d2d2d;color:#fff;display:flex;font-size:.9rem;justify-content:space-between;padding:12px 20px}.copy-code-btn-visual{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .3s ease}.copy-code-btn-visual:hover{background:#5568d3;transform:translateY(-2px)}.code-block-visual{color:#d4d4d4;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6;margin:0;overflow-x:auto;padding:20px}.code-block-visual code{color:#d4d4d4}.interactive-learning-visual-section{margin-bottom:30px}.topic-navigation{border-top:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-top:40px;padding-top:20px}.nav-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.prev-btn{background:#f5f5f5;color:#666}.prev-btn:hover:not(:disabled){background:#e0e0e0;transform:translateX(-5px)}.next-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.next-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateX(5px)}.nav-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.course-header-visual{flex-direction:column;text-align:center}.progress-section{flex-direction:column;width:100%}.topic-path{gap:15px}.topic-node{flex-direction:column;text-align:center}.node-connector{height:40px;width:100%}.connector-line{height:20px;left:50%;top:0;width:3px}.connector-line-right{display:none}.topic-navigation{flex-direction:column;gap:15px}.nav-btn{width:100%}}.classroom-enhanced-container{background:radial-gradient(circle at 10% 20%,#ffde7973,#0000 45%),radial-gradient(circle at 80% 0,#b489ff4d,#0000 40%),linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:clamp(20px,4vw,40px)}.classroom-header{flex-wrap:wrap;margin-bottom:20px}.classroom-header h1{flex:1 1}.header-actions{gap:15px}.classroom-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:10px}.tab-btn{background:#fff3;border:2px solid #0000;border-radius:10px;color:#fff;font-weight:700;padding:12px 24px}.tab-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.tab-btn.active{border-color:#fff;box-shadow:0 4px 12px #0003}.tab-content{border-radius:20px;box-shadow:0 10px 30px #0000004d;min-height:500px;padding:30px}.classroom-main{display:flex;flex-direction:column;gap:25px}.classroom-grid-panels{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.section-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.section-heading h3{margin:0}.section-chip{background:#fff3;border-radius:999px;color:#fff;font-weight:600;padding:4px 12px}.eyebrow{color:#ffffffb3;font-size:.75rem;letter-spacing:.1em;margin:0 0 4px;text-transform:uppercase}.cta.primary{background:linear-gradient(120deg,#ff9f68,#ff7597);border:none;border-radius:999px;box-shadow:0 8px 20px #ff95804d;color:#fff;font-weight:700;padding:10px 18px}.brain-break,.idea-board,.mission-deck,.sidequest-panel{background:#ffffffeb;border-radius:18px;box-shadow:0 12px 30px #00000014;box-shadow:var(--shadow-soft,0 12px 30px #00000014);padding:20px}.mission-grid,.sidequest-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.mission-card,.sidequest-card{background:#fff;border:1px solid #667eea33;border-radius:16px;padding:16px;position:relative}.mission-card.completed,.sidequest-card.completed{background:#f1fff3;border-color:#4caf5066}.mission-emoji{font-size:2rem}.mission-meta,.sidequest-meta{color:#667;display:flex;font-size:.9rem;justify-content:space-between}.mission-complete-btn{background:#4caf5026;border:none;border-radius:999px;color:#2e7d32;font-weight:600;margin-top:12px;padding:8px 16px}.mission-celebration,.sidequest-complete{color:#4caf50;font-weight:600;margin-top:8px}.idea-form textarea{border:1px solid #667eea33;border-radius:12px;font-family:inherit;padding:12px;resize:vertical;width:100%}.idea-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.idea-form select{border:1px solid #667eea4d;border-radius:999px;font-weight:600;padding:8px 14px}.ideas-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.idea-card{background:#f7f8ff;border:1px solid #667eea33;border-radius:14px;padding:14px}.idea-card header{font-weight:600}.idea-card footer,.idea-card header{display:flex;justify-content:space-between}.idea-card footer{align-items:center;margin-top:8px}.idea-card button{background:#ff958033;border:none;border-radius:999px;font-weight:600;padding:4px 12px}.brain-break-card{align-items:center;background:linear-gradient(120deg,#fff1f0,#f8faff);border-radius:16px;display:flex;gap:16px;padding:18px}.break-emoji{font-size:2.5rem}.spin-btn{background:linear-gradient(120deg,#6dd5ed,#2193b0);border:none;border-radius:999px;color:#fff;font-weight:700;padding:10px 20px}.sidequest-card .quest-status{background:#667eea26;border-radius:999px;font-size:.75rem;padding:2px 10px}.brain-break-placeholder,.idea-empty,.mission-empty,.sidequest-empty{color:#667;font-style:italic}@media (max-width:768px){.classroom-grid-panels{grid-template-columns:1fr}}.screen-share-section{margin-top:30px}.course-progress-section{margin-bottom:30px;margin-top:30px}.course-progress-section h3{color:#fff;font-size:1.8rem;margin-bottom:20px;text-shadow:2px 2px 4px #0000004d}.course-progress-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:25px}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progress-header h4{color:#667eea;font-size:1.5rem;margin:0}.progress-percentage{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:1.2rem;font-weight:700;padding:8px 20px}.progress-bar-overall{background:#e0e0e0;border-radius:15px;height:30px;margin-bottom:20px;overflow:hidden;width:100%}.progress-bar-fill-overall{align-items:center;background:linear-gradient(90deg,#667eea,#764ba2);color:#fff;display:flex;font-size:.9rem;font-weight:700;height:100%;justify-content:center;transition:width .5s ease}.progress-stats{display:flex;flex-wrap:wrap;gap:30px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column;gap:5px}.stat-label{color:#666}.stat-value{color:#667eea;font-size:1.2rem}.topics-progress-list{display:flex;flex-direction:column;gap:10px}.topic-progress-item{align-items:center;background:#f5f5f5;border-left:4px solid #ddd;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:all .3s ease}.topic-progress-item.completed{background:#e8f5e9;border-left-color:#4caf50}.topic-progress-name{color:#333;font-weight:600}.topic-progress-indicator{align-items:center;display:flex;gap:10px}.progress-check{font-size:1.2rem}.progress-pending{font-size:1.2rem;opacity:.5}.topic-stars{color:#ffa726;font-weight:700}.session-card-classroom{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.classroom-access,.session-card-classroom{box-shadow:0 5px 15px #0000001a}.early-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#ffa726,#ffb74d);border-radius:20px;color:#fff;display:inline-block;font-weight:700;margin-left:10px;padding:8px 16px}.classroom-instructions{background:#f9f9f9;border-left:4px solid #667eea}.course-visual-learning-wrapper{margin-bottom:40px}.course-topics-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:30px}.course-topics-section h3{border-bottom:3px solid #667eea;color:#667eea;font-size:1.8rem;margin:0 0 25px;padding-bottom:15px}.topics-list-classroom{display:flex;flex-direction:column;gap:20px}.topic-card-classroom{background:#f9f9f9;border-left:4px solid #667eea;border-radius:12px;padding:20px;transition:all .3s ease}.topic-card-classroom:hover{box-shadow:0 4px 12px #667eea33;transform:translateX(5px)}.topic-header-classroom{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.topic-header-classroom h4{color:#667eea;font-size:1.3rem;font-weight:700;margin:0}.topic-hours-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;font-size:.85rem;font-weight:700;padding:6px 12px}.topic-description-classroom{color:#666;font-size:1rem;line-height:1.6;margin:0 0 15px}.sample-code-display{background:#1e1e1e;border-radius:8px;box-shadow:0 4px 12px #0000004d;margin-top:15px;overflow:hidden}.code-header{background:#2d2d2d;border-bottom:1px solid #444;padding:12px 15px}.code-header span{font-size:.95rem;font-weight:700}.copy-code-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:6px 12px;transition:all .3s ease}.copy-code-btn:hover{background:#764ba2;transform:scale(1.05)}.code-block{background:#1e1e1e;margin:0;max-height:400px;overflow-x:auto;overflow-y:auto}.code-block code{color:#d4d4d4;font-family:Courier New,Consolas,Monaco,monospace;font-size:.9rem}.topic-homework-section{background:#f0f7ff;border-left:3px solid #4facfe;border-radius:8px;margin-top:20px;padding:15px}.topic-homework-section h5{color:#667eea;font-size:1.1rem;margin:0 0 15px}.homework-item-classroom{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;padding:15px}.homework-header-classroom{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.homework-header-classroom strong{color:#667eea;font-size:1rem}.due-date-badge{background:#fff3e0;border-radius:12px;color:#e65100;font-size:.85rem;font-weight:700;padding:4px 10px}.homework-desc-classroom{color:#666;font-size:.9rem;line-height:1.5;margin:10px 0}.submission-status-classroom{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.submitted-badge-classroom{background:#e8f5e9;border-radius:15px;color:#2e7d32;font-size:.85rem;font-weight:700;padding:6px 12px}.submission-date-classroom{color:#666;font-size:.85rem}.completed-badge{background:#4caf50;border-radius:12px;color:#fff;font-size:.8rem;font-weight:700;padding:4px 10px}.submit-homework-btn,.view-submission-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.submit-homework-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-homework-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.view-submission-btn{background:#4facfe;color:#fff}.view-submission-btn:hover{background:#3d9be8}.submission-view{padding:10px 0}.submission-answer-display{word-wrap:break-word;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;min-height:100px;padding:15px;white-space:pre-wrap}.file-link{background:#e3f2fd;border-radius:6px;color:#1976d2;display:inline-block;font-size:.9rem;margin:5px 10px 5px 0;padding:8px 12px;text-decoration:none;transition:all .3s ease}.file-link:hover{background:#bbdefb;transform:translateY(-2px)}.grade-display{background:#fff3e0;border-radius:8px;color:#e65100;font-size:1.1rem;font-weight:700;padding:10px}.feedback-display{background:#e8f5e9;border-radius:8px;color:#2e7d32;margin-top:10px;padding:10px}.form-group input[type=file],.form-group input[type=number],.form-group input[type=text],.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:10px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.files-list{flex-wrap:wrap;gap:10px}.file-tag{background:#e3f2fd;border-radius:15px;color:#1976d2;font-size:.85rem;padding:6px 12px}.modal-actions{justify-content:flex-end;margin-top:20px}.save-btn,.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px}.save-btn:hover,.submit-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@media (max-width:768px){.classroom-enhanced-container{padding:15px}.classroom-header h1{font-size:1.5rem}.classroom-tabs{flex-direction:column}.tab-btn{width:100%}.tab-content{padding:20px}}.header-title{display:flex;flex:1 1;flex-direction:column;gap:10px}.topic-filter-badge{align-items:center;animation:slideIn .5s ease;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:20px;box-shadow:0 4px 12px #48bb7866;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:10px;max-width:-webkit-fit-content;max-width:fit-content;padding:8px 16px}.topic-indicator{font-size:.85rem;opacity:.9}@media (max-width:768px){.header-title{width:100%}.topic-filter-badge{font-size:.8rem;padding:6px 12px}.topic-name{font-size:.9rem}}.live-code-classroom{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;height:100vh;overflow:hidden}.classroom-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0;justify-content:space-between;padding:20px 24px}.header-left h2{font-size:1.5rem;font-weight:600;margin:0 0 8px}.session-status{align-items:center;display:flex;gap:16px}.status-badge{letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.live{animation:pulse 2s infinite;background:#ff4757;color:#fff}.status-badge.offline{background:#2f3542;color:#fff}.connected-count{background:#fff3;border-radius:20px;font-size:.85rem;padding:6px 12px}.header-controls{display:flex;gap:12px}.toggle-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.toggle-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.toggle-btn.start{background:#48bb78;border-color:#48bb78}.toggle-btn.stop{background:#ff4757;border-color:#ff4757}.code-editor-container{display:flex;flex:1 1;flex-direction:column;min-height:0}.editor-toolbar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 20px}.language-selector{align-items:center;display:flex;gap:8px}.language-selector label{color:#495057;font-size:.9rem;font-weight:600}.language-select{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:.9rem;padding:6px 12px}.language-select:disabled{background:#e9ecef;cursor:not-allowed;opacity:.6}.editor-actions{display:flex;gap:8px}.clear-btn{background:#6c757d;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background .3s ease}.clear-btn:hover{background:#5a6268}.code-editor{background:#1e1e1e;display:flex;min-height:0;position:relative}.code-textarea{background:#1e1e1e;border:none;color:#d4d4d4;flex:1 1;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;outline:none;overflow-wrap:normal;overflow-x:auto;overflow-y:auto;padding:20px;resize:none;tab-size:4;white-space:pre}.code-textarea.readonly{cursor:default;opacity:.9}.code-textarea.editable{cursor:text}.code-textarea.editable:focus{background:#252526}.code-textarea.css,.code-textarea.html,.code-textarea.java,.code-textarea.javascript,.code-textarea.python{color:#d4d4d4}.line-numbers{background:#2d2d30;border-right:1px solid #3e3e42;color:#858585;flex-shrink:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;padding:20px 12px;text-align:right;-webkit-user-select:none;user-select:none}.line-number{height:21px;justify-content:flex-end}.classroom-footer,.line-number{align-items:center;display:flex}.classroom-footer{background:#f8f9fa;border-top:1px solid #e9ecef;flex-shrink:0;justify-content:space-between;padding:16px 24px}.instructions p{color:#6c757d;font-size:.9rem;margin:0}.sync-indicator{align-items:center;color:#28a745;display:flex;font-size:.85rem;font-weight:600;gap:8px}.sync-dot{animation:syncPulse 1.5s infinite;background:#28a745;border-radius:50%;height:8px;width:8px}@keyframes syncPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.classroom-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.header-left h2{font-size:1.3rem}.session-status{gap:12px}.editor-toolbar{gap:10px;padding:10px 16px}.classroom-footer,.editor-toolbar{align-items:flex-start;flex-direction:column}.classroom-footer{gap:8px;padding:12px 20px}.code-textarea{font-size:13px;padding:16px}.line-numbers{font-size:13px;padding:16px 8px}}@media (max-width:480px){.classroom-header{padding:12px 16px}.header-left h2{font-size:1.2rem}.connected-count,.status-badge{font-size:.75rem;padding:4px 8px}.toggle-btn{font-size:.85rem;padding:8px 16px}.code-textarea{font-size:12px;padding:12px}.line-numbers{font-size:12px;padding:12px 6px}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 100%);min-height:100vh;transition:background .3s ease}.student-layout{background:radial-gradient(circle at 10% 20%,#ffde7973,#0000 45%),radial-gradient(circle at 85% 15%,#b489ff59,#0000 35%),linear-gradient(135deg,#f8f9ff,#fef4f3 60%,#f6f5ff);min-height:100vh;padding-bottom:80px}.student-header{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #5a60ff1a;box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;padding:24px 32px}.header-content h1{color:var(--theme-primary);font-size:2rem;margin-bottom:4px}.header-content p{color:var(--gray-500)}.signout-btn{box-shadow:0 12px 30px #ff5f8f40}.student-hud{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:24px auto;width:min(1100px,100%)}.hud-card{background:#ffffffeb;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.hud-label{color:var(--gray-500);font-size:.9rem;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.progress-bar{background:var(--gray-100);border-radius:999px;height:10px;margin-bottom:12px;overflow:hidden}.progress-bar span{background:linear-gradient(120deg,var(--theme-primary),var(--theme-accent));border-radius:inherit;display:block;height:100%;transition:width var(--transition-snappy)}.quest-card h3{font-size:1.2rem;margin-bottom:6px}.quest-meta{color:var(--gray-500);margin-bottom:12px}.mini-cta{background:#5a60ff1a;border:none;border-radius:999px;color:var(--theme-primary);font-weight:600;padding:8px 16px}.badge-preview{display:flex;font-size:1.5rem;gap:8px}.hud-footnote{color:var(--gray-500);font-size:.9rem;margin-top:12px}.student-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;gap:8px;margin:0 auto;padding:0 16px;width:min(1100px,100%)}.nav-link{border-bottom:3px solid #0000;padding:16px 20px;transition:color var(--transition-snappy),border-color var(--transition-snappy)}.nav-link:hover{color:var(--theme-primary)}.nav-link.active{border-bottom-color:var(--theme-primary)}.student-content{padding:32px}@media (max-width:768px){.student-header{flex-direction:column;gap:12px}.student-nav{flex-direction:column;padding-bottom:16px}}.student-sessions{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.student-sessions h1{color:#f5576c;font-size:2rem;margin:0}.sessions-container{display:flex;flex-direction:column;gap:25px}.session-card.pending{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left-color:#ffa726}.session-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.status-badge{border-radius:20px;font-size:.85rem;padding:6px 15px}.status-badge.pending{background:#ffa726}.status-badge.active{background:#4caf50;color:#fff}.status-badge.completed{background:#2196f3;color:#fff}.session-header{border-bottom:2px solid #f5576c33;padding-bottom:15px}.session-header h2{color:#f5576c;font-size:1.5rem;margin-bottom:10px}.session-dates{color:#666;display:flex;font-size:.9rem;gap:20px}.course-section{margin-bottom:25px}.course-section h3{color:#667eea;font-size:1.2rem;margin-bottom:15px}.topic-meta{gap:10px}.attendance-badge{background:#e3f2fd;border-radius:15px;color:#1976d2;font-size:.85rem;font-weight:700;padding:4px 10px}.topic-dates{border-top:1px solid #e0e0e0;margin-top:10px;padding-top:10px}.dates-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.date-badge{background:#f5f5f5;border-radius:15px;color:#666;font-size:.85rem;padding:6px 12px}.date-badge.attended{background:#e8f5e9;color:#2e7d32}.date-badge.not-attended{background:#ffebee;color:#c62828}.date-badge.absent{background:#fff3e0;color:#e65100}.topic-name{color:#555}.topic-hours{padding:4px 12px}.topic-desc{color:#666;margin:0}.classroom-section{border-top:2px solid #667eea33;margin-top:25px;padding-top:20px;text-align:center}.classroom-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 6px 20px #667eea66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.classroom-btn:hover{box-shadow:0 8px 25px #667eea99;transform:translateY(-3px)}.homeworks-section{border-top:2px solid #f5576c33;margin-top:25px;padding-top:20px}.homeworks-section h3{color:#f5576c;font-size:1.2rem;margin-bottom:15px}.homework-item{margin-bottom:15px}.homework-header{align-items:start}.homework-header h4{color:#555;font-size:1.1rem;margin:0}.due-date{color:#f5576c;font-size:.9rem;font-weight:700}.homework-desc{margin-bottom:15px}.submit-btn{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:8px;font-size:1rem;padding:10px 20px}.submit-btn:hover{box-shadow:0 6px 20px #f5576c66;transform:translateY(-2px)}.submission-status{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;padding:12px}.submitted-badge{color:#4caf50;font-size:1rem;font-weight:700}.submission-date{color:#666;font-size:.85rem;margin:5px 0 0}.modal-content{border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto}.modal-content h2{color:#f5576c;margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:8px}.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;resize:vertical;transition:border-color .3s;width:100%}.form-group textarea:focus{border-color:#f5576c;outline:none}.form-group input[type=file]{border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;padding:10px;width:100%}.files-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.file-item{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.remove-file-btn{background:#f5576c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:4px 8px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#e0e0e0;color:#555;padding:10px 20px}.classroom-live-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:12px;box-shadow:0 2px 8px #48bb784d;color:#fff;font-size:.8rem;font-weight:700;padding:4px 12px}.topic-classroom-section{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-left:4px solid #48bb78;border-radius:10px;margin-top:15px;padding:15px}.topic-classroom-btn{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:10px;box-shadow:0 4px 12px #48bb784d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease;width:100%}.topic-classroom-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 6px 16px #48bb7880;transform:translateY(-2px)}.topic-classroom-btn:active{transform:translateY(0)}.topic-item:has(.classroom-live-badge){background:linear-gradient(135deg,#f0fff4,#c6f6d5 10%,#fff 40%);border-left:4px solid #48bb78}.session-classroom-section{background:linear-gradient(135deg,#f8f9ff,#e8f5e9);border:2px solid #e0e7ff;border-radius:12px;margin:20px 0;padding:20px}.classroom-status-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.classroom-status-label{color:#4a5568;font-size:1rem;font-weight:600}.classroom-status{border-radius:20px;font-size:.9rem;font-weight:700;padding:6px 12px}.classroom-status.enabled{background:#48bb78;color:#fff}.classroom-status.disabled{background:#f56565;color:#fff}.classroom-actions{display:flex;flex-wrap:wrap;gap:12px}.video-call-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.video-call-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.join-classroom-btn{align-items:center;background:linear-gradient(135deg,#f5576c,#f093fb);display:flex;gap:8px;padding:12px 20px}.join-classroom-btn:hover{box-shadow:0 6px 16px #f5576c66}.join-classroom-btn:active,.video-call-btn:active{transform:translateY(0)}.session-card:has(.classroom-status.enabled){border-left:4px solid #48bb78;box-shadow:0 10px 30px #48bb7833}@media (max-width:640px){.topic-classroom-btn{font-size:.9rem;padding:12px 16px}.classroom-live-badge{font-size:.75rem;padding:3px 10px}.session-classroom-section{padding:15px}.classroom-status-row{align-items:flex-start;flex-direction:column;gap:8px}.classroom-actions{flex-direction:column}.join-classroom-btn,.video-call-btn{justify-content:center;width:100%}}.available-sessions{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.sessions-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.sessions-header h1{margin:0}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#f5576c;font-size:2rem;margin:0}.filter-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#555;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.filter-btn:hover{border-color:#f5576c;color:#f5576c}.filter-btn.active{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#0000;color:#fff}.sessions-grid{grid-gap:25px;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.session-card{position:relative;transition:transform .3s ease}.session-card:hover{transform:translateY(-5px)}.session-card.active{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left-color:#4caf50}.session-card.upcoming{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left-color:#2196f3}.session-status-badge{top:15px}.registration-status-badge,.session-status-badge{background:#fff;border-radius:20px;box-shadow:0 2px 5px #0000001a;font-size:.85rem;font-weight:700;padding:5px 12px;position:absolute;right:15px}.registration-status-badge{top:50px}.registration-status-badge.pending{background:#fff3e0;color:#e65100}.registration-status-badge.active{background:#e8f5e9;color:#2e7d32}.registration-status-badge.cancelled{background:#ffebee;color:#c62828}.session-card h3{color:#f5576c;font-size:1.4rem;margin:0 0 20px;padding-right:100px}.session-info{display:flex;flex-direction:column;gap:12px}.info-item{align-items:center;display:flex;gap:10px}.info-label{color:#555;font-weight:700;min-width:100px}.course-section{border-top:2px solid #f5576c33;margin-top:15px;padding-top:15px}.course-section .info-label{display:block;margin-bottom:8px}.course-section h4{color:#667eea;font-size:1.1rem;margin:5px 0 10px}.course-description{font-size:.9rem;line-height:1.5;margin-bottom:10px}.topics-preview{margin-top:10px}.topics-preview strong{color:#555;display:block;font-size:.9rem;margin-bottom:8px}.topics-list{flex-wrap:wrap;gap:8px}.topic-tag{background:#fff;border-radius:15px;box-shadow:0 2px 5px #0000000d;color:#667eea;font-size:.85rem;font-weight:500;padding:6px 12px}.topic-tag.more{color:#999;font-style:italic}.registration-actions{border-top:2px solid #f5576c33;margin-top:20px;padding-top:20px}.register-btn{box-shadow:0 4px 15px #667eea4d;font-size:1rem;font-weight:700;padding:12px 20px}.registration-message{background:#f9f9f9;border-left:3px solid #4caf50;border-radius:10px;padding:15px;text-align:center}.registration-message p{color:#555;font-size:.95rem;margin:5px 0}.view-link{font-size:.85rem;margin-top:10px}.view-link,.view-link strong{color:#667eea}.course-objects,.expectations{background:#f9f9f9;border-left:3px solid #667eea;border-radius:10px;margin-top:15px;padding:15px}.course-objects strong,.expectations strong{color:#667eea;display:block;margin-bottom:8px}.course-objects p,.expectations p{color:#555;line-height:1.6;margin:0}.fees-terms{background:#f9f9f9;border-left:3px solid #667eea;border-radius:10px;margin-top:15px;padding:15px}.fees-terms strong{color:#667eea;display:block;margin-bottom:8px}.fees-terms p{color:#555;line-height:1.6;margin:0;white-space:pre-line}.theme-selector{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:30px;padding:30px}.theme-selector h3{color:#667eea;font-size:1.8rem;margin-bottom:10px}.theme-description{color:#666;font-size:1rem;margin-bottom:25px}.themes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:20px}.theme-card{background:#fff;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;padding:20px;position:relative;text-align:center;transition:all .3s ease}.theme-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.theme-card.selected,.theme-card:hover{border-color:#667eea;border-color:var(--theme-primary,#667eea)}.theme-card.selected{background:linear-gradient(135deg,#f5f7fa,#fff);background:linear-gradient(135deg,var(--theme-background,#f5f7fa) 0,#fff 100%);box-shadow:0 6px 20px #667eea4d}.theme-preview{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.preview-color{border-radius:8px;box-shadow:0 2px 8px #0003;height:40px;width:40px}.theme-name{color:#333;font-size:1rem;font-weight:700}.selected-indicator{align-items:center;background:#667eea;background:var(--theme-primary,#667eea);border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px}.saving-indicator{color:#666;font-style:italic;margin-top:15px;text-align:center}@media (max-width:768px){.themes-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.theme-card{padding:15px}.preview-color{height:30px;width:30px}}.user-settings{margin:0 auto;max-width:800px;padding:30px}.user-settings h1{color:#667eea;font-size:2rem;margin-bottom:30px}.settings-section{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:25px;padding:25px}.settings-section h2{color:#764ba2;font-size:1.5rem;margin-bottom:20px}.setting-item{margin-bottom:20px}.toggle-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:1.1rem;justify-content:space-between;margin-bottom:10px}.toggle-switch{height:30px;position:relative;width:60px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:30px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:22px;left:4px;position:absolute;transition:.4s;width:22px}.toggle-switch input:checked+.toggle-slider{background-color:#667eea}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(30px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.setting-description{color:#666;font-size:.9rem;margin-left:0;margin-top:5px}.danger-section{background:#fff5f5;border:2px solid #f5576c}.danger-warning{color:#d32f2f;font-weight:600;margin-bottom:15px}.delete-list{list-style:none;margin:15px 0;padding-left:0}.delete-list li{color:#666;padding:5px 0 5px 25px;position:relative}.delete-list li:before{color:#f5576c;content:"•";font-weight:700;left:0;position:absolute}.delete-account-btn{background:#f5576c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-top:15px;padding:12px 24px;transition:all .3s}.delete-account-btn:hover{background:#e0455a;box-shadow:0 4px 10px #f5576c4d;transform:translateY(-2px)}.delete-account-btn.confirm{animation:pulse 1s infinite;background:#d32f2f}.delete-account-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.classroom-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:30px}.classroom-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.classroom-header h1{color:#fff;font-size:2rem;margin:0;text-shadow:2px 2px 4px #0000004d}.back-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#ffffff4d;transform:translateX(-5px)}.classroom-info{display:flex;flex-direction:column;gap:25px;margin:0 auto;max-width:900px}.session-card-classroom{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;padding:25px}.session-card-classroom h2{color:#667eea;font-size:1.8rem;margin:0 0 20px}.session-details p{color:#555;font-size:1rem;margin:0}.classroom-access{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;padding:30px}.access-status{border-bottom:2px solid #e0e0e0;margin-bottom:25px;padding-bottom:25px}.status-badge{margin-bottom:15px;padding:10px 20px}.status-badge.enabled{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.access-note{color:#666;font-size:1rem;margin:0}.join-section{text-align:center}.join-section h3{color:#667eea;font-size:1.5rem;margin:0 0 10px}.join-section p{color:#666;margin:10px 0}.join-classroom-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 6px 20px #667eea66;font-size:1.2rem;font-weight:700;margin:20px 0;padding:18px 40px}.join-classroom-btn:hover{box-shadow:0 8px 25px #667eea99;transform:translateY(-3px)}.classroom-url{background:#f5f5f5;border-radius:10px;margin-top:20px;padding:15px;word-break:break-all}.classroom-url strong{color:#333;display:block;margin-bottom:8px}.classroom-url a{color:#667eea;text-decoration:none;word-break:break-all}.classroom-url a:hover{text-decoration:underline}.no-url-section{background:#fff3cd;border-left:4px solid #ffc107;border-radius:10px;padding:30px;text-align:center}.no-url-section p{color:#856404;font-size:1rem;margin:0}.classroom-instructions{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;padding:25px}.classroom-instructions h3{color:#667eea;font-size:1.5rem;margin:0 0 20px}.classroom-instructions ul{color:#555;margin:0;padding-left:25px}.classroom-instructions li{line-height:1.6;margin:10px 0}.error-state,.loading-state{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;margin:50px auto;max-width:600px;padding:40px;text-align:center}.error-state h2{color:#f44336;margin:0 0 20px}.error-state p{color:#666;font-size:1.1rem;margin:0 0 30px}.classroom-tabs{background:#ffffff1a;border-radius:12px;display:flex;gap:8px;margin-bottom:24px;padding:8px}.tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.active{background:#fff;box-shadow:0 4px 12px #00000026;color:#667eea}.tab-content{background:#fff;border-radius:16px;min-height:600px;overflow:hidden}.livecode-container{height:100%;min-height:600px}.interactive-container{padding:40px;text-align:center}.coming-soon{margin:0 auto;max-width:600px}.coming-soon h2{color:#667eea;font-size:2rem;margin:0 0 20px}.coming-soon p{color:#666;font-size:1.1rem;margin:0 0 16px}.coming-soon ul{color:#666;font-size:1rem;line-height:1.6;margin:20px auto 0;max-width:400px;text-align:left}.coming-soon li{margin-bottom:8px}@media (max-width:768px){.classroom-container{padding:15px}.classroom-header h1{font-size:1.5rem}.classroom-access,.classroom-instructions,.session-card-classroom{padding:20px}.classroom-tabs{flex-direction:column;gap:6px}.tab-btn{padding:14px 20px}.tab-btn.active{box-shadow:0 2px 8px #00000026}.interactive-container{padding:20px}.coming-soon h2{font-size:1.5rem}}.student-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--theme-primary,#667eea) 0,var(--theme-secondary,#764ba2) 100%);min-height:100vh;transition:background .3s ease}.coach-layout{background:radial-gradient(circle at 10% 25%,#ffde7966,#0000 40%),linear-gradient(120deg,#f7f8ff,#fff5f8 50%,#f0f7ff);display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:clamp(20px,4vw,48px)}.coach-header{align-items:center;background:#ffffffeb;border:1px solid #5a60ff1a;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;gap:20px;justify-content:space-between;padding:clamp(20px,3vw,40px)}.hero-copy h1{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:8px}.subline{color:var(--gray-500)}.signout-btn{background:linear-gradient(120deg,var(--color-berry),var(--color-sunrise));border:none;border-radius:999px;box-shadow:0 12px 28px #ff5f8f40;color:#fff;font-weight:700;padding:12px 22px}.coach-pulses{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pulse-card{background:#ffffffe6;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.pulse-icon{font-size:1.6rem}.pulse-label{color:var(--gray-500);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.pulse-value{font-size:1.3rem;font-weight:700;margin:6px 0}.pulse-status{color:var(--gray-500)}.coach-nav{background:#ffffffeb;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:flex;gap:10px;padding:10px}.nav-link{border:2px solid #0000;border-radius:var(--radius-md);color:var(--gray-500);flex:1 1;font-weight:700;padding:14px;text-align:center;text-decoration:none}.nav-link.active{border-color:var(--theme-primary);color:var(--theme-primary)}.coach-tools{display:flex;flex-wrap:wrap;gap:10px}.tool-chip{align-items:center;background:#ffffffe6;border:1px dashed #5a60ff66;border-radius:var(--radius-md);color:var(--gray-600);display:inline-flex;font-weight:600;gap:8px;padding:10px 14px}.coach-content{background:#fffffff2;border:1px solid #5a60ff14;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);min-height:420px;padding:clamp(20px,3vw,40px)}@media (max-width:768px){.coach-header{text-align:center}.coach-header,.coach-nav{flex-direction:column}}.coach-sessions{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px;text-align:left}.coach-sessions h1{color:#667eea;font-size:2rem;margin-bottom:30px}.session-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-left:5px solid #667eea;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:25px;text-align:left}.session-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-actions{align-items:center;display:flex;gap:10px}.join-classroom-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.join-classroom-btn:hover{background:#059669;box-shadow:0 4px 8px #10b9814d;transform:translateY(-2px)}.session-header h3{color:#667eea;font-size:1.5rem;margin:0}.view-students-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.view-students-btn:hover{background:#5568d3}.config-components-btn{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.config-components-btn:hover{background:#7c3aed;box-shadow:0 4px 8px #8b5cf64d;transform:translateY(-2px)}.session-details{display:flex;flex-direction:column;gap:10px}.detail-item{align-items:center;display:flex;gap:10px}.detail-label{color:#555;flex-shrink:0;font-weight:700;min-width:150px}.student-count{color:#667eea;font-size:1.1rem;font-weight:700}.session-details-panel{border-top:2px solid #667eea33;margin-top:25px;padding-top:25px}.homeworks-section,.students-section{margin-bottom:30px}.homeworks-section h4,.students-section h4{color:#667eea;font-size:1.2rem;margin-bottom:15px}.students-list{display:flex;flex-direction:column;gap:12px}.student-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:15px}.student-item.pending{border-left-color:#ffa726}.student-item.active{border-left-color:#4caf50}.student-item.cancelled{border-left-color:#f5576c;opacity:.7}.student-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:100%}.student-info strong{color:#555;font-size:1rem}.student-email{color:#999;font-size:.85rem}.reg-status{border-radius:15px;font-size:.85rem;font-weight:700;padding:4px 12px}.reg-status.pending{background:#fff3e0;color:#e65100}.reg-status.active{background:#e8f5e9;color:#2e7d32}.reg-status.cancelled{background:#ffebee;color:#c62828}.homeworks-list{display:flex;flex-direction:column;gap:15px}.homework-item{background:#fff;border-left:4px solid #4caf50;border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:20px}.homework-item.disabled{border-left-color:#999;opacity:.7}.homework-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.homework-header h5{color:#555;font-size:1.1rem;margin:0}.homework-status{border-radius:15px;font-size:.85rem;font-weight:700;padding:4px 12px}.homework-status.enabled{background:#e8f5e9;color:#2e7d32}.homework-status.disabled{background:#ffebee;color:#c62828}.homework-desc{color:#666;font-size:.9rem;margin-bottom:10px}.homework-due{color:#999;font-size:.85rem;margin-bottom:15px}.homework-actions{display:flex;gap:10px}.disable-btn,.enable-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:all .3s ease}.enable-btn{background:#4caf50;color:#fff}.enable-btn:hover{background:#45a049}.disable-btn{background:#f5576c;color:#fff}.disable-btn:hover{background:#e0455a}.no-data{font-style:italic;padding:20px}.empty-state,.no-data{color:#999;text-align:center}.empty-state{font-size:1.1rem;padding:60px 20px}.component-config-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.component-config-modal .modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.coach-dashboard{min-height:100vh}.public-sessions-page{background:linear-gradient(135deg,#f093fb,#f5576c);min-height:100vh;padding-bottom:40px}.public-header{background:#fff;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px 30px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px}.header-content h1{color:#f5576c;font-size:1.8rem;margin:0}.home-link{background:#fff;border:2px solid #f5576c;border-radius:10px;color:#f5576c!important;font-size:1rem;font-weight:700;padding:10px 20px;text-decoration:none;transition:all .3s ease}.home-link:hover{background:#f5576c!important;color:#fff!important}.available-sessions{margin:0 auto;max-width:1200px;padding:0 30px}.signup-prompt{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 4px 15px #0003;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.signup-prompt p{font-size:1.1rem;margin:0}.signup-prompt a{color:#fff;font-weight:700;margin:0 5px;text-decoration:underline}.signup-prompt a:hover{text-decoration:none}.sessions-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.page-views{color:#666;font-size:.9rem;font-weight:400;white-space:nowrap}.topics-list{display:flex;flex-direction:column;gap:12px;margin-top:15px}.topics-list strong{color:#667eea;display:block;font-size:1rem;margin-bottom:10px}.topic-item{background:#fff;border-left:3px solid #667eea;border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:15px}.topic-header{flex-wrap:wrap;gap:10px;margin-bottom:8px}.topic-name{color:#333;font-size:1rem;font-weight:700}.topic-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.topic-date{background:#fff3cd;color:#856404}.topic-date,.topic-hours{border-radius:15px;font-size:.85rem;font-weight:700;padding:4px 10px}.topic-hours{background:#e3f2fd;color:#1976d2}.topic-desc{color:#555;font-size:.9rem;line-height:1.6;margin:8px 0 0;white-space:pre-line}.session-details-section{display:flex;flex-direction:column;gap:15px;margin-top:20px}.course-objects,.expectations,.fees-terms{background:#f9f9f9;border-left:3px solid #667eea;border-radius:10px;padding:15px}.course-objects strong,.expectations strong,.fees-terms strong{color:#667eea;display:block;margin-bottom:8px}.course-objects p,.expectations p,.fees-terms p{color:#555;line-height:1.6;margin:0;white-space:pre-line}.sessions-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(600px,1fr))}@media (max-width:768px){.sessions-grid{grid-template-columns:1fr}}.session-card{min-height:auto}.share-notification{animation:slideDown .3s ease;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:10px;box-shadow:0 4px 12px #48bb784d;color:#fff;font-weight:600;margin:15px 0;padding:12px 20px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.course-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px}.course-actions{display:flex;flex-wrap:wrap;gap:10px}.share-course-btn,.view-course-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 18px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.view-course-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.view-course-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.share-course-btn{background:#fff;border:2px solid #667eea;color:#667eea}.share-course-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.course-description{line-height:1.7;margin:12px 0}@media (max-width:640px){.course-header-row{align-items:stretch;flex-direction:column}.course-actions{width:100%}.share-course-btn,.view-course-btn{flex:1 1;text-align:center}}.public-course-detail{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.course-header{align-items:center;flex-wrap:wrap;gap:15px;margin:0 auto 30px;max-width:1200px}.header-nav{align-items:center;display:flex;gap:20px}.back-link,.home-link{background:#fff3;border-radius:8px;color:#fff;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .3s ease}.back-link:hover,.home-link:hover{background:#ffffff4d;transform:translateY(-2px)}.share-section{align-items:center;display:flex;gap:10px}.share-button{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.share-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.share-message{animation:fadeIn .3s ease;background:#00c864e6;border-radius:6px;color:#fff;font-weight:600;padding:8px 16px}.course-content{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;margin:0 auto;max-width:1200px;padding:40px}.course-hero{border-bottom:2px solid #f0f0f0;margin-bottom:50px;padding-bottom:30px;text-align:center}.course-hero h1{color:#667eea;font-size:2.5rem;margin-bottom:20px}.course-description{font-size:1.2rem;line-height:1.8;margin:0 auto;max-width:800px}.topics-section{margin-bottom:50px}.topics-section h2{color:#333;font-size:2rem;margin-bottom:30px}.topics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:30px}.topic-card{background:linear-gradient(135deg,#f5f7fa,#e9ecef);border:2px solid #0000;border-radius:12px;padding:25px;transition:all .3s ease}.topic-card:hover{border-color:#667eea;box-shadow:0 8px 20px #667eea33;transform:translateY(-5px)}.topic-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.topic-header h3{color:#667eea;font-size:1.3rem;margin:0}.topic-hours{background:#667eea;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:5px 12px}.topic-description{color:#555;line-height:1.6;margin-bottom:15px}.sample-code{background:#2d3748;border-radius:8px;margin-top:15px;padding:15px}.sample-code strong{color:#a0aec0;display:block;font-size:.9rem;margin-bottom:10px}.sample-code pre{margin:0;overflow-x:auto}.sample-code code{color:#68d391;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5}.total-duration{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:1.1rem;padding:20px;text-align:center}.sessions-section h2{color:#333;font-size:2rem;margin-bottom:30px}.no-sessions{background:#f8f9fa;border-radius:12px;padding:40px;text-align:center}.no-sessions p{color:#666;font-size:1.1rem;margin-bottom:15px}.no-sessions a{color:#667eea;font-weight:600;text-decoration:none}.no-sessions a:hover{text-decoration:underline}.sessions-list{display:flex;flex-direction:column;gap:25px}.session-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:30px;transition:all .3s ease}.session-card.active{background:linear-gradient(90deg,#f0fff4,#fff);border-color:#68d391}.session-card.upcoming{background:linear-gradient(90deg,#ebf8ff,#fff);border-color:#4299e1}.session-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-3px)}.session-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.reg-badge,.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:6px 14px}.status-badge{background:#e9ecef;color:#495057}.session-card.active .status-badge{background:#c6f6d5;color:#22543d}.session-card.upcoming .status-badge{background:#bee3f8;color:#2c5282}.reg-badge.pending{background:#fef5e7;color:#856404}.reg-badge.active{background:#d4edda;color:#155724}.session-card h3{color:#667eea;font-size:1.5rem;margin-bottom:20px}.session-details{grid-gap:15px;background:#f8f9fa;border-radius:10px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:20px}.detail-row{display:flex;flex-direction:column;gap:5px}.detail-row .label{color:#667eea;font-size:.9rem;font-weight:600}.session-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:15px;padding:15px}.session-info strong{color:#333;display:block;margin-bottom:8px}.session-info p{color:#555;line-height:1.6;margin:0}.session-actions{border-top:2px solid #e9ecef;margin-top:20px;padding-top:20px}.register-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease;width:100%}.register-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.register-btn:disabled{cursor:not-allowed;opacity:.6}.reg-message{border-radius:10px;font-size:1.05rem;font-weight:600;padding:15px;text-align:center}.reg-message.pending{background:#fff3cd;border:2px solid #ffc107;color:#856404}.reg-message.active{background:#d4edda;border:2px solid #28a745;color:#155724}.info-message{color:#666;font-style:italic;padding:15px;text-align:center}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;margin-top:60px;padding:50px;text-align:center}.cta-section h2{font-size:2rem;margin-bottom:15px}.cta-section p{font-size:1.2rem;margin-bottom:30px;opacity:.95}.cta-button{background:#fff;border:none;border-radius:10px;color:#667eea;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:15px 40px;text-decoration:none;transition:all .3s ease}.cta-button:hover{box-shadow:0 8px 25px #0003;transform:translateY(-3px)}.empty-state,.loading-state{background:#fff;border-radius:20px;margin:0 auto;max-width:600px;padding:100px 20px;text-align:center}.empty-state h2{color:#667eea;font-size:2rem;margin-bottom:20px}.empty-state p{color:#666;font-size:1.1rem;margin-bottom:30px}@media (max-width:768px){.course-content{padding:25px}.course-hero h1{font-size:1.8rem}.session-details,.topics-grid{grid-template-columns:1fr}.course-header{align-items:stretch;flex-direction:column}.header-nav{justify-content:space-between}}.legal-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:40px 20px}.legal-header{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:0 auto 40px;max-width:900px;padding:40px;text-align:center}.back-link{background:#f5f7fa;border-radius:8px;color:#667eea;display:inline-block;font-weight:600;margin-bottom:20px;padding:10px 20px;text-decoration:none;transition:all .3s ease}.back-link:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.legal-header h1{color:#667eea;font-size:2.5rem;margin-bottom:15px}.last-updated{color:#666;font-size:.95rem;font-style:italic}.legal-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;line-height:1.8;margin:0 auto;max-width:900px;padding:50px}.legal-content section{margin-bottom:40px}.legal-content h2{border-bottom:3px solid #f0f0f0;color:#667eea;font-size:1.8rem;margin-bottom:20px;padding-bottom:10px}.legal-content h3{color:#764ba2;font-size:1.3rem;margin:25px 0 15px}.legal-content p{color:#444;margin-bottom:15px}.legal-content ul{color:#555;margin:15px 0 15px 30px}.legal-content li{line-height:1.7;margin-bottom:10px}.legal-content strong{color:#333;font-weight:600}.legal-content a{color:#667eea;font-weight:600;text-decoration:none}.legal-content a:hover{text-decoration:underline}.contact-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;margin:20px 0;padding:25px}.contact-info p{margin:8px 0}.acceptance-note{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 8px 20px #667eea4d;color:#fff;margin-top:40px;padding:30px;text-align:center}.acceptance-note p{color:#fff;font-size:1.05rem;margin:0}.legal-footer{color:#666;margin:30px auto 0;max-width:900px;padding:20px;text-align:center}.legal-footer a{color:#667eea;font-weight:600;margin:0 10px;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.legal-footer span{color:#ccc;margin:0 5px}@media (max-width:768px){.legal-page{padding:20px 15px}.legal-header{padding:30px 20px}.legal-header h1{font-size:2rem}.legal-content{padding:30px 20px}.legal-content h2{font-size:1.5rem}.legal-content h3{font-size:1.2rem}.legal-content ul{margin-left:20px}}.visual-code-canvas{background:linear-gradient(135deg,#667eea,#764ba2);margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.canvas-header{color:#fff;margin-bottom:30px;text-align:center}.canvas-header h1{font-size:3rem;margin:0;text-shadow:2px 2px 4px #0000004d}.canvas-header p{font-size:1.2rem;margin-top:10px;opacity:.9}.canvas-controls{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding:20px}.template-selector{align-items:center;display:flex;gap:10px}.template-selector label{color:#667eea;font-weight:700}.template-selector select{background:#fff;border:2px solid #667eea;border-radius:8px;cursor:pointer;font-size:1rem;padding:10px 15px;transition:all .3s ease}.template-selector select:hover{border-color:#764ba2;box-shadow:0 2px 8px #667eea33}.action-buttons{flex-wrap:wrap;gap:10px}.action-buttons button{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.run-btn:hover:not(:disabled){box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.run-btn:disabled{cursor:not-allowed;opacity:.6}.clear-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.clear-btn:hover{box-shadow:0 4px 12px #f5576c66;transform:translateY(-2px)}.save-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.save-btn:hover{box-shadow:0 4px 12px #4facfe66;transform:translateY(-2px)}.download-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.download-btn:hover{box-shadow:0 4px 12px #764ba266;transform:translateY(-2px)}.share-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.share-btn:hover{box-shadow:0 4px 12px #fa709a66;transform:translateY(-2px)}.gallery-btn{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333}.gallery-btn:hover{box-shadow:0 4px 12px #a8edea66;transform:translateY(-2px)}.canvas-workspace{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;min-height:700px}.canvas-panel,.code-panel{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;padding:20px}.panel-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.panel-header h3{color:#667eea;margin:0}.canvas-info,.template-info{color:#999;font-size:.9rem}.code-editor{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;color:#333;flex:1 1;font-family:Courier New,monospace;font-size:14px;line-height:1.6;padding:15px;resize:none;tab-size:2}.code-editor:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.error-panel{background:#fee;border:2px solid #f5576c;border-radius:10px;margin-top:15px;padding:15px}.error-panel strong{color:#f5576c;display:block;margin-bottom:5px}.error-panel p{color:#c44569;margin:5px 0}.error-panel small{color:#999;font-style:italic}.code-hints{background:#f0f4ff;border-left:4px solid #667eea;border-radius:10px;margin-top:15px;padding:15px}.code-hints h4{color:#667eea;margin:0 0 10px}.code-hints ul{list-style:none;margin:0;padding:0}.code-hints li{font-size:.9rem;padding:5px 0}.code-hints code{background:#fff;border-radius:4px;color:#764ba2;font-weight:700;padding:2px 6px}.canvas-container{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;flex:1 1;justify-content:center;min-height:500px;padding:20px}.art-canvas{background:#fff;border:3px solid #667eea;border-radius:10px;box-shadow:0 4px 20px #0000001a;height:auto;max-width:100%}.canvas-tips{background:#f0f4ff;border-radius:10px;margin-top:15px;padding:15px;text-align:center}.canvas-tips p{color:#667eea;font-weight:500;margin:5px 0}.modal-overlay{background:#000000b3}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:30px;width:90%}.modal-content h2{color:#667eea;margin:0 0 20px;text-align:center}.art-name-input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;margin-bottom:20px;padding:15px;width:100%}.art-name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-actions{display:flex;gap:10px;justify-content:center}.confirm-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 30px;transition:all .3s ease}.confirm-btn:hover{box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.cancel-btn{background:#f0f0f0;color:#666;font-weight:700;padding:12px 30px;transition:all .3s ease}.cancel-btn:hover{background:#e0e0e0}.gallery-overlay{animation:fadeIn .3s ease;background:#000c;bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.gallery-content{animation:slideUp .3s ease;background:#fff;border-radius:15px;margin:40px auto;max-width:1200px;padding:30px;width:90%}.gallery-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.gallery-header h2{color:#667eea;margin:0}.close-btn{background:#f0f0f0;font-size:1.5rem;height:40px;transition:all .3s ease;width:40px}.close-btn:hover{background:#e0e0e0}.empty-gallery{color:#999;padding:60px 20px;text-align:center}.empty-gallery p{font-size:1.2rem;margin:10px 0}.gallery-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gallery-item{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden;transition:all .3s ease}.gallery-item:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.gallery-item img{border-bottom:3px solid #667eea;height:200px;object-fit:cover;width:100%}.gallery-item-info{padding:15px}.gallery-item-info h4{color:#333;margin:0 0 8px}.gallery-item-info .author{color:#667eea;font-size:.9rem;margin:5px 0}.gallery-item-info .date{color:#999;font-size:.85rem;margin:5px 0 15px}.load-code-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px;transition:all .3s ease;width:100%}.load-code-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width:1200px){.canvas-workspace{grid-template-columns:1fr}.canvas-container{min-height:400px}}@media (max-width:768px){.canvas-header h1{font-size:2rem}.canvas-controls{align-items:stretch;flex-direction:column}.action-buttons{justify-content:center}.action-buttons button{flex:1 1;min-width:120px}.gallery-grid{grid-template-columns:1fr}.art-canvas{max-width:100%}}.code-tiktok{background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;left:0;overflow:hidden;position:fixed;top:0;-webkit-user-select:none;user-select:none;width:100vw}.navigation-hints{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-radius:25px;display:flex;gap:30px;left:50%;padding:10px 20px;position:absolute;top:20px;transform:translateX(-50%);z-index:10}.navigation-hints .hint{align-items:center;color:#fff;display:flex;font-size:.85rem;gap:8px}.navigation-hints .arrow{animation:bounce 2s infinite;font-size:1.5rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.snippet-card{-ms-overflow-style:none;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow-y:auto;padding:80px 20px 100px;position:relative;scrollbar-width:none;transition:transform .3s ease;width:100%}.snippet-card::-webkit-scrollbar{display:none}.snippet-background{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.snippet-header{justify-content:space-between;margin-bottom:20px;position:relative;z-index:2}.author-info,.snippet-header{align-items:center;display:flex}.author-info{gap:12px}.author-avatar{align-items:center;background:#ffffff1a;border:3px solid #ffffff4d;border-radius:50%;display:flex;font-size:3rem;height:60px;justify-content:center;width:60px}.author-details h3{color:#fff;font-size:1.2rem;font-weight:700;margin:0}.author-details p{color:#ffffffb3;font-size:.9rem;margin:4px 0 0}.follow-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 24px;transition:all .3s ease}.follow-btn:hover{box-shadow:0 6px 20px #667eea99;transform:scale(1.05)}.snippet-content{margin-bottom:20px;position:relative;z-index:2}.snippet-content h1{color:#fff;font-size:2rem;font-weight:800;margin:0 0 10px;text-shadow:0 2px 10px #00000080}.snippet-content .description{color:#ffffffe6;font-size:1.1rem;line-height:1.5;margin:0 0 15px}.hashtags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.hashtag{color:#4facfe;cursor:pointer;font-size:.95rem;font-weight:600;transition:color .2s ease}.hashtag:hover{color:#00f2fe;text-decoration:underline}.difficulty-badge{box-shadow:0 2px 8px #0000004d;margin-right:10px}.difficulty-badge,.trending-badge{border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:1px;padding:6px 16px}.trending-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;display:inline-block}.code-block{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:2px solid #ffffff1a;border-radius:15px;margin-bottom:20px;padding:20px;position:relative;z-index:2}.code-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.code-header span{color:#fff;font-size:1rem;font-weight:600}.copy-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.copy-btn:hover{background:#fff3;transform:translateY(-2px)}.code-block pre{margin:0;overflow-x:auto}.code-block code{color:#4af626;display:block;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6;white-space:pre}.run-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:10px;box-shadow:0 4px 15px #38ef7d4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:15px;padding:14px;transition:all .3s ease;width:100%}.run-btn:hover{box-shadow:0 6px 20px #38ef7d80;transform:translateY(-2px)}.challenge-box{background:#ffc10726;border:2px solid #ffc10780;border-radius:15px;margin-bottom:20px;padding:15px;position:relative;z-index:2}.challenge-box h4{color:#ffc107;font-size:1rem;margin:0 0 8px}.challenge-box p{color:#fff;font-size:.95rem;line-height:1.5;margin:0}.action-buttons{bottom:150px;gap:20px;position:fixed;right:20px;z-index:100}.action-btn,.action-buttons{display:flex;flex-direction:column}.action-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:50%;height:60px;justify-content:center;position:relative;transition:all .3s ease;width:60px}.action-btn:hover{background:#fff3;transform:scale(1.1)}.action-btn.liked{animation:heartBeat .3s ease}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.action-btn .icon{font-size:1.8rem}.action-btn .count{color:#fff;font-size:.7rem;font-weight:700;margin-top:2px}.action-btn.view-count{background:#0000;border:none;cursor:default}.action-btn.view-count:hover{transform:none}.progress-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-radius:20px;bottom:30px;color:#fff;display:flex;font-size:.9rem;font-weight:600;gap:5px;left:50%;padding:8px 16px;position:fixed;transform:translateX(-50%);z-index:10}.comments-panel{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000000f2;border-radius:25px 25px 0 0;bottom:0;display:flex;flex-direction:column;height:70vh;left:0;position:fixed;width:100%;z-index:200}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.comments-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px}.comments-header h3{color:#fff;font-size:1.2rem;margin:0}.close-btn{font-size:1.2rem;height:35px;width:35px}.close-btn:hover{transform:rotate(90deg)}.comments-list{flex:1 1;overflow-y:auto;padding:20px}.comment{background:#ffffff0d;border-radius:12px;margin-bottom:12px;padding:12px}.comment-author{color:#4facfe;display:block;font-size:.9rem;font-weight:700;margin-bottom:5px}.comment-text{color:#fff;line-height:1.5;margin:0 0 5px}.comment-time{color:#ffffff80;font-size:.75rem}.no-comments{color:#ffffff80;font-size:1rem;padding:40px 20px;text-align:center}.comment-input{background:#00000080;border-top:1px solid #ffffff1a;display:flex;gap:10px;padding:15px 20px}.comment-input input{background:#ffffff1a;border:2px solid #fff3;border-radius:25px;color:#fff;flex:1 1;font-size:.95rem;padding:12px 20px}.comment-input input::placeholder{color:#ffffff80}.comment-input input:focus{background:#ffffff26;border-color:#667eea;outline:none}.comment-input button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:700;padding:12px 24px;transition:all .2s ease}.comment-input button:hover:not(:disabled){transform:scale(1.05)}.comment-input button:disabled{cursor:not-allowed;opacity:.5}.create-fab{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 20px #f5576c80;color:#fff;cursor:pointer;font-size:2rem;height:60px;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:150}.create-fab:hover{box-shadow:0 6px 30px #f5576cb3;transform:scale(1.1) rotate(90deg)}.modal-overlay{background:#000000e6;height:100%;width:100%;z-index:300}.create-modal{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 10px 50px #00000080;max-width:500px;padding:40px;text-align:center;width:90%}.create-modal h2{color:#fff;font-size:2rem;margin:0 0 20px}.create-modal p{color:#ffffffe6;font-size:1.1rem;margin:0 0 20px}.create-modal ul{color:#fff;font-size:1.05rem;line-height:2;margin-bottom:30px;text-align:left}.close-modal-btn{background:#fff;border:none;border-radius:25px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:700;padding:14px 40px;transition:all .2s ease}.close-modal-btn:hover{box-shadow:0 4px 15px #ffffff4d;transform:scale(1.05)}@media (max-width:768px){.snippet-card{padding:60px 15px 80px}.snippet-content h1{font-size:1.5rem}.snippet-content .description{font-size:1rem}.code-block{padding:15px}.code-block code{font-size:.85rem}.action-buttons{bottom:120px;gap:15px;right:10px}.action-btn{height:50px;width:50px}.action-btn .icon{font-size:1.5rem}.action-btn .count{font-size:.65rem}.navigation-hints{display:none}.create-fab{bottom:20px;font-size:1.5rem;height:50px;right:20px;width:50px}}@media (max-width:480px){.author-avatar{font-size:2.5rem;height:50px;width:50px}.author-details h3{font-size:1rem}.follow-btn{font-size:.9rem;padding:8px 18px}}.marketplace{background:linear-gradient(180deg,#f8f9fa 0,#e9ecef);min-height:100vh;padding-bottom:60px}.marketplace-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 20px 60px;text-align:center}.marketplace-hero h1{font-size:3rem;margin:0 0 15px;text-shadow:2px 2px 4px #0003}.marketplace-hero>p{font-size:1.2rem;margin-bottom:30px;opacity:.9}.marketplace-stats{display:flex;flex-wrap:wrap;gap:60px;justify-content:center;margin:40px 0}.stat{align-items:center;display:flex;flex-direction:column}.stat-number{display:block;font-size:2.5rem;font-weight:800}.stat-label{font-size:1rem;margin-top:5px;opacity:.9}.search-bar{gap:10px;margin:30px auto 0;max-width:600px}.search-bar input{border-radius:10px;box-shadow:0 4px 15px #0000001a;font-size:1rem;padding:15px 20px}.search-bar input:focus{box-shadow:0 4px 20px #0003;outline:none}.search-bar button{background:#fff;border:none;border-radius:10px;box-shadow:0 4px 15px #0000001a;color:#667eea;cursor:pointer;font-size:1rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.search-bar button:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.marketplace-section{margin:60px auto;max-width:1400px;padding:0 20px}.marketplace-section h2{color:#333;font-size:2rem;margin:0 0 30px}.courses-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.course-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.course-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.course-thumbnail{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:200px;justify-content:center;overflow:hidden;width:100%}.course-thumbnail img{height:100%;object-fit:cover;width:100%}.course-info{display:flex;flex:1 1;flex-direction:column;padding:20px}.course-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:15px}.course-header h3{color:#333;flex:1 1;font-size:1.2rem;line-height:1.4;margin:0}.price{background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:6px 14px;white-space:nowrap}.price.free{background:linear-gradient(135deg,#4facfe,#00f2fe)}.course-description{color:#666;font-size:.95rem;line-height:1.6;margin:0 0 15px}.course-instructor{align-items:center;border-top:1px solid #f0f0f0;display:flex;gap:10px;margin-bottom:15px;padding-top:15px}.instructor-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;font-size:1.2rem;height:35px;justify-content:center;overflow:hidden;width:35px}.instructor-avatar img{height:100%;object-fit:cover;width:100%}.instructor-name{color:#333;font-size:.9rem;font-weight:600}.verified{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;width:18px}.course-stats{color:#999;display:flex;font-size:.85rem;gap:15px;margin-bottom:10px}.difficulty-badge{border-radius:15px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-top:auto;padding:5px 12px;text-transform:uppercase}.difficulty-badge.beginner{background:#e8f5e9;color:#2e7d32}.difficulty-badge.intermediate{background:#fff8e1;color:#f57c00}.difficulty-badge.advanced{background:#fce4ec;color:#c2185b}.marketplace-filters{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:40px auto;max-width:1400px;padding:30px}.marketplace-filters h3{color:#333;margin:0 0 20px}.filter-group{margin-bottom:25px}.filter-group:last-child{margin-bottom:0}.filter-group label{color:#666;display:block;font-weight:600;margin-bottom:10px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-buttons button{background:#f0f0f0;border:2px solid #0000;border-radius:20px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.filter-buttons button:hover{background:#e0e0e0}.filter-buttons button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.filter-group select{background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-size:1rem;min-width:200px;padding:10px 15px}.filter-group select:focus{border-color:#667eea;outline:none}.loading,.no-courses{color:#999;font-size:1.1rem;padding:60px 20px;text-align:center}.no-courses button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;margin-top:20px;padding:12px 30px;transition:all .3s ease}.no-courses button:hover{background:#5568d3;transform:translateY(-2px)}.marketplace-cta{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;margin:80px auto 0;max-width:800px;padding:60px 30px;text-align:center}.marketplace-cta h2{font-size:2.5rem;margin:0 0 15px}.marketplace-cta p{font-size:1.2rem;margin:0 0 30px;opacity:.9}.marketplace-cta button{background:#fff;border:none;border-radius:10px;box-shadow:0 4px 15px #0003;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px 40px;transition:all .3s ease}.marketplace-cta button:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}@media (max-width:768px){.marketplace-hero h1{font-size:2rem}.marketplace-stats{gap:30px}.stat-number{font-size:2rem}.search-bar{flex-direction:column}.search-bar button{width:100%}.marketplace-section h2{font-size:1.5rem}.courses-grid{grid-template-columns:1fr}.marketplace-filters{padding:20px}.filter-group select{width:100%}.marketplace-cta{margin:40px 20px 0;padding:40px 20px}.marketplace-cta h2{font-size:1.8rem}}.become-instructor{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding-bottom:60px}.instructor-hero{color:#fff;padding:80px 20px 60px;text-align:center}.instructor-hero h1{font-size:3rem;margin:0 0 20px;text-shadow:2px 2px 4px #0003}.instructor-hero p{font-size:1.3rem;opacity:.9}.benefits-section{margin:0 auto 60px;max-width:1200px;padding:0 20px}.benefits-section h2{color:#fff;font-size:2rem;margin-bottom:40px;text-align:center}.benefits-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.benefit-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:30px;text-align:center;transition:transform .3s ease}.benefit-card:hover{transform:translateY(-5px)}.benefit-icon{display:block;font-size:3rem;margin-bottom:15px}.benefit-card h3{color:#667eea;margin:0 0 10px}.benefit-card p{color:#666;line-height:1.6;margin:0}.application-form-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;margin:0 auto;max-width:800px;padding:40px}.application-form-container h2{color:#667eea;font-size:2rem;margin:0 0 30px;text-align:center}.error-message{background:#fee;border:2px solid #f5576c;border-radius:10px;color:#c44569;font-weight:600;margin-bottom:20px;padding:15px}.application-form{display:flex;flex-direction:column;gap:30px}.form-section{border-bottom:2px solid #f0f0f0;padding-bottom:30px}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#667eea;font-size:1.3rem;margin:0 0 20px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-group label{color:#333;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:10px;font-family:inherit;font-size:1rem;padding:12px 15px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group small{color:#999;font-size:.85rem}.expertise-input{display:flex;gap:10px}.expertise-input input{flex:1 1}.add-btn{background:#667eea;border-radius:10px;font-weight:600}.add-btn:hover{background:#5568d3;transform:translateY(-2px)}.expertise-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.expertise-tag{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:flex;font-size:.9rem;gap:8px;padding:8px 15px}.remove-tag{background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:20px;line-height:1;transition:background .2s;width:20px}.remove-tag:hover{background:#fff6}.checkbox-group{margin:20px 0}.checkbox-group label{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;margin-top:4px;width:20px}.checkbox-group a{color:#667eea;margin:0 4px;text-decoration:none}.checkbox-group a:hover{text-decoration:underline}.submit-btn{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:10px;box-shadow:0 4px 15px #38ef7d4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px 40px;transition:all .3s ease}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #38ef7d80;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.application-status-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.application-status{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;max-width:600px;padding:60px;text-align:center}.application-status h1{color:#667eea;margin:0 0 30px}.status-badge{border-radius:25px;display:inline-block;font-size:1.2rem;font-weight:700;margin-bottom:30px;padding:15px 30px}.status-badge.pending{background:#ffc107;color:#fff}.status-badge.approved{background:#4caf50;color:#fff}.status-badge.rejected{background:#f5576c;color:#fff}.application-details{text-align:left}.application-details p{font-size:1.1rem;margin:15px 0}.success-message{background:#e8f5e9;border:2px solid #4caf50;border-radius:10px;color:#2e7d32;font-weight:600;padding:20px}.pending-message{background:#fff8e1;border:2px solid #ffc107;border-radius:10px;color:#f57c00;font-weight:600;padding:20px}.review-notes{background:#fef2f2;border:2px solid #f5576c;border-radius:10px;margin-top:20px;padding:20px}.review-notes h3{color:#c44569;margin:0 0 10px}.dashboard-btn,.reapply-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:20px;padding:14px 30px;transition:all .3s ease}.dashboard-btn:hover,.reapply-btn:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.instructor-hero h1{font-size:2rem}.instructor-hero p{font-size:1.1rem}.benefits-grid{grid-template-columns:1fr}.application-form-container{padding:30px 20px}.application-status{padding:40px 20px}}.metaverse-world{background:linear-gradient(180deg,#0f0c29,#302b63,#24243e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden;width:100vw}.metaverse-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{border:5px solid #ffffff4d;border-top-color:#fff;height:60px;width:60px}.metaverse-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-bottom:2px solid #ffffff1a;display:flex;justify-content:space-between;padding:15px 30px}.header-left h1{font-size:1.5rem;margin:0 0 5px}.current-zone-info{align-items:center;display:flex;font-size:.9rem;gap:15px}.zone-name{color:#4facfe;font-weight:600}.zone-players{color:#ffffffb3}.header-right{gap:15px}.header-right,.neuro-indicator{align-items:center;display:flex}.neuro-indicator{background:#4caf5033;border:2px solid #4caf50;border-radius:20px;gap:8px;padding:8px 15px}.neuro-icon{animation:pulse 2s infinite;font-size:1.2rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.neuro-label{color:#4caf50;font-size:.85rem;font-weight:600}.avatar-btn,.map-btn{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.avatar-btn:hover,.map-btn:hover{background:#fff3;transform:translateY(-2px)}.metaverse-content{display:flex;height:calc(100vh - 80px)}.metaverse-canvas{align-items:center;background:linear-gradient(180deg,#1a1a2e,#16213e);display:flex;flex:1 1;justify-content:center;position:relative}.canvas-placeholder{text-align:center}.zone-visual{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border:3px solid #667eea80;border-radius:20px;margin-bottom:30px;padding:40px}.zone-visual h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin:0 0 10px}.zone-visual p{color:#fffc;font-size:1.2rem;margin:0}.zone-topic-badge{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;display:inline-block;font-weight:600;margin-top:15px;padding:10px 20px}.player-avatar{align-items:center;display:flex;flex-direction:column;gap:10px}.avatar-emoji{animation:float 3s ease-in-out infinite;font-size:5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.player-name{background:#00000080;border-radius:20px;color:#fff;font-size:1.2rem;font-weight:600;padding:8px 20px}.movement-controls{align-items:center;bottom:150px;flex-direction:column;left:50%;position:absolute;transform:translateX(-50%)}.horizontal-controls,.movement-controls{display:flex;gap:10px}.move-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;cursor:pointer;font-size:1.5rem;height:60px;transition:all .2s ease;width:60px}.move-btn:hover{background:#fff3;transform:scale(1.1)}.move-btn:active{transform:scale(.95)}.emote-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-radius:50px;bottom:80px;display:flex;gap:10px;left:50%;padding:10px 20px;position:absolute;transform:translateX(-50%)}.emote-btn{background:#0000;border:2px solid #fff3;border-radius:50%;cursor:pointer;font-size:1.5rem;height:50px;transition:all .2s ease;width:50px}.emote-btn:hover{background:#ffffff1a;transform:scale(1.1)}.chat-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border-left:2px solid #ffffff1a;display:flex;flex-direction:column;width:350px}.chat-header{border-bottom:2px solid #ffffff1a;padding:15px 20px}.chat-header h3{font-size:1.2rem;margin:0 0 5px}.chat-zone{color:#fff9;font-size:.85rem}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:20px}.chat-message{background:#ffffff0d;border-radius:10px;padding:10px}.chat-message.system{background:#667eea33;font-style:italic;text-align:center}.system-message{color:#fffc;font-size:.9rem}.message-author{color:#4facfe;font-weight:600;margin-right:8px}.message-text{color:#fff}.chat-input{background:#0000004d;border-top:2px solid #ffffff1a;display:flex;gap:10px;padding:15px 20px}.chat-input input{background:#ffffff1a;border:2px solid #fff3;border-radius:20px;color:#fff;flex:1 1;font-size:.9rem;padding:10px 15px}.chat-input input:focus{background:#ffffff26;border-color:#667eea;outline:none}.chat-input button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.chat-input button:hover{transform:scale(1.05)}.modal-overlay{animation:fadeIn .3s ease;background:#000c}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.zone-map-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid #667eea80;border-radius:20px;max-height:80vh;max-width:1000px;overflow-y:auto;padding:40px;width:90%}.zone-map-modal h2{color:#fff;font-size:2rem;margin:0 0 30px;text-align:center}.zones-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:30px}.zone-card{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:15px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.zone-card:hover{background:#ffffff1a;border-color:#667eea;transform:translateY(-5px)}.zone-card.current{background:#4facfe1a;border-color:#4facfe}.zone-card h3{color:#fff;font-size:1.2rem;margin:0 0 10px}.zone-card p{color:#ffffffb3;font-size:.9rem;line-height:1.5;margin:0 0 15px}.zone-stats{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.zone-type{border-radius:15px;font-size:.7rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.zone-type.learning{background:#4caf504d;color:#4caf50}.zone-type.social{background:#2196f34d;color:#2196f3}.zone-type.competition{background:#f443364d;color:#f44336}.zone-type.showcase{background:#9c27b04d;color:#9c27b0}.zone-type.collaborative{background:#ff98004d;color:#ff9800}.current-badge,.full-badge{border-radius:10px;font-size:.7rem;font-weight:700;padding:4px 10px;position:absolute;right:10px;top:10px}.current-badge{background:#4caf50;color:#fff}.full-badge{background:#f5576c;color:#fff}.close-btn{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;font-size:1rem;font-weight:600;padding:15px;transition:all .2s ease;width:100%}.avatar-customizer-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid #667eea80;border-radius:20px;max-width:600px;padding:40px;width:90%}.avatar-customizer-modal h2{color:#fff;font-size:2rem;margin:0 0 30px;text-align:center}.avatar-preview{margin-bottom:30px}.avatar-preview,.preview-avatar{display:flex;justify-content:center}.preview-avatar{align-items:center;background:#ffffff1a;border:3px solid #ffffff4d;border-radius:50%;font-size:6rem;height:150px;width:150px}.customization-options{margin-bottom:30px}.option-group{margin-bottom:20px}.option-group h3{color:#fff;font-size:1.2rem;margin:0 0 15px}.emoji-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.emoji-option{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:10px;cursor:pointer;font-size:2rem;padding:15px;transition:all .2s ease}.emoji-option:hover{background:#ffffff1a;transform:scale(1.1)}.emoji-option.selected{background:#4facfe33;border-color:#4facfe}.neuro-adaptation-overlay{animation:slideIn .3s ease;bottom:20px;position:fixed;right:20px;z-index:999}@keyframes slideIn{0%{transform:translateX(400px)}to{transform:translateX(0)}}.adaptation-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;box-shadow:0 10px 30px #00000080;max-width:350px;padding:20px}.adaptation-card h3{color:#fff;font-size:1.2rem;margin:0 0 10px}.adaptation-card p{color:#ffffffe6;line-height:1.5;margin:0 0 15px}.adaptation-btn{background:#fff;border:none;border-radius:20px;color:#667eea;cursor:pointer;font-weight:600;margin-bottom:10px;margin-right:10px;padding:10px 20px;transition:all .2s ease}.adaptation-btn:hover{transform:scale(1.05)}.dismiss-btn{background:#fff3;border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.dismiss-btn:hover{background:#ffffff4d}.notification{animation:slideIn .3s ease,fadeOut .3s ease 2.7s;border-radius:10px;font-weight:600;padding:15px 25px;position:fixed;right:20px;top:100px;z-index:9999}.notification.info{background:#2196f3;color:#fff}.notification.success{background:#4caf50;color:#fff}@keyframes fadeOut{to{opacity:0}}@media (max-width:768px){.metaverse-content{flex-direction:column}.chat-sidebar{height:250px;width:100%}.zones-grid{grid-template-columns:1fr}.emoji-grid{grid-template-columns:repeat(5,1fr)}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.add-component-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;border-radius:16px 16px 0 0;color:#fff;justify-content:space-between;padding:24px}.modal-header,.modal-header h3{align-items:center;display:flex}.modal-header h3{font-size:1.3rem;font-weight:600;gap:8px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .3s ease}.close-btn:hover{background:#fff3}.modal-content{padding:24px}.component-info{background:#f8f9fa;border-radius:12px;margin-bottom:24px;padding:16px}.info-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.info-header h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.component-type{background:#667eea;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:capitalize}.component-info p{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0 0 12px}.info-meta{align-items:center;display:flex;gap:12px}.difficulty{background:#4caf50;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:capitalize}.time{align-items:center;color:#6c757d;display:flex;font-size:.85rem;gap:4px}.level-selection{margin-bottom:24px}.level-selection h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 12px}.level-tabs{background:#f8f9fa;border-radius:12px;display:flex;gap:8px;padding:4px}.level-tab{align-items:center;background:none;border:none;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:500;gap:6px;justify-content:center;padding:12px 16px;transition:all .3s ease}.level-tab:hover{color:#495057}.level-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#667eea}.search-section{margin-bottom:24px}.search-input{border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;font-size:.95rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#667eea;outline:none}.search-input::placeholder{color:#adb5bd}.items-selection h4{align-items:center;color:#2c3e50;display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;margin:0 0 16px}.selected-count{color:#667eea;font-size:.9rem;font-weight:500}.items-list{border:1px solid #e9ecef;border-radius:8px;max-height:300px;overflow-y:auto}.item-card{align-items:center;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background-color .3s ease}.item-card:last-child{border-bottom:none}.item-card:hover{background:#f8f9fa}.item-card.selected{background:#e8f5e9;border-color:#4caf50}.item-content h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 4px}.item-content p{color:#6c757d;font-size:.85rem;margin:0}.item-checkbox{margin-left:12px}.checkbox{align-items:center;border:2px solid #ced4da;border-radius:4px;color:#fff;display:flex;font-size:.8rem;height:20px;justify-content:center;transition:all .3s ease;width:20px}.checkbox.checked{background:#4caf50;border-color:#4caf50}.topics-grid{display:flex;flex-direction:column;gap:16px}.course-topics h5{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 8px;padding:0 16px}.topic-item{align-items:left;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.topic-item:last-child{margin-bottom:0}.topic-item:hover{background:#e9ecef}.topic-item.selected{background:#e8f5e9;color:#2c3e50}.topic-item span{font-size:.9rem;font-weight:500}.modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:24px}.cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .3s ease}.cancel-btn:hover{background:#5a6268}.add-btn{background:#28a745;color:#fff;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.add-btn:hover:not(:disabled){background:#218838}.add-btn:disabled{background:#6c757d;cursor:not-allowed}@media (max-width:768px){.modal-overlay{padding:10px}.add-component-modal{max-height:90vh}.modal-header{padding:20px}.modal-header h3{font-size:1.1rem}.modal-content{padding:20px}.level-tabs{flex-direction:column}.level-tab{justify-content:flex-start}.items-list{max-height:250px}.modal-footer{flex-direction:column;padding:20px}.add-btn,.cancel-btn{justify-content:center;width:100%}}@media (max-width:480px){.modal-content,.modal-header{padding:16px}.component-info{padding:12px}.info-header,.info-meta{align-items:flex-start;flex-direction:column;gap:8px}.modal-footer{padding:16px}}.interactive-library{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.interactive-library-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:100px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#667eea;height:48px;margin-bottom:20px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.library-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;display:flex;justify-content:space-between;margin-bottom:32px;padding:32px}.header-content h1{align-items:center;display:flex;font-size:2.5rem;font-weight:700;gap:12px;margin:0 0 8px}.header-content p{font-size:1.1rem;margin:0;opacity:.9}.header-stats{display:flex;gap:32px}.stat{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:700;line-height:1}.stat-label{display:block;font-size:.9rem;margin-top:4px;opacity:.8}.quick-access-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:32px;padding:24px}.quick-access-section h2{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:600;gap:8px;margin:0 0 20px}.existing-features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.existing-feature-card{align-items:center;background:linear-gradient(135deg,#f8fff9,#e8f5e9);border:2px solid #4caf50;border-radius:12px;color:inherit;display:flex;gap:16px;padding:20px;text-decoration:none;transition:all .3s ease}.existing-feature-card:hover{box-shadow:0 8px 25px #4caf5033;transform:translateY(-2px)}.feature-icon{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.feature-content{flex:1 1}.feature-content h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 4px}.feature-content p{color:#6c757d;font-size:.9rem;line-height:1.4;margin:0 0 8px}.feature-meta{align-items:center;display:flex;gap:8px}.feature-category{background:#e9ecef;color:#495057}.feature-category,.feature-difficulty{border-radius:12px;font-size:.75rem;padding:4px 8px}.feature-difficulty{color:#fff;font-weight:600;text-transform:capitalize}.feature-arrow{color:#4caf50;font-size:1.5rem;font-weight:700}.library-filters{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;gap:20px;justify-content:space-between;margin-bottom:32px;padding:24px}.search-section{gap:16px}.search-bar,.search-section{align-items:center;display:flex;flex:1 1}.search-bar{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;max-width:400px;padding:12px 16px;transition:border-color .3s ease}.search-bar:focus-within{border-color:#667eea}.search-bar svg{color:#6c757d;margin-right:12px}.search-bar input{border:none;color:#2c3e50;flex:1 1;font-size:.95rem;outline:none}.search-bar input::placeholder{color:#adb5bd}.filter-controls{align-items:center;display:flex;gap:12px}.filter-controls select{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:.9rem;padding:12px 16px;transition:border-color .3s ease}.filter-controls select:focus{border-color:#667eea;outline:none}.checkbox-label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:.9rem;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.view-controls{display:flex;gap:8px}.view-btn{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#6c757d;cursor:pointer;padding:8px;transition:all .3s ease}.view-btn:hover{background:#e9ecef;color:#495057}.view-btn.active{background:#667eea;border-color:#667eea;color:#fff}.components-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:24px}.components-section h2{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:600;gap:8px;margin:0 0 24px}.no-components{color:#6c757d;padding:60px 20px;text-align:center}.components-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.components-container.list{gap:16px;grid-template-columns:1fr}.component-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;overflow:hidden;position:relative;transition:all .3s ease}.component-card:hover{border-color:#667eea;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.component-card.existing{background:linear-gradient(135deg,#f8fff9,#e8f5e9);border-color:#4caf50}.card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px}.component-type{font-size:1.5rem}.existing-badge{align-items:center;background:#4caf50;border-radius:12px;color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 8px}.component-actions{display:flex;gap:8px}.action-btn{background:none;border:none;border-radius:8px;color:#6c757d;cursor:pointer;padding:8px;transition:background-color .3s ease}.action-btn:hover{background:#0000000d;color:#495057}.card-content{padding:20px}.card-content h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 8px}.description{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0 0 16px}.component-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.meta-item{align-items:center;display:flex;gap:4px}.category-badge,.difficulty-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:capitalize}.difficulty-badge{align-items:center;display:flex;gap:4px}.component-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#e9ecef;border-radius:12px;color:#495057;font-size:.75rem;font-weight:500;padding:4px 8px}.card-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:16px}.add-buttons{display:flex;gap:8px}.add-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.85rem;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .3s ease}.course-btn{background:#667eea;color:#fff}.course-btn:hover{background:#5a6fd8}.session-btn{background:#28a745;color:#fff}.session-btn:hover{background:#218838}.access-btn{background:#4caf50;border-radius:8px;color:#fff;display:block;font-weight:500;padding:10px;text-align:center;text-decoration:none;transition:background-color .3s ease;width:100%}.access-btn:hover{background:#45a049}.components-container.list .component-card{align-items:center;display:flex;gap:20px}.components-container.list .card-header{background:none;border:none;padding:16px}.components-container.list .card-content{flex:1 1;padding:16px}.components-container.list .card-footer{background:none;border:none;padding:16px}@media (max-width:1200px){.library-header{align-items:flex-start;flex-direction:column;gap:20px}.header-stats{justify-content:space-around;width:100%}}@media (max-width:768px){.interactive-library{padding:16px}.library-header{padding:24px}.header-content h1{font-size:2rem}.library-filters{align-items:stretch;flex-direction:column;gap:16px}.search-section{flex-direction:column;gap:12px}.search-bar{max-width:none}.filter-controls{flex-wrap:wrap;justify-content:center}.components-container,.existing-features-grid{grid-template-columns:1fr}.add-buttons{flex-direction:column}}@media (max-width:480px){.header-content h1{font-size:1.5rem}.header-stats{gap:16px}.stat-value{font-size:1.5rem}.components-section,.quick-access-section{padding:16px}.component-card{padding:12px}.existing-feature-card{flex-direction:column;gap:12px;text-align:center}.feature-arrow{display:none}}.app-footer{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-top:60px;padding:50px 20px 20px}.footer-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto 40px;max-width:1200px}.footer-section h3{color:#fff;font-size:1.5rem;margin-bottom:15px}.footer-section h4{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:15px}.footer-section p{font-size:.95rem;line-height:1.7;opacity:.95}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section li{margin-bottom:10px}.footer-section a{color:#fff;display:inline-block;opacity:.9;text-decoration:none;transition:all .3s ease}.footer-section a:hover{opacity:1;text-decoration:underline;transform:translateX(5px)}.footer-bottom{border-top:1px solid #fff3;margin:0 auto;max-width:1200px;padding-top:30px;text-align:center}.footer-bottom p{font-size:.9rem;margin:8px 0;opacity:.9}.footer-tagline{font-size:.85rem!important;font-style:italic;opacity:.8}.footer-legal-disclaimer{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;color:#856404;margin:30px auto 0;max-width:1200px;padding:25px 30px;text-align:left}.footer-legal-disclaimer h4{color:#856404;font-size:1.1rem;font-weight:700;margin-bottom:15px}.footer-legal-disclaimer p{color:#856404;font-size:.85rem;line-height:1.7;margin-bottom:12px;opacity:1}.footer-legal-disclaimer p:last-child{margin-bottom:0}@media (max-width:768px){.app-footer{padding:40px 20px 20px}.footer-content{gap:30px;grid-template-columns:1fr}.footer-section{text-align:center}.footer-section a:hover{transform:translateX(0)}.footer-legal-disclaimer{margin:20px 10px 0;padding:20px}.footer-legal-disclaimer h4{font-size:1rem}.footer-legal-disclaimer p{font-size:.8rem}}
/*# sourceMappingURL=main.3137f519.css.map*/