:root{--bg-dark: #070a13;--bg-card: rgba(16, 22, 38, .7);--bg-card-hover: rgba(25, 34, 59, .85);--primary: #8b5cf6;--primary-glow: rgba(139, 92, 246, .35);--secondary: #06b6d4;--secondary-glow: rgba(6, 182, 212, .35);--accent: #10b981;--accent-glow: rgba(16, 185, 129, .25);--warning: #f59e0b;--danger: #ef4444;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: rgba(255, 255, 255, .08);--border-focus: rgba(6, 182, 212, .5);--surface-page: #070a13;--surface-header: rgba(7, 10, 19, .75);--surface-input: rgba(0, 0, 0, .28);--surface-input-text: #f3f4f6;--surface-panel: #111827;--surface-elevated: #1e293b;--surface-canvas: #020617;--surface-canvas-venn: #030712;--surface-inset: rgba(0, 0, 0, .22);--surface-hover: rgba(255, 255, 255, .05);--surface-hover-strong: rgba(255, 255, 255, .09);--surface-banner: linear-gradient(135deg, rgba(27, 20, 52, .6) 0%, rgba(13, 27, 42, .6) 100%);--heading-gradient-from: #ffffff;--heading-gradient-to: var(--secondary);--logo-gradient-from: #ffffff;--text-on-accent-btn: #070a13;--icon-stroke: #e2e8f0;--icon-accent: #2dd4bf;--icon-muted: #94a3b8;--badge-purple-bg: rgba(139, 92, 246, .15);--badge-purple-text: #c4b5fd;--badge-purple-border: rgba(139, 92, 246, .25);--badge-blue-bg: rgba(59, 130, 246, .15);--badge-blue-text: #93c5fd;--badge-blue-border: rgba(59, 130, 246, .25);--badge-green-bg: rgba(16, 185, 129, .15);--badge-green-text: #6ee7b7;--badge-green-border: rgba(16, 185, 129, .25);--badge-violet-bg: rgba(167, 139, 250, .15);--badge-violet-text: #ddd6fe;--badge-violet-border: rgba(167, 139, 250, .25);--badge-accent-text: #a78bfa;--font-title: "Sora", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease;--mascot-chassis-light: #334155;--mascot-chassis-dark: #0f172a;--mascot-visor-top: #1e293b;--mascot-visor-bot: #0f172a;--mascot-stroke: rgba(255, 255, 255, .1);--mascot-mouth: #cbd5e1;--mascot-brow: #64748b}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}.stars-bg{position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(white,rgba(255,255,255,.2) 2px,transparent 40px),radial-gradient(white,rgba(255,255,255,.15) 1px,transparent 30px),radial-gradient(white,rgba(255,255,255,.1) 2px,transparent 40px);background-size:550px 550px,350px 350px,250px 250px;background-position:0 0,40px 60px,130px 270px;opacity:.12;z-index:-3}.glow-orb-1,.glow-orb-2{position:fixed;border-radius:50%;filter:blur(120px);opacity:.15;z-index:-2;pointer-events:none}.glow-orb-1{top:-10%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,var(--primary) 0%,transparent 80%);animation:floatOrb 18s ease-in-out infinite alternate}.glow-orb-2{bottom:-10%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--secondary) 0%,transparent 80%);animation:floatOrb 22s ease-in-out infinite alternate-reverse}@keyframes floatOrb{0%{transform:translate(0) scale(1)}50%{transform:translate(40px,-60px) scale(1.1)}to{transform:translate(-20px,40px) scale(.9)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;letter-spacing:-.02em;line-height:1.2}h2{font-size:2.25rem;background:linear-gradient(135deg,var(--heading-gradient-from) 30%,var(--heading-gradient-to) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}h2 .section-icon,h2 .lk-icon{-webkit-text-fill-color:initial;background:none}p{line-height:1.6;color:var(--text-secondary);font-size:1rem}a{color:var(--secondary);text-decoration:none;transition:var(--transition-fast)}a:hover{text-shadow:0 0 8px var(--secondary-glow)}.text-yellow{color:var(--warning)}.text-orange{color:#f97316}.text-cyan{color:var(--secondary)}.text-green{color:var(--accent)}.text-giant{font-size:3.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1.5rem}.scroll-x{overflow-x:auto}.hidden{display:none!important}.cyber-header{position:sticky;top:0;width:100%;background:var(--surface-header);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:100;padding:.75rem 0}.header-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.logo-area{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.logo-icon{display:flex;align-items:center}.logo-icon .lk-icon{width:1.75rem;height:1.75rem}.logo-text{font-size:1.5rem;font-weight:800;letter-spacing:.05em;background:linear-gradient(to right,var(--logo-gradient-from),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:.5rem}.nav-btn{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-title);font-size:.9rem;font-weight:600;padding:.6rem 1rem;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;gap:.5rem}.nav-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.nav-btn.active{color:var(--secondary);background:#06b6d41a;border:1px solid rgba(6,182,212,.25);box-shadow:inset 0 0 10px #06b6d40d}.nav-btn.highlight{color:var(--accent);background:#10b9810d;border:1px solid rgba(16,185,129,.15)}.nav-btn.highlight:hover{background:#10b9811f;box-shadow:0 0 12px var(--accent-glow)}.user-panel{display:flex;align-items:center;gap:.75rem}.stat-badge{background:#ffffff0a;border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:99px;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.login-action-btn{background:linear-gradient(135deg,var(--primary),#7c3aed);border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:var(--transition-smooth)}.login-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--primary-glow)}.user-profile-menu{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid var(--border-color);padding:.25rem .6rem;border-radius:99px}.user-avatar{font-size:1.25rem;color:var(--secondary)}.user-name{font-size:.85rem;font-weight:600;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem;transition:var(--transition-fast)}.logout-btn:hover{color:var(--danger)}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem 1.5rem;position:relative}.view{display:none;animation:fadeIn .4s ease-in-out forwards}.view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-title);font-weight:700;font-size:.95rem;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;transition:var(--transition-smooth);border:none}.btn-primary{background:linear-gradient(135deg,var(--secondary),#0891b2);color:var(--text-on-accent-btn);box-shadow:0 4px 14px #06b6d440}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #06b6d466}.btn-secondary{background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-hover-strong);border-color:var(--text-secondary)}.btn-dark{background:var(--surface-panel);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-dark:hover,.btn-dark.active{color:var(--text-primary);background:var(--bg-card-hover);border-color:var(--secondary)}.btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff;box-shadow:0 4px 15px #ef444466}.btn-block{width:100%}.btn-lg{padding:.9rem 2rem;font-size:1.05rem}.btn-sm{padding:.4rem .8rem;font-size:.8rem;border-radius:6px}.btn-link{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:var(--transition-fast);text-decoration:underline}.btn-link:hover{color:var(--secondary)}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;transition:var(--transition-smooth)}.card:hover{border-color:#ffffff26;box-shadow:0 8px 30px #0006}.card-neon{border:1px solid rgba(139,92,246,.2)}.card-neon:hover{border-color:#8b5cf673;box-shadow:0 8px 30px #8b5cf61a}.hero-section{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:3rem;margin:3rem 0}.hero-info{display:flex;flex-direction:column;align-items:flex-start}.badge-accent{background:var(--badge-purple-bg);border:1px solid var(--badge-purple-border);color:var(--badge-accent-text);font-size:.85rem;font-weight:700;padding:.4rem 1rem;border-radius:99px;margin-bottom:1.25rem;letter-spacing:.05em;text-transform:uppercase}.hero-info p{font-size:1.15rem;margin-bottom:2rem}.hero-actions{display:flex;gap:1rem}.hero-visual{display:flex;justify-content:center;align-items:center}.mascot-landing-wrapper{width:280px;height:280px;display:flex;align-items:center;justify-content:center;position:relative}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:var(--transition-smooth)}.feature-card:hover{transform:translateY(-5px);border-color:#06b6d44d;box-shadow:0 8px 30px #06b6d414}.card-icon{display:flex;justify-content:center;margin-bottom:1.25rem}.card-icon .lk-icon{width:2.75rem;height:2.75rem;stroke:var(--icon-stroke);color:var(--icon-accent)}.feature-card h3{font-size:1.25rem;margin-bottom:.75rem}.feature-card p{font-size:.9rem}.auth-wrapper{display:flex;justify-content:center;align-items:center;min-height:70vh}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 10px 40px #00000080}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h3{font-size:1.5rem;margin-bottom:.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.input-wrapper{position:relative}.input-wrapper i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.input-wrapper input{width:100%;background:var(--surface-input);border:1px solid var(--border-color);border-radius:10px;padding:.75rem 1rem .75rem 2.5rem;color:var(--surface-input-text);font-family:var(--font-body);font-size:.95rem;transition:var(--transition-fast)}.input-wrapper input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-glow)}.auth-mode-selector{display:flex;gap:1.5rem;margin:1.5rem 0}.radio-container{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.radio-container input{cursor:pointer}.auth-footer{margin-top:1.5rem;text-align:center}.dashboard-header{margin-bottom:2.5rem}.welcome-banner{background:var(--surface-banner);border:1px solid rgba(139,92,246,.15);padding:2rem;border-radius:20px}.welcome-banner h2{background:linear-gradient(to right,var(--heading-gradient-from),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.module-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;display:flex;flex-direction:column;transition:var(--transition-smooth)}.module-item-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 10px 30px #8b5cf614}.module-badge{align-self:flex-start;font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:99px;margin-bottom:1rem;text-transform:uppercase}.bg-purple{background:var(--badge-purple-bg);color:var(--badge-purple-text);border:1px solid var(--badge-purple-border)}.bg-blue{background:var(--badge-blue-bg);color:var(--badge-blue-text);border:1px solid var(--badge-blue-border)}.bg-green{background:var(--badge-green-bg);color:var(--badge-green-text);border:1px solid var(--badge-green-border)}.bg-violet{background:var(--badge-violet-bg);color:var(--badge-violet-text);border:1px solid var(--badge-violet-border)}.module-item-card h3{font-size:1.5rem;margin-bottom:.75rem}.module-item-card p{font-size:.95rem;flex:1;margin-bottom:2rem}.module-footer{display:flex;justify-content:space-between;align-items:center}.xp-val{font-weight:700;color:var(--warning);font-size:.95rem}.school-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;background:radial-gradient(circle at top left,rgba(6,182,212,.08),transparent);border:1px solid rgba(6,182,212,.15);border-radius:24px;padding:2.5rem;margin-bottom:2rem}.badge-school{background:#06b6d426;border:1px solid rgba(6,182,212,.3);color:var(--secondary);font-size:.85rem;font-weight:700;padding:.4rem 1rem;border-radius:99px;margin-bottom:1.25rem;display:inline-block}.tech-fields{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.tech-field-tag{background:var(--surface-hover);border:1px solid var(--border-color);padding:.4rem .8rem;border-radius:8px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.gamified-route-box{background:var(--surface-inset);border:1px solid var(--border-color);padding:1.5rem;border-radius:16px;margin-top:2rem}.gamified-route-box h4{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.gamified-route-box p{font-size:.9rem;margin-bottom:1.25rem}.school-mascot-area{display:flex;justify-content:center;align-items:center}.card-mascot-speech{display:flex;flex-direction:column;align-items:center;width:100%}.speech-bubble{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:16px;padding:1rem;position:relative;margin-bottom:1.5rem;width:100%;box-shadow:0 4px 15px #00000026}.speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);border-width:10px 10px 0;border-style:solid;border-color:var(--surface-elevated) transparent;display:block;width:0}.speech-bubble p{color:var(--text-primary);font-size:.95rem;text-align:center}.mascot-container-school{width:180px;height:180px}.school-quiz-box{max-width:700px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0006}.quiz-progress-bar{background:var(--surface-hover);height:8px;border-radius:99px;overflow:hidden;margin-bottom:1.5rem}.quiz-progress-fill{background:linear-gradient(to right,var(--secondary),var(--accent));height:100%;border-radius:99px;transition:width .3s ease}.school-quiz-card{display:flex;flex-direction:column}.quiz-header{margin-bottom:1.5rem}.step-indicator{font-size:.75rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.05em}.quiz-header h4{font-size:1.25rem;margin-top:.25rem}.quiz-body{margin-bottom:2rem}.quiz-body p{color:var(--text-primary);font-size:1.05rem;margin-bottom:1.5rem}.quiz-options-list{display:flex;flex-direction:column;gap:.75rem}.option-btn{background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary);padding:1rem 1.25rem;border-radius:12px;text-align:left;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--transition-fast);display:flex;justify-content:space-between;align-items:center}.option-btn:hover{background:var(--surface-hover-strong);border-color:var(--text-secondary)}.option-btn.selected{background:#06b6d41a;border-color:var(--secondary);box-shadow:0 0 10px #06b6d41a}.option-btn.correct{background:#10b98126;border-color:var(--accent);color:#34d399}.option-btn.wrong{background:#ef444426;border-color:var(--danger);color:#f87171}.quiz-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.quiz-feedback-text{font-weight:700;margin-right:auto}.about-container{max-width:800px;margin:0 auto}.about-hero{text-align:center;margin-bottom:3rem}.unisimón-badge{background:#10b9811f;border:1px solid rgba(16,185,129,.25);color:var(--accent);font-size:.85rem;font-weight:700;padding:.4rem 1rem;border-radius:99px;display:inline-block;margin-bottom:1rem}.about-hero h2{font-size:2.5rem}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0 3rem}.member-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:center;transition:var(--transition-smooth)}.member-card:hover{transform:translateY(-4px);border-color:var(--secondary)}.member-avatar{width:60px;height:60px;background:#06b6d41a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--secondary);margin:0 auto 1rem}.member-card h4{font-size:1.05rem;margin-bottom:.25rem}.member-card .role{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.member-card .tag{display:inline-block;font-size:.75rem;background:var(--surface-hover);color:var(--text-secondary);padding:.2rem .5rem;border-radius:6px;font-weight:600}.about-details{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.about-details h3{margin-bottom:1rem}.module-page-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.btn-back-dashboard{background:var(--surface-panel);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;padding:.5rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.4rem}.btn-back-dashboard:hover{color:var(--text-primary);border-color:var(--text-secondary)}.module-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}.tool-panel{display:flex;flex-direction:column;gap:1.5rem}.formula-input-container{display:flex;align-items:center;background:var(--surface-input);border:1px solid var(--border-color);border-radius:10px;padding:.25rem;margin-bottom:1rem}.formula-input{flex:1;background:transparent;border:none;color:var(--surface-input-text);font-size:1.25rem;font-family:var(--font-title);font-weight:600;padding:.6rem .8rem}.formula-input:focus{outline:none}.btn-clear{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.6rem;font-size:1.1rem;transition:var(--transition-fast)}.btn-clear:hover{color:var(--danger)}.logical-keyboard{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1.5rem}.btn-kbd{padding:.6rem 0;background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition-fast)}.btn-kbd:hover{background:var(--surface-hover-strong);border-color:var(--text-secondary)}.equivalences-list{display:flex;flex-direction:column;gap:.5rem}.btn-load-logic-example{text-align:left;padding:.6rem .8rem;font-weight:600;cursor:pointer}.display-panel{position:sticky;top:90px}.card-result{min-height:400px;display:flex;flex-direction:column}.placeholder-result-message{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5rem;padding:2rem}.placeholder-result-message p{max-width:340px;font-size:.95rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 2s infinite ease-in-out}.logic-result-container{display:flex;flex-direction:column;gap:1rem}.badge-classification{align-self:flex-start;font-size:.8rem;font-weight:700;padding:.35rem .75rem;border-radius:6px;text-transform:uppercase}.badge-classification.tautology{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-classification.contradiction{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-classification.contingency{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.table-scroll-container{width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-inset)}.truth-table{width:100%;border-collapse:collapse;text-align:center;font-family:var(--font-title);font-size:.9rem}.truth-table th{background:var(--surface-hover);border-bottom:1px solid var(--border-color);padding:.75rem 1rem;font-weight:700;color:var(--text-primary)}.truth-table td{border-bottom:1px solid var(--border-color);padding:.6rem 1rem}.truth-table tr:hover{background:#ffffff05}.val-true{color:var(--accent);font-weight:700}.val-false{color:var(--danger);font-weight:700}.module-mini-quiz-card{background:var(--surface-hover);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.module-mini-quiz-card h4{font-size:1rem;margin-bottom:.4rem;color:var(--text-primary)}.module-mini-quiz-card p{font-size:.85rem;margin-bottom:1rem}.quiz-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.set-input{width:100%;background:var(--surface-input);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .8rem;color:var(--surface-input-text);font-family:var(--font-body);transition:var(--transition-fast)}.set-input:focus{outline:none;border-color:var(--secondary)}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:.5rem;font-weight:600;color:var(--text-secondary)}.set-operations-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1rem}.set-operations-buttons button:last-child{grid-column:span 2}.sets-result-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.venn-diagram-canvas-container{background:var(--surface-canvas-venn);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.sets-text-results{width:100%}.result-box{background:var(--surface-inset);border:1px solid var(--border-color);padding:1rem;border-radius:8px;margin:.5rem 0 1.5rem}.result-box p{color:var(--text-primary);margin-bottom:.5rem}.result-box p:last-child{margin-bottom:0}.venn-game-actions{display:flex;gap:.5rem}.module-layout-graphs{display:grid;grid-template-columns:320px 1fr;gap:2rem}.graph-tool-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.graph-tool-selector button{padding:.5rem .2rem;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.graph-algorithms-section{border-top:1px solid var(--border-color);padding-top:1.25rem}.graph-algorithms-section h4{font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.algorithm-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.card-graph-canvas{flex:1;min-height:480px}.graph-canvas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.canvas-instructions{font-size:.8rem;color:var(--secondary);font-weight:600}.canvas-wrapper{background:var(--surface-canvas);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;position:relative;display:flex;justify-content:center}#graph-canvas{cursor:crosshair;background:transparent;display:block}.graph-results-log{background:var(--surface-inset);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;margin-top:1rem;font-size:.85rem;max-height:80px;overflow-y:auto}.graph-results-log p{color:var(--text-primary);margin-bottom:.25rem}.graph-results-log p:last-child{margin-bottom:0}.relations-result-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.relations-matrix-container h4,.relations-properties-analysis h4{margin-bottom:1rem;color:var(--text-primary)}.matrix-grid-scroll{width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-inset);padding:1.5rem;display:flex;justify-content:center}.matrix-grid-wrapper{display:grid;gap:.5rem;align-items:center;justify-items:center}.matrix-label{font-family:var(--font-title);font-weight:700;color:var(--secondary);font-size:.95rem}.matrix-cell-checkbox{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;position:relative;transition:var(--transition-fast)}.matrix-cell-checkbox:hover{background:#06b6d414;border-color:var(--secondary)}.matrix-cell-checkbox.checked{background:#06b6d426;border-color:var(--secondary);color:var(--secondary)}.matrix-cell-checkbox.checked:after{content:"1";font-weight:700;font-size:.9rem}.matrix-cell-checkbox:not(.checked):after{content:"0";color:var(--text-muted);font-size:.9rem}.properties-list{display:flex;flex-direction:column;gap:1rem}.property-item{background:var(--surface-hover);border:1px solid var(--border-color);padding:.8rem 1rem;border-radius:10px;display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center}.property-item.true{border-color:#10b98140;background:#10b98108}.property-item.false{border-color:#ef444440;background:#ef444408}.property-item .status-icon{font-size:1.15rem;color:var(--text-muted)}.property-item.true .status-icon{color:var(--accent)}.property-item.false .status-icon{color:var(--danger)}.property-name{font-weight:700;font-size:.95rem}.property-desc{grid-column:2;margin-top:.2rem;color:var(--text-muted)}.property-item.true .property-desc,.property-item.false .property-desc{color:var(--text-secondary)}.equivalence-result{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);padding:1rem;border-radius:8px;text-align:center;font-weight:700;color:var(--badge-purple-text)}.floating-mascot-widget{position:fixed;bottom:2rem;right:2rem;z-index:1000;width:110px;height:110px;pointer-events:none;touch-action:none}.mascot-float-anchor{position:relative;width:110px;height:110px}.mascot-interactive-svg{width:110px;height:110px;pointer-events:auto;cursor:grab;filter:drop-shadow(0 4px 15px rgba(0,0,0,.4))}.floating-mascot-widget:not(.mascot-dragging) .mascot-interactive-svg:hover{filter:drop-shadow(0 6px 18px rgba(6,182,212,.35))}.floating-mascot-widget.mascot-dragging .mascot-interactive-svg{cursor:grabbing}.mascot-speech-bubble{background:var(--surface-elevated);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:12px;max-width:240px;min-width:180px;position:absolute;right:0;bottom:calc(100% + 10px);margin-bottom:0;pointer-events:auto;box-shadow:0 4px 20px #0006;animation:popBubble .3s cubic-bezier(.175,.885,.32,1.275) forwards;z-index:2}@keyframes popBubble{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.mascot-speech-bubble:after{content:"";position:absolute;bottom:-8px;right:40px;border-width:8px 8px 0;border-style:solid;border-color:var(--surface-elevated) transparent;display:block;width:0}.mascot-speech-bubble p{color:var(--text-primary);font-size:.85rem;line-height:1.4;padding-right:.75rem}.btn-close-bubble{position:absolute;top:.4rem;right:.4rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:.1rem}.btn-close-bubble:hover{color:var(--text-primary)}.sound-toggle-btn{position:fixed;bottom:2rem;left:2rem;z-index:1000;width:44px;height:44px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;box-shadow:0 4px 15px #0000004d;transition:var(--transition-smooth)}.sound-toggle-btn:hover{color:var(--text-primary);border-color:var(--secondary)}.sound-toggle-btn.muted{color:var(--danger);border-color:#ef44444d;background:#ef44440d}@media (max-width: 1024px){.hero-section{grid-template-columns:1fr;text-align:center;gap:2rem;margin:2rem 0}.hero-info{align-items:center}.features-grid,.modules-grid,.module-layout,.module-layout-graphs,.relations-result-wrapper{grid-template-columns:1fr}.school-hero{grid-template-columns:1fr;text-align:center}.tech-fields{justify-content:center}.speech-bubble:after{bottom:-10px;left:50%;transform:translate(-50%)}}@media (max-width: 768px){.cyber-header{padding:.5rem 0}.header-container{flex-wrap:wrap;gap:.75rem;justify-content:space-between}.nav-links{order:3;width:100%;justify-content:space-around}.nav-btn{padding:.5rem .6rem;font-size:.8rem}.team-grid{grid-template-columns:1fr}.floating-mascot-widget,.mascot-float-anchor{width:90px;height:90px}.floating-mascot-widget{bottom:1rem;right:1rem}.mascot-interactive-svg{width:90px;height:90px}.sound-toggle-btn{bottom:1rem;left:1rem}}body.light-mode{--bg-dark: #f1f5f9;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: #f8fafc;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--border-color: rgba(15, 23, 42, .14);--border-focus: rgba(13, 148, 136, .55);--primary: #6d28d9;--secondary: #0d9488;--secondary-glow: rgba(13, 148, 136, .25);--surface-page: #f1f5f9;--surface-header: rgba(255, 255, 255, .94);--surface-input: #ffffff;--surface-input-text: #0f172a;--surface-panel: #e2e8f0;--surface-elevated: #ffffff;--surface-canvas: #f8fafc;--surface-canvas-venn: #f1f5f9;--surface-inset: rgba(15, 23, 42, .05);--surface-hover: rgba(15, 23, 42, .04);--surface-hover-strong: rgba(15, 23, 42, .08);--surface-banner: linear-gradient(135deg, rgba(237, 233, 254, .9) 0%, rgba(224, 242, 254, .9) 100%);--heading-gradient-from: #0f172a;--heading-gradient-to: #0d9488;--logo-gradient-from: #0f172a;--text-on-accent-btn: #ffffff;--icon-stroke: #0f172a;--icon-accent: #0d9488;--icon-muted: #64748b;--badge-purple-bg: rgba(109, 40, 217, .12);--badge-purple-text: #5b21b6;--badge-purple-border: rgba(109, 40, 217, .28);--badge-blue-bg: rgba(37, 99, 235, .1);--badge-blue-text: #1d4ed8;--badge-blue-border: rgba(37, 99, 235, .25);--badge-green-bg: rgba(5, 150, 105, .1);--badge-green-text: #047857;--badge-green-border: rgba(5, 150, 105, .25);--badge-violet-bg: rgba(124, 58, 237, .1);--badge-violet-text: #6d28d9;--badge-violet-border: rgba(124, 58, 237, .25);--badge-accent-text: #6d28d9;--mascot-chassis-light: #e2e8f0;--mascot-chassis-dark: #94a3b8;--mascot-visor-top: #f1f5f9;--mascot-visor-bot: #cbd5e1;--mascot-stroke: rgba(15, 23, 42, .12);--mascot-mouth: #475569;--mascot-brow: #64748b}body.light-mode h2{background:linear-gradient(135deg,var(--heading-gradient-from) 30%,var(--heading-gradient-to) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body.light-mode .stars-bg{opacity:.05}body.light-mode .glow-orb-1,body.light-mode .glow-orb-2{opacity:.06}body.light-mode .card:hover{box-shadow:0 8px 24px #0f172a14}body.light-mode .option-btn.correct{color:#047857}body.light-mode .option-btn.wrong{color:#b91c1c}body.light-mode .badge-classification.tautology{color:#047857}body.light-mode .badge-classification.contradiction{color:#b91c1c}body.light-mode .badge-classification.contingency{color:#b45309}body.light-mode .quiz-explanation-panel{background:#0d94880f}.school-cta-card{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.school-cta-lead{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem}.school-cta-form .form-group{margin-bottom:.85rem}.school-cta-saved p{color:var(--text-primary);font-weight:600;margin-bottom:1rem}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes iconPulse{0%,to{opacity:1}50%{opacity:.75}}.card-icon .lk-icon{animation:iconFloat 4.5s ease-in-out infinite}.feature-card:nth-child(2) .lk-icon{animation-delay:.4s}.feature-card:nth-child(3) .lk-icon{animation-delay:.8s}.nav-btn .lk-icon,.btn-primary .lk-icon{transition:transform .25s ease}.nav-btn:hover .lk-icon{transform:scale(1.12) translateY(-1px)}.stat-badge .lk-icon{animation:iconPulse 3s ease-in-out infinite}.theme-toggle-btn .lk-icon{transition:transform .4s ease}body.light-mode .theme-toggle-btn:hover .lk-icon{transform:rotate(20deg)}.mascot-interactive-svg,.mascot-landing-wrapper,.mascot-container-school{will-change:transform}.mascot-floating-hidden{visibility:hidden!important;opacity:0!important;pointer-events:none!important}:root{--mascot-sclera: #f1f5f9;--mascot-cyber-glow: #22d3ee;--mascot-visor-top: #0f172a;--mascot-visor-bot: #020617}body.light-mode{--mascot-sclera: #f8fafc;--mascot-cyber-glow: #0891b2;--mascot-visor-top: #1e293b;--mascot-visor-bot: #0f172a}.badge-classification-pending{opacity:.5}.learning-path-steps{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.path-step{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-inset)}.path-step-done{border-color:var(--accent)}.path-step-locked{opacity:.55}.path-step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--primary);color:#fff;flex-shrink:0}.path-progress-bar{height:6px;background:var(--border-color);border-radius:4px;margin:.35rem 0;overflow:hidden}.path-progress-fill{height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary));transition:width .3s ease}.account-banner{border:1px solid rgba(6,182,212,.35);background:linear-gradient(135deg,#06b6d414,#8b5cf614)}.account-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;color:var(--secondary);margin-bottom:.5rem}.premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.premium-card{padding:1rem;border-radius:12px;border:1px dashed var(--border-color);text-align:center}.badge-soon{font-size:.65rem;padding:.15rem .45rem;border-radius:4px;background:var(--surface-elevated);color:var(--text-muted)}.module-progress-badge{font-size:.75rem;font-weight:700;color:var(--secondary)}.module-item-card.module-complete{outline:1px solid rgba(16,185,129,.4)}body.user-logged-in .dashboard-guest-panel{display:none}.module-phase-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.module-phase-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-inset);color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer}.module-phase-tab.active{border-color:var(--secondary);color:var(--secondary);background:#06b6d41a}.module-phase-tab.locked,.module-phase-tab:disabled{opacity:.45;cursor:not-allowed}.module-learn-mount{margin-bottom:1.25rem}.learn-card .learn-body,.school-lesson-body{line-height:1.65;color:var(--text-secondary);margin:1rem 0}.school-lesson-body .learn-visual{margin:1rem 0}.learn-card .learn-body code{background:var(--surface-inset);padding:.1rem .35rem;border-radius:4px;font-size:.9em}.learn-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.learn-step-badge{font-size:.75rem;font-weight:700;color:var(--primary)}.learn-done-badge{font-size:.75rem;color:var(--accent);display:inline-flex;align-items:center;gap:.25rem}.learn-nav{display:flex;gap:.5rem;justify-content:space-between;flex-wrap:wrap}.learn-subtitle{font-size:.95rem;margin:1.25rem 0 .5rem;color:var(--text-primary)}.learn-steps{margin:.5rem 0 1rem 1.25rem;line-height:1.6;color:var(--text-secondary)}.learn-steps li{margin-bottom:.35rem}.learn-visual{margin:1.25rem 0;padding:1rem 1.1rem;border-radius:12px;border:1px solid rgba(6,182,212,.35);background:linear-gradient(145deg,#06b6d40f,#0f172a66)}.learn-visual-caption{font-size:.78rem;font-weight:700;color:var(--secondary);margin-bottom:.85rem;text-transform:uppercase;letter-spacing:.04em}.learn-visual-note{font-size:.85rem;color:var(--text-muted);margin:.65rem 0 0;line-height:1.5}.learn-visual-grid{display:grid;gap:.75rem}.learn-visual-grid-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.learn-visual-card{padding:.75rem;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card)}.learn-visual-ok{border-color:#10b98166}.learn-visual-no{border-color:#ef444459}.learn-visual-label{font-size:.8rem;font-weight:700;color:var(--primary);margin:0 0 .35rem}.learn-visual-quote{font-style:italic;font-size:.9rem;margin:0 0 .5rem;color:var(--text-secondary)}.learn-switch-row{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.learn-switch{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2rem;border-radius:8px;font-weight:800;font-size:.85rem}.learn-switch-on{background:#10b98140;color:#34d399;border:1px solid rgba(16,185,129,.5)}.learn-switch-off{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.45)}.learn-switch-na{background:var(--surface-inset);color:var(--text-muted);border:1px dashed var(--border-color)}.learn-switch-hint{font-size:.75rem;color:var(--text-muted)}.learn-var-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.learn-var-chip{display:inline-flex;padding:.25rem .65rem;border-radius:6px;background:#8b5cf633;color:#c4b5fd;font-weight:700;font-family:monospace}.learn-connector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.learn-connector-item{text-align:center;padding:.6rem;border-radius:8px;background:var(--surface-inset);border:1px solid var(--border-color)}.learn-connector-sym{display:block;font-family:monospace;font-weight:700;color:var(--secondary);margin-bottom:.4rem}.learn-connector-name{display:block;font-size:.72rem;color:var(--text-muted);margin-top:.35rem}.learn-connector-bar{display:flex;align-items:center;justify-content:center;gap:.35rem;font-weight:700;font-size:.8rem}.learn-bar-v{color:#34d399}.learn-bar-f{color:#f87171}.learn-bar-arrow{color:var(--text-muted)}.learn-imply-diagram{display:flex;align-items:center;justify-content:center;gap:.25rem;font-weight:700}.learn-imply-arrow{color:var(--secondary)}.learn-truth-table{width:100%;max-width:320px;margin:0 auto;border-collapse:collapse;font-size:.9rem}.learn-truth-table th,.learn-truth-table td{border:1px solid var(--border-color);padding:.45rem .65rem;text-align:center}.learn-truth-table th{background:var(--surface-inset);color:var(--text-secondary)}.learn-truth-table .cell-v{background:#10b98126;color:#34d399;font-weight:700}.learn-truth-table .cell-f{background:#ef44441f;color:#f87171;font-weight:700}.learn-classify-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.85rem}.learn-classify-box{padding:.4rem .65rem;border-radius:8px;text-align:center;font-size:.75rem;border:1px solid var(--border-color)}.learn-classify-box span{display:block;font-weight:700}.learn-classify-mix{border-color:#06b6d480;background:#06b6d41a}.learn-classify-allv{border-color:#10b98173}.learn-classify-allf{border-color:#ef444466}.learn-code-compare{display:flex;flex-direction:column;gap:.45rem}.learn-code-line{padding:.5rem .65rem;border-radius:8px;background:var(--surface-inset);font-size:.82rem;line-height:1.45;border-left:3px solid var(--secondary)}.learn-code-tag{display:inline-block;min-width:4.5rem;font-weight:700;color:var(--primary);margin-right:.35rem}.learn-svg-venn{width:100%;max-width:320px;display:block;margin:0 auto}.venn-circle-a{fill:#8b5cf633;stroke:#a78bfa;stroke-width:2}.venn-circle-b{fill:#06b6d42e;stroke:#22d3ee;stroke-width:2}.venn-label,.venn-label-center{fill:var(--text-muted);font-size:11px;font-weight:600}.venn-num,.venn-num-center{fill:var(--text-primary);font-size:12px;font-weight:700}.learn-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}.learn-op-card{text-align:center;padding:.5rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color)}.learn-op-title{font-size:.78rem;font-weight:700;margin:0 0 .35rem;color:var(--secondary)}.learn-svg-mini{width:100%;height:56px;display:block}.venn-fill{fill:#06b6d473;stroke:none}.venn-stroke{fill:#0f172a33;stroke:var(--border-color);stroke-width:1.5}.venn-lens-fill{fill:#facc158c;stroke:none}.venn-fill-partial{fill:#8b5cf659;stroke:#a78bfa;stroke-width:1.5}.learn-op-result{font-size:.72rem;font-family:monospace;margin:.35rem 0 0;color:var(--text-secondary)}.learn-flow-steps{display:flex;flex-direction:column;gap:.35rem}.learn-flow-step{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color)}.learn-flow-num{flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--secondary);color:#0f172a;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.learn-flow-arrow{text-align:center;color:var(--secondary);font-weight:700}.learn-svg-graph{width:100%;max-width:340px;display:block;margin:0 auto}.graph-edge{stroke:var(--text-muted);stroke-width:2}.graph-edge-alt{stroke:#f87171;stroke-dasharray:6 4}.graph-weight{fill:var(--secondary);font-size:11px;font-weight:700}.graph-node{fill:var(--surface-inset);stroke:var(--secondary);stroke-width:2}.graph-node-end{stroke:#34d399}.graph-node-label{fill:var(--text-primary);font-size:12px;font-weight:800;text-anchor:middle}.learn-bfs-layers{display:flex;flex-direction:column;gap:.5rem}.learn-bfs-layer{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.learn-bfs-label{font-size:.75rem;font-weight:700;color:var(--text-muted);min-width:3.5rem}.learn-bfs-node{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--surface-inset);border:2px solid var(--border-color);font-weight:800;font-size:.85rem}.learn-bfs-node.active{border-color:var(--secondary);background:#06b6d433;color:var(--secondary)}.learn-path-compare{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.learn-path-card{padding:.65rem;border-radius:8px;border:1px solid var(--border-color);text-align:center;font-size:.85rem}.learn-path-bad{border-color:#ef444466;background:#ef444414}.learn-path-good{border-color:#10b98173;background:#10b9811a}.learn-path-sum{margin:.35rem 0 0;font-size:.8rem}.learn-rel-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.learn-matrix-mini{border-collapse:collapse;font-size:.8rem;margin:0 auto}.learn-matrix-mini th,.learn-matrix-mini td{border:1px solid var(--border-color);padding:.3rem .45rem;text-align:center;min-width:1.6rem}.learn-matrix-mini .m1{background:#06b6d440;color:var(--secondary);font-weight:700}.learn-svg-arrows{width:100%;max-width:140px;margin:.5rem auto 0;display:block}.rel-node{fill:var(--surface-inset);stroke:var(--secondary);stroke-width:1.5}.rel-node-t{fill:var(--text-primary);font-size:10px;font-weight:700;text-anchor:middle}.rel-arrow{stroke:var(--secondary);stroke-width:1.5;fill:none}.rel-arrow-head{fill:var(--secondary)}.learn-prop-list{display:flex;flex-direction:column;gap:.5rem}.learn-prop-item{display:flex;gap:.65rem;align-items:flex-start;padding:.5rem;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color)}.learn-prop-icon{font-size:1.25rem;color:var(--secondary);line-height:1}.learn-prop-item p{margin:.15rem 0 0;font-size:.82rem;color:var(--text-muted)}.learn-equiv-groups{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.learn-equiv-class{padding:.55rem .85rem;border-radius:10px;border:2px dashed var(--secondary);background:#06b6d414;text-align:center}.learn-equiv-class span{display:block;font-weight:700;font-family:monospace}.learn-equiv-class small{font-size:.7rem;color:var(--text-muted)}body.light-mode .learn-visual{background:linear-gradient(145deg,#06b6d414,#f1f5f9e6)}body.light-mode .venn-circle-a{fill:#8b5cf626}body.light-mode .venn-circle-b{fill:#06b6d41f}.learn-notation-box{margin:1rem 0;padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(139,92,246,.45);background:#8b5cf614}.learn-notation-title{font-size:.82rem;font-weight:700;color:#c4b5fd;margin:0 0 .6rem}.learn-notation-table{width:100%;border-collapse:collapse;font-size:.82rem}.learn-notation-table th,.learn-notation-table td{border:1px solid var(--border-color);padding:.4rem .55rem;text-align:left;vertical-align:top}.learn-notation-table th{background:var(--surface-inset);color:var(--text-muted);font-size:.75rem}.notation-sym{width:4.5rem;white-space:nowrap}.notation-sym code{font-weight:800;color:var(--secondary)}.notation-mean{color:var(--text-secondary);line-height:1.45}.learn-formula-read{padding:.65rem .85rem;border-radius:8px;background:var(--surface-inset);border-left:3px solid var(--primary);margin:.75rem 0;line-height:1.55;font-size:.9rem}.learn-formula-hint{display:block;font-size:.78rem;color:var(--text-muted);margin-top:.35rem}.learn-reto-legend{margin:.5rem 0 .75rem;padding:.5rem .75rem;border-radius:8px;background:#06b6d41a;border:1px solid rgba(6,182,212,.3);font-size:.85rem;list-style:none}.learn-reto-legend li{margin:.2rem 0}.learn-tip{margin-top:1rem;padding:.75rem 1rem;border-radius:10px;border-left:3px solid var(--secondary);background:#06b6d414;font-size:.9rem;color:var(--text-secondary)}.learn-mini-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.9rem}.learn-mini-table th,.learn-mini-table td{border:1px solid var(--border-color);padding:.4rem .6rem;text-align:left}.school-lesson-panel{margin-bottom:1rem}.school-lesson-body{margin:1rem 0}.school-challenge-panel .quiz-footer{margin-top:1rem}.dashboard-guest-complexity{margin-bottom:1rem;padding:1rem 1.25rem}.complexity-panel-title{font-weight:700;margin-bottom:.35rem;display:flex;align-items:center;gap:.4rem}.complexity-select{width:100%;max-width:280px;margin:.5rem 0}.module-complexity-bar{margin-bottom:1rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-inset)}.module-complexity-bar .complexity-select{max-width:240px}.lesson-route-nav{margin-bottom:1rem}.lesson-route-title{font-size:.8rem;font-weight:700;color:var(--text-muted);margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem}.lesson-route-pills{display:flex;flex-direction:column;gap:.35rem}.lesson-route-pill{display:flex;align-items:center;gap:.5rem;text-align:left;padding:.45rem .65rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.82rem;cursor:pointer}.lesson-route-pill.active{border-color:var(--secondary);color:var(--secondary);background:#06b6d414}.lesson-route-pill.done{border-color:#10b98159}.lesson-route-pill.locked,.lesson-route-pill:disabled{opacity:.45;cursor:not-allowed}.module-item-card.module-locked{opacity:.65}.module-item-card.module-locked .btn-open-module:disabled{cursor:not-allowed}.route-page-header,.profile-page-header{margin-bottom:1.25rem}.route-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem}.route-stat{text-align:center}.route-stat-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.route-modules-list{display:flex;flex-direction:column;gap:1.25rem}.route-module-card{padding:1.25rem;border-radius:14px;border:1px solid var(--border-color);background:var(--bg-card)}.route-module-card.route-locked{opacity:.55}.route-module-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.route-module-order{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.route-cert-badge{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:.25rem}.route-levels{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.route-level{display:flex;gap:.75rem;padding:.65rem;border-radius:8px;background:var(--surface-inset)}.route-level-done{border-left:3px solid var(--accent)}.route-level-locked{opacity:.5}.route-level-icon{flex-shrink:0;color:var(--secondary)}.route-footnote{margin-top:1.5rem}.dashboard-quick-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.profile-card-main{text-align:center}.profile-avatar-icon{width:64px;height:64px;color:var(--secondary)}.profile-stats-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem;font-size:.9rem}.profile-modules-list{list-style:none;padding:0;margin:0}.profile-module-row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.85rem}.profile-certs-ul{margin:0;padding-left:1.2rem;font-size:.85rem}.nav-logged-only.hidden{display:none}body.user-logged-in .nav-logged-only{display:inline-flex}.medal-preview-wrap{text-align:center;margin-bottom:1.25rem}.medal-preview-img{max-width:100%;height:auto;border-radius:16px;box-shadow:0 12px 40px #00000059;border:2px solid var(--border-color)}.medal-preview-name{font-size:1.15rem;margin-top:.75rem;color:var(--text-primary)}.medal-preview-title{color:var(--secondary);font-weight:700}.medal-download-actions{display:flex;flex-direction:column;gap:.65rem}.medal-login-hint{text-align:center;color:var(--text-muted);margin-top:.25rem}.sets-phase-header{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.sets-phase-pill{font-size:.75rem;font-weight:700;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border-color);color:var(--text-muted);background:var(--surface-inset)}.sets-phase-pill.active{color:var(--secondary);border-color:var(--secondary);background:#06b6d41f}.formula-input-container{display:flex;align-items:stretch;gap:.35rem}.formula-input-container .formula-input{flex:1}body.light-mode #graph-canvas-tip{color:var(--text-secondary)}.lk-icon{width:1.125em;height:1.125em;stroke:var(--icon-stroke);color:var(--icon-accent);flex-shrink:0;vertical-align:-.15em}.lk-icon.lk-icon-muted,.text-muted .lk-icon{color:var(--icon-muted);stroke:var(--icon-muted)}.nav-btn .lk-icon{color:var(--icon-stroke);stroke:var(--icon-stroke)}.nav-btn.active .lk-icon,.nav-btn:hover .lk-icon{color:var(--icon-accent);stroke:var(--icon-accent)}.section-icon.lk-icon,h2>.lk-icon{width:1.35rem;height:1.35rem;margin-right:.5rem;stroke:var(--icon-stroke);color:var(--icon-accent)}.stat-badge .lk-icon{stroke:currentColor;color:currentColor}.text-yellow .lk-icon{color:var(--warning);stroke:var(--warning)}.text-orange .lk-icon{color:#ea580c;stroke:#ea580c}.text-cyan .lk-icon{color:var(--secondary);stroke:var(--secondary)}.text-green .lk-icon{color:var(--accent);stroke:var(--accent)}.text-danger .lk-icon{color:var(--danger);stroke:var(--danger)}.text-giant.lk-icon,.placeholder-result-message .lk-icon.text-giant{width:3.5rem;height:3.5rem}.module-badge .lk-icon,.tech-field-tag .lk-icon{width:1rem;height:1rem;margin-right:.15rem}.theme-toggle-btn .lk-icon{width:1.15rem;height:1.15rem;stroke:var(--icon-accent);color:var(--icon-accent)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);color:var(--warning);cursor:pointer;transition:var(--transition-fast)}.theme-toggle-btn:hover{border-color:var(--border-focus);box-shadow:0 0 12px var(--primary-glow)}:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast-container{position:fixed;top:5.5rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.65rem;max-width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast-message{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border-radius:12px;background:var(--bg-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;box-shadow:0 8px 32px #00000040;transform:translate(120%);opacity:0;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease;pointer-events:auto;cursor:pointer}.toast-message.toast-visible{transform:translate(0);opacity:1}.toast-message.toast-exit{transform:translate(120%);opacity:0}.toast-success{border-left:4px solid var(--accent)}.toast-success i{color:var(--accent)}.toast-error{border-left:4px solid var(--danger)}.toast-error i{color:var(--danger)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning i{color:var(--warning)}.toast-info{border-left:4px solid var(--secondary)}.toast-info i{color:var(--secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.light-mode .modal-overlay{background:#0f172a73}body.modal-open{overflow:hidden}.modal-card{width:min(520px,100%);background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 24px 64px #00000059;animation:modalSlideIn .35s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.modal-header h3{font-size:1.25rem;margin:0}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.35rem;border-radius:8px}.modal-body{padding:.75rem 1.5rem 1rem;color:var(--text-secondary);line-height:1.6}.modal-footer{padding:.75rem 1.5rem 1.25rem;display:flex;justify-content:flex-end}.logic-error-card{margin:1rem 0;padding:1rem 1.15rem;border-radius:12px;border:1px solid rgba(239,68,68,.45);background:#ef444414;box-shadow:0 0 24px #ef444426}.error-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--danger);margin-bottom:.5rem}.logic-error-msg{color:#fecaca;font-weight:600;margin-bottom:.35rem}body.light-mode .logic-error-msg{color:#b91c1c}.logic-error-hint{font-size:.875rem;color:var(--text-secondary)}.quiz-explanation-panel{margin:1rem 1.25rem 0;padding:1rem 1.15rem;border-radius:12px;border:1px solid var(--border-color);background:#8b5cf614}.quiz-explanation-panel h5{font-size:.95rem;margin-bottom:.5rem;color:var(--primary)}.quiz-explanation-panel p,.quiz-explanation-panel code{font-size:.9rem;color:var(--text-secondary)}.text-small{font-size:.85rem}
