@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--cloudbone-white:#f8f6f3;--cloudbone-white-pure:#fff;--slate-grey:#4a5568;--slate-grey-dark:#2d3748;--slate-grey-light:#718096;--neural-copper:#c4a484;--neural-copper-light:#d4b896;--neural-copper-dark:#a68b6a;--iris-bloom:#9b8aa3;--iris-bloom-light:#b5a7bc;--iris-bloom-dark:#7d6e85;--glacial-cyan:#7ba3a8;--glacial-cyan-light:#9bbcc0;--glacial-cyan-dark:#5e8589;--background:var(--cloudbone-white);--background-pure:var(--cloudbone-white-pure);--foreground:var(--slate-grey-dark);--foreground-muted:var(--slate-grey);--foreground-subtle:var(--slate-grey-light);--primary:var(--iris-bloom);--primary-hover:var(--iris-bloom-dark);--primary-light:var(--iris-bloom-light);--accent-warm:var(--neural-copper);--accent-cool:var(--glacial-cyan);--border:#e8e5e0;--border-subtle:#f0ede8;--muted:#f5f3f0;--success:#7ba384;--error:#a3847b;--warning:var(--neural-copper);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--wordmark-spacing:.2em;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}@media (prefers-color-scheme:dark){:root{--background:#1a1918;--background-pure:#0f0e0d;--foreground:#e8e5e0;--foreground-muted:#c4c0b8;--foreground-subtle:#8a8680;--border:#2d2b28;--border-subtle:#252320;--muted:#242220;--primary:#b5a7bc;--primary-hover:#c8bdd0;--primary-light:#9b8aa3}}[data-theme=dark]{--background:#1a1918;--background-pure:#0f0e0d;--foreground:#e8e5e0;--foreground-muted:#c4c0b8;--foreground-subtle:#8a8680;--border:#2d2b28;--border-subtle:#252320;--muted:#242220;--primary:#b5a7bc;--primary-hover:#c8bdd0;--primary-light:#9b8aa3}
*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;line-height:1.6}h1{letter-spacing:-.02em;color:var(--foreground);font-size:2rem;font-weight:600;line-height:1.2}h2{letter-spacing:-.02em;color:var(--foreground);font-size:1.5rem;font-weight:600;line-height:1.3}h3{letter-spacing:-.01em;color:var(--foreground);font-size:1.125rem;font-weight:500;line-height:1.4}p{color:var(--foreground-muted);line-height:1.7}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}strong{font-weight:600}.btn{border-radius:var(--radius-md);font-size:1rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;line-height:1.4;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:active{transform:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--muted);color:var(--foreground);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--border)}.btn-large{border-radius:var(--radius-lg);padding:1rem 2.5rem;font-size:1.125rem}.btn-small{padding:.5rem 1rem;font-size:.875rem}.btn-ghost{color:var(--foreground-muted);background:0 0;border:none;padding:.5rem 1rem}.btn-ghost:hover:not(:disabled){background-color:var(--muted);color:var(--foreground)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.landing{background:var(--background);justify-content:center;align-items:center;min-height:100vh;display:flex}.landing-container{width:100%;max-width:640px;padding:var(--space-lg);text-align:center}.landing-hero{margin-bottom:var(--space-xl)}.landing-logo{width:120px;height:auto;margin:0 auto var(--space-md);display:block}.landing-wordmark{letter-spacing:var(--wordmark-spacing);color:var(--foreground);margin-bottom:var(--space-xs);font-size:2.5rem;font-weight:300;line-height:1}.landing-subtitle{color:var(--primary);margin-bottom:var(--space-sm);letter-spacing:.05em;font-size:1.25rem;font-weight:400}.landing-tagline{color:var(--foreground-muted);font-size:1.125rem;font-style:italic;font-weight:300}.landing-cta{margin-bottom:var(--space-xl);align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.landing-link{color:var(--foreground-subtle);font-size:.875rem}.landing-link:hover{color:var(--primary)}.landing-features{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.landing-feature{text-align:center;padding:var(--space-md)}.feature-icon{width:48px;height:48px;margin:0 auto var(--space-sm);color:var(--primary)}.feature-icon svg{width:100%;height:100%}.landing-feature h3{margin-bottom:var(--space-xs);color:var(--foreground);font-size:.95rem;font-weight:600}.landing-feature p{color:var(--foreground-subtle);font-size:.85rem;line-height:1.5}.landing-footer{padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}.landing-footer p{color:var(--foreground-subtle);letter-spacing:.02em;font-size:.8rem}.login-page{background:var(--background);min-height:100vh;padding:var(--space-sm);justify-content:center;align-items:center;display:flex}.login-card{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-lg);text-align:center}.login-card h1{margin-bottom:var(--space-xs);font-size:1.5rem}.login-card>p{color:var(--foreground-subtle);margin-bottom:var(--space-md);font-size:.9rem}.btn-oauth{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background:var(--background-pure);width:100%;color:var(--foreground);transition:background-color var(--transition-fast);justify-content:center;align-items:center;padding:.75rem;font-size:.95rem;font-weight:500;display:flex}.btn-oauth:hover:not(:disabled){background:var(--muted)}.btn-oauth:disabled{opacity:.5;cursor:not-allowed}.login-divider{align-items:center;gap:var(--space-sm);margin:var(--space-md)0;color:var(--foreground-subtle);font-size:.8rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-form{gap:var(--space-sm);flex-direction:column;display:flex}.login-form input[type=email]{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-size:1rem;font-family:var(--font-sans);background:var(--background);color:var(--foreground);transition:border-color var(--transition-fast);padding:.75rem 1rem}.login-form input[type=email]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #9b8aa326}.login-form input[type=email]::placeholder{color:var(--foreground-subtle)}.login-form .btn{width:100%}.message{margin-top:var(--space-sm);border-radius:var(--radius-md);text-align:left;padding:.75rem;font-size:.875rem}.message.success{color:var(--success);background:#7ba3841a;border:1px solid #7ba38433}.message.error{color:var(--error);background:#a3847b1a;border:1px solid #a3847b33}.dashboard{background:var(--background);min-height:100vh;padding:var(--space-md);max-width:800px;margin:0 auto}.dashboard-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.dashboard-header h1{font-size:1.5rem}.dashboard-header nav{align-items:center;gap:var(--space-sm);display:flex}.dashboard-header nav a{color:var(--foreground-muted);font-size:.875rem}.dashboard-header nav a:hover{color:var(--primary)}.dashboard-header nav form button{color:var(--foreground-subtle);cursor:pointer;font-size:.875rem;font-family:var(--font-sans);background:0 0;border:none}.dashboard-header nav form button:hover{color:var(--error)}.dashboard-content{gap:var(--space-md);flex-direction:column;display:flex}.dashboard-card{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md)}.dashboard-card h3{margin-bottom:var(--space-sm)}.welcome-section{text-align:center;padding:var(--space-md)0}.welcome-section h2{margin-bottom:var(--space-xs)}.welcome-section p{font-size:.9rem}.stats-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.stat-card.highlight{border-color:var(--primary-light);background:#9b8aa30a}.stat-value{color:var(--foreground);font-size:2rem;font-weight:700;line-height:1.2;display:block}.stat-label{color:var(--foreground-subtle);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.8rem;display:block}.main-cta{text-align:center;padding:var(--space-md)0}.main-cta .btn{min-width:240px}.session-page{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.session-header{padding:var(--space-sm)var(--space-md);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.session-header h1{font-size:1.125rem;font-weight:500}.session-header-actions{align-items:center;gap:var(--space-xs);display:flex}.session-progress{background:var(--border);width:100%;height:4px;overflow:hidden}.session-progress-fill{background:var(--primary);height:100%;transition:width var(--transition-base);border-radius:0 2px 2px 0}.math-problem{padding:var(--space-lg)var(--space-md);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:400px;display:flex}.math-expression{color:var(--foreground);letter-spacing:-.02em;margin-bottom:var(--space-lg);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-size:3.5rem;font-weight:700;line-height:1.2}.math-expression-large{font-size:4rem}.math-expression-small{font-size:2.5rem}.math-expression.fill-in-blank{letter-spacing:0;-webkit-user-select:text;user-select:text;font-size:1.75rem;line-height:1.5}.answer-input-inline{text-align:center;width:6ch;font-size:inherit;font-weight:inherit;vertical-align:baseline;margin:0 .25em;display:inline-block}.math-expression.multi-step{letter-spacing:0;-webkit-user-select:text;user-select:text;gap:var(--space-sm);text-align:left;flex-direction:column;align-items:stretch;font-size:1.5rem;line-height:1.6;display:flex}.multi-step-row{align-items:center;gap:var(--space-sm);display:flex}.multi-step-prompt{flex:1}.math-expression.ordering{letter-spacing:0;-webkit-user-select:text;user-select:text;gap:var(--space-md);flex-direction:column;font-size:1.5rem;line-height:1.4;display:flex}.ordering-prompt{color:var(--foreground-muted);font-size:1.25rem;font-weight:500}.ordering-grid{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.ordering-card{min-width:5ch;padding:var(--space-sm)var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);cursor:pointer;font-size:1.25rem;font-weight:600;transition:all .1s;position:relative}.ordering-card:hover:not(:disabled){border-color:var(--accent);background:var(--background-subtle)}.ordering-card-picked{border-color:var(--accent);background:var(--accent-subtle,var(--background-subtle))}.ordering-card:disabled{cursor:default;opacity:.6}.ordering-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;font-weight:700;display:inline-flex;position:absolute;top:-10px;right:-10px}.ordering-label{display:inline-block}.math-expression.matching{letter-spacing:0;-webkit-user-select:text;user-select:text;gap:var(--space-md);flex-direction:column;font-size:1.5rem;line-height:1.4;display:flex}.matching-prompt{color:var(--foreground-muted);font-size:1.25rem;font-weight:500}.matching-rows{gap:var(--space-sm);flex-direction:column;display:flex}.matching-row{align-items:center;gap:var(--space-sm);font-size:1.5rem;display:flex}.matching-left{text-align:right;flex:none;min-width:6ch;font-weight:600}.matching-arrow{color:var(--foreground-muted);flex:none}.matching-select{padding:var(--space-xs)var(--space-sm);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);cursor:pointer;flex:1;font-size:1.25rem}.matching-select:focus{border-color:var(--accent);outline:none}.math-prompt{color:var(--foreground-muted);margin-bottom:var(--space-sm);font-size:1.125rem;font-weight:400}.math-skill-label{color:var(--foreground-subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm);font-size:.75rem}.answer-input{width:100%;max-width:320px;margin:0 auto}.numeric-input{width:100%;font-size:2rem;font-weight:600;font-family:var(--font-sans);font-variant-numeric:tabular-nums;text-align:center;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--background-pure);color:var(--foreground);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-moz-appearance:textfield;outline:none;padding:1rem 1.25rem}.numeric-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numeric-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numeric-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #9b8aa326}.numeric-input::placeholder{color:var(--foreground-subtle);font-size:1.25rem;font-weight:400}.numeric-input:disabled{opacity:.5;cursor:not-allowed}.answer-submit-row{gap:var(--space-xs);margin-top:var(--space-sm);display:flex}.answer-submit-row .btn{flex:1}.choices-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);width:100%;max-width:400px;margin:0 auto;display:grid}.choice-btn{font-size:1.5rem;font-weight:600;font-family:var(--font-sans);font-variant-numeric:tabular-nums;text-align:center;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--background-pure);color:var(--foreground);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none;padding:1.25rem 1rem}.choice-btn:hover:not(:disabled){border-color:var(--primary-light);background:#9b8aa30f;transform:translateY(-1px)}.choice-btn:active:not(:disabled){transform:scale(.97)}.choice-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.choice-btn:disabled{opacity:.5;cursor:not-allowed}.choice-btn.selected{border-color:var(--primary);background:#9b8aa31a}.choice-btn.correct{border-color:var(--success);color:var(--success);background:#7ba3841f}.choice-btn.incorrect{border-color:var(--error);color:var(--error);background:#a3847b1f}.timer-display{font-size:.8rem;font-family:var(--font-mono);color:var(--foreground-subtle);letter-spacing:.03em;border-radius:var(--radius-sm);background:var(--muted);align-items:center;gap:.35rem;padding:.25rem .75rem;display:inline-flex}.timer-display .timer-icon{opacity:.6;width:14px;height:14px}.timer-display.timer-slow{color:var(--warning)}.timer-display.timer-fast{color:var(--success)}.feedback-card{width:100%;max-width:480px;padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);text-align:center;margin:0 auto;animation:.25s ease-out feedbackSlideIn}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.feedback-correct{background:#7ba38414;border:1px solid #7ba38433}.feedback-correct .feedback-title{color:var(--success);margin-bottom:var(--space-xs);font-size:1.25rem;font-weight:600}.feedback-incorrect{background:#a3847b14;border:1px solid #a3847b33}.feedback-incorrect .feedback-title{color:var(--error);margin-bottom:var(--space-xs);font-size:1.25rem;font-weight:600}.feedback-answer{color:var(--foreground-muted);margin-bottom:var(--space-xs);font-size:1rem}.feedback-answer strong{color:var(--foreground)}.feedback-time{color:var(--foreground-subtle);font-size:.8rem;font-family:var(--font-mono)}.feedback-expected{color:var(--foreground);margin-top:var(--space-xs);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.session-complete{background:var(--background);min-height:100vh;padding:var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.complete-hero{margin-bottom:var(--space-lg)}.complete-hero h1{margin-bottom:var(--space-xs);font-size:2rem}.complete-hero p{font-size:1.125rem}.complete-summary{width:100%;max-width:560px;margin-bottom:var(--space-lg)}.complete-grid{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.complete-stat{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.complete-stat .stat-value{color:var(--foreground);font-size:2rem;font-weight:700}.complete-stat .stat-label{color:var(--foreground-subtle);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.8rem}.complete-skills{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);text-align:left}.complete-skills h3{text-transform:uppercase;letter-spacing:.05em;color:var(--foreground-subtle);margin-bottom:var(--space-xs);font-size:.875rem}.complete-skills-list{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.complete-skills-list li{background:var(--muted);border-radius:var(--radius-sm);color:var(--foreground-muted);padding:.25rem .75rem;font-size:.85rem}.complete-actions{gap:var(--space-sm);justify-content:center;display:flex}.block-complete-card{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:var(--space-lg);text-align:center;margin:0 auto;animation:.3s ease-out feedbackSlideIn}.block-complete-card h2{margin-bottom:var(--space-xs);font-size:1.5rem}.block-complete-card p{margin-bottom:var(--space-md)}.block-stats{gap:var(--space-sm);margin-bottom:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.block-stat{padding:var(--space-sm);background:var(--muted);border-radius:var(--radius-md)}.block-stat .stat-value{font-size:1.5rem;font-weight:700}.block-stat .stat-label{font-size:.75rem}.block-actions{gap:var(--space-sm);justify-content:center;display:flex}.block-actions .btn{min-width:140px}.theme-toggle{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;font-size:1.25rem;line-height:1;display:inline-flex}.theme-toggle:hover{background:var(--muted)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.session-loading{padding:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.session-loading p{color:var(--foreground-subtle);font-size:.9rem}.session-error{padding:var(--space-xl);text-align:center;justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.session-error h2{color:var(--error)}.session-error p{max-width:400px}.session-idle{padding:var(--space-xl);text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;flex:1;display:flex}.session-idle h2{font-size:1.5rem}.skip-btn{color:var(--foreground-subtle);cursor:pointer;border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-sans);transition:color var(--transition-fast),background-color var(--transition-fast);margin-top:var(--space-sm);background:0 0;border:none;padding:.5rem 1rem}.skip-btn:hover:not(:disabled){color:var(--foreground-muted);background:var(--muted)}.skip-btn:disabled{opacity:.3;cursor:not-allowed}.session-footer{padding:var(--space-sm)var(--space-md);border-top:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:var(--space-sm);display:flex}.card{background:var(--background-pure);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md)}.build-fingerprint{font-size:.65rem;font-family:var(--font-mono);color:var(--foreground-subtle);text-align:right;opacity:.5;padding:.25rem}@media (max-width:768px){.landing-features{gap:var(--space-sm);grid-template-columns:1fr}.landing-wordmark{font-size:2rem}.landing-container{padding:var(--space-md)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.stat-card{padding:var(--space-sm)}.stat-value{font-size:1.5rem}.math-expression{font-size:2.75rem}.math-expression-large{font-size:3.25rem}.numeric-input{padding:.875rem 1rem;font-size:1.75rem}.choice-btn{padding:1rem .75rem;font-size:1.25rem}.choices-grid{gap:.75rem}.complete-grid,.block-stats{grid-template-columns:repeat(2,1fr)}.dashboard{padding:var(--space-sm)}.dashboard-header{gap:var(--space-xs);text-align:center;flex-direction:column}.dashboard-header nav{flex-wrap:wrap;justify-content:center}.session-header{padding:var(--space-xs)var(--space-sm)}}@media (max-width:480px){.landing-logo{width:80px}.landing-wordmark{font-size:1.75rem}.stats-grid{grid-template-columns:1fr}.math-expression{font-size:2.25rem}.math-expression-large{font-size:2.75rem}.math-problem{padding:var(--space-md)var(--space-sm);min-height:320px}.numeric-input{padding:.75rem;font-size:1.5rem}.choice-btn{padding:.875rem .5rem;font-size:1.125rem}.choices-grid{gap:.5rem;max-width:320px}.complete-grid,.block-stats{grid-template-columns:1fr}.block-complete-card{padding:var(--space-md)}.feedback-card{padding:var(--space-sm)var(--space-md)}.feedback-expected{font-size:1.5rem}.complete-actions{flex-direction:column}.complete-actions .btn{width:100%}.block-actions{flex-direction:column}.block-actions .btn{width:100%}.btn-large{padding:.875rem 2rem;font-size:1rem}.login-card{padding:var(--space-md)}}[data-theme=dark] .login-card{background:var(--muted);border-color:var(--border)}[data-theme=dark] .btn-oauth{background:var(--background);border-color:var(--border)}[data-theme=dark] .btn-oauth:hover:not(:disabled){background:var(--border)}[data-theme=dark] .stat-card{background:var(--muted);border-color:var(--border)}[data-theme=dark] .stat-card.highlight{background:#b5a7bc14;border-color:#b5a7bc33}[data-theme=dark] .dashboard-card,[data-theme=dark] .card{background:var(--muted);border-color:var(--border)}[data-theme=dark] .numeric-input{background:var(--background);border-color:var(--border);color:var(--foreground)}[data-theme=dark] .numeric-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #b5a7bc26}[data-theme=dark] .choice-btn{background:var(--background);border-color:var(--border);color:var(--foreground)}[data-theme=dark] .choice-btn:hover:not(:disabled){border-color:var(--primary-light);background:#b5a7bc14}[data-theme=dark] .choice-btn.selected{border-color:var(--primary);background:#b5a7bc1f}[data-theme=dark] .block-complete-card{background:var(--muted);border-color:var(--border)}[data-theme=dark] .block-stat{background:var(--background)}[data-theme=dark] .complete-stat,[data-theme=dark] .complete-skills{background:var(--muted);border-color:var(--border)}[data-theme=dark] .complete-skills-list li{background:var(--background)}[data-theme=dark] .feedback-correct{background:#7ba3841a;border-color:#7ba38440}[data-theme=dark] .feedback-incorrect{background:#a3847b1a;border-color:#a3847b40}[data-theme=dark] .login-form input[type=email]{background:var(--background);border-color:var(--border);color:var(--foreground)}[data-theme=dark] .login-form input[type=email]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #b5a7bc26}[data-theme=dark] .timer-display{background:var(--background)}@media (prefers-color-scheme:dark){.login-card{background:var(--muted);border-color:var(--border)}.btn-oauth{background:var(--background);border-color:var(--border)}.stat-card{background:var(--muted);border-color:var(--border)}.numeric-input,.choice-btn{background:var(--background);border-color:var(--border)}}.mastery-not-started{background:var(--slate-200,#e2e8f0)!important;color:var(--slate-500,#64748b)!important}.mastery-learning{color:#92400e!important;background:#fef3c7!important;border-color:#f59e0b!important}.mastery-learned{color:#065f46!important;background:#d1fae5!important;border-color:#10b981!important}.mastery-mastered{color:#3730a3!important;background:#c7d2fe!important;border-color:#6366f1!important}.mastery-legend{flex-wrap:wrap;gap:1rem;padding:.5rem 0;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.session-stats-bar{color:var(--text-secondary,#64748b);justify-content:center;gap:1rem;padding:.25rem 0;font-size:.85rem;display:flex}.stat-inline{background:var(--surface,#f8fafc);border-radius:4px;padding:.15rem .5rem}.streak-badge{color:#92400e;background:#fef3c7;font-weight:500}.break-banner{color:#78350f;text-align:center;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;max-width:32rem;margin:.75rem auto;padding:.75rem 1rem;display:flex}.break-banner-text{font-size:.95rem;font-weight:500}.break-banner-actions{gap:.5rem;display:flex}.hint-section{text-align:center;max-width:32rem;margin:.5rem auto 1rem}.btn-hint{opacity:.75;padding:.25rem .75rem;font-size:.85rem}.btn-hint:hover{opacity:1}.hint-revealed{background:var(--surface,#f8fafc);color:var(--text-secondary,#64748b);border-left:3px solid #93c5fd;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.feedback-explanation{text-align:left;background:#fff9;border-radius:6px;margin-top:.5rem;padding:.5rem .75rem;font-size:.9rem;line-height:1.4}
