.pricing-page{min-height:100vh;background:var(--bg-secondary);padding:40px 20px}.pricing-header{max-width:1200px;margin:0 auto 50px;text-align:center}.pricing-header .back-link{color:var(--color-accent, var(--brand-primary));text-decoration:none;font-weight:600;display:inline-block;margin-bottom:30px;transition:opacity .15s ease}.pricing-header .back-link:hover{opacity:.9}.pricing-header h1{margin:0 0 15px;color:var(--text-primary);font-size:1.75rem}.pricing-header p{color:var(--text-secondary);font-size:1rem;margin:0}.current-tier-badge{display:inline-block;margin-top:20px;padding:10px 20px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-full);color:var(--success-text);font-weight:600}.pricing-grid{max-width:1240px;margin:0 auto 60px;padding:0 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;box-sizing:border-box}.pricing-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px 18px;border:1px solid var(--border-color);position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;transition:border-color .15s ease}.pricing-card:hover{border-color:var(--color-accent, var(--brand-primary))}.pricing-card.highlighted{border-color:var(--brand-primary)}.pricing-card.current{border-color:var(--success-border)}.badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;white-space:nowrap}.badge.current-badge{background:var(--success-border);color:#fff}.pricing-card.highlighted .badge{background:var(--brand-primary);color:var(--brand-text, white)}.pricing-card h2{margin:12px 0 8px;color:var(--text-primary);font-size:1.5rem;text-align:center}.price{text-align:center;margin:12px 0;min-height:70px;display:flex;flex-direction:column;justify-content:center}.price .amount{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.price .period{font-size:.875rem;color:var(--text-muted);font-weight:400;margin-top:4px}.tier-description{text-align:center;color:var(--text-secondary);font-size:.8125rem;font-style:italic;margin:0 0 20px;min-height:42px;line-height:1.4;display:flex;align-items:center;justify-content:center}.features{list-style:none;margin:0 0 auto;padding:0;flex-grow:1}.features li{padding:10px 0;color:var(--text-secondary);font-size:.8125rem;line-height:1.4;border-bottom:1px solid var(--border-light);text-align:left;word-wrap:break-word;display:flex;align-items:center;gap:8px}.features li:last-child{border-bottom:none}.features li .check-icon{color:var(--success-text);flex-shrink:0}.btn-subscribe{width:100%;padding:13px 16px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .15s ease;margin-top:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-subscribe:hover:not(:disabled){opacity:.9}.btn-subscribe.primary{background:var(--brand-primary)}.btn-subscribe:disabled{opacity:.6;cursor:not-allowed}.referral-info-section{max-width:1200px;margin:60px auto 40px;padding:50px 40px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center}.referral-info-section h2{margin:0 0 15px;color:var(--text-primary);font-size:1.5rem}.referral-info-section>p{color:var(--text-secondary);font-size:1rem;margin:0 0 40px}.referral-details{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}.referral-benefit{background:var(--bg-card-alt);padding:35px 25px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.referral-benefit h3{margin:0 0 12px;color:var(--text-primary);font-size:1.25rem}.referral-benefit p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.6}.referral-note{color:var(--text-secondary);font-size:.875rem;margin:25px 0;font-style:italic}.btn-get-referral{padding:15px 40px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;margin-top:20px}.btn-get-referral:hover{opacity:.9}.coming-soon-section{max-width:1200px;margin:60px auto 40px;padding:50px 40px;background:var(--bg-card-alt);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center}.coming-soon-section h2{margin:0 0 15px;color:var(--text-primary);font-size:1.5rem}.coming-soon-section>p{color:var(--text-secondary);font-size:1rem;margin:0 0 40px}.tutoring-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.tutoring-option{background:var(--bg-card);padding:35px 25px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.tutoring-option h3{margin:0 0 12px;color:var(--text-primary);font-size:1.25rem}.price-preview{font-size:1.75rem;font-weight:700;color:var(--color-accent, var(--brand-primary));margin:12px 0}.tutoring-option p:last-child{color:var(--text-secondary);font-size:.875rem;margin:12px 0 0;line-height:1.5}.manage-subscription{max-width:800px;margin:60px auto;padding:40px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center}.manage-subscription h3{margin:0 0 15px;color:var(--text-primary);font-size:1.5rem}.manage-subscription p{color:var(--text-secondary);margin:10px 0}.btn-manage{padding:15px 40px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;margin:25px 0 15px}.btn-manage:hover{opacity:.9}.portal-info{font-size:.875rem;color:var(--text-muted);font-style:italic}@media(max-width:1320px){.pricing-grid{grid-template-columns:repeat(2,1fr);max-width:800px}.referral-details,.tutoring-preview{grid-template-columns:1fr}}@media(max-width:768px){.pricing-page{padding:20px 15px}.pricing-header h1{font-size:1.5rem}.pricing-grid{grid-template-columns:1fr;gap:30px}.pricing-card{padding:30px 20px}.referral-info-section,.coming-soon-section{padding:40px 25px}.manage-subscription{padding:30px 20px}}.pending-link-card{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--warning-border);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px}.card-icon{width:48px;height:48px;background:var(--warning-bg);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--warning-text);flex-shrink:0}.card-content{flex:1}.card-content h4{margin:0 0 4px;color:var(--text-primary)}.card-content .email{margin:0 0 4px;color:var(--text-secondary);font-size:.875rem}.card-content .request-time{margin:0;color:var(--text-muted);font-size:.8125rem}.card-actions{display:flex;gap:8px;flex-shrink:0}.btn-approve{padding:8px 16px;background:var(--success-border);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-approve:hover:not(:disabled){opacity:.9}.btn-deny{padding:8px 16px;background:transparent;color:var(--error-text);border:1px solid var(--error-border);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-deny:hover:not(:disabled){background:var(--error-bg)}.btn-approve:disabled,.btn-deny:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.pending-link-card{flex-direction:column;align-items:stretch;text-align:center}.card-icon{align-self:center}.card-actions{justify-content:center}}.linked-accounts-settings{max-width:800px}.linked-accounts-settings h2{margin:0 0 24px;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-color)}.linked-accounts-settings h3{margin:0 0 8px;color:var(--text-primary);font-size:1.125rem}.section-description{margin:0 0 16px;color:var(--text-secondary);font-size:.875rem}.linked-accounts-loading{text-align:center;padding:40px;color:var(--text-secondary)}.invite-parent-section{background:var(--bg-card);border:1px solid var(--border-color);border-top:3px solid var(--success-text);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.invite-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.invite-header h3{margin:0;color:var(--text-primary)}.free-badge{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border);padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.5px}.invite-steps{margin:12px 0 16px;padding-left:24px;color:var(--text-primary);line-height:1.6}.invite-steps li{margin-bottom:6px}.btn-copy-invite{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--brand-primary);color:var(--bg-card);border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-copy-invite:hover:not(:disabled){opacity:.9}.btn-copy-invite.copied{opacity:.8}.btn-copy-invite:disabled{opacity:.6;cursor:not-allowed}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px}.success-message{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px}.family-code-section{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.family-code-display{display:flex;align-items:center;gap:12px;margin-top:12px}.family-code-display .code{font-family:monospace;font-size:1.5rem;font-weight:700;color:var(--brand-primary);background:var(--bg-card);padding:12px 20px;border-radius:var(--radius-md);border:1px solid var(--border-color);letter-spacing:2px}.btn-copy{padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease}.btn-copy:hover{background:var(--bg-secondary)}.btn-regenerate{padding:10px 16px;background:transparent;color:var(--brand-primary);border:1px solid var(--brand-primary);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-regenerate:hover:not(:disabled){background:var(--brand-primary);color:var(--bg-card)}.btn-regenerate:disabled{opacity:.6;cursor:not-allowed}.pending-requests-section{background:var(--bg-card);border:1px solid var(--warning-border);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.pending-requests-section h3{color:var(--warning-text)}.active-links-section{margin-bottom:24px}.active-links-list{display:flex;flex-direction:column;gap:12px}.active-link-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px}.link-info{display:flex;flex-direction:column;gap:4px}.parent-name{font-weight:600;color:var(--text-primary)}.parent-email{color:var(--text-secondary);font-size:.875rem}.approved-date{color:var(--text-muted);font-size:.8125rem}.btn-revoke{padding:8px 16px;background:transparent;color:var(--error-text);border:1px solid var(--error-text);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-revoke:hover:not(:disabled){background:var(--error-text);color:var(--bg-card)}.btn-revoke:disabled{opacity:.6;cursor:not-allowed}.no-links{color:var(--text-muted);font-style:italic}@media(max-width:600px){.family-code-display{flex-direction:column;align-items:stretch}.family-code-display .code{text-align:center}.active-link-item{flex-direction:column;gap:12px;text-align:center}.link-info{align-items:center}}.account-settings{min-height:100vh;background:var(--bg-secondary);padding:30px}.settings-header{max-width:800px;margin:0 auto 30px;background:var(--bg-card);padding:25px 30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.settings-header h1{margin:20px 0 0;color:var(--text-primary)}.settings-container{max-width:800px;margin:0 auto}.settings-section{background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);margin-bottom:25px;border:1px solid var(--border-color)}.settings-section h2{margin:0 0 20px;color:var(--text-primary);font-size:1.5rem}.parent-access-section{border:2px solid var(--success-border)}.section-header-with-badge{display:flex;align-items:center;gap:12px;margin-bottom:8px}.section-header-with-badge h2{margin:0}.free-badge-large{background:var(--success-bg);color:var(--success-text);padding:6px 14px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:700;letter-spacing:.5px;border:1px solid var(--success-border)}.section-intro{margin:0 0 16px;color:var(--success-text);font-weight:500}.settings-section p{color:var(--text-secondary);margin:0 0 20px}.info-grid{display:grid;gap:20px}.info-item{display:flex;align-items:center;padding:15px;background:var(--bg-card-alt);border-radius:var(--radius-md)}.info-item label{font-weight:600;color:var(--text-secondary);min-width:120px}.info-item span{color:var(--text-primary)}.tier-badge{background:var(--brand-primary);color:var(--bg-primary);padding:5px 15px;border-radius:var(--radius-full);font-weight:600;text-transform:capitalize}.btn-action{display:inline-flex;align-items:center;gap:8px;padding:12px 30px;background:var(--brand-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease;text-decoration:none}.btn-action:hover{opacity:.9}.theme-toggle-container{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--bg-card-alt);border-radius:var(--radius-md);flex-wrap:wrap;gap:15px}.theme-info{flex:1;min-width:200px}.theme-info label{font-weight:600;color:var(--text-primary);display:block;margin-bottom:5px}.theme-description{margin:0;color:var(--text-secondary);font-size:.875rem}.btn-theme-toggle{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--brand-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease;font-size:1rem}.btn-theme-toggle:hover{opacity:.9}.theme-icon{font-size:1.125rem}.voice-settings{display:flex;flex-direction:column;gap:20px;padding:15px;background:var(--bg-card-alt);border-radius:var(--radius-md)}.voice-setting-row{display:flex;flex-direction:column;gap:8px}.voice-setting-row label{font-weight:600;color:var(--text-primary);font-size:.875rem}.voice-slider{width:100%;accent-color:var(--color-accent, var(--brand-primary));cursor:pointer}.voice-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer}.voice-select:focus{outline:none;border-color:var(--brand-primary)}.btn-preview-voice{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--brand-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease;align-self:flex-start}.btn-preview-voice:hover:not(:disabled){opacity:.9}.btn-preview-voice:disabled{opacity:.5;cursor:not-allowed}.danger-zone{border:2px solid var(--error-border);background:var(--error-bg)}.danger-zone h2{display:flex;align-items:center;gap:8px;color:var(--error-text)}.warning-text{color:var(--error-text);font-weight:500}.btn-delete{padding:12px 30px;background:var(--error-border);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-delete:hover{opacity:.9}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:40px;max-width:600px;width:100%;border:1px solid var(--border-color)}.modal-content h2{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:var(--error-text);font-size:1.75rem}.modal-warning{color:var(--error-text);font-size:1.125rem;font-weight:500;margin:0 0 25px}.data-loss-warning{background:var(--error-bg);border:2px solid var(--error-border);border-radius:var(--radius-md);padding:20px;margin-bottom:25px}.data-loss-warning h3{margin:0 0 15px;color:var(--error-text)}.data-loss-warning ul{margin:0;padding-left:20px;color:var(--error-text)}.data-loss-warning li{margin:8px 0}.confirmation-input{margin-bottom:30px}.confirmation-input label{display:block;margin-bottom:10px;color:var(--text-primary);font-weight:600}.delete-input{width:100%;padding:12px;border:2px solid var(--error-border);border-radius:var(--radius-md);font-size:1rem;font-weight:600;background:var(--input-bg);color:var(--text-primary)}.delete-input:focus{outline:none;border-color:var(--error-text)}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.btn-cancel{padding:12px 30px;background:var(--bg-card-alt);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background-color .15s ease}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-delete{padding:12px 30px;background:var(--error-border);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-confirm-delete:hover:not(:disabled){opacity:.9}.btn-confirm-delete:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.account-settings{padding:15px}.settings-section{padding:20px}.modal-content{padding:25px}.modal-actions{flex-direction:column}.btn-cancel,.btn-confirm-delete{width:100%}}.home-page{min-height:100vh;background:var(--bg-primary);position:relative}.theme-toggle{position:absolute;top:20px;right:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px;cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease;z-index:10}.theme-toggle:hover{color:var(--text-primary);border-color:var(--color-accent, var(--brand-primary))}.hero{background:var(--bg-primary);padding:80px 20px 60px;text-align:center;border-bottom:1px solid var(--border-color)}.hero-content{max-width:680px;margin:0 auto}.hero h1{font-size:2.5rem;font-weight:700;margin:0 0 16px;color:var(--text-primary);letter-spacing:-.02em}.brand{color:var(--text-primary)}.subtitle{font-size:1.125rem;margin:0 0 32px;color:var(--text-secondary);line-height:1.6}.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.home-page .btn-primary,.home-page .btn-secondary{padding:12px 28px;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.9375rem;display:inline-block}.home-page .btn-primary{background:var(--brand-primary);color:var(--brand-text, white);transition:opacity .15s ease}.home-page .btn-primary:hover{opacity:.9}.home-page .btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);transition:background-color .15s ease}.home-page .btn-secondary:hover{background:var(--bg-card-alt)}.home-page .features{padding:60px 20px;background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center}.home-page .features h2{font-size:1.75rem;font-weight:700;margin:0 0 40px;color:var(--text-primary);text-align:center;width:100%;letter-spacing:-.01em}.home-page .features-grid{max-width:1100px;width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.feature-card{padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:left;transition:border-color .15s ease}.feature-card:hover{border-color:var(--color-accent, var(--brand-primary))}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:14px;color:var(--color-accent, var(--brand-primary))}.feature-icon svg{width:22px;height:22px}.feature-card h3{margin:0 0 8px;color:var(--text-primary);font-size:.9375rem;font-weight:600}.feature-card p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:.875rem}.pricing-preview{padding:60px 20px;background:var(--bg-primary);text-align:center}.pricing-preview h2{font-size:1.75rem;font-weight:700;margin:0 0 40px;color:var(--text-primary);letter-spacing:-.01em}.tiers-simple{max-width:1000px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tier-simple{background:var(--bg-card);padding:28px 20px;border:1px solid var(--border-color);border-radius:var(--radius-lg);position:relative;transition:border-color .15s ease}.tier-simple:hover{border-color:var(--color-accent, var(--brand-primary))}.tier-simple.highlighted{border:2px solid var(--brand-primary)}.popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--brand-primary);color:var(--brand-text, white);padding:3px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.tier-simple h3{margin:0 0 8px;color:var(--text-primary);font-size:1.125rem;font-weight:600}.tier-simple .price{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:8px 0}.tier-simple .description{color:var(--text-secondary);font-size:.8125rem;margin:0;line-height:1.5}.cta-center{margin-top:32px}.btn-view-pricing{padding:12px 32px;background:var(--brand-primary);color:var(--brand-text, white);text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;transition:opacity .15s ease;display:inline-block}.btn-view-pricing:hover{opacity:.9;color:var(--brand-text, white)}.cta-section{padding:60px 20px;background:var(--bg-secondary);text-align:center;border-top:1px solid var(--border-color)}.cta-section h2{font-size:1.75rem;font-weight:700;margin:0 0 12px;color:var(--text-primary)}.cta-section p{font-size:1rem;margin:0 0 28px;color:var(--text-secondary)}.btn-primary-large{padding:14px 36px;background:var(--brand-primary);color:var(--brand-text, white);text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:opacity .15s ease;display:inline-block}.btn-primary-large:hover{opacity:.9;color:var(--brand-text, white)}@media(max-width:1024px){.tiers-simple{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{padding:60px 20px 40px}.hero h1{font-size:1.75rem}.subtitle{font-size:1rem}.home-page .features h2,.pricing-preview h2,.cta-section h2{font-size:1.5rem}.home-page .features-grid{grid-template-columns:1fr;gap:12px}.tiers-simple{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:center}.home-page .btn-primary,.home-page .btn-secondary{width:100%;max-width:300px;text-align:center}}.auth-page{min-height:100vh;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:36px;max-width:420px;width:100%}.auth-header{margin-bottom:28px}.auth-header .back-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;gap:4px;margin-bottom:20px;transition:color .15s ease}.auth-header .back-link:hover{color:var(--text-primary)}.auth-header h1{margin:0 0 6px;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.auth-header p{margin:0;color:var(--text-secondary);font-size:.875rem}.checkout-notice{background:var(--success-bg);border:1px solid var(--success-border);padding:10px 14px;border-radius:var(--radius-md);color:var(--success-text);font-weight:500;font-size:.875rem;margin:12px 0 0;text-align:center}.auth-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:6px;color:var(--text-primary);font-weight:500;font-size:.8125rem}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;transition:border-color .15s ease;background:var(--input-bg);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--brand-primary)}.form-group input::placeholder{color:var(--text-muted)}.btn-submit{padding:10px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;margin-top:4px}.btn-submit:hover:not(:disabled){opacity:.9}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;color:var(--text-secondary);font-size:.875rem}.auth-footer a{color:var(--brand-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-footer .separator{margin:0 8px;color:var(--text-muted)}.back-home-link{margin-top:16px;text-align:center}.back-home-link a{color:var(--text-secondary);font-size:.8125rem;text-decoration:none}.back-home-link a:hover{color:var(--text-primary)}@media(max-width:768px){.auth-container{padding:28px 20px}.auth-header h1{font-size:1.25rem}.form-row{grid-template-columns:1fr}}.parent-notice{color:var(--text-secondary);margin:8px 0 0;font-size:.875rem}.parent-benefits{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:20px}.parent-benefits h3{margin:0 0 10px;color:var(--text-primary);font-size:.875rem;font-weight:600}.parent-benefits ul{margin:0;padding-left:18px}.parent-benefits li{color:var(--text-secondary);margin-bottom:6px;font-size:.8125rem}.parent-benefits li:last-child{margin-bottom:0}.dashboard-progress-summary{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:16px 20px;margin-bottom:24px}.dashboard-progress-summary.loading{min-height:80px;display:flex;align-items:center;justify-content:center}.summary-skeleton{width:100%;height:50px;background:var(--bg-card-alt);border-radius:var(--radius-lg);animation:shimmer 1.5s infinite}.dashboard-progress-summary.error{color:var(--error-text);text-align:center}.summary-stats-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:8px}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.375rem;font-weight:700;line-height:1.2}.stat-item.streak .stat-value,.stat-item.problems .stat-value{color:var(--brand-primary)}.stat-divider{width:1px;height:36px;background:var(--border-color)}.weekly-heatmap-section{display:flex;flex-direction:column;gap:4px}.heatmap-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.heatmap-row{display:flex;gap:4px}.heatmap-day{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;cursor:default;transition:opacity .15s ease}.heatmap-day.level-1{background:var(--brand-primary);opacity:.25;color:var(--bg-primary)}.heatmap-day.level-2{background:var(--brand-primary);opacity:.5;color:var(--bg-primary)}.heatmap-day.level-3{background:var(--brand-primary);opacity:.75;color:var(--bg-primary)}.heatmap-day.level-4{background:var(--brand-primary);color:var(--bg-primary)}.btn-view-progress{margin-left:auto;padding:8px 16px;background:var(--brand-primary);color:var(--bg-primary);text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;white-space:nowrap;transition:opacity .15s ease}.btn-view-progress:hover{opacity:.9}.continue-link{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--color-accent, var(--brand-primary));text-decoration:none;font-weight:500;font-size:.875rem;transition:border-color .15s ease,background-color .15s ease}.continue-link:hover{background:var(--bg-card);border-color:var(--color-accent, var(--brand-primary))}.continue-icon{font-size:.75rem}@media(max-width:768px){.summary-stats-row{gap:16px}.stat-value{font-size:1.25rem}.heatmap-day{width:22px;height:22px}.btn-view-progress{padding:8px 12px;font-size:.75rem}}@media(max-width:600px){.dashboard-progress-summary{padding:14px 16px}.summary-stats-row{gap:12px}.stat-divider:nth-of-type(2){display:none}.weekly-heatmap-section{order:10;flex-basis:100%;margin-top:8px}.heatmap-row{justify-content:flex-start}.btn-view-progress{order:11;flex-basis:100%;text-align:center;margin-top:8px;margin-left:0}}@media(max-width:400px){.stat-value{font-size:1.125rem}.stat-label{font-size:.75rem}.heatmap-day{width:20px;height:20px;font-size:.75rem}}.xp-bar-container{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;padding:4px 0}.xp-bar-container.compact{gap:2px;padding:2px 0}.lesson-page>.xp-bar-container{max-width:1200px;margin:0 auto 15px}.xp-level-number{font-weight:800;font-size:18px;color:var(--xp-level-color, #7FCC19);text-shadow:none;line-height:1}.compact .xp-level-number{font-size:14px}.xp-level-number.leveling-up{animation:levelPop .6s ease-out}@keyframes levelPop{0%{transform:scale(1)}30%{transform:scale(1.4)}50%{transform:scale(1.1)}70%{transform:scale(1.25)}to{transform:scale(1)}}.xp-bar-track{width:100%;height:10px;background:var(--xp-track-bg, #d4d4d4);border-radius:2px;overflow:hidden;position:relative;border:1px solid var(--xp-track-border, #bbb)}.compact .xp-bar-track{height:7px}.xp-bar-fill{height:100%;background:linear-gradient(180deg,var(--xp-fill-from, #80E825) 0%,var(--xp-fill-to, #4AA52E) 100%);border-radius:1px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.xp-bar-fill.flash{animation:barFlash .6s ease-out}@keyframes barFlash{0%{filter:brightness(1)}30%{filter:brightness(2.5);background:#ffc}to{filter:brightness(1)}}.xp-bar-notch{position:absolute;top:0;bottom:0;width:1px;background:#ffffff1a;z-index:2;pointer-events:none}.xp-bar-text{font-size:11px;color:var(--text-muted, #666);font-variant-numeric:tabular-nums}.compact .xp-bar-text{font-size:10px}.xp-gain-float{position:absolute;right:0;top:0;color:var(--xp-level-color, #7FCC19);font-weight:700;font-size:15px;text-shadow:0 0 8px currentColor;pointer-events:none;z-index:10;animation:popFade 1.5s ease-out forwards}.compact .xp-gain-float{font-size:12px}@keyframes popFade{0%{opacity:0;transform:scale(0) translateY(0)}15%{opacity:1;transform:scale(1.2) translateY(0)}25%{transform:scale(1) translateY(0)}70%{opacity:1;transform:scale(1) translateY(-10px)}to{opacity:0;transform:scale(1) translateY(-20px)}}.dashboard{min-height:100vh;background:var(--bg-secondary)}.dashboard-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:16px 32px}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.header-xp-bar{flex:1;max-width:280px;min-width:160px}.header-actions{display:flex;align-items:center;gap:12px}.user-name{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.subscription-badge{background:var(--bg-card-alt);border:1px solid var(--border-color);padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.btn-header{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;transition:background-color .15s ease,color .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-header:hover{background:var(--bg-card-alt);color:var(--text-primary)}.btn-admin{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;transition:background-color .15s ease,color .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-admin:hover{background:var(--bg-card-alt);color:var(--text-primary)}.btn-upgrade{background:var(--brand-primary);color:var(--brand-text, white);border:none;padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:.8125rem;transition:opacity .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-upgrade:hover{opacity:.9;color:var(--brand-text, white)}.dashboard-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px 32px}.progress-section{grid-column:1 / -1}.sidebar h2{margin:0 0 16px;color:var(--text-primary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.subject-list{display:flex;flex-direction:column;gap:8px}.subject-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;color:var(--text-primary)}.subject-card:hover{border-color:var(--color-accent, var(--brand-primary))}.subject-card.active{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.subject-card.active p{color:var(--brand-text, white);opacity:.8}.subject-card h3{margin:0 0 4px;font-size:.9375rem;font-weight:600}.subject-card p{margin:0;font-size:.8125rem;color:var(--text-secondary)}.main-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;min-height:500px}.subject-details h2{color:var(--text-primary);margin:0 0 6px;font-size:1.25rem;font-weight:700}.subject-description{color:var(--text-secondary);margin:0 0 24px;font-size:.875rem}.chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.chapter-card{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;text-decoration:none;color:inherit;transition:border-color .15s ease;display:block}.chapter-card:hover{border-color:var(--color-accent, var(--brand-primary))}.chapter-number{background:var(--color-accent, var(--brand-primary));color:var(--brand-text, white);display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;margin-bottom:12px}.chapter-card h3{margin:0 0 8px;color:var(--text-primary);font-size:.9375rem;font-weight:600}.lesson-count{margin:0;color:var(--text-secondary);font-weight:500;font-size:.8125rem}.btn-manage-sub{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;transition:background-color .15s ease;text-decoration:none;display:inline-block}.btn-manage-sub:hover{background:var(--bg-card-alt)}.btn-settings{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;transition:background-color .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-settings:hover{background:var(--bg-card-alt)}@media(max-width:1024px){.dashboard-content{grid-template-columns:1fr}.sidebar{display:block}.subject-list{flex-direction:row;overflow-x:auto}.subject-card{min-width:180px}}@media(max-width:768px){.dashboard-header{padding:12px 16px}.header-content{flex-direction:column;gap:12px}.header-actions{flex-wrap:wrap;justify-content:center}.dashboard-content{padding:16px}.chapters-grid{grid-template-columns:1fr}}.problem-set-status-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:700;transition:opacity .15s ease}.problem-set-status-icon.size-small{width:20px;height:20px}.problem-set-status-icon.size-medium{width:28px;height:28px}.problem-set-status-icon.size-large{width:36px;height:36px}.problem-set-status-icon.locked{background:var(--bg-secondary);color:var(--text-muted)}.problem-set-status-icon.not-started{background:var(--bg-card-alt);color:var(--text-muted);border:1px solid var(--border-color)}.problem-set-status-icon.in-progress{background:var(--info-bg);color:var(--brand-primary);border:1px solid var(--brand-primary)}.problem-set-status-icon.completed{background:linear-gradient(135deg,var(--gold-light),var(--gold-bg));color:var(--gold-shine)}.problem-set-status-icon.mastered{background:var(--success-bg);color:var(--success-text)}.chapter-page{min-height:100vh;background:var(--bg-secondary);padding:30px;position:relative}.chapter-header{max-width:1200px;margin:0 auto 40px;background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.back-link{color:var(--color-accent, var(--brand-primary));text-decoration:none;font-weight:600;display:inline-block;margin-bottom:20px;transition:opacity .15s ease}.chapter-header h1{margin:0 0 10px;color:var(--text-primary);font-size:1.75rem}.chapter-description{color:var(--text-secondary);margin:0;font-size:1rem}.lessons-container{max-width:1200px;margin:0 auto;background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.lessons-container h2{margin:0 0 25px;color:var(--text-primary)}.lessons-list{display:flex;flex-direction:column;gap:15px}.lesson-item{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:20px;padding:20px;background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color .15s ease}.lesson-item:hover{border-color:var(--color-accent, var(--brand-primary))}.lesson-number{background:var(--brand-primary);color:var(--brand-text, white);width:60px;height:60px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem}.lesson-info h3{margin:0 0 5px;color:var(--text-primary);font-size:1.125rem}.review-badge{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.lesson-arrow{color:var(--color-accent, var(--brand-primary));font-size:1.125rem;display:flex;align-items:center;justify-content:center}.lesson-wrapper{display:flex;flex-direction:column}button.lesson-item{width:100%;cursor:pointer;font-family:inherit;text-align:left}.lesson-item.expanded{border-color:var(--brand-primary);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.problem-sets-panel{background:var(--bg-card);border:1px solid var(--brand-primary);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:15px 20px;margin-bottom:0}.loading-sets{text-align:center;color:var(--text-secondary);padding:20px}.problem-sets-list{display:flex;flex-direction:column;gap:10px}.problem-set-option{display:flex;align-items:center;gap:15px;padding:12px 16px;background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;font-family:inherit;text-align:left;width:100%}.problem-set-option:hover:not(.locked){border-color:var(--color-accent, var(--brand-primary));background:var(--bg-card)}.problem-set-option.locked{background:var(--bg-secondary);border-color:var(--border-light);cursor:pointer}.problem-set-option.locked:hover{background:var(--bg-card-alt)}.problem-set-option.completed{background:linear-gradient(135deg,var(--gold-bg),var(--gold-light));border-color:var(--gold-border)}.problem-set-option.mastered{background:var(--success-bg);border-color:var(--success-border)}.problem-set-option.in_progress,.problem-set-option.in-progress{background:var(--info-bg);border-color:var(--brand-primary)}.set-info{flex:1;display:flex;flex-direction:column;gap:2px}.set-name{font-weight:600;color:var(--text-primary);font-size:1rem}.set-details{font-size:.8125rem;color:var(--text-secondary)}.tier-required{color:var(--text-muted);font-style:italic}.set-arrow{color:var(--color-accent, var(--brand-primary));font-size:1.125rem;font-weight:700}.problem-set-option.locked .set-arrow{color:var(--text-muted)}.no-sets-message{text-align:center;padding:20px;color:var(--text-secondary);display:flex;flex-direction:column;gap:10px;align-items:center}.start-anyway{color:var(--brand-primary);text-decoration:none;font-weight:600}.start-anyway:hover{text-decoration:underline}.loading,.error{text-align:center;padding:100px 20px;font-size:1.25rem;color:var(--text-secondary)}.error{color:var(--error-text)}@media(max-width:768px){.chapter-page{padding:15px}.chapter-header,.lessons-container{padding:20px}.chapter-header h1{font-size:1.5rem}.lesson-item{grid-template-columns:50px 1fr 30px;gap:15px;padding:15px}.lesson-number{width:50px;height:50px;font-size:1rem}.lesson-info h3{font-size:1rem}.problem-sets-panel{padding:12px 15px}.problem-set-option{gap:10px;padding:10px 12px}.set-name{font-size:.875rem}.set-details{font-size:.75rem}}.math-input-custom-container{display:flex;flex-direction:column;gap:10px;width:100%}.math-input-custom-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.math-symbol-btn{display:flex;align-items:center;justify-content:center;min-width:38px;height:36px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:1.125rem;font-family:"Cambria Math",Times New Roman,serif;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.math-symbol-btn:hover{background:var(--bg-card-alt);border-color:var(--brand-primary)}.math-symbol-btn:active{background:var(--border-color)}.math-symbol-btn.mode-btn{font-family:inherit;font-size:.9375rem}.math-symbol-btn.mode-btn sup,.math-symbol-btn.mode-btn sub{font-size:.7em}.math-symbol-btn.active{background:var(--brand-primary);border-color:var(--brand-secondary);color:var(--bg-primary)}.math-symbol-btn.active:hover{opacity:.9}.mode-indicator{font-size:.8125rem;color:var(--brand-primary);background:var(--bg-card-alt);padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);text-align:center}.math-input-wrapper{position:relative;display:flex;align-items:center}.math-input-custom-field{width:100%;height:60px;padding:10px 38px 10px 16px;border:1px solid var(--input-border);border-radius:var(--radius-lg);font-size:1.25rem;font-family:"Cambria Math",Times New Roman,Georgia,serif;box-sizing:border-box;outline:none;transition:border-color .15s ease;background:var(--input-bg);color:var(--text-primary)}.math-input-custom-field:focus{border-color:var(--brand-primary)}.math-input-custom-field::placeholder{color:var(--text-muted);font-style:italic}.math-keyboard-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--brand-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;line-height:1}.math-keyboard-toggle:hover{background:var(--border-color);border-color:var(--brand-primary)}.math-keyboard-toggle.active{background:var(--brand-primary);border-color:var(--brand-secondary);color:var(--bg-primary)}.math-keyboard-toggle.active:hover{opacity:.9}@media(max-width:768px){.math-input-custom-toolbar{padding:8px 10px;gap:5px}.math-symbol-btn{min-width:34px;height:32px;padding:0 8px;font-size:1rem}.math-input-custom-field{height:54px;font-size:1.125rem;padding:8px 34px 8px 14px}.math-keyboard-toggle{width:20px;height:20px;font-size:.9375rem}}@media(max-width:480px){.math-input-custom-toolbar{gap:4px;padding:6px 8px}.math-symbol-btn{min-width:30px;height:30px;padding:0 6px;font-size:.9375rem;border-radius:var(--radius-md)}.math-input-custom-field{height:48px;font-size:1rem;padding:8px 30px 8px 12px}.math-keyboard-toggle{width:18px;height:18px;font-size:.875rem;right:6px}}.number-line-input{display:flex;flex-direction:column;gap:8px;width:100%}.nl-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nl-tool-btn{padding:5px 12px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.82rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.nl-tool-btn:hover{border-color:var(--brand-primary);color:var(--text-primary)}.nl-tool-btn.active{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.nl-tool-btn:disabled{opacity:.4;cursor:not-allowed}.nl-undo-btn{margin-left:auto}.nl-tool-hint{font-size:.78rem;color:var(--text-secondary);font-style:italic;margin-left:4px}.nl-hint-fading{animation:nl-hint-fade 3s ease-out forwards}@keyframes nl-hint-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.nl-svg-container{display:flex;align-items:center;gap:4px}.nl-scroll-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);width:28px;height:28px;border-radius:var(--radius-full, 50%);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:color .15s,border-color .15s;flex-shrink:0}.nl-scroll-btn:hover{color:var(--text-primary);border-color:var(--brand-primary)}.nl-svg{flex:1;min-width:0;cursor:crosshair;user-select:none;-webkit-user-select:none}.number-line-input.read-only .nl-svg{cursor:default}.nl-axis{stroke:var(--text-secondary);stroke-width:1.5}.nl-axis-arrowhead{fill:var(--text-secondary)}.nl-tick{stroke:var(--text-secondary);stroke-width:1}.nl-label{fill:var(--text-primary);font-size:11px;font-family:inherit}.nl-arrowhead{fill:var(--brand-primary)}.nl-circle{stroke-width:2;cursor:pointer}.nl-circle-closed{fill:var(--brand-primary);stroke:var(--brand-primary)}.nl-circle-open{fill:var(--bg-card);stroke:var(--brand-primary)}.nl-circle-preview{fill:var(--brand-primary);stroke:var(--brand-primary);opacity:.4}.nl-ray-line,.nl-segment-line{stroke:var(--brand-primary);stroke-width:3}.nl-preview-line{opacity:.4}.nl-draw-preview .nl-circle-closed{opacity:.6}.number-line-input.read-only .nl-circle{cursor:default}@media(max-width:600px){.nl-toolbar{gap:4px}.nl-tool-btn{padding:4px 8px;font-size:.76rem}}.coordinate-grid-input{display:flex;gap:8px;width:100%}.cg-right-toolbar{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.cg-toolbar-spacer{flex-grow:1;min-height:12px}.cg-tool-btn{padding:4px 10px;min-width:68px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center;white-space:nowrap}.cg-tool-btn:hover{border-color:var(--brand-primary);color:var(--text-primary)}.cg-tool-btn.active{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.cg-tool-btn:disabled{opacity:.4;cursor:not-allowed}.cg-action-btn{font-size:.74rem}.cg-svg-container{flex:1;min-width:0}.cg-svg{width:100%;max-width:360px;aspect-ratio:1;cursor:crosshair;user-select:none;-webkit-user-select:none;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background:var(--bg-card)}.coordinate-grid-input.read-only .cg-svg{cursor:default}.cg-grid-line{stroke:var(--border-color);stroke-width:.5;opacity:.5}.cg-axis-line{stroke:var(--text-secondary);stroke-width:1.5}.cg-axis-arrow{stroke:var(--text-secondary);stroke-width:1.5;fill:none}.cg-axis-arrowhead{fill:var(--text-secondary)}.cg-axis-name{fill:var(--text-secondary);font-size:13px;font-style:italic;font-family:inherit}.cg-label{fill:var(--text-secondary);font-size:10px;font-family:inherit}.cg-point{cursor:pointer}.cg-circle-closed{fill:var(--brand-primary);stroke:var(--brand-primary);stroke-width:1.5}.cg-circle-open{fill:var(--bg-card);stroke:var(--brand-primary);stroke-width:2}.cg-point-label{fill:var(--text-primary);font-size:12px;font-weight:600;font-family:inherit}.cg-hover-point{fill:var(--brand-primary);opacity:.3;pointer-events:none}.cg-segment-line{stroke:var(--brand-primary);stroke-width:2.5}.cg-segment-preview{stroke:var(--brand-primary);stroke-width:2;stroke-dasharray:6 4;opacity:.4;pointer-events:none}.cg-ray-line,.cg-line-line{stroke:var(--brand-primary);stroke-width:2.5;fill:none}.cg-arrowhead{fill:var(--brand-primary)}.cg-preview-element{opacity:.6;pointer-events:none}.cg-hint-fading{animation:cgHintFade 3s ease-out forwards}@keyframes cgHintFade{0%,40%{opacity:1}to{opacity:0}}.cg-hint-text{font-size:.72rem;color:var(--text-secondary);text-align:center;margin-top:2px;min-height:1.1em}.coordinate-grid-input.read-only .cg-point,.coordinate-grid-input.read-only .cg-circle-open,.coordinate-grid-input.read-only .cg-circle-closed{cursor:default}@media(max-width:600px){.cg-tool-btn{padding:3px 6px;min-width:52px;font-size:.72rem}.cg-svg{max-width:280px}.cg-right-toolbar{gap:3px}}.simple-textarea{width:100%;padding:12px 16px;font-size:1rem;font-family:inherit;border:1px solid var(--input-border);border-radius:var(--radius-lg);box-sizing:border-box;resize:none;overflow-y:auto;line-height:1.6;transition:border-color .15s ease;background:var(--input-bg);color:var(--text-primary)}.simple-textarea:focus{outline:none;border-color:var(--brand-primary)}.simple-textarea::placeholder{color:var(--text-muted);font-style:italic}.summary-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.summary-modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:30px;max-width:450px;width:90%;position:relative;border:1px solid var(--border-color)}.summary-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.75rem;color:var(--text-muted);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background-color .15s ease,color .15s ease}.summary-close:hover{background:var(--bg-card-alt);color:var(--text-primary)}.summary-header{text-align:center;margin-bottom:25px}.mastery-badge{display:inline-flex;align-items:center;background:var(--warning-bg);color:var(--warning-text);padding:6px 16px;border-radius:var(--radius-full);font-weight:700;font-size:.875rem;margin-bottom:15px;border:1px solid var(--warning-border)}.summary-header h2{margin:0 0 10px;color:var(--text-primary);font-size:1.75rem}.performance-message{color:var(--text-secondary);font-size:1.125rem;margin:0;display:flex;align-items:center;justify-content:center}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:25px}.stat-card{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:15px;text-align:center;display:flex;flex-direction:column;gap:4px}.stat-card.primary{grid-column:span 2;background:var(--brand-primary);border:none;color:var(--bg-primary)}.stat-card.primary .stat-value{font-size:2.5rem;color:var(--bg-primary)}.stat-card.primary .stat-label{color:var(--bg-primary);opacity:.9}.stat-card.best-score{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.stat-card.best-score .stat-value{color:var(--warning-text);font-size:1.75rem}.stat-card.best-score .stat-label{color:var(--warning-text);opacity:.8}.stat-card.xp{background:#7fcc1914;border:1px solid rgba(127,204,25,.3)}.stat-card.xp .stat-value{color:#7fcc19;font-size:1.5rem}.stat-card.xp .stat-label{color:#7fcc19;opacity:.8}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-actions{display:flex;gap:12px}.summary-actions button{flex:1;padding:14px 20px;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,background-color .15s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--brand-primary)}.btn-secondary:hover{background:var(--bg-card-alt);border-color:var(--brand-primary)}.btn-primary{background:var(--brand-primary);border:none;color:var(--bg-primary)}@media(max-width:480px){.summary-modal{padding:20px}.summary-header h2{font-size:1.5rem}.summary-stats{gap:8px}.stat-card.primary .stat-value{font-size:2rem}.stat-value{font-size:1.25rem}.summary-actions{flex-direction:column}}.lesson-mode-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.lesson-mode-modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;max-width:450px;width:90%;position:relative;border:1px solid var(--border-color)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem .5rem;line-height:1;transition:color .15s ease}.modal-close:hover{color:var(--text-primary)}.modal-header{text-align:center;margin-bottom:1.5rem}.modal-header h2{margin:0 0 .5rem;color:var(--text-primary)}.best-score-display{font-size:1.125rem;color:var(--text-secondary);margin:0}.best-score-display strong{color:var(--brand-primary);font-size:1.25rem}.modal-body{text-align:center;margin-bottom:1.5rem;color:var(--text-secondary)}.modal-actions{display:flex;flex-direction:column;gap:1rem}.btn-review,.btn-reattempt{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,background-color .15s ease}.btn-review{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-review:hover{background:var(--bg-card-alt);border-color:var(--brand-primary)}.btn-reattempt{background:var(--brand-primary);color:var(--bg-primary)}.btn-reattempt:hover{opacity:.9}.btn-description{font-size:.8125rem;font-weight:400;opacity:.8;margin-top:.25rem}@media(max-width:480px){.lesson-mode-modal{padding:1.5rem}}.notes-panel-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-card-alt);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-user-select:none;user-select:none}.notes-panel-toolbar-spacer{flex:1}.notes-panel-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.notes-panel-toolbar-btn:hover{background:var(--border-color);color:var(--text-primary)}.notes-panel-toolbar-btn.active{color:var(--brand-primary)}.notes-panel-toolbar-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.notes-panel-drag-handle{cursor:grab}.notes-panel-drag-handle:active{cursor:grabbing}.notes-panel-expanded .notes-workspace{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none}.notes-panel-collapsed{width:48px;min-width:48px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:12px;position:sticky;top:30px;height:fit-content}.notes-panel-collapsed-label{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);font-weight:600;font-size:.8125rem;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.notes-panel-collapsed-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.notes-panel-collapsed-btn:hover{background:var(--border-color);color:var(--text-primary)}body.notes-dragging{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.notes-dragging *{cursor:grabbing!important}.notes-panel-dragging{opacity:.6;pointer-events:none}.lesson-content-wrapper.drop-left:before,.lesson-content-wrapper.drop-right:after{content:"";position:absolute;top:0;bottom:0;width:4px;background:var(--brand-primary);border-radius:2px;z-index:10}.lesson-content-wrapper.drop-left:before{left:-8px}.lesson-content-wrapper.drop-right:after{right:-8px}.notes-panel-expanded{position:sticky;top:30px;height:fit-content;transition:opacity .25s ease}.notes-panel-expanded .notes-workspace{position:static}.notes-panel-collapsed{transition:opacity .25s ease}.speaker-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:var(--radius-sm, 4px);transition:color .15s ease,background-color .15s ease;flex-shrink:0}.speaker-btn:hover:not(:disabled){color:var(--brand-primary);background:var(--bg-card-alt)}.speaker-btn.playing{color:var(--brand-primary)}.speaker-btn:disabled{cursor:not-allowed;opacity:.5}.speaker-btn.loading{padding:4px;font-size:inherit;color:var(--text-secondary);text-align:center}.speaker-btn.loading:after{content:none}.speaker-btn-sm{width:28px;height:28px}.speaker-btn-md{width:34px;height:34px}.speaker-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--text-secondary);border-top-color:transparent;border-radius:50%;animation:speaker-spin .6s linear infinite}.speaker-btn-md .speaker-spinner{width:18px;height:18px}@keyframes speaker-spin{to{transform:rotate(360deg)}}.lesson-page{min-height:100vh;background:var(--bg-secondary);padding:30px;position:relative}.lesson-header{max-width:1200px;margin:0 auto 30px;background:var(--bg-card);padding:25px 30px;border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.back-link{color:var(--color-accent, var(--brand-primary));text-decoration:none;font-weight:600;transition:opacity .15s ease;background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.lesson-title-section{flex:1}.lesson-title-section h1{margin:0 0 10px;color:var(--text-primary);font-size:1.5rem}.lesson-meta{color:var(--text-secondary);font-size:.875rem;display:flex;gap:10px;align-items:center}.btn-calculator{background:var(--brand-primary);color:var(--brand-text, white);border:none;padding:12px 24px;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:opacity .15s ease;font-size:1rem;text-decoration:none;display:inline-block}.btn-calculator:hover{opacity:.9;color:var(--brand-text, white)}.lesson-content-wrapper{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:30px;position:relative}.lesson-content-wrapper.notes-left{grid-template-columns:1fr 2fr}.lesson-content-wrapper.notes-left .notes-panel-expanded,.lesson-content-wrapper.notes-left .notes-panel-collapsed,.lesson-content-wrapper.notes-left>.notes-workspace{order:-1}.lesson-content-wrapper.notes-right-collapsed{grid-template-columns:1fr 48px}.lesson-content-wrapper.notes-left-collapsed{grid-template-columns:48px 1fr}.lesson-content-wrapper.notes-left-collapsed .notes-panel-collapsed{order:-1}.practice-section{background:var(--bg-card);padding:40px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.problem-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.problem-header h2{margin:0;color:var(--text-primary)}.value-tier-badge{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;margin-left:10px;text-transform:uppercase;letter-spacing:.5px}.difficulty-badge{background:var(--bg-card-alt);color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 16px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;text-transform:capitalize}.header-right{display:flex;align-items:center;gap:10px}.problem-card{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px;margin-bottom:30px}.problem-question{font-size:1.25rem;color:var(--text-primary);margin-bottom:30px;font-weight:500;line-height:1.6}.answer-section{margin-bottom:30px;background:var(--bg-card-alt);padding:25px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.answer-section label{display:block;margin-bottom:15px;color:var(--text-primary);font-weight:600;font-size:1rem}.input-hint{display:block;margin-top:12px;color:var(--text-muted);font-size:.8125rem;font-style:italic;font-weight:500}.multiple-choice-options{display:flex;flex-direction:column;gap:10px}.mc-option{display:flex;align-items:center;gap:14px;padding:14px 18px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .15s ease;text-align:left;font-size:.95rem;line-height:1.4}.mc-option:hover:not(:disabled){border-color:var(--brand-primary);background:var(--bg-card-alt)}.mc-option.selected{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,var(--bg-card))}.mc-option:disabled{opacity:.7;cursor:default}.mc-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);color:var(--text-secondary);font-weight:700;font-size:.9rem;flex-shrink:0}.mc-option.selected .mc-letter{background:var(--brand-primary);color:#fff}.mc-text{flex:1}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn-assistance{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;background:var(--bg-card);color:var(--text-primary);position:relative;white-space:nowrap}.btn-assistance:hover:not(:disabled):not(.btn-locked){border-color:var(--brand-primary);color:var(--brand-primary)}.btn-assistance.active{background:var(--info-bg, rgba(59, 130, 246, .08));border-color:var(--brand-primary);color:var(--brand-primary)}.btn-assistance:disabled:not(.btn-locked){opacity:.4;cursor:not-allowed}.btn-assistance.btn-locked{opacity:.45;cursor:pointer;background:var(--bg-secondary)}.btn-assistance.btn-locked:hover{opacity:.6}.btn-assistance .lock-icon{position:absolute;top:4px;right:6px;opacity:.7}.btn-assistance.btn-check-answer{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.btn-assistance.btn-check-answer:hover:not(:disabled){opacity:.9;color:var(--brand-text, white)}.btn-assistance.btn-check-answer:disabled{opacity:.5;cursor:not-allowed}.btn-assistance.btn-ai-hint.loading{opacity:.7;cursor:wait;padding:12px 16px;font-size:.875rem;color:var(--text-primary);text-align:left}.btn-assistance.btn-ai-hint.loading:after{content:none}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.hint-count{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1px 6px;border-radius:999px;font-size:.7rem;font-weight:700}.assistance-content{display:flex;flex-direction:column;gap:12px;margin-top:20px}.assistance-panel{padding:16px 20px;border-radius:var(--radius-lg);border:1px solid;animation:panelSlideIn .2s ease-out}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.assistance-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.assistance-panel-header h4{margin:0;flex:1;font-size:.9rem}.assistance-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.assistance-close:hover{color:var(--text-primary)}.assistance-panel p{margin:0;line-height:1.6;color:var(--text-primary)}.assistance-hint{background:var(--warning-bg, rgba(245, 158, 11, .08));border-color:var(--warning-border, #f59e0b)}.assistance-hint .assistance-panel-header{color:var(--warning-text, #b45309)}.assistance-ai-hint{background:var(--info-bg, rgba(59, 130, 246, .08));border-color:var(--brand-primary)}.assistance-ai-hint .assistance-panel-header{color:var(--brand-primary)}.assistance-ai-error{background:var(--error-bg);border-color:var(--error-border)}.assistance-ai-error .assistance-panel-header{color:var(--error-text)}.assistance-explanation{background:var(--success-bg);border-color:var(--success-border)}.assistance-explanation .assistance-panel-header{color:var(--success-text)}.ai-hints-remaining{display:block;margin-top:8px;color:var(--text-muted);font-style:italic}.assistance-unavailable{color:var(--text-muted)!important;font-style:italic}.feedback{margin-top:25px;padding:20px;border-radius:var(--radius-lg);border:1px solid;animation:panelSlideIn .2s ease-out}.feedback.correct{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.feedback.incorrect{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.feedback h3{margin:0;font-size:1.25rem}.feedback.correct{padding:14px 20px}.feedback.incorrect h3{margin-bottom:8px}.feedback p{margin:10px 0}.upgrade-message{background:var(--bg-card);padding:15px;border-radius:var(--radius-md);margin-top:15px;text-align:center}.upgrade-message p{margin:5px 0}.btn-upgrade-inline{display:inline-block;margin-top:10px;padding:8px 16px;background:var(--brand-primary);color:var(--brand-text, white);text-decoration:none;border-radius:var(--radius-md);font-weight:600;transition:opacity .15s ease}.btn-upgrade-inline:hover{opacity:.9}.upgrade-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.upgrade-modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px;max-width:420px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d}.upgrade-modal h3{margin:0 0 12px;font-size:1.2rem;color:var(--text-primary)}.upgrade-modal p{margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.upgrade-modal-actions{display:flex;gap:12px;justify-content:center}.btn-upgrade-modal{padding:10px 24px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-upgrade-modal:hover{opacity:.9}.btn-cancel-modal{padding:10px 24px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-cancel-modal:hover{opacity:.8}@media(max-width:768px){.action-buttons{flex-direction:column}.btn-assistance{min-width:100%}}@media(min-width:769px)and (max-width:1024px){.action-buttons{flex-wrap:wrap}.btn-assistance{flex:1 1 calc(50% - 5px);min-width:calc(50% - 5px)}}.problem-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px}.btn-nav{padding:12px 24px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-nav:hover:not(:disabled){opacity:.9}.btn-nav:disabled{opacity:.3;cursor:not-allowed}.progress-indicator{font-weight:600;color:var(--text-primary);font-size:1rem}.problem-set-info{margin-top:25px;padding:20px;background:var(--bg-card-alt);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center}.problem-set-info p{margin:0;color:var(--text-secondary);font-size:.875rem}.problem-set-info a{color:var(--color-accent, var(--brand-primary));font-weight:600;text-decoration:none}.problem-set-info a:hover{text-decoration:underline}.notes-workspace{background:var(--bg-card);padding:25px;border-radius:var(--radius-lg);border:1px solid var(--border-color);height:fit-content;position:sticky;top:30px}.notes-workspace h3{margin:0 0 10px;color:var(--text-primary);font-weight:600;font-size:1rem}.work-section-title{margin-top:30px!important}.workspace-description{color:var(--text-secondary);font-size:.8125rem;margin:0 0 15px;font-style:italic}.no-content{background:var(--bg-card);padding:60px 40px;border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center;max-width:600px;margin:40px auto}.no-content h2{color:var(--text-primary);margin:0 0 15px}.loading{text-align:center;padding:100px 20px;font-size:1.25rem;color:var(--text-secondary)}@media(max-width:1024px){.lesson-content-wrapper,.lesson-content-wrapper.notes-left,.lesson-content-wrapper.notes-right-collapsed,.lesson-content-wrapper.notes-left-collapsed{grid-template-columns:1fr}.lesson-content-wrapper.notes-left .notes-panel-expanded,.lesson-content-wrapper.notes-left .notes-panel-collapsed,.lesson-content-wrapper.notes-left>.notes-workspace,.lesson-content-wrapper.notes-left-collapsed .notes-panel-collapsed{order:unset}.notes-workspace{position:static}}@media(max-width:768px){.lesson-page{padding:15px}.lesson-header{flex-direction:column;align-items:flex-start;padding:20px}.lesson-title-section h1{font-size:1.25rem}.btn-calculator{width:100%}.practice-section{padding:25px 20px}.problem-question{font-size:1.125rem}.problem-navigation{flex-direction:column}.btn-nav{width:100%}.notes-workspace{padding:20px}.header-right{flex-wrap:wrap;justify-content:flex-start}}.review-mode-actions{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;background:var(--bg-card-alt);border:2px dashed var(--brand-primary);border-radius:var(--radius-lg)}.review-mode-badge{background:var(--brand-primary);color:var(--brand-text, white);padding:8px 20px;border-radius:var(--radius-full);font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:1px}.btn-try-again{width:100%;padding:15px;background:var(--success-border);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-try-again:hover{opacity:.9}.review-mode-indicator{color:var(--color-accent, var(--brand-primary));font-weight:600;font-size:.875rem}.review-mode-banner{display:flex;align-items:center;gap:15px;padding:15px 20px;background:var(--info-bg);border:1px solid var(--brand-primary);border-radius:var(--radius-lg);margin-top:20px}.review-mode-text{color:var(--text-secondary);font-size:.875rem}.action-buttons{display:flex;gap:15px;flex-wrap:wrap}.action-buttons .btn-check-answer{flex:1;min-width:120px}.action-buttons .btn-try-again{flex:1;min-width:200px;background:var(--bg-card-alt);color:var(--brand-primary);border:1px solid var(--brand-primary)}.action-buttons .btn-try-again:hover{background:var(--brand-primary);color:var(--brand-text, white)}.completed-count{color:var(--success-text);font-weight:600}.answer-grid-inline{display:flex;align-items:flex-start;gap:16px}.answer-grid-inline>label{margin-bottom:0;padding-top:4px;white-space:nowrap}.answer-display-grid-layout{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:start}.answer-display-grid-layout>label{margin-bottom:0;padding-top:4px;white-space:nowrap}.answer-display-grid-layout>.answer-math-input,.answer-display-grid-layout>.input-hint{grid-column:1 / -1}.answer-display-grid{max-width:400px}.answer-coordinate-grid{margin-bottom:8px}@media(max-width:600px){.answer-grid-inline{flex-direction:column;gap:8px}.answer-display-grid-layout{grid-template-columns:1fr}}.admin-dashboard{min-height:100vh;background:var(--bg-secondary);padding:30px}.admin-header{max-width:1400px;margin:0 auto 30px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:25px 30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.admin-header h1{display:flex;align-items:center;gap:10px;margin:0;color:var(--text-primary);font-size:1.75rem}.btn-back{background:var(--brand-primary);color:var(--bg-primary);padding:10px 20px;border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:opacity .15s ease}.btn-back:hover{opacity:.9}.admin-content{max-width:1400px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;align-items:center;gap:20px}.stat-icon{color:var(--brand-primary);display:flex;align-items:center;justify-content:center}.stat-info h3{margin:0 0 5px;color:var(--text-primary);font-size:1.75rem}.stat-info p{margin:0;color:var(--text-secondary);font-size:1rem}.admin-actions{background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:30px}.admin-actions h2{margin:0 0 25px;color:var(--text-primary)}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.action-card{background:var(--bg-card-alt);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:25px}.action-card h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--text-primary);font-size:1.25rem}.action-card p{margin:0 0 20px;color:var(--text-secondary)}.admin-actions .btn-action{background:var(--brand-primary);color:var(--bg-primary);border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:opacity .15s ease;width:100%}.admin-actions .btn-action:hover{opacity:.9}.admin-info{background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.admin-info h2{margin:0 0 25px;color:var(--text-primary)}.info-box{background:var(--bg-card-alt);border-left:4px solid var(--brand-primary);padding:20px;margin-bottom:20px;border-radius:var(--radius-md)}.info-box h3{margin:0 0 15px;color:var(--text-primary)}.info-box ol{margin:0;padding-left:20px;color:var(--text-secondary)}.info-box ol li{margin:8px 0}.info-box code{background:var(--bg-secondary);color:var(--brand-primary);padding:4px 8px;border-radius:var(--radius-sm);font-family:Courier New,monospace;display:inline-block;margin:5px 0;border:1px solid var(--border-light)}.admin-access-denied{min-height:100vh;background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.admin-access-denied h1{display:flex;align-items:center;gap:10px;color:var(--error-text);font-size:1.75rem;margin:0 0 20px}.admin-access-denied p{color:var(--text-secondary);font-size:1.125rem;margin:0 0 30px}.admin-access-denied a{color:var(--brand-primary);text-decoration:none;font-weight:600;font-size:1rem}@media(max-width:768px){.admin-dashboard{padding:15px}.admin-header{flex-direction:column;gap:15px;align-items:flex-start}.admin-header h1{font-size:1.5rem}.btn-back{width:100%;text-align:center}.stats-grid,.action-grid{grid-template-columns:1fr}}.shop-page{min-height:100vh;background:var(--bg-secondary)}.shop-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:16px 32px}.shop-header-content{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center}.shop-header-left{display:flex;align-items:center}.shop-header-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary);text-align:center}.shop-header-right{display:flex;align-items:center;justify-content:flex-end;gap:12px}.shop-page .btn-header{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;transition:background-color .15s ease,color .15s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.shop-page .btn-header:hover:not(.disabled){background:var(--bg-card-alt);color:var(--text-primary)}.shop-page .btn-header.disabled{opacity:.4;cursor:not-allowed}.btn-back{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.8125rem;text-decoration:none;transition:background-color .15s ease,color .15s ease}.btn-back:hover{background:var(--bg-card-alt);color:var(--text-primary)}.shop-content{max-width:1000px;margin:0 auto;padding:32px}.shop-content>.xp-bar-container{margin-bottom:24px}.shop-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.shop-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease}.shop-tab:hover{color:var(--text-primary)}.shop-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.shop-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s ease}.shop-card:hover{border-color:var(--text-muted)}.shop-card.owned{border-color:var(--success-border);border-style:solid}.shop-card.equipped{border-color:var(--brand-primary);background:var(--bg-card-alt)}.shop-card.previewing{border-color:var(--color-accent, var(--brand-primary));box-shadow:0 0 0 1px var(--color-accent, var(--brand-primary))}.shop-card-header{display:flex;justify-content:space-between;align-items:center}.shop-card-name{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.shop-card-meta{font-size:.75rem;color:var(--text-muted);font-weight:500}.theme-swatches{display:flex;gap:4px}.theme-swatch{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-color)}.shop-card-actions{display:flex;gap:8px;align-items:center}.btn-shop-preview{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-shop-preview:hover{background:var(--bg-card-alt);color:var(--text-primary)}.btn-shop-preview.active{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.btn-shop-buy{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--brand-primary);border:none;border-radius:var(--radius-md);color:var(--brand-text, white);font-size:.75rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;margin-left:auto}.btn-shop-buy:hover:not(.disabled){opacity:.9}.btn-shop-buy.disabled{background:var(--text-muted);cursor:not-allowed;opacity:.6}.btn-shop-equip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:transparent;border:1px solid var(--success-border);border-radius:var(--radius-md);color:var(--success-text);font-size:.75rem;font-weight:600;cursor:pointer;margin-left:auto;transition:background-color .15s ease}.btn-shop-equip:hover{background:var(--success-bg)}.shop-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;margin-left:auto}.equipped-badge{color:var(--color-accent, var(--brand-primary))}.theme-sample-section{margin-top:32px}.theme-sample-title{font-size:.9375rem;font-weight:600;color:var(--text-secondary);margin:0 0 12px;text-align:center}.theme-sample-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:14px;max-width:520px;margin:0 auto}.theme-sample-question{display:flex;flex-direction:column;gap:6px}.theme-sample-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.theme-sample-text{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.theme-sample-input{display:flex}.theme-sample-answer{flex:1;padding:8px 12px;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-size:.875rem;outline:none}.theme-sample-buttons{display:flex;gap:8px;flex-wrap:wrap}.theme-sample-btn{padding:6px 14px;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;cursor:default;border:1px solid var(--border-color)}.theme-sample-btn.hint{background:var(--bg-card-alt);color:var(--text-secondary)}.theme-sample-btn.ai-hint{background:var(--bg-card-alt);color:var(--brand-primary);border-color:var(--brand-primary)}.theme-sample-btn.explanation{background:var(--bg-card-alt);color:var(--text-secondary)}.theme-sample-btn.check{background:var(--brand-primary);color:var(--brand-text, white);border-color:var(--brand-primary)}.theme-sample-feedback{padding:8px 12px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500}.theme-sample-feedback.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.theme-sample-feedback.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.theme-sample-progress{display:flex;flex-direction:column;gap:4px}.theme-sample-progress-bar{height:8px;background:var(--bg-card-alt);border-radius:var(--radius-full);border:1px solid var(--border-color);overflow:hidden}.theme-sample-progress-fill{height:100%;width:21%;background:var(--brand-primary);border-radius:var(--radius-full);transition:width .3s ease}.theme-sample-progress-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.shop-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.shop-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;max-width:420px;width:90%}.shop-modal h3{margin:0 0 20px;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.shop-modal-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.shop-modal-item{display:flex;justify-content:space-between;font-size:.875rem}.shop-modal-label{color:var(--text-secondary)}.shop-modal-value{font-weight:600;color:var(--text-primary)}.shop-modal-reassurance{font-size:.8125rem;color:var(--text-muted);margin:0 0 16px}.shop-modal-warning{display:flex;align-items:flex-start;gap:8px;padding:12px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);margin-bottom:20px}.shop-modal-warning span{font-size:.8125rem;color:var(--warning-text);line-height:1.4}.shop-modal-warning svg{color:var(--warning-border);flex-shrink:0;margin-top:1px}.shop-modal-error{font-size:.8125rem;color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);padding:8px 12px;margin-bottom:16px}.shop-modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.btn-cancel:hover{background:var(--bg-card-alt)}.btn-confirm-purchase{padding:8px 16px;background:var(--brand-primary);border:none;border-radius:var(--radius-md);color:var(--brand-text, white);font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-confirm-purchase:hover:not(:disabled){opacity:.9}.btn-confirm-purchase:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.shop-header{padding:12px 16px}.shop-content{padding:16px}.shop-grid{grid-template-columns:1fr}}.parent-dashboard{min-height:100vh;background:var(--bg-secondary)}.parent-dashboard .dashboard-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:20px 40px}.parent-dashboard .dashboard-header h1{color:var(--text-primary)}.parent-dashboard .header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.parent-dashboard .header-actions{display:flex;align-items:center;gap:12px}.parent-dashboard .user-name{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.btn-link-student{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.8125rem;transition:background-color .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:6px}.btn-link-student:hover{background:var(--bg-card-alt);color:var(--text-primary)}.parent-dashboard .btn-header{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:6px 14px;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:6px}.parent-dashboard .btn-header:hover{background:var(--bg-card-alt);color:var(--text-primary)}.parent-dashboard .dashboard-content{max-width:1200px;margin:0 auto;padding:30px 40px}.student-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.student-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border-color)}.student-card.pending{border:2px dashed var(--warning-border)}.student-card.active{border:1px solid var(--border-color)}.student-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.student-info h3{margin:0 0 4px;color:var(--text-primary)}.student-info .email{margin:0;color:var(--text-secondary);font-size:.875rem}.streak-display{display:flex;align-items:center;gap:4px;background:var(--warning-bg);padding:8px 12px;border-radius:var(--radius-full)}.streak-icon{font-size:1.125rem;display:flex;align-items:center}.streak-count{font-size:1.125rem;font-weight:700;color:var(--warning-text)}.streak-label{font-size:.75rem;color:var(--warning-text)}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;margin-top:8px}.status-badge.pending{background:var(--warning-bg);color:var(--warning-text)}.pending-message{margin:16px 0 0;color:var(--text-muted);font-style:italic}.student-stats{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:16px}.stat{display:flex;flex-direction:column}.stat-value{font-size:1.25rem;font-weight:700;color:var(--brand-primary)}.stat-label{font-size:.75rem;color:var(--text-secondary)}.card-actions{display:flex;gap:12px}.btn-view{flex:1;padding:10px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);text-align:center;text-decoration:none;font-weight:600;cursor:pointer;transition:opacity .15s ease}.btn-view:hover{opacity:.9}.btn-remove{padding:10px 16px;background:transparent;color:var(--error-text);border:1px solid var(--error-border);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-remove:hover{background:var(--error-bg);color:var(--error-text)}.pending-section,.active-section{margin-bottom:40px}.pending-section h2,.active-section h2{margin:0 0 20px;color:var(--text-primary)}.empty-state{text-align:center;padding:60px 20px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.empty-state h2{margin:0 0 12px;color:var(--text-primary)}.empty-state p{margin:0 0 24px;color:var(--text-secondary)}.btn-primary{display:inline-block;padding:12px 24px;background:var(--brand-primary);color:var(--brand-text, white);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;transition:opacity .15s ease}.parent-page{min-height:100vh;background:var(--bg-secondary);padding:40px 20px;position:relative}.parent-page>.theme-toggle{position:absolute;top:20px;right:20px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);width:40px;height:40px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease;z-index:10}.parent-page>.theme-toggle:hover{color:var(--text-primary);border-color:var(--brand-primary)}.parent-container{max-width:600px;margin:0 auto;background:var(--bg-card);border-radius:var(--radius-lg);padding:40px;border:1px solid var(--border-color)}.back-button{background:none;border:none;color:var(--brand-primary);font-weight:600;cursor:pointer;margin-bottom:20px;font-size:1rem}.back-button:hover{text-decoration:underline}.parent-container h1{margin:0 0 12px;color:var(--text-primary)}.parent-container .description{color:var(--text-secondary);margin:0 0 24px}.info-box{background:var(--bg-card-alt);border-radius:var(--radius-lg);padding:16px;margin-bottom:24px}.info-box h3{margin:0 0 8px;color:var(--text-primary);font-size:1rem}.info-box p{margin:0;color:var(--text-secondary);font-size:.875rem}.link-form{display:flex;flex-direction:column;gap:20px}.link-form .form-group{display:flex;flex-direction:column}.link-form label{margin-bottom:8px;color:var(--text-secondary);font-weight:600}.code-input{padding:16px;border:2px solid var(--input-border);border-radius:var(--radius-lg);font-size:1.5rem;text-align:center;letter-spacing:4px;font-family:monospace;transition:border-color .15s ease;background:var(--input-bg);color:var(--text-primary)}.code-input:focus{outline:none;border-color:var(--brand-primary)}.link-form .btn-submit{padding:15px;background:var(--brand-primary);color:var(--brand-text, white);border:none;border-radius:var(--radius-lg);font-size:1.125rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.link-form .btn-submit:hover:not(:disabled){opacity:.9}.link-form .btn-submit:disabled{opacity:.6;cursor:not-allowed}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:12px 16px;border-radius:var(--radius-lg);font-weight:500}.success-message{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);padding:12px 16px;border-radius:var(--radius-lg);font-weight:500}.parent-student-detail{min-height:100vh;background:var(--bg-secondary);position:relative}.parent-student-detail>.theme-toggle{position:absolute;top:20px;right:20px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);width:40px;height:40px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,border-color .15s ease;z-index:10}.parent-student-detail>.theme-toggle:hover{color:var(--text-primary);border-color:var(--brand-primary)}.parent-student-detail .detail-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:20px 40px}.parent-student-detail .header-content{max-width:1200px;margin:0 auto}.parent-student-detail .back-link{color:var(--brand-primary);text-decoration:none;display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;font-weight:600;transition:opacity .15s ease}.parent-student-detail .back-link:hover{opacity:.9}.parent-student-detail .student-header-info{display:flex;justify-content:space-between;align-items:center}.parent-student-detail .student-name-section h1{margin:0 0 8px;font-size:1.75rem;color:var(--text-primary)}.parent-student-detail .tier-badge{display:inline-block;background:var(--bg-card-alt);border:1px solid var(--border-color);padding:4px 12px;border-radius:var(--radius-full);font-size:.875rem;text-transform:capitalize;color:var(--text-secondary)}.parent-student-detail .header-stats{display:flex;gap:32px}.parent-student-detail .header-stat{text-align:center}.parent-student-detail .header-stat-value{font-size:1.75rem;font-weight:700;color:var(--brand-primary)}.parent-student-detail .header-stat-label{font-size:.875rem;color:var(--text-secondary)}.parent-student-detail .detail-content{max-width:1200px;margin:0 auto;padding:30px 40px}.parent-student-detail .content-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.parent-student-detail .content-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border-color);margin-bottom:24px}.parent-student-detail .section-title{margin:0 0 20px;color:var(--text-primary);font-size:1.25rem;display:flex;align-items:center;gap:8px}.subject-progress-card{background:var(--bg-card-alt);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px}.subject-progress-card:last-child{margin-bottom:0}.subject-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subject-progress-header h4{margin:0;color:var(--text-primary)}.subject-accuracy{font-weight:600;color:var(--brand-primary)}.subject-progress-bar{height:8px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px}.subject-progress-fill{height:100%;background:var(--brand-primary);border-radius:var(--radius-sm);transition:width .15s ease}.subject-progress-text{font-size:.875rem;color:var(--text-secondary)}.activity-feed{list-style:none;padding:0;margin:0}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.activity-item:last-child{border-bottom:none}.activity-icon{width:36px;height:36px;background:var(--bg-card-alt);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;color:var(--brand-primary)}.activity-content{flex:1}.activity-text{margin:0 0 4px;color:var(--text-primary)}.activity-time{font-size:.8125rem;color:var(--text-muted)}.week-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.comparison-stat{text-align:center;padding:16px;background:var(--bg-card-alt);border-radius:var(--radius-lg)}.comparison-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:8px}.comparison-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.comparison-change{font-size:.875rem;margin-top:4px}.comparison-change.positive{color:var(--success-text)}.comparison-change.negative{color:var(--error-text)}.comparison-change.neutral{color:var(--text-muted)}.parent-weekly-heatmap{display:flex;gap:8px;justify-content:center}.heatmap-day{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem}.heatmap-day .day-label{font-weight:600;margin-bottom:2px}.heatmap-day .day-count{font-size:.75rem}.heatmap-day.level-2{background:var(--brand-secondary);color:#fff;opacity:.7}.heatmap-day.level-3{background:var(--brand-secondary);color:#fff;opacity:.85}.heatmap-day.level-4{background:var(--brand-primary);color:var(--brand-text, white)}.account-info-list{font-size:.9375rem;color:var(--text-secondary)}.account-info-list p{margin:0 0 8px}.account-info-list p:last-child{margin-bottom:0}.no-activity-message{color:var(--text-muted);text-align:center;padding:20px}@media(max-width:1024px){.parent-student-detail .content-grid{grid-template-columns:1fr}}@media(max-width:768px){.parent-dashboard .header-content{flex-direction:column;gap:16px;text-align:center}.parent-dashboard .header-actions{flex-wrap:wrap;justify-content:center}.parent-dashboard .dashboard-content{padding:20px}.student-cards{grid-template-columns:1fr}.student-header{flex-direction:column;gap:12px}.parent-container{padding:24px}.parent-student-detail .detail-header{padding:20px}.parent-student-detail .student-header-info{flex-direction:column;gap:20px;text-align:center}.parent-student-detail .header-stats{justify-content:center}.parent-student-detail .detail-content{padding:20px}.week-comparison{grid-template-columns:1fr}}.progress-page{min-height:100vh;background:var(--bg-secondary);padding:30px}.progress-header{max-width:900px;margin:0 auto 30px;background:var(--bg-card);padding:30px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.back-link{color:var(--color-accent, var(--brand-primary));text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:6px;margin-bottom:15px;transition:opacity .15s ease}.back-link:hover{opacity:.9}.progress-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.progress-header-text{flex:1}.progress-header-xp{width:220px;flex-shrink:0}.progress-header h1,.progress-header-text h1{margin:0 0 8px;color:var(--text-primary);font-size:1.75rem}.header-subtitle{margin:0;color:var(--text-secondary);font-size:1.125rem}.progress-content{max-width:900px;margin:0 auto}.loading-skeleton{width:100%;height:200px;background:var(--bg-card-alt);border-radius:var(--radius-lg);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.error-message{background:var(--error-bg);color:var(--error-text);padding:20px;border-radius:var(--radius-lg);text-align:center;border:1px solid var(--error-border)}.analytics-section{background:var(--bg-card);padding:24px;border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:24px}.section-title{margin:0 0 20px;color:var(--text-primary);font-size:1.25rem;font-weight:600}.overview-section{background:var(--bg-card);border-top:3px solid var(--brand-primary)}.overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.overview-stat{display:flex;align-items:center;gap:12px}.overview-stat .stat-icon{color:var(--color-accent, var(--brand-primary));display:flex;align-items:center;justify-content:center}.overview-stat .stat-content{display:flex;flex-direction:column}.overview-stat .stat-value{font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--text-primary)}.overview-stat .stat-label{font-size:.8125rem;color:var(--text-secondary)}.weekly-heatmap{display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.heatmap-day{flex:1;aspect-ratio:1;max-width:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;cursor:default;transition:opacity .15s ease}.heatmap-day:hover{opacity:.85}.day-abbrev{opacity:.8}.heatmap-day.level-0{background:var(--bg-secondary);color:var(--text-muted)}.heatmap-day.level-1{background:var(--info-bg);color:var(--brand-primary)}.heatmap-day.level-2{background:var(--brand-secondary);color:var(--bg-card)}.heatmap-day.level-3{background:var(--brand-primary);color:var(--bg-card)}.heatmap-day.level-4{background:var(--brand-primary);color:var(--bg-card);opacity:.85}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:.75rem;color:var(--text-muted)}.legend-levels{display:flex;gap:4px}.legend-box{width:14px;height:14px;border-radius:var(--radius-sm)}.legend-box.level-0{background:var(--bg-secondary)}.legend-box.level-1{background:var(--info-bg)}.legend-box.level-2{background:var(--brand-secondary)}.legend-box.level-3{background:var(--brand-primary)}.legend-box.level-4{background:var(--brand-primary);opacity:.85}.legend-label{font-size:.75rem}.subject-progress-list{display:flex;flex-direction:column;gap:20px}.subject-progress-item{padding:16px;background:var(--bg-card-alt);border-radius:var(--radius-lg)}.subject-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subject-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.subject-accuracy{font-size:.875rem;color:var(--color-accent, var(--brand-primary));font-weight:500}.progress-bar-container{height:10px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;background:var(--brand-primary);border-radius:var(--radius-full);transition:width .5s ease}.subject-stats{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--text-secondary)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.achievement-badge{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:background-color .15s ease}.achievement-badge:hover{background:var(--bg-secondary)}.achievement-icon{color:var(--color-accent, var(--brand-primary));display:flex;align-items:center;justify-content:center}.achievement-content{display:flex;flex-direction:column}.achievement-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.achievement-desc{font-size:.75rem;color:var(--text-secondary)}.accuracy-trend-chart{height:150px;background:var(--bg-card-alt);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px}.trend-bars{display:flex;align-items:flex-end;height:100%;gap:2px}.trend-bar-container{flex:1;height:100%;display:flex;align-items:flex-end}.trend-bar{width:100%;min-height:2px;border-radius:2px 2px 0 0;transition:height .3s ease}.trend-bar.high{background:var(--success-text)}.trend-bar.medium{background:var(--warning-text)}.trend-bar.low{background:var(--error-text)}.trend-legend{display:flex;justify-content:center;gap:20px}.trend-label{font-size:.75rem;padding:4px 12px;border-radius:var(--radius-full)}.trend-label.high{background:var(--success-bg);color:var(--success-text)}.trend-label.medium{background:var(--warning-bg);color:var(--warning-text)}.trend-label.low{background:var(--error-bg);color:var(--error-text)}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sw-column{padding:0}.sw-column .section-title.strengths{color:var(--success-text)}.sw-column .section-title.weaknesses{color:var(--warning-text)}.sw-list{list-style:none;padding:0;margin:0}.sw-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:var(--radius-md);margin-bottom:8px}.sw-item.strength{background:var(--success-bg)}.sw-item.weakness{background:var(--warning-bg)}.sw-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.sw-item.strength .sw-icon{color:var(--success-text)}.sw-item.weakness .sw-icon{color:var(--warning-text)}.sw-content{display:flex;flex-direction:column}.sw-title{font-weight:600;color:var(--text-primary);font-size:.875rem}.sw-detail{font-size:.75rem;color:var(--text-secondary)}.time-analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.time-stat{text-align:center;padding:20px;background:var(--bg-card-alt);border-radius:var(--radius-lg)}.time-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.time-label{font-size:.8125rem;color:var(--text-secondary)}.weekly-pattern{background:var(--bg-card-alt);padding:20px;border-radius:var(--radius-lg)}.weekly-pattern h4{margin:0 0 16px;font-size:.875rem;color:var(--text-secondary);text-align:center}.pattern-bars{display:flex;align-items:flex-end;justify-content:space-around;height:80px}.pattern-day{display:flex;flex-direction:column;align-items:center;width:40px}.pattern-bar{width:30px;min-height:4px;background:var(--brand-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:8px}.pattern-label{font-size:.75rem;color:var(--text-secondary)}.empty-state{color:var(--text-muted);font-style:italic;text-align:center;padding:20px;margin:0}.upgrade-cta{background:var(--bg-card);border:1px solid var(--border-color);border-top:3px solid var(--brand-primary);padding:30px;border-radius:var(--radius-lg);text-align:center}.upgrade-cta.trial{background:var(--bg-card-alt);border-top-color:var(--brand-secondary)}.upgrade-cta h2{margin:0 0 10px;color:var(--text-primary)}.upgrade-cta p{margin:0 0 20px;color:var(--text-secondary)}.btn-upgrade{display:inline-block;padding:12px 28px;background:var(--brand-primary);color:var(--bg-card);text-decoration:none;border-radius:var(--radius-md);font-weight:600;transition:opacity .15s ease}.upgrade-cta.trial .btn-upgrade{background:var(--brand-primary);color:var(--bg-card)}.btn-upgrade:hover{opacity:.9}@media(max-width:768px){.progress-page{padding:15px}.progress-header{padding:20px}.progress-header-row{flex-direction:column;align-items:stretch;gap:16px}.progress-header-xp{width:100%}.progress-header h1,.progress-header-text h1{font-size:1.5rem}.overview-stats{grid-template-columns:repeat(2,1fr);gap:16px}.overview-stat .stat-value{font-size:1.5rem}.heatmap-day{max-width:40px;font-size:.75rem}.achievements-grid,.strengths-weaknesses{grid-template-columns:1fr}.time-analytics-grid{grid-template-columns:1fr;gap:12px}}@media(max-width:480px){.analytics-section{padding:16px}.overview-stats{grid-template-columns:1fr 1fr;gap:12px}.overview-stat{flex-direction:column;text-align:center}.overview-stat .stat-value{font-size:1.25rem}.heatmap-day{max-width:36px}.weekly-heatmap{gap:4px}}.loading{text-align:center;padding:80px 20px;color:var(--text-muted);font-size:.95rem}.loading:after{content:"";display:block;width:24px;height:24px;margin:16px auto 0;border:2px solid var(--border-color);border-top-color:var(--color-accent, var(--brand-primary));border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--bg-card-alt);background-image:linear-gradient(90deg,var(--bg-card-alt) 0%,var(--border-color) 50%,var(--bg-card-alt) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}button{font-family:inherit;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;padding:8px 16px;line-height:1.5}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-primary);color:var(--brand-text, white);border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;text-decoration:none;display:inline-block;transition:opacity .15s ease}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-md);font-weight:500;text-decoration:none;display:inline-block;transition:background-color .15s ease}.btn-secondary:hover{background:var(--bg-card-alt)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:8px 12px;border-radius:var(--radius-md);font-weight:500;transition:background-color .15s ease}.btn-ghost:hover{background:var(--bg-card-alt)}.btn-danger{background:var(--error-border);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;transition:opacity .15s ease}.btn-danger:hover{opacity:.9}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.back-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.back-link:hover{color:var(--text-primary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 8px}.empty-state p{margin:0;font-size:.875rem}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:10px 14px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}a{color:var(--brand-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent, var(--brand-secondary))}@media(max-width:768px){button{font-size:.875rem}}@property --brand-primary{syntax: "<color>"; initial-value: #2563eb; inherits: true;}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f7f7f5;--bg-card: #ffffff;--bg-card-alt: #fafaf8;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-muted: #9b9b9b;--brand-primary: #2563eb;--brand-secondary: #1d4ed8;--brand-gradient: var(--brand-primary);--border-color: #e8e8e4;--border-light: #efefed;--shadow-color: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .06);--shadow-heavy: rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--success-bg: #f0fdf4;--success-border: #16a34a;--success-text: #15803d;--error-bg: #fef2f2;--error-border: #dc2626;--error-text: #b91c1c;--error-dark: #dc2626;--warning-bg: #fffbeb;--warning-border: #d97706;--warning-text: #92400e;--input-bg: #ffffff;--input-border: #e8e8e4;--overlay-bg: rgba(0, 0, 0, .5);--info-bg: #eff6ff;--gold-bg: #fefce8;--gold-border: #ca8a04;--gold-text: #854d0e;--gold-light: #fef9c3;--gold-shine: #eab308;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--xp-track-bg: #d4d4d4;--xp-track-border: #bbb;--brand-text: white}[data-theme=dark]{--bg-primary: #0a0a0b;--bg-secondary: #141415;--bg-card: #1c1c1e;--bg-card-alt: #232325;--text-primary: #ededef;--text-secondary: #8b8b8e;--text-muted: #5c5c5f;--brand-primary: #6366f1;--brand-secondary: #818cf8;--brand-gradient: var(--brand-primary);--border-color: #2a2a2c;--border-light: #232325;--shadow-color: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--shadow-heavy: rgba(0, 0, 0, .5);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #1c1c1e;--input-border: #2a2a2c;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #1e293b;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #1a1a1a;--xp-track-border: #333}[data-theme=ocean_depths]{--bg-primary: #0B1D3A;--bg-secondary: #0f2445;--bg-card: #132d50;--bg-card-alt: #163358;--text-primary: #E0F0FF;--text-secondary: #a0c0d8;--text-muted: #607890;--brand-primary: #00D4FF;--brand-secondary: #00b8e6;--color-accent: #7FFFD4;--brand-gradient: var(--brand-primary);--border-color: #1a3a5c;--border-light: #163358;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #132d50;--input-border: #1a3a5c;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #0f2445;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #0f2445;--xp-track-border: #1a3a5c;--xp-level-color: #00D4FF;--xp-fill-from: #00D4FF;--xp-fill-to: #0098B8;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=forest_canopy]{--bg-primary: #0D2818;--bg-secondary: #112e1e;--bg-card: #163826;--bg-card-alt: #1a3f2c;--text-primary: #F5F0E1;--text-secondary: #b8c8a8;--text-muted: #6a8060;--brand-primary: #2ECC71;--brand-secondary: #27ae60;--color-accent: #8FBC8F;--brand-gradient: var(--brand-primary);--border-color: #1f4a30;--border-light: #1a3f2c;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #0a3d16;--success-border: #86efac;--success-text: #bbf7d0;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #163826;--input-border: #1f4a30;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #112e1e;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #112e1e;--xp-track-border: #1f4a30;--xp-level-color: #2ECC71;--xp-fill-from: #2ECC71;--xp-fill-to: #1E8C4E;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=sunset_ember]{--bg-primary: #1A1A2E;--bg-secondary: #202038;--bg-card: #282842;--bg-card-alt: #2e2e4a;--text-primary: #FFE8D6;--text-secondary: #d4b8a0;--text-muted: #8a7060;--brand-primary: #FF6B35;--brand-secondary: #e65a2a;--color-accent: #FFC947;--brand-gradient: var(--brand-primary);--border-color: #353550;--border-light: #2e2e4a;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #0a2e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #3d1010;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #3d2a00;--warning-border: #FFC947;--warning-text: #FFE44D;--input-bg: #282842;--input-border: #353550;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #202038;--gold-bg: #2a1f00;--gold-border: #FFC947;--gold-text: #FFE44D;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #202038;--xp-track-border: #353550;--xp-level-color: #FF6B35;--xp-fill-from: #FF6B35;--xp-fill-to: #CC4420;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=arctic_frost]{--bg-primary: #1B2838;--bg-secondary: #1f2f42;--bg-card: #25384e;--bg-card-alt: #2a3e55;--text-primary: #F0F8FF;--text-secondary: #b0c8d8;--text-muted: #6888a0;--brand-primary: #A8D8EA;--brand-secondary: #8cc4d8;--color-accent: #C0C0C0;--brand-gradient: var(--brand-primary);--border-color: #304860;--border-light: #2a3e55;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #25384e;--input-border: #304860;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #1f2f42;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #1f2f42;--xp-track-border: #304860;--xp-level-color: #A8D8EA;--xp-fill-from: #A8D8EA;--xp-fill-to: #78B8CC;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=royal_amethyst]{--bg-primary: #1A0A2E;--bg-secondary: #22103a;--bg-card: #2a1548;--bg-card-alt: #311a52;--text-primary: #F8F0FF;--text-secondary: #c0a8e0;--text-muted: #7860a0;--brand-primary: #9B59B6;--brand-secondary: #8e44ad;--color-accent: #D6B4FC;--brand-gradient: var(--brand-primary);--border-color: #3d1f6a;--border-light: #311a52;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #2a1548;--input-border: #3d1f6a;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #22103a;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #22103a;--xp-track-border: #3d1f6a;--xp-level-color: #9B59B6;--xp-fill-from: #9B59B6;--xp-fill-to: #7D3C98;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=cherry_blossom]{--bg-primary: #2D2D3F;--bg-secondary: #333348;--bg-card: #3a3a52;--bg-card-alt: #40405a;--text-primary: #FFF5F5;--text-secondary: #d4b0c0;--text-muted: #8a6878;--brand-primary: #FFB7C5;--brand-secondary: #ff9db0;--color-accent: #FF69B4;--brand-gradient: var(--brand-primary);--border-color: #4a4a62;--border-light: #40405a;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #3d0a14;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #3a3a52;--input-border: #4a4a62;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #333348;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #333348;--xp-track-border: #4a4a62;--xp-level-color: #FFB7C5;--xp-fill-from: #FFB7C5;--xp-fill-to: #FF8FA3;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=neon_cyber]{--bg-primary: #0A0A0A;--bg-secondary: #111111;--bg-card: #1a1a1a;--bg-card-alt: #202020;--text-primary: #E0E0E0;--text-secondary: #a0a0a0;--text-muted: #606060;--brand-primary: #FF2D95;--brand-secondary: #e0207a;--color-accent: #39FF14;--brand-gradient: var(--brand-primary);--border-color: #2a2a2a;--border-light: #202020;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #003d16;--success-border: #39FF14;--success-text: #80ff60;--error-bg: #3d000a;--error-border: #FF2D95;--error-text: #ff80bf;--error-dark: #FF2D95;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #1a1a1a;--input-border: #2a2a2a;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #111111;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #111111;--xp-track-border: #2a2a2a;--xp-level-color: #FF2D95;--xp-fill-from: #FF2D95;--xp-fill-to: #CC1070;--brand-text: var(--bg-primary);color-scheme:dark}[data-theme=volcanic]{--bg-primary: #1A0000;--bg-secondary: #220505;--bg-card: #2c0a0a;--bg-card-alt: #330e0e;--text-primary: #D4D4D4;--text-secondary: #a09090;--text-muted: #705050;--brand-primary: #FF3C38;--brand-secondary: #e63530;--color-accent: #FF8C42;--brand-gradient: linear-gradient(135deg, #FF3C38, #FF8C42);--border-color: #3d1515;--border-light: #330e0e;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #3d0505;--error-border: #FF8C42;--error-text: #fdba74;--error-dark: #f87171;--warning-bg: #3d2000;--warning-border: #FF8C42;--warning-text: #fdba74;--input-bg: #2c0a0a;--input-border: #3d1515;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #220505;--gold-bg: #2a1f00;--gold-border: #FF8C42;--gold-text: #fdba74;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #220505;--xp-track-border: #3d1515;--xp-level-color: #FF3C38;--xp-fill-from: #FF3C38;--xp-fill-to: #CC2520;color-scheme:dark}[data-theme=midnight_gold]{--bg-primary: #0D0D0D;--bg-secondary: #141410;--bg-card: #1c1c14;--bg-card-alt: #22221a;--text-primary: #FFFFF0;--text-secondary: #d4c890;--text-muted: #8a7a50;--brand-primary: #D4A017;--brand-secondary: #B8860B;--color-accent: #CD7F32;--brand-gradient: var(--brand-primary);--border-color: #3a3a20;--border-light: #22221a;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a0a;--error-border: #ef4444;--error-text: #fca5a5;--error-dark: #f87171;--warning-bg: #3d2a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #1c1c14;--input-border: #3a3a20;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #141410;--gold-bg: #2a2200;--gold-border: #FFD700;--gold-text: #FFE44D;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #141410;--xp-track-border: #3a3a20;--xp-level-color: #D4A017;--xp-fill-from: #D4A017;--xp-fill-to: #B8860B;color-scheme:dark}[data-theme=holographic]{--bg-primary: #111111;--bg-secondary: #181818;--bg-card: #1f1f1f;--bg-card-alt: #262626;--text-primary: #FFFFFF;--text-secondary: #b0b0b0;--text-muted: #707070;--brand-primary: #FF6B6B;--brand-secondary: #4ECDC4;--color-accent: #4ECDC4;--brand-gradient: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96E6A1);--border-color: #303030;--border-light: #262626;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--success-bg: #052e16;--success-border: #22c55e;--success-text: #86efac;--error-bg: #2a0a14;--error-border: #FF6B6B;--error-text: #ffb0b0;--error-dark: #FF6B6B;--warning-bg: #2a1a00;--warning-border: #f59e0b;--warning-text: #fcd34d;--input-bg: #1f1f1f;--input-border: #303030;--overlay-bg: rgba(0, 0, 0, .7);--info-bg: #181818;--gold-bg: #271f00;--gold-border: #eab308;--gold-text: #fde047;--gold-light: #423400;--gold-shine: #facc15;--xp-track-bg: #181818;--xp-track-border: #303030;--xp-level-color: #4ECDC4;--xp-fill-from: #FF6B6B;--xp-fill-to: #4ECDC4;--brand-text: var(--bg-primary);color-scheme:dark;animation:holographic-color-cycle 4s linear infinite}@keyframes holographic-color-cycle{0%,to{--brand-primary: #FF6B6B}25%{--brand-primary: #4ECDC4}50%{--brand-primary: #45B7D1}75%{--brand-primary: #96E6A1}}@keyframes holographic-shimmer{0%{background-position:200% 0}to{background-position:0% 0}}[data-theme=holographic] .btn-primary,[data-theme=holographic] .btn-submit,[data-theme=holographic] .btn-action,[data-theme=holographic] .btn-nav,[data-theme=holographic] .btn-calculator,[data-theme=holographic] .btn-upgrade,[data-theme=holographic] .btn-upgrade-modal,[data-theme=holographic] .btn-subscribe,[data-theme=holographic] .btn-view-pricing,[data-theme=holographic] .btn-primary-large,[data-theme=holographic] .btn-get-referral,[data-theme=holographic] .btn-manage,[data-theme=holographic] .btn-view,[data-theme=holographic] .btn-reattempt,[data-theme=holographic] .btn-view-progress,[data-theme=holographic] .btn-theme-toggle,[data-theme=holographic] .btn-preview-voice,[data-theme=holographic] .btn-assistance.btn-check-answer,[data-theme=holographic] .btn-shop-buy:not(.disabled),[data-theme=holographic] .btn-confirm-purchase:not(:disabled),[data-theme=holographic] .shop-tab.active,[data-theme=holographic] .subject-card.active,[data-theme=holographic] .chapter-number,[data-theme=holographic] .lesson-number,[data-theme=holographic] .stat-card.primary,[data-theme=holographic] .review-mode-badge,[data-theme=holographic] .tier-badge,[data-theme=holographic] .streak-display.active,[data-theme=holographic] .progress-bar-fill,[data-theme=holographic] .subject-progress-fill,[data-theme=holographic] .theme-sample-btn.check,[data-theme=holographic] .theme-sample-progress-fill,[data-theme=holographic] .xp-bar-fill,[data-theme=holographic] .brand-gradient-element{background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96e6a1,#ff6b6b);background-size:200% 100%;animation:holographic-shimmer 4s linear infinite}[data-theme=holographic] .shop-tab.active,.shop-page[data-theme] .shop-tab.active{color:var(--brand-text, white)}.shop-page[data-theme]:not([data-theme=holographic]){animation:none}.shop-page[data-theme]:not([data-theme=holographic]) .shop-tab.active,.shop-page[data-theme]:not([data-theme=holographic]) .btn-shop-buy:not(.disabled),.shop-page[data-theme]:not([data-theme=holographic]) .btn-confirm-purchase:not(:disabled),.shop-page[data-theme]:not([data-theme=holographic]) .theme-sample-btn.check,.shop-page[data-theme]:not([data-theme=holographic]) .theme-sample-progress-fill,.shop-page[data-theme]:not([data-theme=holographic]) .brand-gradient-element{background:var(--brand-primary);background-size:auto;animation:none}.shop-page[data-theme]:not([data-theme=holographic]) .xp-bar-fill{background:linear-gradient(180deg,var(--xp-fill-from, #80E825) 0%,var(--xp-fill-to, #4AA52E) 100%);background-size:auto;animation:none}.shop-page[data-theme]:not([data-theme=holographic]) .xp-level-number{color:var(--xp-level-color, #7FCC19)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);transition:background-color .15s ease,color .15s ease}code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace}#root{min-height:100vh}
