@import url(https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700&family=Nunito:wght@400;500;600;700&display=swap);:root{--ui-primary:#667eea;--ui-primary-dark:#5568d3;--ui-primary-light:#818cf8;--ui-secondary:#764ba2;--ui-accent:#f093fb;--ui-success:#10b981;--ui-warning:#f59e0b;--ui-error:#ef4444;--ui-info:#3b82f6;--ui-gray-50:#f9fafb;--ui-gray-100:#f3f4f6;--ui-gray-200:#e5e7eb;--ui-gray-300:#d1d5db;--ui-gray-400:#9ca3af;--ui-gray-500:#6b7280;--ui-gray-600:#4b5563;--ui-gray-700:#374151;--ui-gray-800:#1f2937;--ui-gray-900:#111827;--ui-bg-primary:#fff;--ui-bg-secondary:#f9fafb;--ui-bg-tertiary:#f3f4f6;--ui-bg-overlay:#00000080;--ui-bg-glass:#fffc;--ui-text-primary:#111827;--ui-text-secondary:#4b5563;--ui-text-tertiary:#6b7280;--ui-text-inverse:#fff;--ui-text-disabled:#9ca3af;--ui-border-light:#e5e7eb;--ui-border-medium:#d1d5db;--ui-border-dark:#9ca3af;--ui-shadow-xs:0 1px 2px 0 #0000000d;--ui-shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--ui-shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--ui-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--ui-shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--ui-shadow-2xl:0 25px 50px -12px #00000040;--ui-shadow-inner:inset 0 2px 4px 0 #0000000f;--ui-shadow-colored:0 10px 15px -3px #667eea4d;--ui-radius-none:0;--ui-radius-sm:0.375rem;--ui-radius-md:0.5rem;--ui-radius-lg:0.75rem;--ui-radius-xl:1rem;--ui-radius-2xl:1.5rem;--ui-radius-full:9999px;--ui-space-1:0.25rem;--ui-space-2:0.5rem;--ui-space-3:0.75rem;--ui-space-4:1rem;--ui-space-5:1.25rem;--ui-space-6:1.5rem;--ui-space-8:2rem;--ui-space-10:2.5rem;--ui-space-12:3rem;--ui-space-16:4rem;--ui-space-20:5rem;--ui-space-24:6rem;--ui-font-sans:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;--ui-font-display:"Baloo 2","Comic Neue","Nunito",sans-serif;--ui-font-mono:"JetBrains Mono","Fira Code","Courier New",monospace;--ui-text-xs:0.75rem;--ui-text-sm:0.875rem;--ui-text-base:1rem;--ui-text-lg:1.125rem;--ui-text-xl:1.25rem;--ui-text-2xl:1.5rem;--ui-text-3xl:1.875rem;--ui-text-4xl:2.25rem;--ui-text-5xl:3rem;--ui-font-normal:400;--ui-font-medium:500;--ui-font-semibold:600;--ui-font-bold:700;--ui-leading-none:1;--ui-leading-tight:1.25;--ui-leading-snug:1.375;--ui-leading-normal:1.5;--ui-leading-relaxed:1.625;--ui-leading-loose:2;--ui-transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--ui-transition-base:200ms cubic-bezier(0.4,0,0.2,1);--ui-transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--ui-transition-bounce:500ms cubic-bezier(0.68,-0.55,0.265,1.55);--ui-z-base:1;--ui-z-dropdown:1000;--ui-z-sticky:1020;--ui-z-fixed:1030;--ui-z-modal-backdrop:1040;--ui-z-modal:1050;--ui-z-popover:1060;--ui-z-tooltip:1070;--ui-z-toast:1080}.ui-btn{align-items:center;border:none;border-radius:.75rem;border-radius:var(--ui-radius-lg);cursor:pointer;display:inline-flex;font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--ui-font-sans);font-size:1rem;font-size:var(--ui-text-base);font-weight:600;font-weight:var(--ui-font-semibold);gap:.5rem;gap:var(--ui-space-2);justify-content:center;line-height:1.25;line-height:var(--ui-leading-tight);overflow:hidden;padding:.75rem 1.5rem;padding:var(--ui-space-3) var(--ui-space-6);position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--ui-transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.ui-btn:focus-visible{outline:2px solid #667eea;outline:2px solid var(--ui-primary);outline-offset:2px}.ui-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--ui-primary) 0,var(--ui-secondary) 100%);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--ui-shadow-md);color:#fff;color:var(--ui-text-inverse)}.ui-btn-primary:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--ui-shadow-lg);transform:translateY(-2px)}.ui-btn-primary:active:not(:disabled){transform:translateY(0)}.ui-btn-primary:active:not(:disabled),.ui-btn-secondary{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--ui-shadow-sm)}.ui-btn-secondary{background:#fff;background:var(--ui-bg-primary);border:2px solid #667eea;border:2px solid var(--ui-primary);color:#667eea;color:var(--ui-primary)}.ui-btn-secondary:hover:not(:disabled){background:#667eea;background:var(--ui-primary);transform:translateY(-2px)}.ui-btn-secondary:hover:not(:disabled),.ui-btn-success{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--ui-shadow-md);color:#fff;color:var(--ui-text-inverse)}.ui-btn-success{background:#10b981;background:var(--ui-success)}.ui-btn-success:hover:not(:disabled){background:#059669;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--ui-shadow-lg);transform:translateY(-2px)}.ui-btn-danger{background:#ef4444;background:var(--ui-error);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--ui-shadow-md);color:#fff;color:var(--ui-text-inverse)}.ui-btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--ui-shadow-lg);transform:translateY(-2px)}.ui-btn-ghost{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--ui-border-light);color:#111827;color:var(--ui-text-primary)}.ui-btn-ghost:hover:not(:disabled){background:#f9fafb;background:var(--ui-bg-secondary);border-color:#d1d5db;border-color:var(--ui-border-medium)}.ui-btn-sm{font-size:.875rem;font-size:var(--ui-text-sm);padding:.5rem 1rem;padding:var(--ui-space-2) var(--ui-space-4)}.ui-btn-lg{font-size:1.125rem;font-size:var(--ui-text-lg);padding:1rem 2rem;padding:var(--ui-space-4) var(--ui-space-8)}.ui-btn-icon{height:2.5rem;padding:.5rem;padding:var(--ui-space-2);width:2.5rem}.ui-input,.ui-select,.ui-textarea{background:#fff;background:var(--ui-bg-primary);border:2px solid #e5e7eb;border:2px solid var(--ui-border-light);border-radius:.5rem;border-radius:var(--ui-radius-md);color:#111827;color:var(--ui-text-primary);font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--ui-font-sans);font-size:1rem;font-size:var(--ui-text-base);line-height:1.5;line-height:var(--ui-leading-normal);outline:none;padding:.75rem 1rem;padding:var(--ui-space-3) var(--ui-space-4);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--ui-transition-base);width:100%}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:#667eea;border-color:var(--ui-primary);box-shadow:0 0 0 3px #667eea1a}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:#f3f4f6;background:var(--ui-bg-tertiary);color:#9ca3af;color:var(--ui-text-disabled);cursor:not-allowed}.ui-input::placeholder,.ui-textarea::placeholder{color:#6b7280;color:var(--ui-text-tertiary)}.ui-textarea{min-height:100px;resize:vertical}.ui-label{color:#111827;color:var(--ui-text-primary);display:block;font-size:.875rem;font-size:var(--ui-text-sm);font-weight:600;font-weight:var(--ui-font-semibold);margin-bottom:.5rem;margin-bottom:var(--ui-space-2)}.ui-form-group{margin-bottom:1.25rem;margin-bottom:var(--ui-space-5)}.ui-form-error{color:#ef4444;color:var(--ui-error)}.ui-form-error,.ui-form-help{font-size:.875rem;font-size:var(--ui-text-sm);margin-top:.25rem;margin-top:var(--ui-space-1)}.ui-form-help{color:#6b7280;color:var(--ui-text-tertiary)}.ui-card{background:#fff;background:var(--ui-bg-primary);border:1px solid #e5e7eb;border:1px solid var(--ui-border-light);border-radius:1rem;border-radius:var(--ui-radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--ui-shadow-md);padding:1.5rem;padding:var(--ui-space-6);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--ui-transition-base)}.ui-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--ui-shadow-lg);transform:translateY(-2px)}.ui-card-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--ui-border-light);margin-bottom:1rem;margin-bottom:var(--ui-space-4);padding-bottom:1rem;padding-bottom:var(--ui-space-4)}.ui-card-title{color:#111827;color:var(--ui-text-primary);font-size:1.25rem;font-size:var(--ui-text-xl);font-weight:700;font-weight:var(--ui-font-bold);margin:0}.ui-card-body{color:#4b5563;color:var(--ui-text-secondary);line-height:1.625;line-height:var(--ui-leading-relaxed)}.ui-card-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--ui-border-light);margin-top:1rem;margin-top:var(--ui-space-4);padding-top:1rem;padding-top:var(--ui-space-4)}.ui-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;gap:var(--ui-space-4);justify-content:center;padding:2rem;padding:var(--ui-space-8)}.ui-spinner{animation:ui-spin 1s linear infinite;border:4px solid #e5e7eb;border-top-color:#667eea;border:4px solid var(--ui-gray-200);border-radius:50%;border-top-color:var(--ui-primary);height:3rem;width:3rem}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-loading-text{color:#4b5563;color:var(--ui-text-secondary);font-size:1rem;font-size:var(--ui-text-base);font-weight:500;font-weight:var(--ui-font-medium)}.ui-error{align-items:center;background:#fff;background:var(--ui-bg-primary);border-radius:1rem;border-radius:var(--ui-radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--ui-shadow-md);display:flex;flex-direction:column;gap:1rem;gap:var(--ui-space-4);justify-content:center;padding:2rem;padding:var(--ui-space-8);text-align:center}.ui-error-icon{font-size:4rem;margin-bottom:.5rem;margin-bottom:var(--ui-space-2)}.ui-error-title{color:#ef4444;color:var(--ui-error);font-size:1.5rem;font-size:var(--ui-text-2xl);font-weight:700;font-weight:var(--ui-font-bold);margin:0}.ui-error-message{color:#4b5563;color:var(--ui-text-secondary);font-size:1rem;font-size:var(--ui-text-base);margin:0}.ui-empty{align-items:center;color:#6b7280;color:var(--ui-text-tertiary);display:flex;flex-direction:column;justify-content:center;padding:3rem;padding:var(--ui-space-12);text-align:center}.ui-empty-icon{font-size:4rem;margin-bottom:1rem;margin-bottom:var(--ui-space-4);opacity:.5}.ui-empty-title{color:#4b5563;color:var(--ui-text-secondary);font-size:1.25rem;font-size:var(--ui-text-xl);font-weight:600;font-weight:var(--ui-font-semibold);margin-bottom:.5rem;margin-bottom:var(--ui-space-2)}.ui-empty-description{color:#6b7280;color:var(--ui-text-tertiary);font-size:1rem;font-size:var(--ui-text-base);max-width:400px}.ui-badge{align-items:center;border-radius:9999px;border-radius:var(--ui-radius-full);display:inline-flex;font-size:.75rem;font-size:var(--ui-text-xs);font-weight:600;font-weight:var(--ui-font-semibold);gap:.25rem;gap:var(--ui-space-1);line-height:1.25;line-height:var(--ui-leading-tight);padding:.25rem .75rem;padding:var(--ui-space-1) var(--ui-space-3);white-space:nowrap}.ui-badge-primary{background:#667eea1a;color:#667eea;color:var(--ui-primary)}.ui-badge-success{background:#10b9811a;color:#10b981;color:var(--ui-success)}.ui-badge-warning{background:#f59e0b1a;color:#f59e0b;color:var(--ui-warning)}.ui-badge-error{background:#ef44441a;color:#ef4444;color:var(--ui-error)}.ui-badge-info{background:#3b82f61a;color:#3b82f6;color:var(--ui-info)}.ui-alert{border-left:4px solid;border-radius:.75rem;border-radius:var(--ui-radius-lg);margin-bottom:1rem;margin-bottom:var(--ui-space-4);padding:1rem;padding:var(--ui-space-4)}.ui-alert-success{background:#10b9811a;border-color:#10b981;border-color:var(--ui-success);color:#065f46}.ui-alert-warning{background:#f59e0b1a;border-color:#f59e0b;border-color:var(--ui-warning);color:#92400e}.ui-alert-error{background:#ef44441a;border-color:#ef4444;border-color:var(--ui-error);color:#991b1b}.ui-alert-info{background:#3b82f61a;border-color:#3b82f6;border-color:var(--ui-info);color:#1e40af}.ui-container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--ui-space-4);width:100%}.ui-section{padding:2rem 0;padding:var(--ui-space-8) 0}.ui-text-center{text-align:center}.ui-text-left{text-align:left}.ui-text-right{text-align:right}.ui-mt-1{margin-top:.25rem;margin-top:var(--ui-space-1)}.ui-mt-2{margin-top:.5rem;margin-top:var(--ui-space-2)}.ui-mt-4{margin-top:1rem;margin-top:var(--ui-space-4)}.ui-mt-6{margin-top:1.5rem;margin-top:var(--ui-space-6)}.ui-mt-8{margin-top:2rem;margin-top:var(--ui-space-8)}.ui-mb-1{margin-bottom:.25rem;margin-bottom:var(--ui-space-1)}.ui-mb-2{margin-bottom:.5rem;margin-bottom:var(--ui-space-2)}.ui-mb-4{margin-bottom:1rem;margin-bottom:var(--ui-space-4)}.ui-mb-6{margin-bottom:1.5rem;margin-bottom:var(--ui-space-6)}.ui-mb-8{margin-bottom:2rem;margin-bottom:var(--ui-space-8)}.ui-p-4{padding:1rem;padding:var(--ui-space-4)}.ui-p-6{padding:1.5rem;padding:var(--ui-space-6)}.ui-p-8{padding:2rem;padding:var(--ui-space-8)}@media (max-width:768px){.ui-container{padding:0 .75rem;padding:0 var(--ui-space-3)}.ui-section{padding:1.5rem 0;padding:var(--ui-space-6) 0}.ui-card{padding:1rem;padding:var(--ui-space-4)}.ui-btn{justify-content:center;width:100%}}@keyframes ui-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ui-fade-in{animation:ui-fade-in ease-out .3s cubic-bezier(.4,0,.2,1);animation:ui-fade-in var(--ui-transition-slow) ease-out}.ui-slide-up{animation:ui-slide-up ease-out .3s cubic-bezier(.4,0,.2,1);animation:ui-slide-up var(--ui-transition-slow) ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid #667eea;outline:2px solid var(--ui-primary);outline-offset:2px}.ui-skip-link{background:#667eea;background:var(--ui-primary);color:#fff;color:var(--ui-text-inverse);left:0;padding:.5rem 1rem;padding:var(--ui-space-2) var(--ui-space-4);position:absolute;text-decoration:none;top:-40px;z-index:10000}.ui-skip-link:focus{top:0}*{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;transition:all .2s ease}.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-x:hidden;overflow-y:auto;padding:20px;transition:background .3s ease}@media (max-width:768px){.home-page{padding:15px}}.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:8px;border-radius:var(--radius-md,8px);color:#ffffffb3;display:flex;font-weight:500;gap:12px;padding:14px 16px;position:relative;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#ffffff1a;color:#fff;transform:translateX(4px)}.nav-item.active{background:linear-gradient(120deg,#5a60ff,#b28dff);box-shadow:0 4px 12px #5a60ff4d;color:#fff}.nav-item.active:before{background:#fff;border-radius:0 2px 2px 0;content:"";height:60%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-icon{font-size:1.2rem}.signout-btn{margin-top:auto;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:#fffffff2;border:1px solid #5a60ff1a;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 2px 8px #0000000d;cursor:default;padding:24px;transition:all .2s ease}.admin-stat-card:hover{border-color:#5a60ff33;box-shadow:0 4px 16px #5a60ff26;transform:translateY(-2px)}.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;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}.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}.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-radius:6px;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;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{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.item-header h6{color:#2c3e50;font-size:1rem;font-weight:600;margin:0}.time-badge{align-items:center;background:#e9ecef;border-radius:12px;color:#495057;display:flex;font-size:.75rem;font-weight:500;gap:4px;padding:4px 8px}.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}.save-btn{background:#28a745}.save-btn:hover:not(:disabled){background:#218838}.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}.auto-populate-bar{margin-bottom:25px}.auto-populate-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.auto-populate-btn{background:#eef0ff;border:1px solid #d5d8ff;border-radius:10px;color:#3843b5;cursor:pointer;font-weight:600;padding:10px 18px;transition:all .2s ease}.auto-populate-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea40;transform:translateY(-1px)}.auto-populate-btn:disabled{cursor:not-allowed;opacity:.6}.auto-populate-status{font-size:.95rem;font-weight:500}.auto-populate-status.running{color:#7c3aed}.auto-populate-status.success{color:#2f855a}.auto-populate-status.warning{color:#b45309}.course-inline-btn{background:#fff;border-color:#cbd5ff;color:#4c51bf;font-size:.8rem;padding:8px 12px}.course-inline-btn:disabled{opacity:.6}.course-auto-status{border-radius:10px;font-size:.9rem;font-weight:500;margin-top:15px;padding:10px 14px}.course-auto-status.running{background:#f5f3ff;border:1px solid #d6bcfa;color:#6b46c1}.course-auto-status.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.course-auto-status.warning{background:#fff7ed;border:1px solid #fed7aa;color:#b45309}.course-auto-status.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.modal-content{width:95%}.form-row{margin-bottom:20px}.form-hint{color:#888}.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{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;min-height:120px;padding:10px;width:100%}.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}.course-type-badge{background:linear-gradient(135deg,#667eea,#764ba2)!important;font-weight:600}.category-badge,.course-type-badge{border:none!important;color:#fff!important}.category-badge{background:#ffd89b!important;background:linear-gradient(135deg,#ffd89b,#19547b)!important;font-weight:500}.level-badge{border:none!important;font-weight:600}.level-badge.level-beginner{background:linear-gradient(135deg,#84fab0,#8fd3f4)!important;color:#0a5f4d!important}.level-badge.level-intermediate{background:linear-gradient(135deg,#a1c4fd,#c2e9fb)!important;color:#1e3a8a!important}.level-badge.level-advanced{background:linear-gradient(135deg,#ffecd2,#fcb69f)!important;color:#7c2d12!important}.level-badge.level-expert{background:linear-gradient(135deg,#ff9a9e,#fecfef)!important;color:#881337!important}.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}.no-topics-message{background:#fff7ed;border:1px dashed #fdba74;border-radius:8px;color:#9a3412;font-size:.9rem;padding:15px}.topic-hours.warning{background:#fee2e2;color:#b91c1c}.topic-content-section{background:#f8f9ff;border:1px solid #e0e7ff;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:16px}.topic-content-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.topic-content-header h5{color:#1f2937;font-size:1rem;margin:0}.topic-hours-badge{background:#dcfce7;border-radius:999px;color:#166534;font-weight:600;padding:4px 10px}.topic-hours-badge.warning{background:#fee2e2;color:#b91c1c}.topic-hours-warning{background:#fff7ed;border:1px dashed #fbbf24;border-radius:8px;color:#92400e;font-size:.85rem;margin:0;padding:8px 10px}.topic-content-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.topic-content-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px;transition:transform .2s ease,box-shadow .2s ease}.topic-content-btn:hover:not(:disabled){box-shadow:0 6px 18px #667eea59;transform:translateY(-2px)}.topic-content-btn:disabled{background:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed}.topic-content-hint{color:#6b7280;font-size:.8rem}.delete-btn:hover{background:#ff5252;transform:translateY(-1px)}.course-actions{display:flex;gap:10px;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-card-shell{--session-card-bg:#fff;--session-card-border:#a5b4fc;--session-card-shadow:0 10px 30px #0f172a14;--session-card-shadow-hover:0 18px 40px #0f172a26;background:var(--session-card-bg);border-left:4px solid var(--session-card-border);border-radius:20px;box-shadow:var(--session-card-shadow);display:flex;flex-direction:column;gap:18px;overflow:hidden;padding:24px;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.session-card-shell:after{background:radial-gradient(circle at top right,#6366f114,#0000 55%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease}.session-card-shell:focus-within,.session-card-shell:hover{box-shadow:var(--session-card-shadow-hover);transform:translateY(-4px)}.session-card-shell:focus-within:after,.session-card-shell:hover:after{opacity:1}.session-card-shell.status-default{--session-card-border:#cbd5f5}.session-card-shell.status-active{--session-card-border:#48bb78;background:linear-gradient(180deg,#48bb7814,#0000)}.session-card-shell.status-pending{--session-card-border:#f6ad55;background:linear-gradient(180deg,#f6ad5514,#0000)}.session-card-shell.status-completed{--session-card-border:#63b3ed}.session-card-shell.status-upcoming{--session-card-border:#667eea}.session-card-shell.status-past{--session-card-border:#94a3b8;background:linear-gradient(180deg,#94a3b81a,#0000)}.session-card-header{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.session-card-header h3{color:#1f2933;font-size:1.35rem;margin:0 0 8px}.session-card-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));list-style:none;margin:0;padding:0}.meta-item{background:#f5f7ff;border-radius:12px;color:#475467;gap:6px;padding:8px 12px}.meta-icon{font-size:1rem}.meta-label{font-weight:600}.meta-value{color:#111827}.session-card-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.status-badge{border-radius:999px;text-transform:none}.status-badge.primary{background:#e0e7ff;color:#3730a3}.status-badge.secondary{background:#f3f4f6;color:#374151}.status-badge.primary.active,.status-badge.secondary.active{background:#c6f6d5;color:#22543d}.status-badge.primary.pending,.status-badge.secondary.pending{background:#fef3c7;color:#92400e}.status-badge.primary.completed,.status-badge.secondary.completed{background:#bfdbfe;color:#1d4ed8}.status-badge.primary.upcoming,.status-badge.secondary.upcoming{background:#e0e7ff;color:#3730a3}.status-badge.primary.past,.status-badge.secondary.past{background:#e5e7eb;color:#374151}.session-card-section{border-top:1px solid #edf2f7;padding-top:18px}.session-card-section:first-of-type{border-top:none;padding-top:0}.session-card-section.actions-section{border-top:1px dashed #e0e7ff}.session-card-section h4{color:#4338ca;font-size:1.1rem;margin:0 0 12px}.collapsible-header{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin:-8px -8px 8px;padding:8px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background-color:#6366f10d}.collapsible-header h4{flex:1 1;margin:0}.collapse-icon{color:#4338ca;font-size:.9rem;margin-left:12px;transition:transform .2s ease}.collapsible-content{animation:slideDown .3s ease}.course-description{color:#4b5563;line-height:1.5;margin:0 0 12px}.course-callout{background:#f9fafb;border-left:4px solid #c7d2fe;border-radius:16px;margin-bottom:12px;padding:14px 18px}.course-callout strong{color:#4c1d95;display:block;margin-bottom:6px}.topics-section .topics-list{display:flex;flex-direction:column;gap:14px}.topic-card{background:linear-gradient(180deg,#fdfdfd,#f4f5ff);border:1px solid #eef2ff;border-radius:14px;box-shadow:0 4px 12px #6366f114;padding:16px}.topic-name{color:#111827;font-weight:600}.topic-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.topic-pill{background:#e0e7ff;border-radius:999px;color:#3730a3;font-size:.8rem;font-weight:600;padding:4px 10px}.topic-pill.hours{background:#eef2ff;color:#312e81}.topic-pill.success{background:#c6f6d5;color:#22543d}.topic-pill.warning{background:#fef3c7;color:#92400e}.topic-pill.danger{background:#fee2e2;color:#991b1b}.topic-description{color:#4b5563;line-height:1.4;margin:10px 0}.topic-dates{display:flex;flex-wrap:wrap;gap:8px}.date-pill{background:#f3f4f6;border-radius:10px;color:#374151;font-size:.8rem;padding:4px 12px}.date-pill.success{background:#c6f6d5;color:#22543d}.date-pill.warning{background:#fef3c7;color:#92400e}.date-pill.danger{background:#fee2e2;color:#b91c1c}.topic-footer{color:#4b5563;display:flex;flex-wrap:wrap;font-size:.85rem;gap:8px;justify-content:space-between;margin-top:12px}.actions-section,.extra-content{display:flex;flex-direction:column;gap:12px}.actions-section>*{width:100%}@media (max-width:640px){.session-card-shell{padding:18px}.session-card-meta{align-items:flex-start;flex-direction:column}.actions-section{gap:8px}}@media (min-width:768px){.actions-section{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.sessions-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.session-wrapper{background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:15px;overflow:hidden}.session-header-collapsible{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;padding:15px 20px;transition:background-color .2s ease}.session-header-collapsible:hover{background:#e9ecef}.session-header-content{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.session-expand-icon{color:#667eea;font-size:14px;font-weight:700;min-width:20px;-webkit-user-select:none;user-select:none}.session-header-title{color:#333;flex:1 1;font-size:1.1rem;font-weight:600;margin:0}.session-card-expanded{background:#fff;padding:20px}.status-banner{align-items:center;border:1px solid #0000;border-radius:12px;display:flex;font-weight:500;justify-content:space-between;margin-bottom:20px;padding:12px 18px}.status-banner.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.status-banner.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.status-banner button{background:#0000;border:none;color:inherit;cursor:pointer;font-size:1rem}.test-email-panel{align-items:center;background:#f8f9ff;border:1px solid #e0e7ff;border-radius:14px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px;padding:16px 20px}.test-email-panel h3{color:#4c1d95;margin:0 0 6px}.test-email-panel p{color:#4b5563;margin:0}.test-email-form{align-items:center;display:flex;gap:10px}.test-email-form input{border:1px solid #c7d2fe;border-radius:10px;min-width:220px;padding:10px 12px}.test-email-form button{background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px}.test-email-form button.outline{background:#0000;border:1px solid #7c3aed;color:#7c3aed}.test-email-form button:disabled{cursor:not-allowed;opacity:.6}.view-stats-panel{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:16px;justify-content:space-between;margin:20px 0;padding:16px 20px}.view-stats-panel h3{color:#0f172a;margin:0 0 6px}.view-stats-panel p{color:#475569;font-size:.95rem;margin:0}.outline-btn{background:#0000;border:1px solid #475569;border-radius:10px;color:#0f172a;cursor:pointer;font-weight:600;padding:10px 18px}.outline-btn:disabled{cursor:not-allowed;opacity:.6}.preview-modal-overlay{align-items:center;background:#0f172ab3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.preview-modal{background:#fff;border-radius:18px;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(900px,100%)}.preview-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.preview-modal-header button{background:#0000;border:none;cursor:pointer;font-size:1.2rem}.preview-modal-body{flex:1 1;overflow:auto;padding:0;padding:20px}.preview-modal-body iframe{width:100%}.email-preview-iframe,.preview-modal-body iframe{border:1px solid #e0e0e0;border-radius:8px;min-height:500px}.preview-modal-actions{align-items:center;display:flex;gap:10px}.preview-close-btn{background:#f5576c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.preview-close-btn:hover{background:#e0485c;transform:translateY(-1px)}.preview-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:16px 24px}.preview-note{color:#666;font-size:.9rem;margin:0;text-align:center}.session-stat-line{display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px;margin-top:8px}.session-stat-line .stat-item{align-items:center;background:#f5f7ff;border-radius:6px;color:#4338ca;display:flex;gap:4px;padding:4px 10px}.session-stat-line .stat-item strong{color:#3730a3;font-weight:700}.modal-content{width:min(900px,95vw)}@media (max-width:768px){.modal-content{padding:20px;width:95vw}}.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}.session-feature-toggle-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;display:flex;flex-direction:column;gap:16px;padding:16px}.session-feature-toggle-panel.form{background:#fff;border-style:dashed}.session-feature-toggle-panel .panel-heading h4{color:#4c1d95;margin:0 0 4px}.session-feature-toggle-panel .panel-heading{display:flex;flex-direction:column;gap:4px}.session-feature-toggle-panel .panel-heading p{color:#6b7280;font-size:.95rem;margin:0}.feature-groups{display:flex;flex-direction:column;gap:16px}.feature-group{background:#fff;border:1px solid #e0e7ff;border-radius:12px;padding:14px}.feature-group-header h5{color:#4338ca;font-size:1rem;margin:0 0 4px}.feature-group-header p{color:#6b7280;font-size:.9rem;margin:0}.feature-toggle-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px}.feature-toggle{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px}.feature-toggle input{margin:0}.feature-toggle.enabled{background:#f5f7ff;border-color:#c7d2fe}.feature-toggle-icon{font-size:1.2rem}.feature-toggle-details{display:flex;flex:1 1;flex-direction:column;line-height:1.2}.feature-toggle-label{color:#1f2933;font-weight:600}.feature-toggle-hint{color:#6b7280;font-size:.85rem}.feature-toggle-state{color:#4c1d95;font-weight:600}.feature-toggle.disabled .feature-toggle-state{color:#9ca3af}.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}.course-sessions-section{background:linear-gradient(135deg,#f8f9ff,#eef2ff);border:1px solid #e0e7ff;border-radius:18px;margin:25px 0 35px;padding:25px}.course-sessions-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.course-sessions-header h4{color:#4c1d95;margin:0}.course-sessions-section .sessions-list{display:flex;flex-direction:column;gap:15px}.course-sessions-section .add-btn{font-size:.9rem;padding:10px 18px}.empty-state.compact{background:#fff;border:1px dashed #d4d9ff;border-radius:12px;color:#666;padding:20px;text-align:center}.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{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}.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{color:#666;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}.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{align-items:center;background:#f0f4ff;border-left:3px solid #667eea;border-radius:6px;display:flex;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-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{gap:15px}.sessions-section.unassigned{background:#f8f9ff;border:2px solid #e0e7ff;border-radius:20px;margin-top:40px;padding:30px}.sessions-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.sessions-section-header h2{color:#667eea;margin:0}.admin-session-card{border-left-color:#fbbf24}.admin-session-card .session-card-header h3{color:#1f2937}.admin-session-card .status-badge.secondary.pending{background:#fee2e2;color:#b91c1c}.admin-session-card .status-badge.secondary.active{background:#d1fae5;color:#065f46}.admin-session-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-session-actions button{border:none;border-radius:10px;cursor:pointer;flex:1 1 220px;font-size:.95rem;font-weight:600;min-width:180px;padding:12px 18px;transition:transform .2s ease,box-shadow .2s ease}.admin-session-actions button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.admin-session-actions button:hover{box-shadow:0 8px 20px #0f172a1f;transform:translateY(-1px)}.classroom-url-btn{color:#fff}.classroom-url-btn,.classroom-url-btn.pending{background:linear-gradient(135deg,#6c757d,#495057)}.reminder-btn{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.classroom-url-btn.ready{background:linear-gradient(135deg,#667eea,#764ba2)}.activate-classroom-btn{background:linear-gradient(135deg,#ff6b6b,#feca57);color:#fff;font-weight:700}.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}.session-stats-list{list-style:none;margin:0;padding:0}.session-stats-list li{color:#4b5563;font-size:.9rem;margin:4px 0}.session-stat-line{color:#6b7280;font-size:.85rem}.session-stats-footnote{color:#94a3b8;font-size:.8rem;margin-top:10px}.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;min-width:0;overflow:hidden;padding:15px;transition:all .3s ease}.student-card:hover{background:#f0f4ff;border-color:#667eea}.student-header{flex-direction:column;gap:4px;margin-bottom:10px}.student-header strong{color:#333;font-size:.95rem;font-weight:600;word-break:break-word}.student-email,.student-header strong{display:block;overflow-wrap:break-word}.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}.email-btn{background:#7c3aed;color:#fff}.email-btn:disabled{cursor:not-allowed;opacity:.5}.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{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:20px;transition:transform .3s ease}.session-card:hover{transform:translateY(-5px)}.session-card h3{color:#667eea;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;.admin-topic-actions{display:flex;flex-direction:column;gap:12px}.admin-topic-classroom-toggle{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.admin-topic-pill{background:#f1f5f9;border-radius:999px;color:#475467;font-size:.85rem;font-weight:600;padding:6px 12px}.admin-topic-pill.enabled{background:#c6f6d5;color:#22543d}.admin-topic-pill.disabled{background:#fee2e2;color:#9b2c2c}.admin-topic-classroom-btn{background:linear-gradient(135deg,#cbd5f5,#a5b4fc);border:none;border-radius:10px;color:#1f2937;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .2s ease}.admin-topic-classroom-btn.enable{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.admin-topic-classroom-btn.disable{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.admin-topic-classroom-btn:hover{box-shadow:0 6px 16px #0f172a26;transform:translateY(-1px)}.admin-topic-components{background:#f8f9ff;border:1px solid #eef2ff;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:12px}.components-label{color:#4338ca;font-weight:600;margin:0}.component-chip-row{display:flex;flex-wrap:wrap;gap:8px}.component-chip{background:#e0e7ff;border-radius:999px;color:#3730a3;font-size:.8rem;font-weight:600;padding:4px 10px}.component-chip.extra{background:#c4b5fd;color:#2e1065}.component-manage-btn{align-self:flex-start;background:#fff;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;cursor:pointer;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.component-manage-btn:hover{box-shadow:0 6px 16px #4f46e526;transform:translateY(-1px)}}.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;overflow-wrap:break-word;word-break:break-all}.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{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);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}.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{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aa6;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{background:#f8f9ff;border:1px solid #ffffff40;border-radius:24px;box-shadow:0 35px 80px #0f172a66;left:auto!important;margin:0!important;max-height:92vh;max-width:1200px;padding:0;position:relative!important;top:auto!important;transform:none!important;width:min(1200px,96vw)}.homework-management{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:30px}.page-header h1{color:#667eea}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2);font-weight:700}.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-item{display:flex;gap:10px}.detail-label{color:#555;font-weight:700;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}.delete-btn{background:#f5576c;color:#fff}.delete-btn:hover{background:#e0455a}.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}.file-link{background:#e3f2fd;border-radius:6px;display:inline-block;padding:8px 12px;transition:all .3s ease}.file-link:hover{background:#bbdefb;transform:translateY(-2px)}.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{background:#e8f5e9;border-radius:8px;flex:1 1;min-width:200px;padding:10px}.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;margin-top:5px}.email-preview-modal{max-width:900px;width:95%}.email-preview-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.email-preview-header h2{color:#667eea;margin:0}.close-btn{background:#f5576c;font-size:18px;height:32px;width:32px}.close-btn:hover{background:#e0455a;transform:scale(1.1)}.email-preview-body{display:flex;flex-direction:column;gap:25px;max-height:70vh;overflow-y:auto;padding-right:10px}.recipients-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.recipients-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.recipients-header h3{color:#333;font-size:1.1rem;margin:0}.recipient-actions{display:flex;gap:10px}.deselect-all-btn,.select-all-btn{background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .3s ease}.deselect-all-btn:hover,.select-all-btn:hover{background:#667eea;color:#fff}.students-list{background:#fff;max-height:300px;overflow-y:auto;padding:10px}.student-checkbox-item,.students-list{border:1px solid #e0e0e0;border-radius:8px}.student-checkbox-item{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.student-checkbox-item:hover{background:#e9ecef;border-color:#667eea}.student-checkbox-item input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.student-info{flex-direction:column;gap:4px}.student-name{font-size:.95rem;font-weight:600}.student-email{color:#666;word-break:break-all}.warning-text{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9rem;margin-top:10px;padding:10px;text-align:center}.email-customization{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.email-customization h3{color:#333;font-size:1.1rem;margin-bottom:15px;margin-top:0}.email-customization textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;min-height:80px;padding:12px;resize:vertical;width:100%}.email-customization textarea:focus{border-color:#667eea;outline:none}.preview-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:10px;padding:10px 20px;transition:all .3s ease}.preview-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.email-preview-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.email-preview-section h3{color:#333;font-size:1.1rem;margin-bottom:15px;margin-top:0}.preview-container{background:#fff;border:2px solid #e0e0e0;border-radius:8px;min-height:400px;overflow:hidden}.email-preview-iframe{border:none;display:block;min-height:400px;width:100%}.email-preview-footer{border-top:2px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.send-email-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.send-email-btn:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.send-email-btn:disabled{cursor:not-allowed;opacity:.6}.students-management{background:#0000;padding:0}.page-header{border-bottom:2px solid #e2e8f0;padding-bottom:20px}.page-header h1{color:#1e293b}.students-list{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.student-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;height:auto;overflow:visible;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.student-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.student-card.inactive{background:#f8fafc;border-color:#e2e8f0;opacity:.75}.student-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;margin-bottom:20px;padding-bottom:16px}.student-header h3{color:#1e293b;flex:1 1;font-size:1.5rem;font-weight:700;line-height:1.3;margin:0}.status-badge{border-radius:20px;box-shadow:0 2px 4px #0000001a;font-size:.875rem;font-weight:600;margin-left:12px;padding:6px 14px;white-space:nowrap}.status-badge.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.inactive{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.student-email{align-items:center;color:#475569;display:flex;font-size:1rem;font-weight:500;gap:8px;margin:0}.student-email:before{content:"📧";font-size:1.1rem}.student-email-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-height:50px}.student-courses,.student-email-section{flex:0 0 auto;margin-bottom:24px;padding:16px}.student-courses{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:10px;min-height:60px}.student-courses strong{color:#1e40af;display:block;font-size:.95rem;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.no-courses{color:#94a3b8;display:block;font-style:italic;padding:8px 0}.courses-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.course-badge{background:#fff;border:1px solid #bfdbfe;border-radius:20px;box-shadow:0 1px 3px #0000001a;color:#1e40af;font-size:.875rem;font-weight:600;padding:8px 14px;transition:all .2s ease}.course-badge:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.student-actions{border-top:1px solid #f1f5f9;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:20px}.assign-btn,.coach-btn,.remove-coach-btn,.status-btn{border:none;border-radius:10px;box-shadow:0 2px 4px #0000001a;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;min-width:140px;padding:12px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.assign-btn:hover,.coach-btn:hover,.remove-coach-btn:hover,.status-btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.activate-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.activate-btn:hover{background:linear-gradient(135deg,#059669,#047857)}.deactivate-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.deactivate-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.assign-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.assign-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.coach-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.coach-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.remove-coach-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.remove-coach-btn:hover{background:linear-gradient(135deg,#d97706,#b45309)}.user-type-badge{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-size:.95rem;font-weight:600;margin-bottom:24px;padding:12px 16px}.student-info{flex:0 0 auto;margin-bottom:24px}.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}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.empty-state{border:2px dashed #cbd5e1;color:#64748b;grid-column:1/-1}.empty-state p{color:#475569;margin:8px 0}.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}.interactive-learning-management{background:#0000;min-height:100vh;padding:0}.page-header{border-bottom:2px solid #667eea1a;margin-bottom:32px;padding-bottom:24px}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:2.25rem;font-weight:700;margin:0 0 8px}.page-description{color:#64748b;font-size:1.05rem;line-height:1.6;margin:0}.course-topic-selector{margin-bottom:32px}.selector-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;padding:24px;transition:all .3s ease}.selector-card:hover{border-color:#cbd5e1;box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a}.selector-card h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 20px}.selector-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.selector-grid .form-group{margin:0}.selector-grid label{color:#475569;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.selector-grid select{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;cursor:pointer;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.selector-grid select:hover{border-color:#cbd5e1}.selector-grid select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.topic-info-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 25px #667eea40;color:#fff;margin-bottom:32px;padding:24px 32px}.topic-info-content{max-width:100%}.topic-info-header{align-items:center;display:flex;gap:16px;margin-bottom:12px}.topic-info-header h3{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.topic-hours{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;padding:6px 12px}.topic-description{font-size:1.05rem;margin:0;opacity:.95}.coding-editor-container{margin-top:32px}.coding-editor-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d;padding:32px}.editor-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:0;padding:20px 24px}.enable-toggle-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:2px solid #e2e8f0;border-left:4px solid #f59e0b;margin-bottom:0;padding:20px 24px}.enable-toggle-label{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;gap:12px;margin-bottom:8px}.enable-checkbox{accent-color:#10b981;cursor:pointer;height:20px;width:20px}.toggle-label-text{-webkit-user-select:none;user-select:none}.enable-hint{color:#475569;font-size:.9rem;line-height:1.5;margin:0 0 0 32px}.editor-header h2{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0}.save-btn{background:linear-gradient(135deg,#10b981,#059669);border-radius:10px;box-shadow:0 4px 6px #10b98133;font-weight:700;transition:all .3s ease}.save-btn:hover:not(:disabled){box-shadow:0 6px 12px #10b9814d;transform:translateY(-2px)}.save-btn:disabled{opacity:.6}.coding-form{display:flex;flex-direction:column;gap:24px}.form-group{gap:10px;width:100%}.form-group label{align-items:center;color:#475569;display:flex;gap:8px}.label-icon{font-size:1.2rem}.language-select{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:1rem;padding:12px 16px}.language-select:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #00000014}.language-select:focus{box-shadow:0 0 0 4px #667eea26,0 4px 12px #667eea1a}.description-textarea{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-family:inherit;font-size:.95rem;line-height:1.6;padding:12px 16px;resize:vertical;transition:all .3s ease}.description-textarea:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #00000014}.description-textarea:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea26,0 4px 12px #667eea1a;outline:none}.code-textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-family:Courier New,Monaco,Menlo,monospace;font-size:.9rem;padding:16px;resize:vertical;transition:all .3s ease}.code-textarea:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #00000014}.code-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea26,0 4px 12px #667eea1a;outline:none}.form-hint{color:#64748b;display:block;font-size:.85rem;font-style:italic;margin-top:6px}.editor-preview{border-top:2px solid #f1f5f9;margin-top:32px;padding-top:32px}.editor-preview h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 20px}.preview-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px}.preview-header{border-bottom:2px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px}.preview-language{color:#1e293b;font-size:1.1rem;font-weight:700}.preview-description{background:#fff;border-left:4px solid #667eea;border-radius:8px;margin-bottom:20px;padding:16px}.preview-description p{color:#475569;line-height:1.6;margin:0}.preview-code{background:#1e293b;border-radius:8px;overflow-x:auto;padding:20px}.preview-code pre{word-wrap:break-word;color:#e2e8f0;font-family:Courier New,Monaco,Menlo,monospace;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.preview-code code{color:#e2e8f0}.preview-placeholder{color:#94a3b8;font-style:italic;padding:40px;text-align:center}.loading-state{color:#94a3b8;font-size:1.1rem}.empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:3px dashed #cbd5e1;border-radius:16px;padding:80px 40px}.empty-state-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.examples-list{margin-bottom:32px}.examples-list h3{color:#1e293b;font-size:1.3rem;font-weight:700;margin:0 0 20px}.example-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px;transition:all .3s ease}.example-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.example-card-header{align-items:flex-start;justify-content:space-between;margin-bottom:12px}.example-card-header,.example-info{display:flex;flex-wrap:wrap;gap:12px}.example-info{align-items:center}.example-info h4{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0}.example-language-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.example-status{border-radius:8px;font-size:.8rem;font-weight:600;padding:4px 10px}.example-status.enabled{background:#d1fae5;color:#065f46}.example-status.disabled{background:#fee2e2;color:#991b1b}.example-actions{display:flex;gap:8px}.delete-example-btn,.edit-example-btn{border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s ease}.edit-example-btn{background:#f0f9ff;color:#0369a1}.edit-example-btn:hover:not(:disabled){background:#e0f2fe;transform:translateY(-1px)}.delete-example-btn{background:#fef2f2;color:#dc2626}.delete-example-btn:hover:not(:disabled){background:#fee2e2;transform:translateY(-1px)}.delete-example-btn:disabled,.edit-example-btn:disabled{cursor:not-allowed;opacity:.5}.example-description{color:#475569;font-size:.95rem;line-height:1.6;margin:12px 0}.example-code-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:12px}.example-code-preview pre{word-wrap:break-word;color:#1e293b;font-family:Courier New,monospace;font-size:.85rem;margin:0;white-space:pre-wrap}.add-edit-form{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;margin-top:24px;padding:24px}.add-edit-form h3{color:#1e293b;font-size:1.3rem;font-weight:700;margin:0 0 20px}.title-input{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:1rem;font-weight:500;padding:12px 16px;transition:all .3s ease;width:100%}.title-input:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #00000014}.title-input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea26,0 4px 12px #667eea1a;outline:none}.form-actions{flex-wrap:wrap;margin-top:24px}.add-example-btn,.cancel-btn,.update-btn{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.add-example-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 8px #10b9814d;color:#fff}.add-example-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 12px #10b98166;transform:translateY(-2px)}.update-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 8px #667eea4d;color:#fff}.update-btn:hover{box-shadow:0 6px 12px #667eea66;transform:translateY(-2px)}.cancel-btn{background:#f1f5f9;border:2px solid #e2e8f0;color:#475569}.cancel-btn:hover{background:#e2e8f0;transform:translateY(-1px)}.empty-state h3{color:#1e293b;font-size:1.5rem;margin:0 0 12px}.empty-state p{color:#64748b;font-size:1.05rem}@media (max-width:768px){.selector-grid{grid-template-columns:1fr}.editor-header{align-items:flex-start;flex-direction:column;gap:16px}.save-btn{width:100%}.coding-editor-card{padding:20px}}.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;gap:15px;margin-bottom: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;transition:all .3s ease}.toggle-btn.active{background:#fff;border-color:#fff;color:#667eea}.messages-container{background:#f9f9f9}.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{border-top:2px solid #e0e0e0;padding:15px}.message-input{border:2px solid #e0e0e0;border-radius:25px;font-size:1rem;padding:12px 15px;transition:border-color .3s}.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{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;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;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;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)}.coding-content-viewer{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:24px}.example-selector{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;margin-bottom:20px;padding:16px}.example-selector label{color:#1e293b;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.example-select{background:#fff;border:2px solid #cbd5e1;border-radius:8px;color:#1e293b;cursor:pointer;font-size:1rem;padding:10px 14px;transition:all .3s ease;width:100%}.example-select:hover{border-color:#94a3b8}.example-select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea26;outline:none}.example-title{color:#1e293b;font-size:1.4rem;font-weight:700;margin:12px 0 0}.coding-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.coding-language-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 8px #667eea33;color:#fff;display:flex;font-size:1rem;font-weight:700;gap:10px;padding:10px 16px}.language-icon{font-size:1.3rem}.language-name{text-transform:capitalize}.coding-description{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #667eea;border-radius:12px;margin-bottom:24px;padding:20px}.coding-description h4{color:#1e293b;font-size:1.1rem;font-weight:700;margin:0 0 12px}.coding-description p{color:#475569;font-size:1rem;line-height:1.7;margin:0}.coding-display{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.code-header{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;flex-wrap:wrap;gap:8px;padding:12px 16px}.code-label{font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.code-actions{display:flex;flex-wrap:wrap;gap:8px}.copy-code-btn,.edit-code-btn,.reset-code-btn,.run-code-btn{background:#ffffff26;border:1px solid #ffffff40;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.copy-code-btn:hover,.edit-code-btn:hover,.reset-code-btn:hover{background:#ffffff40;transform:translateY(-1px)}.run-code-btn{background:linear-gradient(135deg,#10b981,#059669);border-color:#ffffff4d;box-shadow:0 2px 4px #10b9814d}.run-code-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b98166;transform:translateY(-2px)}.run-code-btn:disabled{opacity:.6;transform:none}.code-container{background:#1e293b;overflow-x:auto;padding:20px}.code-container pre{word-wrap:break-word;color:#e2e8f0;font-family:Courier New,Monaco,Menlo,monospace;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.code-container code{color:#e2e8f0}.code-editor-container{background:#1e293b;border-top:1px solid #334155;padding:0}.code-editor{background:#1e293b;border:none;color:#e2e8f0;font-family:Courier New,Monaco,Menlo,monospace;font-size:.9rem;min-height:300px;outline:none;padding:20px;resize:vertical;width:100%}.code-editor:focus{background:#0f172a}.code-output{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;margin-top:16px;overflow:hidden}.output-header{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-bottom:2px solid #cbd5e1;gap:8px;justify-content:space-between;padding:12px 16px}.output-header,.output-header-left{align-items:center;display:flex;flex-wrap:wrap}.output-header-left{gap:12px}.runtime-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 10px;white-space:nowrap}.output-label{color:#1e293b;font-size:.9rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.clear-output-btn{background:#fee2e2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;font-size:.8rem;font-weight:600;padding:4px 10px;transition:all .2s ease}.clear-output-btn:hover{background:#fecaca;transform:scale(1.05)}.output-content{background:#fff;max-height:400px;overflow-y:auto;padding:16px 20px}.output-content pre{word-wrap:break-word;color:#1e293b;font-family:Courier New,Monaco,Menlo,monospace;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.coding-content-empty,.coding-content-loading{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:16px;padding:60px 20px;text-align:center}.coding-content-loading p{color:#64748b;font-size:1.05rem}.empty-icon{margin-bottom:16px;opacity:.5}.coding-content-empty h3{color:#1e293b;font-size:1.5rem;margin:0 0 12px}.coding-content-empty p{color:#64748b;font-size:1.05rem;margin:0}.topic-interactive-learning{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 32px #0f172a14;margin-top:20px;padding:20px}.topic-learning-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.topic-learning-subtitle{color:#4b5563;font-size:.95rem;margin:0 0 18px}.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{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.activity-disabled-note{background:#fff7ed;border-radius:8px;color:#b45309;flex:1 1 100%;font-weight:600;margin:0;padding:10px 14px}.topic-activity-placeholder{background:#fff;border:1px dashed #cbd5f5;border-radius:12px;color:#475569;font-size:.95rem;padding:18px;text-align:left}.topic-activity-placeholder p{line-height:1.4;margin:0}.activity-choice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;display:flex;gap:10px;padding:14px;position:relative;transition:transform .2s ease,border-color .2s ease}.activity-choice:hover{border-color:#a5b4fc;transform:translateY(-2px)}.activity-choice.active{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 8px 20px #7c3aed1f}.choice-icon{font-size:1.4rem}.choice-details{flex:1 1}.choice-label{color:#1f2937;font-weight:600;margin-bottom:4px}.choice-description{color:#6b7280;font-size:.85rem;margin:0}.choice-indicator{color:#7c3aed;font-size:.75rem;font-weight:600;position:absolute;right:12px;top:12px}.topic-activity-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:150px;padding:18px}.loading-state{background:#f5f3ff;border-style:dashed}.activity-loading-copy{color:#5b21b6;font-weight:600;margin:0}.active-activity-banner{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:14px 16px}.banner-label{color:#111827;display:flex;flex-direction:column;font-weight:600;line-height:1.3}.banner-status{color:#059669;font-size:.85rem;font-weight:600}.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}.presentation-deck{display:flex;flex-direction:column;gap:15px}.slide-frame{background:linear-gradient(135deg,#fff,#f7f9ff);border:2px solid #667eea;border-radius:12px;padding:20px}.slide-header{align-items:center;color:#667eea;display:flex;font-weight:600;justify-content:space-between;margin-bottom:10px}.slide-title{color:#2d3748;font-size:1.2rem;margin:0 0 10px}.slide-bullets{color:#4a5568;margin:0;padding-left:20px}.slide-bullets li{margin-bottom:6px}.slide-notes{background:#edf2ff;border-radius:8px;color:#2d3748;font-size:.9rem;margin-top:15px;padding:12px}.slide-controls{display:flex;gap:10px;justify-content:space-between}.slide-controls button{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;flex:1 1;font-weight:600;padding:10px 0;transition:all .2s ease}.slide-fullscreen-btn{flex:1.2 1}.presentation-deck.fullscreen-active{position:relative;width:100%}.presentation-deck.fullscreen-active .slide-frame{min-height:80vh}.presentation-deck.fullscreen-active .slide-controls{background:#ffffffe6;border-radius:12px;bottom:0;padding:12px;position:-webkit-sticky;position:sticky}.slide-controls button:hover:not(:disabled){background:#667eea;color:#fff}.slide-controls button:disabled{border-color:#cbd5f5;color:#cbd5f5;cursor:not-allowed}.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}.interactive-learning-note{background:#fff7e6;border-left:4px solid #ffb347;border-radius:12px;color:#a85605;font-size:.95rem;margin-bottom:15px;padding:12px 16px}.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%,#ffde7966,#0000 50%),radial-gradient(circle at 80% 0,#b489ff40,#0000 45%),radial-gradient(circle at 50% 100%,#667eea26,#0000 50%),linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow-x:hidden;padding:clamp(20px,4vw,40px);position:relative}.classroom-enhanced-container:before{background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff0d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.classroom-header{flex-wrap:wrap;margin-bottom:20px}.classroom-header h1{flex:1 1}.header-actions{gap:15px}.classroom-tabs{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;flex-wrap:wrap;gap:12px;padding:12px;position:relative;z-index:5}.tab-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #0000;border-radius:12px;color:#fff;font-weight:700;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.tab-btn:hover:before{height:300px;width:300px}.tab-btn:hover{background:#ffffff4d;box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.tab-btn.active{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border-color:#ffffff80;box-shadow:0 8px 25px #0003,0 0 0 2px #667eea33;font-weight:700}.tab-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffffa,#f8fafcfa);border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff80;min-height:500px;padding:40px;position:relative;z-index:1}.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:linear-gradient(135deg,#4facfe14,#667eea14);border:2px solid #667eea26;border-radius:16px;box-shadow:0 4px 20px #667eea1a;margin-top:24px;overflow:hidden;padding:24px;position:relative}.topic-homework-section:before{background:linear-gradient(180deg,#4facfe,#667eea);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.topic-homework-section h5{align-items:center;color:#667eea;display:flex;font-size:1.3rem;font-weight:700;gap:10px;margin:0 0 20px}.homework-item-classroom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid #667eea1a;border-radius:16px;box-shadow:0 4px 15px #00000014;margin-bottom:16px;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.homework-item-classroom:before{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.homework-item-classroom:hover:before{transform:scaleX(1)}.homework-item-classroom:hover{border-color:#667eea4d;box-shadow:0 8px 30px #667eea26;transform:translateY(-4px)}.homework-header-classroom{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.homework-header-classroom strong{color:#1a202c;flex:1 1;font-size:1.15rem;font-weight:700;min-width:200px}.due-date-badge{align-items:center;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #e6510033;border-radius:20px;box-shadow:0 2px 8px #e651001a;color:#e65100;display:flex;font-size:.85rem;font-weight:700;gap:6px;padding:8px 16px}.due-date-badge:before{content:"⏰";font-size:1rem}.homework-desc-classroom{background:#667eea0d;border-left:3px solid #667eea4d;border-radius:12px;color:#4a5568;font-size:.95rem;line-height:1.7;margin:16px 0;padding:12px}.submission-status-classroom{align-items:center;border-top:1px solid #667eea1a;display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px}.submitted-badge-classroom{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #2e7d3233;border-radius:20px;box-shadow:0 2px 8px #2e7d3226;color:#2e7d32;display:flex;font-size:.9rem;font-weight:700;gap:8px;padding:8px 16px}.submitted-badge-classroom:before{content:"✅";font-size:1rem}.submission-date-classroom{background:#6c757d1a;border-radius:12px;color:#6c757d;font-size:.9rem;font-weight:500;padding:6px 12px}.completed-badge{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:16px;box-shadow:0 2px 8px #4caf504d;color:#fff;font-size:.85rem;font-weight:700;padding:6px 14px}.submit-homework-btn,.view-submission-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:8px;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.submit-homework-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.submit-homework-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.submit-homework-btn:hover:before{height:300px;width:300px}.submit-homework-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-3px)}.view-submission-btn{background:linear-gradient(135deg,#4facfe,#3d9be8);box-shadow:0 4px 15px #4facfe4d;color:#fff}.view-submission-btn:hover{background:linear-gradient(135deg,#3d9be8,#2d8bd6);box-shadow:0 8px 25px #4facfe66;transform:translateY(-3px)}.submission-view{margin-top:16px;padding:16px 0}.submission-answer-display{word-wrap:break-word;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f9fafbf2,#f3f4f6f2);border:2px solid #667eea1a;border-radius:12px;box-shadow:inset 0 2px 8px #0000000d;color:#1a202c;font-size:.95rem;line-height:1.7;min-height:120px;padding:20px;white-space:pre-wrap}.file-link{align-items:center;background:linear-gradient(135deg,#e3f2fde6,#bbdefbe6);border:1px solid #1976d233;border-radius:12px;box-shadow:0 2px 8px #1976d21a;color:#1976d2;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;margin:8px 12px 8px 0;padding:10px 16px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.file-link:before{content:"📎";font-size:1.1rem}.file-link:hover{background:linear-gradient(135deg,#bbdefbe6,#90caf9e6);box-shadow:0 4px 15px #1976d233;transform:translateY(-3px)}.grade-display{align-items:center;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #e6510033;border-radius:12px;box-shadow:0 4px 15px #e6510026;color:#e65100;display:flex;font-size:1.2rem;font-weight:700;gap:10px;margin-top:16px;padding:16px 20px}.grade-display:before{content:"⭐";font-size:1.5rem}.feedback-display{background:linear-gradient(135deg,#e8f5e9e6,#c8e6c9e6);border:2px solid #2e7d3233;border-radius:12px;box-shadow:0 4px 15px #2e7d321a;color:#2e7d32;font-size:.95rem;font-weight:500;line-height:1.6;margin-top:16px;padding:16px 20px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009}.modal-content{animation:slideUp .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffffa,#f8fafcfa);border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 70px #0006,0 0 0 1px #ffffff80;padding:40px;position:relative}.modal-content:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;border-radius:24px 24px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.modal-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;margin:0 0 24px;padding-top:8px}.form-group{margin-bottom:24px}.form-group label{color:#1a202c;font-size:.95rem;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.form-group input[type=file],.form-group input[type=number],.form-group input[type=text],.form-group textarea{background:#ffffffe6;border:2px solid #667eea33;border-radius:12px;font-family:inherit;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.form-group textarea{line-height:1.6;min-height:150px}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none;transform:translateY(-2px)}.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:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);border-radius:24px;box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff1a;display:flex;flex-direction:column;height:100%;min-height:600px;overflow:hidden;position:relative}.live-code-classroom:before{animation:gradientShift 3s ease infinite;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:200% 100%;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.classroom-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#667eeaf2,#764ba2f2);box-shadow:0 4px 20px #0003;color:#fff;flex-shrink:0;justify-content:space-between;padding:24px 32px;position:relative;z-index:10}.header-left h2{font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 8px;text-shadow:0 2px 10px #0000004d}.header-left p{font-size:.9rem;font-weight:500;margin:0;opacity:.9}.session-status{gap:16px}.session-status,.status-badge{align-items:center;display:flex}.status-badge{border-radius:24px;box-shadow:0 4px 12px #0003;font-size:.85rem;gap:8px;letter-spacing:1px;padding:8px 16px;text-transform:uppercase}.status-badge.live{color:#fff;position:relative}.status-badge.live,.status-badge.live:before{animation:pulseGlow 2s ease-in-out infinite;background:linear-gradient(135deg,#ff4757,#ff6348)}.status-badge.live:before{border-radius:24px;content:"";filter:blur(8px);inset:-2px;opacity:.5;position:absolute}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.status-badge.offline{background:#2f3542cc;color:#ffffffe6}.connected-count,.status-badge.offline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connected-count{align-items:center;background:#ffffff40;border:1px solid #ffffff4d;border-radius:24px;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:8px 16px}.connected-count:before{content:"👥";font-size:1.1rem}.header-controls{align-items:center;display:flex;gap:12px}.toggle-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.toggle-btn:hover:before{height:300px;width:300px}.toggle-btn:hover{background:#ffffff4d;box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.toggle-btn.start{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#48bb78;box-shadow:0 4px 15px #48bb7866}.toggle-btn.stop{background:linear-gradient(135deg,#ff4757,#ff6348);border-color:#ff4757;box-shadow:0 4px 15px #ff475766}.code-editor-container{background:#0d1117;display:flex;flex:1 1;flex-direction:column;min-height:0}.editor-toolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#161b22,#0d1117);border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.language-selector{align-items:center;display:flex;gap:12px}.language-selector label{color:#c9d1d9;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.language-select{background:#161b22cc;border:1px solid #ffffff1a;border-radius:8px;color:#c9d1d9;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.language-select:hover{background:#161b22;border-color:#667eea80}.language-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.language-select:disabled{background:#161b2280;cursor:not-allowed;opacity:.5}.editor-actions{gap:10px}.clear-btn,.editor-actions{align-items:center;display:flex}.clear-btn{background:linear-gradient(135deg,#6c757d,#5a6268);border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.clear-btn:hover{background:linear-gradient(135deg,#5a6268,#495057);box-shadow:0 4px 12px #6c757d66}.code-editor{background:#0d1117;display:flex;min-height:0;overflow:hidden;position:relative}.code-textarea{background:#0d1117;border:none;color:#c9d1d9;flex:1 1;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:15px;line-height:1.6;outline:none;overflow-wrap:normal;overflow-x:auto;overflow-y:auto;padding:24px;resize:none;scrollbar-color:#667eea80 #0000;scrollbar-width:thin;tab-size:2;white-space:pre}.code-textarea::-webkit-scrollbar{height:8px;width:8px}.code-textarea::-webkit-scrollbar-track{background:#0000}.code-textarea::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.code-textarea::-webkit-scrollbar-thumb:hover{background:#667eeab3}.code-textarea.readonly{background:#0a0d12;cursor:default;opacity:.85}.code-textarea.editable{cursor:text}.code-textarea.editable:focus{background:#0d1117;box-shadow:inset 0 0 0 2px #667eea33}.code-textarea.javascript,.code-textarea.python{color:#c9d1d9}.line-numbers{background:#161b22;border-right:1px solid #ffffff1a;color:#6e7681;flex-shrink:0;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:15px;line-height:1.6;min-width:60px;padding:24px 16px;text-align:right;-webkit-user-select:none;user-select:none}.line-number{height:24px;justify-content:flex-end;padding-right:8px}.classroom-footer,.line-number{align-items:center;display:flex}.classroom-footer{background:linear-gradient(180deg,#0d1117,#161b22);border-top:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;padding:20px 32px}.instructions p{color:#8b949e;font-size:.9rem;line-height:1.5;margin:0}.sync-indicator{align-items:center;background:#48bb781a;border:1px solid #48bb7833;border-radius:20px;color:#48bb78;display:flex;font-size:.9rem;font-weight:600;gap:10px;padding:8px 16px}.sync-dot{animation:syncPulse 1.5s ease-in-out infinite;background:#48bb78;border-radius:50%;box-shadow:0 0 10px #48bb7899;height:10px;width:10px}@keyframes syncPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@media (max-width:768px){.classroom-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 24px}.header-left h2{font-size:1.5rem}.session-status{gap:12px;justify-content:space-between;width:100%}.header-controls{justify-content:flex-end;width:100%}.editor-toolbar{align-items:flex-start;flex-direction:column;gap:12px;padding:12px 20px}.editor-actions,.language-selector{width:100%}.classroom-footer{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 24px}.code-textarea{font-size:14px;padding:20px}.line-numbers{font-size:14px;min-width:50px;padding:20px 12px}}@media (max-width:480px){.classroom-header{padding:16px 20px}.header-left h2{font-size:1.3rem}.status-badge{font-size:.75rem;padding:6px 12px}.connected-count{font-size:.8rem;padding:6px 12px}.toggle-btn{font-size:.85rem;padding:10px 20px}.code-textarea{font-size:13px;padding:16px}.line-numbers{font-size:13px;min-width:40px;padding:16px 8px}}.live-video-classroom{background:#1a1a1a;border-radius:12px;display:flex;flex-direction:column;height:100%;min-height:600px;overflow:hidden;width:100%}.video-container{background:#000;border-radius:8px;flex:1 1;min-height:500px;overflow:hidden;position:relative}.video-loading{align-items:center;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:500px}.loading-spinner{border:4px solid #ffffff4d}.video-error,.video-not-configured{align-items:center;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:500px;padding:40px;text-align:center}.video-error h3,.video-not-configured h3{color:orange;margin:0 0 15px}.video-error p,.video-not-configured p{color:#fffc;margin:10px 0}.config-hint{background:#ffffff1a;border-radius:8px;font-size:.9rem;margin-top:20px;padding:15px}.config-hint code{background:#0000004d;border-radius:4px;font-family:monospace;padding:2px 6px}.retry-btn{margin-top:20px;padding:12px 24px;transition:transform .2s}.video-controls{background:#000c;border-top:1px solid #ffffff1a;gap:15px;padding:20px}.control-btn,.video-controls{align-items:center;display:flex;justify-content:center}.control-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5rem;height:50px;transition:all .2s;width:50px}.control-btn:hover{background:#fff3;transform:scale(1.1)}.control-btn.active{background:#667eeacc}.control-btn.muted{background:#f44336cc}.control-btn.disabled{background:#80808080;opacity:.5}.leave-btn{background:#f44336cc;margin-left:auto}.leave-btn:hover{background:#f44336}.participant-count{color:#fff;font-size:.9rem;padding:0 15px}.video-error-banner{background:#f4433633;border-top:1px solid #f4433680;color:#ffcdd2;font-size:.9rem;padding:12px 20px;text-align:center}@media (max-width:768px){.live-video-classroom{min-height:400px}.video-container{min-height:300px}.video-controls{flex-wrap:wrap;gap:10px;padding:15px}.control-btn{font-size:1.2rem;height:45px;width:45px}.participant-count{padding:10px 0;text-align:center;width:100%}.leave-btn{border-radius:8px;margin-left:0;width:100%}}.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{background:linear-gradient(120deg,#f093fb,#f5576c);box-shadow:0 4px 12px #f5576c40;cursor:pointer;transition:all .2s ease}.signout-btn:hover{box-shadow:0 6px 20px #f5576c59;transform:translateY(-2px)}.signout-btn:active{transform:translateY(0)}.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;color:#6b7280;color:var(--gray-500,#6b7280);font-weight:600;padding:16px 24px;position:relative;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:#667eea0d}.nav-link.active,.nav-link:hover{color:#667eea;color:var(--theme-primary,#667eea)}.nav-link.active{background:#667eea14;border-bottom-color:#667eea;border-bottom-color:var(--theme-primary,#667eea)}.nav-link.active:after{background:#667eea;background:var(--theme-primary,#667eea);border-radius:3px 3px 0 0;bottom:-3px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:40px}.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-experience-panel{background:linear-gradient(135deg,#fff5f7,#fef3f2);border:1px solid #f5576c26;border-radius:16px;margin-bottom:20px;padding:16px}.experience-panel-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.experience-panel-header h4{color:#d946ef;margin:0}.experience-panel-header p{color:#a855f7;font-size:.95rem;margin:0}.experience-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.experience-chip{align-items:center;background:#fff;border:none;border-radius:12px;box-shadow:0 2px 10px #0000000f;cursor:pointer;display:flex;gap:10px;padding:12px;text-align:left;transition:transform .15s ease,box-shadow .2s ease}.experience-chip:disabled{cursor:not-allowed;opacity:.85}.experience-chip.ready{border:1px solid #48bb7866}.experience-chip.ready:not(:disabled):hover{box-shadow:0 6px 18px #48bb784d;transform:translateY(-2px)}.experience-chip.pending{background:#f8fafc;border:1px solid #e2e8f0e6}.experience-icon{font-size:1.5rem}.experience-details{display:flex;flex-direction:column;line-height:1.2}.experience-label{color:#1f2937;font-weight:600}.experience-status{color:#6b7280;font-size:.85rem}.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;max-height:90vh;max-width:700px}.modal-content h2{color:#f5576c;margin-bottom:20px}.form-group label{color:#555;font-weight:700}.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{gap:10px;justify-content:flex-end;margin-top:20px}.cancel-btn{background:#e0e0e0;color:#555;padding:10px 20px}.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-classroom-actions{display:flex;flex-wrap:wrap;gap:10px}.topic-classroom-actions .join-classroom-btn,.topic-classroom-actions .topic-classroom-btn,.topic-classroom-actions .video-call-btn{flex:1 1;min-width:200px;width:auto}.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-note{color:#2f855a;font-weight:500;margin:0}.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-shell:has(.classroom-status.enabled){border-left:4px solid #48bb78;box-shadow:0 10px 30px #48bb7833}.course-group{background:linear-gradient(135deg,#f8f9ff,#fef3f2);border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:40px;padding:24px}.course-group-header{align-items:center;border-bottom:2px solid #f5576c33;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.course-group-title{color:#f5576c;font-size:1.5rem;font-weight:700;margin:0}.course-group-count{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 16px}.course-sessions-list{display:flex;flex-direction:column;gap:20px}@media (max-width:640px){.topic-classroom-btn{font-size:.9rem;padding:12px 16px}.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))}.sessions-grid>.session-card-shell{height:100%}.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}.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:20px}@media (max-width:768px){.classroom-container{padding:15px}}.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}@media (max-width:768px){.classroom-header{align-items:flex-start;flex-direction:column;gap:15px}.classroom-header h1{font-size:1.5rem}}.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{display:flex;flex-direction:column;gap:10px}.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}@media (max-width:768px){.classroom-access{padding:20px}}.loading-section{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;padding:40px;text-align:center}.loading-spinner{margin:0 auto 20px}.error-section{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;padding:40px;text-align:center}.error-section h2{color:#e74c3c;font-size:1.8rem;margin:0 0 15px}.error-message{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:25px}.retry-btn{border-radius:10px;box-shadow:0 4px 15px #667eea66;font-weight:700}.retry-btn:hover{box-shadow:0 6px 20px #667eea99}.retry-btn:active{transform:translateY(0)}@media (max-width:768px){.error-section{padding:30px 20px}.error-section h2{font-size:1.5rem}.error-message{font-size:1rem}}.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{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-placeholder{color:#ffffffe6;text-align:center}.tab-btn,.tab-placeholder{flex:1 1;font-weight:600;padding:12px 20px}.tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;display:flex;font-size:1rem;gap:8px;justify-content:center;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{display:flex;flex-direction:column;gap:24px;padding:32px 40px;text-align:left}.interactive-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.interactive-header h2{color:#3949ab;margin:0}.interactive-course-name{color:#666;font-size:.95rem;margin:4px 0 0}.interactive-stats{background:#667eea1a;border-radius:999px;color:#667eea;font-weight:600;padding:10px 18px}.interactive-topic-picker{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.interactive-topic-picker label{color:#333;font-weight:600}.interactive-topic-picker select{border:1px solid #d0d5dd;border-radius:10px;flex:1 1;font-size:1rem;min-width:220px;padding:10px 14px}.topic-hours-chip{align-items:center;background:#f5f5ff;border-radius:999px;color:#5c6ac4;display:inline-flex;font-weight:600;gap:6px;padding:8px 14px}.interactive-loading{color:#666;padding:40px;text-align:center}.interactive-content-panel{background:#fafbff;border:1px solid #ececec;border-radius:16px;padding:16px}.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}.interactive-header{align-items:flex-start;flex-direction:column}.interactive-topic-picker{align-items:stretch;flex-direction:column}.interactive-topic-picker select{width:100%}.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}}.session-component-config{background:#f8f9ff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 50px #0f172a40;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}.config-body{background:linear-gradient(180deg,#f8f9ff,#fff 40%,#f8fafc);padding:0 24px 24px}.config-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:-40px;padding:0 4px 24px}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 30px #0f172a14;display:flex;flex-direction:column;gap:6px;padding:16px}.summary-card.highlight{background:linear-gradient(135deg,#eef2ff,#ede9fe);border-color:#c4b5fd}.summary-label{color:#475569;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase}.summary-value{color:#312e81;font-size:2rem;line-height:1}.summary-card.highlight .summary-value{color:#5b21b6}.summary-hint{color:#64748b;font-size:.9rem}.guided-flow-panel{background:#fff;border:1px solid #e0e7ff;border-radius:18px;box-shadow:0 10px 24px #4338ca12;margin-bottom:24px;padding:20px}.guided-flow-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.guided-label{color:#4338ca;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.guided-flow-header p{color:#475569;font-size:.95rem;margin:4px 0 0}.change-pill{border:1px solid;border-radius:999px;font-size:.85rem;font-weight:600;padding:6px 14px}.change-pill.pending{background:#fffbeb;border-color:#fcd34d;color:#b45309}.change-pill.saved{background:#ecfdf5;border-color:#86efac;color:#15803d}.guided-flow-steps{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flow-step{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:12px;padding:12px 14px}.flow-step .step-index{align-items:center;background:#e0e7ff;border-radius:999px;color:#3730a3;display:flex;font-weight:700;height:28px;justify-content:center;width:28px}.flow-step.completed{background:#ecfdf5;border-color:#86efac}.flow-step.completed .step-index{background:#bbf7d0;color:#166534}.flow-step.current{background:#f5f3ff;border-color:#c4b5fd}.flow-step.current .step-index{background:#c4b5fd;color:#4c1d95}.step-title{color:#0f172a;font-weight:600;margin:0}.step-description{color:#475569;font-size:.9rem;margin:4px 0 0}.picker-modal{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;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;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:900px;overflow-y:auto;width:100%}.modal-header{padding:20px}.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}.bulk-mode-btn,.bulk-remove-btn,.select-all-btn{align-items:center;background:#eef2ff;border:1px solid #cbd5f5;border-radius:999px;color:#4338ca;cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;padding:6px 14px;transition:all .2s ease}.bulk-mode-btn:hover,.bulk-remove-btn:hover,.select-all-btn:hover{background:#c7d2fe}.bulk-remove-btn{background:#ffe4e6;border-color:#fecdd3;color:#b91c1c}.bulk-actions{background:#f8fafc;border:1px dashed #cbd5f5;border-radius:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.bulk-actions,.bulk-info{align-items:center;display:flex}.bulk-info{gap:12px}.selection-count{color:#475569;font-size:.9rem}.config-sections{padding:24px}.config-section{margin-bottom:32px;position:relative}.config-section:last-child{margin-bottom:0}.step-label{align-items:baseline;color:#475569;display:flex;font-size:.85rem;gap:8px;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.step-label strong{color:#1e1b4b;font-size:.9rem;letter-spacing:normal;text-transform:none}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.header-actions{align-items:center;display:flex;gap:10px}.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}.empty-section.subtle{background:#fdf4ff;border-color:#f5d0fe;color:#a21caf}.components-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.component-config-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 6px 20px #0f172a14;padding:20px;transition:all .3s ease}.component-config-card.bulk-selected{border-color:#6366f1;box-shadow:0 12px 30px #6366f12e}.component-config-card:hover{border-color:#cbd5f5;box-shadow:0 12px 26px #4f46e526;transform:translateY(-2px)}.component-config-card.inherited{background:#f8f9fa;border-color:#dee2e6}.card-header{align-items:flex-start;margin-bottom:12px}.component-card-checkbox{align-items:center;border:2px solid #cbd5f5;border-radius:6px;color:#4338ca;cursor:pointer;display:flex;font-size:.85rem;font-weight:700;height:20px;justify-content:center;margin-right:12px;-webkit-user-select:none;user-select:none;width:20px}.component-card-checkbox.checked{background:#eef2ff;border-color:#6366f1}.component-info h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.component-meta{align-items:center}.difficulty-badge{text-transform:capitalize}.difficulty-badge,.source-badge{border-radius:12px;color:#fff;padding:4px 8px}.source-badge{background:#6c757d;font-size:.75rem;font-weight:600}.component-config-card.inherited .source-badge{background:#17a2b8}.change-indicator{border:1px solid;border-radius:10px;font-size:.9rem;font-weight:600;margin-right:auto;padding:8px 14px}.change-indicator.pending{background:#fffbeb;border-color:#fcd34d;color:#b45309}.change-indicator.saved{background:#ecfdf5;border-color:#86efac;color:#15803d}.card-actions{display:flex;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:#f8faff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.component-configuration .config-hint{color:#475569;font-size:.9rem;margin:0}.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:#fff;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:24px}.save-btn{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:12px 24px;transition:background-color .3s ease}.save-btn:hover:not(:disabled){filter:brightness(1.05)}.save-btn:disabled{background:#6c757d;cursor:not-allowed}.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-summary{grid-template-columns:1fr;margin-top:-24px}.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}.change-indicator{margin-bottom:8px;margin-right:0;text-align:center;width:100%}.cancel-btn,.save-btn{justify-content:center;width:100%}}@media (max-width:480px){.config-header,.config-sections{padding:16px}.summary-card{padding:14px}.component-config-card,.component-configuration{padding:12px}.config-actions{padding:16px}}.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}.coach-session-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-left:5px solid #667eea;text-align:left}.coach-session-card .session-card-header h3{color:#667eea}.coach-actions{align-items:center;display:flex;flex-wrap:wrap;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)}.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-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{color:#999;font-style:italic;padding:20px;text-align:center}.empty-state{color:#999;font-size:1.1rem}.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}.parent-messaging{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;height:600px;overflow:hidden}.messaging-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #fff3;color:#fff;padding:15px 20px}.messaging-header h3{font-size:1.1rem;margin:0}.messages-container{background:#f9fafb;display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1}.messages-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message{animation:slideIn .3s ease-out;display:flex;max-width:70%}.message-sent{align-self:flex-end}.message-received{align-self:flex-start}.message-content{border-radius:18px;padding:12px 16px;position:relative}.message-sent .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff}.message-received .message-content{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#374151}.message-content p{word-wrap:break-word;line-height:1.4;margin:0 0 5px}.message-time{font-size:.75rem;opacity:.7}.message-sent .message-time{color:#fffc}.message-received .message-time{color:#6b7280}.no-messages{height:100%}.messaging-empty,.no-messages{align-items:center;color:#6b7280;display:flex;justify-content:center}.messaging-empty{flex-direction:column;height:400px}.empty-icon{margin-bottom:15px}.message-input-form{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:10px;padding:15px 20px}.message-input{border:1px solid #d1d5db;border-radius:24px;flex:1 1;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .2s}.message-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.message-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.send-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:24px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.send-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.parent-messaging{height:500px}.message{max-width:85%}.message-input-form{padding:12px 15px}}.parent-dashboard{background:#fff;margin:0 auto;max-width:1200px;min-height:100vh;padding:30px 20px}.parent-header{border-bottom:2px solid #e5e7eb;margin-bottom:40px;padding-bottom:20px;text-align:center}.parent-header h1{color:#667eea;font-size:2.5rem;margin:0 0 10px}.parent-header p{color:#6b7280;font-size:1.1rem;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px}.loading-spinner{border:4px solid #f3f4f6}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h2{color:#374151;margin:0 0 10px}.empty-state p{color:#6b7280;margin:0 0 30px}.link-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.link-form-card h2{color:#374151;margin:0 0 10px}.form-description{color:#6b7280;font-size:.95rem;margin:0 0 20px}.form-group label{color:#374151;display:block;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.message{border-radius:8px;margin-bottom:20px;padding:12px}.message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.form-actions{display:flex;gap:12px}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.primary-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.primary-btn:disabled{cursor:not-allowed;opacity:.6}.secondary-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .2s}.secondary-btn:hover:not(:disabled){background-color:#f9fafb}.children-selector{margin-bottom:30px}.children-selector h3{color:#374151;margin:0 0 15px}.children-list{display:flex;flex-wrap:wrap;gap:15px}.child-card{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:15px;min-width:250px;padding:15px;position:relative;transition:all .2s}.child-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.child-card.active{background:#f0f4ff;border-color:#667eea}.child-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.child-info{flex:1 1}.child-info h4{color:#374151;font-size:1rem;margin:0 0 5px}.child-info p{color:#6b7280;font-size:.85rem;margin:0}.unlink-btn{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#991b1b;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s;width:24px}.unlink-btn:hover{background:#fecaca}.add-child-btn{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-width:80px;padding:15px;transition:all .2s}.add-child-btn:hover{background:#f0f4ff;border-color:#667eea;color:#667eea}.child-dashboard{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:30px}.progress-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:15px;padding:20px}.stat-icon{font-size:2.5rem}.stat-content h3{color:#374151;font-size:2rem;margin:0}.stat-content p{color:#6b7280;font-size:.9rem;margin:5px 0 0}.badges-section,.upcoming-section{margin-bottom:40px}.badges-section h3,.upcoming-section h3{color:#374151;margin:0 0 20px}.badges-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.badge-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:15px}.badge-icon{font-size:2rem}.badge-info h4{color:#374151;font-size:.95rem;margin:0 0 5px}.badge-info p{color:#6b7280;font-size:.85rem;margin:0}.events-list{display:flex;flex-direction:column;gap:15px}.event-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:20px;padding:15px}.event-date{color:#667eea;font-weight:600;min-width:120px}.event-details h4{color:#374151;margin:0 0 5px}.event-details p{color:#6b7280;font-size:.9rem;margin:0}.actions-section{border-top:1px solid #e5e7eb;margin-top:30px;padding-top:30px;text-align:center}.messaging-section{margin-top:30px}@media (max-width:768px){.parent-dashboard{padding:20px 15px}.parent-header h1{font-size:2rem}.children-list{flex-direction:column}.child-card{min-width:100%}.badges-grid,.progress-overview{grid-template-columns:1fr}}.parent-dashboard-page{background:#f9fafb;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}}.sessions-grid .session-card-shell{min-height:auto;padding:30px}.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,.public-session-actions{display:flex;flex-wrap:wrap;gap:10px}.public-session-actions{justify-content:flex-start}.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}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;height:50px;width:50px}.loading-state p{color:#666;font-size:1.1rem;margin:0}.error-state{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:30px 0;padding:60px 20px;text-align:center}.error-icon{font-size:4rem;margin-bottom:20px}.error-state h3{color:#e74c3c;font-size:1.5rem;margin:0 0 10px}.error-state p{color:#666;font-size:1rem;margin:0 0 25px}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.retry-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.archived-sessions-section{border-top:3px solid #e0e0e0;margin-top:60px;padding-top:40px}.archived-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.archived-header h2{font-size:1.5rem;gap:10px;margin:0}.archived-header h2,.toggle-archived-btn{align-items:center;color:#666;display:flex}.toggle-archived-btn{background:#f5f5f5;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.toggle-archived-btn:hover{background:#e8e8e8;border-color:#bbb}.toggle-archived-btn.expanded{background:#667eea;border-color:#667eea;color:#fff}.archived-sessions-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(600px,1fr));margin-top:20px}.archived-session-card{opacity:.85;position:relative}.archived-session-card:before{background:#00000005;border-radius:12px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.archived-badge{background:#95a5a6;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;margin-left:10px;padding:6px 12px}.archived-notice{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;margin-top:15px;padding:12px 15px}.archived-notice p{color:#856404;font-size:.9rem;font-weight:500;margin:0}.empty-state{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin:30px 0;padding:60px 20px;text-align:center}.empty-state p{margin: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}.archived-sessions-grid{grid-template-columns:1fr}.archived-header{align-items:flex-start;flex-direction:column}.toggle-archived-btn{justify-content:center;width:100%}}.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}.sessions-list .session-card-shell{border:2px solid #e9ecef;padding:30px;transition:all .3s ease}.sessions-list .session-card-shell.status-active{background:linear-gradient(90deg,#f0fff4,#fff);border-color:#68d391}.sessions-list .session-card-shell.status-upcoming{background:linear-gradient(90deg,#ebf8ff,#fff);border-color:#4299e1}.sessions-list .session-card-shell:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-3px)}.sessions-list .session-card-badges{margin-left:auto}.sessions-list .session-card-header h3{color:#667eea;font-size:1.5rem}.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.4bf304a4.css.map*/