@import"https://fonts.googleapis.com/css2?family=Alegreya:wght@400;600;700&family=Bebas+Neue&family=Cormorant+Garamond:wght@500;600;700&family=Crimson+Text:wght@400;600;700&family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;700&family=Eczar:wght@500;600;700&family=Fraunces:wght@500;700&family=IBM+Plex+Sans:wght@400;500;600&family=Manrope:wght@400;500;700&family=Nunito:wght@400;600;700&family=Orbitron:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;700&family=Space+Grotesk:wght@400;500;600&family=Space+Mono:wght@400;700&family=Sora:wght@400;600;700&family=Source+Code+Pro:wght@400;600&family=VT323&display=swap";*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#fff;color:#2d3748}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4,h5,h6{line-height:1.2}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.theme-dropdown{position:relative;z-index:1000}.theme-dropdown__toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.theme-dropdown__toggle:hover{background:#ffffff40;transform:translateY(-1px)}.theme-dropdown__icon{font-size:1.1rem}.theme-dropdown__name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.theme-dropdown__arrow{font-size:.7rem;opacity:.8}.theme-dropdown__backdrop{position:fixed;inset:0;background:transparent;z-index:999}.theme-dropdown__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:320px;max-height:70vh;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000040;overflow:hidden;z-index:1001;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.theme-dropdown__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;font-weight:600}.theme-dropdown__preview-link{color:#ffffffe6;text-decoration:none;font-size:.85rem;font-weight:500;padding:.3rem .6rem;background:#fff3;border-radius:4px;transition:all .2s}.theme-dropdown__preview-link:hover{background:#ffffff4d;color:#fff}.theme-dropdown__list{max-height:calc(70vh - 60px);overflow-y:auto;padding:.5rem}.theme-dropdown__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease;position:relative}.theme-dropdown__item:hover{background:#f3f4f6}.theme-dropdown__item--active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3)}.theme-dropdown__item--active:hover{background:linear-gradient(135deg,#667eea26,#764ba226)}.theme-dropdown__item-content{flex:1;min-width:0}.theme-dropdown__item-name{display:block;font-size:.95rem;font-weight:600;color:#1f2937;margin-bottom:.15rem}.theme-dropdown__item-vibe{display:block;font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-dropdown__item-palette{display:flex;gap:4px;flex-shrink:0}.theme-dropdown__color{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.theme-dropdown__check{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--theme-accent);font-weight:700;font-size:1rem}@media(max-width:768px){.theme-dropdown__name{display:none}.theme-dropdown__toggle{padding:.5rem .75rem}.theme-dropdown__menu{left:auto;right:0;min-width:280px}}@media(max-width:480px){.theme-dropdown__menu{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;min-width:auto;max-height:60vh}}.header{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a}.header .container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;color:#fff;text-decoration:none;transition:transform .2s;flex-shrink:0;display:flex;align-items:center;gap:.6rem}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;background:#fffffff2;color:var(--theme-accent);font-size:.85rem;font-weight:800;letter-spacing:-.5px;border-radius:8px;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.logo:hover{transform:scale(1.05)}.logo:hover .logo-icon{background:#fff;transform:rotate(-5deg);box-shadow:0 4px 12px #0003}.nav{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.nav a,.nav .nav-link{color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;transition:all .3s ease;white-space:nowrap;padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden}.nav a:before,.nav .nav-link:before{content:"";position:absolute;inset:0;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;opacity:0;transition:opacity .3s ease;z-index:-1}.nav a:hover,.nav .nav-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.nav a:hover:before,.nav .nav-link:hover:before{opacity:1}.nav .nav-link{display:inline-flex;align-items:center;gap:5px}.dropdown-toggle:before{content:"";position:absolute;inset:0;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;opacity:0;transition:opacity .3s ease;z-index:-1}.dropdown:hover .dropdown-toggle:before,.dropdown-toggle:hover:before{opacity:1}.dropdown:hover .dropdown-toggle,.dropdown-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #0003;border:1px solid rgba(255,255,255,.3);min-width:240px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000;overflow:visible}.dropdown-item:hover{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important;transform:translate(5px)}.dropdown-item.has-submenu{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;padding:.75rem 1.25rem;gap:.5rem}.dropdown-submenu:hover>.dropdown-item.has-submenu{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important}@media(max-width:1200px){.nav{gap:1rem}.nav a,.nav .nav-link{font-size:.9rem}}@media(max-width:992px){.header .container{flex-direction:column;gap:1rem;padding:1rem}.logo{font-size:1.5rem}.nav{width:100%;justify-content:center;gap:.75rem}.nav a,.nav .nav-link{font-size:.85rem}}@media(max-width:768px){.nav{flex-direction:column;gap:.5rem}.nav a,.nav .nav-link{padding:.75rem 1rem;width:100%;text-align:center;justify-content:center}.nav a:before,.nav .nav-link:before{background:#ffffff26}.dropdown{width:100%}.dropdown-toggle{width:100%;justify-content:center}.dropdown-menu{position:static;width:100%;margin-top:.25rem;transform:none}.dropdown:hover .dropdown-menu{transform:none}.dropdown-item{text-align:center}.dropdown-item:hover{transform:none}.dropdown-submenu{width:100%}.submenu{position:static;left:0;width:100%;margin-top:0;transform:none;border-radius:0;box-shadow:none;border:none;background:#0000000d;max-height:0;overflow:hidden;padding:0}.dropdown-submenu:hover .submenu{max-height:200px;transform:none;padding:.25rem 0}.submenu .dropdown-item{padding:.5rem 1rem;font-size:.85rem}.dropdown-item.has-submenu{justify-content:center}.submenu-arrow{display:inline-block}.dropdown-submenu:hover .submenu-arrow{transform:rotate(90deg)}}.footer{background:#2d3748;color:#cbd5e0;padding:2rem 0;text-align:center;margin-top:auto}.footer .container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer p{margin:.5rem 0}.footer-links{margin:1rem 0}.footer-links a{color:#667eea;text-decoration:none;margin:0 1rem;transition:color .2s}.footer-links a:hover{color:#764ba2}.footer-made-by{font-size:.9rem;opacity:.8}.footer-made-by a{color:#667eea;text-decoration:none;transition:color .2s}.footer-made-by a:hover{color:#764ba2}.home{min-height:100vh;display:flex;flex-direction:column}.btn:disabled{opacity:.6;cursor:not-allowed;background:#cbd5e0}.btn:disabled:hover{transform:none;box-shadow:none}.btn{display:block;text-align:center;text-decoration:none}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.progress-summary{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.progress-stat{background:#fff;border:2px solid var(--theme-accent);padding:1.5rem 2rem;border-radius:12px;text-align:center;box-shadow:0 4px 12px #00000014;flex:1;min-width:150px;transition:all .3s ease}.stat-label{font-size:.95rem;color:var(--theme-secondary);font-weight:600;margin-bottom:.5rem;display:block}.stat-value{font-size:2rem;font-weight:700;display:block;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.levels-progress,.levels-list{display:flex;flex-direction:column;gap:1.5rem}.level-section{background:#f7fafc;border-radius:12px;padding:1.5rem;border:2px solid #e2e8f0;transition:all .2s}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.level-header h3{margin:0;font-size:1.1rem;color:var(--theme-accent);font-weight:600}.level-progress-badge,.level-progress{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.activity-card{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s;position:relative;text-align:left;display:flex;flex-direction:column;gap:.5rem}.activity-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f;border-color:var(--theme-accent);background:linear-gradient(135deg,rgba(var(--theme-accent-rgb, 102, 126, 234),.05),rgba(var(--theme-secondary-rgb, 118, 75, 162),.05))}.activity-card.completed{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border-color:#38a169}.activity-card.current{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border-color:var(--theme-accent)}.activity-card-id,.activity-number{font-size:.8rem;font-weight:600;color:var(--theme-accent);opacity:.8}.activity-card.completed .activity-card-id,.activity-card.completed .activity-number,.activity-card.current .activity-card-id,.activity-card.current .activity-number{color:#fff;opacity:.9}.activity-card-title{font-size:.95rem;font-weight:600;line-height:1.4;color:var(--theme-accent)}.activity-card-check{position:absolute;top:.5rem;right:.5rem;font-size:1.2rem}.activity-card-badge,.activity-current-badge{background:#ffffff4d;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff}@media(max-width:768px){.modal-content{width:95%;max-height:90vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.2rem}.modal-body{padding:1rem}.progress-summary{flex-direction:column;gap:1rem}.progress-stat{padding:1rem}.stat-value{font-size:1.5rem}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.activity-card{padding:.75rem}.activity-card-title{font-size:.85rem}}.error-report-button{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #f565654d;animation:pulse 2s infinite;white-space:nowrap;flex-shrink:0;max-width:150px;overflow:hidden;text-overflow:ellipsis}.error-report-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #f5656566}.error-report-button:active{transform:translateY(0)}.error-report-button:disabled{opacity:.6;cursor:not-allowed;animation:none}.output-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10000;animation:outputFadeIn .2s ease-out}@keyframes outputFadeIn{0%{opacity:0}to{opacity:1}}.output-modal-content{background:var(--theme-text, white);border-radius:16px;width:90%;max-width:800px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;animation:outputSlideUp .3s ease-out}@keyframes outputSlideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.output-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff}.output-modal-title{display:flex;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:700}.output-modal-title i{font-size:1.3rem}.running-indicator{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;background:#fff3;padding:.3rem .8rem;border-radius:20px;margin-left:.5rem}.running-indicator i{animation:spin 1s linear infinite;font-size:.9rem}.output-modal-actions{display:flex;align-items:center;gap:.75rem}.output-modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.output-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.output-modal-body{padding:1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.game-image-container{display:flex;justify-content:center;margin-bottom:1rem}.game-image-container img{max-width:100%;max-height:400px;border-radius:12px;box-shadow:0 4px 20px #00000026}.turtle-animation-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.turtle-frame-display{position:relative}.turtle-frame-display img{max-width:100%;max-height:350px;border:2px solid var(--theme-accent, #667eea);border-radius:12px;box-shadow:0 4px 20px #00000026}.frame-counter{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.turtle-controls{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.turtle-controls button{padding:.6rem 1rem;background:var(--theme-text, white);border:2px solid var(--theme-accent, #667eea);border-radius:8px;color:var(--theme-accent, #667eea);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem;font-size:.9rem;font-weight:600}.turtle-controls button:hover:not(:disabled){background:var(--theme-accent, #667eea);color:#fff}.turtle-controls button:disabled{opacity:.5;cursor:not-allowed}.turtle-controls .play-pause-btn{background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff;border-color:transparent;padding:.6rem 1.5rem}.turtle-controls .play-pause-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.output-modal-body .output-text{background:#1e1e1e;color:#d4d4d4;padding:1.25rem;border-radius:12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;line-height:1.6;overflow-x:auto;word-wrap:break-word;min-height:100px;max-height:500px;overflow-y:auto;margin:0}.matplotlib-image-container{display:flex;justify-content:center;background:#fff;padding:10px;border-radius:8px;margin:10px 0}.matplotlib-image-container img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.input-area{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;padding:1.25rem;border:2px solid var(--theme-accent, #667eea)}.text-input-area label{display:block;font-weight:600;color:var(--theme-bg, #2d3748);margin-bottom:.75rem}.input-row{display:flex;gap:.75rem}.input-row input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s;outline:none}.input-row input:focus{border-color:var(--theme-accent, #667eea);box-shadow:0 0 0 3px #667eea33}.submit-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.key-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.key-btn{padding:1.25rem 2rem;border:none;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center;box-shadow:0 4px 12px #00000026}.key-btn:hover{transform:translateY(-4px) scale(1.05)}.key-btn.left,.key-btn.up{background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff}.key-btn.left:hover,.key-btn.up:hover{box-shadow:0 8px 20px #667eea80}.key-btn.right,.key-btn.down,.key-btn.yes{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.key-btn.right:hover,.key-btn.down:hover,.key-btn.yes:hover{box-shadow:0 8px 20px #48bb7880}.key-btn.no{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff}.key-btn.no:hover{box-shadow:0 8px 20px #f5656580}@media(max-width:768px){.output-modal-content{width:95%;max-height:90vh}.output-modal-header{padding:.875rem 1rem}.output-modal-title{font-size:1rem}.output-modal-body{padding:1rem}.game-image-container img,.turtle-frame-display img{max-height:250px}.output-modal-body .output-text{font-size:.85rem;min-height:80px;max-height:350px}.matplotlib-image-container{padding:5px}.key-btn{padding:1rem 1.5rem;font-size:1rem;min-width:120px}.input-row{flex-direction:column}.submit-btn{justify-content:center}}.learning-page,.python-learning{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fa}.learning-page .learning-header,.learning-page .header,.python-learning .header{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a}.learning-page .learning-header .container,.learning-page .header .container,.python-learning .header .container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem}.learning-page .logo,.python-learning .logo{flex-shrink:0}.learning-page .logo a,.python-learning .logo a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.learning-page .logo-icon,.python-learning .logo-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#fffffff2;color:var(--theme-accent);font-size:.7rem;font-weight:800;letter-spacing:-.5px;border-radius:6px;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.learning-page .logo:hover .logo-icon,.python-learning .logo:hover .logo-icon{background:#fff;transform:rotate(-5deg);box-shadow:0 4px 12px #0003}.page-title-wrapper{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.learning-page .page-title,.python-learning .page-title{font-size:1.2rem;font-weight:600;margin:0;white-space:nowrap}.learning-page .dropdown,.python-learning .dropdown{position:relative;display:inline-block}.learning-page .dropdown-toggle,.python-learning .dropdown-toggle{background:none;border:none;color:#fff;font-weight:500;font-size:.95rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden;transition:all .3s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.learning-page .dropdown-toggle:hover,.python-learning .dropdown-toggle:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.learning-page .dropdown-menu,.python-learning .dropdown-menu{position:absolute;top:100%;right:0;left:auto;margin-top:.5rem;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #0003;border:1px solid rgba(255,255,255,.3);min-width:240px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000;overflow:visible}.learning-page .dropdown:hover .dropdown-menu,.python-learning .dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.learning-page .dropdown-item,.python-learning .dropdown-item{display:block;padding:.75rem 1.25rem;color:#1a202c!important;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);white-space:nowrap}.learning-page .dropdown-item:last-child,.python-learning .dropdown-item:last-child{border-bottom:none}.learning-page .dropdown-item:hover,.python-learning .dropdown-item:hover{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important;transform:translate(5px)}.learning-page .dropdown-submenu,.python-learning .dropdown-submenu{position:relative}.learning-page .dropdown-item.has-submenu,.python-learning .dropdown-item.has-submenu{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;gap:.5rem}.learning-page .dropdown-item.has-submenu span,.python-learning .dropdown-item.has-submenu span{display:flex;align-items:center;gap:.5rem}.learning-page .submenu-arrow,.python-learning .submenu-arrow{font-size:.7rem;transition:transform .2s}.learning-page .dropdown-submenu:hover .submenu-arrow,.python-learning .dropdown-submenu:hover .submenu-arrow{transform:translate(-3px)}.learning-page .dropdown-submenu:hover>.dropdown-item.has-submenu,.python-learning .dropdown-submenu:hover>.dropdown-item.has-submenu{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important}.learning-page .submenu,.python-learning .submenu{position:absolute;right:calc(100% + 5px);left:auto;top:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #00000040;border:1px solid rgba(0,0,0,.1);min-width:150px;opacity:0;visibility:hidden;transform:translate(10px);transition:all .25s ease;z-index:1002;padding:.5rem 0}.learning-page .dropdown-submenu:hover>.submenu,.python-learning .dropdown-submenu:hover>.submenu{opacity:1;visibility:visible;transform:translate(0)}.learning-page .submenu .dropdown-item,.python-learning .submenu .dropdown-item{padding:.6rem 1rem;font-size:.9rem;border-bottom:none}.learning-page .submenu .dropdown-item:hover,.python-learning .submenu .dropdown-item:hover{transform:translate(3px)}.learning-page .dropdown-item.disabled,.python-learning .dropdown-item.disabled{color:#a0aec0!important;cursor:not-allowed;display:flex;justify-content:space-between;align-items:center}.learning-page .dropdown-item.disabled:hover,.python-learning .dropdown-item.disabled:hover{background:transparent;color:#a0aec0!important;transform:none}.python-learning .badge-coming-soon{display:inline-block;padding:.2rem .5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;font-size:.7rem;font-weight:600;border-radius:12px;margin-left:.5rem}.header-nav-button{background:transparent;color:#fff;border:none;padding:.5rem;border-radius:8px;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem}.header-nav-button:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.header-nav-button:disabled{opacity:.2;cursor:not-allowed;transform:none}.nav-emoji{font-size:1.5rem;display:inline-block}.nav-text{font-size:.9rem;font-weight:600;display:none}.header-nav-button:hover:not(:disabled) .nav-text{display:inline-block}.prev-header-button:hover:not(:disabled){transform:translate(-3px) scale(1.05)}.next-header-button:hover:not(:disabled){transform:translate(3px) scale(1.05)}.learning-page .learning-container,.learning-container{display:flex;flex-direction:column;flex:1;max-width:1800px;width:100%;margin:0 auto;gap:1.5rem;padding:2rem 1rem;margin-top:1rem}.editor-row{display:flex;gap:1.5rem;width:100%}.learning-page .left-panel,.left-panel{width:50%;display:flex;flex-direction:column;gap:1.5rem}.activity-info-box{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;width:100%;box-sizing:border-box;margin-top:3.5rem}.pygame-games-page .activity-info-box{margin-top:1rem}.example-code-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;flex:1}.example-header{background:#2d3748;color:#fff;padding:1.25rem 1.5rem;font-size:1rem;font-weight:600;display:flex;justify-content:space-between;align-items:center;min-height:3.5rem}.example-header h3{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.copy-button{background:#4a5568;color:#fff;border:none;padding:.4rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.3rem}.copy-button:hover{background:var(--theme-accent);transform:translateY(-1px)}.copy-button:active{transform:translateY(0)}.code-with-lines{background:#f7fafc;padding:1rem 0;overflow-x:auto}.code-line{display:flex;font-family:Consolas,Monaco,Courier New,monospace;font-size:1rem;line-height:1.8;color:#2d3748}.line-number{min-width:3.5rem;padding:0 1rem;text-align:right;color:#a0aec0;-webkit-user-select:none;user-select:none;background:#edf2f7;border-right:2px solid #cbd5e0;font-weight:500}.line-content{padding:0 1.5rem;flex:1;white-space:pre}.emoji-hint{background:#fff3cd;border-top:2px solid #ffc107;padding:1rem 1.5rem;font-size:.9rem;color:#856404;line-height:1.6}.emoji-hint strong{color:#856404;font-weight:600}.general-hint{background:#e7f3ff;border-top:2px solid #4a9eff;border-left:4px solid #0078d4;padding:1rem 1.5rem;font-size:.9rem;color:#004085;line-height:1.7;font-weight:500}.hint-methods{display:flex;flex-direction:column;gap:.8rem;margin-top:.75rem;font-size:.85rem}.chromebook-hint{display:flex;flex-direction:column;gap:.3rem}.hint-or{text-align:center;color:#856404;font-weight:600;font-size:.8rem;margin:.2rem 0}.hint-indent{text-align:center}.hint-methods kbd{background:linear-gradient(180deg,#fff,#f0f0f0);border:1px solid #c0c0c0;border-bottom:2px solid #a0a0a0;border-radius:4px;padding:.2rem .6rem;font-family:Segoe UI,Arial,sans-serif;font-size:.85rem;color:#333;box-shadow:0 2px 3px #00000026,inset 0 1px #ffffffb3;display:inline-block;min-width:2rem;text-align:center;font-weight:500;margin:0 .15rem}.key-win{background:linear-gradient(180deg,#4a9eff,#0078d4);color:#fff;border-color:#0067c0;border-bottom-color:#005a9e;font-weight:600}.key-ctrl{background:linear-gradient(180deg,#e8e8e8,#d0d0d0);color:#333;border-color:#b0b0b0;border-bottom-color:#909090}.key-cmd{background:linear-gradient(180deg,#e8e8e8,#d0d0d0);color:#333;border-color:#b0b0b0;border-bottom-color:#909090;font-size:1rem}.key-shift{background:linear-gradient(180deg,#f5f5f5,#e0e0e0);color:#333;border-color:#b8b8b8;border-bottom-color:#989898}.key-search{background:linear-gradient(180deg,#fff9e6,#ffe6b3);color:#333;border-color:#d4a574;border-bottom-color:#b8935f}.learning-page .right-panel,.right-panel{width:50%;display:flex;flex-direction:column;gap:1.5rem}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.activity-main-title{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0;display:flex;align-items:center;gap:.5rem}.activity-completed-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;font-size:1rem;width:1.8rem;height:1.8rem;border-radius:50%;font-weight:700;box-shadow:0 2px 4px #48bb784d}.progress-controls{display:flex;align-items:center;gap:.5rem}.progress-info{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap;border:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #667eea4d}.progress-info:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.reset-progress-button{background:#e53e3e;color:#fff;border:none;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.3rem;box-shadow:0 2px 4px #e53e3e4d;white-space:nowrap}.reset-progress-button:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 4px 8px #e53e3e66}.reset-progress-button:active{transform:translateY(0);box-shadow:0 2px 4px #e53e3e4d}.completed-badge{display:inline-block;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:.8rem;box-shadow:0 2px 4px #48bb784d}.tour-restart-button{margin-left:1rem;padding:.4rem .8rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center}.tour-restart-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #667eea80}.tour-restart-button:active{transform:translateY(0) scale(.95)}.activity-description{font-size:1rem;color:#4a5568;margin:0 0 1rem;line-height:1.6}.concepts{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem;color:#4a5568}.concept-tag{background:#edf2f7;color:var(--theme-accent);padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;cursor:help;position:relative;transition:all .3s ease}.concept-tag:hover{background:var(--theme-accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.code-editor-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.editor-header,.section-header{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:1.25rem 1.5rem;font-weight:600;font-size:1rem;min-height:3.5rem;display:flex;align-items:center;justify-content:space-between}.section-header h3{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.header-buttons{display:flex;gap:.5rem}.header-run-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.4rem}.header-run-button:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.header-run-button:disabled{opacity:.5;cursor:not-allowed}.header-run-button-alt{background:#38b2accc;border-color:#38b2ace6}.header-run-button-alt:hover:not(:disabled){background:#38b2ac}.monaco-editor-wrapper{background:#1e1e1e;border:1px solid #3e3e42;min-height:200px}.action-buttons{display:flex;gap:1rem;align-items:center;justify-content:center}.run-button{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #667eea4d;flex:0 0 auto}.run-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.run-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}.error-report-button{background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #f565654d;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.error-report-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #f5656566;animation:none}.error-report-button:active:not(:disabled){transform:translateY(0)}.error-report-button:disabled{background:#cbd5e0;cursor:not-allowed;box-shadow:none;animation:none}.nav-button{background:#fff;color:#4a5568;border:2px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;flex:0 0 auto}.nav-button:hover:not(:disabled){background:#f7fafc;border-color:var(--theme-accent);color:var(--theme-accent);transform:translateY(-2px)}.nav-button:disabled{opacity:.3;cursor:not-allowed;transform:none}.prev-button:hover:not(:disabled){transform:translate(-2px)}.next-button:hover:not(:disabled){transform:translate(2px)}.output-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.output-header{background:#2d3748;color:#fff;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.output-content{padding:1.5rem;min-height:150px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;background:#f7fafc;color:#2d3748}.output-text{margin:0;white-space:pre-wrap;word-wrap:break-word;color:#2d3748;line-height:1.6}.output-placeholder{color:#a0aec0;font-style:italic;margin:0}.input-area{display:flex;gap:.5rem;margin-top:1rem;padding:1rem;background:#1e1e1e;border-top:2px solid #4a9eff}.console-input{flex:1;padding:.75rem 1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:1rem;background:#2d2d2d;color:#d4d4d4;border:1px solid #4a9eff;border-radius:4px;outline:none}.console-input:focus{border-color:var(--theme-accent);box-shadow:0 0 0 2px #667eea33}.console-input::placeholder{color:#6a737d;font-style:italic}.input-submit-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.input-submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.input-submit-button:active{transform:translateY(0)}.python-learning .footer{background:#2d3748;color:#fff;text-align:center;padding:1.5rem;margin-top:auto}.python-learning .footer a{color:var(--theme-accent);text-decoration:none;font-weight:600}.python-learning .footer a:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:2rem;overflow-y:auto;flex:1}.progress-summary{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;flex-wrap:wrap}.progress-stat{flex:1;min-width:150px;text-align:center;background:#fff;border:2px solid var(--theme-accent);padding:1.5rem 2rem;border-radius:12px;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.progress-stat:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.stat-label{display:block;font-size:.95rem;color:var(--theme-secondary);margin-bottom:.5rem;font-weight:600}.stat-value{display:block;font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.levels-list{display:flex;flex-direction:column;gap:2rem}.level-section{border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s}.level-section.current-level{border-color:var(--theme-accent);background:linear-gradient(135deg,#667eea0d,#764ba20d)}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.level-header h3{margin:0;font-size:1.2rem;color:var(--theme-accent);font-weight:600}.level-progress{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.activity-card{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:.5rem}.activity-card:hover{border-color:var(--theme-accent);transform:translateY(-3px);box-shadow:0 6px 16px #0000001f;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.activity-card.completed{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#38a169;color:#fff}.activity-card.completed:hover{border-color:#2f855a}.activity-card.current{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);border-color:var(--theme-accent);color:#fff}.activity-card-header{display:flex;justify-content:space-between;align-items:center}.activity-number{font-size:.8rem;color:var(--theme-accent);font-weight:600;opacity:.8}.activity-card.completed .activity-number,.activity-card.current .activity-number{color:#fff;opacity:.9}.activity-check{color:#fff;font-size:1.2rem;font-weight:700}.activity-current-badge{background:#ffffff4d;color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600}.activity-card:not(.current):not(.completed) .activity-current-badge{background:var(--theme-accent)}.activity-card-title{font-size:.95rem;color:var(--theme-accent);font-weight:600;line-height:1.4}.activity-card:hover .activity-card-title{color:var(--theme-secondary)}.activity-card.completed .activity-card-title,.activity-card.current .activity-card-title{color:#fff}.turtle-animation-controls{margin-top:20px;padding:15px;background:#f7fafc;border-radius:8px;border:2px solid #e2e8f0}.animation-display{margin-bottom:15px}.frame-info{text-align:center;margin-top:10px;font-size:.9rem;color:#4a5568;font-weight:600}.animation-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.control-btn{padding:8px 16px;border:2px solid var(--theme-accent);background:#fff;color:var(--theme-accent);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;white-space:nowrap}.control-btn:hover:not(:disabled){background:var(--theme-accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#cbd5e0;color:#cbd5e0}.control-btn.play-pause{background:var(--theme-accent);color:#fff;font-weight:700}.control-btn.play-pause:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.help-section{margin-top:2rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.help-header{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:1rem 1.5rem;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;transition:all .3s ease}.help-header:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 4px 12px #f093fb66}.search-box{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;position:relative}.search-container{display:flex;gap:.5rem;align-items:stretch;width:100%;max-width:100%}.search-input{flex:1;width:40vh;min-width:0;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .3s ease;outline:none}.search-input:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#a0aec0}.search-button{margin:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #667eea4d;flex-shrink:0}.search-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.search-button:active:not(:disabled){transform:translateY(0)}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-spinner{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:1.2rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.no-results{padding:2rem 1rem;text-align:center;color:#718096;font-size:.9rem}.search-placeholder{padding:2rem 1rem;text-align:center;color:#a0aec0;font-size:.95rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;margin:1rem}.help-links{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.search-results-header{padding:.75rem 1rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;font-weight:600;font-size:1rem;border-radius:8px;margin-bottom:.5rem;text-align:center;box-shadow:0 2px 8px #667eea4d}.help-link{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:inherit;transition:all .3s ease;border:2px solid transparent}.help-link:hover{background:#fff;border-color:var(--theme-accent);transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.link-icon{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.link-content{flex:1;min-width:0}.link-title{font-weight:600;font-size:.95rem;color:#2d3748;margin-bottom:.25rem}.link-description{font-size:.85rem;color:#718096;line-height:1.4}.difficulty-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff}.difficulty-badge.초급{background:linear-gradient(135deg,#56ab2f,#a8e063)}.difficulty-badge.중급{background:linear-gradient(135deg,#f09819,#edde5d)}.difficulty-badge.고급{background:linear-gradient(135deg,#eb3349,#f45c43)}.concepts-section{margin-top:15px}.concepts-section h4{font-size:1rem;margin-bottom:10px;color:var(--theme-accent)}.concepts-list{display:flex;flex-wrap:wrap;gap:8px}.concept-tag{padding:6px 12px;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border-radius:16px;font-size:.85rem;font-weight:500}.hints-section h4{font-size:1rem;margin-bottom:10px;color:#f09819}.hints-section ul{margin:0;padding-left:20px}.hints-section li{margin-bottom:5px;color:#555}.game-result{display:flex;flex-direction:column;align-items:center;width:100%}.game-result img,.pygame-screenshot{max-width:100%;height:auto;border:2px solid var(--theme-accent);border-radius:8px;margin-bottom:10px;box-shadow:0 4px 6px #0000001a}.hints-section{margin-top:15px}.hints-section strong{display:block;font-size:1rem;margin-bottom:10px;color:#f09819}.hints-section ul{margin:0;padding-left:20px;list-style-type:disc}.hints-section li{margin-bottom:8px;color:#555;line-height:1.6}.header-actions{display:flex;gap:10px;align-items:center}.example-code-with-lines{background:#fff;color:#333;padding:0;border-radius:8px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;margin:0;border:1px solid #e2e8f0}.code-line{display:flex;align-items:flex-start;min-height:1.6em}.code-line:hover{background:#667eea0d}.line-number{display:inline-block;width:40px;padding:0 10px;text-align:right;color:#999;-webkit-user-select:none;user-select:none;flex-shrink:0;background:#f7fafc;border-right:1px solid #e2e8f0}.line-content{padding:0 10px;white-space:pre;flex:1;background:#fff;color:#2d3748}.run-button-container{display:flex;justify-content:center;align-items:center;padding:1rem 0;margin-top:1rem;gap:1rem;flex-wrap:wrap}.run-button-center{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea4d;min-width:150px}.run-button-center:hover:not(:disabled){background:linear-gradient(135deg,var(--theme-secondary) 0%,var(--theme-accent) 100%);transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.run-button-center:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #667eea4d}.run-button-center:disabled{opacity:.6;cursor:not-allowed;transform:none}.run-button-stream{background:linear-gradient(135deg,#38b2ac,#319795);box-shadow:0 4px 6px #38b2ac4d}.run-button-stream:hover:not(:disabled){background:linear-gradient(135deg,#319795,#2c7a7b);box-shadow:0 6px 12px #38b2ac66}.run-button-center i{margin-right:.5rem}.report-error-button{background:#e53e3e;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease;animation:fadeIn .3s ease;margin-left:10px}.report-error-button:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 4px 8px #e53e3e4d}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeInOverlay .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:800px;width:90%;max-height:85vh;padding:2rem;box-shadow:0 20px 60px #0006;animation:slideUpModal .3s ease;display:flex;flex-direction:column;gap:1.5rem}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content h2{margin:0;font-size:1.75rem;color:#2d3748;display:flex;align-items:center;gap:.5rem}.modal-content p{margin:0;color:#718096;font-size:.95rem;line-height:1.6}.error-textarea{width:100%;min-height:400px;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;resize:vertical;transition:all .3s ease;background:#f7fafc;color:#2d3748}.error-textarea:focus{outline:none;border-color:var(--theme-accent);background:#fff;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e2e8f0}.submit-button{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea4d}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,var(--theme-secondary) 0%,var(--theme-accent) 100%);transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #667eea4d}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{background:#e2e8f0;color:#4a5568;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button:hover{background:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.cancel-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.curriculum-modal{max-width:900px;max-height:85vh}.curriculum-modal .modal-body{overflow-y:auto;max-height:calc(85vh - 100px)}.curriculum-modal .activity-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;min-height:auto}.curriculum-modal .activity-card .difficulty-badge{align-self:flex-start;font-size:.75rem;padding:.2rem .6rem}@media(max-width:768px){.help-section{margin-top:1.5rem}.help-header{padding:.875rem 1rem;font-size:.95rem}.search-box{padding:.5rem}.search-container{flex-direction:row;gap:.5rem;width:100%}.search-input{flex:1;width:100%;min-width:0;padding:.625rem .875rem;font-size:.9rem}.search-button{flex-shrink:0;padding:.625rem 1rem;font-size:.9rem}.help-links{padding:.75rem;gap:.5rem}.help-link{padding:.875rem;gap:.75rem}.link-icon{font-size:1.5rem;width:40px;height:40px}.link-title{font-size:.9rem}.link-description{font-size:.8rem}.no-results{padding:1.5rem .75rem;font-size:.85rem}.search-placeholder{padding:1.5rem .75rem;font-size:.9rem;margin:.75rem}}.game-window{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#16213ee6;border-bottom:1px solid rgba(102,126,234,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-title{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-title i{-webkit-text-fill-color:var(--theme-accent, #667eea)}.connection-status{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.connection-status.connecting{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.connection-status.connecting i{animation:spin 1s linear infinite}.connection-status.connected{background:#28a74533;color:#28a745;border:1px solid rgba(40,167,69,.3)}.connection-status.disconnected{background:#6c757d33;color:#adb5bd;border:1px solid rgba(108,117,125,.3)}.connection-status.error{background:#dc354533;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.close-button{padding:.5rem 1.5rem;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.close-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.game-container{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;position:relative}.game-canvas{border:4px solid rgba(102,126,234,.5);border-radius:12px;box-shadow:0 0 30px #667eea4d,0 0 60px #764ba233;background:#000}.game-canvas:focus{outline:none;border-color:var(--theme-accent, #667eea);box-shadow:0 0 40px #667eea80,0 0 80px #764ba24d}.loading-overlay,.error-overlay,.disconnected-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#1a1a2ef2;padding:3rem 4rem;border-radius:16px;border:1px solid rgba(102,126,234,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.spinner{width:60px;height:60px;border:4px solid rgba(102,126,234,.2);border-top:4px solid var(--theme-accent, #667eea);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{font-size:1.1rem;color:#adb5bd}.error-icon{font-size:3rem;color:#dc3545;display:block;margin-bottom:1rem}.success-icon{font-size:3rem;color:#28a745;display:block;margin-bottom:1rem}.error-overlay h2,.disconnected-overlay h2{font-size:1.5rem;margin-bottom:.75rem}.error-message{color:#adb5bd;font-size:.95rem;max-width:400px;word-break:break-word;margin-bottom:1.5rem}.disconnected-overlay p{color:#adb5bd;margin-bottom:1.5rem}.error-close-button{padding:.75rem 2rem;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease}.error-close-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.game-footer{padding:1rem 2rem;background:#16213ee6;border-top:1px solid rgba(102,126,234,.3)}.controls-info{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.key-hint{display:flex;align-items:center;gap:.5rem;color:#adb5bd;font-size:.9rem}kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.25rem .5rem;font-family:Consolas,Monaco,monospace;font-size:.85rem;color:#fff}@media(max-width:768px){.game-header{flex-direction:column;gap:1rem;padding:1rem}.game-container{padding:1rem}.game-canvas{max-width:100%;height:auto}.controls-info{gap:1rem}.key-hint{font-size:.8rem}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);padding:20px;position:relative}.admin-login-page .theme-dropdown-wrapper{position:absolute;top:20px;right:20px}.login-container{background:var(--theme-text, white);border-radius:16px;box-shadow:0 10px 40px #0003;padding:40px;max-width:450px;width:100%}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:2rem;color:var(--theme-bg, #2d3748);margin-bottom:10px}.login-header h1 i{color:var(--theme-accent, #667eea)}.login-header p{font-size:1rem;color:color-mix(in srgb,var(--theme-bg, #718096) 70%,var(--theme-text, #fff))}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.95rem;font-weight:600;color:var(--theme-bg, #2d3748)}.form-group input{padding:12px 16px;font-size:1rem;border:2px solid color-mix(in srgb,var(--theme-bg, #e2e8f0) 20%,var(--theme-text, #fff));border-radius:8px;transition:all .2s;background:var(--theme-text, white);color:var(--theme-bg, #2d3748)}.form-group input:focus{outline:none;border-color:var(--theme-accent, #667eea);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent, #667eea) 20%,transparent)}.form-group input:disabled{background:color-mix(in srgb,var(--theme-bg, #f7fafc) 10%,var(--theme-text, #fff));cursor:not-allowed}.login-button{padding:14px;font-size:1.1rem;font-weight:600;color:var(--theme-text, white);background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);border:none;border-radius:8px;cursor:pointer;transition:all .3s;margin-top:10px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--theme-accent, #667eea) 40%,transparent)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-notice{margin-top:20px;padding:12px;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;text-align:center}.login-notice p{margin:0;font-size:.9rem;color:#c53030}.back-to-home{margin-top:20px;text-align:center}.back-to-home a{color:var(--theme-accent, #667eea);text-decoration:none;font-weight:600;transition:color .2s}.back-to-home a:hover{color:var(--theme-secondary, #764ba2);text-decoration:underline}.back-button{width:100%;padding:14px;background:#e2e8f0;color:#2d3748;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.back-button:hover{background:#cbd5e0;transform:translateY(-1px)}.back-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header .container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem}.logo{flex-shrink:0}.logo a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;transition:opacity .2s}.logo a:hover{opacity:.9}.page-title-wrapper{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}.page-title{font-size:1.2rem;font-weight:600;margin:0;white-space:nowrap}.header-right-section{display:flex;align-items:center;gap:1rem;margin-left:auto}.admin-login-link{font-size:1.5rem;text-decoration:none;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.admin-login-link:hover{background:#fff3;transform:scale(1.1)}.dropdown{position:relative;display:inline-block}.dropdown-toggle{background:none;border:none;color:#fff;font-weight:500;font-size:.95rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden;transition:all .3s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.dropdown-toggle:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.dropdown-menu{position:absolute;top:100%;right:0;left:auto;margin-top:.5rem;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #0003;border:1px solid rgba(255,255,255,.3);min-width:240px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000;overflow:visible}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:.75rem 1.25rem;color:#1a202c!important;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);white-space:nowrap}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;transform:translate(5px)}.dropdown-submenu{position:relative}.dropdown-item.has-submenu{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;gap:.5rem}.dropdown-item.has-submenu span{display:flex;align-items:center;gap:.5rem}.submenu-arrow{font-size:.7rem;transition:transform .2s}.dropdown-submenu:hover .submenu-arrow{transform:translate(-3px)}.dropdown-submenu:hover>.dropdown-item.has-submenu{background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff!important}.submenu{position:absolute;right:calc(100% + 5px);left:auto;top:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #00000040;border:1px solid rgba(0,0,0,.1);min-width:150px;opacity:0;visibility:hidden;transform:translate(10px);transition:all .25s ease;z-index:1002;padding:.5rem 0}.dropdown-submenu:hover>.submenu{opacity:1;visibility:visible;transform:translate(0)}.submenu .dropdown-item{padding:.6rem 1rem;font-size:.9rem;border-bottom:none}.submenu .dropdown-item:hover{transform:translate(3px)}.dropdown-item.disabled{color:#a0aec0!important;cursor:not-allowed;display:flex;justify-content:space-between;align-items:center}.dropdown-item.disabled:hover{background:transparent;color:#a0aec0!important;transform:none}.badge-coming-soon{display:inline-block;padding:.2rem .5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;font-size:.7rem;font-weight:600;border-radius:12px;margin-left:.5rem}.test-curriculum-container{padding:40px 20px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:calc(100vh - 80px)}.test-header{text-align:center;margin-bottom:40px}.test-header p{font-size:1.1rem;color:#718096}.loading-message{text-align:center;padding:60px 20px;font-size:1.2rem;color:#667eea}.curriculum-selector{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.curriculum-tab{padding:12px 30px;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.curriculum-tab:hover{transform:translateY(-2px)}.start-button{display:block;margin:0 auto;padding:16px 48px;font-size:1.2rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #667eea66}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.progress-section{margin:30px 0;padding:25px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.progress-text{font-size:1.1rem;color:#2d3748;margin-bottom:15px;font-weight:600}.progress-bar-container{width:100%;height:30px;background-color:#e2e8f0;border-radius:15px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-weight:600;font-size:.9rem}.results-summary{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.summary-card{flex:1;min-width:200px;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a}.summary-card.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.summary-card.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.summary-card.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404}.summary-card.turtle{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460}.summary-card.pygame{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.summary-number{font-size:2.5rem;font-weight:700;margin-bottom:5px}.summary-label{font-size:1rem;font-weight:600}.results-grid{display:grid;gap:20px}.result-card{padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.result-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.result-card.success{background:#f0fff4;border-left:4px solid #48bb78}.result-card.error{background:#fff5f5;border-left:4px solid #f56565}.result-card.skipped{background:#fffaf0;border-left:4px solid #ed8936}.result-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.result-header h3{margin:0;font-size:1.2rem;color:#2d3748;flex:1}.result-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.result-badge.input{background:#bee3f8;color:#2c5282}.result-badge.turtle{background:#c6f6d5;color:#22543d}.result-badge.pygame{background:#d4edda;color:#155724}.code-toggle{cursor:pointer;font-weight:600;color:#667eea;-webkit-user-select:none;user-select:none;padding:8px 0;display:inline-block}.code-toggle:hover{color:#764ba2}.code-block{background:#f7fafc;padding:15px;border-radius:8px;overflow:auto;margin:10px 0;border:1px solid #e2e8f0}.code-block pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5}.test-inputs{margin:10px 0;padding:10px 15px;background:#ebf8ff;border-radius:8px;border-left:3px solid #4299e1}.test-inputs p{margin:0;color:#2c5282;font-size:.95rem}.no-inputs-warning{margin:10px 0;padding:10px 15px;background:#fefcbf;border-radius:8px;border-left:3px solid #d69e2e}.no-inputs-warning p{margin:0;color:#744210;font-size:.95rem}.error-output{margin-top:15px}.error-output strong{color:#c53030;font-size:1rem}.error-output pre{background:#fed7d7;padding:15px;border-radius:8px;color:#742a2a;margin:10px 0 0;overflow:auto;border:1px solid #fc8181}.success-output{margin-top:15px}.success-output strong{color:#2f855a;font-size:1rem}.success-output pre{background:#c6f6d5;padding:15px;border-radius:8px;color:#22543d;margin:10px 0 0;white-space:pre-wrap;word-break:break-word;overflow:auto;border:1px solid #9ae6b4}.highlighted-code{background:#1e1e1e;padding:0;border-radius:8px;overflow:auto;margin:10px 0;border:1px solid #3e3e42;font-family:Consolas,Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6}.highlighted-code .code-line{display:flex;min-height:1.6em}.highlighted-code .code-line:hover{background:#ffffff0d}.highlighted-code .line-number{display:inline-block;min-width:3rem;padding:0 .75rem;text-align:right;color:#858585;-webkit-user-select:none;user-select:none;flex-shrink:0;background:#252526;border-right:1px solid #3e3e42}.highlighted-code .line-content{padding:0 1rem;white-space:pre;flex:1;color:#d4d4d4}.token-keyword{color:#569cd6;font-weight:500}.token-string{color:#ce9178}.token-comment{color:#6a9955;font-style:italic}.token-number{color:#b5cea8}.token-builtin,.token-function{color:#dcdcaa}.token-module{color:#4ec9b0}.token-decorator{color:#dcdcaa}.token-operator,.token-punctuation{color:#d4d4d4}.token-self{color:#9cdcfe}.token-class-name{color:#4ec9b0}@media(max-width:768px){.test-header h1{font-size:2rem}.results-summary{flex-direction:column}.summary-card{min-width:100%}.highlighted-code .line-number{min-width:2.5rem;padding:0 .5rem}.highlighted-code .line-content{padding:0 .5rem;font-size:.8rem}}.dashboard-overview{padding:20px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#666}.loading-spinner{font-size:32px;animation:spin 1s linear infinite;margin-bottom:16px;color:var(--theme-accent, #667eea)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.period-selector{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;background:#f7f8fc;border-radius:12px}.period-selector span{color:#666;font-weight:500;margin-right:8px}.period-selector button{padding:8px 16px;border:none;background:transparent;color:#666;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.period-selector button:hover{background:#e5e7eb}.period-selector button.active{background:var(--theme-accent, #667eea);color:#fff}.period-selector .refresh-btn{margin-left:auto;padding:8px 12px}.period-selector .refresh-btn:hover{background:var(--theme-accent, #667eea);color:#fff}.stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a}.stat-card .stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-card.primary .stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.info .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card.success .stat-icon{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.stat-card.warning .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-card .stat-info{display:flex;flex-direction:column}.stat-card .stat-label{font-size:13px;color:#888;margin-bottom:4px}.stat-card .stat-value{font-size:28px;font-weight:700;color:#2d3748}.secondary-stats{display:flex;gap:24px;margin-bottom:24px;padding:16px 20px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px}.secondary-stat{display:flex;align-items:center;gap:8px;color:#555;font-size:14px}.secondary-stat i{color:var(--theme-accent, #667eea)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.chart-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 12px #0000000f}.chart-card.small{max-width:100%}.chart-card h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;color:#2d3748;font-weight:600}.chart-card h3 i{color:var(--theme-accent, #667eea)}.chart-card svg{display:block;margin:0 auto}.no-data{display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:14px}.device-chart-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px}.device-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#555}.legend-color{width:12px;height:12px;border-radius:3px}.hourly-heatmap-section{margin-bottom:24px}.chart-card.full-width{width:100%}.chart-description{margin:0 0 16px;font-size:13px;color:#888}.heatmap-cell{cursor:pointer;transition:opacity .2s ease}.heatmap-cell:hover{opacity:.8;stroke:#333;stroke-width:1}.distribution-section{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.distribution-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 12px #0000000f}.distribution-card h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;color:#2d3748;font-weight:600}.distribution-card h3 i{color:var(--theme-accent, #667eea)}.distribution-list{display:flex;flex-direction:column;gap:8px}.distribution-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f7f8fc;border-radius:8px;transition:background .2s ease}.distribution-item:hover{background:#eef0f7}.dist-name{font-size:14px;color:#2d3748;font-weight:500}.dist-count{font-size:14px;color:var(--theme-accent, #667eea);font-weight:600}.recent-activity-section{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 12px #0000000f}.recent-activity-section h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;color:#2d3748;font-weight:600}.recent-activity-section h3 i{color:var(--theme-accent, #667eea)}.activity-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f7f8fc;border-radius:10px;transition:background .2s ease}.activity-item:hover{background:#eef0f7}.activity-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-item.page_view .activity-icon{background:#667eea26;color:#667eea}.activity-item.code_execution .activity-icon{background:#48bb7826;color:#48bb78}.activity-content{flex:1;min-width:0}.activity-detail{display:block;font-size:13px;color:#2d3748;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-title{display:block;font-size:12px;color:#888;margin-top:2px}.activity-time{font-size:12px;color:#999;white-space:nowrap}@media(max-width:1200px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-cards,.charts-grid,.distribution-section{grid-template-columns:1fr}.secondary-stats{flex-wrap:wrap}}.admin-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#667eea}.admin-info{display:flex;align-items:center;gap:1rem;margin-left:auto}.admin-username{color:#fff;font-weight:600;font-size:1rem}.logout-button{padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.logout-button:hover{background:#ffffff4d;transform:translateY(-1px)}.security-button{padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.security-button:hover{background:#ffffff4d;transform:translateY(-1px)}.admin-info .dropdown{position:relative;display:inline-block}.admin-info .dropdown-toggle{background:none;border:none;color:#fff;font-weight:500;font-size:.95rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden;transition:all .3s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.admin-info .dropdown-toggle:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.admin-info .dropdown-menu{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #0003;border:1px solid rgba(255,255,255,.3);min-width:240px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000;overflow:visible}.admin-info .dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.admin-info .dropdown-item{display:block;padding:.75rem 1.25rem;color:#1a202c!important;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);white-space:nowrap}.admin-info .dropdown-item:last-child{border-bottom:none}.admin-info .dropdown-item:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;transform:translate(5px)}.admin-info .dropdown-item.disabled{color:#a0aec0!important;cursor:not-allowed;display:flex;justify-content:space-between;align-items:center}.admin-info .dropdown-item.disabled:hover{background:transparent;color:#a0aec0!important;transform:none}.admin-info .badge-coming-soon{display:inline-block;padding:.2rem .5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;font-size:.7rem;font-weight:600;border-radius:12px;margin-left:.5rem}.admin-info .dropdown-submenu{position:relative}.admin-info .dropdown-item.has-submenu{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;padding:.75rem 1.25rem;gap:.5rem}.admin-info .dropdown-item.has-submenu span{display:flex;align-items:center;gap:.5rem}.admin-info .submenu-arrow{font-size:.7rem;transition:transform .2s}.admin-info .dropdown-submenu:hover .submenu-arrow{transform:translate(-3px)}.admin-info .dropdown-submenu:hover>.dropdown-item.has-submenu{background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:#fff!important}.admin-info .submenu{position:absolute;left:calc(100% + 5px);right:auto;top:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #00000040;border:1px solid rgba(0,0,0,.1);min-width:150px;opacity:0;visibility:hidden;transform:translate(-10px);transition:all .25s ease;z-index:1002;padding:.5rem 0}.admin-info .dropdown-submenu:hover>.submenu{opacity:1;visibility:visible;transform:translate(0)}.admin-info .submenu .dropdown-item{padding:.6rem 1rem;font-size:.9rem;border-bottom:none}.admin-info .submenu .dropdown-item:hover{transform:translate(3px)}.admin-dashboard-layout{display:flex;min-height:calc(100vh - 80px);margin-top:80px}.admin-sidebar{width:250px;background:#fff;border-right:1px solid #e2e8f0;padding:2rem 0;position:fixed;left:0;top:80px;bottom:0;overflow-y:auto}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.sidebar-menu-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:none;border:none;border-radius:8px;font-size:1rem;font-weight:500;color:#4a5568;cursor:pointer;transition:all .3s;text-align:left;width:100%}.sidebar-menu-item:hover{background:#667eea1a;color:#667eea;transform:translate(5px)}.sidebar-menu-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.menu-icon{font-size:1.5rem;flex-shrink:0}.menu-text{flex:1}.admin-main-content{flex:1;margin-left:250px;padding:2rem;background:#f7fafc;min-height:calc(100vh - 80px)}.test-page-embedded{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.test-page-embedded .test-curriculum-container{padding:20px;min-height:auto}.test-page-container{width:100%;height:calc(100vh - 280px);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;margin-top:20px}.test-iframe{width:100%;height:100%;border:none}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.stat-card.total{border-left:4px solid #667eea}.stat-card.resolved{border-left:4px solid #48bb78}.stat-card.unresolved{border-left:4px solid #f56565}.stat-icon{font-size:2.5rem}.stat-content h3{margin:0;font-size:.9rem;color:#718096;font-weight:600}.stat-number{margin:4px 0 0;font-size:2rem;font-weight:700;color:#2d3748}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.quick-link-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;text-decoration:none;display:flex;align-items:center;gap:12px;transition:all .3s;box-shadow:0 2px 8px #667eea4d}.quick-link-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #667eea66}.link-icon{font-size:2rem}.link-text{font-size:1.1rem;font-weight:600}.errors-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.errors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.errors-section h2{margin:0;font-size:1.5rem;color:#2d3748}.header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.filter-buttons{display:flex;gap:10px}.filter-btn{padding:8px 16px;border:2px solid #e2e8f0;background:#fff;color:#4a5568;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s}.filter-btn:hover{border-color:#667eea;color:#667eea;background:#667eea0d}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 2px 8px #667eea4d}.batch-test-btn{padding:10px 20px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #f5576c4d;white-space:nowrap}.batch-test-btn:hover:not(:disabled){background:linear-gradient(135deg,#e082ea,#e4465b);transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.batch-test-btn:disabled{opacity:.6;cursor:not-allowed}.batch-test-btn.auto-fix{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d}.batch-test-btn.auto-fix:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b);box-shadow:0 4px 12px #667eea66}.no-errors{text-align:center;padding:60px 20px;color:#718096;font-size:1.1rem}.errors-table{overflow-x:auto}.errors-table table{width:100%;border-collapse:collapse}.errors-table th{background:#f7fafc;padding:12px;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.errors-table td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left}.errors-table td input[type=checkbox],.errors-table th input[type=checkbox]{cursor:pointer;width:18px;height:18px}.errors-table tr:hover{background:#f7fafc}.errors-table tr.resolved{opacity:.6}.error-type{display:inline-block;padding:4px 8px;background:#fed7d7;color:#c53030;border-radius:4px;font-size:.85rem;font-weight:600}.error-location{font-size:.9rem}.activity-name{color:#718096;font-size:.85rem;margin-top:2px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.resolved{background:#c6f6d5;color:#22543d}.status-badge.unresolved{background:#fed7d7;color:#c53030}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-view,.btn-toggle,.btn-test,.btn-auto-fix{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-view{background:#667eea;color:#fff}.btn-view:hover{background:#5568d3;transform:translateY(-1px)}.btn-test{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;box-shadow:0 2px 4px #48bb784d}.btn-test:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-1px);box-shadow:0 4px 8px #48bb7866}.btn-test:disabled{opacity:.6;cursor:not-allowed}.btn-auto-fix{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.btn-auto-fix:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b);transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.btn-auto-fix:disabled{opacity:.6;cursor:not-allowed}.btn-toggle{background:#e2e8f0;color:#2d3748}.btn-toggle:hover{background:#cbd5e0;transform:translateY(-1px)}.execution-modal{max-width:900px!important}.execution-result{margin-top:20px}.execution-result h3{color:#2d3748;margin-bottom:15px;font-size:1.2rem}.turtle-animation-display,.pygame-display{text-align:center}.turtle-animation-display img,.pygame-display img{max-width:100%;height:auto;box-shadow:0 4px 12px #0000001a}.execution-error{margin-top:15px}.execution-error h4{margin-bottom:10px;color:#c53030}.execution-error pre{white-space:pre-wrap;word-wrap:break-word;font-size:.9rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;color:#2d3748}.modal-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:24px}.detail-row{margin-bottom:20px}.detail-row strong{display:block;margin-bottom:8px;color:#2d3748;font-size:.95rem}.detail-row span{color:#4a5568}.error-message,.code-block{background:#f7fafc;padding:12px;border-radius:6px;border:1px solid #e2e8f0;font-family:Courier New,monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-word;color:#2d3748;margin:0}.user-agent{font-size:.85rem;color:#718096;word-break:break-all}.security-section{margin-bottom:40px}.security-section h2{font-size:1.5rem;margin-bottom:20px;color:#2d3748}.security-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:20px}.security-info h3{font-size:1.2rem;margin-bottom:10px;color:#2d3748}.security-info p{color:#718096;margin-bottom:10px}.security-status{font-weight:600}.status-enabled{color:#48bb78}.status-disabled{color:#f56565}.security-actions{flex-shrink:0}.btn-enable-2fa,.btn-disable-2fa{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-enable-2fa{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-enable-2fa:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-disable-2fa{background:linear-gradient(135deg,#f56565,#c53030);color:#fff}.btn-disable-2fa:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5656566}.security-modal{max-width:600px}.security-modal .security-card{box-shadow:none;border:1px solid #e2e8f0}.setup-2fa-modal{max-width:600px;max-height:90vh;overflow-y:auto}.setup-steps{display:flex;flex-direction:column;gap:30px;margin-bottom:30px}.setup-step{padding:20px;background:#f7fafc;border-radius:8px;border-left:4px solid #667eea}.setup-step h3{font-size:1.1rem;margin-bottom:10px;color:#2d3748}.setup-step p{color:#718096;margin-bottom:15px}.app-links{display:flex;gap:15px}.app-links a{padding:10px 20px;background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;text-decoration:none;font-weight:600;transition:all .2s}.app-links a:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.qr-code-container{display:flex;justify-content:center;padding:20px;background:#fff;border-radius:8px;margin:15px 0}.qr-code-container img{max-width:250px;height:auto}.secret-key{text-align:center;margin-top:10px}.secret-key code{background:#fff;padding:8px 12px;border-radius:4px;font-family:Courier New,monospace;color:#667eea;font-weight:600}.verify-code-input{width:100%;padding:12px;font-size:1.2rem;text-align:center;border:2px solid #e2e8f0;border-radius:8px;letter-spacing:.5em;font-family:Courier New,monospace}.verify-code-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.btn-confirm,.btn-cancel{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-cancel{background:#e2e8f0;color:#2d3748}.btn-cancel:hover{background:#cbd5e0;transform:translateY(-2px)}.new-themes{--bg: #0b0f1c;--text: #f8fafc;--muted: rgba(248, 250, 252, .7);--card: rgba(15, 23, 42, .8);--stroke: rgba(148, 163, 184, .25);--accent: #f97316;min-height:100vh;padding:80px 6vw 120px;color:var(--text);background:radial-gradient(circle at top left,#1e293b,#0b0f1c 55%,#05070f);font-family:Space Grotesk,IBM Plex Sans,sans-serif;position:relative;overflow:hidden}.new-themes:before,.new-themes:after{content:"";position:absolute;inset:-40% -20%;background:radial-gradient(circle,rgba(56,189,248,.2),transparent 55%);opacity:.6;animation:drift 18s ease-in-out infinite;pointer-events:none}.new-themes:after{inset:-50% -10% 0;background:radial-gradient(circle,rgba(236,72,153,.16),transparent 60%);animation-delay:-6s}.new-themes__hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:stretch;margin-bottom:64px}.new-themes__hero-content{padding:48px;border:1px solid var(--stroke);background:#0f172aa6;border-radius:28px;box-shadow:0 30px 60px #050a198c;animation:rise 1s ease both}.new-themes__eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--accent);margin-bottom:16px}.new-themes__hero h1{font-family:Fraunces,Cormorant Garamond,serif;font-size:clamp(2.5rem,4vw,4rem);margin-bottom:18px}.new-themes__lede{font-size:1.05rem;color:var(--muted);max-width:520px;margin-bottom:28px}.new-themes__hero-actions{display:flex;flex-wrap:wrap;gap:14px}.new-themes__primary,.new-themes__ghost,.new-themes__cta{border-radius:999px;border:1px solid transparent;padding:12px 22px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.new-themes__primary{background:#f97316;color:#0b0f1c;box-shadow:0 14px 24px #f9731659}.new-themes__ghost{background:transparent;color:var(--text);border-color:#f8fafc66}.new-themes__primary:hover,.new-themes__ghost:hover,.new-themes__cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px #0f172a66}.new-themes__hero-card{padding:40px;border-radius:30px;background:linear-gradient(150deg,#0f172af2,#1e293bcc);border:1px solid rgba(56,189,248,.25);display:flex;flex-direction:column;gap:18px;justify-content:center;position:relative;overflow:hidden;animation:rise 1s ease both .2s}.new-themes__hero-card:after{content:"";position:absolute;inset:20% 15% auto auto;width:120px;height:120px;background:radial-gradient(circle,rgba(249,115,22,.7),transparent 70%);filter:blur(2px)}.new-themes__hero-tag{align-self:flex-start;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#38bdf8}.new-themes__hero-card h2{font-family:Orbitron,Space Grotesk,sans-serif;font-size:2rem}.new-themes__hero-palette{display:flex;gap:10px}.new-themes__hero-palette span,.new-themes__palette span{width:36px;height:36px;border-radius:50%;border:1px solid rgba(248,250,252,.4)}.new-themes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.new-themes__card{border-radius:24px;padding:28px;background:var(--card);border:1px solid var(--stroke);display:flex;flex-direction:column;gap:18px;min-height:320px;animation:card-in .8s ease both}.new-themes__card:nth-child(2){animation-delay:.05s}.new-themes__card:nth-child(3){animation-delay:.1s}.new-themes__card:nth-child(4){animation-delay:.15s}.new-themes__card:nth-child(5){animation-delay:.2s}.new-themes__card:nth-child(6){animation-delay:.25s}.new-themes__card:nth-child(7){animation-delay:.3s}.new-themes__card:nth-child(8){animation-delay:.35s}.new-themes__card:nth-child(9){animation-delay:.4s}.new-themes__card:nth-child(10){animation-delay:.45s}.new-themes__card-header h3{font-family:Alegreya,Cormorant Garamond,serif;font-size:1.5rem}.new-themes__card-vibe{color:var(--muted);margin-top:6px}.new-themes__palette{display:flex;gap:10px}.new-themes__meta{display:grid;gap:12px;font-size:.9rem;color:var(--muted)}.new-themes__meta div{display:grid;gap:4px}.new-themes__meta dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}.new-themes__meta dd{margin:0}.new-themes__cta{margin-top:auto;background:transparent;border:1px solid rgba(248,250,252,.35);color:var(--text)}@keyframes rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(5%,-6%,0)}}@media(max-width:960px){.new-themes__hero{grid-template-columns:1fr}.new-themes__hero-content,.new-themes__hero-card{padding:32px}}@media(max-width:600px){.new-themes{padding:60px 6vw 90px}.new-themes__hero-actions{flex-direction:column;align-items:stretch}.new-themes__hero-palette span,.new-themes__palette span{width:28px;height:28px}}.theme-preview{min-height:100vh;background:var(--preview-bg);color:var(--preview-text);font-family:Space Grotesk,IBM Plex Sans,sans-serif;display:flex;flex-direction:column;position:relative}.theme-preview__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:linear-gradient(135deg,var(--preview-accent),var(--preview-secondary));color:var(--preview-bg);gap:1rem;flex-wrap:wrap}.theme-preview__back{background:#fff3;border:none;color:inherit;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.theme-preview__back:hover{background:#ffffff4d;transform:translate(-4px)}.theme-preview__header-center{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}.theme-preview__badge{background:var(--preview-bg);color:var(--preview-accent);padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:700}.theme-preview__header h1{font-size:1.3rem;margin:0;font-weight:700}.theme-preview__nav{display:flex;align-items:center;gap:.5rem}.theme-preview__nav button{background:#fff3;border:none;color:inherit;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.theme-preview__nav button:hover:not(:disabled){background:#ffffff4d}.theme-preview__nav button:disabled{opacity:.4;cursor:not-allowed}.theme-preview__nav span{font-weight:600;padding:0 .5rem}.theme-preview__main{flex:1;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;max-width:1600px;margin:0 auto;width:100%}.theme-preview__info{background:color-mix(in srgb,var(--preview-text) 10%,transparent);border-radius:16px;padding:1.5rem 2rem;border:1px solid color-mix(in srgb,var(--preview-text) 20%,transparent)}.theme-preview__info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.theme-preview__info-header h2{margin:0;font-size:1.5rem;color:var(--preview-text)}.theme-preview__progress{display:flex;align-items:center;gap:.75rem}.theme-preview__progress span{background:var(--preview-accent);color:var(--preview-bg);padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.theme-preview__progress button{background:color-mix(in srgb,var(--preview-secondary) 30%,transparent);border:none;color:var(--preview-text);padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.85rem}.theme-preview__description{color:color-mix(in srgb,var(--preview-text) 80%,transparent);margin:0 0 1rem;line-height:1.6}.theme-preview__concepts{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.theme-preview__concepts strong{color:color-mix(in srgb,var(--preview-text) 70%,transparent)}.theme-preview__tag{background:var(--preview-accent);color:var(--preview-bg);padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:500}.theme-preview__editors{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.theme-preview__example,.theme-preview__editor{background:color-mix(in srgb,var(--preview-text) 5%,transparent);border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--preview-text) 15%,transparent)}.theme-preview__section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:color-mix(in srgb,var(--preview-text) 10%,transparent);font-weight:600}.theme-preview__section-header--primary{background:linear-gradient(135deg,var(--preview-accent),var(--preview-secondary));color:var(--preview-bg)}.theme-preview__section-header button{background:color-mix(in srgb,var(--preview-bg) 20%,transparent);border:none;color:inherit;padding:.4rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.theme-preview__section-header button:hover{background:color-mix(in srgb,var(--preview-bg) 30%,transparent)}.theme-preview__run-btn{background:var(--preview-secondary)!important;color:var(--preview-bg)!important}.theme-preview__code{margin:0;padding:1.5rem;font-family:Source Code Pro,Space Mono,monospace;font-size:.9rem;line-height:1.7;color:var(--preview-text);white-space:pre-wrap;overflow-x:auto}.theme-preview__editor-area{padding:1.5rem;min-height:200px;font-family:Source Code Pro,Space Mono,monospace;background:color-mix(in srgb,var(--preview-bg) 50%,#1a1a2e);display:flex;align-items:flex-start;gap:.5rem}.theme-preview__cursor{color:var(--preview-accent);animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.theme-preview__placeholder{color:color-mix(in srgb,var(--preview-text) 40%,transparent);font-style:italic}.theme-preview__output{background:color-mix(in srgb,var(--preview-text) 5%,transparent);border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--preview-text) 15%,transparent)}.theme-preview__output-content{padding:1.5rem;min-height:100px;font-family:Source Code Pro,Space Mono,monospace}.theme-preview__output-placeholder{color:color-mix(in srgb,var(--preview-text) 50%,transparent);font-style:italic;margin:0}.theme-preview__overlay{position:fixed;bottom:2rem;right:2rem;z-index:100}.theme-preview__overlay-content{background:color-mix(in srgb,var(--preview-bg) 95%,var(--preview-text));border:1px solid color-mix(in srgb,var(--preview-accent) 50%,transparent);border-radius:16px;padding:1.5rem;max-width:320px;box-shadow:0 20px 40px #0006;animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.theme-preview__overlay-content h3{margin:0 0 .5rem;font-size:1.2rem;color:var(--preview-accent)}.theme-preview__overlay-content>p{margin:0 0 1rem;color:color-mix(in srgb,var(--preview-text) 70%,transparent);font-size:.9rem}.theme-preview__overlay-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--preview-text) 20%,transparent)}.theme-preview__overlay-meta strong{color:var(--preview-accent)}.theme-preview__overlay-palette{display:flex;flex-wrap:wrap;gap:.75rem}.theme-preview__color-chip{display:flex;align-items:center;gap:.5rem}.theme-preview__color-chip span{width:24px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--preview-text) 30%,transparent)}.theme-preview__color-chip code{font-size:.75rem;color:color-mix(in srgb,var(--preview-text) 60%,transparent)}@media(max-width:960px){.theme-preview__editors{grid-template-columns:1fr}.theme-preview__header{padding:1rem}.theme-preview__header h1{font-size:1rem}.theme-preview__overlay{bottom:1rem;right:1rem;left:1rem}.theme-preview__overlay-content{max-width:none}}@media(max-width:600px){.theme-preview__header-center{order:-1;width:100%;justify-content:flex-start}.theme-preview__main,.theme-preview__info{padding:1rem}}.curriculum-select-page{min-height:100vh;background:linear-gradient(135deg,var(--theme-text, #f5f7fa) 0%,color-mix(in srgb,var(--theme-text, #e4e8eb) 90%,var(--theme-bg, #000)) 100%)}.curriculum-select-page .header{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.curriculum-select-page .header .container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem}.curriculum-select-page .logo{flex-shrink:0}.curriculum-select-page .logo a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.curriculum-select-page .logo-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#fffffff2;color:var(--theme-accent);font-size:.7rem;font-weight:800;letter-spacing:-.5px;border-radius:6px;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.curriculum-select-page .logo:hover .logo-icon{background:#fff;transform:rotate(-5deg);box-shadow:0 4px 12px #0003}.curriculum-select-page .page-title-wrapper{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}.curriculum-select-page .page-title{font-size:1.2rem;font-weight:600;margin:0;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.curriculum-select-page .header-right-section{display:flex;align-items:center;gap:1rem;margin-left:auto}.curriculum-select-page .nav-link{color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;display:inline-flex;align-items:center;gap:5px}.curriculum-select-page .nav-link:hover{background:#fff3;transform:translateY(-2px)}.curriculum-select-page .home-link{background:#ffffff1a}.curriculum-select-page .home-link:hover{background:#ffffff40}.curriculum-select-page .admin-login-link{font-size:1.5rem;color:#fff;text-decoration:none;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.curriculum-select-page .admin-login-link:hover{background:#fff3;transform:scale(1.1)}.curriculum-main{max-width:1400px;margin:0 auto;padding:2rem}.curriculum-hero{text-align:center;margin-bottom:2rem;padding-top:1rem}.curriculum-hero h1{font-size:2.5rem;color:var(--theme-bg, #2d3748);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.curriculum-hero h1 i{color:var(--theme-accent, #667eea)}.curriculum-hero p{font-size:1.2rem;color:color-mix(in srgb,var(--theme-bg, #718096) 70%,var(--theme-text, #fff))}.curriculum-hero .hero-description{font-size:1.1rem;color:var(--theme-bg, #4a5568);margin:0;padding:.5rem 1rem;background:#ffffffb3;border-radius:8px;display:inline-block}.type-selector{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem}.type-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:2px solid color-mix(in srgb,var(--theme-bg, #e2e8f0) 20%,var(--theme-text, #fff));border-radius:12px;background:var(--theme-text, white);color:var(--theme-bg, #4a5568);cursor:pointer;transition:all .3s ease}.type-btn:hover{border-color:var(--theme-accent, #667eea);color:var(--theme-accent, #667eea)}.type-btn.active{background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:var(--theme-text, white);border-color:transparent;box-shadow:0 4px 15px color-mix(in srgb,var(--theme-accent, #667eea) 40%,transparent)}.type-btn i{font-size:1.3rem}.curriculum-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:4rem}.curriculum-card{background:var(--theme-text, white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;cursor:pointer;transition:all .3s ease}.curriculum-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.curriculum-card .card-header{padding:2rem;display:flex;justify-content:space-between;align-items:flex-start;color:var(--theme-text, white)}.curriculum-card .grade-badge{background:#ffffff40;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.curriculum-card .card-header i{font-size:3rem;opacity:.9}.curriculum-card .card-body{padding:1.5rem 2rem}.curriculum-card h3{font-size:1.4rem;color:var(--theme-bg, #2d3748);margin-bottom:.5rem}.curriculum-card .description{color:color-mix(in srgb,var(--theme-bg, #718096) 60%,var(--theme-text, #fff));font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.curriculum-card .stats{display:flex;gap:1.5rem;margin-bottom:1.5rem}.curriculum-card .stat{display:flex;align-items:center;gap:.5rem;color:color-mix(in srgb,var(--theme-bg, #4a5568) 70%,var(--theme-text, #fff));font-size:.9rem}.curriculum-card .stat i{color:var(--theme-accent, #667eea)}.curriculum-card .topics h4{font-size:.85rem;color:color-mix(in srgb,var(--theme-bg, #a0aec0) 50%,var(--theme-text, #fff));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.curriculum-card .topics ul{list-style:none;padding:0;margin:0}.curriculum-card .topics li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.9rem;color:color-mix(in srgb,var(--theme-bg, #4a5568) 70%,var(--theme-text, #fff))}.curriculum-card .topics li i{color:#48bb78;font-size:.8rem}.curriculum-card .topics li.more{color:color-mix(in srgb,var(--theme-bg, #a0aec0) 50%,var(--theme-text, #fff));font-style:italic}.curriculum-card .card-footer{padding:1.5rem 2rem;border-top:1px solid color-mix(in srgb,var(--theme-bg, #e2e8f0) 20%,var(--theme-text, #fff))}.curriculum-card .start-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:10px;background:linear-gradient(135deg,var(--theme-accent, #667eea) 0%,var(--theme-secondary, #764ba2) 100%);color:var(--theme-text, white);cursor:pointer;transition:all .3s ease}.curriculum-card .start-btn:hover{transform:scale(1.02);box-shadow:0 4px 15px color-mix(in srgb,var(--theme-accent, #667eea) 40%,transparent)}.curriculum-card.elementary .card-header{background:linear-gradient(135deg,#667eea,#764ba2)}.curriculum-card.middle .card-header{background:linear-gradient(135deg,#11998e,#38ef7d)}.curriculum-card.high .card-header{background:linear-gradient(135deg,#ee0979,#ff6a00)}.info-section{background:var(--theme-text, white);border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #00000014}.info-section h2{font-size:1.5rem;color:var(--theme-bg, #2d3748);margin-bottom:2rem;display:flex;align-items:center;gap:.75rem}.info-section h2 i{color:var(--theme-accent, #667eea)}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.info-card{padding:1.5rem;border-radius:12px;border-left:4px solid}.info-card.elementary{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left-color:#667eea}.info-card.middle{background:linear-gradient(135deg,#11998e1a,#38ef7d1a);border-left-color:#11998e}.info-card.high{background:linear-gradient(135deg,#ee09791a,#ff6a001a);border-left-color:#ee0979}.info-card h3{font-size:1.1rem;color:var(--theme-bg, #2d3748);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.info-card.elementary h3 i{color:#667eea}.info-card.middle h3 i{color:#11998e}.info-card.high h3 i{color:#ee0979}.info-card p{color:color-mix(in srgb,var(--theme-bg, #4a5568) 70%,var(--theme-text, #fff));font-size:.9rem;line-height:1.6}.curriculum-select-page .dropdown{position:relative;display:inline-block}.curriculum-select-page .dropdown-toggle{background:none;border:none;color:#fff;font-weight:500;font-size:.95rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;position:relative;overflow:hidden;transition:all .3s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.curriculum-select-page .dropdown-toggle:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.curriculum-select-page .dropdown-menu{position:absolute;top:100%;right:0;left:auto;margin-top:.5rem;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #0003;border:1px solid rgba(255,255,255,.3);min-width:240px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000;overflow:visible}.curriculum-select-page .dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.curriculum-select-page .dropdown-item{display:block;padding:.75rem 1.25rem;color:#1a202c!important;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05);white-space:nowrap}.curriculum-select-page .dropdown-item:last-child{border-bottom:none}.curriculum-select-page .dropdown-item:hover{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important;transform:translate(5px)}.curriculum-select-page .dropdown-submenu{position:relative}.curriculum-select-page .dropdown-item.has-submenu{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;gap:.5rem}.curriculum-select-page .dropdown-item.has-submenu span{display:flex;align-items:center;gap:.5rem}.curriculum-select-page .submenu-arrow{font-size:.7rem;transition:transform .2s}.curriculum-select-page .dropdown-submenu:hover .submenu-arrow{transform:translate(-3px)}.curriculum-select-page .dropdown-submenu:hover>.dropdown-item.has-submenu{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff!important}.curriculum-select-page .submenu{position:absolute;right:calc(100% + 5px);left:auto;top:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 8px 24px #00000040;border:1px solid rgba(0,0,0,.1);min-width:150px;opacity:0;visibility:hidden;transform:translate(10px);transition:all .25s ease;z-index:1002;padding:.5rem 0}.curriculum-select-page .dropdown-submenu:hover>.submenu{opacity:1;visibility:visible;transform:translate(0)}.curriculum-select-page .submenu .dropdown-item{padding:.6rem 1rem;font-size:.9rem;border-bottom:none}.curriculum-select-page .submenu .dropdown-item:hover{transform:translate(3px)}.curriculum-select-page .help-section{margin-top:2rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.curriculum-select-page .help-header{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:1rem 1.5rem;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;transition:all .3s ease}.curriculum-select-page .help-header:hover{background:linear-gradient(135deg,#f5576c,#f093fb);box-shadow:0 4px 12px #f093fb66}.curriculum-select-page .search-box{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;align-items:stretch}.curriculum-select-page .search-input{flex:1;min-width:0;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .3s ease;outline:none}.curriculum-select-page .search-input:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px #667eea1a}.curriculum-select-page .search-input::placeholder{color:#a0aec0}.curriculum-select-page .search-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #667eea4d;flex-shrink:0}.curriculum-select-page .search-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.curriculum-select-page .search-button:disabled{opacity:.6;cursor:not-allowed}.curriculum-select-page .help-links{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.curriculum-select-page .search-results-header{padding:.75rem 1rem;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;font-weight:600;font-size:1rem;border-radius:8px;margin-bottom:.5rem;text-align:center;box-shadow:0 2px 8px #667eea4d}.curriculum-select-page .help-link{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:inherit;transition:all .3s ease;border:2px solid transparent}.curriculum-select-page .help-link:hover{background:#fff;border-color:var(--theme-accent);transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.curriculum-select-page .link-icon{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.curriculum-select-page .link-content{flex:1;min-width:0}.curriculum-select-page .link-title{font-weight:600;font-size:.95rem;color:#2d3748;margin-bottom:.25rem}.curriculum-select-page .link-description{font-size:.85rem;color:#718096;line-height:1.4}.curriculum-select-page .no-results{padding:2rem 1rem;text-align:center;color:#718096;font-size:.9rem}.curriculum-select-page .search-placeholder{padding:2rem 1rem;text-align:center;color:#a0aec0;font-size:.95rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;margin:1rem}@media(max-width:768px){.curriculum-hero h1{font-size:1.8rem}.type-selector{flex-direction:column}.type-btn{width:100%;justify-content:center}.curriculum-cards,.info-cards{grid-template-columns:1fr}.curriculum-select-page .help-section{margin-top:1.5rem}.curriculum-select-page .search-box{flex-direction:column}.curriculum-select-page .search-input,.curriculum-select-page .search-button{width:100%}}:root{--theme-bg: #1a202c;--theme-text: #f7fafc;--theme-accent: #667eea;--theme-secondary: #764ba2}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:1rem 0;box-shadow:0 2px 10px #0000001a;z-index:1000}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem;font-weight:700;margin:0}.nav{display:flex;gap:2rem}.nav a{color:#fff;text-decoration:none;font-weight:500;transition:opacity .3s}.nav a:hover{opacity:.8}.hero{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:8rem 0 5rem;text-align:center;margin-top:60px}.hero-title{font-size:3.5rem;margin:0 0 1rem;font-weight:800}.hero-subtitle{font-size:1.3rem;margin:0 0 2rem;line-height:1.8;opacity:.95}.hero-subtitle strong{color:gold;font-weight:700}.hero-badges{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.badge{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1.5rem;border-radius:50px;font-size:.95rem;font-weight:500}.features{padding:5rem 0;background:#f8f9fa;flex:1}.section-title{text-align:center;font-size:2.5rem;margin:0 0 3rem;color:#2d3748}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 6px #00000012;transition:transform .3s,box-shadow .3s;position:relative;display:flex;flex-direction:column}.feature-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #00000026}.feature-card.featured{border:2px solid var(--theme-accent)}.feature-badge{position:absolute;top:-12px;right:20px;background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff;padding:.3rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600}.feature-icon{font-size:3.5rem;margin-bottom:1rem}.feature-card h4{font-size:1.5rem;margin:0 0 .5rem;color:#2d3748}.feature-card p{color:#718096;margin:0 0 1.5rem;line-height:1.6}.feature-list{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}.feature-list li{color:#4a5568;position:relative;padding:.5rem 0 .5rem 1.5rem}.feature-list li:before{content:"✓";position:absolute;left:0;color:#48bb78;font-weight:700}.btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;width:100%}.btn-primary{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-secondary) 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px color-mix(in srgb,var(--theme-accent) 30%,transparent)}.about{padding:5rem 0;background:#fff}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;margin-top:3rem}.about-item{text-align:center}.about-icon{font-size:3rem;margin-bottom:1rem}.about-item h5{font-size:1.3rem;margin:0 0 .5rem;color:#2d3748}.about-item p{color:#718096;line-height:1.6;margin:0}.footer{background:#2d3748;color:#fff;padding:2rem 0;text-align:center;margin-top:auto}.footer p{margin:.5rem 0;opacity:.8}.footer-links{margin-top:1rem}.footer-links a{color:var(--theme-accent);text-decoration:none;font-weight:500;transition:color .3s}.footer-links a:hover{color:var(--theme-secondary)}.footer-made-by{margin-top:.5rem;font-size:.9rem;color:#718096}.footer-made-by a{color:var(--theme-accent);text-decoration:none;font-weight:600;transition:color .3s}.footer-made-by a:hover{color:var(--theme-secondary);text-decoration:underline}@media(max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.section-title{font-size:2rem}.feature-grid,.about-grid{grid-template-columns:1fr}.nav{gap:1rem}.container{padding:0 1rem}}
