@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-body: #ffffff;--bg-surface: #f8fafc;--bg-panel: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-subtle: #e2e8f0;--border-focus: #94a3b8;--primary: #0f172a;--primary-rgb: 15, 23, 42;--primary-fg: #ffffff;--accent: #0ea5e9;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--space-2: .5rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;font-family:Outfit,sans-serif}body.dark{--bg-body: #0f172a;--bg-surface: #1e293b;--bg-panel: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border-subtle: #334155;--border-focus: #475569;--primary: #f8fafc;--primary-fg: #0f172a;--primary-rgb: 248, 250, 252}*{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}body{background-color:var(--bg-body);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.flex{display:flex!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.flex-center{display:flex;align-items:center;justify-content:center}.text-center{text-align:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.card{background-color:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.card--interactive{cursor:pointer;transition:transform .2s,border-color .2s}.card--interactive:hover{transform:translateY(-2px);border-color:var(--border-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:inherit;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--primary);color:var(--primary-fg)}.btn--primary:hover{background-color:#334155}.btn--secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn--secondary:hover{background-color:var(--border-subtle);border-color:var(--border-focus)}.btn--outline{background-color:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn--outline:hover{border-color:var(--text-primary);color:var(--text-primary)}.btn--destructive{background-color:#fff1f2;color:var(--color-error)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover{background-color:var(--bg-surface);color:var(--text-primary)}.btn--full{width:100%}.heading-xl{font-size:2.25rem;font-weight:700;margin-bottom:var(--space-2)}.subheading{font-size:1.125rem;color:var(--text-secondary);margin-bottom:var(--space-8)}.app-container{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);width:100%;max-width:1000px;margin:0 auto}.glass-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:all .2s ease}.label-text{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem}.input-field{width:100%;padding:.75rem 1rem;background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:1rem;transition:all .2s;outline:none}.input-field:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #0ea5e91a}.input-field::placeholder{color:var(--text-tertiary)}.editor-textarea{background-color:#1e293b;color:#e2e8f0;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.6;tab-size:2;transition:background-color .2s}.editor-textarea:focus{background-color:#0f172a}.reaction-wrapper{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--space-4)}.game-area{position:relative;background-color:#fff;border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);flex:1;width:100%;overflow:hidden;min-height:400px}.word-target{padding:.6rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;background:#fff;border:2px solid var(--primary);color:var(--primary);box-shadow:2px 2px 0 var(--primary)}.word-target:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--primary)}.word-target.correct{border-color:var(--color-success);color:var(--color-success);box-shadow:4px 4px 0 var(--color-success)}.word-target.incorrect{border-color:var(--color-error);color:var(--color-error);box-shadow:4px 4px 0 var(--color-error)}.perspective-1000{perspective:1000px}.memory-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d;cursor:pointer}.memory-card-flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-face{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 6px -1px #0000001a}.memory-card-front{background-color:var(--bg-surface);color:var(--text-primary);border:2px solid var(--primary);font-size:2rem}.memory-card-back{background-color:var(--primary);color:var(--primary-fg);transform:rotateY(180deg);font-size:1rem;padding:.5rem;border:2px solid var(--primary)}.crossword-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-8);align-items:center}.crossword-grid-card{background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:var(--space-6);box-shadow:0 4px 6px -1px #0000000d}.clues-container{width:100%;max-width:900px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-8);display:grid;grid-template-columns:1fr;gap:var(--space-8);box-shadow:0 1px 2px #0000000d}@media(min-width:768px){.clues-container{grid-template-columns:1fr 1fr}}.clue-section-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.clue-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.clue-icon.across{background-color:#f1f5f9;color:var(--primary)}.clue-icon.down{background-color:#eff6ff;color:#2563eb}.clue-item{width:100%;text-align:left;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;transition:all .2s;display:flex;align-items:flex-start;gap:var(--space-4);font-family:inherit;color:var(--text-secondary)}.clue-item:hover{background-color:var(--bg-surface);color:var(--text-primary)}.clue-item.selected{background-color:#f1f5f9;color:var(--primary);font-weight:500}.clue-number{font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:4px;background-color:var(--bg-surface);color:var(--text-tertiary);margin-top:3px}.quiz-option{width:100%;padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background-color:var(--bg-surface);color:var(--text-primary);text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1.125rem;font-weight:500;display:flex;align-items:center;gap:var(--space-4);position:relative;overflow:hidden}.quiz-option:hover{background-color:#f1f5f9;transform:translateY(-2px);border-color:var(--border-focus)}.quiz-option.selected{border:2px solid var(--primary);background-color:var(--primary);color:var(--primary-fg);transform:scale(1.01);box-shadow:0 4px 12px #0f172a26}.quiz-option.selected:hover{background-color:var(--primary);transform:scale(1.01) translateY(0)}.quiz-indicator{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-focus);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.quiz-option.selected .quiz-indicator{border-color:var(--primary-fg);background-color:var(--primary-fg)}.quiz-indicator:after{content:"";width:10px;height:10px;background-color:var(--primary);border-radius:50%;opacity:0;transform:scale(0);transition:all .2s}.quiz-option.selected .quiz-indicator:after{opacity:1;transform:scale(1)}@keyframes blink-green{0%,to{border-color:var(--primary);box-shadow:none}50%{border-color:var(--color-success);box-shadow:0 0 15px var(--color-success)}}.blink-green{animation:blink-green 1s ease-in-out infinite}.summary-container{width:100%;max-width:600px;margin:0 auto;padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;align-items:center;animation:fadeIn .8s ease-out}.summary-header{text-align:center;margin-bottom:var(--space-8)}.trophy-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,#fef9c3,#fef3c7);color:#b45309;border-radius:50%;margin-bottom:var(--space-4);box-shadow:0 4px 6px -1px #eab30833;animation:float 3s ease-in-out infinite}.score-card{width:100%;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-8);color:#fff;text-align:center;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #4f46e54d,0 10px 10px -5px #4f46e533;transform-style:preserve-3d}.score-card:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);border-radius:50%;pointer-events:none}.score-label{color:#e0e7ff;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);font-size:.875rem}.score-value{font-size:4.5rem;font-weight:800;line-height:1;margin-bottom:var(--space-4);text-shadow:0 4px 6px rgba(0,0,0,.1)}.score-value span{font-size:2.5rem;opacity:.8;vertical-align:super}.stars-container{display:flex;justify-content:center;gap:.25rem}.activity-breakdown{width:100%;background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d;border:1px solid var(--border-subtle);overflow:hidden;margin-bottom:var(--space-8)}.breakdown-header{padding:var(--space-4);background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.breakdown-header h3{font-weight:700;color:var(--text-primary);font-size:1rem}.activity-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-subtle);transition:background-color .2s}.activity-list-item:last-child{border-bottom:none}.activity-list-item:hover{background-color:var(--bg-surface)}.activity-rank{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;margin-right:var(--space-4)}.rank-high{background-color:#dcfce7;color:#15803d}.rank-med{background-color:#fef9c3;color:#a16207}.rank-low{background-color:#fee2e2;color:#b91c1c}.activity-info{display:flex;align-items:center}.activity-name{font-weight:600;color:var(--text-primary)}.activity-score{font-weight:700;color:var(--text-primary);font-size:1.125rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.lesson-runner-container{width:100%;max-width:100vw;display:flex;flex-direction:column;min-height:100vh;padding:0;background-color:var(--bg-body);overflow-x:hidden}.lesson-header-row{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;z-index:10}.lesson-header-group{display:flex;align-items:center;gap:1rem}.coin-badge{display:flex;align-items:center;justify-content:center;gap:12px;padding:.5rem 1rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:9999px}.lesson-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;margin:0;padding-bottom:4rem}.lesson-content-inner{width:100%;max-width:1100px;margin:0 auto;padding:0 2rem 4rem;display:flex;flex-direction:column;align-items:center}.fixed-preview-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.difficulty-card-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .3s ease-in}.difficulty-card{position:relative;overflow:hidden}.difficulty-card-overlay{position:absolute;inset:0;opacity:0;transition:opacity .3s;pointer-events:none;background:#00000005}.difficulty-card:hover .difficulty-card-overlay{opacity:1}.crossword-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:600px;margin:0 auto;text-align:center;padding:2rem}.crossword-clue-box{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:.5rem;padding:1rem;width:100%;text-align:center;animation:fadeIn .3s ease-out}.crossword-clue-label{font-weight:700;color:#1e40af;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.crossword-clue-text{color:#334155;font-weight:500}.auth-form{display:flex;flex-direction:column;gap:1rem}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}.overflow-hidden{overflow:hidden}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.group:hover .group-hover\:opacity-100{opacity:1!important}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-warning{color:var(--color-warning)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{display:inline-block!important;animation:spin 1s linear infinite!important}
