.lesson-player-root{background:var(--bg-app);font-family:var(--sans);color:var(--text-primary);flex-direction:column;animation:.25s cubic-bezier(.4,0,.2,1) lessonFadeIn;overflow:hidden;z-index:9999!important;display:flex!important;position:fixed!important;inset:0!important}@keyframes lessonFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.lesson-top-bar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);box-sizing:border-box;justify-content:space-between;align-items:center;height:60px;padding:.75rem 1.25rem;display:flex}.top-bar-left,.top-bar-right{align-items:center;gap:.6rem;display:flex}.top-bar-center{flex:1;justify-content:center;max-width:420px;margin:0 1rem;display:flex}.lesson-exit-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-subtle);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.lesson-exit-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.lesson-progress-bar-track{border-radius:var(--radius-full);background:var(--bg-muted);width:100%;height:8px;overflow:hidden}.lesson-progress-bar-fill{background:linear-gradient(90deg, var(--primary), #818cf8);border-radius:var(--radius-full);height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.skill-check-stepper{align-items:center;gap:.5rem;display:flex}.stepper-label{text-transform:uppercase;letter-spacing:.04em;color:var(--warning);font-size:.8rem;font-weight:700}.skill-check-dot{border-radius:var(--radius-full);border:2px solid var(--border-strong);width:12px;height:12px;transition:all .25s}.skill-check-dot.dot-completed{background:var(--success);border-color:var(--success);box-shadow:0 0 8px #16a34a66}.skill-check-dot.dot-active{background:var(--warning);border-color:var(--warning);transform:scale(1.2);box-shadow:0 0 10px #d9770666}.skill-check-dot.dot-upcoming{border-color:var(--border-strong);background:0 0}.streak-badge{border-radius:var(--radius-full);color:#9a3412;background:linear-gradient(135deg,#fef3c7,#fed7aa);border:1px solid #fcd34d;align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:800;animation:1.5s infinite alternate streakPulse;display:inline-flex}@keyframes streakPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.xp-badge{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--primary);align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.audio-toggle-btn,.transcript-toggle-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-subtle);cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:inline-flex}.audio-toggle-btn:hover,.transcript-toggle-btn:hover{background:var(--bg-muted)}.audio-toggle-btn.audio-on{background:var(--primary-subtle);border-color:var(--primary)}.lesson-main-stage{box-sizing:border-box;flex:1;justify-content:center;padding:1.5rem 1rem;display:flex;position:relative;overflow-y:auto}.lesson-stage-center{flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:680px;display:flex}.lesson-screen-content{width:100%}.lesson-mascot-container{pointer-events:none;z-index:10;position:fixed;bottom:5.5rem;right:2rem}@media (width<=900px){.lesson-mascot-container{margin-top:.5rem;position:static}}.screen-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);box-sizing:border-box;padding:2rem;animation:.25s cardFadeIn}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.title-card{text-align:center;padding:3rem 2rem}.title-header-badge{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--primary);align-items:center;margin-bottom:1.25rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;display:inline-flex}.title-heading{color:var(--text-primary);margin:0 0 1rem;font-size:2.2rem;font-weight:800;line-height:1.2}.title-subtext{color:var(--text-secondary);max-width:520px;margin:0 auto 2rem;font-size:1.15rem;line-height:1.5}.title-illustration{margin-top:1.5rem;font-size:3rem}.narrative-card{font-size:1.2rem;line-height:1.7}.narrative-text{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}.narrative-caption{color:var(--text-muted);margin:0;font-size:.95rem;font-style:italic}.recap-text{color:var(--text-secondary);margin:0 0 1.25rem;font-size:1.15rem;line-height:1.6}.concept-naming-card{border-left:4px solid var(--primary)}.concept-pill-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background:var(--primary-subtle);color:var(--primary-text);align-items:center;margin-bottom:.5rem;padding:.25rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.concept-term-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.8rem;font-weight:800}.concept-formula-box{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-md);text-align:center;margin-bottom:1.5rem;padding:1rem 1.5rem}.formula-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8rem;font-weight:700;display:block}.formula-display{font-size:1.6rem;font-weight:800;font-family:var(--mono);color:var(--primary)}.concept-body-text{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.65}.concept-body-text strong{color:var(--primary)}.section-break-card{text-align:center;background:linear-gradient(135deg, var(--bg-surface), var(--bg-subtle));padding:3rem 2rem}.break-shield-icon{margin-bottom:1rem;font-size:3.5rem}.break-label{color:var(--text-primary);margin:0 0 .75rem;font-size:2rem;font-weight:800}.break-sublabel{color:var(--text-secondary);max-width:480px;margin:0 auto 1.5rem;font-size:1.15rem}.break-tip{border-radius:var(--radius-full);background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning-border);padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.question-prompt-container{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.25rem;line-height:1.5}.prompt-lead-in{color:var(--primary)}.chained-diagrams-container{justify-content:center;width:100%;margin:.75rem 0 1.5rem;display:flex}.chained-diagrams-row{align-items:center;gap:.75rem;padding:.5rem .25rem;display:flex;overflow-x:auto}.chained-card{background:var(--bg-surface);border:2px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;min-width:120px;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;padding:.6rem .85rem;transition:transform .2s,border-color .2s;display:flex}.chained-card.card-state-given{border-color:var(--border-strong)}.chained-card.card-state-unknown{border-style:dashed;border-color:var(--warning)}.chained-card.card-state-tentative{border-color:var(--primary);box-shadow:0 0 12px #6366f140}.chained-card-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:.4rem;display:flex}.chained-day-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:800}.status-pill{border-radius:var(--radius-full);padding:.1rem .35rem;font-size:.65rem;font-weight:700}.status-pill.unknown{background:var(--warning-subtle);color:var(--warning)}.status-pill.tentative{background:var(--primary-subtle);color:var(--primary)}.chained-card-visual{justify-content:center;align-items:center;min-height:60px;display:flex}.count-grid-svg{max-width:100px;max-height:80px}.count-scatter-svg{max-width:120px;max-height:70px}.scatter-cloud-wrapper{flex-direction:column;align-items:center;gap:.25rem;display:flex}.scatter-density-badge{color:var(--primary-text);background:var(--primary-subtle);border-radius:var(--radius-full);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.unknown-placeholder{flex-direction:column;align-items:center;display:flex}.unknown-question-mark{color:var(--warning);font-size:1.8rem;font-weight:800}.unknown-subtext{color:var(--text-muted);font-size:.7rem}.chained-card-footer{color:var(--text-primary);margin-top:.35rem;font-size:.8rem;font-weight:700}.chained-arrow{color:var(--text-muted);align-items:center;display:flex}.expression-builder-widget{flex-direction:column;align-items:center;gap:1.75rem;width:100%;display:flex}.expression-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;padding:.5rem;display:flex}.expression-slots-wrapper{align-items:center;gap:.5rem;display:flex}.expression-slot{border-radius:var(--radius-md);border:2px dashed var(--border-strong);background:var(--bg-subtle);min-width:50px;min-height:50px;font-size:1.3rem;font-weight:800;font-family:var(--mono);cursor:pointer;color:var(--text-primary);box-sizing:border-box;justify-content:center;align-items:center;padding:.4rem .85rem;transition:all .15s;display:inline-flex}.expression-slot.slot-filled{border-style:solid;border-color:var(--primary);background:var(--bg-surface);color:var(--primary);box-shadow:var(--shadow-sm)}.expression-slot.slot-exponent{border-radius:var(--radius-sm);background:var(--bg-subtle);min-width:38px;min-height:38px;font-size:1rem;transform:translateY(-12px)}.expression-slot.slot-fixed{cursor:default;color:var(--text-primary);background:0 0;border-style:solid;border-color:#0000;font-weight:800}.expression-slot.slot-focused{border-color:var(--primary);outline:3px solid #6366f173}.expression-slot.slot-variable{color:#c026d3;border-color:#d946ef}.expression-operator{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:1.8rem;font-weight:900}.expression-eval-pill{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-muted);align-items:center;gap:.4rem;padding:.4rem 1rem;font-size:1.15rem;font-weight:800;transition:all .2s;display:inline-flex}.expression-eval-pill.eval-active{background:var(--primary-subtle);color:var(--primary-text);border:1.5px solid var(--primary);animation:.3s evalPulse}@keyframes evalPulse{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}.eval-number{color:var(--primary)}.palette-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;padding:.5rem;display:flex}.palette-tile{border-radius:var(--radius-md);border:2px solid var(--border-strong);background:var(--bg-surface);min-width:52px;min-height:52px;color:var(--text-primary);font-size:1.35rem;font-weight:800;font-family:var(--mono);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s,border-color .12s;display:inline-flex}.palette-tile:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.palette-tile:active,.palette-tile.tile-pressed{background:var(--bg-subtle);transform:translateY(1px)scale(.95)}.palette-tile-variable{color:#a21caf;background:#fdf4ff;border-color:#e879f9}[data-theme=dark] .palette-tile-variable{color:#f5d0fe;background:#4a044e;border-color:#c026d3}.lesson-action-bar-container{background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.lesson-action-bar{justify-content:flex-end;align-items:center;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 1.5rem;display:flex}.lesson-btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:0 1.75rem;font-size:1.05rem;font-weight:700;transition:all .15s;display:inline-flex}.lesson-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.lesson-btn-primary{background:var(--primary);color:#fff}.lesson-btn-primary:not(:disabled):hover{background:var(--primary-hover);transform:translateY(-1px)}.lesson-btn-success{background:var(--success);color:#fff}.lesson-btn-success:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.lesson-btn-warning{background:var(--warning);color:#fff}.lesson-btn-warning:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.lesson-btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.lesson-btn-ghost:not(:disabled):hover{background:var(--bg-subtle);color:var(--text-primary)}.lesson-btn-secondary{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-strong)}.lesson-btn-secondary:hover{background:var(--bg-muted)}.lesson-btn-full{width:100%}.lesson-feedback-banner{border-radius:var(--radius-md);box-sizing:border-box;align-items:flex-start;gap:1rem;width:100%;max-width:680px;padding:1rem 1.25rem;animation:.25s bannerSlideUp;display:none}@keyframes bannerSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lesson-feedback-banner.banner-correct{background:var(--success-subtle);border:1.5px solid var(--success-border);color:var(--success);display:flex}.lesson-feedback-banner.banner-incorrect{background:var(--warning-subtle);border:1.5px solid var(--warning-border);color:var(--warning);display:flex}.banner-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:800;display:flex}.banner-correct .banner-icon{background:var(--success);color:#fff}.banner-incorrect .banner-icon{background:var(--warning);color:#fff}.banner-title{margin-bottom:.25rem;font-size:1rem;font-weight:800}.banner-text{color:var(--text-primary);font-size:.95rem;line-height:1.45}.lesson-mascot-dock{filter:drop-shadow(0 4px 8px #0000001f);justify-content:center;align-items:center;width:84px;height:84px;display:flex}.mascot-svg{width:100%;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.mascot-jump{animation:.6s mascotJumpAnim}@keyframes mascotJumpAnim{0%{transform:translateY(0)}35%{transform:translateY(-16px)scale(1.08)}to{transform:translateY(0)}}.mascot-tilted{animation:.7s mascotTiltAnim}@keyframes mascotTiltAnim{0%{transform:rotate(0)}50%{transform:rotate(10deg)}to{transform:rotate(0)}}.mascot-flame{animation:1.2s infinite alternate mascotFlameAnim}@keyframes mascotFlameAnim{0%{filter:drop-shadow(0 0 6px #f59e0b);transform:scale(1)}to{filter:drop-shadow(0 0 14px #ef4444);transform:scale(1.06)}}.lesson-transcript-panel{background:var(--bg-surface);border-left:1px solid var(--border-subtle);z-index:10000;flex-direction:column;width:340px;height:100%;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:-360px;box-shadow:-4px 0 24px #00000026}.lesson-transcript-panel.is-open{right:0}.transcript-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.transcript-title-row{align-items:center;gap:.5rem;display:flex}.transcript-heading{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.transcript-close-btn{border-radius:var(--radius-full);background:var(--bg-subtle);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border:none;font-weight:700}.transcript-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.transcript-body{flex-direction:column;flex:1;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}.transcript-empty{color:var(--text-muted);text-align:center;padding:2rem 1rem;font-size:.9rem;line-height:1.5}.transcript-item{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-subtle);padding:.85rem;transition:all .2s}.transcript-item-active{background:var(--bg-surface);opacity:1;border:2px solid #06b6d4;box-shadow:0 0 12px #06b6d44d}.transcript-item-past{opacity:.55}.transcript-item-past:hover{opacity:.85}.transcript-item-meta{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.transcript-step-badge{color:var(--primary);font-size:.75rem;font-weight:700}.transcript-replay-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.transcript-item-text{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.5}.transcript-ai-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.6rem;padding:1rem;display:flex}.transcript-ai-pills{gap:.4rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.ai-pill-btn{white-space:nowrap;border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;padding:.25rem .6rem;font-size:.72rem}.ai-pill-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.transcript-ai-input-row{gap:.4rem;display:flex}.transcript-ai-input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);height:38px;color:var(--text-primary);box-sizing:border-box;flex:1;padding:0 .75rem;font-size:.85rem}.transcript-ai-submit{border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.lesson-quit-modal-backdrop,.lesson-audio-settings-modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10001;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lesson-modal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:420px;box-shadow:var(--shadow-md);box-sizing:border-box;padding:2rem}.lesson-modal-icon{margin-bottom:.75rem;font-size:2.5rem}.lesson-modal-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.4rem;font-weight:800}.lesson-modal-card p{color:var(--text-secondary);margin:0 0 1.5rem;font-size:1rem;line-height:1.5}.lesson-modal-actions{justify-content:center;gap:.75rem;display:flex}.settings-card{text-align:left}.settings-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.settings-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.2rem}.settings-field{margin-bottom:1.25rem}.settings-field label{color:var(--text-primary);cursor:pointer;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;display:flex}.voice-presets{gap:.6rem;margin-top:.5rem;display:flex}.voice-preset-btn{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-primary);cursor:pointer;flex:1;padding:.6rem;font-weight:700;transition:all .15s}.voice-preset-btn.active{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--primary)}.complete-card{text-align:center;padding:3rem 2rem}.complete-celebration-spark{margin-bottom:1rem;font-size:4rem}.complete-title{color:var(--text-primary);margin:0 0 .5rem;font-size:2.2rem;font-weight:800}.complete-subtitle{color:var(--text-secondary);margin:0 0 2rem;font-size:1.15rem}.complete-stats-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.complete-stat-card{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.25rem;min-width:110px;padding:1.25rem 1.75rem;display:flex}.complete-stat-card.streak-gold{color:#78350f;background:linear-gradient(135deg,#fef3c7,#fed7aa);border-color:#f59e0b}.stat-value{color:var(--primary);font-size:1.8rem;font-weight:900}.streak-gold .stat-value{color:#b45309}.stat-label{text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:700}.complete-recommendations{max-width:480px;margin:0 auto}.complete-recommendations h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.complete-recommendations p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.hub-discovery-section{margin-bottom:2rem}.hub-discovery-pill{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--primary);align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.hub-lessons-grid,.discovery-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.hub-lesson-card,.discovery-home-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.hub-lesson-card:hover,.discovery-home-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-3px)}.hub-lesson-card.lesson-card-completed,.discovery-home-card.is-completed{border-left:4px solid var(--success)}.lesson-card-top,.discovery-card-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.lesson-card-badge,.discovery-type-pill{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);padding:.2rem .55rem;font-size:.75rem;font-weight:700}.lesson-card-completed .lesson-card-badge,.is-completed .discovery-type-pill{background:var(--success-subtle);color:var(--success)}.lesson-card-xp,.discovery-xp-pill{color:#7c3aed;font-size:.8rem;font-weight:800}.lesson-card-title,.discovery-card-title{color:var(--text-primary);margin:0 0 .4rem;font-size:1.15rem;font-weight:800;line-height:1.35}.lesson-card-sub,.discovery-card-desc{color:var(--text-secondary);flex:1;margin:0 0 1.25rem;font-size:.9rem;line-height:1.45}.lesson-card-footer,.discovery-card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.lesson-card-time,.discovery-time{color:var(--text-muted);font-size:.8rem}.card-action-hint,.discovery-action-link{color:var(--primary);font-size:.85rem;font-weight:700}.home-discovery-shelf{background:linear-gradient(135deg, var(--bg-surface), var(--bg-subtle));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:2rem 0;padding:1.75rem}.discovery-shelf-header{margin-bottom:1.5rem}.shelf-badge-row{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.shelf-badge-glow{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--primary);padding:.2rem .65rem;font-size:.8rem;font-weight:800}.shelf-labs-count{color:var(--text-muted);font-size:.8rem;font-weight:700}.discovery-shelf-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.6rem;font-weight:800}.discovery-shelf-desc{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.45}.question-options-list{flex-direction:column;gap:.75rem;width:100%;max-width:540px;margin:1.25rem auto 0;display:flex}.question-option-btn{background:var(--bg-surface);border:2px solid var(--border-subtle);border-radius:var(--radius-lg,12px);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:.85rem;min-height:52px;padding:.85rem 1.25rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);display:flex}.question-option-btn:hover{background:var(--bg-subtle);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.question-option-btn.selected{border-color:var(--primary);background:var(--primary-subtle);box-shadow:0 0 0 3px #6366f140}.question-option-btn .option-letter{border-radius:var(--radius-full);background:var(--bg-subtle);border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;transition:background .15s,color .15s;display:inline-flex}.question-option-btn.selected .option-letter{background:var(--primary);color:#fff;border-color:var(--primary)}.question-option-btn .option-text{flex:1;line-height:1.4}.solution-discovery-banner{border-radius:var(--radius-lg,14px);border:1.5px dashed var(--primary);background:linear-gradient(135deg,#6366f114,#a855f714);flex-direction:column;align-items:flex-start;gap:.6rem;margin:1.25rem 0 1.5rem;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #6366f10f}.solution-discovery-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f126,#0000 70%);width:90px;height:90px;position:absolute;top:-20px;right:-20px}.discovery-banner-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);border-radius:var(--radius-full);background:#6366f124;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.discovery-banner-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800;line-height:1.3}.discovery-banner-desc{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.solution-discovery-launch-btn{background:linear-gradient(135deg, var(--primary), #7c3aed);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:.5rem;margin-top:.35rem;padding:.55rem 1.25rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 8px #6366f14d}.solution-discovery-launch-btn:hover{background:linear-gradient(135deg,#4f46e5,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 14px #6366f173}.reader-page-discovery-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:4px solid var(--primary);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm);flex-direction:column;gap:.45rem;margin:1.75rem 0;padding:1.25rem 1.5rem;transition:border-color .2s,box-shadow .2s;display:flex}.reader-page-discovery-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.reader-discovery-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);font-size:.72rem;font-weight:800}.reader-discovery-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800}.reader-discovery-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.88rem;line-height:1.45}.reader-inline-discovery-btn{border-radius:var(--radius-full);border:1px solid var(--primary);background:var(--primary-subtle);color:var(--primary-text);cursor:pointer;align-self:flex-start;align-items:center;gap:.45rem;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.reader-inline-discovery-btn:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 3px 10px #6366f159}.pedagogical-discovery-btn{border-radius:var(--radius-full);color:var(--primary);cursor:pointer;background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid #6366f159;align-items:center;gap:.35rem;padding:.25rem .65rem;font-family:inherit;font-size:.74rem;font-weight:700;transition:all .2s;display:inline-flex}.pedagogical-discovery-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)scale(1.03);box-shadow:0 2px 8px #6366f159}.curiosity-modal-overlay{z-index:10000;box-sizing:border-box;justify-content:center;align-items:center;padding:1rem;animation:.22s cubic-bezier(.4,0,.2,1) curiosityFadeIn;display:flex;position:fixed;inset:0}.curiosity-modal-overlay.closing{animation:.18s cubic-bezier(.4,0,.2,1) forwards curiosityFadeOut}@keyframes curiosityFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes curiosityFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.curiosity-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;position:absolute;inset:0}.curiosity-modal-dialog{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl,18px);z-index:1;flex-direction:column;width:100%;max-width:860px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000073}.curiosity-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#6366f11f,#a855f71a);padding:1.5rem 1.75rem 1.25rem;position:relative}.curiosity-header-badge-row{align-items:center;gap:.6rem;margin-bottom:.45rem;display:flex}.curiosity-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);color:var(--primary);background:#6366f126;border:1px solid #6366f14d;padding:.25rem .65rem;font-size:.75rem;font-weight:800}.curiosity-chapter-pill{color:var(--text-muted);font-size:.75rem;font-weight:700}.curiosity-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.65rem;font-weight:800;line-height:1.25}.curiosity-tagline{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.45}.curiosity-close-btn{background:var(--bg-subtle);border:1px solid var(--border-subtle);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:all .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.curiosity-close-btn:hover{background:var(--bg-muted);color:var(--text-primary);transform:scale(1.08)}.curiosity-tabs-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);gap:.5rem;padding:0 1.25rem;display:flex;overflow-x:auto}.curiosity-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.85rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .15s}.curiosity-tab:hover{color:var(--text-primary)}.curiosity-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.curiosity-body{max-height:calc(90vh - 190px);padding:1.5rem 1.75rem;overflow-y:auto}.curiosity-tab-content{animation:.2s curiosityFadeIn;display:none}.curiosity-tab-content.active{flex-direction:column;gap:1.25rem;display:flex}.curiosity-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,12px);padding:1.25rem 1.4rem}.card-icon-header{align-items:center;gap:.85rem;margin-bottom:.75rem;display:flex}.card-large-icon{font-size:1.6rem}.card-section-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:800}.card-section-subtitle{color:var(--text-muted);font-size:.78rem}.hook-text,.superpower-text,.history-text{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.hook-card{border-left:4px solid #f59e0b}.superpower-card{background:linear-gradient(135deg,#8b5cf60d,#0000);border-left:4px solid #8b5cf6}.history-card{border-left:4px solid #3b82f6}.applications-grid{flex-direction:column;gap:1.25rem;display:flex}.app-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,12px);flex-direction:column;gap:.85rem;padding:1.35rem 1.5rem;display:flex}.daily-app-card{border-left:4px solid #10b981}.critical-app-card{background:linear-gradient(135deg,#ef44440a,#0000);border-left:4px solid #ef4444}.app-card-header{align-items:center;gap:.85rem;display:flex}.app-icon{font-size:1.75rem;line-height:1}.app-title-group{flex-direction:column;gap:.15rem;display:flex}.app-category-badge{text-transform:uppercase;letter-spacing:.05em;color:#059669;font-size:.7rem;font-weight:800}.app-category-badge.critical-badge{color:#dc2626}.app-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800}.app-short-desc{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.app-story-box{background:var(--bg-subtle);border-radius:var(--radius-md,8px);padding:.9rem 1.1rem}.app-story-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.55}.app-math-box{border-radius:var(--radius-md,8px);background:#6366f10f;border:1px dashed #6366f14d;padding:.9rem 1.1rem}.critical-math-box{background:#ef44440f;border-color:#ef44444d}.math-box-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);margin-bottom:.35rem;font-size:.78rem;font-weight:800;display:block}.math-box-text{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.mindblowing-card{background:linear-gradient(135deg,#ec48990f,#0000);border-left:4px solid #ec4899}.mindblowing-text{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:500;line-height:1.6}.thought-experiment-card{border-left:4px solid #6366f1}.experiment-scenario{flex-direction:column;gap:.75rem;display:flex}.scenario-text{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.55}.scenario-question-box{background:var(--bg-subtle);border-left:3px solid var(--primary);border-radius:var(--radius-md,8px);padding:.85rem 1rem}.question-label{color:var(--primary);margin-bottom:.25rem;font-size:.82rem;display:block}.question-text{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.thought-experiment-actions{margin-top:1rem}.thought-reveal-btn{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.thought-reveal-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f173}.experiment-revelation{border-radius:var(--radius-md,8px);background:var(--bg-subtle);border:1px solid var(--primary);margin-top:.85rem;padding:1rem 1.25rem;animation:.25s curiosityFadeIn}.revelation-label{color:var(--primary);margin-bottom:.35rem;font-size:.85rem;display:block}.revelation-text{color:var(--text-primary);margin:0;font-size:.92rem;line-height:1.55}.curiosity-footer{background:var(--bg-surface);border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:.85rem;padding:1rem 1.75rem;display:flex}.curiosity-lab-launch-btn{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;align-items:center;gap:.5rem;margin-right:auto;padding:.55rem 1.25rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #6366f159}.curiosity-lab-launch-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px #6366f173}.curiosity-done-btn{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;padding:.55rem 1.25rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .15s}.curiosity-done-btn:hover{background:var(--bg-muted)}.hub-curiosity-btn{color:var(--text-primary);background:linear-gradient(135deg,#10b9811f,#06b6d41f);border:1px solid #10b98159}.hub-curiosity-btn:hover{background:linear-gradient(135deg,#10b98138,#06b6d438);border-color:#10b981;transform:translateY(-2px);box-shadow:0 4px 14px #10b98140}.hub-curiosity-pill{border-radius:var(--radius-full);color:#10b981;background:#10b9811f;border:1px solid #10b98147;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.76rem;font-weight:700;display:inline-flex}.pedagogical-curiosity-btn{border-radius:var(--radius-full);color:#059669;cursor:pointer;background:linear-gradient(135deg,#10b9811f,#06b6d41f);border:1px solid #10b98159;align-items:center;gap:.35rem;padding:.25rem .65rem;font-family:inherit;font-size:.74rem;font-weight:700;transition:all .2s;display:inline-flex}[data-theme=dark] .pedagogical-curiosity-btn{color:#34d399}.pedagogical-curiosity-btn:hover{color:#fff;background:#10b981;border-color:#10b981;transform:translateY(-1px)scale(1.03);box-shadow:0 2px 8px #10b98159}.reader-page-curiosity-card{border-radius:var(--radius-lg,12px);background:linear-gradient(135deg,#10b98114,#6366f10f);border:1px solid #10b98147;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin:1.5rem 0;padding:1.15rem 1.4rem;transition:border-color .2s,box-shadow .2s;display:flex}.reader-page-curiosity-card:hover{border-color:#10b98173;box-shadow:0 4px 16px #10b9811f}.curiosity-card-content{flex:300px;align-items:flex-start;gap:.9rem;display:flex}.curiosity-card-icon{font-size:1.85rem;line-height:1}.curiosity-card-text{flex-direction:column;gap:.25rem;display:flex}.curiosity-card-pill{text-transform:uppercase;letter-spacing:.05em;color:#059669;font-size:.72rem;font-weight:800}[data-theme=dark] .curiosity-card-pill{color:#34d399}.curiosity-card-title{color:var(--text-primary);font-size:1.05rem;font-weight:800;line-height:1.3}.curiosity-card-desc{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.reader-inline-curiosity-btn{border-radius:var(--radius-full);color:#059669;cursor:pointer;white-space:nowrap;background:#10b9811f;border:1px solid #10b981;align-self:center;align-items:center;gap:.45rem;padding:.55rem 1.2rem;font-family:inherit;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}[data-theme=dark] .reader-inline-curiosity-btn{color:#34d399}.reader-inline-curiosity-btn:hover{color:#fff;background:#10b981;transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.lesson-curiosity-trigger-btn{border-radius:var(--radius-full);color:#059669;cursor:pointer;background:linear-gradient(135deg,#10b98126,#06b6d41f);border:1px solid #10b98166;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.65rem 1.35rem;font-family:inherit;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #10b9812e}[data-theme=dark] .lesson-curiosity-trigger-btn{color:#34d399}.lesson-curiosity-trigger-btn:hover{color:#fff;background:linear-gradient(135deg,#10b981,#06b6d4);border-color:#0000;transform:translateY(-2px);box-shadow:0 4px 14px #10b98159}.complete-curiosity-btn{width:100%;margin-top:.85rem}:root{--bg-app:#f8fafc;--bg-surface:#fff;--bg-subtle:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-muted:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--border-focus:#6366f1;--primary:#4f46e5;--primary-hover:#4338ca;--primary-subtle:#eef2ff;--primary-text:#4338ca;--success:#16a34a;--success-subtle:#f0fdf4;--success-border:#bbf7d0;--warning:#d97706;--warning-subtle:#fffbeb;--warning-border:#fde68a;--danger:#dc2626;--danger-subtle:#fef2f2;--danger-border:#fecaca;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--bg-app);--surface:var(--bg-surface);--border:var(--border-subtle);--card-bg:var(--bg-card);--border-color:var(--border-subtle);--bg-alt:var(--bg-subtle);--primary-light:var(--primary-subtle);--primary-dark:var(--primary-hover);--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--heading:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font:16px/1.55 var(--sans);letter-spacing:-.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-primary);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-app:#0f172a;--bg-surface:#1e293b;--bg-subtle:#192233;--bg-card:#1e293b;--bg-card-hover:#273549;--bg-muted:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0f172a;--border-subtle:#334155;--border-strong:#475569;--border-focus:#818cf8;--primary:#6366f1;--primary-hover:#818cf8;--primary-subtle:#1e1b4b;--primary-text:#a5b4fc;--success:#22c55e;--success-subtle:#052e16;--success-border:#166534;--warning:#f59e0b;--warning-subtle:#451a03;--warning-border:#854d0e;--danger:#ef4444;--danger-subtle:#450a0a;--danger-border:#991b1b;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--bg-app);--surface:var(--bg-surface);--border:var(--border-subtle);--card-bg:var(--bg-card);--border-color:var(--border-subtle);--bg-alt:var(--bg-subtle);--primary-light:var(--primary-subtle);--primary-dark:var(--primary-hover);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-app:#0f172a;--bg-surface:#1e293b;--bg-subtle:#192233;--bg-card:#1e293b;--bg-card-hover:#273549;--bg-muted:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0f172a;--border-subtle:#334155;--border-strong:#475569;--border-focus:#818cf8;--primary:#6366f1;--primary-hover:#818cf8;--primary-subtle:#1e1b4b;--primary-text:#a5b4fc;--success:#22c55e;--success-subtle:#052e16;--success-border:#166534;--warning:#f59e0b;--warning-subtle:#451a03;--warning-border:#854d0e;--danger:#ef4444;--danger-subtle:#450a0a;--danger-border:#991b1b;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--bg-app);--surface:var(--bg-surface);--border:var(--border-subtle);--card-bg:var(--bg-card);--border-color:var(--border-subtle);--bg-alt:var(--bg-subtle);--primary-light:var(--primary-subtle);--primary-dark:var(--primary-hover);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;max-width:100vw;overflow-x:hidden}body{background-color:var(--bg-app);color:var(--text-primary);max-width:100vw;min-height:100vh;margin:0;padding:0;transition:background-color .2s,color .2s;overflow-x:hidden}button,input,select,textarea{color:inherit;font-family:inherit}.primary-btn{background-color:var(--primary,#0284c7);border-radius:var(--radius-md,8px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background-color .15s,transform .1s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 4px #0000001a;color:#fff!important}.primary-btn:hover{background-color:var(--primary-hover,#0369a1);transform:translateY(-1px);box-shadow:0 4px 10px #00000026}.secondary-btn{background-color:var(--bg-surface,#fff);color:var(--text-primary,#0f172a);border:1px solid var(--border-strong,#cbd5e1);border-radius:var(--radius-md,8px);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.secondary-btn:hover{background-color:var(--bg-subtle,#f1f5f9);border-color:var(--border-focus,#0284c7)}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-primary);font-weight:600;line-height:1.3}#app{text-align:left;box-sizing:border-box;width:100%;max-width:1120px;min-height:100vh;margin:0 auto;padding:1.25rem 1rem 3rem;overflow-x:clip}@media (width<=640px){#app{padding:.75rem .6rem 2rem}}.top-nav-bar,.hub-nav-bar,.reader-nav-bar,.book-nav-bar{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem .85rem;width:100%;max-width:100%;margin-bottom:1.25rem;display:flex}.brand-badge-row{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.brand-tag{border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-sm);white-space:nowrap;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.88rem;font-weight:700;display:inline-flex}.top-nav-actions{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem .45rem;max-width:100%;display:flex}.nav-stat-badge{border:1px solid var(--border-subtle);background:var(--bg-surface);height:34px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;padding:0 .6rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.nav-streak-badge.streak-active{color:#c2410c;background:#f9731614;border-color:#f9731652}.nav-streak-badge.streak-zero{background:var(--bg-surface);color:var(--text-secondary);opacity:.75}.nav-streak-badge .stat-icon{font-size:.95rem}.nav-streak-badge .stat-val{font-weight:800}.nav-streak-badge .stat-lbl{opacity:.85;font-size:.72rem;font-weight:600}.nav-xp-badge .stat-icon{font-size:.9rem}.nav-xp-badge .stat-val{font-weight:800}.nav-xp-badge .stat-lbl{opacity:.85;font-size:.7rem;font-weight:700}[data-theme=dark] .nav-streak-badge.streak-active{color:#fb923c;background:#f9731626;border-color:#f9731666}[data-theme=dark] .nav-xp-badge{color:#facc15;background:#eab30826;border-color:#eab30866}.nav-lang-btn,.nav-guide-btn,.nav-formula-book-btn,.nav-exam-simulator-btn,.nav-offline-status-btn,.nav-ai-tutor-btn,.nav-search-trigger-btn,.nav-settings-trigger-btn{border:1px solid var(--border-subtle,#e2e8f0);background:var(--bg-surface,#fff);height:34px;color:var(--text-secondary,#334155);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:9999px;flex-shrink:0;align-items:center;gap:.35rem;padding:0 .65rem;font-size:.82rem;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #0000000a}.nav-lang-btn:hover,.nav-guide-btn:hover,.nav-formula-book-btn:hover,.nav-exam-simulator-btn:hover,.nav-offline-status-btn:hover,.nav-ai-tutor-btn:hover,.nav-search-trigger-btn:hover,.nav-settings-trigger-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.nav-lang-btn{color:#1d4ed8;background:#3b82f612;border-color:#3b82f640}.nav-lang-btn:hover{background:#3b82f624;border-color:#2563eb}.nav-guide-btn{color:#0f766e;background:#0d948812;border-color:#0d948847}.nav-guide-btn:hover{background:#0d948824;border-color:#0d9488}.nav-formula-book-btn{color:#0284c7;background:#0284c712;border-color:#0284c747}.nav-formula-book-btn:hover{background:#0284c724;border-color:#0284c7}.nav-exam-simulator-btn{color:#7c3aed;background:#7c3aed12;border-color:#7c3aed47}.nav-exam-simulator-btn:hover{background:#7c3aed24;border-color:#7c3aed}.nav-offline-status-btn{color:#059669;background:#10b98112;border-color:#10b98147}.nav-offline-status-btn:hover{background:#10b98124;border-color:#10b981}.nav-ai-tutor-btn{color:#4f46e5;background:#6366f112;border-color:#6366f147}.nav-ai-tutor-btn:hover{background:#6366f124;border-color:#6366f1}.nav-search-trigger-btn{background:var(--bg-surface,#fff);border-color:var(--border-subtle,#e2e8f0);color:var(--text-primary,#0f172a)}.nav-search-trigger-btn:hover{background:var(--bg-card-hover,#f8fafc);border-color:var(--border-strong,#cbd5e1)}.nav-settings-trigger-btn{background:var(--bg-surface,#fff);border-color:var(--border-subtle,#e2e8f0);color:var(--text-secondary,#475569)}.nav-settings-trigger-btn:hover{background:var(--bg-card-hover,#f8fafc);border-color:var(--border-strong,#cbd5e1);color:var(--text-primary,#0f172a)}.top-nav-actions kbd{color:inherit;opacity:.8;letter-spacing:.02em;background:#0000000f;border:1px solid #00000014;border-radius:4px;padding:.05rem .3rem;font-family:inherit;font-size:.65rem;font-weight:700;display:none}@media (width>=1440px){.top-nav-actions kbd{display:inline-block}}[data-theme=dark] .top-nav-actions kbd{color:inherit;background:#ffffff1a;border-color:#ffffff26}[data-theme=dark] .brand-tag{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .nav-lang-btn:hover{background:#3b82f640;border-color:#60a5fa}[data-theme=dark] .nav-exam-simulator-btn{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa59}[data-theme=dark] .nav-exam-simulator-btn:hover{background:#a78bfa38;border-color:#ddd6fe}[data-theme=dark] .nav-ai-tutor-btn{color:#a5b4fc;background:#818cf81f;border-color:#818cf859}[data-theme=dark] .nav-ai-tutor-btn:hover{background:#818cf838;border-color:#c7d2fe}[data-theme=dark] .nav-search-trigger-btn,[data-theme=dark] .nav-settings-trigger-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .nav-search-trigger-btn:hover,[data-theme=dark] .nav-settings-trigger-btn:hover{color:#f8fafc;background:#334155;border-color:#475569}@media (width<=860px){.top-nav-bar{flex-direction:column;align-items:stretch;gap:.65rem}.brand-badge-row{justify-content:space-between;width:100%}.top-nav-actions{justify-content:flex-start;width:100%}}@media (width<=680px){.nav-guide-btn .guide-label,.nav-formula-book-btn .formula-label,.nav-exam-simulator-btn .exam-label,.nav-offline-status-btn .offline-label,.nav-ai-tutor-btn .ai-label,.nav-search-trigger-btn .search-label,.nav-settings-trigger-btn .settings-btn-label{display:none}.nav-guide-btn,.nav-formula-book-btn,.nav-exam-simulator-btn,.nav-offline-status-btn,.nav-ai-tutor-btn,.nav-search-trigger-btn,.nav-settings-trigger-btn{border-radius:50%;justify-content:center;width:34px;height:34px;padding:0}}.theme-toggle-btn{border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:all .2s;display:inline-flex}.theme-toggle-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.theme-toggle-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.chapter-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chapter-btn{text-align:left;width:100%;min-height:48px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:.85rem 1.15rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.chapter-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translate(2px)}.subject-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.25rem;transition:all .2s}.book-card-icon{font-size:1.6rem;line-height:1}.subject-title{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1.2rem;font-weight:700;display:flex}.open-book-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-primary);cursor:pointer;align-items:center;gap:.35rem;padding:.45rem .95rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.open-book-btn:hover{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--border-focus)}.book-header{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:5px solid var(--subject-color,var(--primary));margin-bottom:1.5rem;padding:1.5rem}.book-header-top{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.book-theme-icon{font-size:2.25rem;line-height:1}.book-grade-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:700;display:block}.book-title{color:var(--text-primary);margin:.2rem 0 0;font-size:1.75rem;font-weight:800}.book-stats-row{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.stat-pill{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:.3rem .75rem;font-size:.82rem}.stat-pill strong{color:var(--text-primary);font-weight:700}.stat-activities{color:var(--warning);border-color:var(--warning-border);background:var(--warning-subtle)}.stat-completion{color:var(--success);border-color:var(--success-border);background:var(--success-subtle)}.book-progress-bar-wrap{background:var(--bg-subtle);border-radius:3px;height:6px;margin-top:.5rem;overflow:hidden}.book-progress-bar{height:100%;transition:width .3s}.book-chapters-section{margin-top:1.5rem}.section-heading{color:var(--text-primary);margin-bottom:1rem;font-size:1.15rem;font-weight:700}.book-chapter-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);text-align:left;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-family:inherit;transition:all .2s;display:flex}.book-chapter-card:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.chapter-card-left{flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.chapter-card-main{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.chapter-card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chapter-card-details{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.card-detail-item{align-items:center;gap:.25rem;display:inline-flex}.card-act-tag{color:var(--primary-text);font-weight:600}.chapter-card-action{color:var(--text-muted);flex-shrink:0;font-size:1.5rem}.page-nav{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;display:flex}.page-nav button{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);min-width:110px;min-height:44px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.page-nav button:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-strong)}.page-nav #next-btn:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.page-nav #next-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.page-nav button:disabled{opacity:.4;cursor:not-allowed}.page-indicator{color:var(--text-muted);margin:.35rem 0 1rem;font-size:.88rem}.page-content{text-align:left;color:var(--text-secondary);line-height:1.65}.page-content h1,.page-content h2,.page-content h3{color:var(--text-primary)}.page-content pre{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;padding:.8rem 1rem;overflow-x:auto}.page-content code{font-family:var(--mono);background:var(--bg-subtle);color:var(--text-primary);border-radius:var(--radius-sm);padding:.15rem .35rem;font-size:.88em}.page-content table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:1rem 0;display:block;overflow-x:auto}.page-content th,.page-content td{border:1px solid var(--border-subtle);text-align:left;padding:.55rem .85rem}.page-content th{background:var(--bg-subtle);color:var(--text-primary);font-weight:600}.subject-section{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:1.5rem;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.subject-title{color:var(--text-primary);justify-content:space-between;align-items:baseline;margin:0 0 .8rem;padding-bottom:.4rem;font-size:1.25rem;display:flex}.subject-progress{color:var(--text-muted);font-size:.85rem;font-weight:400}.exercise-box{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);text-align:left;margin:2rem 0;padding:1.25rem}.exercise-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.exercise-prompt{color:var(--text-secondary);margin:0 0 .75rem;font-size:.95rem;font-weight:500}.exercise-hint{color:var(--text-muted);margin:0 0 1rem;font-size:.85rem}.exercise-score{color:var(--primary-text);margin-bottom:1rem;font-size:.9rem;font-weight:600}.match-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.match-columns{grid-template-columns:1fr}}.match-column{flex-direction:column;gap:.6rem;display:flex}.match-card{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:48px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;padding:.75rem 1rem;font-size:.9rem;transition:all .15s;display:flex}.match-card:hover:not(:disabled){border-color:var(--primary);background:var(--bg-card-hover)}.match-card.selected{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text);font-weight:600}.match-card.matched{background:var(--success-subtle);border-color:var(--success);color:var(--success);cursor:default;opacity:.9}.match-card.mismatch{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger)}.groups-container{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}@media (width<=480px){.groups-container{grid-template-columns:1fr}}.group-bucket{border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-subtle);cursor:pointer;min-height:110px;padding:.8rem;transition:border-color .15s}.group-bucket:hover{border-color:var(--primary)}.bucket-title{text-align:center;color:var(--text-primary);margin:0 0 .5rem;font-size:.95rem;font-weight:600}.bucket-items{flex-wrap:wrap;gap:.4rem;display:flex}.empty-bucket-hint{color:var(--text-muted);text-align:center;width:100%;padding-top:1rem;font-size:.8rem;display:block}.pool-section{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:.8rem}.pool-section h4{color:var(--text-primary);margin:0 0 .5rem;font-size:.9rem}.items-pool{flex-wrap:wrap;gap:.5rem;display:flex}.pool-item,.placed-item{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:38px;color:var(--text-primary);cursor:pointer;align-items:center;padding:.45rem .9rem;font-size:.85rem;transition:all .15s;display:inline-flex}.pool-item.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.placed-item.correct{background:var(--success-subtle);border-color:var(--success-border);color:var(--success)}.placed-item.incorrect{background:var(--danger-subtle);border-color:var(--danger-border);color:var(--danger)}.all-placed-note{color:var(--success);margin:0;font-size:.85rem}.exercise-actions{flex-wrap:wrap;gap:.8rem;margin-top:1rem;display:flex}.check-answers-btn,.reset-exercise-btn{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.check-answers-btn{background:var(--primary);color:#fff;border:1px solid var(--primary)}.check-answers-btn:hover:not(:disabled){background:var(--primary-hover)}.check-answers-btn:disabled{opacity:.5;cursor:not-allowed}.reset-exercise-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary)}.reset-exercise-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.validation-feedback,.exercise-completed-banner{border-radius:var(--radius-sm);margin-top:1rem;padding:.6rem 1rem;font-size:.9rem}.validation-feedback.success,.exercise-completed-banner{background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border);font-weight:500}.validation-feedback.retry{background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning-border)}.progress-tools{border-top:1px solid var(--border-subtle);text-align:left;margin-top:3rem;padding-top:1.5rem}.progress-tools h3{color:var(--text-primary);margin-bottom:.75rem;font-size:1rem}.tools-buttons{flex-wrap:wrap;gap:.6rem;display:flex}.tool-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:44px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:.55rem 1rem;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex}.tool-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-card-hover)}.tool-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.import-label{cursor:pointer}.backup-status{color:var(--text-muted);margin-top:.5rem;font-size:.82rem}.ray-optics-viz{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);text-align:left;margin:1.5rem 0;padding:1.25rem}.optics-controls{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:1rem;display:flex}.optics-controls .control-group{align-items:center;gap:.5rem;display:flex}.optics-controls select,.optics-controls input[type=range]{accent-color:var(--primary);cursor:pointer}.optics-controls select{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);padding:.4rem .75rem;font-size:.88rem}.svg-wrapper{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);overflow:hidden}.optics-hud{margin-top:1rem}.hud-box{border-radius:var(--radius-sm);background:var(--primary-subtle);border:1px solid var(--border-subtle);color:var(--text-primary);padding:.75rem 1rem;font-size:.9rem}.hud-row{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.hud-row.values{font-family:var(--mono);color:var(--text-secondary);margin-top:.4rem;font-size:.85rem}.ray-legend{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:.8rem;font-size:.8rem;display:flex}.chapter-hub{flex-direction:column;gap:1.5rem;width:100%;display:flex}.hub-header{border-bottom:1px solid var(--border-subtle);padding-bottom:1.25rem}.hub-subject-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-text);margin-top:.5rem;font-size:.8rem;font-weight:600;display:inline-block}.hub-title{color:var(--text-primary);margin:.25rem 0 .75rem;font-size:1.6rem;line-height:1.3}.hub-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.hub-status-badge{border-radius:var(--radius-full);border:1px solid #0000;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.hub-status-badge.completed{background:var(--success-subtle);color:var(--success);border-color:var(--success-border)}.hub-status-badge.in-progress{background:var(--warning-subtle);color:var(--warning);border-color:var(--warning-border)}.hub-status-badge.not-started{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border-subtle)}.hub-activity-count{background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem;font-weight:600}.hub-primary-action{margin:.5rem 0}.primary-read-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:48px;padding:.85rem 1.5rem;font-size:1.05rem;font-weight:600;transition:all .15s;display:flex}.primary-read-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.hub-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}@media (width<=640px){.hub-section{padding:.9rem}}.hub-section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.15rem;font-weight:600;display:flex}.badge-count{background:var(--primary);color:#fff;border-radius:var(--radius-full);padding:.15rem .5rem;font-size:.75rem;font-weight:600}.hub-activities-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=640px){.hub-activities-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.hub-activity-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);text-align:left;cursor:pointer;box-sizing:border-box;align-items:flex-start;gap:1rem;width:100%;padding:1rem;transition:all .2s;display:flex}.hub-activity-card:hover{border-color:var(--primary);background:var(--bg-card-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-icon{flex-shrink:0;margin-top:.15rem;font-size:1.75rem}.card-content{flex:1}.card-header-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.card-page-tag{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);white-space:nowrap;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.card-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.85rem;line-height:1.4}.card-action-hint{color:var(--primary-text);font-size:.8rem;font-weight:600}.hub-empty-hint{color:var(--text-muted);margin:.5rem 0;font-size:.9rem;font-style:italic}.page-chips-grid{flex-wrap:wrap;gap:.45rem;display:flex}.page-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:40px;height:40px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:.2rem;padding:0 .45rem;font-size:.85rem;transition:all .15s;display:inline-flex;position:relative}.page-chip:hover{border-color:var(--primary);background:var(--bg-card-hover)}.page-chip.has-activity{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-text);font-weight:600}.chip-badge{font-size:.75rem}.breadcrumbs{-webkit-overflow-scrolling:touch;scrollbar-width:none;color:var(--text-muted);flex-wrap:nowrap;align-items:center;gap:.35rem;width:100%;font-size:.82rem;display:flex;overflow-x:auto}.breadcrumbs::-webkit-scrollbar{display:none}.breadcrumb-link{border-radius:var(--radius-sm);color:var(--primary-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.2rem .35rem;font-size:.82rem;font-weight:500}.breadcrumb-link:hover{background:var(--primary-subtle);text-decoration:underline}.bc-sep{opacity:.5;-webkit-user-select:none;user-select:none}.bc-crumb-meta{border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);white-space:nowrap;padding:.1rem .35rem;font-size:.75rem;font-weight:600}.bc-current{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--text-primary);font-weight:600;overflow:hidden}@media (width<=480px){.bc-current{max-width:140px}}.book-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.book-card-left{align-items:center;gap:.75rem;display:flex}.book-card-icon{font-size:1.75rem}.open-book-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--primary-text);cursor:pointer;white-space:nowrap;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s}.open-book-btn:hover{background:var(--primary-subtle);border-color:var(--primary)}.book-view{flex-direction:column;gap:1.5rem;max-width:100%;margin:0 auto;display:flex}.book-header{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);border-left:6px solid var(--subject-color,var(--primary));background:var(--bg-surface);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.book-header-top{align-items:center;gap:1rem;display:flex}.book-theme-icon{font-size:2.25rem}.book-grade-tag{text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:.15rem;font-size:.75rem;font-weight:600;display:block}.book-title{margin:0;font-size:1.6rem;line-height:1.2}.book-stats-row{flex-wrap:wrap;gap:.5rem;display:flex}.stat-pill{color:var(--text,#1e293b);background:#0000000d;border-radius:9999px;padding:.25rem .6rem;font-size:.8rem}.stat-activities{color:#0369a1;background:#e0f2fe;font-weight:500}.stat-completion{color:#15803d;background:#dcfce7;font-weight:500}.book-progress-bar-wrap{background:#00000014;border-radius:9999px;width:100%;height:6px;overflow:hidden}.book-progress-bar{border-radius:9999px;height:100%;transition:width .3s}.book-chapters-section{flex-direction:column;gap:.75rem;display:flex}.section-heading{margin:0;font-size:1.2rem;font-weight:600}.book-chapters-list{flex-direction:column;gap:.75rem;display:flex}.book-chapter-card{border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);cursor:pointer;text-align:left;box-sizing:border-box;border-radius:10px;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;transition:all .2s;display:flex}.book-chapter-card:hover{border-color:#0284c7;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.chapter-icon-badge{justify-content:center;align-items:center;font-size:1.5rem;display:flex}.chapter-card-main{flex-direction:column;flex:1;gap:.35rem;display:flex}.chapter-card-title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chapter-card-title{color:var(--text,#0f172a);margin:0;font-size:1.05rem;font-weight:600}.chapter-card-details{color:var(--text-muted,#64748b);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.card-act-tag{color:#0284c7;background:#f0f9ff;border-radius:4px;padding:.1rem .4rem;font-weight:600}.open-chapter-arrow{color:var(--text-muted,#94a3b8);font-size:1.5rem;transition:transform .15s}.book-chapter-card:hover .open-chapter-arrow{color:#0284c7;transform:translate(3px)}.chemical-balancer{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1.25rem;margin:1.5rem 0;padding:1.25rem;display:flex}.balancer-header h3{color:var(--text,#0f172a);margin:0 0 .4rem;font-size:1.2rem}.balancer-intro{color:var(--text-muted,#64748b);margin:0;font-size:.85rem;line-height:1.4}.reaction-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.rx-tab-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);color:var(--text,#334155);cursor:pointer;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:500;transition:all .15s}.rx-tab-btn:hover{background:#f1f5f9;border-color:#94a3b8}.rx-tab-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;font-weight:600}.equation-builder{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:1.25rem;overflow-x:auto}.equation-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.molecules-group{align-items:center;gap:.75rem;display:flex}.molecule-item{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex;box-shadow:0 1px 3px #0000000d}.coeff-stepper{align-items:center;gap:.35rem;display:flex}.step-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);width:26px;height:26px;color:var(--text,#1e293b);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:600;transition:all .1s;display:inline-flex}.step-btn:hover:not(:disabled){color:#fff;background:#0284c7;border-color:#0284c7}.step-btn:disabled{opacity:.35;cursor:not-allowed}.coeff-value{text-align:center;min-width:18px;color:var(--text,#0f172a);font-size:1.1rem;font-weight:700}.mol-formula{letter-spacing:.02em;font-family:serif,system-ui;font-size:1.25rem;font-weight:700}.operator-plus{color:var(--text-muted,#94a3b8);font-size:1.25rem;font-weight:600}.reaction-arrow-box{padding:0 .5rem}.reaction-arrow{color:#0284c7;font-size:1.75rem;font-weight:700}.atom-balance-table-wrap{flex-direction:column;gap:.75rem;display:flex}.atom-balance-table-wrap h4{color:var(--text,#1e293b);margin:0;font-size:.95rem;font-weight:600}.atom-cards-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.atom-card{border:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:flex}.atom-card.balanced{background:#f0fdf4;border-color:#86efac}.atom-card.unbalanced{background:#fef2f2;border-color:#fca5a5}.atom-card-header{justify-content:space-between;align-items:center;display:flex}.element-symbol{color:var(--text,#0f172a);font-size:1.1rem;font-weight:700}.atom-status-badge{border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.atom-status-badge.ok{color:#15803d;background:#dcfce7}.atom-status-badge.pending{color:#b91c1c;background:#fee2e2}.atom-counts-row{justify-content:space-between;align-items:center;display:flex}.atom-count-col{flex-direction:column;gap:.1rem;display:flex}.count-label{color:var(--text-muted,#64748b);font-size:.7rem}.count-num{color:var(--text,#0f172a);font-size:1.15rem;font-weight:700}.atom-count-sep{opacity:.4;font-weight:700}.balancer-success-banner{color:#14532d;background:#dcfce7;border:1px solid #86efac;border-radius:8px;align-items:center;gap:1rem;padding:1rem 1.25rem;animation:.3s fadeIn;display:flex}.balancer-success-banner p{opacity:.9;margin:.2rem 0 0;font-size:.85rem}.success-icon{font-size:1.75rem}.balancer-footer{justify-content:flex-end;display:flex}.balancer-reset-btn{border:1px solid var(--border,#cbd5e1);color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.balancer-reset-btn:hover{background:var(--bg,#f1f5f9);color:var(--text,#1e293b)}.content-toggle-container{border-top:1px dashed var(--border,#cbd5e1);margin-top:2rem;padding-top:1.25rem}.toggle-content-btn{background:var(--bg,#f8fafc);border:1px solid var(--border,#cbd5e1);color:var(--text,#334155);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.55rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.toggle-content-btn:hover{color:var(--text,#0f172a);background:#f1f5f9;border-color:#94a3b8}.toggle-content-btn.active{background:#e2e8f0;border-color:#94a3b8}.toggle-content-btn.active .toggle-arrow{transform:rotate(180deg)}.toggle-arrow{font-size:.8rem;transition:transform .2s}.page-content.collapsed{display:none}.dark-lab{background:#0b0f19;border:1px solid #1e293b;border-radius:10px;box-shadow:0 4px 20px #00000040}.optics-inquiry{color:var(--text-muted,#64748b);margin:.25rem 0 1rem;font-size:.9rem;line-height:1.4}.optics-preset-chips{border-top:1px solid var(--border,#e2e8f0);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.chips-label{color:var(--text-muted,#64748b);font-size:.8rem;font-weight:600}.preset-chip{background:var(--bg,#f8fafc);border:1px solid var(--border,#cbd5e1);color:var(--text,#334155);cursor:pointer;border-radius:20px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s}.preset-chip:hover{color:#fff;background:#0284c7;border-color:#0284c7}.atom-visual-tray{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.single-mol-cluster{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;gap:2px;padding:2px 4px;display:inline-flex}.atom-ball{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0003}.thales-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1.25rem;margin:1.5rem 0;padding:1.25rem;display:flex}.thales-interactive-box{grid-template-columns:1fr 1fr;align-items:center;gap:1.25rem;display:grid}@media (width<=680px){.thales-interactive-box{grid-template-columns:1fr}}.thales-canvas-wrap{background:#0b0f19;border:1px solid #1e293b;border-radius:10px;justify-content:center;padding:.5rem;display:flex}.thales-svg{width:100%;max-width:320px;height:auto}.triangle-poly{fill:#1e293bb3;stroke:#94a3b8;stroke-width:2px}.triangle-ade-poly{fill:#0284c740;stroke:none}.parallel-line-de{stroke:#38bdf8;stroke-width:3px}.parallel-arrow{fill:#38bdf8}.aux-proof-line{stroke:#ef4444;stroke-width:1.5px;stroke-dasharray:4 3}.vertex-dot{fill:#f8fafc;stroke:#0284c7;stroke-width:2px}.de-dot{fill:#38bdf8;stroke:#fff;stroke-width:1.5px}.svg-label{fill:#f8fafc;font-family:system-ui;font-size:13px;font-weight:700}.de-label{fill:#38bdf8}.svg-subnote{fill:#64748b;font-family:system-ui;font-size:10px}.de-text{fill:#38bdf8;font-weight:600}.thales-controls-panel{flex-direction:column;gap:1rem;display:flex}.thales-slider{accent-color:#0284c7;width:100%}.ratios-comparison-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;justify-content:space-around;align-items:center;padding:1rem;display:flex}.ratio-col{text-align:center}.ratio-math{font-family:serif,system-ui;font-size:1.25rem;font-weight:700}.ratio-detail{color:var(--text-muted,#64748b);margin-top:.1rem;font-size:.75rem}.ratio-result{color:#0284c7;margin-top:.2rem;font-size:1.15rem;font-weight:700}.ratio-eq-sign{color:#10b981;font-size:1.75rem;font-weight:700}.theorem-verified-badge{color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.proof-toggle-btn{border:1px dashed var(--border,#cbd5e1);color:var(--text,#334155);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem;font-size:.8rem;transition:all .15s}.proof-toggle-btn:hover{background:var(--bg,#f1f5f9)}.thales-proof-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.thales-proof-box h4{margin:0 0 .5rem;font-size:.95rem}.proof-steps{color:var(--text,#334155);margin:0;padding-left:1.25rem;font-size:.85rem;line-height:1.5}.sectors-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1.25rem;margin:1.5rem 0;padding:1.25rem;display:flex}.sectors-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.sect-tab-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:500;transition:all .15s}.sect-tab-btn.active{color:#fff;background:#0d9488;border-color:#0d9488;font-weight:600}.bars-container{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.bar-label-row{justify-content:space-between;margin-bottom:.35rem;font-size:.85rem;display:flex}.stacked-bar{border-radius:6px;height:38px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.bar-slice{color:#fff;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:width .4s;display:flex}.sector-legend{flex-direction:column;gap:.5rem;display:flex}.legend-item{align-items:center;gap:.6rem;font-size:.85rem;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px}.sector-insight-card{color:#713f12;background:#fefce8;border:1px solid #fef08a;border-radius:8px;gap:.75rem;padding:.85rem 1rem;font-size:.85rem;line-height:1.45;display:flex}.insight-icon{font-size:1.3rem}.timeline-cards-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.timeline-sector-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.shift-comparison{justify-content:space-between;align-items:center;display:flex}.shift-col{text-align:center;flex-direction:column;display:flex}.year-label{color:var(--text-muted,#64748b);font-size:.7rem}.shift-val{font-size:1.1rem;font-weight:700}.shift-val.highlight{color:#0d9488}.shift-trend{font-size:.75rem;font-weight:600}.shift-trend.up{color:#16a34a}.shift-trend.down{color:#ef4444}.stomata-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1.25rem;margin:1.5rem 0;padding:1.25rem;display:flex}.stomata-interactive-box{grid-template-columns:1fr 1fr;align-items:center;gap:1.25rem;display:grid}@media (width<=680px){.stomata-interactive-box{grid-template-columns:1fr}}.stomata-canvas-wrap{background:#0f2027;border:1px solid #1e293b;border-radius:10px;justify-content:center;padding:.5rem;display:flex}.stomata-svg{width:100%;max-width:320px;height:auto}.epidermis-bg{fill:#16382c;stroke:#2d5a47;stroke-width:1.5px}.epidermis-cell-lines{stroke:#2d5a47;stroke-width:1px;fill:none}.guard-cell-poly{fill:#22c55e;stroke:#15803d;stroke-width:2.5px}.stoma-pore.open{fill:#064e3b;stroke:#022c22;stroke-width:2px}.stoma-pore.closed{fill:#14532d;stroke:#166534;stroke-width:1px}.chloroplast{fill:#15803d}.nucleus{fill:#d97706}.anat-label{fill:#94a3b8;font-family:system-ui;font-size:10px}.gas-label{font-family:system-ui;font-size:10px;font-weight:700}.stomata-controls-panel{flex-direction:column;gap:.75rem;display:flex}.state-btn-group{gap:.5rem;margin-top:.25rem;display:flex}.state-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;border-radius:6px;flex:1;padding:.45rem .5rem;font-size:.8rem;font-weight:600;transition:all .15s}.state-btn.active{color:#fff;background:#16a34a;border-color:#16a34a}.stoma-status-card{border:1px solid var(--border,#e2e8f0);background:var(--bg,#f8fafc);border-radius:8px;padding:.75rem}.status-badge{border-radius:4px;padding:.15rem .4rem;font-size:.8rem;font-weight:700;display:inline-block}.status-badge.open{color:#15803d;background:#dcfce7}.status-badge.closed{color:#b91c1c;background:#fee2e2}.status-guard-turgor{margin-top:.35rem;font-size:.8rem}.status-desc{color:var(--text-muted,#64748b);margin:.35rem 0 0;font-size:.8rem;line-height:1.4}.key-facts-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.6rem .75rem}.key-facts-box h5{color:#15803d;margin:0 0 .25rem;font-size:.75rem}.key-facts-box ul{color:#166534;margin:0;padding-left:1.1rem;font-size:.75rem;line-height:1.4}.reader-audio-bar{background:var(--surface,#fff);border:1px solid var(--border,#cbd5e1);border-radius:24px;align-items:center;gap:.6rem;padding:.35rem .65rem;display:inline-flex;box-shadow:0 1px 3px #0000000d}.speech-btn{color:var(--text,#1e293b);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.speech-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 0 8px #0284c766}.speech-speed-wrap{color:var(--text-muted,#64748b);align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:inline-flex}.speech-rate-select{background:var(--bg,#f8fafc);color:var(--text,#1e293b);cursor:pointer;border:1px solid #cbd5e1;border-radius:4px;padding:.15rem .3rem;font-size:.75rem}.guided-challenge-box{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:4px solid var(--primary);border-radius:var(--radius-md);margin-bottom:1rem;padding:.85rem 1rem;transition:all .2s}.guided-challenge-box.solved{background:var(--success-subtle);border-color:var(--success-border);border-left-color:var(--success)}.challenge-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.challenge-tag{text-transform:uppercase;color:var(--primary);letter-spacing:.5px;font-size:.75rem;font-weight:700}.guided-challenge-box.solved .challenge-tag{color:var(--success)}.challenge-status{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.guided-challenge-box.solved .challenge-status{background:var(--success-subtle);color:var(--success);border-color:var(--success-border)}.challenge-prompt{color:var(--text-primary);margin:0 0 .4rem;font-size:.85rem;line-height:1.45}.challenge-prompt code{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:.15rem .35rem;font-size:.82rem}.challenge-feedback{color:var(--primary-text);font-size:.82rem;line-height:1.45}.guided-challenge-box.solved .challenge-feedback{color:var(--success)}.similarity-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.sim-mode-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.sim-tab{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);color:var(--text,#334155);cursor:pointer;border-radius:20px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .15s}.sim-tab.active{color:#fff;background:#0284c7;border-color:#0284c7}.sim-ratios-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;display:grid}.sim-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:8px;flex-direction:column;gap:.2rem;padding:.6rem;display:flex}.card-label{color:var(--text-muted,#64748b);font-size:.7rem;font-weight:500}.card-num{color:#0284c7;font-size:1.15rem;font-weight:700}.sim-banner{border-radius:8px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.sim-banner.success{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.sim-banner.warn{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.banner-icon{font-size:1.25rem}.euclid-viz,.log-scale-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.euclid-presets,.base-toggle-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.presets-label,.base-label{color:var(--text-muted,#64748b);font-size:.8rem;font-weight:600}.preset-btn,.base-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:var(--text,#334155);border-radius:16px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.preset-btn.active,.base-btn.active{color:#fff;background:#0284c7;border-color:#0284c7}.custom-inputs-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.input-col{flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;display:flex}.euclid-input{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);width:90px;color:var(--text,#1e293b);border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.euclid-action-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.tiling-diagram{background:#0b0f19;border-radius:10px;padding:1rem}.rectangle-wrapper{flex-direction:column;gap:.5rem;width:100%;display:flex}.tile-step-card{color:#f8fafc;background:#1e293b;border-radius:6px;flex-direction:column;gap:.25rem;padding:.6rem .85rem;display:flex}.step-badge{color:#fff;border-radius:4px;width:fit-content;padding:2px 6px;font-size:.68rem;font-weight:700;display:inline-block}.step-math{font-family:monospace;font-size:.9rem}.step-note{color:#94a3b8;font-size:.75rem}.hcf-summary-card{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.85rem 1rem}.hcf-big-pill{align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.hcf-label{text-transform:uppercase;color:#16a34a;font-size:.75rem;font-weight:700}.hcf-desc{color:#166534;margin:0;font-size:.82rem}.log-cards-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.math-bridge-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:8px;min-width:150px;padding:.85rem 1.25rem}.math-bridge-card.highlight{background:#f0f9ff;border-color:#38bdf8}.bridge-tag{text-transform:uppercase;color:var(--text-muted,#64748b);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.bridge-math{color:var(--text,#1e293b);font-size:1.2rem;font-weight:700}.bridge-arrow{color:#0284c7;font-size:1.5rem;font-weight:700}.base-num{color:#0284c7}.exp-num{color:#ea580c}.res-num{color:#16a34a}.ruler-container{background:#0b0f19;border-radius:10px;flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex}.ruler-row{flex-direction:column;gap:.35rem;display:flex}.ruler-tag{color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:700}.ruler-bar{border-bottom:2px solid #334155;justify-content:space-between;padding-bottom:.25rem;display:flex}.ruler-tick{color:#64748b;flex-direction:column;align-items:center;gap:.2rem;font-family:monospace;font-size:.8rem;display:flex}.ruler-tick.selected{color:#38bdf8;font-weight:700}.ruler-tick.selected .tick-mark{background:#38bdf8;width:3px;height:10px}.tick-mark{background:#475569;width:1.5px;height:6px}.venn-viz,.inclusion-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.venn-operation-pills{flex-wrap:wrap;gap:.5rem;display:flex}.op-pill{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:var(--text,#334155);border-radius:16px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.op-pill.active{color:#fff;background:#0284c7;border-color:#0284c7}.venn-result-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.result-math-pill{color:#0284c7;font-family:monospace;font-size:1.1rem;font-weight:700}.result-rule{color:var(--text-muted,#64748b);margin:0;font-size:.85rem}.cardinality-grid{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.card-item{background:var(--bg,#f8fafc);border:1px solid var(--border,#cbd5e1);text-align:center;border-radius:8px;flex-direction:column;gap:.2rem;min-width:75px;padding:.6rem .9rem;display:flex}.card-item.highlight{background:#faf5ff;border-color:#a855f7}.card-item.result{background:#f0fdf4;border-color:#16a34a}.card-sign{color:#64748b;font-size:1.4rem;font-weight:700}.card-title{color:var(--text-muted,#64748b);font-size:.75rem;font-weight:700}.card-calc{color:#94a3b8;font-size:.7rem}.card-val{color:#0284c7;font-size:1.25rem;font-weight:800}.card-item.highlight .card-val{color:#a855f7}.card-item.result .card-val{color:#16a34a}.token-bench{background:#0b0f19;border-radius:10px;justify-content:space-around;gap:1rem;padding:1rem;display:flex}.token-zone{background:#ffffff08;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.5rem;display:flex}.zone-label{color:#94a3b8;text-transform:uppercase;font-size:.72rem;font-weight:600}.tokens-list{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.token{font-size:1.2rem;line-height:1}.token-blue{color:#38bdf8}.token-purple{color:#c084fc}.token-green{color:#4ade80}.parabola-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.parabola-presets{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.parabola-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.parabola-interactive-grid{grid-template-columns:1fr 1fr}}.parabola-controls-panel{flex-direction:column;gap:.75rem;display:flex}.parabola-stats-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.stat-row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.stat-label{color:var(--text-muted,#64748b);font-weight:500}.stat-val{color:var(--text,#1e293b);font-weight:600}.text-green{color:#16a34a!important}.font-bold{font-weight:700}.linear-viz,.completing-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.linear-presets{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.linear-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.linear-interactive-grid{grid-template-columns:1fr 1fr}}.ratio-comparison-box{justify-content:space-around;gap:.75rem;margin-bottom:.75rem;display:flex}.ratio-mini-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#cbd5e1);text-align:center;border-radius:8px;flex:1;padding:.5rem .75rem}.mini-label{color:#64748b;font-size:.7rem;font-weight:600;display:block}.mini-val{color:#0284c7;font-size:1.1rem;font-weight:700}.nature-banner{border-radius:8px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;font-size:.84rem;display:flex}.nature-banner.success{color:#166534;background:#f0fdf4;border:1px solid #86efac}.nature-banner.warn{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.nature-banner.purple{color:#6b21a8;background:#faf5ff;border:1px solid #e9d5ff}.nature-icon{font-size:1.4rem;line-height:1}.completing-controls{flex-direction:column;gap:.75rem;display:flex}.snap-action-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;align-self:flex-start;padding:.6rem 1.2rem;font-size:.88rem;font-weight:600;transition:all .2s}.snap-action-btn.snapped{background:#16a34a}.algebraic-steps-box{flex-direction:column;gap:.5rem;display:flex}.step-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:.6rem .9rem;font-size:.85rem}.step-card.highlight{background:#faf5ff;border-color:#a855f7}.step-card.solved-step{background:#f0fdf4;border-color:#22c55e}.step-num{color:#64748b;margin-bottom:.2rem;font-size:.75rem;font-weight:700;display:block}.ap-viz,.coord-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.ap-controls{flex-direction:column;gap:.75rem;display:flex}.gauss-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;align-self:flex-start;padding:.6rem 1.2rem;font-size:.88rem;font-weight:600;transition:all .2s}.gauss-btn.active{background:#16a34a}.ap-metrics-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=640px){.ap-metrics-grid{grid-template-columns:1fr 1fr 1fr}}.metric-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:8px;padding:.6rem .9rem}.metric-card.highlight{background:#f0fdf4;border-color:#22c55e}.metric-label{color:#64748b;font-size:.75rem;font-weight:600;display:block}.metric-card.highlight .metric-val{color:#16a34a}.gauss-explanation-box{color:#334155;background:#f8fafc;border-left:4px solid #0284c7;border-radius:4px;padding:.85rem 1rem;font-size:.85rem}.coord-mode-pills{flex-wrap:wrap;gap:.5rem;display:flex}.mode-pill{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:#334155;border-radius:20px;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s}.mode-pill.active{color:#fff;background:#0284c7;border-color:#0284c7}.coord-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.coord-interactive-grid{grid-template-columns:1fr 1fr}}.dual-slider{gap:.5rem;display:flex}.coord-calc-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.calc-row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.calc-row.highlight{border-top:1px dashed var(--border,#cbd5e1);margin-top:.25rem;padding-top:.25rem}.calc-title{color:#64748b;font-weight:500}.calc-math{font-family:monospace}.circle-viz,.mensuration-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.circle-mode-pills,.shape-mode-pills{flex-wrap:wrap;gap:.5rem;display:flex}.circle-interactive-grid,.mensuration-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.circle-interactive-grid,.mensuration-interactive-grid{grid-template-columns:1fr 1fr}}.theorem-card,.mensuration-calc-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;font-size:.83rem;display:flex}.text-sky{color:#0284c7!important}.trig-viz,.elevation-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.trig-presets,.elevation-mode-pills{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.presets-label{color:#64748b;font-size:.8rem;font-weight:600}.preset-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:#334155;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.preset-btn.active{color:#fff;background:#0284c7;border-color:#0284c7}.trig-interactive-grid,.elevation-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.trig-interactive-grid,.elevation-interactive-grid{grid-template-columns:1fr 1fr}}.trig-calc-card,.elevation-calc-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;font-size:.83rem;display:flex}.text-pink{color:#ec4899!important}.prob-viz,.stats-viz{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin:1.5rem 0;padding:1.25rem;display:flex}.prob-mode-pills,.stats-method-pills{flex-wrap:wrap;gap:.5rem;display:flex}.coin-display-row,.dice-stats-row{flex-wrap:wrap;gap:.75rem;display:flex}.stat-box{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;flex:1;gap:.2rem;min-width:120px;padding:.6rem .85rem;font-size:.85rem;display:flex}.stat-box.highlight{background:#f0fdf4;border-color:#22c55e}.convergence-gauge{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;margin:.75rem 0;padding:.75rem 1rem}.gauge-label{justify-content:space-between;margin-bottom:.4rem;font-size:.78rem;display:flex}.gauge-bar-bg{background:#e2e8f0;border-radius:7px;height:14px;position:relative;overflow:hidden}.gauge-target-line{z-index:2;background:#16a34a;width:2px;position:absolute;top:0;bottom:0}.gauge-fill{background:linear-gradient(90deg,#38bdf8,#22c55e);height:100%;transition:width .3s}.sim-actions{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.sim-btn{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:#1e293b;border-radius:6px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.sim-btn.highlight{color:#fff;background:#0284c7;border-color:#0284c7}.sim-btn.reset{color:#fff;background:#ef4444;border-color:#ef4444}.dice-chart{background:#0b0f19;border-radius:8px;align-items:flex-end;gap:.5rem;height:140px;margin:.75rem 0;padding:1rem .5rem .5rem;display:flex}.dice-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.2rem;height:100%;display:flex}.dice-bar-track{background:#ffffff0d;border-radius:4px;align-items:flex-end;width:100%;max-width:28px;height:80px;display:flex}.dice-bar-fill{background:#38bdf8;border-radius:4px;width:100%;transition:height .2s}.bar-val,.bar-face,.bar-pct{color:#cbd5e1;font-size:.75rem}.stats-interactive-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.stats-interactive-grid{grid-template-columns:1fr 1fr}}.freq-sliders-grid{flex-direction:column;gap:.35rem;display:flex}.slider-row{align-items:center;gap:.5rem;display:flex}.slider-tag{flex-shrink:0;width:90px;font-size:.78rem}.stats-calc-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:.35rem;margin-top:.5rem;padding:.75rem 1rem;font-size:.83rem;display:flex}.hub-section-header{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.activity-filter-pills{flex-wrap:wrap;gap:.4rem;display:flex}.filter-pill{border:1px solid var(--border,#cbd5e1);background:var(--bg,#f8fafc);cursor:pointer;color:#334155;border-radius:20px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.filter-pill.active{color:#fff;background:#0284c7;border-color:#0284c7}.pedagogical-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=640px){.pedagogical-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.pedagogical-card{text-align:left;background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:10px;flex-direction:column;gap:.4rem;padding:.9rem;transition:all .2s;display:flex}.pedagogical-card:hover{border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.pedagogical-card.theorem{border-left:4px solid #f59e0b}.pedagogical-card.example{border-left:4px solid #8b5cf6}.pedagogical-card.do-this{border-left:4px solid #10b981}.pedagogical-card.try-this{border-left:4px solid #0284c7}.pedagogical-card.think-discuss{border-left:4px solid #f97316}.pedagogical-card.exercise{border-left:4px solid #6366f1}.card-badge-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.type-tag{text-transform:uppercase;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.type-tag.concept{color:#7e22ce;background:#f3e8ff;border:1px solid #d8b4fe}.type-tag.activity{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.type-tag.theorem{color:#b45309;background:#fef3c7}.type-tag.example{color:#6d28d9;background:#ede9fe}.type-tag.do-this{color:#047857;background:#d1fae5}.type-tag.try-this{color:#0369a1;background:#e0f2fe}.type-tag.think-discuss{color:#c2410c;background:#ffedd5}.type-tag.exercise{color:#4338ca;background:#e0e7ff}.pedagogical-card.concept{background:#faf5ff;border-left-color:#8b5cf6}.pedagogical-card.concept:hover{border-color:#8b5cf6}.pedagogical-card.activity{border-left-color:#0d9488}.pedagogical-card.activity:hover{border-color:#0d9488}.concept-parent-tag{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.viz-tag{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.pedagogical-card-title{color:var(--text,#0f172a);margin:.15rem 0 0;font-size:.92rem;font-weight:700}.pedagogical-card-snippet{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.page-activities-bar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:.4rem;margin-bottom:1rem;padding:.6rem .9rem;display:flex}.activities-bar-label{color:var(--text-muted);font-size:.78rem;font-weight:700}.activities-chips-list{flex-wrap:wrap;gap:.4rem;display:flex}.page-activity-tag{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-primary);align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.78rem;display:inline-flex}.page-activity-tag .activity-type-badge{background:var(--primary-subtle);color:var(--primary-text);border-radius:3px;padding:.1rem .35rem;font-size:.65rem;font-weight:800}.bc-crumb-meta{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.home-hero{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.brand-badge-row{display:flex}.brand-tag{background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--border-subtle);border-radius:20px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.app-main-title{color:var(--text,#0f172a);margin:0;font-size:1.85rem;font-weight:800}.app-subtitle{color:#64748b;margin:0;font-size:.95rem}.curriculum-selector-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:1rem;margin-top:.5rem;padding:1.25rem;display:flex;box-shadow:0 4px 16px #0000000a}.selector-group{flex-direction:column;gap:.45rem;display:flex}.selector-label{color:#475569;font-size:.8rem;font-weight:700}.board-pills-row{grid-template-columns:1fr;gap:.6rem;display:grid}@media (width>=640px){.board-pills-row{grid-template-columns:repeat(3,1fr)}}.board-pill{border-radius:var(--radius-md);border:1.5px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:52px;padding:.75rem 1rem;transition:all .2s;display:flex}.board-pill:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.board-pill.active{border-color:var(--board-accent,var(--primary));background:var(--primary-subtle);box-shadow:0 0 0 1px var(--board-accent,var(--primary))}.board-pill-id{color:var(--text-primary);font-size:.95rem;font-weight:800}.board-pill-name{color:var(--text-secondary);font-size:.76rem;line-height:1.3}.class-pills-row{flex-wrap:wrap;gap:.5rem;display:flex}.class-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:38px;color:var(--text-secondary);cursor:pointer;align-items:center;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.class-pill:hover{border-color:var(--primary);color:var(--text-primary);background:var(--bg-card-hover)}.class-pill.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.curriculum-empty-state{background:var(--surface,#fff);border:1px dashed var(--border,#cbd5e1);text-align:center;border-radius:12px;margin:1.5rem 0;padding:2rem 1.5rem}.curriculum-empty-state .empty-icon{margin-bottom:.5rem;font-size:2.5rem}.curriculum-empty-state h3{margin:.25rem 0 .5rem;font-size:1.25rem}.curriculum-empty-state p{color:#64748b;max-width:650px;margin:0 auto 1.5rem;font-size:.9rem;line-height:1.5}.concept-cards-grid{text-align:left;grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.concept-cards-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}.concept-card{background:var(--bg,#f8fafc);border:1px solid var(--border,#e2e8f0);cursor:pointer;border-radius:10px;flex-direction:column;gap:.45rem;padding:1rem;transition:all .2s;display:flex}.concept-card:hover{border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.concept-card-top{justify-content:space-between;align-items:center;display:flex}.concept-domain-badge{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:700}.concept-classes-tag{color:#64748b;font-size:.72rem}.concept-card-desc{color:#64748b;flex-grow:1;margin:0;font-size:.82rem;line-height:1.4}.concept-card-footer{border-top:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;margin-top:.4rem;padding-top:.4rem;display:flex}.concept-core-hint{color:#94a3b8;font-size:.72rem}.concept-action-btn{color:#0284c7;font-size:.75rem;font-weight:700}.control-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.control-grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.control-grid-2,.control-grid-3{grid-template-columns:1fr}}.math-frac{vertical-align:middle;text-align:center;flex-direction:column;padding:0 .2rem;font-size:.9em;display:inline-flex}.math-num{border-bottom:1.5px solid;padding-bottom:1px}.math-denom{padding-top:1px}.factor-tree-canvas-wrap{border:1px solid var(--border,#e2e8f0);text-align:center;background:#f8fafc;border-radius:8px;margin:1rem 0;overflow:auto}.factor-tree-svg{width:100%;max-width:640px;height:300px}.custom-factor-wrap{align-items:center;gap:.4rem;display:inline-flex}.custom-factor-wrap input{border:1px solid var(--border,#cbd5e1);border-radius:6px;width:90px;padding:.25rem .5rem;font-size:.8rem}.custom-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:6px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.custom-btn:hover{background:#4f46e5}.factor-summary-box{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.2rem;display:flex}.prime-formula{color:#1e293b;margin-top:.2rem;font-size:1.15rem}.theorem-tag{color:#047857;background:#d1fae5;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.theorem-note{color:#64748b;margin:.2rem 0 0;font-size:.78rem}.decimal-results-card{border:1px solid var(--border,#e2e8f0);border-radius:8px;margin-top:1rem;overflow:hidden}.status-banner{justify-content:space-between;align-items:center;padding:.8rem 1.2rem;display:flex}.status-banner.terminating{background:#ecfdf5;border-bottom:2px solid #10b981}.status-banner.recurring{background:#fffbeb;border-bottom:2px solid #f59e0b}.status-pill{font-size:.85rem;font-weight:700}.status-banner.terminating .status-pill{color:#047857}.status-banner.recurring .status-pill{color:#b45309}.analysis-grid{background:#fff;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.2rem;display:grid}@media (width<=640px){.analysis-grid{grid-template-columns:1fr}}.factor-display{margin:.4rem 0;font-size:1.1rem}.other-factor{color:#dc2626;font-weight:700}.decimal-value-display{color:#0f172a;margin:.4rem 0;font-size:1.3rem;font-weight:700}.recurring-bar{color:#b45309;text-decoration:overline}.base10-derivation{background:#f8fafc;border-radius:6px;margin-top:.5rem;padding:.5rem .8rem;font-size:.85rem}.derivation-math{margin-top:.3rem;font-size:.95rem}.pythagoras-canvas-row{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1rem;margin:1.2rem 0;display:flex}.square-col{text-align:center;transition:opacity .2s}.square-heading{color:#334155;margin-bottom:.5rem;font-size:.9rem;font-weight:700}.pyth-svg{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:8px;width:260px;height:260px}.math-equal-symbol{color:#64748b;font-size:2.2rem;font-weight:700}.pyth-calculation-box{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:8px;padding:1rem}.calc-row{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1rem;display:flex}.calc-step.highlight{color:#7c3aed;font-weight:700}.calc-step.result{color:#059669;font-weight:700}.calc-conclusion{color:#475569;margin-top:.6rem;font-size:.82rem;line-height:1.4}.area-ratio-display-row{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1rem;margin:1.2rem 0;display:flex}.triangle-col{text-align:center}.tri-svg{width:160px;height:160px}.tri-svg.large{width:240px;height:240px}.scale-arrow-col{flex-direction:column;align-items:center;gap:.3rem;display:flex}.scale-factor-badge{color:#2563eb;background:#dbeafe;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.area-factor-badge{color:#059669;background:#d1fae5;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.scale-arrow{color:#64748b;font-size:1.5rem}.area-ratio-calc{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:8px;padding:.9rem 1.2rem}.ratio-proof-summary{gap:2rem;font-size:1.05rem;display:flex}.discriminant-graph-wrap{border:1px solid var(--border,#e2e8f0);text-align:center;background:#fff;border-radius:8px;margin:1rem 0}.disc-svg{width:100%;max-width:480px;height:240px}.disc-status-row{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.6rem;padding:.8rem 1.2rem;display:flex}.disc-status-row.d-positive{background:#ecfdf5;border-color:#a7f3d0}.disc-status-row.d-zero{background:#fffbeb;border-color:#fde68a}.disc-status-row.d-negative{background:#fef2f2;border-color:#fecaca}.disc-val-badge{flex-direction:column;display:flex}.disc-val-badge strong{color:#0f172a;font-size:1.15rem}.nature-pill{font-size:.85rem;font-weight:700;display:block}.roots-line{color:#64748b;font-size:.8rem}.section-canvas-wrap{border:1px solid var(--border,#e2e8f0);text-align:center;background:#fff;border-radius:8px;margin:1rem 0}.section-svg{width:100%;max-width:440px;height:240px}.section-calc-box{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:8px;padding:.9rem 1.2rem}.formula-steps{flex-direction:column;gap:.4rem;margin-bottom:.5rem;display:flex}.formula-step code{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.2rem .5rem;font-size:.9rem}.seg-pills{flex-wrap:wrap;gap:.4rem;display:flex}.seg-btn{border:1px solid var(--border,#cbd5e1);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .6rem;font-size:.78rem;font-weight:600}.seg-btn.active{color:#fff;background:#3b82f6;border-color:#2563eb}.pyth-mode-btn{border:1px solid var(--border,#cbd5e1);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .6rem;font-size:.78rem;font-weight:600}.pyth-mode-btn.active{color:#fff;background:#8b5cf6;border-color:#7c3aed}.cancellation-alert{background:#fff7ed;border:1.5px solid #fdba74;border-radius:8px;gap:.8rem;margin-bottom:.8rem;padding:.9rem 1.1rem;display:flex}.cancellation-alert .alert-icon{font-size:1.4rem;line-height:1}.cancellation-alert .alert-content strong{color:#c2410c;margin-bottom:.2rem;font-size:.88rem;display:block}.cancel-math{color:#0f172a;margin:.4rem 0;font-size:1.05rem}.cancel-expl{color:#9a3412;margin:.2rem 0 0;font-size:.8rem;line-height:1.35}.decimal-places-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-top:.8rem;padding:.6rem .9rem}.places-title{color:#15803d;font-size:.75rem;font-weight:700;display:block}.places-math{color:#14532d;margin:.2rem 0;font-size:.95rem}.places-note{color:#166534;font-size:.75rem}.remainder-cycle-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-top:.8rem;padding:.6rem .9rem}.cycle-title{color:#1d4ed8;font-size:.75rem;font-weight:700;display:block}.cycle-steps{flex-wrap:wrap;align-items:center;gap:.3rem;margin:.3rem 0;display:flex}.rem-chip{color:#1e40af;background:#dbeafe;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:700}.cycle-note{color:#1e3a8a;font-size:.75rem;line-height:1.35}.step-math{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.2rem;padding:.3rem .6rem;font-size:.9rem;display:inline-flex}.tile-step-card .step-math{color:#f8fafc;background:#ffffff14;border:1px solid #ffffff26}.deduction-trace-header{border-bottom:1.5px dashed var(--border,#cbd5e1);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;margin-bottom:.7rem;padding-bottom:.4rem;display:flex}.trace-badge{color:#0284c7;background:#e0f2fe;border-radius:4px;padding:.2rem .6rem;font-size:.82rem;font-weight:700}.trace-sub{color:#64748b;font-size:.72rem;font-style:italic}.step-trace-list{flex-direction:column;gap:.5rem;display:flex}.trace-step{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .7rem;font-size:.84rem}.trace-step.highlight-step{background:#f0fdf4;border-color:#86efac}.step-num{color:#fff;text-transform:uppercase;background:#3b82f6;border-radius:3px;margin-right:.5rem;padding:.1rem .4rem;font-size:.7rem;font-weight:800;display:inline-block}.highlight-step .step-num{background:#16a34a}.step-desc{color:#334155;font-weight:600}.step-formula{color:#0f172a;background:#f8fafc;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.3rem;padding:.3rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;display:flex}.stats-table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:.8rem;overflow-x:auto}.stats-mini-table{border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;font-size:.82rem}.stats-mini-table th,.stats-mini-table td{border:1px solid var(--border-subtle);text-align:center;color:var(--text-primary);padding:.45rem .65rem}.stats-mini-table th{background:var(--bg-subtle);color:var(--text-primary);font-weight:700}.stats-mini-table tfoot th{background:var(--bg-subtle);color:var(--text-primary)}.reader-solutions-wrap{flex-direction:column;gap:1.25rem;margin:1.25rem 0;display:flex}.solution-viewer-card{background:var(--bg-surface);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.viewer-badge{color:var(--primary-text);background:var(--primary-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:.4rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.viewer-title{color:var(--text-primary);margin:0 0 .4rem;font-size:1.05rem;font-weight:700}.viewer-problem{color:var(--text-primary);background:var(--bg-subtle);border-left:3px solid var(--primary);border-radius:var(--radius-sm);margin-bottom:.6rem;padding:.65rem .85rem;font-size:.9rem;line-height:1.45}.governing-principle-tag{color:var(--primary-text);background:var(--primary-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:.4rem;margin-bottom:.8rem;padding:.35rem .7rem;font-size:.8rem;display:flex}.principle-label{font-weight:700}.viewer-controls-bar{background:var(--bg-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .85rem;display:flex}.progress-indicator{color:var(--text-muted);font-size:.82rem}.viewer-action-btns{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.step-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:38px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.primary-step-btn{background:var(--primary);color:#fff}.primary-step-btn:hover{background:var(--primary-hover)}.secondary-step-btn{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-primary)}.secondary-step-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-strong)}.tertiary-step-btn{color:var(--text-muted);background:0 0}.tertiary-step-btn:hover:not(:disabled){color:var(--text-primary)}.completed-steps-pill{color:var(--success);background:var(--success-subtle);border:1px solid var(--success-border);border-radius:var(--radius-sm);padding:.25rem .6rem;font-size:.78rem;font-weight:700}.revealed-steps-container{flex-direction:column;gap:.75rem;margin-bottom:.8rem;display:flex}.step-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:.85rem 1rem}.step-card-header{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.step-card-num{color:#fff;background:var(--primary);border-radius:var(--radius-sm);text-transform:uppercase;padding:.15rem .45rem;font-size:.72rem;font-weight:800}.step-card-title{color:var(--text-primary);font-size:.92rem;font-weight:600}.step-card-math{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);-webkit-overflow-scrolling:touch;margin-bottom:.4rem;padding:.55rem .85rem;font-size:.9rem;line-height:1.5;overflow-x:auto}.step-card-explanation{color:var(--text-secondary);gap:.4rem;font-size:.85rem;line-height:1.4;display:flex}.expl-label{color:var(--warning);white-space:nowrap;font-weight:700}.step-trap-alert{background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:var(--radius-sm);color:var(--warning);align-items:center;gap:.4rem;margin-top:.5rem;padding:.45rem .75rem;font-size:.82rem;display:flex}.step-card-body-grid{grid-template-columns:minmax(0,1.2fr) minmax(240px,.9fr);align-items:stretch;gap:1rem;margin-top:.5rem;display:grid}@media (width<=768px){.step-card-body-grid{grid-template-columns:1fr;gap:.75rem}}.step-card-math-col{flex-direction:column;justify-content:flex-start;min-width:0;display:flex}.step-card-visual-col{flex-direction:column;min-width:0;display:flex}.step-visual-tile-box{background:var(--bg-subtle);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;height:100%;padding:.65rem .75rem;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:inset 0 1px 2px #0000000a}.step-visual-tile-box:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.step-visual-tile-header{border-bottom:1px dashed var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:.4rem;padding-bottom:.35rem;display:flex}.step-tile-badge{color:var(--primary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;display:flex}.step-tile-num-badge{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.68rem;font-weight:700}.step-tile-graphic{scrollbar-width:thin;scrollbar-color:var(--border-medium,#cbd5e1) transparent;flex:1;justify-content:center;align-items:center;min-height:95px;max-height:220px;padding:.35rem .2rem;display:flex;overflow:auto}.step-tile-graphic::-webkit-scrollbar{width:5px;height:5px}.step-tile-graphic::-webkit-scrollbar-track{background:0 0}.step-tile-graphic::-webkit-scrollbar-thumb{background:var(--border-medium,#cbd5e1);border-radius:4px}.step-tile-graphic svg{width:100%;min-width:180px;height:auto;max-height:200px}.step-tile-caption{color:var(--text-secondary);border-top:1px solid var(--border-subtle);text-align:center;margin-top:.35rem;padding-top:.35rem;font-size:.76rem;font-weight:600;line-height:1.35}.euclid-tiler-container{flex-direction:column;gap:1.25rem;padding:1rem 0;display:flex}.euclid-header h3{color:var(--text-primary);margin:0 0 .4rem;font-size:1.15rem;font-weight:800}.euclid-intro{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.45}.euclid-inputs-bar{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.euclid-presets-row,.euclid-custom-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.euclid-preset-chip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:.35rem .7rem;font-size:.82rem;font-weight:600;transition:all .15s}.euclid-preset-chip:hover,.euclid-preset-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.euclid-full-tiling-card{background:var(--bg-surface);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem}.full-tiling-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.full-tiling-title{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex}.full-tiling-badge{color:var(--success);background:var(--success-subtle);border:1px solid var(--success-border);border-radius:var(--radius-sm);padding:.2rem .55rem;font-size:.75rem;font-weight:700}.full-tiling-canvas-container{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:180px;max-height:280px;padding:.75rem;display:flex;overflow:hidden}.master-tiling-svg{object-fit:contain;width:100%;max-height:260px}.full-tiling-legend{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.legend-chip{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.legend-color-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-chip.final-hcf{color:var(--success);background:var(--success-subtle);border-color:var(--success-border);font-weight:700}.tiling-canvas-wrap{flex-direction:column;gap:.75rem;display:flex}.tiling-diagram-header{flex-direction:column;gap:.2rem;display:flex}.diagram-header-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.diagram-header-hint{color:var(--text-muted);font-size:.8rem}.tile-step-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.75rem;padding:.85rem 1rem;transition:transform .15s,box-shadow .15s}.tile-step-card.step-card-final{background:var(--success-subtle);border-color:var(--success-border)}.step-card-content{grid-template-columns:1.15fr minmax(240px,.85fr);align-items:center;gap:1rem;display:grid}@media (width<=640px){.step-card-content{grid-template-columns:1fr;gap:.65rem}}.step-badge-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.step-badge{color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;padding:.15rem .5rem;font-size:.72rem;font-weight:800}.step-tile-summary-pill{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.15rem .45rem;font-size:.75rem;font-weight:600}.step-hcf-pill{color:var(--success);background:var(--success-subtle);border:1px solid var(--success-border);border-radius:var(--radius-sm);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.step-math{color:var(--text-primary);margin-bottom:.35rem;font-size:1rem;font-weight:700}.step-note{color:var(--text-secondary);font-size:.84rem;line-height:1.4}.step-visual-header{align-items:center;margin-bottom:.25rem;display:flex}.step-visual-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:700}.step-mini-tile-svg{width:100%;max-height:110px;overflow:visible}.step-visual-caption{color:var(--text-muted);text-align:center;margin-top:.25rem;font-size:.74rem;font-weight:600;display:block}.euclid-final-hcf-card{background:var(--success-subtle);border:1.5px solid var(--success-border);border-radius:var(--radius-md);margin-top:.5rem;padding:1rem 1.25rem}.hcf-result-banner{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.hcf-trophy{font-size:1.4rem}.hcf-value{color:var(--success);font-size:1.15rem;font-weight:800}.hcf-desc{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.45}.final-answer-card{background:var(--success-subtle);border:1.5px solid var(--success-border);border-radius:var(--radius-md);margin-top:.8rem;padding:.9rem 1.1rem}.answer-badge{color:var(--success);margin-bottom:.3rem;font-size:.78rem;font-weight:700;display:block}.answer-content{color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.45}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s ease-out fadeIn}.solution-tag{border-radius:var(--radius-sm);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--border-subtle);padding:.15rem .45rem;font-size:.68rem;font-weight:700}.filter-pill.solution-filter-pill{background:var(--primary-subtle);border-color:var(--border-subtle);color:var(--primary-text);font-weight:700}.filter-pill.solution-filter-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.step-quick-check-box{background:var(--bg-subtle);border:1.5px dashed var(--primary);border-radius:var(--radius-md);margin-top:.5rem;padding:.85rem 1.1rem}.check-title{color:var(--primary-text);text-transform:uppercase;margin-bottom:.3rem;font-size:.78rem;font-weight:800;display:block}.check-question{color:var(--text-primary);margin:0 0 .6rem;font-size:.9rem;font-weight:600}.check-options-grid{flex-direction:column;gap:.45rem;margin-bottom:.6rem;display:flex}.check-opt-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;padding:.55rem .85rem;font-size:.86rem;transition:all .15s;display:flex}.check-opt-btn:hover{background:var(--bg-card-hover);border-color:var(--primary);color:var(--primary-text)}.check-opt-btn.wrong-opt{background:var(--danger-subtle);border-color:var(--danger-border);color:var(--danger)}.check-feedback{border-radius:var(--radius-sm);margin-bottom:.5rem;padding:.35rem .6rem;font-size:.82rem}.feedback-wrong{color:var(--danger);font-weight:600}.skip-check-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.78rem;text-decoration:underline}.skip-check-btn:hover{color:var(--text-primary)}.reader-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.reader-audio-bar{align-items:center;gap:.5rem;display:flex}.speech-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:.35rem;min-height:36px;padding:.35rem .75rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.speech-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.speech-btn.active{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--border-focus)}.speech-speed-wrap{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.speech-rate-select{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:.25rem .45rem;font-family:inherit;font-size:.78rem;font-weight:600}.scratchpad-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:.35rem;min-height:36px;padding:.35rem .75rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.scratchpad-toggle-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.scratchpad-toggle-btn.active{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--border-focus)}.scratchpad-drawer{z-index:9999;background:var(--bg-surface);border:1px solid var(--border-subtle);flex-direction:column;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;position:fixed;overflow:hidden}@media (width<=639px){.scratchpad-drawer{border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;height:58vh;max-height:520px;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #00000040}}@media (width>=640px){.scratchpad-drawer{border-radius:var(--radius-lg);width:440px;height:490px;box-shadow:var(--shadow-md), 0 12px 32px #00000040;bottom:24px;right:24px}}.scratchpad-drawer.closed{opacity:0;pointer-events:none;transform:translateY(115%)}.scratchpad-drawer.open{opacity:1;pointer-events:auto;transform:translateY(0)}.scratchpad-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.65rem .9rem;display:flex}.scratchpad-title{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.scratchpad-actions{align-items:center;gap:.4rem;display:flex}.scratchpad-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:.25rem .55rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .15s}.scratchpad-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.scratchpad-close-btn{border-radius:var(--radius-full);justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.9rem;display:inline-flex}.scratchpad-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.tool-group{align-items:center;gap:.3rem;display:flex}.tool-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;padding:.25rem .55rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .15s}.tool-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.color-swatches{align-items:center;gap:.35rem;display:flex}.color-dot{background:var(--swatch-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .15s}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--bg-surface);transform:scale(1.2)}.contrast-dot{background:var(--text-primary)}.size-pill{border:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:.2rem .45rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:all .15s}.size-pill.active{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.scratchpad-body{background:var(--bg-surface);touch-action:none;cursor:crosshair;flex:1;min-height:220px;position:relative;overflow:hidden}.scratchpad-canvas{touch-action:none;width:100%;height:100%;display:block}.reader-sentence{border-radius:3px;margin:0 -.2rem;padding:.05rem .2rem;transition:background-color .2s,color .2s,box-shadow .2s}.reader-sentence.active{background-color:var(--primary-subtle);color:var(--primary-text);box-shadow:0 0 0 2px var(--border-focus);border-radius:4px;font-weight:600}.reader-tools-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.reader-tool-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:.35rem;min-height:38px;padding:.35rem .65rem;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex;position:relative}.reader-tool-btn:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.reader-tool-btn.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text)}.reader-tool-btn.bookmark-btn.active{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.reader-tool-btn.notes-btn.has-notes{border-color:var(--primary)}.note-indicator-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.notes-drawer-container{z-index:1000;display:none;position:fixed;inset:0}.notes-drawer-container.open{display:block}.notes-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;animation:.2s fadeIn;position:absolute;inset:0}.notes-drawer-panel{background:var(--bg-surface);border-top:1px solid var(--border-subtle);z-index:2;border-radius:16px 16px 0 0;flex-direction:column;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) slideUpBottom;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 24px #0000001f}@media (width>=768px){.notes-drawer-panel{border-left:1px solid var(--border-subtle);border-top:none;border-radius:0;width:380px;max-height:100vh;animation:.25s cubic-bezier(.16,1,.3,1) slideInRight;inset:0 0 0 auto;box-shadow:-8px 0 24px #0000001f}}.notes-drawer-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:.85rem 1.15rem;display:flex}.notes-header-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.notes-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.35rem;line-height:1}.notes-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.notes-drawer-body{flex-direction:column;gap:.85rem;padding:1.15rem;display:flex;overflow-y:auto}.notes-hint{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.4}.notes-textarea{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);width:100%;color:var(--text-primary);resize:vertical;outline:none;min-height:140px;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.notes-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.notes-status-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.notes-saved-status{color:var(--text-muted);font-size:.78rem;font-weight:500;transition:opacity .2s}.notes-actions{gap:.5rem;display:flex}.notes-clear-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;padding:.35rem .75rem;font-size:.82rem}.notes-clear-btn:hover{color:var(--danger);border-color:var(--danger-border);background:var(--danger-subtle)}.notes-save-btn{border-radius:var(--radius-sm);padding:.35rem .85rem;font-size:.82rem}.shortcuts-modal-overlay{z-index:2000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.shortcuts-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;animation:.2s fadeIn;position:absolute;inset:0}.shortcuts-modal-dialog{z-index:2;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:520px;max-height:85vh;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000026}.shortcuts-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.shortcuts-modal-title{align-items:center;gap:.5rem;display:flex}.shortcuts-modal-title h3{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.shortcuts-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .45rem;font-size:1.35rem}.shortcuts-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.shortcuts-modal-body{flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;overflow-y:auto}.shortcuts-intro{color:var(--text-secondary);margin:0;font-size:.88rem}.shortcuts-table{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.shortcut-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-row:nth-child(2n){background:var(--bg-subtle)}.shortcut-keys{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.shortcut-desc{color:var(--text-primary);text-align:right;font-size:.85rem}.or-sep{color:var(--text-muted);font-size:.75rem}kbd{font-family:var(--mono);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:4px;padding:.18rem .45rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-block;box-shadow:0 1px 1px #0000001a}.shortcuts-modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);justify-content:flex-end;padding:.85rem 1.25rem;display:flex}.shortcuts-dismiss-btn{padding:.4rem 1rem;font-size:.85rem}.hub-primary-actions-row{flex-wrap:wrap;align-items:center;gap:.85rem;margin:.75rem 0 1.25rem;display:flex}.hub-primary-actions-row .primary-read-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;flex:240px;justify-content:center;align-items:center;gap:.5rem;width:auto;min-height:48px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:all .15s;display:flex}.hub-primary-actions-row .primary-read-btn:hover{background:var(--primary-hover)}.hub-primary-actions-row .hub-quiz-btn{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);min-height:48px;color:var(--text-primary);cursor:pointer;flex:220px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;transition:all .15s;display:flex}.hub-primary-actions-row .hub-quiz-btn:hover{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text)}.quiz-score-badge{border-radius:var(--radius-full);background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border);padding:.15rem .45rem;font-size:.75rem;font-weight:700}.hub-quiz-score-pill{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--border-focus);align-items:center;padding:.2rem .55rem;font-size:.8rem;font-weight:600;display:inline-flex}.hub-annotations-section{margin-top:1.5rem}.hub-annotations-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;display:grid}.hub-annotation-card{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;flex-direction:column;align-items:flex-start;padding:.85rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.hub-annotation-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.annotation-card-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--bg-subtle);color:var(--text-secondary);border-radius:4px;margin-bottom:.4rem;padding:.15rem .4rem;font-size:.72rem;font-weight:700}.bookmark-card .annotation-card-badge{background:var(--warning-subtle);color:var(--warning)}.note-card .annotation-card-badge{background:var(--primary-subtle);color:var(--primary-text)}.annotation-card-title{color:var(--text-primary);margin:0 0 .25rem;font-size:.95rem;font-weight:600}.annotation-card-snippet{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.annotation-jump-hint{color:var(--primary);margin-top:auto;font-size:.78rem;font-weight:600}.chapter-quiz-overlay{z-index:2000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.chapter-quiz-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;animation:.2s fadeIn;position:absolute;inset:0}.chapter-quiz-dialog{z-index:2;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0000002e}.quiz-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.quiz-header-meta{flex-direction:column;gap:.2rem;display:flex}.quiz-badge{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.quiz-chapter-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.quiz-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .45rem;font-size:1.4rem}.quiz-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.quiz-progress-bar-wrap{background:var(--border-subtle);width:100%;height:4px}.quiz-progress-bar{background:var(--primary);height:100%;transition:width .3s}.quiz-content-body{padding:1.25rem;overflow-y:auto}.quiz-question-card{flex-direction:column;gap:1rem;display:flex}.quiz-question-info-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quiz-step-indicator{color:var(--primary);font-size:.8rem;font-weight:700}.quiz-page-tag{background:var(--bg-subtle);color:var(--text-secondary);border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.quiz-concept-tag{background:var(--primary-subtle);color:var(--primary-text);border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.quiz-prompt-text{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600;line-height:1.45}.quiz-options-list{flex-direction:column;gap:.55rem;display:flex}.quiz-option-btn{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);width:100%;color:var(--text-primary);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;transition:all .15s;display:flex}.quiz-option-btn:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--primary)}.quiz-option-btn .option-letter{background:var(--bg-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:inline-flex}.quiz-option-btn.correct{background:var(--success-subtle);border-color:var(--success);color:var(--success);font-weight:600}.quiz-option-btn.correct .option-letter{background:var(--success);color:#fff}.quiz-option-btn.incorrect{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger);font-weight:600}.quiz-option-btn.incorrect .option-letter{background:var(--danger);color:#fff}.quiz-explanation-box{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);flex-direction:column;gap:.4rem;padding:.9rem;animation:.2s fadeIn;display:flex}.explanation-header{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.explanation-body{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.quiz-review-page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--primary);cursor:pointer;align-self:flex-start;margin-top:.4rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.quiz-review-page-btn:hover{background:var(--primary-subtle);border-color:var(--primary)}.quiz-nav-row{justify-content:flex-end;margin-top:.5rem;display:flex}.quiz-next-btn,.quiz-finish-btn{padding:.6rem 1.25rem;font-size:.9rem}.quiz-score-card{flex-direction:column;gap:1.25rem;animation:.25s fadeIn;display:flex}.score-summary-header{text-align:center;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);flex-direction:column;align-items:center;padding:1.5rem 1rem;display:flex}.score-badge-circle{background:var(--bg-surface);border:3px solid var(--primary);width:90px;height:90px;box-shadow:var(--shadow-md);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.score-badge-icon{font-size:1.5rem;line-height:1}.score-num{color:var(--text-primary);font-size:.95rem;font-weight:800}.score-tier-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.score-tier-desc{color:var(--text-secondary);max-width:440px;margin:0;font-size:.88rem}.score-summary-header.mastery .score-badge-circle{border-color:var(--success)}.score-summary-header.needs-review .score-badge-circle{border-color:var(--warning)}.score-breakdown-section h5{color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .65rem;font-size:.9rem;font-weight:700}.score-questions-list{flex-direction:column;gap:.6rem;max-height:240px;padding-right:.25rem;display:flex;overflow-y:auto}.score-item-row{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-subtle);align-items:flex-start;gap:.65rem;padding:.65rem;display:flex}.score-item-row.item-missed{border-color:var(--danger-border);background:var(--danger-subtle)}.score-item-icon{font-size:1rem;line-height:1.2}.score-item-content{flex-direction:column;flex:1;gap:.2rem;display:flex}.score-item-header{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.score-item-concept{color:var(--text-muted);font-size:.75rem}.score-item-prompt{color:var(--text-secondary);margin:0;font-size:.82rem}.score-item-correct-ans{color:var(--danger);margin-top:.2rem;font-size:.78rem}.score-jump-btn{border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:4px;align-self:center;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.score-jump-btn:hover{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--primary)}.score-card-actions{justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.5rem;display:flex}.quiz-retake-btn,.quiz-done-btn{padding:.5rem 1rem;font-size:.85rem}.nav-search-trigger-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .65rem;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.nav-search-trigger-btn:hover{background:var(--bg-subtle);border-color:var(--primary);color:var(--text-primary)}.nav-search-trigger-btn .search-kbd{background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.7rem;font-family:var(--mono);border-radius:4px;padding:.1rem .35rem}@media (width<=600px){.nav-search-trigger-btn .search-label,.nav-search-trigger-btn .search-kbd{display:none}.nav-search-trigger-btn{justify-content:center;min-width:36px;padding:.4rem .55rem}}.spotlight-search-overlay{z-index:10000;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.spotlight-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;position:absolute;inset:0}.spotlight-dialog{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;width:90%;max-width:680px;max-height:80vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 35px -5px #00000040,0 10px 15px -5px #0000001a}.spotlight-search-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.spotlight-icon{color:var(--text-muted);font-size:1.15rem}.spotlight-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem}.spotlight-input::placeholder{color:var(--text-muted);font-size:.92rem}.spotlight-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:1.2rem;line-height:1}.spotlight-clear-btn:hover{color:var(--text-primary);background:var(--bg-subtle)}.spotlight-filter-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);scrollbar-width:thin;gap:.4rem;padding:.5rem 1.25rem;display:flex;overflow-x:auto}.spotlight-filter-pill{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:.25rem .65rem;font-size:.75rem;font-weight:500;transition:all .15s}.spotlight-filter-pill:hover{border-color:var(--primary);color:var(--text-primary)}.spotlight-filter-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.spotlight-results-container{flex:1;max-height:420px;overflow-y:auto}.spotlight-empty-state,.spotlight-no-results{text-align:center;color:var(--text-muted);padding:2.5rem 1.5rem;font-size:.9rem}.spotlight-empty-state p,.spotlight-no-results p{color:var(--text-secondary);margin:0 0 .5rem}.search-hotkey-hint{color:var(--text-muted);margin-top:.5rem;font-size:.78rem}.search-hotkey-hint kbd{background:var(--bg-subtle);border:1px solid var(--border-subtle);font-family:var(--mono);border-radius:3px;padding:.1rem .35rem}.spotlight-results-list{flex-direction:column;display:flex}.spotlight-result-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:center;gap:1rem;padding:.75rem 1.25rem;transition:background .15s;display:flex}.spotlight-result-row:hover,.spotlight-result-row.selected{background:var(--primary-subtle)}.result-badge-col{flex-direction:column;align-items:flex-start;gap:.25rem;min-width:68px;display:flex}.result-cat-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .4rem;font-size:.68rem;font-weight:700}.result-cat-tag.theorem{color:#db2777;background:#fdf2f8;border:1px solid #fbcfe8}.result-cat-tag.formula{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.result-cat-tag.concept{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.result-cat-tag.exercise{color:#ca8a04;background:#fefce8;border:1px solid #fef08a}.result-page-tag{color:var(--text-muted);font-size:.7rem}.result-main-col{flex:1;min-width:0}.result-header-row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.result-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.result-chapter{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:.72rem;overflow:hidden}.result-snippet{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.35;overflow:hidden}mark.search-match{color:#854d0e;background:#fef08a;border-radius:2px;padding:.05rem .2rem;font-weight:600}.result-jump-arrow{color:var(--text-muted);font-size:1.1rem;transition:transform .15s}.spotlight-result-row:hover .result-jump-arrow,.spotlight-result-row.selected .result-jump-arrow{color:var(--primary);transform:translate(3px)}.spotlight-footer{background:var(--bg-subtle);border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.6rem 1.25rem;font-size:.75rem;display:flex}.spotlight-shortcuts-hint kbd{background:var(--bg-surface);border:1px solid var(--border-subtle);font-family:var(--mono);border-radius:3px;padding:.1rem .35rem}.quick-summary-overlay{z-index:10000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.quick-summary-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;position:absolute;inset:0}.quick-summary-dialog{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:95%;max-width:860px;max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.quick-summary-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.quick-summary-header-left{align-items:center;gap:.75rem;display:flex}.quick-summary-badge{text-transform:uppercase;background:var(--primary-subtle);color:var(--primary-text);border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.quick-summary-chapter-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.quick-summary-header-actions{align-items:center;gap:.5rem;display:flex}.summary-print-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;display:inline-flex}.summary-print-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.quick-summary-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:1.4rem;line-height:1}.quick-summary-close-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.quick-summary-filter-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);gap:.5rem;padding:.6rem 1.5rem;display:flex;overflow-x:auto}.summary-filter-pill{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;padding:.25rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.summary-filter-pill:hover{border-color:var(--primary);color:var(--text-primary)}.summary-filter-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.quick-summary-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.summary-cards-grid{flex-direction:column;gap:.85rem;display:flex}.summary-card{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:var(--radius-md);padding:1rem 1.25rem;transition:box-shadow .15s}.summary-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.summary-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.summary-type-tag{text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.summary-type-tag.theorem{color:#db2777;background:#fdf2f8}.summary-type-tag.formula,.summary-type-tag.principle{color:#2563eb;background:#eff6ff}.summary-type-tag.definition{color:#16a34a;background:#f0fdf4}.summary-card-page{color:var(--text-muted);font-size:.75rem}.summary-card-title{color:var(--text-primary);margin:0 0 .35rem;font-size:.95rem;font-weight:700}.summary-card-content{color:var(--text-secondary);margin:0 0 .65rem;font-size:.86rem;line-height:1.45}.summary-deductions-box{background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:.65rem;padding:.65rem .85rem;font-size:.82rem}.deductions-label{color:var(--text-primary);margin-bottom:.25rem;font-weight:600}.summary-deductions-list{color:var(--text-secondary);margin:0;padding-left:1.2rem}.summary-deductions-list li{margin-bottom:.2rem}.summary-card-footer{justify-content:flex-end;display:flex}.summary-jump-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--primary-text);cursor:pointer;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:all .15s}.summary-jump-btn:hover{background:var(--primary-subtle);border-color:var(--primary)}.quick-summary-footer{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;font-size:.78rem;display:flex}@media print{body *{visibility:hidden}.quick-summary-dialog,.quick-summary-dialog *{visibility:visible}.quick-summary-dialog{max-width:100%;max-height:none;box-shadow:none;border:none;position:absolute;inset:0}.quick-summary-filter-bar,.quick-summary-header-actions,.quick-summary-footer,.summary-jump-btn{display:none!important}}.flashcards-overlay{z-index:10000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.flashcards-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;position:absolute;inset:0}.flashcards-dialog{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;width:95%;max-width:620px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 35px -5px #00000040}.flashcards-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.flashcards-badge{text-transform:uppercase;background:var(--primary-subtle);color:var(--primary-text);border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.flashcards-chapter-title{color:var(--text-primary);margin:.25rem 0 0;font-size:1.05rem;font-weight:700}.flashcards-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:1.4rem;line-height:1}.flashcards-close-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.flashcards-progress-bar-wrap{background:var(--bg-muted);width:100%;height:4px}.flashcards-progress-bar{background:var(--primary);height:100%;transition:width .3s}.flashcards-body{padding:1.5rem}.flashcard-view{flex-direction:column;gap:1.25rem;display:flex}.flashcard-status-row{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.flashcard-cat-badge{text-transform:uppercase;border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.flashcard-cat-badge.theorem{color:#db2777;background:#fdf2f8}.flashcard-cat-badge.formula{color:#2563eb;background:#eff6ff}.flashcard-cat-badge.definition,.flashcard-cat-badge.concept{color:#16a34a;background:#f0fdf4}.flashcard-card{perspective:1200px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:260px}.flashcard-card-inner{text-align:center;width:100%;height:100%;min-height:260px;transform-style:preserve-3d;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .45s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-card-inner.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);box-sizing:border-box;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute;inset:0}.flashcard-front{border-top:4px solid var(--primary)}.flashcard-back{border-top:4px solid var(--success);background:var(--bg-subtle);transform:rotateY(180deg)}.flashcard-face-header{color:var(--text-muted);text-transform:uppercase;justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.flashcard-face-content{color:var(--text-primary);white-space:pre-wrap;flex:1;justify-content:center;align-items:center;padding:.75rem 0;font-size:1.05rem;font-weight:500;line-height:1.5;display:flex}.flashcard-face-footer{color:var(--text-muted);font-size:.75rem}.flashcard-controls-row{justify-content:space-between;gap:1rem;display:flex}.flashcard-grade-btn{border-radius:var(--radius-md);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.flashcard-grade-btn.needs-review{background:var(--warning-subtle);border:1px solid var(--warning-border);color:var(--warning)}.flashcard-grade-btn.needs-review:hover{background:var(--warning);color:#fff}.flashcard-grade-btn.mastered{background:var(--success-subtle);border:1px solid var(--success-border);color:var(--success)}.flashcard-grade-btn.mastered:hover{background:var(--success);color:#fff}.grade-kbd{font-size:.72rem;font-family:var(--mono);background:#00000014;border-radius:3px;padding:.1rem .35rem}.flashcard-card-jump-btn{color:var(--primary-text);cursor:pointer;background:0 0;border:none;margin:.25rem auto 0;font-size:.78rem;text-decoration:underline;display:block}.flashcard-summary-card{text-align:center;padding:2rem 1rem}.summary-icon{margin-bottom:.5rem;font-size:2.75rem}.summary-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}.summary-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.summary-card-actions{justify-content:center;gap:1rem;display:flex}.hub-flashcards-pill{border-radius:var(--radius-full);background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border);align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.flashcard-badge{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-text);border:1px solid var(--primary);align-items:center;margin-left:.35rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.flashcard-badge.all-mastered{background:var(--success-subtle);color:var(--success);border-color:var(--success)}[data-theme=dark] .result-cat-tag.theorem,[data-theme=dark] .summary-type-tag.theorem,[data-theme=dark] .flashcard-cat-badge.theorem{color:#f472b6;background:#3b0764;border-color:#831843}[data-theme=dark] .result-cat-tag.formula,[data-theme=dark] .summary-type-tag.formula,[data-theme=dark] .summary-type-tag.principle,[data-theme=dark] .flashcard-cat-badge.formula{color:#93c5fd;background:#172554;border-color:#1e40af}[data-theme=dark] .result-cat-tag.concept,[data-theme=dark] .summary-type-tag.definition,[data-theme=dark] .flashcard-cat-badge.concept,[data-theme=dark] .flashcard-cat-badge.definition{color:#86efac;background:#052e16;border-color:#166534}[data-theme=dark] .result-cat-tag.exercise{color:#fde047;background:#422006;border-color:#854d0e}[data-theme=dark] mark.search-match{color:#fef08a;background:#713f12}.reader-tool-btn.view-mode-btn{background:var(--primary-subtle,#e0f2fe);border-color:var(--primary,#0284c7);color:var(--primary-text,#0369a1);font-weight:600;transition:all .2s}.reader-tool-btn.view-mode-btn:hover{background:var(--primary,#0284c7);color:#fff}.reader-tool-btn.view-mode-btn.mode-replica{border-left:3px solid #0284c7}.reader-tool-btn.view-mode-btn.mode-flow{border-left:3px solid #10b981}.textbook-callout{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;margin:1.5rem 0;padding:1.15rem 1.35rem;position:relative;box-shadow:0 2px 8px #0000000a}.callout-header{letter-spacing:.04em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;font-weight:700;display:flex}.callout-do-this{background:#16a34a0d;border-left:5px solid #16a34a}.callout-do-this .callout-header{color:#15803d}.callout-think-discuss{background:#d977060d;border-left:5px solid #d97706}.callout-think-discuss .callout-header{color:#b45309}.callout-theorem{background:#2563eb0d;border-left:5px solid #2563eb}.callout-theorem .callout-header{color:#1d4ed8}.callout-activity{background:#7c3aed0d;border-left:5px solid #7c3aed}.callout-activity .callout-header{color:#6d28d9}.callout-try-this{background:#0d94880d;border-left:5px solid #0d9488}.callout-try-this .callout-header{color:#0f766e}.textbook-figures-gallery{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;margin:1.75rem 0;padding:1.25rem;box-shadow:0 2px 10px #0000000a}.figures-gallery-title{color:var(--text-color,#1e293b);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;font-weight:700;display:flex}.figures-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.textbook-figure-card{background:var(--bg-surface,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;flex-direction:column;align-items:center;margin:0;padding:.75rem;display:flex}.figure-img-wrap{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex}.textbook-figure-img{object-fit:contain;border-radius:4px;max-width:100%;height:auto;max-height:280px}.textbook-figcaption{color:var(--text-muted,#64748b);text-align:center;margin-top:.5rem;font-size:.8rem;font-weight:500}[data-theme=dark] .callout-do-this{background:#16a34a1f}[data-theme=dark] .callout-think-discuss{background:#d977061f}[data-theme=dark] .callout-theorem{background:#2563eb1f}[data-theme=dark] .callout-activity{background:#7c3aed1f}[data-theme=dark] .callout-try-this{background:#0d94881f}[data-theme=dark] .textbook-figure-card{background:#1e293b99}.reader-mode-banner{background:var(--bg-surface,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;justify-content:space-between;align-items:center;width:100%;max-width:900px;margin:.5rem auto 1rem;padding:.45rem 1rem;font-size:.82rem;display:flex}.reader-mode-indicator{align-items:center;gap:.65rem;display:flex}.reader-mode-indicator .mode-badge{color:var(--primary,#0284c7);font-weight:700}.reader-mode-indicator .mode-desc{color:var(--text-muted,#64748b);font-size:.75rem}.reader-mode-switch-link{color:var(--primary,#0284c7);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.78rem;font-weight:600;transition:all .15s}.reader-mode-switch-link:hover{background:#0284c714;text-decoration:underline}.hub-curiosity-hero-section{margin:1.25rem 0 1.75rem}.hub-curiosity-hero-card{border-radius:var(--radius-lg,16px);cursor:pointer;background:linear-gradient(135deg,#0ea5e917 0%,#6366f112 50%,#ec48990d 100%);border:1px solid #0ea5e947;flex-direction:column;gap:.85rem;padding:1.35rem 1.5rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px -4px #0ea5e91f}.hub-curiosity-hero-card:before{content:"";background:linear-gradient(#0284c7 0%,#6366f1 100%);width:4px;height:100%;position:absolute;top:0;left:0}.hub-curiosity-hero-card:hover{border-color:#0ea5e980;transform:translateY(-2px);box-shadow:0 8px 28px -4px #0ea5e933}.curiosity-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.curiosity-hero-badge{text-transform:uppercase;letter-spacing:.06em;color:#0369a1;background:#0ea5e924;border:1px solid #0ea5e940;border-radius:9999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}[data-theme=dark] .curiosity-hero-badge{color:#38bdf8;background:#0ea5e933}.curiosity-hero-pill{color:var(--text-muted,#64748b);font-size:.75rem;font-weight:600}.curiosity-hero-title{color:var(--text-primary,#0f172a);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800}.curiosity-hero-tagline{color:var(--text-secondary,#334155);margin:.25rem 0 .75rem;font-size:.92rem;line-height:1.5}.curiosity-hero-tags{flex-wrap:wrap;gap:.5rem;display:flex}.curiosity-tag-chip{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);color:var(--text-primary,#1e293b);border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0000000a}.curiosity-tag-chip.high-stakes{color:#4338ca;background:#6366f114;border-color:#6366f140}[data-theme=dark] .curiosity-tag-chip.high-stakes{color:#a5b4fc;background:#6366f129}.curiosity-hero-footer{justify-content:flex-start;margin-top:.25rem;display:flex}.curiosity-hero-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#4f46e5 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1.15rem;font-size:.84rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 3px 10px #0284c747}.curiosity-hero-cta-btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 5px 15px #0284c761}.nav-settings-trigger-btn{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);color:var(--text,#1e293b);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.nav-settings-trigger-btn:hover{background:var(--surface-hover,#f1f5f9);border-color:var(--primary,#0284c7);transform:translateY(-1px)}.settings-btn-icon{font-size:1rem}.settings-page-wrapper{background:var(--bg,#f8fafc);min-height:100vh;color:var(--text,#1e293b);flex-direction:column;display:flex}.settings-nav-bar{background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e8f0)}.settings-hero-header{border-bottom:1px solid var(--border,#e2e8f0);background:linear-gradient(135deg,#0284c714 0%,#6366f114 100%);padding:2rem 1.5rem 2.25rem}.settings-hero-content{max-width:980px;margin:0 auto}.settings-back-btn{color:var(--primary,#0284c7);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:0;font-size:.88rem;font-weight:700;display:inline-flex}.settings-back-btn:hover{text-decoration:underline}.settings-page-title{color:var(--text,#0f172a);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.85rem;font-weight:800}.settings-page-desc{color:var(--text-muted,#64748b);max-width:680px;margin:0;font-size:.96rem;line-height:1.5}.settings-main-container{box-sizing:border-box;width:100%;max-width:980px;margin:0 auto;padding:2rem 1.5rem 4rem}.settings-presets-section{margin-bottom:2.5rem}.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.section-heading{color:var(--text,#0f172a);margin:0;font-size:1.25rem;font-weight:800}.preset-status-pill{border-radius:9999px;align-items:center;gap:.35rem;padding:.28rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.preset-status-pill.is-preset{color:#059669;background:#10b98124;border:1px solid #10b9814d}.preset-status-pill.is-custom{color:#d97706;background:#f59e0b24;border:1px solid #f59e0b4d}.section-subtext{color:var(--text-muted,#64748b);margin:0 0 1.25rem;font-size:.88rem}.presets-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.preset-card{background:var(--surface,#fff);border:2px solid var(--border,#e2e8f0);cursor:pointer;border-radius:14px;flex-direction:column;padding:1.5rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 2px 6px #0000000a}.preset-card:hover{border-color:var(--primary,#0284c7);transform:translateY(-2px);box-shadow:0 8px 24px #0284c71f}.preset-card.is-active{background:linear-gradient(180deg, var(--surface,#fff) 0%, #0284c70a 100%);border-color:#0284c7;box-shadow:0 0 0 1px #0284c7,0 8px 24px #0284c726}.preset-card-badge{letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#0284c7,#4f46e5);border-radius:6px;padding:.2rem .55rem;font-size:.68rem;font-weight:800;position:absolute;top:-10px;right:14px;box-shadow:0 2px 8px #0284c74d}.preset-card-badge.focus-badge{background:linear-gradient(135deg,#059669,#0d9488)}.preset-card-badge.power-badge{background:linear-gradient(135deg,#7c3aed,#db2777)}.preset-card-icon{margin-bottom:.75rem;font-size:2rem}.preset-card-title{color:var(--text,#0f172a);margin:0 0 .5rem;font-size:1.12rem;font-weight:700}.preset-card-desc{color:var(--text-muted,#64748b);flex-grow:1;margin:0 0 1rem;font-size:.84rem;line-height:1.45}.preset-highlights{border-top:1px dashed var(--border,#e2e8f0);margin:0 0 1.25rem;padding:.85rem 0 0;list-style:none}.preset-highlights li{color:var(--text,#334155);align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:flex}.preset-apply-btn{cursor:pointer;border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);width:100%;color:var(--text,#1e293b);border-radius:8px;padding:.65rem 1rem;font-size:.86rem;font-weight:700;transition:all .15s}.preset-card.is-active .preset-apply-btn{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 3px 10px #0284c74d}.preset-apply-btn:hover{background:var(--surface-hover,#f8fafc);border-color:#0284c7}.preset-card.is-active .preset-apply-btn:hover{background:#0369a1}.settings-categories-container{flex-direction:column;gap:1.75rem;margin-bottom:2.5rem;display:flex}.settings-category-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #00000008}.category-header{border-bottom:1px solid var(--border,#e2e8f0);background:linear-gradient(#0284c708 0%,#0000 100%);align-items:center;gap:.85rem;padding:1.15rem 1.4rem;display:flex}.category-icon{font-size:1.5rem}.category-title{color:var(--text,#0f172a);margin:0 0 .15rem;font-size:1.05rem;font-weight:800}.category-desc{color:var(--text-muted,#64748b);margin:0;font-size:.8rem}.settings-rows-list{flex-direction:column;display:flex}.setting-row{border-bottom:1px solid var(--border,#f1f5f9);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.15rem 1.4rem;transition:background .12s;display:flex}.setting-row:last-child{border-bottom:none}.setting-row:hover{background:var(--surface-hover,#fafafa)}.setting-info{flex:1;min-width:0}.setting-title-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.setting-icon{font-size:1.1rem}.setting-name{color:var(--text,#0f172a);font-size:.94rem;font-weight:700}.setting-explanation{color:var(--text-muted,#64748b);margin:0;font-size:.82rem;line-height:1.4}.setting-control{flex-shrink:0}.setting-toggle-switch{cursor:pointer;background:#cbd5e1;border:none;border-radius:9999px;outline:none;align-items:center;width:52px;height:30px;padding:3px;transition:background-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;display:inline-flex;position:relative}.setting-toggle-switch:focus-visible{box-shadow:0 0 0 3px #0284c759}.toggle-track{width:100%;height:100%;display:block;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;box-shadow:0 2px 4px #0003}.setting-toggle-switch.is-checked{background:#10b981}.setting-toggle-switch.is-checked .toggle-thumb{transform:translate(22px)}.segmented-control{background:var(--bg,#f1f5f9);border:1px solid var(--border,#e2e8f0);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.segmented-btn{color:var(--text-muted,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.segmented-btn:hover{color:var(--text,#0f172a)}.segmented-btn.is-selected{background:var(--surface,#fff);color:var(--primary,#0284c7);font-weight:700;box-shadow:0 1px 4px #00000014}.settings-footer-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 2px 8px #00000008}.footer-status-col{flex-direction:column;gap:.25rem;display:flex}.auto-save-pill{color:#059669;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.footer-meta-text{color:var(--text-muted,#94a3b8);font-size:.75rem}.footer-actions-col{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.settings-reset-btn{border:1px solid var(--border,#cbd5e1);color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border-radius:8px;padding:.55rem 1rem;font-size:.84rem;font-weight:600;transition:all .15s}.settings-reset-btn:hover{background:var(--surface-hover,#f1f5f9);color:#dc2626;border-color:#fca5a5}.settings-done-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#4f46e5 100%);border:none;border-radius:8px;padding:.55rem 1.25rem;font-size:.86rem;font-weight:700;transition:all .15s;box-shadow:0 2px 8px #0284c740}.settings-done-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0284c759}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.font-scale-standard{--reader-font-scale:1}.font-scale-comfortable{--reader-font-scale:1.15}.font-scale-large{--reader-font-scale:1.3}.reader-text,.reader-page-body{font-size:calc(1rem * var(--reader-font-scale,1))}.app-focus-mode .home-discovery-shelf,.app-focus-mode .hub-curiosity-hero-section{display:none!important}.app-focus-mode .reader-container{max-width:820px;margin:0 auto}[data-theme=dark] .settings-page-wrapper{color:#e2e8f0;background:#090d16}[data-theme=dark] .settings-nav-bar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .settings-hero-header{background:linear-gradient(135deg,#0284c71f 0%,#6366f11f 100%);border-color:#1e293b}[data-theme=dark] .settings-page-title{color:#f8fafc}[data-theme=dark] .preset-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .preset-card.is-active{background:linear-gradient(#0f172a 0%,#0284c71f 100%);border-color:#38bdf8}[data-theme=dark] .preset-card-title{color:#f8fafc}[data-theme=dark] .preset-highlights li{color:#cbd5e1}[data-theme=dark] .settings-category-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .category-header{background:#0284c714;border-color:#1e293b}[data-theme=dark] .category-title{color:#f8fafc}[data-theme=dark] .setting-row{border-color:#1e293b}[data-theme=dark] .setting-row:hover{background:#141f36}[data-theme=dark] .setting-name{color:#f8fafc}[data-theme=dark] .setting-toggle-switch{background:#334155}[data-theme=dark] .setting-toggle-switch.is-checked{background:#10b981}[data-theme=dark] .toggle-thumb{background:#f8fafc}[data-theme=dark] .segmented-control{background:#090d16;border-color:#1e293b}[data-theme=dark] .segmented-btn.is-selected{color:#38bdf8;background:#1e293b}[data-theme=dark] .settings-footer-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .preset-apply-btn{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .preset-card.is-active .preset-apply-btn{color:#fff;background:#0284c7}@media (width<=640px){.setting-row{flex-direction:column;align-items:flex-start;gap:.85rem}.setting-control{justify-content:flex-end;width:100%;display:flex}.segmented-control{width:100%}.segmented-btn{text-align:center;flex:1}}.chapter-card-concepts{flex-wrap:wrap;gap:.4rem;margin-top:.6rem;display:flex}.chapter-concept-pill{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.76rem;line-height:1.2;display:inline-flex}.chapter-concept-pill .pill-badge{color:var(--primary);font-weight:700;font-family:var(--mono)}.chapter-concept-pill .pill-title{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:500;overflow:hidden}.chapter-concept-pill .pill-range{color:var(--text-muted);font-size:.7rem}.chapter-concept-pill-more{color:var(--primary);align-self:center;padding:.15rem .4rem;font-size:.74rem;font-weight:600}.hub-curriculum-section{margin-top:2rem;margin-bottom:2.5rem}.curriculum-intro-text{color:var(--text-secondary);margin-top:-.25rem;margin-bottom:1.25rem;font-size:.95rem}.hub-curriculum-grid{flex-direction:column;gap:1.25rem;display:flex}.hub-concept-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.4rem;transition:border-color .2s,box-shadow .2s}.hub-concept-block:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md)}.concept-block-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.concept-header-meta{align-items:center;gap:.5rem;display:flex}.concept-block-badge{background:var(--primary-subtle);color:var(--primary-text);border-radius:var(--radius-full);font-size:.8rem;font-weight:700;font-family:var(--mono);padding:.2rem .6rem}.concept-block-pages{color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.8rem;font-weight:500}.concept-block-title{color:var(--text-primary);flex:100%;margin:0;font-size:1.15rem;font-weight:600}@media (width>=640px){.concept-block-title{flex:auto}}.concept-interactive-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.concept-discovery-card,.concept-viz-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;cursor:pointer;flex-direction:column;justify-content:space-between;padding:1rem;transition:all .2s;display:flex}.concept-discovery-card:hover,.concept-viz-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);background:var(--bg-card);transform:translateY(-2px)}.card-badge-discovery{text-transform:uppercase;letter-spacing:.05em;color:#4338ca;border-radius:var(--radius-sm);background:#e0e7ff;align-items:center;gap:.3rem;width:fit-content;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.card-badge-viz{text-transform:uppercase;letter-spacing:.05em;color:#0369a1;border-radius:var(--radius-sm);background:#e0f2fe;align-items:center;gap:.3rem;width:fit-content;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.concept-card-title{color:var(--text-primary);margin:.45rem 0 .25rem;font-size:.98rem;font-weight:600}.concept-card-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.82rem;line-height:1.4}.concept-card-meta{color:var(--text-muted);font-size:.76rem;font-weight:500}.concept-landmarks-grid{flex-wrap:wrap;gap:.5rem;display:flex}.concept-landmark-item{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.82rem;transition:all .15s;display:inline-flex}.concept-landmark-item:hover{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text);transform:translateY(-1px)}.landmark-type-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:700}.landmark-type-tag.type-theorem{color:#92400e;background:#fef3c7}.landmark-type-tag.type-example{color:#0369a1;background:#e0f2fe}.landmark-type-tag.type-exercise{color:#15803d;background:#dcfce7}.landmark-type-tag.type-dothis{color:#6d28d9;background:#ede9fe}.landmark-type-tag.type-thinkdiscuss{color:#be185d;background:#fce7f3}.landmark-type-tag.type-activity{color:#c2410c;background:#ffedd5}.landmark-title-text{font-weight:500}.landmark-page-tag{color:var(--text-muted);margin-left:.25rem;font-size:.72rem}.concept-empty-state{color:var(--text-muted);margin:.5rem 0;font-size:.85rem;font-style:italic}.reader-concept-banner{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem;display:flex}.concept-banner-info{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.concept-banner-tag{background:var(--primary-subtle);color:var(--primary-text);border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;font-family:var(--mono);padding:.2rem .55rem}.concept-banner-title{color:var(--text-primary);font-size:.92rem;font-weight:600}.concept-banner-range{color:var(--text-muted);font-size:.78rem}.concept-banner-toc-btn{color:var(--primary);background:var(--primary-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.concept-banner-toc-btn:hover{background:var(--primary);color:#fff}.reader-landmarks-bar{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.5rem .85rem;display:flex}.landmarks-bar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.74rem;font-weight:700}.landmarks-bar-items{flex-wrap:wrap;gap:.35rem;display:flex}.landmarks-bar-pill{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);padding:.18rem .5rem;font-size:.75rem;font-weight:500}.inpage-discovery-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f114 0%,#a855f70f 100%);border:1.5px solid #a5b4fc;margin:1.75rem 0;padding:1.25rem 1.4rem}.inpage-discovery-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.inpage-discovery-badge{text-transform:uppercase;letter-spacing:.05em;color:#4338ca;border-radius:var(--radius-full);background:#e0e7ff;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.inpage-discovery-page-tag{color:var(--text-muted);font-size:.78rem;font-weight:500}.inpage-discovery-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.inpage-discovery-desc{color:var(--text-secondary);margin:0 0 1rem;font-size:.88rem;line-height:1.5}.inpage-discovery-actions{flex-wrap:wrap;gap:.75rem;display:flex}.inpage-launch-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;transition:background .15s}.inpage-launch-btn:hover{background:var(--primary-hover)}.inpage-hub-btn{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:.55rem 1rem;font-size:.85rem;font-weight:500}.inpage-hub-btn:hover{background:var(--bg-subtle)}.reader-toc-drawer-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.reader-toc-drawer{background:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;width:440px;max-width:90vw;height:100vh;animation:.22s cubic-bezier(.16,1,.3,1) slideInToc;display:flex;box-shadow:-8px 0 24px #00000026}@keyframes slideInToc{0%{transform:translate(100%)}to{transform:translate(0)}}.reader-toc-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:1.15rem 1.25rem;display:flex}.toc-header-title-wrap h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.toc-header-sub{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.reader-toc-close-btn{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-subtle);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;transition:all .15s;display:flex}.reader-toc-close-btn:hover{background:var(--bg-muted);color:var(--text-primary)}.reader-toc-body{flex-direction:column;flex:1;gap:1.25rem;padding:1rem 1.25rem 2.5rem;display:flex;overflow-y:auto}.toc-concept-group{flex-direction:column;gap:.4rem;display:flex}.toc-concept-header{border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:.45rem;padding-bottom:.35rem;display:flex}.toc-concept-badge{color:var(--primary);font-size:.75rem;font-weight:700;font-family:var(--mono)}.toc-concept-title{color:var(--text-primary);flex:1;font-size:.88rem;font-weight:600}.toc-concept-pages{color:var(--text-muted);font-size:.75rem}.toc-page-list{flex-direction:column;gap:.25rem;padding-left:.4rem;display:flex}.toc-page-row{border-radius:var(--radius-sm);border:1px solid #0000;flex-direction:column;transition:background .15s;display:flex}.toc-page-row:hover{background:var(--bg-subtle)}.toc-page-row.current-page{background:var(--primary-subtle);border-left:3px solid var(--primary)}.toc-page-btn{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.45rem .6rem;font-size:.82rem;display:flex}.toc-page-meta{align-items:center;gap:.4rem;display:flex}.toc-page-num{font-weight:600}.toc-here-pill{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;background:#fff;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:700;box-shadow:0 1px 2px #0000000d}.toc-page-landmarks{flex-wrap:wrap;gap:.25rem;padding:0 .6rem .4rem 1.6rem;display:flex}.toc-landmark-badge{border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:500}.toc-landmark-badge.landmark-type-theorem{color:#92400e;background:#fef3c7}.toc-landmark-badge.landmark-type-example{color:#0369a1;background:#e0f2fe}.toc-landmark-badge.landmark-type-exercise{color:#15803d;background:#dcfce7}.toc-landmark-badge.landmark-type-dothis{color:#6d28d9;background:#ede9fe}.toc-landmark-badge.landmark-type-thinkdiscuss{color:#be185d;background:#fce7f3}.toc-landmark-badge.landmark-type-activity{color:#c2410c;background:#ffedd5}.toc-page-interactive{padding:0 .6rem .4rem 1.6rem}.toc-interactive-badge{color:#4338ca;background:#e0e7ff;border-radius:4px;padding:.12rem .45rem;font-size:.68rem;font-weight:600}[data-theme=dark] .chapter-concept-pill{color:#cbd5e1;background:#0f172a;border-color:#1e293b}[data-theme=dark] .hub-concept-block{background:#0b1120;border-color:#1e293b}[data-theme=dark] .concept-block-badge{color:#a5b4fc;background:#6366f133}[data-theme=dark] .concept-discovery-card,[data-theme=dark] .concept-viz-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .concept-discovery-card:hover,[data-theme=dark] .concept-viz-card:hover{background:#141f36}[data-theme=dark] .concept-landmark-item{color:#e2e8f0;background:#0f172a;border-color:#1e293b}[data-theme=dark] .reader-concept-banner{background:#0b1120;border-color:#1e293b}[data-theme=dark] .reader-landmarks-bar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .landmarks-bar-pill{color:#e2e8f0;background:#141f36;border-color:#334155}[data-theme=dark] .inpage-discovery-card{background:linear-gradient(135deg,#6366f126 0%,#a855f71a 100%);border-color:#6366f1}[data-theme=dark] .inpage-hub-btn{color:#e2e8f0;background:#0f172a;border-color:#334155}[data-theme=dark] .reader-toc-drawer,[data-theme=dark] .reader-toc-header{background:#0b1120;border-color:#1e293b}[data-theme=dark] .reader-toc-close-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .toc-page-row:hover{background:#141f36}[data-theme=dark] .toc-page-row.current-page{background:#6366f133}[data-theme=dark] .toc-here-pill{color:#818cf8;background:#1e293b}.nav-stat-badge{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.nav-streak-badge{color:#d97706;background:#f59e0b14;border-color:#f59e0b66}.nav-streak-badge.streak-active{animation:3s ease-in-out infinite pulse-subtle;box-shadow:0 0 12px #f59e0b40}.nav-streak-badge .flame-icon{font-size:1.05rem}.nav-xp-badge{color:var(--primary);background:#6366f114;border-color:#6366f166}.lms-dashboard-wrapper{flex-direction:column;gap:1.5rem;margin-bottom:2.25rem;display:flex}.dashboard-hero-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:5px solid var(--hero-accent,var(--primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-image:radial-gradient(circle at 100% 0,#6366f10a 0%,#0000 70%);justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem 1.75rem;display:flex;position:relative;overflow:hidden}.hero-card-left{flex:1;min-width:0}.hero-badge-row{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.6rem;display:flex}.hero-status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);color:var(--primary);background:#6366f11f;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.hero-status-pill.starter-pill{color:#059669;background:#10b9811f}.hero-subject-tag{color:var(--text-muted);font-size:.8rem;font-weight:600}.hero-chapter-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.45rem;font-weight:800}.hero-concept-subtitle{color:var(--text-secondary);margin:0 0 1rem;font-size:.92rem;line-height:1.45}.hero-progress-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:.45rem;font-size:.82rem;font-weight:600;display:flex}.hero-progress-bar-track{background:var(--bg-muted);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.hero-progress-bar-fill{background:linear-gradient(90deg, var(--hero-accent,var(--primary)), #818cf8);border-radius:var(--radius-full);height:100%;transition:width .4s}.hero-card-actions{flex-direction:column;flex-shrink:0;gap:.65rem;display:flex}.hero-resume-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:.85rem 1.6rem;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #4f46e54d}.hero-resume-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #4f46e566}.hero-hub-btn{color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.hero-hub-btn:hover{background:var(--bg-subtle);color:var(--text-primary);border-color:var(--text-muted)}.dashboard-dual-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.dashboard-widget{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem}.streak-widget-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1.15rem;display:flex}.streak-headline{align-items:baseline;gap:.45rem;display:flex}.streak-headline .flame-icon{font-size:1.5rem}.streak-headline .flame-number{color:#d97706;letter-spacing:-.03em;font-size:1.8rem;font-weight:900}.streak-headline .flame-text{color:var(--text-primary);font-size:1.05rem;font-weight:700}.streak-subtext{color:var(--text-secondary);margin:.2rem 0 0;font-size:.82rem}.streak-goal-badge{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.streak-calendar-strip{justify-content:space-between;align-items:center;gap:.35rem;padding-top:.4rem;display:flex}.day-cell{flex-direction:column;flex:1;align-items:center;gap:.4rem;display:flex}.day-lbl{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.day-bubble{border:2px solid var(--border-strong);background:var(--bg-subtle);width:34px;height:34px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;transition:all .2s;display:flex}.day-cell.is-active .day-bubble{color:#fff;background:#f59e0b;border-color:#d97706;box-shadow:0 2px 6px #f59e0b59}.day-cell.is-today .day-bubble{border-color:#6366f1}.day-cell.is-today:not(.is-active) .day-bubble{color:#f59e0b;border-style:dashed;border-color:#f59e0b}.exam-countdown-widget{background:linear-gradient(135deg,#0284c70d 0%,#6366f10d 100%);border-color:#0284c740;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.countdown-tag{text-transform:uppercase;color:#0284c7;letter-spacing:.05em;margin-bottom:.25rem;font-size:.72rem;font-weight:700}.countdown-target{color:var(--text-primary);margin:0 0 .15rem;font-size:1.05rem;font-weight:800}.countdown-date{color:var(--text-secondary);margin:0;font-size:.8rem}.countdown-center{flex-direction:column;align-items:center;display:flex}.countdown-number{color:#0284c7;letter-spacing:-.04em;font-size:2.35rem;font-weight:900;line-height:1}.countdown-unit{text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:700}.countdown-right{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.pacing-badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.pacing-badge.on-track{color:#059669;background:#10b9811f}.pacing-badge.needs-focus{color:#d97706;background:#f59e0b1f}.pacing-sub{color:var(--text-muted);font-size:.76rem}.widget-header-row{margin-bottom:1rem}.widget-title{color:var(--text-primary);margin:0 0 .15rem;font-size:1.05rem;font-weight:800}.widget-hint{color:var(--text-muted);font-size:.8rem}.up-next-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.up-next-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;padding:1.15rem;transition:all .2s;display:flex}.up-next-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);background:var(--bg-surface);transform:translateY(-2px)}.card-icon-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);color:var(--primary);background:#4f46e51f;width:fit-content;margin-bottom:.5rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.card-icon-tag.lab-tag{color:#0284c7;background:#0284c71f}.card-icon-tag.practice-tag{color:#059669;background:#10b9811f}.up-next-title{color:var(--text-primary);margin:0 0 .35rem;font-size:.98rem;font-weight:700}.up-next-sub{color:var(--text-secondary);flex:1;margin:0 0 .85rem;font-size:.8rem;line-height:1.4}.up-next-cta{color:var(--primary);align-self:flex-start;font-size:.82rem;font-weight:700}.subject-rings-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;display:grid}.subject-ring-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:center;gap:1rem;padding:1rem 1.15rem;transition:all .2s;display:flex}.subject-ring-card:hover{border-color:var(--subj-accent,var(--primary));background:var(--bg-surface);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.ring-wrap{flex-shrink:0;width:64px;height:64px;position:relative}.progress-ring-svg{transform:rotate(0)}.ring-bg{stroke:var(--bg-muted)}.ring-progress{transition:stroke-dashoffset .6s}.ring-center-icon{font-size:1.35rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-meta{flex:1;min-width:0}.ring-subj-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .35rem;font-size:.95rem;font-weight:700;overflow:hidden}.ring-stats-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ring-ch-count{color:var(--text-muted);font-size:.78rem;font-weight:600}.ring-pct-pill{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-primary);padding:.15rem .45rem;font-size:.75rem;font-weight:700}[data-theme=dark] .dashboard-hero-card,[data-theme=dark] .dashboard-widget{background:#131d33;border-color:#1e293b}[data-theme=dark] .up-next-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .up-next-card:hover{background:#19253d}[data-theme=dark] .subject-ring-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .subject-ring-card:hover{background:#19253d}[data-theme=dark] .day-bubble{color:#94a3b8;background:#1e293b;border-color:#334155}[data-theme=dark] .exam-countdown-widget{background:linear-gradient(135deg,#0284c71a 0%,#6366f11a 100%);border-color:#0284c74d}@media (width<=640px){.dashboard-hero-card{flex-direction:column;align-items:stretch;gap:1.25rem}.hero-card-actions{flex-direction:row}.hero-resume-btn,.hero-hub-btn{text-align:center;flex:1}.exam-countdown-widget{flex-direction:column;align-items:flex-start;gap:1rem}.countdown-right{align-items:flex-start}}.card-badges-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.book-view-switcher-bar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.book-view-mode-tabs{background:var(--bg-surface-subtle,#f1f5f9);border:1px solid var(--border-subtle);border-radius:var(--radius-full,9999px);align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.view-mode-tab{border-radius:var(--radius-full,9999px);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.45rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.view-mode-tab:hover:not(.active){color:var(--text-primary);background:#0000000d}.view-mode-tab.active{background:var(--primary,#0284c7);color:#fff;box-shadow:0 1px 3px #0000001f}.book-view-hint{color:var(--text-muted);font-size:.82rem;font-style:italic}.book-view-pane.hidden{display:none!important}.mastery-pill{border-radius:var(--radius-full,9999px);align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.mastery-pill.mastered,.hub-mastery-pill.mastered{color:#059669;background:#10b9811f;border:1px solid #10b9814d}.mastery-pill.practicing,.hub-mastery-pill.practicing{color:#2563eb;background:#3b82f61f;border:1px solid #3b82f64d}.mastery-pill.review,.hub-mastery-pill.review{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b4d}.mastery-pill.not-started,.hub-mastery-pill.not-started{color:#64748b;background:#94a3b824;border:1px solid #94a3b840}.hub-mastery-pill{border-radius:var(--radius-full,9999px);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.prereq-warning-pill{border-radius:var(--radius-full,9999px);color:#b45309;background:#f59e0b1f;border:1px dashed #f59e0b73;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.prereq-feeds-pill{border-radius:var(--radius-full,9999px);color:#4f46e5;background:#6366f11a;border:1px solid #6366f140;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.strand-group{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;transition:border-color .2s;overflow:hidden}.strand-group:hover{border-color:var(--border-strong)}.strand-header{border-bottom:1px solid var(--border-subtle);border-left:4px solid var(--strand-color,var(--primary));background:linear-gradient(90deg,#0284c70a 0%,#0000 100%);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.strand-header-left{align-items:center;gap:.85rem;display:flex}.strand-icon{border-radius:var(--radius-md,8px);background:var(--bg-surface);width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:1.6rem;display:flex}.strand-title{color:var(--text-primary);margin:0 0 .15rem;font-size:1.05rem;font-weight:700}.strand-description{color:var(--text-muted);margin:0;font-size:.8rem}.strand-header-stats{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.strand-stat-chip,.strand-mastery-chip{border-radius:var(--radius-full,9999px);background:var(--bg-muted,#f1f5f9);color:var(--text-secondary);padding:.2rem .55rem;font-size:.75rem;font-weight:700}.strand-mastery-chip{color:#0284c7;background:#0284c71a}.strand-tree-nodes{flex-direction:column;gap:.65rem;padding:1rem 1.25rem;display:flex}.skill-node-card{border-left:3px solid var(--node-accent,var(--border-subtle))}.skill-mini-bar{background:var(--bg-muted,#e2e8f0);border-radius:9999px;width:100%;height:4px;margin-top:.25rem;margin-bottom:.25rem;overflow:hidden}.skill-mini-fill{border-radius:9999px;height:100%;transition:width .3s}.hub-pathway-banner{border-radius:var(--radius-md,8px);background:var(--bg-surface-subtle,#00000005);border:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.85rem;padding:.65rem .95rem;display:flex}.pathway-col{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.pathway-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.pathway-chip{border-radius:var(--radius-sm,4px);padding:.15rem .45rem;font-size:.75rem;font-weight:700}.pathway-chip.prereq{color:#b45309;background:#f59e0b24;border:1px solid #f59e0b4d}.pathway-chip.feeds{color:#4338ca;background:#6366f124;border:1px solid #6366f14d}.pathway-chip.none{background:var(--bg-muted,#f1f5f9);color:var(--text-muted)}.pathway-divider{color:var(--text-muted);font-weight:700}.pathway-note{color:var(--text-secondary);width:100%;margin:.25rem 0 0;font-size:.8rem}[data-theme=dark] .strand-group{background:#131d33;border-color:#1e293b}[data-theme=dark] .strand-header{border-bottom-color:#1e293b}[data-theme=dark] .strand-icon{background:#0f172a}[data-theme=dark] .book-view-mode-tabs{background:#0f172a;border-color:#1e293b}[data-theme=dark] .view-mode-tab:hover:not(.active){background:#ffffff0f}[data-theme=dark] .hub-pathway-banner{background:#0f172a;border-color:#1e293b}[data-theme=dark] .mastery-pill.mastered,[data-theme=dark] .hub-mastery-pill.mastered{color:#34d399;background:#10b98133}[data-theme=dark] .mastery-pill.practicing,[data-theme=dark] .hub-mastery-pill.practicing{color:#60a5fa;background:#3b82f633}[data-theme=dark] .mastery-pill.review,[data-theme=dark] .hub-mastery-pill.review{color:#fbbf24;background:#f59e0b33}[data-theme=dark] .mastery-pill.not-started,[data-theme=dark] .hub-mastery-pill.not-started{color:#94a3b8;background:#94a3b833}[data-theme=dark] .prereq-warning-pill{color:#fbbf24}[data-theme=dark] .prereq-feeds-pill{color:#818cf8}[data-theme=dark] .pathway-chip.prereq{color:#fbbf24}[data-theme=dark] .pathway-chip.feeds{color:#a5b4fc}[data-theme=dark] .skill-mini-bar{background:#1e293b}.daily-review-widget{background:linear-gradient(135deg, #6366f10d 0%, #8b5cf614 100%), var(--bg-surface);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm);border:1px solid #6366f140;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.daily-review-widget.review-completed{background:linear-gradient(135deg, #10b9810d 0%, #05966914 100%), var(--bg-surface);border-color:#10b98140}.review-widget-left{flex:1;min-width:260px}.review-badge-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.review-status-pill{border-radius:var(--radius-full,9999px);color:#6366f1;background:#6366f11f;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.review-pending-tag{border-radius:var(--radius-full,9999px);color:#d97706;background:#f59e0b1f;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.review-complete-tag{border-radius:var(--radius-full,9999px);color:#059669;background:#10b9811f;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.review-widget-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.review-widget-desc{color:var(--text-secondary);margin:0 0 .75rem;font-size:.85rem;line-height:1.45}.review-stats-chips{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.review-stat-chip{border-radius:var(--radius-full,9999px);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.2rem .55rem;font-size:.75rem;font-weight:600}.review-widget-right{align-items:center;display:flex}.primary-workout-btn{border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 10px #6366f159}.primary-workout-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #6366f173}.daily-review-overlay{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.daily-review-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;position:absolute;inset:0}.daily-review-dialog{z-index:1;background:var(--bg-surface);border-radius:var(--radius-lg,12px);width:100%;max-width:640px;box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle);flex-direction:column;display:flex;position:relative;overflow:hidden}.daily-review-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.daily-review-header-left{align-items:center;gap:.75rem;display:flex}.review-header-badge{color:var(--text-primary);font-size:.95rem;font-weight:700}.review-counter-pill{border-radius:var(--radius-full,9999px);background:var(--bg-muted);color:var(--text-muted);padding:.2rem .5rem;font-size:.75rem;font-weight:600}.daily-review-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm,4px);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.daily-review-close-btn:hover{color:var(--text-primary);background:var(--bg-muted)}.daily-review-progress-wrap{background:var(--bg-muted);width:100%;height:4px}.daily-review-progress-fill{background:linear-gradient(90deg,#6366f1 0%,#10b981 100%);height:100%;transition:width .3s}.daily-review-body{flex-direction:column;justify-content:center;min-height:380px;padding:1.5rem;display:flex}.review-card-container{perspective:1000px;width:100%}.review-flip-card{cursor:pointer;outline:none;width:100%;min-height:320px}.review-flip-card-inner{text-align:left;width:100%;min-height:320px;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1);position:relative}.review-flip-card-inner.flipped{transform:rotateY(180deg)}.review-card-face{backface-visibility:hidden;border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle);background:var(--bg-surface);width:100%;height:100%;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.25rem 1.5rem;display:flex;position:absolute;inset:0}.review-card-front{background:var(--bg-surface)}.review-card-back{background:var(--bg-surface-subtle,#f8fafc);border-color:#6366f14d;transform:rotateY(180deg)}.review-card-face-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.review-category-pill{border-radius:var(--radius-full,9999px);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.review-category-pill.category-theorem{color:#0284c7;background:#0ea5e91f}.review-category-pill.category-formula{color:#9333ea;background:#a855f71f}.review-category-pill.category-definition{color:#059669;background:#10b9811f}.review-category-pill.category-concept{color:#d97706;background:#f59e0b1f}.review-source-tag{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.75rem;overflow:hidden}.review-card-face-content{flex:1;align-items:center;padding:1.25rem 0;display:flex}.review-card-prompt{color:var(--text-primary);margin:0;font-size:1.12rem;font-weight:600;line-height:1.5}.review-card-answer{color:var(--text-primary);white-space:pre-line;font-size:1.02rem;line-height:1.55}.review-card-face-footer{border-top:1px solid var(--border-subtle);justify-content:center;padding-top:.75rem;display:flex}.flip-hint-pill{color:var(--text-muted);font-size:.75rem;font-weight:600}.review-rating-bar{border-top:1px solid var(--border-subtle);gap:.75rem;padding-top:.75rem;display:flex}.review-grade-btn{border-radius:var(--radius-md,8px);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .15s;display:inline-flex}.review-grade-btn.needs-review{color:#dc2626;background:#ef44441a;border:1px solid #ef444440}.review-grade-btn.needs-review:hover{background:#ef44442e}.review-grade-btn.remembered{color:#059669;background:#10b9811a;border:1px solid #10b98140}.review-grade-btn.remembered:hover{background:#10b9812e}.review-grade-btn kbd{background:#00000014;border-radius:3px;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.review-summary-container{text-align:center;padding:1rem .5rem}.summary-trophy-circle{background:#10b9811f;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1rem;font-size:2.2rem;display:flex}.summary-title{color:var(--text-primary);margin:0 0 .35rem;font-size:1.35rem;font-weight:800}.summary-subtitle{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem}.summary-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}.summary-stat-box{background:var(--bg-surface-subtle,#f8fafc);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);padding:.85rem .5rem}.summary-stat-box.highlight-xp{background:#f59e0b0f;border-color:#f59e0b66}.summary-stat-box .stat-number{color:var(--text-primary);font-size:1.25rem;font-weight:800;display:block}.summary-stat-box.highlight-xp .stat-number{color:#d97706}.summary-stat-box .stat-label{color:var(--text-muted);font-size:.75rem}.summary-spacing-hint{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.82rem}.review-done-btn{border-radius:var(--radius-md,8px);background:var(--primary,#0284c7);color:#fff;cursor:pointer;border:none;width:100%;max-width:280px;margin:0 auto;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700}[data-theme=dark] .daily-review-widget{background:#131d33;border-color:#6366f14d}[data-theme=dark] .daily-review-widget.review-completed{background:#131d33;border-color:#10b9814d}[data-theme=dark] .daily-review-dialog{background:#131d33;border-color:#1e293b}[data-theme=dark] .review-card-face{background:#0f172a;border-color:#1e293b}[data-theme=dark] .review-card-back{background:#131d33;border-color:#6366f14d}[data-theme=dark] .summary-stat-box{background:#0f172a;border-color:#1e293b}.nav-formula-book-btn{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);color:#0284c7;cursor:pointer;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.nav-formula-book-btn:hover{background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px)}.nav-formula-book-btn .formula-kbd{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.1rem .35rem;font-size:.7rem;font-weight:700}.book-quick-formula-btn{border:1px solid var(--border-color,#e2e8f0);color:#0284c7;cursor:pointer;background:#f8fafc;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.book-quick-formula-btn:hover{background:#e0f2fe;border-color:#0284c7}.book-switcher-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.up-next-card.revision-card-trigger{border-top-color:#0284c7}.card-icon-tag.revision-tag{color:#0284c7;background:#e0f2fe}.revision-hub-overlay{z-index:99999;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.revision-hub-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;position:absolute;inset:0}.revision-hub-dialog{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:16px;flex-direction:column;width:95vw;max-width:1200px;height:90vh;max-height:900px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.revision-hub-header{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--header-bg,#f8fafc);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.75rem;display:flex}.revision-header-left{align-items:center;gap:.85rem;display:flex}.revision-brand-icon{background:#e0f2fe;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;display:flex}.revision-header-title{color:var(--text-color,#0f172a);margin:0;font-size:1.25rem;font-weight:700}.revision-header-subtitle{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.85rem}.revision-header-actions{align-items:center;gap:.5rem;display:flex}.revision-action-btn{background:var(--card-bg,#fff);border:1px solid var(--border-color,#cbd5e1);color:var(--text-color,#334155);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.revision-action-btn:hover{background:#f1f5f9;border-color:#94a3b8}.revision-close-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .5rem;font-size:1.75rem;line-height:1;transition:all .15s}.revision-close-btn:hover{color:var(--text-color,#0f172a);background:#0000000d}.revision-stats-strip{border-bottom:1px solid var(--border-color,#e2e8f0);background:#f1f5f9;align-items:center;gap:.75rem;padding:.65rem 1.75rem;display:flex;overflow-x:auto}.revision-stat-pill{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);color:var(--text-color,#334155);border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;display:inline-flex}.revision-stat-pill .pill-num{color:#0284c7;font-weight:700}.revision-stat-pill .pill-text{font-weight:500}.revision-toolbar{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);flex-direction:column;gap:.75rem;padding:1rem 1.75rem;display:flex}.revision-search-wrap{align-items:center;width:100%;display:flex;position:relative}.revision-search-wrap .search-lens{color:#94a3b8;pointer-events:none;font-size:1rem;position:absolute;left:.85rem}.revision-search-input{border:1px solid var(--border-color,#cbd5e1);background:var(--card-bg,#fff);width:100%;color:var(--text-color,#0f172a);border-radius:10px;padding:.65rem 2.5rem;font-family:inherit;font-size:.95rem;transition:all .15s}.revision-search-input:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c726}.revision-search-wrap .search-shortcut{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:600;position:absolute;right:.85rem}.revision-subject-pills{align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.revision-subj-pill{border:1px solid var(--border-color,#e2e8f0);color:var(--text-muted,#64748b);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:9999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.revision-subj-pill.active{color:#fff;background:#0284c7;border-color:#0284c7}.revision-secondary-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.revision-type-tabs{background:#f1f5f9;border-radius:8px;align-items:center;gap:.25rem;padding:.25rem;display:flex;overflow-x:auto}.revision-type-tab{color:var(--text-muted,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;font-weight:600;transition:all .15s}.revision-type-tab.active{background:var(--card-bg,#fff);color:var(--text-color,#0f172a);box-shadow:0 1px 2px #0000000d}.revision-chapter-select{border:1px solid var(--border-color,#cbd5e1);background:var(--card-bg,#fff);color:var(--text-color,#0f172a);cursor:pointer;border-radius:8px;padding:.4rem .75rem;font-family:inherit;font-size:.8rem}.revision-content-scroll{flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.printable-doc-header{display:none}.revision-chapter-block{margin-bottom:2rem}.revision-chapter-banner{border:1px solid var(--border-color,#e2e8f0);background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.banner-title-col{align-items:center;gap:.65rem;display:flex}.banner-subject-pill{color:#0369a1;background:#e0f2fe;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.banner-chapter-title{color:var(--text-color,#0f172a);margin:0;font-size:1rem;font-weight:700}.banner-count-badge{color:var(--text-muted,#64748b);font-size:.75rem;font-weight:600}.revision-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.revision-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-left:4px solid #94a3b8;border-radius:10px;flex-direction:column;justify-content:space-between;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000008}.revision-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #00000012}.revision-card.type-formula{border-left-color:#0284c7}.revision-card.type-theorem{border-left-color:#8b5cf6}.revision-card.type-definition{border-left-color:#f59e0b}.revision-card.type-note{border-left-color:#10b981}.revision-card.type-bookmark{border-left-color:#f43f5e}.revision-card-header{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.revision-type-badge{color:#475569;background:#f1f5f9;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.revision-type-badge.type-formula{color:#0284c7;background:#e0f2fe}.revision-type-badge.type-theorem{color:#7c3aed;background:#ede9fe}.revision-type-badge.type-definition{color:#d97706;background:#fef3c7}.revision-type-badge.type-note{color:#059669;background:#d1fae5}.revision-type-badge.type-bookmark{color:#e11d48;background:#ffe4e6}.revision-page-chip{color:var(--text-muted,#64748b);font-size:.7rem;font-weight:600}.revision-concept-chip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.revision-card-title{color:var(--text-color,#0f172a);margin:0 0 .5rem;font-size:.95rem;font-weight:700;line-height:1.35}.revision-card-body{flex:1;margin-bottom:.75rem}.revision-content-text{color:var(--text-color,#334155);white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px;padding:.65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;line-height:1.5}.revision-note-view .revision-note-text{color:var(--text-color,#334155);background:#ecfdf5;border:1px solid #d1fae5;border-radius:6px;margin:0;padding:.65rem;font-size:.85rem;line-height:1.5}.revision-note-edit-box textarea{background:var(--card-bg,#fff);width:100%;color:var(--text-color,#0f172a);border:1px solid #059669;border-radius:6px;padding:.5rem;font-family:inherit;font-size:.85rem}.note-edit-actions{gap:.5rem;margin-top:.4rem;display:flex}.note-edit-actions button{cursor:pointer;border-radius:4px;padding:.25rem .65rem;font-size:.75rem}.revision-card-footer{border-top:1px solid var(--border-color,#f1f5f9);justify-content:space-between;align-items:center;padding-top:.65rem;display:flex}.card-btn-icon{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.75rem;font-weight:600}.card-btn-icon:hover{color:#0f172a;background:#f1f5f9}.card-btn-icon.danger:hover{color:#e11d48;background:#ffe4e6}.revision-jump-btn{color:#0284c7;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:700;transition:all .15s}.revision-jump-btn:hover{background:#e0f2fe;text-decoration:underline}.revision-hub-footer{border-top:1px solid var(--border-color,#e2e8f0);background:var(--header-bg,#f8fafc);justify-content:space-between;align-items:center;padding:.85rem 1.75rem;display:flex}.revision-footer-stat{color:var(--text-muted,#64748b);font-size:.85rem;font-weight:500}.revision-done-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;padding:.45rem 1.25rem;font-size:.85rem;font-weight:600}.revision-empty-state{text-align:center;padding:4rem 1rem}.revision-empty-state .empty-icon{margin-bottom:.5rem;font-size:2.5rem;display:block}.revision-empty-state h3{color:var(--text-color,#0f172a);margin:0 0 .5rem;font-size:1.1rem}.revision-empty-state p{color:var(--text-muted,#64748b);margin:0;font-size:.9rem}[data-theme=dark] .nav-formula-book-btn{color:#38bdf8;background:#1e293b;border-color:#334155}[data-theme=dark] .nav-formula-book-btn:hover{background:#0f172a;border-color:#38bdf8}[data-theme=dark] .nav-formula-book-btn .formula-kbd{color:#38bdf8;background:#38bdf826}[data-theme=dark] .book-quick-formula-btn{color:#38bdf8;background:#1e293b;border-color:#334155}[data-theme=dark] .book-quick-formula-btn:hover{background:#0f172a}[data-theme=dark] .revision-hub-dialog{background:#0f172a;border-color:#1e293b}[data-theme=dark] .revision-hub-header,[data-theme=dark] .revision-hub-footer,[data-theme=dark] .revision-chapter-banner{background:#131d33;border-color:#1e293b}[data-theme=dark] .revision-toolbar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .revision-stats-strip{background:#131d33;border-color:#1e293b}[data-theme=dark] .revision-stat-pill{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .revision-search-input{color:#f8fafc;background:#131d33;border-color:#334155}[data-theme=dark] .revision-subj-pill{color:#94a3b8;background:#1e293b;border-color:#334155}[data-theme=dark] .revision-type-tabs{background:#131d33}[data-theme=dark] .revision-type-tab.active{color:#f8fafc;background:#1e293b}[data-theme=dark] .revision-chapter-select{color:#f8fafc;background:#131d33;border-color:#334155}[data-theme=dark] .revision-card{background:#131d33;border-color:#1e293b}[data-theme=dark] .revision-content-text{color:#e2e8f0;background:#0b1120;border-color:#1e293b}[data-theme=dark] .revision-note-view .revision-note-text{color:#6ee7b7;background:#10b9811a;border-color:#10b98140}[data-theme=dark] .revision-action-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .revision-action-btn:hover{background:#0f172a}@media print{body *{visibility:hidden}.revision-hub-dialog,.revision-hub-dialog *{visibility:visible}.revision-hub-dialog{position:absolute;inset:0;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;border:none!important}.revision-hub-header,.revision-stats-strip,.revision-toolbar,.revision-hub-footer,.revision-card-footer{display:none!important}.printable-doc-header{border-bottom:2px solid #000;margin-bottom:2rem;padding-bottom:.5rem;display:block!important}.printable-doc-header h1{margin:0 0 .25rem;font-size:1.5rem}.printable-doc-header p{color:#555;margin:0;font-size:.85rem}.revision-cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.revision-card{page-break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}}.diagnostic-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:10000;opacity:1;background:#0f172abf;justify-content:center;align-items:center;padding:1rem;transition:opacity .2s;animation:.2s ease-out diagFadeIn;display:flex;position:fixed;inset:0}.diagnostic-modal-overlay.closing{opacity:0}@keyframes diagFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.diagnostic-modal-dialog{background:var(--surface,#fff);color:var(--text,#1e293b);border-radius:20px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a}.diagnostic-modal-dialog.summary-dialog{max-width:720px}.diagnostic-modal-header{background:linear-gradient(to bottom, var(--surface,#fff), var(--bg-alt,#f8fafc));border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.75rem 1rem;display:flex}.diagnostic-header-title-block{flex-direction:column;gap:.35rem;display:flex}.diagnostic-pre-badge{text-transform:uppercase;letter-spacing:.05em;color:#0284c7;background:#e0f2fe;border-radius:999px;align-items:center;gap:.4rem;width:fit-content;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.diagnostic-pre-badge.badge-passed{color:#15803d;background:#dcfce7}.diagnostic-pre-badge.badge-review{color:#b45309;background:#fef3c7}.diagnostic-modal-title{color:var(--text,#0f172a);margin:0;font-size:1.35rem;font-weight:800;line-height:1.25}.diagnostic-modal-subtitle{color:var(--text-muted,#64748b);margin:0;font-size:.85rem}.diagnostic-header-controls{align-items:center;gap:.75rem;display:flex}.diagnostic-step-pill{background:var(--bg-alt,#f1f5f9);color:var(--text-muted,#475569);border:1px solid var(--border,#e2e8f0);white-space:nowrap;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700}.diagnostic-modal-close-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .5rem;font-size:1.75rem;line-height:1;transition:all .15s}.diagnostic-modal-close-btn:hover{background:var(--bg-alt,#f1f5f9);color:var(--text,#0f172a)}.diagnostic-progress-track{background:var(--border,#e2e8f0);width:100%;height:4px;position:relative}.diagnostic-progress-bar{background:linear-gradient(90deg,#0284c7,#38bdf8);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.diagnostic-modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.diagnostic-prereq-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.85rem;display:flex}.diagnostic-prereq-label{color:#15803d;font-weight:600}.diagnostic-prereq-title{color:#14532d;font-weight:700}.diagnostic-prereq-page{color:#15803d;background:#dcfce7;border-radius:6px;margin-left:auto;padding:.15rem .5rem;font-size:.8rem;font-weight:700}.diagnostic-question-box{flex-direction:column;gap:1rem;display:flex}.diagnostic-question-prompt{color:var(--text,#0f172a);margin:0;font-size:1.15rem;font-weight:700;line-height:1.5}.diagnostic-options-list{flex-direction:column;gap:.65rem;display:flex}.diagnostic-option-btn{text-align:left;background:var(--surface,#fff);border:2px solid var(--border,#e2e8f0);width:100%;color:var(--text,#1e293b);cursor:pointer;border-radius:12px;align-items:center;gap:.85rem;padding:.85rem 1.15rem;font-size:.95rem;font-weight:500;transition:all .18s;display:flex;position:relative}.diagnostic-option-btn:hover:not(:disabled){background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px)}.diagnostic-option-btn .option-key-pill{background:var(--bg-alt,#f1f5f9);width:24px;height:24px;color:var(--text-muted,#64748b);border:1px solid var(--border,#cbd5e1);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.diagnostic-option-btn.is-selected{background:#f0f9ff;border-color:#0284c7}.diagnostic-option-btn.is-correct{color:#14532d;background:#f0fdf4!important;border-color:#22c55e!important}.diagnostic-option-btn.is-correct .option-key-pill{color:#fff;background:#22c55e;border-color:#16a34a}.diagnostic-option-btn.is-incorrect{color:#991b1b;background:#fef2f2!important;border-color:#ef4444!important}.diagnostic-option-btn.is-incorrect .option-key-pill{color:#fff;background:#ef4444;border-color:#dc2626}.diagnostic-option-btn.is-dimmed{opacity:.6}.diagnostic-option-btn .option-verdict{border-radius:6px;margin-left:auto;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.diagnostic-option-btn .option-verdict.correct{color:#15803d;background:#dcfce7}.diagnostic-option-btn .option-verdict.incorrect{color:#b91c1c;background:#fee2e2}.diagnostic-feedback-box{border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;animation:.2s ease-out diagFadeIn;display:flex}.diagnostic-feedback-box.feedback-correct{color:#166534;background:#f0fdf4;border:1px solid #86efac}.diagnostic-feedback-box.feedback-incorrect{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.feedback-header{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.feedback-explanation{margin:0;font-size:.88rem;line-height:1.45}.feedback-remediation-tip{border-top:1px dashed #0000001a;align-items:baseline;gap:.4rem;margin-top:.25rem;padding-top:.5rem;font-size:.85rem;font-weight:600;display:flex}.diagnostic-modal-footer{border-top:1px solid var(--border,#e2e8f0);background:var(--bg-alt,#f8fafc);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.75rem;display:flex}.diagnostic-modal-footer.summary-footer{justify-content:flex-end}.diagnostic-hint-pill{color:var(--text-muted,#94a3b8);font-size:.8rem;font-style:italic}.diagnostic-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .18s;box-shadow:0 4px 6px -1px #0284c740}.diagnostic-primary-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px);box-shadow:0 6px 10px -1px #0284c759}.diagnostic-secondary-btn{background:var(--surface,#fff);color:var(--text,#334155);border:1px solid var(--border,#cbd5e1);cursor:pointer;border-radius:10px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .15s}.diagnostic-secondary-btn:hover{background:var(--bg-alt,#f1f5f9);color:var(--text,#0f172a)}.diagnostic-summary-hero{border:1px solid #0000;border-radius:16px;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.diagnostic-summary-hero.hero-passed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.diagnostic-summary-hero.hero-review{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.summary-hero-score-ring{background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-weight:800;display:flex;box-shadow:0 4px 12px #00000014}.summary-hero-score-ring .hero-score-number{color:#0284c7;font-size:2rem}.hero-passed .summary-hero-score-ring .hero-score-number{color:#16a34a}.hero-review .summary-hero-score-ring .hero-score-number{color:#d97706}.summary-hero-score-ring .hero-score-denom{color:#94a3b8;margin-top:.4rem;font-size:1.1rem}.summary-hero-copy{flex-direction:column;gap:.35rem;display:flex}.hero-verdict-title{color:var(--text,#0f172a);margin:0;font-size:1.25rem;font-weight:800}.hero-verdict-desc{color:var(--text-muted,#475569);margin:0;font-size:.9rem;line-height:1.45}.diagnostic-remediation-section{flex-direction:column;gap:.85rem;margin-top:.5rem;display:flex}.remediation-section-title{color:var(--text,#0f172a);align-items:center;gap:.6rem;margin:0;font-size:1.05rem;font-weight:700;display:flex}.remediation-count-pill{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.diagnostic-remediation-grid{grid-template-columns:1fr;gap:.85rem;display:grid}.diagnostic-remediation-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-left:4px solid #f59e0b;border-radius:12px;flex-direction:column;gap:.65rem;padding:1.1rem;display:flex;box-shadow:0 2px 4px #0000000a}.remediation-card-header{align-items:center;gap:.5rem;display:flex}.remediation-card-prompt{color:var(--text,#0f172a);margin:0;font-size:.95rem;font-weight:700}.remediation-card-advice{color:#b45309;background:#fffbeb;border-radius:8px;margin:0;padding:.5rem .75rem;font-size:.88rem;line-height:1.4}.remediation-jump-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;align-self:flex-start;margin-top:.25rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:all .15s}.remediation-jump-btn:hover{color:#fff;background:#16a34a;border-color:#15803d;transform:translateY(-1px)}.pathway-diag-col{flex-direction:column;gap:.35rem;display:flex}.pathway-diag-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.82rem;font-weight:700;transition:all .18s;display:inline-flex}.pathway-diag-btn.diag-prompt{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.pathway-diag-btn.diag-prompt:hover{color:#fff;background:#0284c7;border-color:#0369a1;transform:translateY(-1px)}.pathway-diag-btn.diag-passed{color:#15803d;background:#dcfce7;border-color:#86efac}.pathway-diag-btn.diag-passed:hover{color:#fff;background:#16a34a}.pathway-diag-btn.diag-review{color:#b45309;background:#fef3c7;border-color:#fde68a}.pathway-diag-btn.diag-review:hover{color:#fff;background:#d97706}.hub-remediation-callout{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:center;gap:1rem;margin-top:.85rem;padding:.9rem 1.25rem;font-size:.88rem;animation:.25s ease-out diagFadeIn;display:flex}.remediation-callout-icon{flex-shrink:0;font-size:1.5rem}.remediation-callout-body{flex-direction:column;flex:1;gap:.2rem;display:flex}.remediation-callout-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:all .15s}.remediation-callout-btn:hover{background:#b45309;transform:translateY(-1px)}.flashcard-badge.review-needed{color:#b45309;background:#fef3c7;border:1px solid #fde68a}[data-theme=dark] .diagnostic-modal-dialog{color:#f1f5f9;background:#1e293b;box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #ffffff14}[data-theme=dark] .diagnostic-modal-header{background:linear-gradient(#1e293b,#0f172a);border-bottom-color:#334155}[data-theme=dark] .diagnostic-modal-title{color:#f8fafc}[data-theme=dark] .diagnostic-modal-subtitle{color:#94a3b8}[data-theme=dark] .diagnostic-step-pill{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .diagnostic-modal-close-btn:hover{color:#fff;background:#334155}[data-theme=dark] .diagnostic-progress-track{background:#334155}[data-theme=dark] .diagnostic-prereq-banner{color:#86efac;background:#16653433;border-color:#22c55e4d}[data-theme=dark] .diagnostic-prereq-title{color:#4ade80}[data-theme=dark] .diagnostic-prereq-page{color:#bbf7d0;background:#166534}[data-theme=dark] .diagnostic-question-prompt{color:#f8fafc}[data-theme=dark] .diagnostic-option-btn{color:#e2e8f0;background:#0f172a;border-color:#334155}[data-theme=dark] .diagnostic-option-btn:hover:not(:disabled){background:#1e293b;border-color:#38bdf8}[data-theme=dark] .diagnostic-option-btn .option-key-pill{color:#94a3b8;background:#1e293b;border-color:#475569}[data-theme=dark] .diagnostic-option-btn.is-selected{background:#0284c733;border-color:#38bdf8}[data-theme=dark] .diagnostic-option-btn.is-correct{color:#86efac;background:#22c55e26!important;border-color:#22c55e!important}[data-theme=dark] .diagnostic-option-btn.is-incorrect{color:#fca5a5;background:#ef444426!important;border-color:#ef4444!important}[data-theme=dark] .diagnostic-feedback-box.feedback-correct{color:#bbf7d0;background:#16653440;border-color:#22c55e}[data-theme=dark] .diagnostic-feedback-box.feedback-incorrect{color:#fde68a;background:#b4530940;border-color:#f59e0b}[data-theme=dark] .diagnostic-modal-footer{background:#0f172a;border-top-color:#334155}[data-theme=dark] .diagnostic-secondary-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .diagnostic-secondary-btn:hover{color:#fff;background:#334155}[data-theme=dark] .diagnostic-summary-hero.hero-passed{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .diagnostic-summary-hero.hero-review{background:#f59e0b1f;border-color:#f59e0b}[data-theme=dark] .summary-hero-score-ring{background:#0f172a}[data-theme=dark] .hero-verdict-title{color:#f8fafc}[data-theme=dark] .hero-verdict-desc{color:#cbd5e1}[data-theme=dark] .remediation-section-title{color:#f8fafc}[data-theme=dark] .diagnostic-remediation-card{background:#0f172a;border-color:#334155 #334155 #334155 #f59e0b}[data-theme=dark] .remediation-ch-badge{color:#e0f2fe;background:#0369a1}[data-theme=dark] .remediation-page-badge{color:#cbd5e1;background:#334155}[data-theme=dark] .remediation-card-prompt{color:#f8fafc}[data-theme=dark] .remediation-card-advice{color:#fde68a;background:#b4530933}[data-theme=dark] .remediation-jump-btn{color:#86efac;background:#22c55e33;border-color:#22c55e}[data-theme=dark] .remediation-jump-btn:hover{color:#fff;background:#16a34a}[data-theme=dark] .hub-remediation-callout{color:#fde68a;background:#b4530926;border-color:#d97706}[data-theme=dark] .pathway-diag-btn.diag-prompt{color:#e0f2fe;background:#0369a1;border-color:#0284c7}[data-theme=dark] .pathway-diag-btn.diag-passed{color:#dcfce7;background:#166534;border-color:#22c55e}[data-theme=dark] .pathway-diag-btn.diag-review{color:#fef3c7;background:#78350f;border-color:#d97706}.nav-exam-simulator-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border:1px solid #fff3;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #4f46e540}.nav-exam-simulator-btn:hover{background:linear-gradient(135deg,#4338ca 0%,#4f46e5 100%);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.nav-exam-simulator-btn .exam-kbd{color:#fff;background:#fff3;border-radius:4px;margin-left:.2rem;padding:.15rem .35rem;font-family:inherit;font-size:.7rem}.book-quick-exam-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.book-quick-exam-btn:hover{background:#dcfce7;border-color:#22c55e;transform:translateY(-1px)}.countdown-mock-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;width:100%;margin-top:.6rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.countdown-mock-btn:hover{background:#4338ca;box-shadow:0 2px 8px #4f46e54d}.up-next-card.exam-card-trigger{cursor:pointer;border-left:4px solid #4f46e5}.up-next-card.exam-card-trigger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4f46e526}.card-icon-tag.exam-tag{color:#4338ca;background:#eef2ff}.exam-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.exam-modal-dialog{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #00000059}.paper-selector-dialog{width:100%;max-width:820px}.live-exam-dialog{width:100%;max-width:960px;min-height:560px}.scorecard-dialog{width:100%;max-width:860px}.exam-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.exam-header-left{align-items:center;gap:.75rem;display:flex}.exam-tag-badge{color:#4f46e5;text-transform:uppercase;letter-spacing:.04em;background:#eef2ff;border-radius:20px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.exam-dialog-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.exam-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .5rem;font-size:1.25rem;transition:all .15s}.exam-close-btn:hover{color:#0f172a;background:#e2e8f0}.selector-body{padding:1.5rem;overflow-y:auto}.exam-papers-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;display:grid}.exam-paper-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:1.25rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000a}.exam-paper-card:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 8px 24px #6366f11f}.paper-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.paper-board-tag{color:#4338ca;background:#eef2ff;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.paper-duration-badge{color:#64748b;font-size:.75rem;font-weight:600}.paper-marks-badge{color:#d97706;font-size:.75rem;font-weight:700}.paper-card-title{color:#0f172a;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.paper-card-desc{color:#475569;flex-grow:1;margin:0 0 1rem;font-size:.82rem;line-height:1.45}.paper-card-meta{color:#64748b;flex-direction:column;gap:.35rem;margin-bottom:1.25rem;font-size:.76rem;display:flex}.paper-meta-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:.25rem .5rem}.paper-meta-score{border-radius:4px;width:fit-content;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.paper-meta-score.new-tag{color:#166534;background:#f0fdf4}.paper-meta-score.passed{color:#15803d;background:#dcfce7}.paper-meta-score.failed{color:#dc2626;background:#fef2f2}.exam-start-paper-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;width:100%;padding:.6rem 1rem;font-size:.88rem;font-weight:600;transition:all .15s}.exam-start-paper-btn:hover{background:#4338ca}.exam-secondary-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600}.exam-secondary-btn:hover{background:#f1f5f9}.exam-footer-hint{color:#64748b;font-size:.8rem}.exam-live-header{color:#f8fafc;background:#0f172a;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.live-paper-title{color:#f8fafc;margin:0;font-size:1rem;font-weight:700}.live-paper-subtitle{color:#94a3b8;margin:.15rem 0 0;font-size:.78rem}.live-header-right{align-items:center;gap:.75rem;display:flex}.exam-timer-pill{color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-family:monospace;font-size:.95rem;font-weight:700;display:flex}.exam-timer-pill.timer-warning{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b}.exam-timer-pill.timer-danger{color:#f87171;background:#ef444440;border-color:#ef4444;animation:1s infinite pulse}.pause-exam-btn,.exit-exam-btn{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:.35rem .65rem;font-size:.8rem;transition:all .15s}.pause-exam-btn:hover,.exit-exam-btn:hover{color:#fff;background:#334155}.exam-palette-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:.6rem 1.25rem;display:flex}.palette-scroll-wrap{flex-direction:row;align-items:center;gap:.45rem;width:100%;padding-bottom:.25rem;display:flex;overflow-x:auto}.palette-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;height:34px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex;position:relative}.palette-btn:hover{color:#4f46e5;border-color:#6366f1}.palette-btn.status-answered{color:#fff;background:#10b981;border-color:#059669}.palette-btn.status-current{outline-offset:1px;outline:2px solid #4f46e5}.palette-btn.status-flagged{color:#d97706;border-color:#f59e0b;font-weight:800}.palette-legend{color:#64748b;align-items:center;gap:1rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-dot.answered{background:#10b981}.legend-dot.unvisited{background:#cbd5e1}.legend-dot.flagged{background:#f59e0b}.live-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.live-question-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.q-meta-left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.q-number-pill{color:#fff;background:#4f46e5;border-radius:4px;padding:.25rem .6rem;font-size:.78rem;font-weight:700}.q-marks-pill{color:#92400e;background:#fef3c7;border-radius:4px;padding:.25rem .55rem;font-size:.78rem;font-weight:700}.q-chapter-pill{color:#475569;background:#f1f5f9;border-radius:4px;padding:.25rem .55rem;font-size:.78rem;font-weight:600}.q-flag-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.q-flag-btn:hover{color:#d97706;border-color:#f59e0b}.q-flag-btn.is-flagged{color:#b45309;background:#fef3c7;border-color:#f59e0b;font-weight:700}.live-prompt-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.25rem;padding:1.25rem}.q-prompt-text{color:#0f172a;font-size:1.05rem;font-weight:600;line-height:1.6}.live-interaction-area{margin-bottom:1.5rem}.exam-mcq-options-grid{flex-direction:column;gap:.65rem;display:flex}.exam-mcq-option-btn{color:#1e293b;cursor:pointer;text-align:left;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:.95rem;transition:all .15s;display:flex}.exam-mcq-option-btn:hover{background:#f8fafc;border-color:#94a3b8}.exam-mcq-option-btn.is-selected{color:#312e81;background:#eef2ff;border-color:#4f46e5;font-weight:600}.option-key-badge{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:flex}.exam-mcq-option-btn.is-selected .option-key-badge{color:#fff;background:#4f46e5;border-color:#4f46e5}.exam-short-answer-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.short-answer-label{color:#1e293b;margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}.short-answer-input{color:#0f172a;background:#fff;border:2px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-size:1.05rem;transition:border-color .15s}.short-answer-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.short-answer-rubric-wrap{margin-top:1rem}.exam-rubric-toggle-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.exam-rubric-toggle-btn:hover{background:#dcfce7;border-color:#22c55e}.rubric-drawer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:.85rem;padding:1rem}.rubric-drawer.hidden{display:none}.model-solution-preview{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:.85rem}.model-solution-preview h5,.self-scoring-rubric h5{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.82rem;font-weight:700}.rubric-check-item{cursor:pointer;border-radius:4px;align-items:center;gap:.6rem;padding:.4rem .6rem;transition:background .12s;display:flex}.rubric-check-item:hover{background:#f1f5f9}.rubric-checkbox{accent-color:#10b981;width:16px;height:16px}.crit-desc{color:#1e293b;flex:1;font-size:.85rem}.crit-marks{color:#166534;font-size:.8rem;font-weight:700}.exam-derivation-box{flex-direction:column;gap:1rem;display:flex}.derivation-guidance{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:.85rem 1.1rem}.derivation-hint{color:#1e40af;margin:0;font-size:.85rem;line-height:1.5}.derivation-solution-rubric-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.derivation-solution-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.block-title{color:#0f172a;margin:0 0 .75rem;font-size:.95rem;font-weight:700}.model-solution-rendered{color:#334155;font-size:.92rem;line-height:1.6}.derivation-rubric-block{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:1.1rem}.rubric-instruction{color:#166534;margin:0 0 .85rem;font-size:.82rem}.rubric-criteria-list{flex-direction:column;gap:.4rem;display:flex}.rubric-check-item.derivation-item{background:#fff;border:1px solid #bbf7d0;border-radius:6px;padding:.55rem .8rem}.live-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.answered-summary{color:#64748b;font-size:.82rem;font-weight:600}.scorecard-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.exam-header-title-block{flex-direction:column;gap:.25rem;display:flex}.exam-header-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-items:center;gap:.35rem;width:fit-content;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.exam-header-badge.badge-passed{color:#15803d;background:#dcfce7}.exam-header-badge.badge-review{color:#b45309;background:#fef3c7}.exam-modal-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.4rem;transition:all .15s}.exam-modal-close-btn:hover{color:#0f172a;background:#e2e8f0}.scorecard-hero-card{color:#fff;border-radius:12px;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.scorecard-hero-card.hero-passed{background:linear-gradient(135deg,#064e3b 0%,#0f766e 100%)}.scorecard-hero-card.hero-failed{background:linear-gradient(135deg,#78350f 0%,#9a3412 100%)}.scorecard-hero-ring{background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:90px;height:90px;display:flex}.hero-score-number{font-size:1.8rem;font-weight:800;line-height:1}.hero-score-total{opacity:.8;font-size:.85rem}.scorecard-hero-details{flex:1}.scorecard-grade-badge{text-transform:uppercase;letter-spacing:.05em;color:#0f172a;background:#fff;border-radius:4px;margin-bottom:.4rem;padding:.2rem .6rem;font-size:.75rem;font-weight:800;display:inline-block}.hero-verdict-title{margin:0 0 .35rem;font-size:1.15rem;font-weight:700;line-height:1.35}.hero-verdict-sub{opacity:.9;margin:0;font-size:.82rem}.readiness-gauge-box{text-align:center;background:#00000040;border:1px solid #fff3;border-radius:10px;min-width:140px;padding:.9rem 1.1rem}.readiness-gauge-label{text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.readiness-gauge-pct{margin-bottom:.4rem;font-size:1.75rem;font-weight:800;line-height:1;display:block}.readiness-gauge-bar{background:#fff3;border-radius:3px;height:6px;margin-bottom:.35rem;overflow:hidden}.readiness-gauge-fill{background:#38bdf8;border-radius:3px;height:100%}.readiness-gauge-sub{opacity:.75;font-size:.68rem}.scorecard-section-breakdown{margin-bottom:1.5rem}.breakdown-title{color:#0f172a;margin:0 0 .75rem;font-size:1rem;font-weight:700}.breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.breakdown-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.9rem 1rem}.breakdown-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.breakdown-sec-name{color:#334155;font-size:.82rem;font-weight:700}.breakdown-sec-score{color:#4f46e5;font-size:.8rem;font-weight:700}.breakdown-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.breakdown-progress-fill{background:linear-gradient(90deg,#4f46e5 0%,#10b981 100%);border-radius:4px;height:100%;transition:width .3s}.scorecard-remediation-section{margin-bottom:1.5rem}.remediation-title{color:#0f172a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .85rem;font-size:1rem;font-weight:700;display:flex}.remediation-hint{color:#64748b;font-size:.78rem;font-weight:500}.scorecard-remediation-grid{flex-direction:column;gap:.85rem;display:flex}.scorecard-remediation-card{background:#fff;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;padding:1rem 1.15rem}.remediation-meta{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.remediation-ch-badge{color:#991b1b;background:#fee2e2;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.remediation-page-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.remediation-lost-badge{color:#dc2626;background:#fef2f2;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.remediation-prompt{color:#0f172a;margin:0 0 .35rem;font-size:.92rem;font-weight:700}.remediation-explanation{color:#475569;margin:0 0 .75rem;font-size:.84rem;line-height:1.5}.scorecard-jump-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;font-weight:600;transition:all .15s}.scorecard-jump-btn:hover{background:#dc2626}.scorecard-all-clear-card{text-align:center;color:#15803d;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:1.25rem;font-weight:600}.scorecard-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.scorecard-action-btn{cursor:pointer;border-radius:6px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s}.print-btn{color:#334155;background:#fff;border:1px solid #cbd5e1}.print-btn:hover{background:#f1f5f9}.retake-btn{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.retake-btn:hover{background:#e0e7ff}.done-btn{color:#fff;background:#4f46e5;border:none}.done-btn:hover{background:#4338ca}[data-theme=dark] .exam-modal-dialog{color:#f8fafc;background:#0f172a;border-color:#334155}[data-theme=dark] .exam-paper-card{color:#f8fafc!important;background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .paper-card-title{color:#f8fafc!important}[data-theme=dark] .paper-card-desc{color:#cbd5e1!important}[data-theme=dark] .paper-meta-item{color:#94a3b8!important;background:#0f172a!important;border-color:#334155!important}[data-theme=dark] .paper-duration-badge{color:#94a3b8!important}[data-theme=dark] .exam-secondary-btn{color:#cbd5e1!important;background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .exam-secondary-btn:hover{color:#fff!important;background:#334155!important}[data-theme=dark] .exam-modal-header,[data-theme=dark] .scorecard-header,[data-theme=dark] .exam-live-footer,[data-theme=dark] .scorecard-footer{background:#0b0f19;border-color:#1e293b}[data-theme=dark] .exam-dialog-title,[data-theme=dark] .breakdown-title,[data-theme=dark] .remediation-title,[data-theme=dark] .remediation-prompt,[data-theme=dark] .block-title,[data-theme=dark] .short-answer-label,[data-theme=dark] .q-prompt-text{color:#f8fafc}[data-theme=dark] .exam-close-btn,[data-theme=dark] .exam-modal-close-btn{color:#94a3b8}[data-theme=dark] .exam-close-btn:hover,[data-theme=dark] .exam-modal-close-btn:hover{color:#fff;background:#1e293b}[data-theme=dark] .exam-palette-bar{background:#0b0f19;border-bottom-color:#1e293b}[data-theme=dark] .palette-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .palette-btn:hover{color:#818cf8;border-color:#818cf8}[data-theme=dark] .palette-btn.status-current{outline-color:#818cf8}[data-theme=dark] .palette-btn.status-flagged{color:#fbbf24;border-color:#f59e0b}[data-theme=dark] .live-prompt-card{background:#1e293b;border-color:#334155}[data-theme=dark] .exam-mcq-option-btn{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .exam-mcq-option-btn:hover{background:#334155;border-color:#64748b}[data-theme=dark] .exam-mcq-option-btn.is-selected{color:#e0e7ff;background:#4f46e540;border-color:#818cf8}[data-theme=dark] .option-key-badge{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .exam-short-answer-box{background:#1e293b;border-color:#334155}[data-theme=dark] .short-answer-input{color:#f8fafc;background:#0f172a;border-color:#334155}[data-theme=dark] .short-answer-input:focus{border-color:#818cf8}[data-theme=dark] .rubric-drawer{background:#0f172a;border-color:#334155}[data-theme=dark] .model-solution-preview,[data-theme=dark] .derivation-solution-rubric-card{background:#1e293b;border-color:#334155}[data-theme=dark] .derivation-solution-block{background:#0f172a;border-color:#334155}[data-theme=dark] .derivation-rubric-block{background:#16653433;border-color:#22c55e}[data-theme=dark] .rubric-check-item.derivation-item{background:#0f172a;border-color:#334155}[data-theme=dark] .crit-desc{color:#e2e8f0}[data-theme=dark] .prev-btn,[data-theme=dark] .print-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .prev-btn:hover:not(:disabled),[data-theme=dark] .print-btn:hover{background:#334155}[data-theme=dark] .breakdown-card{background:#1e293b;border-color:#334155}[data-theme=dark] .breakdown-sec-name{color:#f8fafc}[data-theme=dark] .breakdown-progress-bar{background:#334155}[data-theme=dark] .scorecard-remediation-card{background:#1e293b;border-color:#ef4444}[data-theme=dark] .remediation-explanation{color:#cbd5e1}[data-theme=dark] .retake-btn{color:#c7d2fe;background:#4f46e533;border-color:#6366f1}[data-theme=dark] .retake-btn:hover{background:#4f46e559}@media (width<=768px){.exam-modal-dialog{max-height:95vh}.scorecard-hero-card{flex-direction:column;align-items:flex-start}.readiness-gauge-box{width:100%}}.nav-offline-status-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:700;transition:all .15s;display:inline-flex}.nav-offline-status-btn:hover{background:#dcfce7;border-color:#22c55e;transform:translateY(-1px)}.nav-offline-status-btn .offline-icon{font-size:.95rem;line-height:1}.nav-offline-status-btn .offline-kbd{color:inherit;opacity:.8;background:#0000000f;border-radius:4px;padding:.1rem .35rem;font-family:inherit;font-size:.68rem;font-weight:600}.book-quick-offline-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.book-quick-offline-btn:hover{background:#f1f5f9;border-color:#94a3b8}.offline-ready-tag{color:#15803d;background:#dcfce7;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.settings-action-pill-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s}.settings-action-pill-btn:hover{background:#4338ca}.offline-manager-dialog{max-width:780px}.offline-header{border-bottom:1px solid #e2e8f0}.offline-badge{color:#4f46e5;background:#eef2ff}.offline-header-right{align-items:center;gap:.75rem;display:flex}.offline-network-pill{border-radius:20px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.offline-network-pill.pill-online{color:#15803d;background:#dcfce7;border:1px solid #86efac}.offline-network-pill.pill-offline{color:#b45309;background:#fef3c7;border:1px solid #fcd34d}.net-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.pill-online .net-dot{background:#22c55e;box-shadow:0 0 8px #22c55e99}.pill-offline .net-dot{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.pwa-install-banner{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border:1px solid #c7d2fe;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.pwa-install-text{align-items:center;gap:.85rem;display:flex}.pwa-app-icon{font-size:1.75rem;line-height:1}.pwa-install-text strong{color:#1e1b4b;margin-bottom:.15rem;font-size:.95rem;display:block}.pwa-install-text p{color:#4338ca;margin:0;font-size:.82rem}.pwa-install-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:8px;padding:.55rem 1.15rem;font-size:.85rem;font-weight:700;transition:all .15s}.pwa-install-action-btn:hover{background:#4338ca;transform:translateY(-1px)}.offline-storage-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.storage-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.storage-title-group{align-items:center;gap:.75rem;display:flex}.storage-icon{font-size:1.5rem;line-height:1}.storage-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.storage-meta{color:#64748b;font-size:.8rem}.clear-storage-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.clear-storage-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.storage-gauge-bar{background:#e2e8f0;border-radius:5px;height:10px;margin-bottom:.85rem;overflow:hidden}.storage-gauge-fill{background:linear-gradient(90deg,#4f46e5 0%,#06b6d4 100%);border-radius:5px;height:100%;transition:width .3s}.storage-breakdown-row{color:#475569;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.78rem;display:flex}.storage-breakdown-item{align-items:center;gap:.4rem;display:flex}.breakdown-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-shell{background:#4f46e5}.dot-packs{background:#06b6d4}.dot-data{background:#10b981}.offline-packs-section{flex-direction:column;gap:1rem;display:flex}.packs-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.packs-heading{color:#0f172a;margin:0 0 .2rem;font-size:1.05rem;font-weight:700}.packs-sub{color:#64748b;margin:0;font-size:.82rem}.download-all-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;padding:.55rem 1.15rem;font-size:.85rem;font-weight:700;transition:all .15s}.download-all-btn:hover:not(.is-loading){background:#0369a1;transform:translateY(-1px)}.download-all-btn.is-loading{opacity:.7;cursor:wait}.chapter-packs-grid{flex-direction:column;gap:.65rem;max-height:380px;padding-right:.25rem;display:flex;overflow-y:auto}.chapter-pack-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;transition:all .15s;display:flex}.chapter-pack-card.is-downloaded{background:#f0fdf4;border-color:#86efac}.pack-card-left{flex:1;align-items:center;gap:.85rem;display:flex}.pack-ch-number{color:#4338ca;background:#eef2ff;border-radius:6px;flex-shrink:0;padding:.35rem .6rem;font-size:.82rem;font-weight:800}.chapter-pack-card.is-downloaded .pack-ch-number{color:#15803d;background:#dcfce7}.pack-ch-details{flex:1}.pack-ch-title{color:#0f172a;margin:0 0 .25rem;font-size:.95rem;font-weight:700}.pack-ch-meta{color:#64748b;font-size:.78rem}.pack-size-chip{color:#166534;font-weight:700}.pack-card-right{flex-shrink:0}.download-pack-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.download-pack-btn:hover{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.pack-actions-downloaded{align-items:center;gap:.6rem;display:flex}.saved-offline-chip{color:#15803d;background:#dcfce7;border-radius:6px;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.remove-pack-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;padding:.3rem .5rem;font-size:.85rem;transition:all .15s}.remove-pack-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.pack-progress-box{align-items:center;gap:.5rem;display:flex}.pack-progress-bar{background:#e2e8f0;border-radius:3px;width:80px;height:6px;overflow:hidden}.pack-progress-fill{background:#0284c7;border-radius:3px;height:100%;transition:width .2s}.pack-progress-text{color:#0284c7;min-width:32px;font-size:.75rem;font-weight:700}.offline-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.offline-sync-note{color:#64748b;align-items:center;gap:.45rem;font-size:.78rem;display:flex}[data-theme=dark] .nav-offline-status-btn{color:#86efac;background:#22c55e26;border-color:#166534}[data-theme=dark] .nav-offline-status-btn:hover{background:#22c55e40;border-color:#22c55e}[data-theme=dark] .book-quick-offline-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .book-quick-offline-btn:hover{color:#fff;background:#334155}[data-theme=dark] .offline-ready-tag{color:#86efac;background:#22c55e33}[data-theme=dark] .offline-header{background:#0b0f19;border-bottom-color:#1e293b}[data-theme=dark] .offline-badge{color:#c7d2fe;background:#4f46e533}[data-theme=dark] .offline-network-pill.pill-online{color:#86efac;background:#22c55e33;border-color:#22c55e}[data-theme=dark] .offline-network-pill.pill-offline{color:#fde68a;background:#f59e0b33;border-color:#f59e0b}[data-theme=dark] .pwa-install-banner{background:#4f46e533;border-color:#6366f1}[data-theme=dark] .pwa-install-text strong{color:#f8fafc}[data-theme=dark] .pwa-install-text p{color:#c7d2fe}[data-theme=dark] .offline-storage-card{background:#1e293b;border-color:#334155}[data-theme=dark] .storage-title{color:#f8fafc}[data-theme=dark] .storage-meta{color:#94a3b8}[data-theme=dark] .clear-storage-btn{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .clear-storage-btn:hover{color:#fca5a5;background:#ef444433;border-color:#ef4444}[data-theme=dark] .storage-gauge-bar{background:#334155}[data-theme=dark] .storage-breakdown-row{color:#94a3b8}[data-theme=dark] .packs-heading{color:#f8fafc}[data-theme=dark] .packs-sub{color:#94a3b8}[data-theme=dark] .chapter-pack-card{background:#1e293b;border-color:#334155}[data-theme=dark] .chapter-pack-card.is-downloaded{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .pack-ch-number{color:#818cf8;background:#0f172a}[data-theme=dark] .chapter-pack-card.is-downloaded .pack-ch-number{color:#86efac;background:#22c55e40}[data-theme=dark] .pack-ch-title{color:#f8fafc}[data-theme=dark] .pack-ch-meta{color:#94a3b8}[data-theme=dark] .pack-size-chip{color:#86efac}[data-theme=dark] .download-pack-btn{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .download-pack-btn:hover{color:#fff;background:#334155}[data-theme=dark] .saved-offline-chip{color:#86efac;background:#22c55e33}[data-theme=dark] .remove-pack-btn{color:#94a3b8;border-color:#334155}[data-theme=dark] .remove-pack-btn:hover{color:#fca5a5;background:#ef444433;border-color:#ef4444}[data-theme=dark] .pack-progress-bar{background:#334155}[data-theme=dark] .offline-footer{background:#0b0f19;border-top-color:#1e293b}[data-theme=dark] .offline-sync-note{color:#94a3b8}.nav-ai-tutor-btn{color:#6366f1;cursor:pointer;background:linear-gradient(135deg,#6366f11f,#a855f726);border:1px solid #8b5cf659;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-ai-tutor-btn:hover{background:linear-gradient(135deg,#6366f138,#a855f740);border-color:#8b5cf6;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf633}.ai-icon{font-size:1.05rem}.ai-kbd{color:inherit;background:#6366f126;border-radius:4px;padding:.1rem .35rem;font-size:.7rem}.ai-tutor-modal-container{flex-direction:column;width:95vw;max-width:820px;height:85vh;display:flex}.ai-tutor-header{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#31104b 100%);border-bottom:1px solid #8b5cf64d}.ai-header-left{align-items:center;gap:.85rem;display:flex}.ai-avatar-badge{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex;box-shadow:0 0 16px #a855f766}.ai-header-titles h3{color:#fff;margin:0;font-size:1.15rem;font-weight:700}.ai-model-selector-row{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.ai-status-indicator{border-radius:12px;padding:.15rem .45rem;font-size:.72rem;font-weight:600}.ai-status-indicator.is-cloud{color:#86efac;background:#22c55e33;border:1px solid #22c55e66}.ai-status-indicator.is-offline{color:#fef08a;background:#eab30833;border:1px solid #eab30866}.ai-model-select{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:6px;outline:none;padding:.2rem .5rem;font-size:.78rem}.ai-model-select option{color:#fff;background:#1e1b4b}.ai-header-actions{align-items:center;gap:.6rem;display:flex}.ai-header-action-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.ai-header-action-btn:hover,.ai-header-action-btn.active{background:#a855f759;border-color:#a855f7}.ai-context-strip{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 1.25rem;font-size:.82rem;display:flex}.ai-context-left{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.context-tag{color:#334155;font-weight:600}.context-topic-tag{color:#4338ca;background:#e0e7ff;border-radius:4px;padding:.1rem .45rem;font-size:.75rem;font-weight:600}.socratic-badge{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:12px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.ai-key-banner{background:linear-gradient(90deg,#fffbeb,#fef3c7);border-bottom:1px solid #fde68a;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;font-size:.82rem;display:flex}.key-banner-text strong{color:#92400e;display:block}.key-banner-inputs{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.ai-banner-key-input{border:1px solid #d1d5db;border-radius:6px;width:180px;padding:.35rem .6rem;font-size:.8rem}.ai-banner-save-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.ai-banner-dismiss-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.ai-modal-body{background:#fff;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.ai-chat-thread{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.ai-msg-bubble{gap:.75rem;max-width:88%;animation:.2s fadeIn;display:flex}.ai-msg-bubble.user{flex-direction:row-reverse;align-self:flex-end}.ai-msg-bubble.assistant{align-self:flex-start}.msg-avatar{background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.15rem;display:flex}.ai-msg-bubble.user .msg-avatar{background:#e0e7ff}.ai-msg-bubble.assistant .msg-avatar{background:linear-gradient(135deg,#e0e7ff,#f3e8ff)}.msg-body{flex-direction:column;display:flex}.msg-meta{color:#64748b;margin-bottom:.25rem;font-size:.75rem}.model-tag{color:#8b5cf6;font-weight:600}.msg-content{border-radius:14px;padding:.85rem 1.1rem;font-size:.92rem;line-height:1.55;box-shadow:0 2px 6px #0000000a}.ai-msg-bubble.user .msg-content{color:#fff;background:#4f46e5;border-top-right-radius:2px}.ai-msg-bubble.assistant .msg-content{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-top-left-radius:2px}.ai-msg-heading{color:#1e1b4b;margin:.4rem 0 .25rem;font-size:1.05rem}.ai-msg-subheading{color:#3730a3;margin:.4rem 0 .2rem;font-size:.95rem}.ai-inline-code{color:#4338ca;background:#6366f11a;border-radius:4px;padding:.1rem .3rem;font-family:monospace;font-size:.88em}.typing-dots{gap:4px;padding:.5rem 0;display:flex}.typing-dots span{background:#a855f7;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite bounce}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}.typing-label{color:#64748b;font-size:.78rem;font-style:italic}.ai-chips-bar{white-space:nowrap;background:#f8fafc;border-top:1px solid #e2e8f0;align-items:center;gap:.5rem;padding:.5rem 1.25rem;display:flex;overflow-x:auto}.chips-label{color:#64748b;text-transform:uppercase;font-size:.75rem;font-weight:700}.ai-prompt-chip{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s}.ai-prompt-chip:hover{color:#4338ca;background:#eef2ff;border-color:#6366f1;transform:translateY(-1px)}.ai-input-bar{background:#fff;border-top:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.ai-user-input{resize:none;border:1px solid #cbd5e1;border-radius:8px;outline:none;flex:1;padding:.65rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .2s}.ai-user-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.ai-send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .15s;display:flex}.ai-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.study-plan-container{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.study-plan-hero{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:12px;justify-content:space-between;align-items:flex-start;padding:1.25rem;display:flex}.study-plan-hero h4{color:#166534;margin:0 0 .35rem;font-size:1.15rem}.plan-reasoning{color:#15803d;margin:0;font-size:.85rem}.study-plan-timeline{flex-direction:column;gap:.85rem;display:flex}.plan-step-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:1rem;padding:1.15rem;transition:all .2s;display:flex}.plan-step-card.is-completed{background:#f0fdf4;border-color:#86efac}.step-card-left{flex-direction:column;align-items:center;gap:.4rem;display:flex}.step-checkbox{accent-color:#16a34a;cursor:pointer;width:20px;height:20px}.step-badge{color:#475569;background:#e2e8f0;border-radius:4px;padding:.15rem .4rem;font-size:.72rem;font-weight:700}.plan-step-card.is-completed .step-badge{color:#166534;background:#bbf7d0}.step-card-main{flex:1}.step-title-row{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.step-title{color:#1e293b;margin:0;font-size:1rem}.step-time-pill{color:#4338ca;background:#e0e7ff;border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.plan-action-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:opacity .15s}.plan-action-btn:hover{opacity:.9}.study-plan-footer{justify-content:flex-end;margin-top:1rem;display:flex}.socratic-hints-drawer{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fde68a;border-radius:10px;margin:.85rem 0 1.25rem;padding:1.15rem;animation:.2s fadeIn}.hints-drawer-header{margin-bottom:.85rem}.hints-drawer-title{color:#92400e;font-size:.95rem;font-weight:700;display:block}.hints-drawer-sub{color:#b45309;font-size:.82rem}.hints-tiers-list{flex-direction:column;gap:.65rem;display:flex}.hint-tier-card{background:#fff;border:1px solid #fef08a;border-radius:8px;padding:.85rem;box-shadow:0 1px 4px #00000008}.hint-tier-header{justify-content:space-between;align-items:center;display:flex}.hint-tier-badge{color:#78350f;font-size:.88rem;font-weight:600}.reveal-hint-tier-btn{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:4px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;transition:opacity .15s}.reveal-hint-tier-btn:hover{opacity:.9}.unlocked-tag{color:#16a34a;font-size:.75rem;font-weight:600}.hint-tier-body{color:#334155;border-top:1px dashed #fde68a;margin-top:.65rem;padding-top:.65rem;font-size:.85rem;line-height:1.5}.hint-concept-tag{color:#4338ca;margin-bottom:.35rem;font-size:.82rem}.hint-math-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin:.35rem 0;padding:.5rem .75rem;font-family:monospace}.hint-trap-callout{color:#b91c1c;background:#fef2f2;border-radius:4px;margin-top:.4rem;padding:.35rem .65rem}.ai-key-setting-control{flex-direction:column;gap:.4rem;width:100%;max-width:380px;display:flex}.ai-key-input-row{gap:.4rem;display:flex}.settings-test-status{margin-top:.25rem;font-size:.78rem}.settings-test-status.success{color:#16a34a;font-weight:600}.settings-test-status.error{color:#dc2626;font-weight:600}.settings-test-status.pending{color:#d97706}.settings-link-out{color:#4f46e5;font-weight:600;text-decoration:underline}[data-theme=dark] .ai-tutor-modal-container,[data-theme=dark] .ai-modal-body{background:#0f172a}[data-theme=dark] .ai-context-strip{background:#0b0f19;border-color:#1e293b}[data-theme=dark] .context-tag{color:#cbd5e1}[data-theme=dark] .ai-chat-thread{background:#0f172a}[data-theme=dark] .ai-msg-bubble.assistant .msg-content{color:#e2e8f0;background:#1e293b;border-color:#334155}[data-theme=dark] .ai-msg-heading{color:#a5b4fc}[data-theme=dark] .ai-msg-subheading{color:#c4b5fd}[data-theme=dark] .ai-inline-code{color:#c4b5fd;background:#8b5cf633}[data-theme=dark] .ai-chips-bar{background:#0b0f19;border-color:#1e293b}[data-theme=dark] .ai-prompt-chip{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .ai-prompt-chip:hover{color:#fff;background:#312e81;border-color:#818cf8}[data-theme=dark] .ai-input-bar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .ai-user-input{color:#f1f5f9;background:#1e293b;border-color:#334155}[data-theme=dark] .ai-key-banner{background:linear-gradient(90deg,#451a03,#78350f);border-color:#92400e}[data-theme=dark] .key-banner-text strong{color:#fde68a}[data-theme=dark] .key-banner-text span{color:#fef3c7}[data-theme=dark] .plan-step-card{background:#1e293b;border-color:#334155}[data-theme=dark] .plan-step-card.is-completed{background:#064e3b;border-color:#059669}[data-theme=dark] .study-plan-hero{background:#064e3b;border-color:#059669}[data-theme=dark] .study-plan-hero h4{color:#a7f3d0}[data-theme=dark] .plan-reasoning{color:#6ee7b7}[data-theme=dark] .socratic-hints-drawer{background:#1e293b;border-color:#475569}[data-theme=dark] .hints-drawer-title{color:#fde68a}[data-theme=dark] .hints-drawer-sub{color:#fef08a}[data-theme=dark] .hint-tier-card{background:#0f172a;border-color:#334155}[data-theme=dark] .hint-tier-badge{color:#fde68a}[data-theme=dark] .hint-tier-body{color:#cbd5e1;border-color:#334155}[data-theme=dark] .hint-math-box{color:#e2e8f0;background:#1e293b;border-color:#334155}.telugu-font,.glossary-term-te,.bilingual-title-telugu,.chapter-bilingual-badge,.hub-bilingual-subtitle,html.lang-te body{font-family:Noto Sans Telugu,Gautami,Vani,Mallanna,system-ui,-apple-system,sans-serif}.nav-lang-btn{color:#0d9488;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#14b8a61f,#06b6d41f);border:1px solid #14b8a659;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.82rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-lang-btn:hover{background:linear-gradient(135deg,#14b8a638,#06b6d438);border-color:#0d9488;transform:translateY(-1px);box-shadow:0 2px 6px #0d948833}.nav-lang-btn:active{transform:translateY(0)}.nav-lang-btn:focus-visible{outline-offset:2px;outline:2px solid #0d9488}.nav-lang-btn .lang-icon{font-size:.95rem;line-height:1}.nav-lang-btn .lang-text{letter-spacing:.02em}.chapter-bilingual-badge{color:#0f766e;vertical-align:middle;background:#0d94881f;border:1px solid #0d948840;border-radius:6px;margin-left:.4rem;padding:.15rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.hub-bilingual-subtitle{color:#0d9488;margin-top:.35rem;font-size:1.1rem;font-weight:600;display:block}.bilingual-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeInModal;display:flex;position:fixed;inset:0}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.bilingual-modal-backdrop{cursor:pointer;position:absolute;inset:0}.bilingual-modal-container{z-index:1;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;width:100%;max-width:920px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) popModal;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes popModal{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.bilingual-modal-header{background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.75rem;display:flex}.bilingual-header-title-group{align-items:center;gap:.85rem;display:flex}.bilingual-header-icon{font-size:2rem;line-height:1}.bilingual-title{color:#0f172a;margin:0;font-size:1.35rem;font-weight:800}.bilingual-title-telugu{color:#0d9488;margin-left:.35rem;font-size:1.25rem}.bilingual-subtitle{color:#64748b;margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.bilingual-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.75rem;line-height:1;transition:all .15s}.bilingual-close-btn:hover{color:#0f172a;background:#f1f5f9}.bilingual-controls{background:#fff;border-bottom:1px solid #f1f5f9;flex-direction:column;gap:.85rem;padding:1rem 1.75rem .75rem;display:flex}.bilingual-search-box{align-items:center;display:flex;position:relative}.bilingual-search-box .search-icon{color:#94a3b8;pointer-events:none;font-size:1rem;position:absolute;left:.9rem}.glossary-search-input{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:.65rem 6.5rem .65rem 2.4rem;font-size:.92rem;transition:all .2s}.glossary-search-input:focus{background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.glossary-count-badge{color:#64748b;pointer-events:none;background:#e2e8f0;border-radius:9999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;position:absolute;right:.75rem}.bilingual-category-tabs{scrollbar-width:thin;gap:.4rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.category-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.category-tab:hover{color:#0f172a;background:#f1f5f9}.category-tab.active{color:#fff;background:#0d9488;border-color:#0d9488}.bilingual-terms-grid{background:#f8fafc;flex:1;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem;padding:1.25rem 1.75rem;display:grid;overflow-y:auto}.glossary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.1rem;transition:all .2s;display:flex}.glossary-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.glossary-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.glossary-term-names{flex-direction:column;gap:.15rem;display:flex}.glossary-term-en{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.glossary-term-te-group{flex-wrap:wrap;align-items:baseline;gap:.45rem;display:flex}.glossary-term-te{color:#0d9488;font-size:1rem;font-weight:700}.glossary-term-phonetic{color:#64748b;font-size:.8rem;font-style:italic}.glossary-cat-pill{color:#2563eb;white-space:nowrap;background:#eff6ff;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.glossary-card-actions{gap:.4rem;display:flex}.glossary-speak-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.glossary-speak-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.glossary-speak-btn.te-audio{color:#0f766e;background:#0d948814;border-color:#0d948840}.glossary-speak-btn.te-audio:hover{background:#0d94882e;border-color:#0d9488}.glossary-speak-btn.speaking{background:#ccfbf1;border-color:#0d9488;animation:.6s ease-in-out infinite alternate pulseSpeech}@keyframes pulseSpeech{0%{transform:scale(1)}to{transform:scale(1.05)}}.glossary-card-body{flex-direction:column;gap:.55rem;display:flex}.glossary-def-block{flex-direction:column;gap:.25rem;display:flex}.def-label,.example-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.72rem;font-weight:700}.glossary-def-en{color:#334155;margin:0;font-size:.85rem;line-height:1.45}.glossary-def-te{color:#0f766e;margin:0;font-size:.88rem;line-height:1.5}.glossary-example-block{background:#f1f5f9;border-radius:6px;flex-direction:column;gap:.2rem;padding:.45rem .65rem;display:flex}.glossary-example-code{color:#0f172a;word-break:break-all;font-family:monospace;font-size:.8rem}.glossary-empty-state{text-align:center;grid-column:1/-1;padding:3.5rem 1rem}.glossary-empty-state .empty-icon{margin-bottom:.5rem;font-size:2.5rem}.glossary-empty-state h4{color:#0f172a;margin:0 0 .35rem;font-size:1.15rem}.glossary-empty-state p{color:#64748b;margin:0 0 1rem;font-size:.9rem}.btn-clear-search{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.bilingual-modal-footer{background:#fff;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:1rem 1.75rem;display:flex}.bilingual-footer-hints{color:#64748b;font-size:.82rem}.bilingual-btn-secondary{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.bilingual-btn-secondary:hover{color:#0f172a;background:#e2e8f0}[data-theme=dark] .nav-lang-btn{color:#2dd4bf;background:#14b8a62e;border-color:#14b8a666}[data-theme=dark] .nav-lang-btn:hover{background:#14b8a647;border-color:#2dd4bf;box-shadow:0 2px 6px #2dd4bf40}[data-theme=dark] .chapter-bilingual-badge{color:#5eead4;background:#14b8a633;border-color:#14b8a666}[data-theme=dark] .hub-bilingual-subtitle{color:#2dd4bf}[data-theme=dark] .bilingual-modal-container{background:#0f172a;border-color:#334155}[data-theme=dark] .bilingual-modal-header{background:#0f172a;border-bottom-color:#1e293b}[data-theme=dark] .bilingual-title{color:#f8fafc}[data-theme=dark] .bilingual-title-telugu{color:#2dd4bf}[data-theme=dark] .bilingual-subtitle{color:#94a3b8}[data-theme=dark] .bilingual-close-btn:hover{color:#f8fafc;background:#1e293b}[data-theme=dark] .bilingual-controls{background:#0f172a;border-bottom-color:#1e293b}[data-theme=dark] .glossary-search-input{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .glossary-search-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf26}[data-theme=dark] .glossary-count-badge{color:#cbd5e1;background:#334155}[data-theme=dark] .category-tab{color:#94a3b8;background:#1e293b;border-color:#334155}[data-theme=dark] .category-tab:hover{color:#f8fafc;background:#334155}[data-theme=dark] .category-tab.active{color:#fff;background:#0d9488;border-color:#0d9488}[data-theme=dark] .bilingual-terms-grid{background:#020617}[data-theme=dark] .glossary-card{background:#0f172a;border-color:#1e293b}[data-theme=dark] .glossary-card:hover{border-color:#334155}[data-theme=dark] .glossary-term-en{color:#f8fafc}[data-theme=dark] .glossary-term-te{color:#2dd4bf}[data-theme=dark] .glossary-term-phonetic{color:#94a3b8}[data-theme=dark] .glossary-cat-pill{color:#93c5fd;background:#2563eb33}[data-theme=dark] .glossary-speak-btn{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .glossary-speak-btn:hover{color:#f8fafc;background:#334155}[data-theme=dark] .glossary-speak-btn.te-audio{color:#5eead4;background:#14b8a62e;border-color:#14b8a659}[data-theme=dark] .glossary-speak-btn.te-audio:hover{background:#14b8a647;border-color:#2dd4bf}[data-theme=dark] .glossary-def-en{color:#cbd5e1}[data-theme=dark] .glossary-def-te{color:#5eead4}[data-theme=dark] .glossary-example-block{background:#1e293b}[data-theme=dark] .glossary-example-code{color:#e2e8f0}[data-theme=dark] .glossary-empty-state h4{color:#f8fafc}[data-theme=dark] .bilingual-modal-footer{background:#0f172a;border-top-color:#1e293b}[data-theme=dark] .bilingual-footer-hints{color:#94a3b8}[data-theme=dark] .bilingual-btn-secondary{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .bilingual-btn-secondary:hover{color:#f8fafc;background:#334155}.nav-guide-btn{color:#0f766e;cursor:pointer;background:#0d948814;border:1px solid #0d948859;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-guide-btn:hover{background:#0d948829;border-color:#0d9488;transform:translateY(-1px)}.nav-guide-btn .guide-icon{font-size:.95rem}.nav-guide-btn .guide-kbd{color:#0f766e;background:#0000000f;border:1px solid #0000001a;border-radius:4px;padding:.1rem .35rem;font-size:.68rem}[data-theme=dark] .nav-guide-btn{color:#2dd4bf;background:#2dd4bf1a;border-color:#2dd4bf59}[data-theme=dark] .nav-guide-btn:hover{background:#2dd4bf33;border-color:#5eead4}[data-theme=dark] .nav-guide-btn .guide-kbd{color:#5eead4;background:#ffffff1a;border-color:#fff3}.hub-guided-flow-banner{color:#fff;background:linear-gradient(135deg,#042f2e 0%,#115e59 55%,#0d9488 100%);border:1px solid #2dd4bf4d;border-radius:14px;justify-content:space-between;align-items:center;gap:1.5rem;margin:1.5rem 0 1.25rem;padding:1.25rem 1.75rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px -4px #0d94884d,0 2px 6px -1px #0000001a}.hub-guided-flow-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff24 0%,#0000 70%);border-radius:50%;width:250px;height:250px;position:absolute;top:-50%;right:-10%}.guided-flow-banner-left{z-index:1;flex-direction:column;gap:.35rem;display:flex}.guided-flow-badge{letter-spacing:.05em;text-transform:uppercase;color:#ccfbf1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:1px solid #ffffff40;border-radius:9999px;align-self:flex-start;align-items:center;gap:.3rem;padding:.2rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.guided-flow-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.guided-flow-desc{color:#e6fffa;max-width:650px;margin:0;font-size:.9rem;line-height:1.45}.guided-flow-banner-right{z-index:1;flex-shrink:0}.btn-start-guided-flow{color:#0f766e;cursor:pointer;background:#fff;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 12px #00000026}.btn-start-guided-flow:hover{color:#115e59;background:#f0fdfa;transform:translateY(-2px)scale(1.02);box-shadow:0 6px 18px #0003}@media (width<=768px){.hub-guided-flow-banner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.2rem}.btn-start-guided-flow{justify-content:center;width:100%}}.guide-modal-overlay{z-index:9999;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out guideFadeIn;display:flex;position:fixed;inset:0}@keyframes guideFadeIn{0%{opacity:0}to{opacity:1}}.guide-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;position:absolute;inset:0}.guide-modal-container{z-index:1;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;width:100%;max-width:820px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) guideSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes guideSlideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.guide-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.guide-header-title-group{align-items:center;gap:.85rem;display:flex}.guide-header-icon{font-size:2rem}.guide-modal-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:700}.guide-modal-subtitle{color:#64748b;margin:.2rem 0 0;font-size:.88rem}.guide-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;transition:all .15s}.guide-close-btn:hover{color:#0f172a;background:#e2e8f0}.guide-resume-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 1.5rem 0;padding:.75rem 1.25rem;display:flex}.resume-info{align-items:center;gap:.6rem;font-size:.88rem;display:flex}.resume-info span{color:#3b82f6}.resume-actions{align-items:center;gap:.5rem;display:flex}.btn-resume-tour{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:all .15s}.btn-resume-tour:hover{background:#1d4ed8}.btn-clear-resume{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.2rem}.btn-clear-resume:hover{color:#0f172a;background:#0000000d}.guide-modal-body{max-height:calc(90vh - 180px);padding:1.25rem 1.5rem;overflow-y:auto}.tour-cards-grid{flex-direction:column;gap:1rem;display:flex}.tour-flow-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.15rem 1.25rem;transition:all .2s;box-shadow:0 1px 3px #0000000d}.tour-flow-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.tour-flow-card.guided-flow-accent{background:#f0fdfa;border-color:#0d948866}.tour-card-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tour-header-left{align-items:center;gap:.75rem;display:flex}.tour-icon{font-size:1.6rem}.tour-title{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.tour-badge{color:#475569;background:#f1f5f9;border-radius:4px;margin-top:.15rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.guided-flow-accent .tour-badge{color:#0f766e;background:#ccfbf1}.btn-start-tour{color:#fff;cursor:pointer;white-space:nowrap;background:#0d9488;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.btn-start-tour:hover{background:#0f766e;transform:translateY(-1px)}.tour-tagline{color:#475569;margin:.6rem 0 .75rem;font-size:.88rem;line-height:1.45}.tour-steps-accordion{border-top:1px dashed #e2e8f0;margin-top:.6rem;padding-top:.6rem}.tour-steps-summary{cursor:pointer;color:#0d9488;-webkit-user-select:none;user-select:none;padding:.2rem 0;font-size:.82rem;font-weight:600;transition:color .15s}.tour-steps-summary:hover{color:#0f766e;text-decoration:underline}.tour-step-items-list{flex-direction:column;gap:.5rem;margin:0;padding:.5rem 0 0;list-style:none;display:flex}.tour-step-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;justify-content:space-between;align-items:center;gap:.85rem;padding:.55rem .75rem;display:flex}.step-meta{flex:1;align-items:flex-start;gap:.65rem;display:flex}.step-num{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.step-details{flex-direction:column;gap:.15rem;display:flex}.step-title{color:#1e293b;font-size:.85rem}.step-desc{color:#64748b;margin:0;font-size:.78rem;line-height:1.35}.step-hint{color:#0d9488;margin-top:.1rem;font-size:.72rem;font-weight:500}.btn-jump-step{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .15s}.btn-jump-step:hover{color:#fff;background:#0d9488;border-color:#0d9488}.guide-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex}.guide-footer-hint{color:#64748b;font-size:.8rem}.guide-footer-hint kbd{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:.15rem .35rem;font-size:.72rem}.btn-guide-close-sec{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s}.btn-guide-close-sec:hover{background:#f1f5f9}[data-theme=dark] .guide-modal-container{background:#0f172a;border-color:#1e293b}[data-theme=dark] .guide-modal-header{background:#1e293b;border-bottom-color:#334155}[data-theme=dark] .guide-modal-title{color:#f8fafc}[data-theme=dark] .guide-modal-subtitle,[data-theme=dark] .guide-close-btn{color:#94a3b8}[data-theme=dark] .guide-close-btn:hover{color:#f8fafc;background:#334155}[data-theme=dark] .guide-resume-banner{color:#93c5fd;background:#172554;border-color:#1e3a8a}[data-theme=dark] .btn-clear-resume:hover{color:#f8fafc;background:#ffffff1a}[data-theme=dark] .tour-flow-card{background:#1e293b;border-color:#334155}[data-theme=dark] .tour-flow-card:hover{border-color:#475569}[data-theme=dark] .tour-flow-card.guided-flow-accent{background:#0d94881f;border-color:#2dd4bf59}[data-theme=dark] .tour-title{color:#f8fafc}[data-theme=dark] .tour-badge{color:#cbd5e1;background:#334155}[data-theme=dark] .guided-flow-accent .tour-badge{color:#5eead4;background:#2dd4bf40}[data-theme=dark] .tour-tagline{color:#94a3b8}[data-theme=dark] .tour-steps-accordion{border-top-color:#334155}[data-theme=dark] .tour-steps-summary{color:#2dd4bf}[data-theme=dark] .tour-steps-summary:hover{color:#5eead4}[data-theme=dark] .tour-step-item{background:#0f172a;border-color:#1e293b}[data-theme=dark] .step-num{color:#cbd5e1;background:#334155}[data-theme=dark] .step-title{color:#f8fafc}[data-theme=dark] .step-desc{color:#94a3b8}[data-theme=dark] .step-hint{color:#2dd4bf}[data-theme=dark] .btn-jump-step{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .btn-jump-step:hover{color:#fff;background:#0d9488;border-color:#0d9488}[data-theme=dark] .guide-modal-footer{background:#1e293b;border-top-color:#334155}[data-theme=dark] .guide-footer-hint{color:#94a3b8}[data-theme=dark] .guide-footer-hint kbd,[data-theme=dark] .btn-guide-close-sec{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .btn-guide-close-sec:hover{color:#f8fafc;background:#334155}.lms-tour-target-highlighted{outline-offset:4px!important;z-index:10001!important;outline:3px solid #0d9488!important;transition:outline .2s,box-shadow .2s!important;animation:1.6s ease-in-out infinite lms-tour-pulse-glow!important;position:relative!important;box-shadow:0 0 0 4px #0d948859,0 0 25px #0d948899!important}@keyframes lms-tour-pulse-glow{0%{outline-offset:3px;outline-color:#0d9488f2;box-shadow:0 0 0 3px #0d948866,0 0 16px #0d948880}50%{outline-offset:6px;outline-color:#14b8a6;box-shadow:0 0 0 8px #0d948840,0 0 32px #0d9488d9}to{outline-offset:3px;outline-color:#0d9488f2;box-shadow:0 0 0 3px #0d948866,0 0 16px #0d948880}}.lms-tour-target-interactive{cursor:pointer!important}[data-theme=dark] .lms-tour-target-highlighted{outline-color:#2dd4bf!important;box-shadow:0 0 0 4px #2dd4bf59,0 0 28px #2dd4bfb3!important}.lms-joyride-custom-tooltip{color:#0f172a;box-sizing:border-box;background:#fff;border-radius:14px;min-width:320px;max-width:440px;padding:1.15rem 1.35rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 20px 35px -8px #0000004d,0 0 0 1px #e2e8f0cc}[data-theme=dark] .lms-joyride-custom-tooltip{color:#f8fafc;background:#1e293b;box-shadow:0 20px 35px -8px #000000a6,0 0 0 1px #334155cc}.lms-joyride-tooltip-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:.65rem;padding-bottom:.45rem;display:flex}[data-theme=dark] .lms-joyride-tooltip-header{border-bottom-color:#334155}.lms-joyride-header-left{align-items:center;gap:.5rem;display:inline-flex}.lms-joyride-progress-badge{color:#0d9488;letter-spacing:.02em;background:#0d94881f;border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}[data-theme=dark] .lms-joyride-progress-badge{color:#2dd4bf;background:#2dd4bf2e}.lms-joyride-voice-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.lms-joyride-voice-btn.active{color:#0f766e;background:#f0fdfa;border-color:#0d9488}[data-theme=dark] .lms-joyride-voice-btn{color:#cbd5e1;border-color:#475569}[data-theme=dark] .lms-joyride-voice-btn.active{color:#5eead4;background:#0d948840;border-color:#2dd4bf}.lms-joyride-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.15rem .35rem;font-size:1.25rem;line-height:1;transition:all .15s}.lms-joyride-close-btn:hover{color:#475569;background:#0000000d}[data-theme=dark] .lms-joyride-close-btn:hover{color:#f1f5f9;background:#ffffff1a}.lms-joyride-tooltip-title{color:inherit;margin:0 0 .45rem;font-size:1.05rem;font-weight:800;line-height:1.35}.lms-joyride-tooltip-body{color:#475569;margin-bottom:.65rem;font-size:.88rem;line-height:1.55}[data-theme=dark] .lms-joyride-tooltip-body{color:#cbd5e1}.lms-joyride-action-hint{color:#334155;background:#f8fafc;border-left:3px solid #0d9488;border-radius:0 6px 6px 0;align-items:flex-start;gap:.45rem;margin-bottom:.95rem;padding:.45rem .65rem;font-size:.8rem;display:flex}[data-theme=dark] .lms-joyride-action-hint{color:#94a3b8;background:#0f172a;border-left-color:#2dd4bf}.lms-joyride-tooltip-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:.65rem;display:flex}[data-theme=dark] .lms-joyride-tooltip-footer{border-top-color:#334155}.lms-joyride-skip-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .65rem;font-size:.82rem;font-weight:600;transition:color .15s}.lms-joyride-skip-btn:hover{color:#64748b}.lms-joyride-nav-btns{align-items:center;gap:.5rem;display:inline-flex}.lms-joyride-back-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s}.lms-joyride-back-btn:hover{background:#f1f5f9}[data-theme=dark] .lms-joyride-back-btn{color:#cbd5e1;border-color:#475569}[data-theme=dark] .lms-joyride-back-btn:hover{background:#334155}.lms-joyride-next-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.84rem;font-weight:700;transition:background .15s,transform .1s;box-shadow:0 2px 6px #0d94884d}.lms-joyride-next-btn:hover{background:#0f766e;transform:translateY(-1px)}.revision-view-switch{background:var(--bg-primary,#f1f5f9);border:1px solid var(--border-subtle,#cbd5e1);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-switch-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.view-switch-btn:hover{color:#0f172a}.view-switch-btn.active{color:#fff;background:#0d9488;box-shadow:0 1px 3px #0d94884d}.toggle-visual-tile-btn{cursor:pointer;transition:all .15s;color:#0d9488!important;background:#0d948814!important;border:1px solid #0d948840!important;border-radius:6px!important;padding:.3rem .65rem!important;font-weight:600!important}.toggle-visual-tile-btn:hover,.toggle-visual-tile-btn.active{color:#fff!important;background:#0d9488!important;border-color:#0d9488!important}.inline-visual-tile-mount{border-top:1px dashed var(--border-subtle,#e2e8f0);margin-top:1rem;padding-top:1rem}.inline-visual-tile-mount.hidden{display:none}[data-theme=dark] .revision-view-switch{background:#0f172a;border-color:#334155}[data-theme=dark] .view-switch-btn{color:#94a3b8}[data-theme=dark] .view-switch-btn:hover{color:#f8fafc}[data-theme=dark] .view-switch-btn.active{color:#fff;background:#0d9488}[data-theme=dark] .toggle-visual-tile-btn{color:#2dd4bf!important;background:#2dd4bf1f!important;border-color:#2dd4bf4d!important}[data-theme=dark] .toggle-visual-tile-btn:hover,[data-theme=dark] .toggle-visual-tile-btn.active{color:#fff!important;background:#0d9488!important}.visual-mastery-widget{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-lg,14px);margin-bottom:1.25rem;padding:1.25rem}[data-theme=dark] .visual-mastery-widget{background:#1e293b;border-color:#334155}.visual-mastery-widget .widget-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.visual-badges-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem;display:grid}.visual-badge-card{border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.visual-badge-card.badge-unlocked{background:#f0fdf4;border-color:#86efac}[data-theme=dark] .visual-badge-card.badge-unlocked{background:#10b9811f;border-color:#34d39959}.visual-badge-card.badge-locked{background:var(--bg-subtle,#f8fafc);border-color:var(--border-subtle,#e2e8f0);opacity:.7}[data-theme=dark] .visual-badge-card.badge-locked{background:#0f172a;border-color:#334155}.badge-card-icon-wrap{background:var(--bg-surface,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative;box-shadow:0 2px 6px #00000014}[data-theme=dark] .badge-card-icon-wrap{background:#1e293b}.badge-card-icon{font-size:1.4rem;line-height:1}.badge-check-dot{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:.6rem;font-weight:800;display:flex;position:absolute;bottom:-2px;right:-2px}.badge-lock-dot{font-size:.65rem;position:absolute;bottom:-2px;right:-2px}.badge-card-info{flex:1;min-width:0}.badge-card-title{color:var(--text-primary,#0f172a);margin:0 0 .2rem;font-size:.85rem;font-weight:700}.badge-card-desc{color:var(--text-secondary,#64748b);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .4rem;font-size:.74rem;line-height:1.3;display:-webkit-box;overflow:hidden}.badge-status-pill{border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.badge-unlocked .badge-status-pill{color:#15803d;background:#dcfce7}[data-theme=dark] .badge-unlocked .badge-status-pill{color:#6ee7b7;background:#064e3b}.badge-locked .badge-status-pill{color:#64748b;background:#f1f5f9}[data-theme=dark] .badge-locked .badge-status-pill{color:#94a3b8;background:#334155}.review-flip-card.swipe-cue-right{box-shadow:0 0 0 3px #10b981,0 14px 32px #10b9814d!important}.review-flip-card.swipe-cue-left{box-shadow:0 0 0 3px #f59e0b,0 14px 32px #f59e0b4d!important}.pdf-textbook-page-wrap{background:#fff;border-radius:8px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #00000014}.pdf-page-canvas{width:100%;height:auto;display:block}.textLayer{text-align:initial;opacity:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;-webkit-user-select:text;user-select:text;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer span,.textLayer br{white-space:pre;cursor:text;transform-origin:0 0;position:absolute;color:#0000!important}.textLayer ::selection{color:#0000!important;background:#4f46e559!important}.pdf-hotspots-layer{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.pdf-hotspot-item{pointer-events:auto;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;transform:translateY(-50%)}.pdf-hotspot-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#1e1b4b;cursor:pointer;background:#fffffff2;border:1.5px solid #4f46e5;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #4f46e540,0 2px 4px #0000000d}.pdf-hotspot-badge:hover{background:#fff;border-color:#4338ca;transform:scale(1.05)translateY(-2px);box-shadow:0 8px 22px #4f46e559}.pdf-hotspot-item.hotspot--solution .pdf-hotspot-badge{color:#064e3b;border-color:#059669;box-shadow:0 4px 14px #05966940}.pdf-hotspot-item.hotspot--solution .pdf-hotspot-badge:hover{border-color:#047857;box-shadow:0 8px 22px #05966959}.pdf-hotspot-item.hotspot--theorem .pdf-hotspot-badge{color:#1e3a8a;border-color:#2563eb;box-shadow:0 4px 14px #2563eb40}.pdf-hotspot-item.hotspot--lab .pdf-hotspot-badge{color:#4c1d95;border-color:#7c3aed;box-shadow:0 4px 14px #7c3aed40}.hotspot-badge-icon{font-size:.95rem;line-height:1}.hotspot-badge-text{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.hotspot-badge-tag{color:#4338ca;text-transform:uppercase;background:#eef2ff;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:800}.pdf-hotspot-item.hotspot--solution .hotspot-badge-tag{color:#047857;background:#ecfdf5}.pdf-hotspot-item.hotspot--theorem .hotspot-badge-tag{color:#1d4ed8;background:#eff6ff}.pdf-hotspot-item.hotspot--lab .hotspot-badge-tag{color:#6d28d9;background:#f5f3ff}.region-drag-selection-box{pointer-events:none;z-index:50;box-sizing:border-box;background:#4f46e529;border:2px dashed #4f46e5;border-radius:4px;position:absolute}.region-inspector-active{cursor:crosshair!important}.region-inspector-active *{-webkit-user-select:none!important;user-select:none!important}.region-inspector-card-overlay,.activity-action-modal-overlay,.guided-solution-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeInOverlay;display:flex;position:fixed;inset:0}.region-inspector-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:560px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}[data-theme=dark] .region-inspector-card{color:#f8fafc;background:#1e293b;border-color:#334155}.region-inspector-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}[data-theme=dark] .region-inspector-header{border-color:#334155}.region-inspector-tag{color:#4338ca;text-transform:uppercase;background:#eef2ff;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:800}.region-inspector-title{color:#0f172a;margin:.35rem 0 0;font-size:1.15rem;font-weight:700}[data-theme=dark] .region-inspector-title{color:#f8fafc}.region-inspector-close,.action-modal-close,.guided-drawer-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.5rem;line-height:1;transition:all .15s}.region-inspector-close:hover,.action-modal-close:hover,.guided-drawer-close-btn:hover{color:#0f172a;background:#f1f5f9}[data-theme=dark] .region-inspector-close:hover,[data-theme=dark] .action-modal-close:hover,[data-theme=dark] .guided-drawer-close-btn:hover{color:#f8fafc;background:#334155}.region-inspector-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.audit-badge{border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.audit-badge--covered{color:#166534;background:#dcfce7}.audit-badge--missing{color:#991b1b;background:#fee2e2;border:1px solid #f87171}.audit-badge--general{color:#475569;background:#f1f5f9}.region-coords-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem;font-size:.82rem}[data-theme=dark] .region-coords-box{background:#0f172a;border-color:#334155}.coords-label{color:#475569;margin-bottom:.35rem;font-weight:700;display:block}[data-theme=dark] .coords-label{color:#94a3b8}.region-extracted-text{flex-direction:column;gap:.35rem;display:flex}.section-sublabel{color:#475569;font-size:.82rem;font-weight:700}[data-theme=dark] .section-sublabel{color:#94a3b8}.extracted-text-content{color:#1e293b;background:#f8fafc;border-left:3px solid #4f46e5;border-radius:0 6px 6px 0;max-height:140px;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;overflow-y:auto}[data-theme=dark] .extracted-text-content{color:#e2e8f0;background:#0f172a}.matched-acts-list{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.matched-acts-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}[data-theme=dark] .matched-acts-list li{background:#0f172a;border-color:#334155}.act-type-pill{color:#334155;background:#e2e8f0;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800}.act-id-code{color:#64748b;font-family:monospace;font-size:.75rem}.region-unmapped-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem 1rem;font-size:.85rem}[data-theme=dark] .region-unmapped-notice{color:#fde68a;background:#451a03;border-color:#78350f}.region-inspector-actions{gap:.75rem;margin-top:.5rem;display:flex}.region-copy-btn,.region-copy-prompt-btn{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:.75rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.region-copy-btn{color:#fff;background:#4f46e5;border:none}.region-copy-btn:hover{background:#4338ca}.region-copy-prompt-btn{color:#4f46e5;background:#fff;border:1.5px solid #4f46e5}[data-theme=dark] .region-copy-prompt-btn{background:#1e293b}.region-copy-prompt-btn:hover{background:#eef2ff}.activity-action-modal{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:500px;animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}[data-theme=dark] .activity-action-modal{color:#f8fafc;background:#1e293b;border-color:#334155}.action-modal-header{border-bottom:1px solid #e2e8f0;padding:1.25rem 1.5rem;position:relative}[data-theme=dark] .action-modal-header{border-color:#334155}.action-modal-badge{color:#4338ca;text-transform:uppercase;background:#eef2ff;border-radius:4px;margin-bottom:.4rem;padding:2px 8px;font-size:.7rem;font-weight:800;display:inline-block}.action-modal-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}[data-theme=dark] .action-modal-title{color:#f8fafc}.action-modal-subtitle{color:#64748b;margin:.25rem 0 0;font-size:.8rem}.action-modal-close{position:absolute;top:1rem;right:1rem}.action-modal-body{padding:1.5rem}.action-modal-prompt{color:#64748b;margin:0 0 1rem;font-size:.85rem;font-weight:500}.action-options-list{flex-direction:column;gap:.75rem;display:flex}.action-option-card{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}[data-theme=dark] .action-option-card{color:#f8fafc;background:#0f172a;border-color:#334155}.action-option-card:hover{border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 10px 20px -5px #4f46e533}.action-card-icon{font-size:1.75rem;line-height:1}.action-card-text{flex-direction:column;flex:1;gap:.2rem;display:flex}.action-card-title{color:#1e1b4b;font-size:.95rem;font-weight:700}[data-theme=dark] .action-card-title{color:#f8fafc}.action-card-desc{color:#64748b;font-size:.78rem;line-height:1.4}.action-card-arrow{color:#4f46e5;font-size:1.25rem;font-weight:700}.guided-solution-drawer{background:#fff;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:900px;max-height:90vh;margin-top:auto;animation:.3s cubic-bezier(.16,1,.3,1) slideUpDrawer;display:flex;overflow-y:auto;box-shadow:0 -10px 35px #00000040}[data-theme=dark] .guided-solution-drawer{color:#f8fafc;background:#0f172a}.guided-drawer-header{background:inherit;z-index:10;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex;position:sticky;top:0}[data-theme=dark] .guided-drawer-header{border-color:#334155}.guided-drawer-title-wrap{flex-direction:column;gap:.25rem;display:flex}.guided-drawer-pill{color:#059669;letter-spacing:.5px;font-size:.7rem;font-weight:800}.guided-drawer-heading{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}[data-theme=dark] .guided-drawer-heading{color:#f8fafc}.guided-drawer-page-tag{color:#64748b;font-size:.8rem}.guided-drawer-body{padding:1.5rem;overflow-y:auto}.focus-landmarks-bar{white-space:nowrap;scrollbar-width:thin;z-index:15;background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:.6rem;padding:.6rem 1.25rem;display:flex;overflow-x:auto}[data-theme=dark] .focus-landmarks-bar{background:#0f172a;border-color:#1e293b}.focus-landmarks-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:800}.focus-landmark-chip{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #cbd5e1;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .15s cubic-bezier(.16,1,.3,1);display:inline-flex}[data-theme=dark] .focus-landmark-chip{color:#cbd5e1;background:#1e293b;border-color:#334155}.focus-landmark-chip:hover{color:#4338ca;background:#eef2ff;border-color:#4f46e5;transform:translateY(-1px)}[data-theme=dark] .focus-landmark-chip:hover{color:#c7d2fe;background:#312e81}.focus-landmark-chip.has-sol{color:#065f46;border-color:#059669}.focus-landmark-chip.has-sol:hover{color:#047857;background:#ecfdf5}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideUpDrawer{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-hotspot-item{pointer-events:auto;z-index:15;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .15s,filter .15s;position:absolute}.pdf-hotspot-item.is-dragging{opacity:.95;filter:drop-shadow(0 14px 28px #0000004d);transform:scale(1.05);cursor:grabbing!important;z-index:50!important}.pdf-hotspot-pill-wrap{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border:1.5px solid #e2e8f0;border-radius:9999px;align-items:center;gap:3px;padding:3px 6px;display:inline-flex;box-shadow:0 4px 12px #0000001f}[data-theme=dark] .pdf-hotspot-pill-wrap{background:#1e293bf5;border-color:#475569}.hotspot-drag-handle{cursor:grab;color:#94a3b8;-webkit-user-select:none;user-select:none;padding:0 3px;font-size:13px;line-height:1;transition:color .15s}.pdf-hotspot-item.is-dragging .hotspot-drag-handle,.hotspot-drag-handle:hover{color:#4f46e5}.pdf-hotspot-badge{cursor:pointer;color:#1e293b;background:0 0;border:none;align-items:center;gap:6px;padding:2px 4px;font-size:.78rem;font-weight:700;display:inline-flex}[data-theme=dark] .pdf-hotspot-badge{color:#f1f5f9}.hotspot-badge-icon{font-size:.95rem}.hotspot-badge-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:2px 6px;font-size:.68rem;font-weight:800}.hotspot--solution .hotspot-badge-tag{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.hotspot--theorem .hotspot-badge-tag{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe}.hotspot--lab .hotspot-badge-tag{color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd}.hotspot--discuss .hotspot-badge-tag{color:#db2777;background:#fdf2f8;border:1px solid #fbcfe8}.hotspot--dothis .hotspot-badge-tag{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.hotspot-saved-toast{color:#f8fafc;z-index:99999;background:#0f172a;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:8px;padding:9px 20px;font-size:.85rem;font-weight:700;animation:.25s cubic-bezier(.16,1,.3,1) toastSlideUp;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000059}.hotspot-saved-toast.toast-fade-out{opacity:0;transition:opacity .35s,transform .35s;transform:translate(-50%)translateY(8px)}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.focus-reset-badges-chip{color:#d97706!important;background:#fffbeb!important;border:1px dashed #f59e0b!important}[data-theme=dark] .focus-reset-badges-chip{color:#fde68a!important;background:#78350f!important;border-color:#d97706!important}.home-continue-mount{margin-bottom:1.5rem}.home-view-tabs{border-bottom:2px solid #e2e8f0;gap:.75rem;margin:1.25rem 0 1.5rem;padding-bottom:.75rem;display:flex}[data-theme=dark] .home-view-tabs{border-bottom-color:#334155}.home-tab-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:700;transition:all .15s;display:inline-flex}.home-tab-btn:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1}.home-tab-btn.active{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 4px 12px #4f46e540}[data-theme=dark] .home-tab-btn{color:#94a3b8;background:#1e293b;border-color:#334155}[data-theme=dark] .home-tab-btn:hover{color:#f1f5f9;background:#334155}[data-theme=dark] .home-tab-btn.active{color:#fff;background:#6366f1;border-color:#6366f1}.home-tab-panel{animation:.2s ease-out fadeInPanel}@keyframes fadeInPanel{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.region-author-section{background:var(--bg-surface-elevated,#f8fafc);border:1px dashed #6366f1;border-radius:8px;margin:1rem 0;padding:.75rem}.region-author-toggle-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.region-author-toggle-btn:hover{background:#4f46e5;transform:translateY(-1px)}.region-author-form-wrap{margin-top:.5rem}.region-author-form{flex-direction:column;gap:.75rem;display:flex}.author-form-header strong{color:var(--text-primary,#0f172a);font-size:.95rem;display:block}.author-form-hint{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.8rem}.author-form-group{flex-direction:column;gap:.25rem;display:flex}.author-form-label{color:var(--text-secondary,#334155);font-size:.82rem;font-weight:600}.author-form-input,.author-form-select{background:var(--surface,#fff);color:var(--text-primary,#0f172a);border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .65rem;font-size:.85rem}.author-form-actions{gap:.5rem;margin-top:.4rem;display:flex}.author-submit-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.author-submit-btn:hover{background:#059669}.author-cancel-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .85rem;font-size:.85rem;font-weight:500}.author-cancel-btn:hover{background:#e2e8f0}.pdf-hotspot-badge--custom{background:#f59e0b26!important;border:2px dashed #f59e0b!important;box-shadow:0 4px 12px #f59e0b40!important}.pdf-hotspot-badge--custom .pdf-hotspot-btn{color:#b45309!important;border-color:#f59e0b!important}#persistent-nav{z-index:1000;background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e8f0);position:sticky;top:0;box-shadow:0 1px 6px #00000014}body{padding-bottom:env(safe-area-inset-bottom,0px)}.persistent-nav{align-items:center;gap:.75rem;max-width:1400px;height:56px;margin:0 auto;padding:.5rem 1rem;display:flex}.pnav-brand{cursor:pointer;color:var(--primary,#0284c7);border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.95rem;font-weight:700;transition:background .15s;display:flex}.pnav-brand:hover{background:var(--primary-light,#e0f2fe)}.pnav-brand-icon{font-size:1.4rem}.mode-switcher-pill{background:var(--bg-alt,#f1f5f9);border-radius:12px;gap:4px;margin:0 auto;padding:3px;display:flex}.mode-btn{cursor:pointer;color:var(--text-muted,#64748b);background:0 0;border:none;border-radius:9px;flex-direction:column;align-items:center;gap:1px;min-width:72px;min-height:48px;padding:.4rem .9rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:background .15s,color .15s,transform .1s;display:flex}.mode-btn:hover{background:var(--surface,#fff);color:var(--text,#1e293b);transform:translateY(-1px)}.mode-btn--active{box-shadow:0 2px 8px #0284c759;background:var(--primary,#0284c7)!important;color:#fff!important}.mode-btn-icon{font-size:1.1rem}.mode-btn-label{font-size:.7rem;font-weight:600}.mode-btn-label-te{opacity:.75;font-size:.6rem;display:none}@media (width>=480px){.mode-btn-label-te{display:block}}.pnav-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pnav-stat{background:var(--bg-alt,#f1f5f9);border-radius:20px;align-items:center;gap:.2rem;padding:.2rem .5rem;font-size:.78rem;font-weight:700;display:flex}.pnav-stat-icon{font-size:1rem}.pnav-stat-val{color:var(--text,#1e293b)}.pnav-streak.streak-active{color:#ea580c;background:#fff7ed}.pnav-streak.streak-zero{opacity:.5}.pnav-xp{color:#ca8a04;background:#fefce8}.pnav-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;transition:background .15s;display:flex}.pnav-icon-btn:hover{background:var(--bg-alt,#f1f5f9)}.mobile-bottom-nav{z-index:1001;background:var(--surface,#fff);border-top:1px solid var(--border,#e2e8f0);padding:4px 0 max(8px, env(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));flex-direction:row;justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000001a}@media (width<=767px){.mobile-bottom-nav{display:flex}.persistent-nav .mode-switcher-pill,.persistent-nav .pnav-actions .pnav-stat{display:none}}.mobile-nav-btn{cursor:pointer;min-width:56px;min-height:48px;color:var(--text-muted,#64748b);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;transition:background .15s;display:flex}.mobile-nav-btn--active{color:var(--primary,#0284c7);background:var(--primary-light,#e0f2fe)}.mobile-nav-btn--home{background:var(--primary,#0284c7);color:#fff;border-radius:50%;width:52px;height:52px;margin-top:-8px;box-shadow:0 4px 12px #0284c766}.mobile-nav-icon{font-size:1.3rem}.mobile-nav-label{font-size:.65rem;font-weight:600}@media (width<=767px){#app{padding-bottom:70px}}.focus-shell{background:var(--surface,#fff);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.focus-top-bar{background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e8f0);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;height:44px;padding:.4rem .8rem;display:flex}.focus-exit-btn{cursor:pointer;color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;max-width:180px;padding:.3rem .5rem;font-size:.85rem;transition:background .15s;display:flex;overflow:hidden}.focus-exit-btn:hover{background:var(--bg-alt,#f1f5f9)}.focus-exit-label{text-overflow:ellipsis;overflow:hidden}.focus-page-counter{color:var(--text,#1e293b);align-items:center;gap:.15rem;font-size:.9rem;font-weight:700;display:flex}.focus-page-sep,.focus-page-total{color:var(--text-muted,#64748b);font-weight:400}.focus-top-actions{align-items:center;gap:.3rem;display:flex}.focus-tts-btn,.focus-mode-exit-icon{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background .15s;display:flex}.focus-tts-btn:hover,.focus-mode-exit-icon:hover{background:var(--bg-alt,#f1f5f9)}.focus-view-toggle-btn{background:var(--bg-alt,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);color:var(--text,#1e293b);cursor:pointer;white-space:nowrap;border-radius:9999px;padding:.3rem .65rem;font-size:.8rem;font-weight:600;transition:all .15s}.focus-view-toggle-btn:hover{background:var(--primary-light,#e0f2fe);border-color:var(--primary,#0284c7);color:var(--primary,#0284c7)}.focus-zoom-bar{background:var(--bg-alt,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:2px;padding:2px 4px;display:flex}.focus-zoom-btn{cursor:pointer;color:var(--text,#1e293b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;font-weight:700;transition:background .15s;display:flex}.focus-zoom-btn:hover{background:var(--card-bg,#fff)}.focus-zoom-level{color:var(--text-muted,#64748b);text-align:center;-webkit-user-select:none;user-select:none;min-width:38px;font-size:.75rem;font-weight:600}.focus-progress-rail{background:var(--border,#e2e8f0);flex-shrink:0;height:3px}.focus-progress-fill{background:var(--primary,#0284c7);height:100%;transition:width .3s}.focus-content-area{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.focus-page-content{scroll-behavior:smooth;color:var(--text,#1e293b);-webkit-overflow-scrolling:touch;flex:1;padding:1.25rem 1rem 4rem;font-size:1.05rem;line-height:1.75;overflow-y:auto}@media (width>=768px){.focus-page-content{max-width:800px;margin:0 auto;padding:2rem 3rem 4rem;font-size:1.1rem}}.focus-book-page-wrap{justify-content:center;align-items:flex-start;width:100%;min-height:100%;padding:1rem .5rem 5rem;display:flex;overflow-y:auto;max-width:100%!important}.focus-textbook-frame{background:#fff;border-radius:8px;width:100%;margin:0 auto;transition:max-width .2s;overflow:hidden;box-shadow:0 4px 20px #0000001f}.focus-textbook-img{width:100%;height:auto;display:block}.focus-replica-fallback{text-align:center;background:var(--card-bg,#fff);color:var(--text,#1e293b);padding:2.5rem 1.5rem}.focus-fallback-icon{margin-bottom:.5rem;font-size:2.5rem}.focus-fallback-title{color:var(--primary,#0284c7);margin-bottom:1rem;font-size:1.15rem;font-weight:700}.focus-text-fallback-body{text-align:left;line-height:1.7}[data-theme=dark] .focus-textbook-frame{border:1px solid #ffffff1f;box-shadow:0 6px 25px #0000008c}.focus-prev-zone,.focus-next-zone{cursor:pointer;z-index:10;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;width:56px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0}.focus-prev-zone{left:0}.focus-next-zone{right:0}.focus-prev-zone:hover,.focus-next-zone:hover{opacity:1;background:#0000000a}.focus-prev-zone:disabled,.focus-next-zone:disabled{opacity:0;pointer-events:none}.focus-nav-arrow{color:var(--text-muted,#94a3b8);-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:300}.focus-page-dots{background:var(--surface,#fff);flex-shrink:0;justify-content:center;gap:5px;padding:.5rem .5rem .75rem;display:flex}.focus-dot{background:var(--border,#cbd5e1);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.focus-dot--active{background:var(--primary,#0284c7);transform:scale(1.4)}.focus-fab-group{z-index:50;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:80px;right:16px}.focus-activity-fab{background:var(--accent,#f59e0b);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:.6rem .9rem;font-size:.78rem;font-weight:700;transition:transform .15s,box-shadow .15s;animation:2.5s infinite fab-bounce;display:flex;position:fixed;bottom:84px;right:16px;box-shadow:0 4px 16px #f59e0b73}.focus-fab-group .focus-activity-fab{position:static;bottom:auto;right:auto}.focus-fab-lab{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 16px #f59e0b73}.focus-fab-lab:hover{transform:scale(1.06);box-shadow:0 6px 20px #f59e0b99}.focus-fab-tile{background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);box-shadow:0 4px 16px #7c3aed73}.focus-fab-tile:hover{transform:scale(1.06);box-shadow:0 6px 20px #7c3aed99}.focus-fab-exercise{background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);box-shadow:0 4px 16px #0284c773}.focus-fab-exercise:hover{transform:scale(1.06);box-shadow:0 6px 20px #0284c799}.focus-activity-fab:hover{transform:scale(1.06);box-shadow:0 6px 20px #f59e0b8c}.fab-icon{font-size:1.3rem}.fab-label{font-size:.72rem}.fab-label-te{opacity:.8;font-size:.62rem}@keyframes fab-bounce{0%,80%,to{transform:translateY(0)}90%{transform:translateY(-4px)}}.focus-drawer-header-actions{align-items:center;gap:.5rem;display:flex}.focus-drawer-lesson-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;transition:opacity .15s;display:inline-flex}.focus-drawer-lesson-btn:hover{opacity:.92}.focus-activity-drawer-overlay{z-index:200;background:#00000080;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.focus-activity-drawer{background:var(--surface,#fff);border-radius:20px 20px 0 0;max-height:90vh;animation:.25s drawer-slide-up;overflow-y:auto}@keyframes drawer-slide-up{0%{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.focus-drawer-header{border-bottom:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);justify-content:space-between;align-items:center;padding:1rem 1.2rem .75rem;display:flex;position:sticky;top:0}.focus-drawer-title{align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.focus-drawer-page-label{color:var(--text-muted,#64748b);background:var(--bg-alt,#f1f5f9);border-radius:20px;padding:.1rem .5rem;font-size:.8rem}.focus-drawer-close{background:var(--bg-alt,#f1f5f9);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.focus-drawer-body{padding:1rem}.gamify-map-view{max-width:680px;margin:0 auto;padding:1rem 1rem 2rem}.gamify-player-header{background:linear-gradient(135deg, var(--primary,#0284c7), #7c3aed);color:#fff;border-radius:16px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.gamify-player-avatar{font-size:2.5rem}.gamify-player-stats{flex:1}.gamify-level-badge{letter-spacing:.05em;text-transform:uppercase;background:#fff3;border-radius:20px;margin-bottom:.3rem;padding:.1rem .6rem;font-size:.75rem;font-weight:800;display:inline-block}.gamify-xp-bar-wrap{background:#fff3;border-radius:20px;height:8px;margin-bottom:.25rem;overflow:hidden}.gamify-xp-bar-fill{background:#fbbf24;border-radius:20px;height:100%;transition:width .4s}.gamify-xp-label{opacity:.85;font-size:.72rem}.gamify-streak-display{text-align:center;background:#ffffff26;border-radius:12px;flex-direction:column;align-items:center;padding:.5rem .8rem;display:flex}.gamify-streak-display.streak-zero{opacity:.5}.gamify-streak-flame{font-size:1.5rem}.gamify-streak-num{font-size:1.3rem;font-weight:900}.gamify-streak-label{opacity:.8;font-size:.6rem}.gamify-map-title{color:var(--text,#1e293b);margin:0 0 .25rem;font-size:1.1rem;font-weight:800}.gamify-map-subtitle{color:var(--text-muted,#64748b);margin:0 0 1.25rem;font-size:.82rem}.gamify-level-path{flex-direction:column;gap:0;display:flex}.gamify-level-node{flex-direction:column;display:flex;position:relative}.gamify-connector{border-radius:2px;width:4px;height:24px;margin:0 auto}.connector--open{background:var(--primary,#0284c7)}.connector--locked{background:var(--border,#cbd5e1)}.gamify-node-card{background:var(--surface,#fff);border:2px solid var(--border,#e2e8f0);border-radius:16px;padding:1rem 1.1rem;transition:box-shadow .15s,border-color .15s;position:relative}.gamify-node--active .gamify-node-card{border-color:var(--primary,#0284c7);box-shadow:0 4px 20px #0284c726}.gamify-node--completed .gamify-node-card{background:#f0fdf4;border-color:#22c55e}.gamify-node--locked .gamify-node-card{opacity:.55;background:var(--bg-alt,#f8fafc)}.gamify-node-top{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.gamify-node-status-icon{font-size:1.2rem}.gamify-node-num{color:var(--text-muted,#94a3b8);text-transform:uppercase;font-size:.72rem;font-weight:700}.gamify-node-subject{background:var(--primary-light,#e0f2fe);color:var(--primary,#0284c7);border-radius:20px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.gamify-node-title{color:var(--text,#1e293b);margin:0 0 .5rem;font-size:.95rem;font-weight:700}.gamify-node-progress{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.gamify-node-progress-bar{background:var(--border,#e2e8f0);border-radius:6px;flex:1;height:6px;overflow:hidden}.gamify-node-progress-fill{background:var(--primary,#0284c7);border-radius:6px;height:100%;transition:width .4s}.gamify-node-xp{color:var(--text-muted,#64748b);white-space:nowrap;font-size:.7rem}.gamify-node-missions-count{color:var(--text-muted,#64748b);margin-bottom:.6rem;font-size:.72rem}.gamify-locked-hint{color:var(--text-muted,#94a3b8);font-size:.72rem;font-style:italic}.gamify-enter-level-btn{width:100%;margin-top:.25rem}.gamify-chapter-view{max-width:680px;margin:0 auto;padding:1rem 1rem 2rem}.gamify-chapter-header{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.gamify-back-btn{cursor:pointer;color:var(--primary,#0284c7);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:.35rem .7rem;font-size:.85rem}.gamify-back-btn:hover{background:var(--primary-light,#e0f2fe)}.gamify-chapter-title-block{flex:1}.gamify-chapter-title{color:var(--text,#1e293b);margin:0 0 .25rem;font-size:1.15rem;font-weight:800}.gamify-chapter-meta{flex-wrap:wrap;gap:.4rem;display:flex}.gamify-class-badge,.gamify-subject-badge{border-radius:20px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.gamify-class-badge{color:#92400e;background:#fef9c3}.gamify-subject-badge{background:var(--primary-light,#e0f2fe);color:var(--primary,#0284c7)}.gamify-chapter-xp-block{text-align:right;flex-shrink:0}.gamify-xp-earned{color:var(--text,#1e293b);font-size:.85rem;font-weight:700}.gamify-multiplier-badge{color:#ea580c;margin-top:.2rem;font-size:.72rem;font-weight:700}.gamify-progress-track{background:var(--border,#e2e8f0);border-radius:10px;height:10px;margin-bottom:1.25rem;position:relative;overflow:visible}.gamify-progress-fill{background:linear-gradient(90deg, var(--primary,#0284c7), #7c3aed);border-radius:10px;height:100%;transition:width .4s}.gamify-progress-label{color:var(--text-muted,#64748b);font-size:.7rem;position:absolute;top:-20px;right:0}.gamify-missions-list{flex-direction:column;gap:.6rem;display:flex}.gamify-mission-row{background:var(--surface,#fff);border:1.5px solid var(--border,#e2e8f0);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s;display:flex}.gamify-mission--active{border-color:var(--primary,#0284c7);background:#f0f9ff}.gamify-mission--completed{opacity:.85;background:#f0fdf4;border-color:#22c55e}.gamify-mission--locked{opacity:.45}.gamify-mission--boss{opacity:1!important;background:#fff1f2!important;border-color:#dc2626!important}.mission-row-left{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.mission-status-icon{flex-shrink:0;font-size:1.1rem}.mission-type-icon{flex-shrink:0;font-size:1rem}.mission-text{min-width:0}.mission-label{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;display:block;overflow:hidden}.mission-label-te{color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;display:block;overflow:hidden}.mission-row-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.mission-xp-badge{color:#ca8a04;background:#fef9c3;border-radius:20px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.gamify-mission-btn{background:var(--primary,#0284c7);color:#fff;cursor:pointer;border:none;border-radius:8px;min-height:36px;padding:.4rem .8rem;font-size:.78rem;font-weight:700;transition:background .15s}.gamify-mission-btn:hover{background:var(--primary-dark,#0369a1)}.boss-mission-btn{background:#dc2626;font-size:.8rem}.boss-mission-btn:hover{background:#b91c1c}.mission-locked-hint{color:var(--text-muted,#94a3b8);font-size:.7rem}.gamify-xp-toast{color:#fff;pointer-events:none;white-space:nowrap;z-index:9999;background:#22c55e;border-radius:20px;padding:.4rem 1rem;font-size:1rem;font-weight:800;animation:1.8s ease-out forwards xp-toast-fly;box-shadow:0 4px 12px #22c55e66}@keyframes xp-toast-fly{0%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1;transform:translate(-50%)translateY(-50px)}to{opacity:0;transform:translate(-50%)translateY(-70px)}}.gamify-level-complete{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.level-complete-confetti{letter-spacing:.5rem;margin-bottom:1.5rem;font-size:2rem;animation:1.5s ease-out confetti-spin}@keyframes confetti-spin{0%{opacity:0;transform:scale(.5)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.level-complete-card{color:#fff;background:linear-gradient(135deg,#0284c7,#7c3aed);border-radius:24px;width:100%;max-width:400px;padding:2rem 2.5rem;box-shadow:0 12px 48px #0284c759}.level-complete-badge{letter-spacing:.08em;background:#fff3;border-radius:20px;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:900;display:inline-block}.level-complete-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:800}.level-complete-subtitle{opacity:.85;margin-bottom:1.5rem;font-size:.9rem}.level-complete-xp{background:#ffffff26;border-radius:12px;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:.75rem;display:flex}.xp-reward-val{color:#fbbf24;font-size:2rem;font-weight:900}.xp-reward-label{opacity:.85;font-size:.8rem}.level-complete-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.gamify-boss-overlay{z-index:500;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gamify-boss-dialog{color:#fff;background:#1e1b4b;border-radius:20px;width:100%;max-width:600px;max-height:90vh;padding:1.5rem;overflow-y:auto}.boss-battle-header{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.boss-side,.student-side{flex-direction:column;flex:1;align-items:center;gap:.3rem;min-width:100px;display:flex}.boss-avatar{font-size:2.5rem;animation:2s infinite boss-wobble}@keyframes boss-wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.student-avatar{font-size:2.5rem}.boss-name,.student-name{opacity:.8;text-align:center;font-size:.75rem;font-weight:700}.boss-hp-bar-wrap,.student-hp-bar-wrap{background:#ffffff26;border-radius:10px;width:100%;height:10px;overflow:hidden}.boss-hp-bar{background:#ef4444;border-radius:10px;height:100%;transition:width .3s}.student-hp-bar{background:#22c55e;border-radius:10px;height:100%;transition:width .3s}.boss-hp-label,.student-hp-label{opacity:.7;text-align:center;font-size:.7rem}.vs-badge{font-size:1.5rem;font-weight:900}.boss-flee-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;width:100%;margin-top:1rem;padding:.5rem;font-size:.82rem}.boss-flee-btn:hover{background:#fff3}.gamify-boss-fail-banner{z-index:600;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.boss-fail-card{background:var(--surface,#fff);background:var(--bg-surface,var(--surface,#fff));color:var(--text-primary,#0f172a);text-align:center;border-radius:20px;width:100%;max-width:360px;padding:2rem}.boss-fail-icon{margin-bottom:1rem;font-size:3rem}.boss-fail-te{color:var(--text-muted,#64748b);margin-top:.5rem;font-size:.85rem}[data-theme=dark] .persistent-nav{background:var(--bg-surface,#1e293b);border-bottom-color:var(--border-subtle,#334155)}[data-theme=dark] .mobile-bottom-nav{background:var(--bg-surface,#1e293b);border-top-color:var(--border-subtle,#334155)}[data-theme=dark] .mode-switcher-pill{background:var(--bg-subtle,#0f172a)}[data-theme=dark] .mode-btn:hover{background:var(--bg-card,#1e293b);color:var(--text-primary,#f8fafc)}[data-theme=dark] .pnav-stat{background:var(--bg-subtle,#0f172a)}[data-theme=dark] .pnav-stat-val{color:var(--text-primary,#f8fafc)}[data-theme=dark] .pnav-streak.streak-active{color:#fb923c;background:#ea580c33}[data-theme=dark] .pnav-xp{color:#facc15;background:#ca8a0433}[data-theme=dark] .focus-shell{background:var(--bg-app,#0f172a);color:var(--text-primary,#f8fafc)}[data-theme=dark] .focus-top-bar{background:var(--bg-surface,#1e293b);color:var(--text-primary,#f8fafc);border-bottom-color:var(--border-subtle,#334155)}[data-theme=dark] .focus-page-counter,[data-theme=dark] .focus-page-content{color:var(--text-primary,#f8fafc)}[data-theme=dark] .focus-page-dots{background:var(--bg-surface,#1e293b)}[data-theme=dark] .focus-activity-drawer{background:var(--bg-surface,#1e293b);color:var(--text-primary,#f8fafc)}[data-theme=dark] .focus-drawer-header{background:var(--bg-surface,#1e293b);color:var(--text-primary,#f8fafc);border-bottom-color:var(--border-subtle,#334155)}[data-theme=dark] .gamify-node-card{background:var(--bg-surface,#1e293b);border-color:var(--border-subtle,#334155);color:var(--text-primary,#f8fafc)}[data-theme=dark] .gamify-node-title{color:var(--text-primary,#f8fafc)}[data-theme=dark] .gamify-node--completed .gamify-node-card{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .gamify-mission-row{background:var(--bg-surface,#1e293b);border-color:var(--border-subtle,#334155);color:var(--text-primary,#f8fafc)}[data-theme=dark] .mission-label{color:var(--text-primary,#f8fafc)}[data-theme=dark] .gamify-mission--active{border-color:var(--primary,#0284c7);background:#0284c726}[data-theme=dark] .gamify-mission--completed{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .gamify-mission--boss{background:#dc26262e!important;border-color:#dc2626!important}[data-theme=dark] .boss-fail-card{background:var(--bg-surface,#1e293b);color:var(--text-primary,#f8fafc)}[data-theme=dark] .boss-fail-card h3{color:var(--text-primary,#f8fafc)}.visual-math-dual-tile-card{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:14px;margin-bottom:1.5rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px -2px #0000000f}.visual-math-dual-tile-card:hover{box-shadow:0 8px 24px -4px #0000001a}.math-card-header{border-bottom:1px solid var(--border-subtle,#f1f5f9);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.math-header-meta{align-items:center;gap:.6rem;display:flex}.math-category-badge{text-transform:uppercase;letter-spacing:.05em;color:#2563eb;background:#eff6ff;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.math-category-badge.cat-algebra{color:#2563eb;background:#eff6ff}.math-category-badge.cat-geometry{color:#059669;background:#ecfdf5}.math-category-badge.cat-arithmetic{color:#16a34a;background:#f0fdf4}.math-category-badge.cat-trigonometry{color:#7c3aed;background:#f5f3ff}.math-card-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.15rem;font-weight:800}.math-verified-pill{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.math-tiles-split-view{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;display:grid}@media (width<=860px){.math-tiles-split-view{grid-template-columns:1fr}}.math-tile-col{border-radius:10px;flex-direction:column;padding:1rem;display:flex}.symbolic-tile{background:#f8fafc;border:1px solid #e2e8f0}.geometric-tile{background:#fff;border:1px solid #e2e8f0}.tile-header-bar{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.tile-badge-icon{font-size:1.2rem}.tile-header-bar h4{color:var(--text-primary,#0f172a);margin:0;font-size:.95rem;font-weight:700}.symbolic-equation-box{text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;margin-bottom:.85rem;padding:.85rem 1rem;box-shadow:inset 0 1px 3px #00000008}.math-equation-banner{letter-spacing:.03em;color:#0f172a;font-family:Cambria Math,Times New Roman,serif;font-size:1.35rem}.symbolic-rule-text{color:#334155;margin-bottom:.85rem;font-size:.88rem;line-height:1.45}.math-variable-breakdown{margin-bottom:.85rem}.math-variable-breakdown h5{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .5rem;font-size:.8rem}.var-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.var-item{align-items:flex-start;gap:.6rem;font-size:.82rem;display:flex}.var-chip{border-radius:4px;flex-shrink:0;padding:.15rem .45rem;font-family:monospace;font-size:.82rem;font-weight:700}.var-desc strong{color:#1e293b}.var-desc span{color:#475569}.symbolic-condition-callout{color:#854d0e;background:#fefce8;border-left:3px solid #eab308;border-radius:4px;margin-bottom:.65rem;padding:.45rem .75rem;font-size:.8rem}.symbolic-why-callout{color:#115e59;background:#f0fdfa;border-left:3px solid #0d9488;border-radius:4px;gap:.5rem;margin-top:auto;padding:.55rem .75rem;font-size:.82rem;display:flex}.symbolic-why-callout .callout-icon{flex-shrink:0;font-size:1.1rem}.geometric-desc{color:#475569;margin-bottom:.65rem;font-size:.85rem}.geometric-canvas-frame{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-height:200px;margin-bottom:.85rem;padding:.5rem;display:flex}.math-tile-svg{width:100%;max-width:280px;height:auto}.geometric-eval-strip{background:#f1f5f9;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.45rem .75rem;font-size:.82rem;display:flex}.eval-label{color:#475569;font-weight:700}.eval-code{color:#0d9488;font-family:Fira Code,monospace;font-size:.85rem;font-weight:700}.geometric-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-bottom:.85rem;display:grid}.metric-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;padding:.4rem .55rem;display:flex}.metric-name{text-transform:uppercase;font-size:.72rem;font-weight:700}.metric-val{color:#0f172a;font-size:.82rem;font-weight:700}.math-sliders-deck{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.55rem;margin-top:auto;padding:.65rem .85rem;display:flex}.math-slider-row{flex-direction:column;gap:.25rem;display:flex}.slider-label-col{color:#334155;justify-content:space-between;font-size:.8rem;font-weight:600;display:flex}.slider-current-val{color:#0d9488;font-weight:700}.math-param-slider{accent-color:#0d9488;cursor:pointer;width:100%}.math-tiles-modal-overlay{z-index:9999;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.math-tiles-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;position:absolute;inset:0}.math-tiles-modal-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);z-index:10000;border-radius:16px;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.math-modal-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.math-header-title-col{align-items:center;gap:.75rem;display:flex}.math-modal-icon{font-size:1.8rem}.math-modal-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.25rem;font-weight:800}.math-modal-subtitle{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.85rem}.math-modal-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.6rem;line-height:1}.math-modal-close-btn:hover{color:#0f172a;background:#e2e8f0}.math-tiles-toolbar{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#fff;padding:.75rem 1.5rem}.math-cat-pills{flex-wrap:wrap;gap:.5rem;display:flex}.math-cat-pill{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s}.math-cat-pill:hover{color:#0f172a;background:#e2e8f0}.math-cat-pill.active{color:#fff;background:#0d9488;border-color:#0d9488}.math-tiles-scroll-content{flex:1;padding:1.5rem;overflow-y:auto}.math-modal-footer{border-top:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.math-footer-note{color:#64748b;font-size:.82rem}.math-modal-done-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:8px;padding:.5rem 1.25rem;font-weight:700}.math-modal-done-btn:hover{background:#0f766e}[data-theme=dark] .math-card-title{color:#f8fafc}[data-theme=dark] .symbolic-tile{background:#0f172a;border-color:#334155}[data-theme=dark] .geometric-tile{background:#1e293b;border-color:#334155}[data-theme=dark] .tile-header-bar h4{color:#f8fafc}[data-theme=dark] .geometric-eval-strip{background:#0f172a}[data-theme=dark] .eval-code{color:#2dd4bf}[data-theme=dark] .math-tiles-modal-dialog{background:#1e293b;border-color:#334155}[data-theme=dark] .math-modal-header,[data-theme=dark] .math-tiles-toolbar,[data-theme=dark] .math-modal-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .math-modal-title{color:#f8fafc}[data-theme=dark] .math-cat-pill:hover{color:#fff;background:#334155}[data-theme=dark] .math-cat-pill.active{color:#fff;background:#0d9488;border-color:#0d9488}.proof-animation-strip{background:var(--bg-primary,#f8fafc);border:1px solid var(--border-subtle,#e2e8f0);border-radius:10px;margin:.75rem 0;padding:.65rem .85rem}[data-theme=dark] .proof-animation-strip{background:#0f172a;border-color:#334155}.proof-anim-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.proof-anim-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:700;transition:all .15s;display:inline-flex}.proof-anim-btn:hover{background:#0f766e}.proof-anim-btn:disabled{opacity:.5;cursor:not-allowed}.proof-anim-btn.reset-proof-btn{background:#64748b}.proof-anim-btn.reset-proof-btn:hover{background:#475569}.proof-step-narrative{border-top:1px dashed var(--border-subtle,#cbd5e1);color:var(--text,#334155);margin-top:.5rem;padding-top:.5rem;font-size:.84rem;line-height:1.45}[data-theme=dark] .proof-step-narrative{color:#cbd5e1;border-top-color:#334155}.proof-step-counter{color:#0d9488;margin-right:.35rem;font-weight:700}[data-theme=dark] .proof-step-counter{color:#2dd4bf}.proof-step-title{color:var(--text,#0f172a)}[data-theme=dark] .proof-step-title{color:#f8fafc}.proof-step-desc{color:var(--text-muted,#475569);margin:.25rem 0 0}[data-theme=dark] .proof-step-desc{color:#94a3b8}.review-visual-tile-cta{width:100%;margin-top:.85rem}.fc-visual-tile-btn{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#cbd5e1);color:#0d9488;cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.fc-visual-tile-btn:hover{color:#0f766e;background:#f0fdfa;border-color:#14b8a6}[data-theme=dark] .fc-visual-tile-btn{color:#2dd4bf;background:#1e293b;border-color:#334155}[data-theme=dark] .fc-visual-tile-btn:hover{color:#5eead4;background:#0f172a;border-color:#0d9488}.fc-visual-tile-drawer{background:var(--bg-surface,#fff);border-radius:12px;max-height:480px;padding:.5rem;overflow-y:auto;box-shadow:inset 0 2px 8px #0000000d}[data-theme=dark] .fc-visual-tile-drawer{background:#0f172a}.visual-badge-toast{background:var(--bg-surface,#fff);z-index:10000;opacity:0;border:1px solid #10b981;border-radius:12px;align-items:center;gap:.85rem;max-width:360px;padding:.85rem 1.15rem;transition:opacity .3s,transform .3s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(20px)scale(.95);box-shadow:0 10px 25px -5px #10b98140,0 8px 10px -6px #0000001a}.visual-badge-toast.toast-show{opacity:1;transform:translateY(0)scale(1)}[data-theme=dark] .visual-badge-toast{background:#0f172a;border-color:#059669;box-shadow:0 10px 25px -5px #00000080}.toast-badge-icon{flex-shrink:0;font-size:2rem;line-height:1}.toast-badge-info{flex-direction:column;gap:.2rem;display:flex}.toast-badge-label{text-transform:uppercase;color:#059669;letter-spacing:.05em;font-size:.72rem;font-weight:700}[data-theme=dark] .toast-badge-label{color:#34d399}.toast-badge-title{color:var(--text-primary,#0f172a);font-size:.95rem;font-weight:800}[data-theme=dark] .toast-badge-title{color:#f8fafc}.toast-badge-desc{color:var(--text-secondary,#64748b);margin:0;font-size:.8rem;line-height:1.35}.algebra-tiles-modal-overlay{z-index:10001;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.algebra-tiles-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172ab3;position:absolute;inset:0}.algebra-tiles-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);z-index:10002;border-radius:16px;flex-direction:column;width:100%;max-width:960px;max-height:92vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.sandbox-modal-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.sandbox-header-left{align-items:center;gap:.75rem;display:flex}.sandbox-modal-icon{font-size:1.8rem}.sandbox-modal-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.2rem;font-weight:800}.sandbox-modal-sub{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.82rem}.sandbox-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.6rem;line-height:1;transition:background .15s,color .15s}.sandbox-close-btn:hover{color:#0f172a;background:#e2e8f0}.sandbox-challenges-bar{border-bottom:1px solid var(--border-subtle,#e2e8f0);scrollbar-width:thin;background:#f1f5f9;align-items:center;gap:.5rem;padding:.65rem 1.5rem;display:flex;overflow-x:auto}.sandbox-challenge-pill{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;padding:.35rem .8rem;font-size:.8rem;font-weight:700;transition:all .15s}.sandbox-challenge-pill:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.sandbox-challenge-pill.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 6px #2563eb4d}.sandbox-body-grid{flex:1;grid-template-columns:1.25fr 1fr;gap:1.25rem;padding:1.25rem 1.5rem;display:grid;overflow-y:auto}@media (width<=768px){.sandbox-body-grid{grid-template-columns:1fr}}.sandbox-canvas-card{flex-direction:column;gap:.85rem;display:flex}.sandbox-guidance-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.65rem .9rem;font-size:.82rem}.sandbox-guidance-banner strong{margin-bottom:.2rem;font-size:.9rem;display:block}.sandbox-guidance-banner p{margin:0}.tile-palette-dock{background:#fff;border:1.5px dashed #cbd5e1;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex;box-shadow:0 2px 6px #0000000a}.palette-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.palette-title{color:#1e293b;font-size:.85rem;font-weight:800}.palette-hint{color:#64748b;font-size:.75rem}.palette-chips-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.draggable-tile-chip{cursor:grab;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .75rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 1px 3px #00000014}.draggable-tile-chip:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000001f}.draggable-tile-chip:active,.draggable-tile-chip.chip-dragging{cursor:grabbing;opacity:.65;transform:scale(.96)}.chip-pos-x{color:#0f766e;background:#0d94881a;border-color:#0d9488}.chip-neg-x{color:#be123c;background:#e11d481a;border-color:#e11d48}.chip-pos-unit{color:#b45309;background:#f59e0b1f;border-color:#d97706}.chip-neg-unit{color:#7e22ce;background:#9333ea1f;border-color:#9333ea}.chip-trash{color:#475569;cursor:pointer;background:#f1f5f9;border-color:#cbd5e1}.chip-trash:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.chip-badge{font-size:.85rem;font-weight:800}.chip-caption{opacity:.85;font-size:.72rem;font-weight:600}.svg-drop-indicator{transition:all .2s}.svg-drop-indicator:hover rect,.svg-drop-indicator.drop-target-hover rect{fill-opacity:.25;stroke-width:2.5px;filter:drop-shadow(0 0 6px #0d948866)}.tile-drop-canvas.drop-target-hover{background:#eff6ff;outline:2px dashed #2563eb}[data-theme=dark] .tile-palette-dock{background:#0f172a;border-color:#334155}[data-theme=dark] .palette-title{color:#f8fafc}[data-theme=dark] .palette-hint{color:#94a3b8}[data-theme=dark] .chip-trash{color:#cbd5e1;background:#1e293b;border-color:#334155}.zero-pair-callout-card{background:linear-gradient(135deg,#fef3c7 0%,#ffedd5 100%);border:1px solid #fcd34d;border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;transition:all .25s;display:flex;box-shadow:0 2px 6px #f59e0b1f}.zero-pair-callout-card.zero-pair-annihilated{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#6ee7b7}.zero-pair-header{align-items:center;gap:.6rem;display:flex}.zero-pair-spark{font-size:1.4rem;animation:1.5s infinite pulse-spark}@keyframes pulse-spark{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.zero-pair-title{color:#92400e;font-size:.86rem;font-weight:700;display:block}.zero-pair-callout-card.zero-pair-annihilated .zero-pair-title{color:#065f46}.zero-pair-desc{color:#b45309;margin:0;font-size:.76rem}.zero-pair-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.zero-pair-annihilate-btn{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.8rem;font-weight:700;transition:all .15s;box-shadow:0 2px 4px #f59e0b4d}.zero-pair-annihilate-btn:hover{background:#d97706;transform:translateY(-1px)}.zero-pair-math-callout{color:#78350f;background:#ffffffb3;border-radius:6px;padding:.3rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem}.zero-pair-callout-card.zero-pair-annihilated .zero-pair-math-callout{color:#065f46;background:#ffffffe6}.interactive-zero-pair{cursor:pointer;transition:transform .2s,filter .2s}.interactive-zero-pair:hover rect{filter:drop-shadow(0 0 5px #f59e0b);stroke:#f59e0b;stroke-width:2px}.zero-pair-annihilating .interactive-zero-pair{animation:.8s forwards zero-pair-cancel-anim}@keyframes zero-pair-cancel-anim{0%{filter:drop-shadow(0 0 6px #f59e0b);transform:scale(1)}50%{filter:drop-shadow(0 0 12px #ef4444);stroke:#ef4444;transform:scale(1.08)}to{filter:none;transform:scale(1)}}[data-theme=dark] .zero-pair-callout-card{background:#362208;border-color:#854d0e}[data-theme=dark] .zero-pair-title{color:#fde68a}[data-theme=dark] .zero-pair-desc{color:#fcd34d}[data-theme=dark] .zero-pair-math-callout{color:#fef3c7;background:#201305}[data-theme=dark] .zero-pair-callout-card.zero-pair-annihilated{background:#064e3b;border-color:#059669}[data-theme=dark] .zero-pair-callout-card.zero-pair-annihilated .zero-pair-title,[data-theme=dark] .zero-pair-callout-card.zero-pair-annihilated .zero-pair-math-callout{color:#a7f3d0;background:#022c22}.sandbox-svg-frame{border:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;min-height:250px;padding:1rem;display:flex;overflow:hidden}.sandbox-tiles-svg{width:100%;max-width:360px;height:auto;display:block}.sandbox-eval-banner{border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}.sandbox-eval-banner.solved-banner{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.sandbox-eval-banner.pending-banner{color:#92400e;background:#fffbeb;border-color:#fde68a}.eval-verdict-icon{flex-shrink:0;font-size:1.8rem}.eval-verdict-info{flex-direction:column;gap:.2rem;display:flex}.eval-factored-eq{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem}.factored-highlight{color:#059669;font-weight:800}.pending-banner .factored-highlight{color:#d97706}.eval-hint-text{font-size:.78rem;line-height:1.35}.sandbox-controls-card{border:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.controls-title{color:var(--text-primary,#0f172a);margin:0;font-size:.95rem;font-weight:700}.controls-desc{color:var(--text-muted,#64748b);margin:0;font-size:.8rem}.tile-stepper-row{border:1px solid var(--border-subtle,#e2e8f0);background:#fff;border-radius:10px;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.tile-swatch{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.78rem;font-weight:800;display:flex}.swatch-x2{color:#1d4ed8;background:#3b82f626;border:1.5px solid #2563eb}.swatch-x{color:#0f766e;background:#0d948826;border:1.5px solid #0d9488}.swatch-unit{color:#b45309;background:#f59e0b26;border:1.5px solid #d97706}.swatch-neg-x{color:#be123c;background:#e11d4826;border:1.5px solid #e11d48}.swatch-neg-unit{color:#7e22ce;background:#9333ea26;border:1.5px solid #9333ea}.stepper-label-col{flex-direction:column;flex:1;display:flex}.stepper-label-col strong{color:var(--text-primary,#0f172a);font-size:.84rem}.stepper-label-col span{color:var(--text-muted,#64748b);font-size:.74rem}.stepper-fixed-val{color:#64748b;padding:.2rem .6rem;font-size:.9rem;font-weight:700}.stepper-btn-group{align-items:center;gap:.4rem;display:flex}.stepper-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;transition:all .15s;display:flex}.stepper-btn:hover:not(:disabled){color:#0f172a;background:#e2e8f0}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-val{text-align:center;min-width:20px;color:var(--text-primary,#0f172a);font-size:.9rem;font-weight:800}.sandbox-actions-deck{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.sandbox-btn{cursor:pointer;border-radius:8px;padding:.55rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s}.auto-solve-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.auto-solve-btn:hover{background:#dbeafe;border-color:#60a5fa}.reset-inventory-btn{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.reset-inventory-btn:hover{color:#1e293b;background:#f1f5f9}.sandbox-modal-footer{border-top:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex}.footer-insight-note{color:#64748b;font-size:.8rem}.sandbox-done-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.5rem 1.25rem;font-weight:700;transition:background .15s}.sandbox-done-btn:hover{background:#1d4ed8}.math-sandbox-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.math-sandbox-btn:hover{background:#dbeafe;border-color:#60a5fa}[data-theme=dark] .algebra-tiles-dialog{background:#1e293b;border-color:#334155}[data-theme=dark] .sandbox-modal-header,[data-theme=dark] .sandbox-challenges-bar,[data-theme=dark] .sandbox-modal-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .sandbox-modal-title{color:#f8fafc}[data-theme=dark] .sandbox-challenge-pill{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .sandbox-challenge-pill.active{color:#fff;background:#3b82f6;border-color:#3b82f6}[data-theme=dark] .sandbox-guidance-banner{color:#93c5fd;background:#2563eb26;border-color:#1d4ed8}[data-theme=dark] .sandbox-svg-frame,[data-theme=dark] .sandbox-controls-card{background:#0f172a;border-color:#334155}[data-theme=dark] .controls-title{color:#f8fafc}[data-theme=dark] .tile-stepper-row{background:#1e293b;border-color:#334155}[data-theme=dark] .stepper-label-col strong{color:#f8fafc}[data-theme=dark] .stepper-btn{color:#f1f5f9;background:#334155;border-color:#475569}[data-theme=dark] .stepper-btn:hover:not(:disabled){background:#475569}[data-theme=dark] .stepper-val{color:#f8fafc}[data-theme=dark] .math-sandbox-btn{color:#93c5fd;background:#2563eb26;border-color:#1d4ed8}[data-theme=dark] .math-sandbox-btn:hover{background:#2563eb40}.math-export-sheet-btn{color:#16a34a;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.math-export-sheet-btn:hover{background:#dcfce7;border-color:#4ade80}[data-theme=dark] .math-export-sheet-btn{color:#86efac;background:#16a34a26;border-color:#16a34a}[data-theme=dark] .math-export-sheet-btn:hover{background:#16a34a40}.proof-print-sheet-overlay{z-index:10005;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.proof-print-sheet-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172abf;position:absolute;inset:0}.proof-print-sheet-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);z-index:10006;border-radius:16px;flex-direction:column;width:100%;max-width:1050px;max-height:94vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.print-sheet-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.print-sheet-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.25rem;font-weight:800}.print-sheet-subtitle{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.82rem}.print-sheet-actions{align-items:center;gap:.75rem;display:flex}.print-action-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:background .15s;display:inline-flex}.print-action-btn:hover{background:#0f766e}.print-sheet-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.6rem;line-height:1}.print-sheet-close-btn:hover{color:#0f172a;background:#e2e8f0}.print-sheet-grid{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.print-proof-card{border:1px solid var(--border-subtle,#e2e8f0);page-break-inside:avoid;background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000a}.print-card-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:.6rem;margin-bottom:.85rem;padding-bottom:.5rem;display:flex}.print-cat-badge{text-transform:uppercase;color:#2563eb;background:#eff6ff;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.print-card-title{color:var(--text-primary,#0f172a);margin:0;font-size:1rem;font-weight:800}.print-card-body{grid-template-columns:1.2fr 1fr;gap:1.25rem;display:grid}@media (width<=768px){.print-card-body{grid-template-columns:1fr}}.print-col-symbolic{flex-direction:column;gap:.65rem;display:flex}.print-eq-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.print-rule{color:#334155;margin:0;font-size:.84rem;line-height:1.4}.print-insight{color:#0f766e;background:#0d948814;border-left:3px solid #0d9488;border-radius:4px;padding:.4rem .65rem;font-size:.78rem}.print-col-geometric{flex-direction:column;gap:.5rem;display:flex}.print-svg-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.print-svg-box svg{max-width:100%;height:auto;max-height:160px}.print-eval{color:#475569;font-size:.8rem}.print-eval code{color:#0f766e;background:#f1f5f9;border-radius:4px;padding:.15rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600}.print-sheet-footer{border-top:1px solid var(--border-subtle,#e2e8f0);color:#64748b;background:#f8fafc;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;font-size:.8rem;display:flex}.print-sheet-done-btn{color:#fff;cursor:pointer;background:#64748b;border:none;border-radius:6px;padding:.45rem 1rem;font-weight:700}.print-sheet-done-btn:hover{background:#475569}[data-theme=dark] .proof-print-sheet-dialog{background:#1e293b;border-color:#334155}[data-theme=dark] .print-sheet-header,[data-theme=dark] .print-sheet-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .print-sheet-title{color:#f8fafc}[data-theme=dark] .print-proof-card{background:#0f172a;border-color:#334155}[data-theme=dark] .print-card-title{color:#f8fafc}[data-theme=dark] .print-eq-box,[data-theme=dark] .print-svg-box{background:#1e293b;border-color:#334155}[data-theme=dark] .print-rule{color:#cbd5e1}@media print{body *{visibility:hidden}.proof-print-sheet-dialog,.proof-print-sheet-dialog *{visibility:visible}.proof-print-sheet-dialog{position:absolute;top:0;left:0;width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}.print-sheet-actions,.print-sheet-close-btn,.print-sheet-done-btn,.math-tiles-modal-overlay,.app-header,.app-nav{display:none!important}.print-proof-card{page-break-inside:avoid;margin-bottom:1rem;box-shadow:none!important;border:1px solid #ccc!important}}.solution-visual-tile-banner{background:linear-gradient(135deg,#2563eb14 0%,#0d948814 100%);border:1.5px solid #2563eb40;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:.85rem 1.25rem;transition:all .2s;display:flex}.solution-visual-tile-banner:hover{border-color:#2563eb73;box-shadow:0 4px 12px #2563eb14}.visual-tile-banner-left{align-items:center;gap:.85rem;display:flex}.visual-tile-banner-icon{font-size:1.8rem;line-height:1}.visual-tile-banner-text{flex-direction:column;gap:.2rem;display:flex}.visual-tile-banner-badge{text-transform:uppercase;color:#2563eb;letter-spacing:.04em;font-size:.72rem;font-weight:700}.visual-tile-banner-title{color:#1e293b;margin:0;font-size:.95rem}.visual-tile-banner-desc{color:#64748b;margin:0;font-size:.8rem}.solution-visual-tile-launch-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:8px;padding:.55rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 2px 6px #2563eb40}.solution-visual-tile-launch-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #2563eb59}.visual-tile-trigger-btn{color:#166534;background:#f0fdf4;border:1.5px solid #86efac;font-weight:700}.visual-tile-trigger-btn.active,.visual-tile-trigger-btn:hover{color:#14532d;background:#dcfce7;border-color:#4ade80}.visual-tile-problem-drawer{background:#fff;border:2px solid #3b82f6;border-radius:14px;margin:1.25rem 0;overflow:hidden;box-shadow:0 6px 20px #2563eb1f}.tile-drawer-card{flex-direction:column;display:flex}.tile-drawer-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.tile-drawer-title-col{align-items:center;gap:.75rem;display:flex}.tile-drawer-icon{font-size:1.7rem}.tile-drawer-tags{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.2rem;display:flex}.tile-te-badge{color:#0f766e;background:#ccfbf1;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.tile-drawer-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800}.tile-drawer-sub{color:#475569;margin:.2rem 0 0;font-size:.82rem}.tile-drawer-actions{align-items:center;gap:.6rem;display:flex}.tile-launch-full-btn{padding:.4rem .8rem;font-size:.8rem}.tile-drawer-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .4rem;font-size:1.5rem;line-height:1}.tile-drawer-close-btn:hover{color:#0f172a;background:#e2e8f0}.tile-drawer-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;padding:1.25rem;display:grid}.tile-drawer-left,.tile-drawer-right{min-width:0;max-width:100%}@media (width<=860px){.tile-drawer-body{grid-template-columns:1fr}}.tile-formula-box{background:#f1f5f9;border-left:4px solid #2563eb;border-radius:0 8px 8px 0;margin-bottom:.85rem;padding:.65rem .9rem}.tile-box-label{text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700;display:block}.tile-formula-eq{color:#1e40af;font-family:Cambria Math,KaTeX_Main,serif;font-size:.95rem}.tile-step-explanation{color:#334155;margin-bottom:.85rem;font-size:.88rem;line-height:1.5}.tile-solution-steps ol{margin:.4rem 0 0 1.25rem;padding:0}.tile-solution-steps li{margin-bottom:.3rem}.tile-first-principles-note{color:#854d0e;background:#fefce8;border:1px solid #fef08a;border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.65rem .85rem;font-size:.82rem;display:flex}.tile-slider-deck{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem 1rem}.slider-deck-label{text-transform:uppercase;color:#475569;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.drawer-slider-row{margin-bottom:.6rem}.drawer-slider-meta{color:#334155;justify-content:space-between;margin-bottom:.2rem;font-size:.8rem;font-weight:600;display:flex}.drawer-param-slider{width:100%}.tile-reset-params-btn{margin-top:.4rem;padding:.3rem .6rem;font-size:.75rem}.tile-svg-frame{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#94a3b8 #f1f5f9;-webkit-overflow-scrolling:touch;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:100%;max-width:100%;min-height:220px;max-height:380px;padding:.75rem;display:flex;overflow:auto}.tile-svg-frame::-webkit-scrollbar{width:8px;height:8px}.tile-svg-frame::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.tile-svg-frame::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tile-svg-frame::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tile-svg-frame::-webkit-scrollbar-corner{background:#f1f5f9}.tile-svg-frame>svg,.tile-svg-frame .math-tile-svg{flex-shrink:0;width:auto;min-width:min-content;max-width:none;height:auto;max-height:none;margin:auto}.tile-drawer-stepper{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;padding:.5rem .75rem;display:flex}.stepper-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.stepper-btn-group{flex-wrap:wrap;gap:.35rem;display:flex}.stepper-step-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .65rem;font-size:.76rem;font-weight:600;transition:all .15s}.stepper-step-btn:hover{color:#0f172a;background:#e2e8f0}.stepper-step-btn.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 1px 3px #0284c74d}.tile-step-explanation{scrollbar-width:thin;max-height:250px;padding-right:.35rem;overflow-y:auto}.tile-eval-strip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-top:.75rem;padding:.6rem .85rem;font-size:.82rem;display:flex}.eval-title{color:#1e40af;font-weight:700}.eval-result{color:#1d4ed8;font-family:monospace;font-weight:700}.tile-metrics-mini-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.metric-mini-box{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .6rem}.metric-mini-name{margin-bottom:.15rem;font-size:.7rem;font-weight:600;display:block}.metric-mini-val{color:#0f172a;font-size:.85rem}.hub-theorems-tiles-section{margin-top:1.5rem}.hub-theorems-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-top:1rem;display:grid}.hub-theorem-tile-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:space-between;gap:.85rem;padding:1.15rem;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000a}.hub-theorem-tile-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 6px 16px #3b82f61f}.hub-theorem-meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.theorem-cat-badge{text-transform:uppercase;color:#2563eb;background:#eff6ff;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.theorem-num-badge{color:#7c3aed;background:#f5f3ff;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.theorem-shared-badge{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.hub-theorem-title{color:#0f172a;margin:0;font-size:.98rem;font-weight:800;line-height:1.35}.hub-theorem-title-te{color:#0d9488;margin:.2rem 0 0;font-size:.82rem;font-weight:600}.hub-theorem-eq-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem}.hub-theorem-eq-preview code{color:#1e40af;font-family:Cambria Math,KaTeX_Main,monospace;font-size:.92rem}.hub-theorem-rule{color:#475569;margin:0;font-size:.82rem;line-height:1.45}.hub-launch-tile-btn{cursor:pointer;border-radius:8px;width:100%;padding:.55rem .9rem;font-size:.85rem;font-weight:700}.single-tile-modal-overlay{z-index:9999;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.single-tile-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab8;position:absolute;inset:0}.single-tile-dialog{z-index:1;background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:18px;width:100%;max-width:960px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 40px -10px #00000059}.single-tile-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:var(--bg-alt,#f8fafc);border-radius:18px 18px 0 0;justify-content:space-between;align-items:center;padding:1.15rem 1.5rem;display:flex}.single-tile-title-group{align-items:center;gap:.75rem;display:flex}.single-tile-icon{font-size:1.6rem}.single-tile-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.15rem;font-weight:800}.single-tile-sub{color:var(--text-secondary,#64748b);margin:.2rem 0 0;font-size:.82rem}.single-tile-close{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.25rem .6rem;font-size:1.75rem;line-height:1;transition:all .15s}.single-tile-close:hover{color:var(--text-primary,#0f172a);background:#0000000f}.single-tile-body{padding:1.25rem}.pedagogical-tile-btn{color:#7c3aed;cursor:pointer;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.pedagogical-tile-btn:hover{background:#ede9fe;border-color:#c4b5fd;transform:translateY(-1px)}.concept-theorem-tiles-row{background:#fdf4ff;border:1px solid #f5d0fe;border-radius:10px;flex-direction:column;gap:.6rem;margin-top:.75rem;padding:.75rem 1rem;display:flex}.concept-theorem-tile-pill{background:#fff;border:1px solid #f0abfc;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .85rem;display:flex}.concept-theorem-tile-pill .thm-info{flex-direction:column;flex:1;display:flex}.concept-theorem-tile-pill .thm-tag{color:#a21caf;text-transform:uppercase;font-size:.7rem;font-weight:800}.concept-theorem-tile-pill .thm-name{color:#0f172a;font-size:.88rem;font-weight:700}.concept-open-tile-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#9333ea;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700}.concept-open-tile-btn:hover{background:#7e22ce}.focus-drawer-tabs{background:var(--bg-alt,#f8fafc);border-bottom:1px solid var(--border-subtle,#e2e8f0);gap:.5rem;padding:.6rem 1rem;display:flex}.focus-drawer-tab-btn{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.45rem .9rem;font-size:.82rem;font-weight:700;transition:all .15s}.focus-drawer-tab-btn:hover{color:var(--text-primary,#0f172a);background:#00000008}.focus-drawer-tab-btn.active{background:var(--bg-surface,#fff);color:#7c3aed;border-color:#c4b5fd;box-shadow:0 1px 4px #0000000f}.focus-drawer-pane{padding:1rem;display:none}.focus-drawer-pane.active{display:block}.reader-visual-tiles-container{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:12px;margin:1.75rem 0;padding:1.25rem;box-shadow:0 4px 14px #0000000a}.reader-visual-tiles-container .reader-section-header{border-bottom:1px solid var(--border-subtle,#f1f5f9);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.reader-sec-badge{color:#7c3aed;text-transform:uppercase;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:800}.reader-sec-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.lesson-visual-tile-btn{color:#7c3aed;cursor:pointer;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.lesson-visual-tile-btn:hover{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}[data-theme=dark] .visual-math-dual-tile-card{background:var(--bg-card,#1e293b);border-color:var(--border-subtle,#334155);box-shadow:0 4px 16px -2px #0006}[data-theme=dark] .math-card-header{border-bottom-color:#334155}[data-theme=dark] .symbolic-tile{color:#f1f5f9;background:#0f172a;border-color:#334155}[data-theme=dark] .geometric-tile{color:#f1f5f9;background:#1e293b;border-color:#334155}[data-theme=dark] .symbolic-equation-box{background:#0b1120;border-color:#334155}[data-theme=dark] .math-equation-banner{color:#f8fafc}[data-theme=dark] .symbolic-rule-text{color:#cbd5e1}[data-theme=dark] .var-desc strong{color:#f1f5f9}[data-theme=dark] .var-desc span{color:#94a3b8}[data-theme=dark] .symbolic-condition-callout{color:#fef08a;background:#eab30826;border-left-color:#eab308}[data-theme=dark] .symbolic-why-callout{color:#99f6e4;background:#0d948826;border-left-color:#14b8a6}[data-theme=dark] .geometric-desc{color:#cbd5e1}[data-theme=dark] .geometric-canvas-frame{background:#0f172a;border-color:#334155}[data-theme=dark] .geometric-eval-strip{background:#0f172a;border:1px solid #334155}[data-theme=dark] .eval-label{color:#94a3b8}[data-theme=dark] .metric-box{background:#0f172a;border-color:#334155}[data-theme=dark] .metric-val{color:#f8fafc}[data-theme=dark] .math-sliders-deck{background:#0f172a;border-color:#334155}[data-theme=dark] .slider-label-col{color:#cbd5e1}[data-theme=dark] .single-tile-dialog{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .single-tile-header{background:#0f172a;border-color:#334155}[data-theme=dark] .single-tile-title{color:#f8fafc}[data-theme=dark] .single-tile-sub,[data-theme=dark] .single-tile-close{color:#94a3b8}[data-theme=dark] .single-tile-close:hover{color:#f8fafc;background:#ffffff1a}[data-theme=dark] .math-tiles-modal-dialog{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .math-modal-header{background:#0f172a;border-color:#334155}[data-theme=dark] .math-tiles-toolbar{background:#1e293b;border-color:#334155}[data-theme=dark] .math-cat-pill{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .concept-theorem-tiles-row{background:#9333ea26;border-color:#a855f74d}[data-theme=dark] .concept-theorem-tile-pill{background:#1e293b;border-color:#475569}[data-theme=dark] .concept-theorem-tile-pill .thm-name{color:#f8fafc}[data-theme=dark] .reader-visual-tiles-container{background:#1e293b;border-color:#334155}[data-theme=dark] .reader-sec-title{color:#f8fafc}[data-theme=dark] .focus-drawer-tabs{background:#0f172a;border-color:#334155}[data-theme=dark] .focus-drawer-tab-btn{color:#94a3b8}[data-theme=dark] .focus-drawer-tab-btn.active{color:#c4b5fd;background:#1e293b;border-color:#7c3aed}.formula-hub-overlay{z-index:10000;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.formula-hub-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab3;position:absolute;inset:0}.formula-hub-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);z-index:10001;border-radius:16px;flex-direction:column;width:100%;max-width:1060px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.formula-hub-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:1.1rem 1.75rem;display:flex}.hub-header-left{align-items:center;gap:.85rem;display:flex}.hub-brand-icon{font-size:2rem}.hub-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.25rem;font-weight:800}.hub-subtitle{color:var(--text-muted,#64748b);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.2rem 0 0;font-size:.82rem;display:flex}.hub-lang-badge{color:#0f766e;background:#0d94881f;border-radius:9999px;padding:.15rem .5rem;font-size:.74rem;font-weight:700}.hub-header-actions{align-items:center;gap:.75rem;display:flex}.hub-action-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s}.hub-action-btn:hover{background:#f1f5f9;border-color:#94a3b8}.hub-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.6rem;line-height:1;transition:all .15s}.hub-close-btn:hover{color:#0f172a;background:#e2e8f0}.formula-hub-toolbar{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#fff;flex-direction:column;gap:.75rem;padding:.85rem 1.75rem;display:flex}.hub-search-box{align-items:center;width:100%;display:flex;position:relative}.hub-search-icon{color:#94a3b8;font-size:.95rem;position:absolute;left:.85rem}.hub-search-input{width:100%;color:var(--text-primary,#0f172a);background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:.55rem 2.2rem .55rem 2.4rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.hub-search-input:focus{background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.hub-search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.2rem;position:absolute;right:.65rem}.hub-subject-pills{align-items:center;gap:.5rem;display:flex;overflow-x:auto}.hub-pill{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #0000;border-radius:9999px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;transition:all .15s}.hub-pill:hover{color:#0f172a;background:#e2e8f0}.hub-pill.active{color:#fff;background:#0d9488}.formula-hub-scroll-body{background:#f8fafc;flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.formula-cards-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.25rem;display:grid}@media (width<=640px){.formula-cards-grid{grid-template-columns:1fr}}.formula-card{border:1px solid var(--border-subtle,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;gap:.65rem;padding:1.25rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 6px #0000000a}.formula-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px -4px #00000014}.formula-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.formula-meta-badges{align-items:center;gap:.4rem;display:flex}.formula-subject-badge{border-radius:6px;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.formula-subject-badge.math{color:#1d4ed8;background:#eff6ff}.formula-subject-badge.science{color:#b45309;background:#fef3c7}.formula-chapter-badge{color:#64748b;background:#f1f5f9;border-radius:6px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.formula-title-te{color:#0f766e;font-size:.76rem;font-weight:600}.formula-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.formula-equation-box{text-align:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;margin:.2rem 0;padding:.75rem 1rem}.formula-latex-text{color:#0f172a;letter-spacing:.02em;font-family:KaTeX_Math,Cambria Math,Times New Roman,serif;font-size:1.15rem;font-weight:700}.formula-desc{color:#475569;margin:0;font-size:.82rem;line-height:1.4}.formula-desc-te{color:#64748b;margin:0;font-size:.78rem;font-style:italic;line-height:1.35}.formula-variables-strip{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}.var-chip{color:#334155;background:#f1f5f9;border-radius:6px;padding:.2rem .45rem;font-size:.72rem}.var-chip strong{color:#0f766e}.formula-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;display:flex}.formula-action-group{align-items:center;gap:.5rem;display:flex}.formula-toggle-solver-btn{color:#0f766e;cursor:pointer;background:#0d94881a;border:1px solid #0d94884d;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.formula-toggle-solver-btn:hover,.formula-toggle-solver-btn.active{color:#fff;background:#0d9488;border-color:#0d9488}.formula-launch-proof-btn{color:#1d4ed8;cursor:pointer;background:#2563eb1a;border:1px solid #2563eb4d;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.formula-launch-proof-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb}.solver-drawer{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:.6rem;margin-top:.5rem;padding:.85rem;display:flex}.solver-drawer-title{color:#0f766e;margin:0;font-size:.85rem;font-weight:700}.solver-inputs-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.solver-inputs-row label{color:#475569;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.solver-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:58px;padding:.25rem .4rem;font-size:.82rem}.solver-input.small{width:44px}.solver-calc-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:background .15s}.solver-calc-btn:hover{background:#0f766e}.solver-result-box{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .75rem;font-size:.8rem}.result-roots{color:#0f172a;font-weight:700}.result-roots strong{color:#059669}.result-step{color:#64748b;margin-top:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem}.hub-empty-state{text-align:center;color:#64748b;padding:3rem 1rem}.empty-icon{margin-bottom:.5rem;font-size:2.5rem;display:block}.formula-hub-footer{border-top:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;display:flex}.hub-footer-meta{color:#64748b;font-size:.8rem}.hub-done-btn{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;transition:background .15s}.hub-done-btn:hover{background:#0f766e}[data-theme=dark] .formula-hub-dialog{background:#1e293b;border-color:#334155}[data-theme=dark] .formula-hub-header,[data-theme=dark] .formula-hub-toolbar,[data-theme=dark] .formula-hub-footer{background:#0f172a;border-color:#334155}[data-theme=dark] .hub-title{color:#f8fafc}[data-theme=dark] .hub-search-input{color:#f8fafc;background:#1e293b;border-color:#334155}[data-theme=dark] .formula-hub-scroll-body{background:#0f172a}[data-theme=dark] .formula-card{background:#1e293b;border-color:#334155}[data-theme=dark] .formula-title{color:#f8fafc}[data-theme=dark] .formula-equation-box{background:#0f172a;border-color:#334155}[data-theme=dark] .formula-latex-text{color:#5eead4}[data-theme=dark] .formula-desc{color:#cbd5e1}[data-theme=dark] .solver-drawer{background:#0f172a;border-color:#334155}[data-theme=dark] .solver-result-box{background:#1e293b;border-color:#334155}@media print{body *{visibility:hidden}.formula-hub-dialog,.formula-hub-dialog *{visibility:visible}.formula-hub-dialog{position:absolute;top:0;left:0;width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important}.hub-header-actions,.formula-hub-toolbar,.formula-hub-footer,.formula-card-footer,.solver-drawer{display:none!important}.formula-cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.formula-card{break-inside:avoid;border:1px solid #94a3b8!important}}.ohms-law-lab-wrapper{width:100%;margin:1.25rem 0;font-family:inherit}.ohm-lab-container{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 10px 25px -5px #0000000f}.ohm-lab-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.ohm-title-box{align-items:center;gap:.85rem;display:flex}.ohm-badge-icon{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex;box-shadow:0 4px 12px #f59e0b4d}.ohm-main-title{color:var(--text-primary,#0f172a);flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-size:1.25rem;font-weight:800;display:flex}.te-script{color:#0d9488;background:#0d94881a;border-radius:9999px;padding:.15rem .5rem;font-size:.85rem;font-weight:600}.ohm-subtitle{color:var(--text-muted,#64748b);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.formula-chip{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800;display:inline-block}.ohm-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;font-size:1.75rem;line-height:1;transition:all .15s}.ohm-close-btn:hover{color:#0f172a;background:#f1f5f9}.ohm-presets-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex;overflow-x:auto}.presets-label{color:#475569;white-space:nowrap;font-size:.8rem;font-weight:700}.presets-scroll{align-items:center;gap:.5rem;display:flex;overflow-x:auto}.ohm-preset-pill{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.ohm-preset-pill:hover{background:#f1f5f9;border-color:#94a3b8}.ohm-preset-pill.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 6px #2563eb4d}.preset-te-sub{opacity:.85;font-size:.72rem}.ohm-preset-pill.active .preset-te-sub{color:#dbeafe}.ohm-grid{grid-template-columns:1.15fr 1fr;gap:1.25rem;display:grid}@media (width<=900px){.ohm-grid{grid-template-columns:1fr}}.ohm-card{border:1px solid var(--border-subtle,#e2e8f0);background:#fff;border-radius:14px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.card-header-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-title{color:var(--text-primary,#0f172a);margin:0;font-size:1rem;font-weight:800}.switch-toggle-btn{cursor:pointer;border:1.5px solid #0000;border-radius:8px;padding:.35rem .8rem;font-size:.8rem;font-weight:700;transition:all .15s}.switch-closed{color:#dc2626;background:#fef2f2;border-color:#fecaca}.switch-closed:hover{background:#fee2e2}.switch-open{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.switch-open:hover{background:#d1fae5}.circuit-svg-viewport{border:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;min-height:220px;padding:.5rem;display:flex}.circuit-svg{width:100%;max-width:500px;height:auto;display:block}.electron-stream circle{animation:1s ease-in-out infinite alternate electron-pulse}@keyframes electron-pulse{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.circuit-sliders-deck{flex-direction:column;gap:.75rem;display:flex}.slider-control-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.4rem;padding:.75rem .9rem;display:flex}.slider-meta-row{justify-content:space-between;align-items:center;display:flex}.slider-name{color:#1e293b;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.slider-name-te{color:#64748b;font-size:.72rem;font-weight:500}.slider-stepper-box{align-items:center;gap:.4rem;display:flex}.step-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;font-weight:700;transition:all .15s;display:flex}.step-btn:hover{background:#e2e8f0}.slider-live-value{color:#2563eb;text-align:right;min-width:55px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;font-weight:800}.ohm-range-input{accent-color:#2563eb;cursor:pointer;width:100%}.range-ticks{color:#94a3b8;justify-content:space-between;padding:0 .1rem;font-size:.7rem;display:flex}.circuit-verdict-banner{border-radius:10px;align-items:center;gap:.6rem;padding:.65rem .85rem;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.verdict-active{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.verdict-idle{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.verdict-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.verdict-icon{font-size:1.1rem}.gauges-ribbon{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}@media (width<=600px){.gauges-ribbon{grid-template-columns:repeat(2,1fr)}}.gauge-pill{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .5rem;display:flex}.gauge-lbl{color:#64748b;font-size:.7rem;font-weight:600}.gauge-val{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem}.gauge-sub{color:#94a3b8;font-size:.68rem}.text-blue{color:#2563eb}.text-purple{color:#9333ea}.text-amber{color:#d97706}.text-emerald{color:#059669}.text-red{color:#dc2626}.graph-frame{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.6rem}.graph-svg{width:100%;height:auto;display:block}.live-dot-pulse{animation:1.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.graph-actions-deck{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.action-btn{cursor:pointer;border-radius:8px;padding:.45rem .85rem;font-size:.8rem;font-weight:700;transition:all .15s}.record-point-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;flex:1}.record-point-btn:hover:not(:disabled){background:#dbeafe}.record-point-btn:disabled{opacity:.5;cursor:not-allowed}.clear-points-btn{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.clear-points-btn:hover:not(:disabled){color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.clear-points-btn:disabled{opacity:.5;cursor:not-allowed}.slope-callout{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:.75rem .9rem}.slope-head{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.slope-title{color:#166534;font-size:.82rem;font-weight:700}.slope-formula{color:#15803d;background:#fffc;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:800}.slope-desc{color:#14532d;margin:0;font-size:.78rem;line-height:1.35}.tech-connection-box{background:linear-gradient(135deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #bfdbfe;border-radius:10px;padding:.75rem .9rem}.tech-box-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.tech-badge{color:#fff;background:#2563eb;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:800}.tech-title{color:#1e3a8a;font-size:.82rem}.tech-box-body{color:#3b82f6;margin:0;font-size:.76rem;line-height:1.35}[data-theme=dark] .ohm-lab-container{background:#1e293b;border-color:#334155}[data-theme=dark] .ohm-main-title{color:#f8fafc}[data-theme=dark] .ohm-presets-bar,[data-theme=dark] .circuit-svg-viewport,[data-theme=dark] .slider-control-card,[data-theme=dark] .gauge-pill,[data-theme=dark] .graph-frame{background:#0f172a;border-color:#334155}[data-theme=dark] .ohm-card{background:#1e293b;border-color:#334155}[data-theme=dark] .card-title{color:#f8fafc}[data-theme=dark] .slider-name{color:#e2e8f0}[data-theme=dark] .step-btn{color:#f8fafc;background:#1e293b;border-color:#475569}[data-theme=dark] .ohm-preset-pill{color:#cbd5e1;background:#0f172a;border-color:#334155}[data-theme=dark] .ohm-preset-pill:hover{color:#fff;background:#334155}[data-theme=dark] .slope-callout{background:#064e3b;border-color:#059669}[data-theme=dark] .slope-title,[data-theme=dark] .slope-desc{color:#d1fae5}[data-theme=dark] .tech-connection-box{background:#1e1b4b;border-color:#4338ca}[data-theme=dark] .tech-title{color:#c7d2fe}[data-theme=dark] .tech-box-body{color:#a5b4fc}.adaptive-practice-overlay{z-index:10005;justify-content:center;align-items:center;padding:1.25rem;font-family:inherit;display:flex;position:fixed;inset:0}.adaptive-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab8;position:absolute;inset:0}.adaptive-dialog{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);z-index:10006;border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.adaptive-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.adaptive-title-col{align-items:center;gap:.85rem;display:flex}.adaptive-badge-icon{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex;box-shadow:0 4px 12px #3b82f64d}.adaptive-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.15rem;font-weight:800}.adaptive-subtitle{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.82rem}.adaptive-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.75rem;line-height:1;transition:all .15s}.adaptive-close-btn:hover{color:#0f172a;background:#e2e8f0}.adaptive-nav-bar{border-bottom:1px solid var(--border-subtle,#e2e8f0);background:#f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.5rem;display:flex}.tab-group{align-items:center;gap:.5rem;display:flex}.nav-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem .9rem;font-size:.82rem;font-weight:700;transition:all .15s}.nav-tab.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 6px #2563eb40}.mode-toggle-group{background:#e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.2rem;display:flex}.mode-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.mode-btn.active{color:#1e293b;background:#fff;box-shadow:0 1px 3px #0000001a}.adaptive-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.practice-card{flex-direction:column;gap:1rem;display:flex}.sprint-timer-container{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;flex-direction:column;gap:.4rem;padding:.65rem .9rem;display:flex}.timer-meta-row{color:#92400e;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.timer-tag strong{color:#b45309;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem}.timer-progress-track{background:#fef3c7;border-radius:9999px;width:100%;height:6px;overflow:hidden}.timer-progress-fill{background:linear-gradient(90deg,#f59e0b,#ef4444);height:100%;transition:width 1s linear}.question-meta-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.question-domain-chip{color:#fff;border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.difficulty-chip{border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.difficulty-easy{color:#065f46;background:#ecfdf5}.difficulty-medium{color:#1e40af;background:#eff6ff}.difficulty-hard{color:#991b1b;background:#fef2f2}.xp-chip{color:#92400e;background:#fef3c7;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.streak-badge{color:#ea580c;margin-left:auto;font-size:.74rem;font-weight:800}.question-prompt-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.25rem}.prompt-text{color:var(--text-primary,#0f172a);margin:0;font-size:.96rem;font-weight:600;line-height:1.5}.prompt-text-te{color:#0d9488;margin:.45rem 0 0;font-size:.88rem;line-height:1.45}.options-grid{grid-template-columns:1fr;gap:.6rem;display:grid}.option-btn{text-align:left;cursor:pointer;color:#1e293b;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;transition:all .15s;display:flex}.option-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px)}.option-letter{color:#475569;background:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:800;display:flex}.option-content{flex:1}.option-verdict-icon{font-size:1.1rem;font-weight:800}.option-selected{background:#eff6ff;border-color:#2563eb}.option-correct{color:#065f46!important;background:#ecfdf5!important;border-color:#10b981!important}.option-wrong{color:#991b1b!important;background:#fef2f2!important;border-color:#ef4444!important}.option-dim{opacity:.6}.solution-card{border-radius:12px;flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.solution-correct{background:#ecfdf5;border:1px solid #6ee7b7}.solution-wrong{background:#fffbeb;border:1px solid #fde68a}.solution-header{color:#0f172a;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.solution-body{color:#334155;margin:0;font-size:.85rem;line-height:1.45}.remediation-links-bar{border-top:1px solid #00000014;flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.4rem;display:flex}.remediation-label{color:#475569;font-size:.78rem;font-weight:700}.remedy-btn{cursor:pointer;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.text-page-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.text-page-btn:hover{background:#dbeafe}.visualizer-btn{color:#a21caf;background:#fdf4ff;border:1px solid #f0abfc}.visualizer-btn:hover{background:#fae8ff}.hints-accordion{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem}.hints-header-row{color:#475569;justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.reveal-hint-btn{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .65rem;font-size:.76rem;font-weight:700;transition:all .15s}.reveal-hint-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.reveal-hint-btn:disabled{opacity:.5;cursor:not-allowed}.hints-list{flex-direction:column;gap:.4rem;margin:.6rem 0 0;padding-left:1.2rem;display:flex}.hint-item{color:#334155;font-size:.8rem;line-height:1.4}.practice-footer-nav{border-top:1px solid var(--border-subtle,#e2e8f0);justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.total-xp-score{color:#475569;font-size:.85rem}.total-xp-score strong{color:#d97706}.next-question-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:700;transition:background .15s}.next-question-btn:hover{background:#1d4ed8}.analytics-card{flex-direction:column;gap:1.25rem;display:flex}.analytics-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.analytics-heading{color:var(--text-primary,#0f172a);margin:0;font-size:1.05rem;font-weight:800}.analytics-sub{color:var(--text-muted,#64748b);margin:.2rem 0 0;font-size:.82rem}.overall-badge{border-radius:9999px;padding:.35rem .85rem;font-size:.82rem;font-weight:800}.badge-high{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7}.badge-med{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.badge-low{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.analytics-grid{grid-template-columns:1fr 1.2fr;align-items:center;gap:1.5rem;display:grid}@media (width<=768px){.analytics-grid{grid-template-columns:1fr}}.radar-chart-frame{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.radar-svg{width:100%;max-width:260px;height:auto;display:block}.radar-legend{color:#64748b;margin-top:.5rem;font-size:.72rem}.domain-breakdown-col{flex-direction:column;gap:.65rem;display:flex}.domain-stat-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:.85rem;padding:.6rem .85rem;display:flex}.domain-name-col{flex:1;align-items:center;gap:.6rem;display:flex}.domain-dot{border-radius:9999px;flex-shrink:0;width:10px;height:10px}.domain-stat-title{color:#1e293b;font-size:.82rem;display:block}.domain-stat-te{color:#64748b;font-size:.72rem}.domain-score-col{align-items:center;gap:.6rem;width:130px;display:flex}.domain-bar-bg{background:#f1f5f9;border-radius:9999px;flex:1;height:7px;overflow:hidden}.domain-bar-fill{border-radius:9999px;height:100%}.domain-stat-pct{color:#334155;text-align:right;min-width:35px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:800}.weak-domains-action-box{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1px solid #bfdbfe;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex}.weak-box-title{color:#1e40af;font-size:.85rem;font-weight:800}.weak-box-desc{color:#1e3a8a;margin:0;font-size:.82rem;line-height:1.4}.launch-remedy-action-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-self:flex-start;margin-top:.25rem;padding:.45rem .95rem;font-size:.82rem;font-weight:700;transition:background .15s}.launch-remedy-action-btn:hover{background:#1d4ed8}[data-theme=dark] .adaptive-dialog{background:#1e293b;border-color:#334155}[data-theme=dark] .adaptive-header,[data-theme=dark] .adaptive-nav-bar{background:#0f172a;border-color:#334155}[data-theme=dark] .adaptive-title{color:#f8fafc}[data-theme=dark] .nav-tab{color:#cbd5e1;background:#1e293b;border-color:#334155}[data-theme=dark] .nav-tab.active{color:#fff;background:#2563eb}[data-theme=dark] .mode-toggle-group{background:#0f172a}[data-theme=dark] .mode-btn{color:#94a3b8}[data-theme=dark] .mode-btn.active{color:#f8fafc;background:#334155}[data-theme=dark] .question-prompt-box,[data-theme=dark] .radar-chart-frame,[data-theme=dark] .hints-accordion{background:#0f172a;border-color:#334155}[data-theme=dark] .prompt-text{color:#f8fafc}[data-theme=dark] .option-btn{color:#e2e8f0;background:#0f172a;border-color:#334155}[data-theme=dark] .option-btn:hover:not(:disabled){background:#1e293b;border-color:#60a5fa}[data-theme=dark] .option-letter{color:#94a3b8;background:#1e293b}[data-theme=dark] .domain-stat-row{background:#0f172a;border-color:#334155}[data-theme=dark] .domain-stat-title,[data-theme=dark] .domain-stat-pct{color:#f8fafc}[data-theme=dark] .weak-domains-action-box{background:#1e1b4b;border-color:#4338ca}[data-theme=dark] .weak-box-title{color:#a5b4fc}[data-theme=dark] .weak-box-desc{color:#c7d2fe}.reader-replica-wrapper{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.replica-action-bar{background:var(--card-bg,#ffffffe6);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color,#0000001a);z-index:20;border-radius:9999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;width:100%;max-width:900px;margin:0 auto .75rem;padding:.6rem 1rem;display:flex;position:sticky;top:60px;box-shadow:0 4px 20px #00000014}.replica-action-pill{cursor:pointer;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.replica-action-pill:focus-visible{outline:2px solid var(--primary,#0284c7);outline-offset:2px}.replica-pill-discovery{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);box-shadow:0 2px 8px #6366f159}.replica-pill-discovery:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f180}.replica-pill-curiosity{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0d9488 100%);box-shadow:0 2px 8px #0284c759}.replica-pill-curiosity:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0284c780}.replica-pill-solution{color:#166534;background:#f0fdf4;border-color:#86efac}.replica-pill-solution:hover{background:#dcfce7;transform:translateY(-1px)}.replica-pill-sim{color:#92400e;background:#fef3c7;border-color:#fde68a}.replica-pill-sim:hover{background:#fde68a;transform:translateY(-1px)}.replica-pill-tile{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);box-shadow:0 2px 8px #7c3aed59}.replica-pill-tile:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed80}.replica-toolbar-row{justify-content:space-between;align-items:center;width:100%;max-width:900px;margin-bottom:.75rem;padding:0 .5rem;display:flex}.replica-badge-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#0284c7);background:#0284c71a;border:1px solid #0284c733;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.replica-zoom-group{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:.25rem;padding:2px;display:inline-flex;box-shadow:0 1px 4px #0000000d}.replica-zoom-btn{color:var(--text-color,#1e293b);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;font-weight:600;transition:background .15s}.replica-zoom-btn:hover{background:#0000000f}.replica-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.replica-zoom-level{text-align:center;min-width:44px;color:var(--text-muted,#64748b);font-size:.75rem;font-weight:700}.replica-page-viewport{-webkit-overflow-scrolling:touch;justify-content:center;width:100%;max-width:900px;padding:.5rem 0 1.5rem;display:flex;overflow:auto hidden}.replica-page-container{transform-origin:top;background:#fff;border-radius:8px;line-height:0;transition:width .2s,transform .2s;display:inline-block;position:relative;box-shadow:0 4px 6px -1px #00000014,0 20px 35px -4px #00000026,0 0 0 1px #0000000d}.replica-page-image{width:100%;height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:8px;display:block}.replica-page-loading{aspect-ratio:1/1.45;color:#64748b;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:800px;font-size:.9rem;animation:1.5s infinite replica-shimmer;display:flex}@keyframes replica-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.replica-fallback-card{background:var(--card-bg,#fff);border:2px dashed var(--border-color,#cbd5e1);text-align:center;border-radius:12px;max-width:550px;margin:2rem auto;padding:2rem}.replica-fallback-icon{margin-bottom:.75rem;font-size:3rem}.replica-fallback-btn{background:var(--primary,#0284c7);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:1rem;padding:.5rem 1.25rem;font-weight:600}.replica-inline-sim{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;width:100%;max-width:900px;margin-top:1.5rem;padding:1.25rem;box-shadow:0 4px 16px #0000000f}.replica-sim-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.replica-sim-title{align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.replica-inline-tile{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;width:100%;max-width:900px;margin-top:1.5rem;padding:1.25rem;box-shadow:0 4px 16px #0000000f}.replica-tile-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.replica-tile-title{color:var(--text-primary,#0f172a);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.replica-tile-expand-btn{background:var(--bg-alt,#f1f5f9);border:1px solid var(--border,#cbd5e1);color:var(--text-primary,#0f172a);cursor:pointer;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.replica-tile-expand-btn:hover{background:var(--primary-light,#e0e7ff);color:var(--primary,#4338ca)}[data-theme=dark] .replica-page-container{filter:brightness(.96)contrast(1.02);box-shadow:0 4px 6px -1px #0006,0 20px 35px -4px #0009,0 0 0 1px #ffffff1a}[data-theme=dark] .replica-action-bar{background:#1e293bd9;border-color:#ffffff1f}[data-theme=dark] .replica-pill-solution{color:#86efac;background:#16653433;border-color:#86efac4d}[data-theme=dark] .replica-pill-sim{color:#fde68a;background:#92400e33;border-color:#fde68a4d}[data-theme=dark] .replica-pill-tile{color:#c4b5fd;background:#7c3aed59;border-color:#c4b5fd66}[data-theme=dark] .replica-inline-sim,[data-theme=dark] .replica-inline-tile{background:var(--bg-surface,#1e293b);border-color:var(--border,#334155)}[data-theme=dark] .replica-sim-header,[data-theme=dark] .replica-tile-header{border-color:var(--border,#334155)}[data-theme=dark] .replica-tile-title{color:var(--text-primary,#f8fafc)}[data-theme=dark] .replica-tile-expand-btn{color:#f8fafc;background:#334155;border-color:#475569}[data-theme=dark] .replica-tile-expand-btn:hover{color:#fff;background:#475569}
