.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e1b4b)}.login-card{width:100%;max-width:420px;background:#1e293bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-header .logo{width:80px;height:80px;margin:0 auto 16px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#1e1b4b}.login-header h1{font-size:1.8rem;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:#94a3b8;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:500;color:#cbd5e1}.form-group input{padding:14px 16px;background:#0f172a80;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f8fafc;font-size:1rem;transition:all .2s}.form-group input::placeholder{color:#64748b}.form-group input:focus{outline:none;border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf241a}.error-message{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:10px;font-weight:600;font-size:1rem;transition:all .2s;cursor:pointer;border:none}.login-btn.primary{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e1b4b}.login-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #fbbf2466}.login-btn.primary:disabled{opacity:.7;cursor:not-allowed}.login-btn.secondary{background:transparent;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.login-btn.secondary:hover{background:#ffffff0d;color:#f8fafc}.login-btn.teacher{background:#8b5cf61a;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.login-btn.teacher:hover{background:#8b5cf633}.login-footer{margin-top:24px;display:flex;flex-direction:column;gap:12px}.spinner{width:20px;height:20px;border:2px solid rgba(30,27,75,.3);border-top-color:#1e1b4b;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.login-card{padding:24px}.login-header h1{font-size:1.5rem}}.main-menu{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#f8fafc;padding:24px}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.logo{display:flex;align-items:center;gap:12px}.logo svg{color:#fbbf24}.logo h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info{display:flex;align-items:center;gap:16px}.user-details{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:500;color:#f8fafc}.user-nrc{font-size:.85rem;color:#94a3b8}.logout-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ef444433;color:#ef4444}.stats-bar{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#1e293b80;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:32px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:12px}.stat-item svg{color:#fbbf24}.stat-item>div{display:flex;flex-direction:column}.stat-value{font-size:1.2rem;font-weight:700;color:#f8fafc}.stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.leaderboard-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:8px;color:#1e1b4b;font-weight:600;cursor:pointer;margin-left:auto;transition:all .2s}.leaderboard-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fbbf2466}.levels-container{margin-bottom:32px}.levels-container h2{font-size:1.25rem;margin-bottom:20px;color:#f8fafc}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.level-card{position:relative;background:#1e293b80;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;cursor:pointer;transition:all .3s;overflow:hidden}.level-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--level-color)}.level-card:hover:not(.locked){border-color:var(--level-color);box-shadow:0 8px 32px #0000004d}.level-card.locked{opacity:.6;cursor:not-allowed}.level-card.completed{border-color:#10b9814d}.level-card.completed:before{background:#10b981}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.level-number{font-size:.85rem;color:#94a3b8;font-weight:500}.completed-icon{color:#10b981}.locked-icon{color:#94a3b8}.level-icon{font-size:3rem;margin-bottom:12px}.level-title{font-size:1.25rem;font-weight:600;margin-bottom:4px;color:#f8fafc}.level-operator{display:inline-block;padding:4px 12px;background:#ffffff1a;border-radius:20px;font-size:.85rem;color:var(--level-color);font-weight:500}.level-stats{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.stars{font-size:1rem;margin-bottom:8px}.mini-stats{display:flex;gap:16px}.mini-stats span{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#94a3b8}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172ae6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#94a3b8}.lock-overlay span{font-size:.85rem}.achievements-preview{background:#1e293b80;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px}.achievements-preview h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin-bottom:16px;color:#fbbf24}.achievements-list{display:flex;gap:12px;flex-wrap:wrap}.achievement-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:20px}.achievement-icon{font-size:1.2rem}.achievement-name{font-size:.85rem;color:#fbbf24;font-weight:500}@media (max-width: 768px){.main-menu{padding:16px}.menu-header{flex-direction:column;gap:16px;align-items:stretch}.user-info{justify-content:space-between}.user-details{align-items:flex-start}.stats-bar{flex-direction:column;align-items:stretch;gap:16px}.leaderboard-btn{margin-left:0;justify-content:center}.levels-grid{grid-template-columns:1fr}}.teacher-dashboard{min-height:100vh;padding:24px;background:linear-gradient(135deg,#0f172a,#1e1b4b)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-header h1{font-size:1.5rem;color:#f8fafc}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff1a;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s}.filter-nrc input{padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f8fafc;width:180px}.filter-nrc input::placeholder{color:#64748b}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:#1e293b80;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.stat-card svg{color:#fbbf24}.stat-card .stat-value{display:block;font-size:2rem;font-weight:700;color:#f8fafc}.stat-card .stat-label{font-size:.85rem;color:#94a3b8}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.dashboard-section{background:#1e293b80;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1)}.dashboard-section h3{display:flex;align-items:center;gap:8px;font-size:1.1rem;color:#f8fafc;margin-bottom:20px}.dashboard-section.alert h3{color:#ef4444}.level-bars{display:flex;flex-direction:column;gap:12px}.level-bar{display:flex;align-items:center;gap:12px}.level-label{width:70px;font-size:.9rem;color:#94a3b8}.bar-container{flex:1;height:24px;background:#ffffff1a;border-radius:12px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px}.bar-value{width:50px;text-align:right;font-weight:600;color:#fbbf24}.error-list{display:flex;flex-direction:column;gap:12px}.error-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px}.error-rank{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ef444433;color:#ef4444;border-radius:50%;font-weight:600;font-size:.85rem}.error-name{flex:1;color:#f8fafc}.error-count{color:#94a3b8;font-size:.9rem}.time-table table{width:100%}.time-table th,.time-table td{padding:12px;text-align:left}.time-table th{color:#94a3b8;font-weight:500;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.1)}.time-table td{color:#f8fafc}.time-table td.min{color:#10b981}.time-table td.max{color:#ef4444}.at-risk-list{display:flex;flex-direction:column;gap:12px}.at-risk-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px}.student-name{font-weight:500;color:#f8fafc}.risk-reason{font-size:.85rem;color:#ef4444}.no-data{color:#64748b;text-align:center;padding:20px}.no-data.success{color:#10b981}.dashboard-actions{display:flex;justify-content:flex-end}.export-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:8px;color:#1e1b4b;font-weight:600;cursor:pointer;transition:all .2s}.export-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fbbf2466}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:#94a3b8}.spinner{width:40px;height:40px;border:3px solid rgba(251,191,36,.2);border-top-color:#fbbf24;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:16px;align-items:stretch}}.leaderboard-container{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#f8fafc;padding:24px}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.leaderboard-header h1{display:flex;align-items:center;gap:12px;font-size:1.8rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#ffffff1a;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:#ffffff26;color:#f8fafc}.header-spacer{width:100px}.leaderboard-filters{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap;background:#1e293b80;padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#94a3b8;font-weight:500}.sort-buttons{display:flex;gap:8px;flex-wrap:wrap}.sort-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#94a3b8;cursor:pointer;font-size:.85rem;transition:all .2s}.sort-btn:hover{background:#ffffff1a;color:#f8fafc}.sort-btn.active{background:#fbbf2433;border-color:#fbbf24;color:#fbbf24}.filter-group select,.filter-group input{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#f8fafc;font-size:.9rem;min-width:150px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#fbbf24}.filter-group select option{background:#1e293b;color:#f8fafc}.leaderboard-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:8px}.tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;cursor:pointer;font-size:.9rem;white-space:nowrap;transition:all .2s}.tab:hover{background:#ffffff1a;color:#f8fafc}.tab.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:transparent;color:#1e1b4b;font-weight:600}.leaderboard-table-container{background:#1e293b80;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th{padding:16px;text-align:left;background:#0003;color:#94a3b8;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.leaderboard-table th.active{color:#fbbf24}.leaderboard-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tbody tr{transition:background .2s}.leaderboard-table tbody tr:hover{background:#ffffff08}.rank-cell{width:60px;text-align:center}.rank-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff1a;border-radius:50%;font-size:.85rem;color:#94a3b8}.medal.gold{color:#fbbf24}.medal.silver{color:#94a3b8}.medal.bronze{color:#cd7f32}.name-cell{display:flex;align-items:center;gap:8px;font-weight:500}.you-badge{padding:2px 8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:10px;font-size:.7rem;color:#1e1b4b;font-weight:600}.nrc-cell{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:.9rem}.score-cell{font-weight:600}.score-value{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.1rem}.time-cell{color:#94a3b8;font-family:JetBrains Mono,monospace}.errors-cell .perfect{color:#10b981;font-weight:600}.perfect-cell{font-size:1rem}.date-cell{color:#94a3b8;font-size:.85rem}.current-user{background:#fbbf241a!important}.top-1{background:linear-gradient(90deg,rgba(251,191,36,.15),transparent)}.top-2{background:linear-gradient(90deg,rgba(148,163,184,.1),transparent)}.top-3{background:linear-gradient(90deg,rgba(205,127,50,.1),transparent)}.loading,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8}.loading p,.empty-state p{margin-top:16px;font-size:1rem}.empty-state h3{margin:16px 0 8px;color:#f8fafc}@media (max-width: 1024px){.leaderboard-filters{flex-direction:column;gap:16px}.sort-buttons{flex-wrap:wrap}}@media (max-width: 768px){.leaderboard-container{padding:16px}.leaderboard-header h1{font-size:1.4rem}.leaderboard-table{font-size:.85rem}.leaderboard-table th,.leaderboard-table td{padding:10px 8px}.leaderboard-tabs{gap:4px}.tab{padding:8px 12px;font-size:.8rem}}.robot-container{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px;margin:20px 0}.robot-body{position:relative;width:120px;height:160px;background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:20px;border:3px solid #3b82f6;display:flex;flex-direction:column;align-items:center;padding:16px;box-shadow:0 10px 40px #0006}.robot-head{display:flex;gap:20px;margin-bottom:16px}.robot-eye{width:24px;height:24px;background:#3b82f6;border-radius:50%;box-shadow:0 0 10px currentColor}.robot-chest{flex:1;display:flex;align-items:center;justify-content:center}.robot-core{width:40px;height:40px;background:#3b82f6;border-radius:50%;box-shadow:0 0 20px #3b82f6}.robot-arms{position:absolute;width:100%;height:100%;pointer-events:none}.robot-arm{position:absolute;width:16px;height:60px;background:linear-gradient(180deg,#334155,#1e293b);border-radius:8px;top:50%;transform-origin:top center}.robot-arm.left{left:-20px}.robot-arm.right{right:-20px}.robot-shadow{width:100px;height:20px;background:radial-gradient(ellipse,rgba(0,0,0,.4) 0%,transparent 70%);margin-top:10px}.level1-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a5f);padding:20px}.story-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e3a5f)}.story-card{max-width:500px;background:#1e293be6;padding:32px;border-radius:20px;border:1px solid rgba(59,130,246,.3)}.story-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.mentor-avatar{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.mentor-info h3{color:#f8fafc;font-size:1.1rem}.mentor-info span{color:#94a3b8;font-size:.85rem}.story-text{min-height:80px}.story-text p{color:#e2e8f0;line-height:1.7;font-size:1rem}.story-progress{display:flex;gap:8px;justify-content:center;margin:24px 0}.progress-dot{width:8px;height:8px;background:#fff3;border-radius:50%;transition:all .3s}.progress-dot.active{background:#3b82f6;transform:scale(1.3)}.story-button{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.story-button:hover{transform:translateY(-2px);box-shadow:0 4px 20px #3b82f666}.complete-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0f172a,#1e3a5f)}.complete-card{text-align:center;max-width:450px;background:#1e293be6;padding:40px;border-radius:24px;border:2px solid rgba(59,130,246,.5)}.trophy{margin-bottom:20px;color:#fbbf24}.complete-card h2{color:#f8fafc;margin-bottom:12px}.complete-card p{color:#94a3b8;margin-bottom:24px}.code-result{background:#1e293b;padding:16px;border-radius:8px;margin-bottom:24px}.code-result code{color:#3b82f6;font-family:JetBrains Mono,monospace}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.level-info .episode{color:#3b82f6;font-size:.85rem;font-weight:500}.level-info h1{color:#f8fafc;font-size:1.5rem}.game-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}@media (max-width: 1024px){.game-layout{grid-template-columns:1fr}}.left-panel,.right-panel{display:flex;flex-direction:column;gap:20px}.mentor-tip{display:flex;align-items:flex-start;gap:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);padding:16px;border-radius:12px}.mentor-tip svg{color:#3b82f6;flex-shrink:0}.mentor-tip p{color:#94a3b8;font-size:.9rem;line-height:1.5}.truth-table-section{background:#1e293b80;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.truth-table-section h4{color:#f8fafc;margin-bottom:16px;font-size:1rem}.truth-table{width:100%;border-collapse:collapse;font-size:.9rem}.truth-table th,.truth-table td{padding:10px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.truth-table th{color:#94a3b8;font-weight:500}.truth-table td{color:#f8fafc}.truth-table td.true{color:#10b981}.truth-table td.false{color:#ef4444}.truth-table tr.highlight{background:#3b82f61a}.code-workspace{background:#1e293b;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1)}.code-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.keyword{color:#c084fc;font-family:JetBrains Mono,monospace;font-weight:600}.paren{color:#fbbf24;font-size:1.5rem;font-weight:700}.slots-row{display:flex;gap:8px;flex-wrap:wrap}.game-slot{width:50px;height:50px;background:#ffffff0d;border:2px dashed rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#64748b;cursor:pointer;transition:all .2s;position:relative}.game-slot.filled{background:#3b82f633;border:2px solid #3b82f6;color:#3b82f6}.game-slot.active{border-color:#fbbf24;background:#fbbf241a}.slot-clear{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:#ef4444;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;color:#fff}.code-action{color:#94a3b8;font-family:JetBrains Mono,monospace}.validation-msg{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;font-size:.95rem}.validation-msg.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#10b981}.validation-msg.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.tools-panel{background:#1e293b80;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.tools-panel h4{color:#f8fafc;margin-bottom:16px}.tools-list{display:flex;gap:12px;flex-wrap:wrap}.tool-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s;min-width:70px}.tool-item:hover{background:#ffffff1a;transform:translateY(-2px)}.tool-item.selected{background:#3b82f633;border-color:#3b82f6}.tool-item.operator{border-color:#fbbf244d}.tool-item.operator.selected{background:#fbbf2433;border-color:#fbbf24}.tool-icon-wrapper{font-size:1.5rem}.and-symbol{color:#fbbf24;font-weight:700}.tool-symbol{font-size:.8rem;color:#94a3b8}.tool-name{font-size:.75rem;color:#64748b}.hint-box{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px;color:#fbbf24}.action-buttons{display:flex;gap:12px}.btn-reset,.btn-test{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-reset{background:#ffffff1a;color:#94a3b8}.btn-reset:hover{background:#ffffff26}.btn-test{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-test:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #3b82f666}.btn-test:disabled{opacity:.5;cursor:not-allowed}.level2-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#4c1d95);padding:20px}.level2-theme .story-card{border-color:#8b5cf64d}.level2-theme .mentor-avatar.vfx,.level2-theme .story-button.vfx{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.level2-theme .complete-card{border-color:#8b5cf680}.episode.vfx{color:#8b5cf6!important}.mentor-tip.vfx{background:#8b5cf61a;border-color:#8b5cf64d}.mentor-tip.vfx svg{color:#8b5cf6}.particle-preview{height:150px;background:#1e293b80;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.particle-container{position:relative;width:100px;height:100px}.particle{position:absolute;width:10px;height:10px;background:#8b5cf6;border-radius:50%;left:50%;top:50%;box-shadow:0 0 10px #8b5cf6}.code-workspace.vfx{border-color:#8b5cf633}.game-slot.vfx-slot.filled{background:#8b5cf633;border-color:#8b5cf6;color:#8b5cf6}.or-symbol{color:#8b5cf6;font-weight:700}.hint-box.vfx{background:#8b5cf61a;border-color:#8b5cf64d;color:#a78bfa}.btn-test.vfx{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.level3-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#831843);padding:20px}.level3-theme .story-card{border-color:#ec48994d}.level3-theme .mentor-avatar.camera,.level3-theme .story-button.camera{background:linear-gradient(135deg,#ec4899,#be185d)}.level3-theme .complete-card{border-color:#ec489980}.episode.camera{color:#ec4899!important}.mentor-tip.camera{background:#ec48991a;border-color:#ec48994d}.mentor-tip.camera svg{color:#ec4899}.camera-preview{height:150px;background:#0f172a;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid #334155}.camera-lens{width:80px;height:80px;background:#1e293b;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #475569}.rec-indicator{color:#ef4444;font-weight:700;font-size:.8rem}.camera-preview.camera_recording .camera-lens{border-color:#ef4444;box-shadow:0 0 20px #ef444480}.code-workspace.camera{border-color:#ec489933}.game-slot.camera-slot.filled{background:#ec489933;border-color:#ec4899;color:#ec4899}.not-symbol{color:#ec4899;font-weight:700}.hint-box.camera{background:#ec48991a;border-color:#ec48994d;color:#f472b6}.btn-test.camera{background:linear-gradient(135deg,#ec4899,#be185d)}.level4-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#7f1d1d);padding:20px}.level4-theme .story-card{border-color:#ef44444d}.level4-theme .mentor-avatar.combat,.level4-theme .story-button.combat{background:linear-gradient(135deg,#ef4444,#b91c1c)}.level4-theme .complete-card{border-color:#ef444480}.episode.combat{color:#ef4444!important}.mentor-tip.combat{background:#ef44441a;border-color:#ef44444d}.mentor-tip.combat svg{color:#ef4444}.combat-preview{height:150px;background:#1e293b80;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.combat-arena{display:flex;gap:40px;align-items:center;margin-bottom:16px}.fighter{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%}.fighter.attack{background:#ef444433;color:#ef4444}.fighter.defend{background:#3b82f633;color:#3b82f6}.vs-indicator{color:#fbbf24;font-weight:700;font-size:1.2rem}.combat-status{font-size:.9rem;color:#94a3b8}.code-workspace.combat{border-color:#ef444433}.game-slot.combat-slot.filled{background:#ef444433;border-color:#ef4444;color:#ef4444}.xor-symbol{color:#ef4444;font-weight:700}.hint-box.combat{background:#ef44441a;border-color:#ef44444d;color:#f87171}.btn-test.combat{background:linear-gradient(135deg,#ef4444,#b91c1c)}.level5-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#064e3b);padding:20px}.level5-theme .story-card{border-color:#10b9814d}.level5-theme .mentor-avatar.shader,.level5-theme .story-button.shader{background:linear-gradient(135deg,#10b981,#047857)}.level5-theme .complete-card{border-color:#10b98180}.episode.shader{color:#10b981!important}.mentor-tip.shader{background:#10b9811a;border-color:#10b9814d}.mentor-tip.shader svg{color:#10b981}.shader-preview{height:150px;background:#1e293b80;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.shader-layers{display:flex;gap:20px;margin-bottom:16px}.layer{width:40px;height:40px;background:#10b98133;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#10b981}.shader-status{font-size:.9rem;color:#94a3b8}.demorgan-reference{background:#10b9811a;padding:16px;border-radius:12px;border:1px solid rgba(16,185,129,.3)}.demorgan-reference h4{color:#10b981;margin-bottom:12px}.demorgan-reference .law{font-family:JetBrains Mono,monospace;color:#6ee7b7;margin:4px 0}.code-workspace.shader{border-color:#10b98133}.slots-row.demorgan{flex-wrap:wrap}.game-slot.shader-slot.filled{background:#10b98133;border-color:#10b981;color:#10b981}.tools-grid.demorgan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}.hint-box.shader{background:#10b9811a;border-color:#10b9814d;color:#6ee7b7}.btn-test.shader{background:linear-gradient(135deg,#10b981,#047857)}.level6-game{min-height:100vh;background:linear-gradient(135deg,#0f172a,#78350f,#1e1b4b);padding:20px}.level6-theme .story-card.final{border:2px solid rgba(251,191,36,.5)}.level6-theme .mentor-avatar.final{background:linear-gradient(135deg,#fbbf24,#d97706)}.level6-theme .story-button.final{background:linear-gradient(135deg,#fbbf24,#d97706);color:#1e1b4b}.level6-theme .complete-card.epic{border:2px solid #fbbf24}.final-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fbbf24,#d97706);color:#1e1b4b;padding:8px 16px;border-radius:20px;font-weight:700;font-size:.85rem;margin-bottom:20px}.episode.final{color:#fbbf24!important}.mentor-tip.final{background:#fbbf241a;border-color:#fbbf244d}.mentor-tip.final svg{color:#fbbf24}.scene-preview{height:180px;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(251,191,36,.3);position:relative;overflow:hidden}.scene-stage{display:flex;gap:60px;align-items:center;margin-bottom:20px}.hero-character,.villain-character{position:relative}.char-emoji{font-size:2.5rem}.status-indicator{position:absolute;top:-10px;right:-10px;font-size:.8rem}.scene-status{padding:8px 20px;background:#00000080;border-radius:20px;font-size:.9rem}.scene-status.epic{color:#fbbf24}.scene-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.scene-btn{padding:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8rem}.scene-btn.active{background:#fbbf2433;border-color:#fbbf24;color:#fbbf24}.scene-btn span:first-child{font-size:1.2rem;font-weight:700}.mission-objective{background:#fbbf241a;padding:16px;border-radius:12px;border:1px solid rgba(251,191,36,.3)}.objective-title{display:flex;align-items:center;gap:8px;color:#fbbf24;font-weight:600;margin-bottom:8px}.objective-text{font-family:JetBrains Mono,monospace;color:#fcd34d}.code-workspace.epic{border-color:#fbbf244d}.slots-row.epic{flex-wrap:wrap}.game-slot.epic-slot.filled{background:#fbbf2433;border-color:#fbbf24;color:#fbbf24}.tools-grid.final-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:6px}.tool-item.final{padding:10px;min-width:auto}.hint-box.final{background:#fbbf241a;border-color:#fbbf244d;color:#fcd34d}.btn-test.final{background:linear-gradient(135deg,#fbbf24,#d97706);color:#1e1b4b;font-weight:700}.final-celebration{margin-bottom:24px}.mastery-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0}.mastery-badges .badge{padding:8px 16px;background:#fbbf2433;border:1px solid rgba(251,191,36,.4);border-radius:20px;color:#fbbf24;font-weight:600;font-size:.85rem}.epic-text{color:#fcd34d!important;font-size:1.1rem!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-gold: #fbbf24;--accent-gold-dark: #f59e0b;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-red: #ef4444;--accent-green: #10b981;--border-color: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}html{font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,var(--bg-primary) 0%,#1e1b4b 100%);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre,.mono{font-family:JetBrains Mono,Fira Code,monospace}.app{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-gold);color:var(--bg-primary)}:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent-gold);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;width:100%}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid rgba(251,191,36,.2);border-top-color:var(--accent-gold);border-radius:50%;animation:spin 1s linear infinite}.game-metrics{display:flex;align-items:center;gap:16px}.game-metrics .metric{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.game-metrics .metric-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.game-metrics .metric-value{font-size:1.1rem;font-weight:600;color:#f8fafc}.game-metrics .metric-value.error{color:#ef4444}.game-metrics .metric.timer{flex-direction:row;gap:8px}.game-metrics .metric.timer svg{color:#fbbf24}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.stats-grid.epic{grid-template-columns:repeat(4,1fr)}.stats-grid .stat{display:flex;flex-direction:column;align-items:center;padding:16px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.stats-grid .stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stats-grid .stat-value{font-size:1.5rem;font-weight:700;color:#f8fafc}.stats-grid .stat-value.error{color:#ef4444}.stats-grid .stat-stars{font-size:1.5rem}.complete-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.btn-secondary{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#f8fafc;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#f8fafc}.loading-spinner{width:48px;height:48px;border:4px solid rgba(251,191,36,.2);border-top-color:#fbbf24;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.demorgan-formulas{display:flex;flex-direction:column;gap:8px;margin:16px 0;padding:16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:12px}.demorgan-formulas .formula{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#10b981;text-align:center}.exercise-description{background:#ffffff0d;padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:16px}.exercise-description h3{color:#f8fafc;font-size:1rem;margin-bottom:12px}.exercise-description p{color:#cbd5e1;line-height:1.6;font-size:.95rem}.exercise-image{width:100%;height:140px;background-size:cover;background-position:center;border-radius:8px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.game-metrics{flex-wrap:wrap;justify-content:center;gap:8px}.game-metrics .metric{padding:6px 12px}.game-metrics .metric-value{font-size:1rem}.stats-grid,.stats-grid.epic{grid-template-columns:repeat(2,1fr)}.complete-actions{flex-direction:column}}
