*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8f9fb;--bg-card:#fff;--text:#1a1a2e;--text-secondary:#555770;--text-muted:#8888a0;--accent:#4a56a6;--accent-light:#6872b8;--accent-bg:#eef0f9;--border:#e2e4ed;--border-light:#f0f1f5;--shadow-sm:0 1px 3px #1a1a2e0f;--shadow-md:0 4px 12px #1a1a2e14;--shadow-lg:0 8px 24px #1a1a2e1a;--radius:12px;--radius-sm:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--sidebar-width:280px;--header-height:64px;--transition:.2s ease;--cornerstone-border:#b8860b;--cornerstone-badge-bg:#fdf6e3;--cornerstone-badge-text:#8b6914;--supporting-text:#999}[data-theme=dark]{--bg:#0f1117;--bg-card:#1a1c25;--text:#e4e6ed;--text-secondary:#a0a4b8;--text-muted:#6b6f82;--accent:#7b86d4;--accent-light:#9aa3e0;--accent-bg:#1e2040;--border:#2a2d3a;--border-light:#1f2230;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--cornerstone-border:#d4a843;--cornerstone-badge-bg:#2a2418;--cornerstone-badge-text:#d4a843;--supporting-text:#6b6f82}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light)}.route-fallback{justify-content:center;align-items:center;min-height:40vh;display:flex}.route-fallback__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite route-spin}@keyframes route-spin{to{transform:rotate(360deg)}}.app-layout{min-height:100vh;display:flex}.header{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:16px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.header__left{flex-shrink:0;align-items:center;gap:12px;display:flex}.header__center{flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.header__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.header__title{color:var(--text);white-space:nowrap;letter-spacing:-.02em;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:1.25rem;font-weight:700}.header__title:hover span{color:var(--accent-light)}.header__title span{color:var(--accent)}.header__search{width:100%;max-width:480px;position:relative}.header__search-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.875rem;font-family:var(--font);background:var(--bg);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 16px 10px 40px}.header__search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.header__search-input::placeholder{color:var(--text-muted)}.header__search-icon{color:var(--text-muted);width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.header__theme-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.header__add-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--accent);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__add-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent);transform:scale(1.05)}.header__add-btn:disabled{opacity:.4;cursor:not-allowed}.header__search-toggle{border-radius:var(--radius);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.header__search-toggle:hover{color:var(--accent)}.mobile-search-bar{display:none}.hamburger{cursor:pointer;color:var(--text);background:0 0;border:none;padding:4px;display:none}.sidebar{top:var(--header-height);width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);z-index:90;padding:16px 0;position:fixed;bottom:0;left:0;overflow-y:auto}.sidebar--collapsed{transform:translate(-280px)}.sidebar--collapsed,.sidebar--collapsed *{pointer-events:none}.main-content--sidebar-collapsed{margin-left:0!important}.sidebar__collapse-toggle{top:calc(var(--header-height) + 8px);left:var(--sidebar-width);z-index:95;border:1px solid var(--border);background:var(--bg-card);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:left var(--transition), color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;transform:translate(-50%)}.sidebar__collapse-toggle:hover{color:var(--text);background:var(--accent-bg)}.sidebar__collapse-toggle--collapsed{left:4px;transform:none}.sidebar__section{margin-bottom:4px}.sidebar__topic-btn{width:100%;font-family:var(--font);color:var(--text);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:10px 20px;font-size:.875rem;font-weight:600;display:flex}.sidebar__topic-btn:hover{background:var(--accent-bg)}.sidebar__topic-btn--active{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent)}.sidebar__count{color:var(--text-muted);background:var(--bg);border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:500}.sidebar__all-btn{width:100%;font-family:var(--font);color:var(--text);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;border-left:3px solid #0000;align-items:center;margin:0;padding:7px 16px 7px 18px;font-size:.84rem;font-weight:600;display:flex}.sidebar__all-btn:hover{background:var(--accent-bg)}.sidebar__all-btn--active{color:var(--accent);border-left-color:var(--accent)}.sidebar__extraction-banner{background:var(--accent-light,#6366f114);border:none;border-left:3px solid var(--accent);cursor:pointer;width:100%;font:inherit;color:var(--accent);align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;transition:background .15s;display:flex}.sidebar__extraction-banner:hover{background:var(--accent-light,#6366f124)}.sidebar__extraction-spinner{flex-shrink:0;width:14px;height:14px}.sidebar__section-items{flex-direction:column;gap:0;padding-bottom:4px;display:flex}.sidebar__section-items .sidebar__all-btn{padding-left:32px}.sidebar__item-with-chevron{align-items:stretch;width:100%;display:flex}.sidebar__item-icon{color:var(--text);flex-shrink:0;align-self:center;margin-left:35px;margin-right:2px}.sidebar__item-with-chevron .sidebar__all-btn--flex,.sidebar__section-items .sidebar__item-with-chevron .sidebar__all-btn--flex{padding-left:4px}.sidebar__item-chevron{width:28px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar__item-chevron:hover:not(:disabled){color:var(--text);background:var(--accent-bg)}.sidebar__item-chevron:disabled{opacity:.3;cursor:default}.sidebar__item-chevron--end{width:32px}.sidebar__all-btn--flex{border-left:3px solid #0000;flex:1}.sidebar__section-items .sidebar__all-btn--flex{padding-right:0}.sidebar__subitems{flex-direction:column;padding-left:48px;display:flex}.main-content{min-width:0;margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));flex:1;padding:32px}.topic-header{margin-bottom:28px}.topic-header__name{color:var(--text);letter-spacing:-.02em;margin-bottom:6px;font-size:1.75rem;font-weight:700}.topic-header__description{color:var(--text-secondary);font-size:.95rem}.equation-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.equation-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;gap:12px;padding:24px;display:flex}.equation-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.equation-card__header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.equation-card__name{color:var(--text);font-size:1rem;font-weight:600}.equation-card__importance{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-size:.65rem;font-weight:700}.equation-card__importance--cornerstone{color:var(--cornerstone-badge-text);background:var(--cornerstone-badge-bg)}.equation-card__importance--supporting{color:var(--text-muted);background:var(--bg)}.equation-card__latex{background:var(--bg);border-radius:var(--radius-sm);text-align:center;padding:16px 8px;overflow-x:auto}.equation-card__latex .katex-display{margin:0}.equation-card__description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.equation-card__tag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-bg);border-radius:6px;align-self:flex-start;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.equation-card--cornerstone{border-left:3px solid var(--cornerstone-border)}.equation-card--cornerstone .equation-card__name{font-size:1.05rem}.equation-card--supporting{opacity:.8}.equation-card--supporting .equation-card__name{color:var(--text-secondary);font-size:.95rem}.equation-detail{max-width:800px}.equation-detail__toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.equation-detail__toolbar-actions{align-items:center;gap:8px;display:inline-flex}.equation-detail__delete{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;font-size:.78rem;font-family:var(--font);transition:color var(--transition), border-color var(--transition), background var(--transition);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.save-to-group{display:inline-block;position:relative}.save-to-group__btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;font-size:.78rem;font-family:var(--font);transition:color var(--transition), border-color var(--transition), background var(--transition);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.save-to-group__btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.save-to-group__btn:disabled{opacity:.7;cursor:default}.save-to-group__menu{background:var(--bg-card);border:1px solid var(--border);z-index:50;border-radius:8px;min-width:220px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.save-to-group__menu-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 8px 4px;font-size:.7rem}.save-to-group__menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;font-size:.82rem;font-family:var(--font);background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.save-to-group__menu-item:hover:not(:disabled){background:var(--bg-main)}.save-to-group__menu-item:disabled{opacity:.6;cursor:default}.save-to-group__default-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.65rem}.save-to-group__empty{color:var(--text-muted);padding:8px 10px;font-size:.8rem}.save-to-group__error{color:#c0392b;border-top:1px solid var(--border);margin-top:4px;padding:6px 8px;font-size:.75rem}.equation-detail__delete:hover{color:#c0392b;background:#c0392b14;border-color:#c0392b}.equation-detail__back{color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-family:var(--font);transition:color var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;display:inline-flex}.equation-detail__back:hover{color:var(--accent)}.equation-detail__name{color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:700}.equation-detail__importance{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;margin-bottom:8px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.equation-detail__importance--cornerstone{color:var(--cornerstone-badge-text);background:var(--cornerstone-badge-bg)}.equation-detail__importance--core{color:var(--accent);background:var(--accent-bg)}.equation-detail__importance--supporting{color:var(--text-muted);background:var(--bg);border:1px solid var(--border)}.equation-detail__importance-reason{color:var(--text-muted);margin-bottom:16px;font-size:.82rem;font-style:italic}.equation-detail__latex-block{background:var(--bg);border-radius:var(--radius);text-align:center;border:1px solid var(--border-light);margin-bottom:32px;padding:28px 16px;overflow-x:auto}.equation-detail__latex-block .katex-display{margin:0;font-size:1.4em}.equation-detail__section{margin-bottom:28px}.equation-detail__section-title{color:var(--text);border-bottom:2px solid var(--accent-bg);margin-bottom:10px;padding-bottom:6px;font-size:1.1rem;font-weight:600}.equation-detail__text{color:var(--text-secondary);font-size:.925rem;line-height:1.7}.equation-detail__derive-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.equation-detail__derive-btn:hover{opacity:.85}.equation-detail__derive-hint{color:var(--text-muted);margin-top:6px;font-size:.75rem}.derivation{flex:1;min-width:0;max-width:800px}.derivation__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:.8rem;font-weight:700}.derivation__equation-name{color:var(--text);letter-spacing:-.02em;margin-bottom:16px;font-size:1.75rem;font-weight:700}.derivation__latex-block{background:var(--bg);border-radius:var(--radius);text-align:center;border:1px solid var(--border-light);margin-bottom:24px;padding:20px 16px;overflow-x:auto}.derivation__latex-block .katex-display{margin:0;font-size:1.3em}.variables-list{flex-direction:column;gap:12px;list-style:none;display:flex}.variables-list__item{background:var(--bg);border-radius:var(--radius-sm);align-items:flex-start;gap:16px;padding:12px 16px;display:flex}.variables-list__symbol{text-align:center;flex-shrink:0;min-width:60px;padding-top:2px}.variables-list__info{flex:1}.variables-list__name{color:var(--text);margin-bottom:2px;font-size:.9rem;font-weight:600}.variables-list__description{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.worked-example{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border-light);padding:24px}.worked-example__title{color:var(--accent);margin-bottom:12px;font-size:1rem;font-weight:600}.worked-example__problem{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem;font-style:italic;line-height:1.6}.worked-example__steps{flex-direction:column;gap:16px;display:flex}.worked-example__step{border-left:3px solid var(--accent-bg);padding-left:16px}.worked-example__step-text{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem;line-height:1.6}.worked-example__step-latex{background:var(--bg-card);border-radius:var(--radius-sm);text-align:center;padding:12px;overflow-x:auto}.worked-example__step-latex .katex-display{margin:0}.worked-example__result{border-top:1px solid var(--border);color:var(--text);margin-top:20px;padding-top:16px;font-size:.9rem;font-weight:500;line-height:1.6}.connections{flex-direction:column;gap:12px;display:flex}.connection-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:16px;padding:16px;display:flex}.connection-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.connection-card__equation{background:var(--bg);border-radius:var(--radius-sm);flex-shrink:0;max-width:200px;padding:8px 12px;font-size:.85em;overflow-x:auto}.connection-card__equation .katex-display{margin:0}.connection-card__info{flex:1;min-width:0}.connection-card__name{color:var(--text);margin-bottom:2px;font-size:.875rem;font-weight:600}.connection-card__relationship{color:var(--text-muted);font-size:.8rem;line-height:1.4}.connection-card__arrow{color:var(--text-muted);flex-shrink:0}.no-results{text-align:center;color:var(--text-muted);padding:64px 24px}.no-results__icon{margin-bottom:12px;font-size:2.5rem}.no-results__text{font-size:1rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0006;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius);width:560px;max-width:95vw;max-height:80vh;box-shadow:var(--shadow-lg);animation:.2s modal-in;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal__header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal__title{color:var(--text);font-size:1.1rem;font-weight:700}.modal__close{cursor:pointer;color:var(--text-muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;padding:4px}.modal__close:hover{background:var(--bg);color:var(--text)}.modal__body{padding:24px}.modal__body--centered{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.modal__input-group{margin-bottom:16px}.modal__input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:.95rem;font-family:var(--font-mono);background:var(--bg);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:12px 16px}.modal__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.modal__preview{text-align:center;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-light);margin-top:12px;padding:16px}.modal__preview .katex-display{margin:0}.modal__error{color:#c0392b;border-radius:var(--radius-sm);background:#fdf0ef;margin-bottom:12px;padding:10px 14px;font-size:.85rem}.modal__matches{flex-direction:column;gap:6px;display:flex}.modal__matches-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:.8rem;font-weight:600}.modal__match{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;text-align:left;font-family:var(--font);transition:border-color var(--transition), background var(--transition);align-items:center;gap:12px;padding:10px 14px;display:flex}.modal__match:hover{border-color:var(--accent);background:var(--accent-bg)}.modal__match-name{color:var(--text);flex-shrink:0;font-size:.875rem;font-weight:600}.modal__match-latex{flex:1;min-width:0;font-size:.75em;overflow:hidden}.modal__match-latex .katex-display{margin:0}.modal__no-match{text-align:center;padding:24px}.modal__no-match p{color:var(--text-muted);margin-bottom:16px}.modal__add-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;align-items:center;gap:6px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.modal__add-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.modal__add-btn--secondary{color:var(--accent);border:1px solid var(--accent);background:0 0;padding:6px 14px;font-size:.8rem}.modal__add-btn--secondary:hover{background:var(--accent-bg)}.modal__also-add{border-top:1px solid var(--border-light);align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.modal__also-add span{color:var(--text-muted);font-size:.85rem}.modal__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal__generating-text{color:var(--text);font-size:.95rem;font-weight:600}.modal__generating-sub{color:var(--text-muted);font-size:.8rem}.modal__review-equation{text-align:center;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-light);margin-bottom:20px;padding:20px 12px}.modal__review-equation .katex-display{margin:0;font-size:1.2em}.modal__field{flex:1;margin-bottom:14px}.modal__field-row{gap:14px;display:flex}.modal__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.8rem;font-weight:600;display:block}.modal__select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:.875rem;font-family:var(--font);background:var(--bg);color:var(--text);cursor:pointer;outline:none;padding:10px 12px}.modal__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.modal__review-description{color:var(--text-secondary);margin-bottom:10px;font-size:.85rem;line-height:1.6}.modal__review-description strong{color:var(--text)}.modal__actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.modal__cancel-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:background var(--transition);padding:10px 20px;font-size:.875rem}.modal__cancel-btn:hover{background:var(--border-light)}.modal__confirm-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;transition:background var(--transition);border:none;padding:10px 24px;font-size:.875rem;font-weight:600}.modal__confirm-btn:hover{background:var(--accent-light)}.modal__dedup-warning{border-radius:var(--radius-sm);background:#fffbf0;border:1px solid #e8a838;margin-bottom:16px;padding:12px}.modal__dedup-warning-header{color:#b8860b;align-items:center;gap:8px;margin-bottom:8px;font-size:.8rem;font-weight:600;display:flex}.modal__dedup-score{color:#b8860b;background:#fdf6e3;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:600}.modal__dedup-alert{border-radius:var(--radius-sm);background:#fdf6e3;border:1px solid #e8a838;gap:14px;margin-bottom:20px;padding:16px;display:flex}.modal__dedup-alert-icon{color:#b8860b;flex-shrink:0;padding-top:2px}.modal__dedup-alert-text strong{color:#8b6914;margin-bottom:4px;display:block}.modal__dedup-alert-text p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.modal__dedup-existing{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;text-align:left;width:100%;font-family:var(--font);transition:border-color var(--transition), background var(--transition);margin-bottom:16px;padding:16px;display:block}.modal__dedup-existing:hover{border-color:var(--accent);background:var(--accent-bg)}.modal__dedup-existing-name{color:var(--text);margin-bottom:8px;font-weight:600}.modal__dedup-existing-latex{text-align:center;font-size:.9em}.modal__dedup-existing-latex .katex-display{margin:0}.modal__importance-help-btn{border:1px solid var(--text-muted);width:16px;height:16px;color:var(--text-muted);cursor:pointer;vertical-align:middle;transition:background var(--transition), color var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-left:6px;font-size:.6rem;font-weight:700;display:inline-flex}.modal__importance-help-btn:hover{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.modal__importance-tooltip{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:14px;padding:14px;font-size:.8rem;line-height:1.5}.modal__importance-tooltip-item{color:var(--text-secondary);margin-bottom:8px}.modal__importance-tooltip-item:last-child{margin-bottom:0}.modal__importance-tooltip-item strong{color:var(--text)}.modal__importance-reason{color:var(--text-secondary);background:var(--accent-bg);border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:.82rem;line-height:1.5}.modal__importance-reason strong{color:var(--accent)}.sidebar__section-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:16px 20px 6px;font-size:.65rem;font-weight:700}.sidebar__section-toggle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:.65rem;font-weight:700;display:flex}.sidebar__section-toggle:hover{color:var(--text-secondary)}.sidebar__pathways-placeholder{padding:8px 20px 12px}.sidebar__pathways-placeholder p{color:var(--text-muted);font-size:.8rem;font-style:italic;line-height:1.4}.sidebar__create-first-btn{background:var(--accent-bg);border:1px dashed var(--accent);border-radius:var(--radius-sm);width:calc(100% - 32px);color:var(--accent);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);align-items:center;margin:4px 16px;padding:10px 12px;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.sidebar__create-first-btn:hover{background:var(--accent);color:#fff}.sidebar__divider{background:var(--border-light);height:1px;margin:8px 0}.sidebar__book{margin-bottom:2px}.sidebar__book-btn{width:100%;font-family:var(--font);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:8px 20px;font-size:.8rem;font-weight:700;display:flex}.sidebar__book-btn:hover{background:var(--accent-bg)}.sidebar__chevron{transition:transform var(--transition);flex-shrink:0}.sidebar__chevron--open{transform:rotate(90deg)}.sidebar__chapter-btn{width:100%;font-family:var(--font);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:7px 20px 7px 38px;font-size:.8rem;font-weight:500;display:flex}.sidebar__chapter-btn:hover{background:var(--accent-bg)}.sidebar__chapter-btn--active{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent);font-weight:600}.sidebar__problem-btn{width:100%;font-family:var(--font);color:var(--text-muted);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:6px 20px 6px 38px;font-size:.75rem;display:block;overflow:hidden}.sidebar__problem-btn:hover{background:var(--accent-bg);color:var(--text)}.variables-list__name-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.variable-explore__btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.variable-explore__btn:hover,.variable-explore__btn--active{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.variable-explore__panel{background:var(--bg-card);border:1px solid var(--accent-bg);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-secondary);margin-top:10px;padding:16px;font-size:.85rem;line-height:1.7;animation:.2s panel-in}@keyframes panel-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.variable-explore__panel .katex-display{margin:12px 0}.variable-explore__loading{color:var(--text-muted);align-items:center;gap:10px;font-size:.82rem;display:flex}.variable-explore__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.variable-explore__content p,.variable-explore__content br+br{margin-bottom:8px}.variable-explore__auth-prompt{background:var(--card-bg);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;margin-top:6px;padding:8px 12px;font-size:.82rem}.workshop{max-width:800px}.workshop:has(.workshop__sidebar){max-width:none}.workshop__title{color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:700}.workshop__subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem}.workshop__input-section{flex-direction:column;gap:16px;display:flex}.workshop__field{flex-direction:column;gap:6px;display:flex}.workshop__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.workshop__textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:.95rem;font-family:var(--font);background:var(--bg);color:var(--text);resize:vertical;min-height:100px;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:14px 16px;line-height:1.6}.workshop__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.workshop__preview{text-align:center;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:16px}.workshop__preview .katex-display{margin:0}.workshop__select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:.875rem;font-family:var(--font);background:var(--bg);color:var(--text);cursor:pointer;outline:none;padding:10px 12px}.workshop__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.workshop__error{color:#c0392b;border-radius:var(--radius-sm);background:#fdf0ef;padding:10px 14px;font-size:.85rem}.workshop__solve-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;align-self:flex-start;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;display:inline-flex}.workshop__solve-btn:hover:not(:disabled){background:var(--accent-light);transform:translateY(-1px)}.workshop__solve-btn:disabled{opacity:.5;cursor:not-allowed}.workshop__hint{color:var(--text-muted);font-size:.75rem}.workshop__action-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workshop__hint-btn{border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);font-family:var(--font);cursor:pointer;transition:background var(--transition), transform var(--transition);background:0 0;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;display:inline-flex}.workshop__hint-btn:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px)}.workshop__hint-btn:disabled{opacity:.5;cursor:not-allowed}.workshop__hint-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.workshop__solved-unaided{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.workshop__solved-unaided input{cursor:pointer}.hints-list{flex-direction:column;gap:10px;margin:12px 0;display:flex}.hints-list__item{border-left:3px solid var(--accent);background:var(--bg-muted,#00000008);border-radius:var(--radius-sm);padding:12px 14px}.hints-list__label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem;font-weight:700}.hints-list__text{color:var(--text);font-size:.95rem;line-height:1.5}.hints-list__latex{margin-top:8px;font-size:.95rem}.solve-sidebar__actions{flex-direction:column;gap:10px;padding:16px;display:flex}.workshop__loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.workshop__loading-text{color:var(--text);font-size:.95rem;font-weight:600}.workshop__loading-sub{color:var(--text-muted);font-size:.8rem}.workshop__result{flex-direction:column;gap:20px;display:flex}.workshop__question-display{color:var(--text);background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:16px;font-size:.95rem;line-height:1.6}.workshop__summary{color:var(--text-secondary);background:var(--accent-bg);border-radius:var(--radius-sm);padding:12px 16px;font-size:.9rem;line-height:1.6}.workshop__summary strong{color:var(--accent)}.workshop__steps{flex-direction:column;gap:16px;display:flex}.workshop__step{border-left:3px solid var(--accent-bg);background:var(--bg-card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:16px}.workshop__step-number{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:8px;font-size:.75rem;font-weight:700}.workshop__step-explanation{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;line-height:1.7}.workshop__step-latex{background:var(--bg);border-radius:var(--radius-sm);text-align:center;margin-bottom:8px;padding:12px;overflow-x:auto}.workshop__step-latex .katex-display{margin:0}.workshop__step-refs{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.workshop__step-refs-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem;font-weight:600}.workshop__eq-ref{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition);border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.workshop__eq-ref:hover,.workshop__eq-ref--active{background:var(--accent);color:#fff}.workshop__result-layout{align-items:flex-start;gap:24px;display:flex}.workshop__result-layout>.workshop__result,.workshop__result-layout>.problem-detail,.workshop__result-main{flex:1;min-width:0;max-width:800px}.workshop__sidebar{width:480px;top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--bg-card);border-left:1px solid var(--border);flex-shrink:0;padding:24px;animation:.2s panel-in;position:sticky;overflow-y:auto}.workshop__sidebar .equation-detail{max-width:none}.workshop__sidebar .equation-detail__back{display:none}.workshop__sidebar-close{float:right;z-index:10;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);border-radius:50%;padding:6px;position:sticky;top:0}.workshop__sidebar-close:hover{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.workshop__equations-used{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border-light);padding:20px}.workshop__equations-used h3{color:var(--text);margin-bottom:12px;font-size:.9rem;font-weight:700}.workshop__eq-list{flex-direction:column;gap:8px;display:flex}.workshop__eq-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;text-align:left;font-family:var(--font);transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:16px;padding:12px 16px;display:flex}.workshop__eq-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.workshop__eq-card-name{color:var(--text);flex-shrink:0;font-size:.85rem;font-weight:600}.workshop__eq-card-latex{flex:1;min-width:0;font-size:.75em;overflow:hidden}.workshop__eq-card-latex .katex-display{margin:0}.workshop__actions{border-top:1px solid var(--border-light);align-items:center;gap:12px;padding-top:16px;display:flex}.workshop__new-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:background var(--transition);padding:10px 20px;font-size:.875rem}.workshop__new-btn:hover{background:var(--border-light)}.workshop__save-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;transition:background var(--transition);border:none;padding:10px 24px;font-size:.875rem;font-weight:600}.workshop__save-btn:hover{background:var(--accent-light)}.workshop__saved-badge{color:#2d8a4e;border-radius:var(--radius-sm);background:#e8f5e9;padding:8px 16px;font-size:.85rem;font-weight:600}.problem-detail{flex:1;min-width:0;max-width:800px}.problem-detail__title{color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:700}.problem-detail__chapter{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-bg);border-radius:6px;margin-bottom:8px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.problem-detail__date{color:var(--text-muted);margin-bottom:20px;font-size:.82rem}.problem-detail__question{color:var(--text);background:var(--bg);border-radius:var(--radius);border:1px solid var(--border-light);margin-bottom:24px;padding:20px;font-size:1.05rem;font-style:italic;line-height:1.7}@media (width<=768px){.hamburger{display:block}.sidebar{transform:translate(-100%)}.sidebar--open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar__collapse-toggle{display:none}.main-content{margin-left:0;padding:20px;overflow-x:hidden}.equation-grid{grid-template-columns:1fr}.header{gap:8px;padding:0 12px}.header__title,.header__search{display:none}.header__search-toggle{display:flex}.mobile-search-bar{top:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border);z-index:99;padding:8px 12px;display:block;position:fixed;left:0;right:0}.mobile-search-bar .header__search{max-width:100%;display:block}.header__add-btn{width:36px;height:36px}.user-menu__sign-in-btn{padding:6px 12px;font-size:.8rem}.equation-card{overflow:hidden}.equation-card__header{flex-wrap:wrap;gap:4px}.equation-card__name{font-size:.95rem}.equation-card__latex{-webkit-overflow-scrolling:touch;overflow-x:auto}.equation-detail__name{word-wrap:break-word;overflow-wrap:break-word;font-size:1.4rem}.equation-detail__latex-block{-webkit-overflow-scrolling:touch;padding:16px 8px;overflow-x:auto}.equation-detail__latex-block .katex-display{font-size:1.1em}.equation-detail__text{overflow-wrap:break-word;word-break:break-word;font-size:.875rem}.equation-detail__section-header{flex-wrap:wrap}.connection-card{flex-direction:column;align-items:flex-start}.connection-card__equation{max-width:100%;overflow-x:auto}.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:90vh;margin-top:auto}.modal-overlay{align-items:flex-end;padding-top:0}.modal__field-row{flex-direction:column;gap:0}.workshop{padding:20px 0}.workshop__step-latex{-webkit-overflow-scrolling:touch;overflow-x:auto}.workshop__eq-card{min-width:0}.workshop__eq-card-latex{overflow-x:auto}.workshop__actions{flex-direction:column;gap:8px}.workshop__actions>*{justify-content:center;width:100%}.workshop__result-layout{flex-direction:column}.workshop__sidebar{width:100%;max-height:none;position:static}.variables-list__item{flex-direction:column;gap:4px}.variable-explore__panel{overflow-x:auto}.section-explore__panel{padding:12px 14px;overflow-x:auto}.revision__card-latex{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.header{gap:6px;padding:0 10px}.header__add-btn{display:none}.main-content{padding:12px}.equation-detail__name{font-size:1.2rem}.topic-header__name{font-size:1.4rem}}.sidebar-overlay{display:none}.sidebar-overlay--visible{z-index:80;background:#0000004d;display:block;position:fixed;inset:0}.sidebar__due-badge{color:#fff;background:#e74c3c;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.revision{max-width:720px;margin:0 auto;padding:32px 24px}.revision__title{color:var(--text);margin-bottom:8px;font-size:2rem;font-weight:700}.revision__subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:1.05rem}.revision__stats-bar{gap:24px;margin-bottom:36px;display:flex}.revision__stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex:1;padding:20px}.revision__stat--clickable{cursor:pointer;color:inherit;transition:border-color var(--transition), transform var(--transition);font-family:inherit}.revision__stat--clickable:hover{border-color:var(--accent);transform:translateY(-1px)}.revision__stat-number{color:var(--text);font-size:2rem;font-weight:700}.revision__stat-number--due{color:#e74c3c}.revision__stat-number--new{color:var(--accent)}.revision__stat-label{color:var(--text-muted);margin-top:4px;font-size:.85rem}.revision__start-section{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.revision__start-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.revision__start-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;align-items:center;gap:10px;padding:14px 36px;font-size:1.1rem;font-weight:600;display:inline-flex}.revision__start-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.revision__start-badge{background:#ffffff40;border-radius:12px;padding:2px 10px;font-size:.85rem}.revision__start-btn--secondary{color:var(--accent);border:2px solid var(--accent);background:0 0;padding:12px 28px;font-size:1rem}.revision__start-btn--secondary:hover{background:var(--accent);color:#fff}.revision__importance-filter{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:8px;display:flex}.revision__importance-chip{cursor:pointer;border:2px solid #0000;border-radius:16px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .15s}.revision__importance-chip--cornerstone{background:var(--importance-cornerstone-bg,#fef3c7);color:var(--importance-cornerstone-text,#92400e);border-color:var(--importance-cornerstone-border,#fcd34d)}.revision__importance-chip--core{background:var(--importance-core-bg,#dbeafe);color:var(--importance-core-text,#1e40af);border-color:var(--importance-core-border,#93c5fd)}.revision__importance-chip--supporting{background:var(--importance-supporting-bg,#f3f4f6);color:var(--importance-supporting-text,#6b7280);border-color:var(--importance-supporting-border,#d1d5db)}.revision__importance-chip--inactive{opacity:.4;border-color:#0000}.revision__all-done{color:var(--text-muted);margin-top:12px;font-size:.9rem}.revision__decks-section{margin-top:32px}.revision__decks-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.revision__decks-title{color:var(--text);margin:0;font-size:1.1rem}.revision__new-deck-btn{background:var(--bg-card);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.9rem}.revision__new-deck-btn:hover{background:var(--bg-hover)}.revision__decks-empty-hint{color:var(--text-muted);margin:0 0 12px;font-size:.9rem}.revision__deck-list{flex-direction:column;gap:8px;display:flex}.revision__deck-row{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:stretch;gap:4px;display:flex}.revision__deck-row:hover{border-color:var(--accent)}.revision__deck-main{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px 0 0 8px;flex:1;padding:12px 14px}.revision__deck-main:hover{background:var(--bg-hover)}.revision__deck-name{margin-bottom:4px;font-size:1rem;font-weight:600}.revision__deck-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;font-size:.85rem;display:flex}.revision__deck-scope{background:var(--bg-hover);border-radius:4px;padding:2px 8px;font-size:.8rem}.revision__deck-count--due{color:var(--accent);font-weight:500}.revision__deck-count--new{color:#10b981;font-weight:500}.revision__deck-menu-wrap{align-items:center;display:flex;position:relative}.revision__deck-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;height:100%;padding:0 12px;font-size:1.2rem}.revision__deck-menu-btn:hover{background:var(--bg-hover);color:var(--text)}.revision__deck-menu{background:var(--bg-card);border:1px solid var(--border);z-index:10;border-radius:6px;flex-direction:column;min-width:120px;display:flex;position:absolute;top:100%;right:4px;box-shadow:0 4px 12px #0000001a}.revision__deck-menu button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:.9rem}.revision__deck-menu button:hover{background:var(--bg-hover)}.revision__back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:4px 0;font-size:.9rem}.revision__back-btn:hover{color:var(--text)}.revision__deck-modal{width:480px;max-width:480px;padding:24px}.revision__deck-modal .modal__title{border-bottom:1px solid var(--border-light);margin:0 0 20px;padding-bottom:12px}.revision__deck-modal .revision__skip-btn,.revision__deck-modal .revision__submit-btn{border-radius:var(--radius-sm,6px);padding:8px 16px;font-size:.9rem}.revision__deck-modal-label{color:var(--text);margin-bottom:16px;font-size:.9rem;font-weight:500;display:block}.revision__deck-modal-input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;margin-top:6px;padding:8px 10px;font-family:inherit;font-size:.95rem;display:block}.revision__deck-modal-field{margin-bottom:16px}.revision__deck-modal-radios{gap:16px;margin-top:6px;display:flex}.revision__deck-modal-radios label{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:.9rem;font-weight:400;display:flex}.revision__deck-modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.revision__session{max-width:640px;margin:0 auto}.revision__progress-bar{background:var(--border);border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}.revision__progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.revision__progress-text{color:var(--text-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:.85rem;display:flex}.revision__card-container{perspective:1000px}.revision__card-inner{transform-style:preserve-3d;transition:transform .5s;position:relative}.revision__card-inner--flipped{transform:rotateY(180deg)}.revision__card-face{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:32px}.revision__card-face--front{backface-visibility:hidden}.revision__card-face--back{backface-visibility:hidden;transform:rotateY(180deg)}.revision__show-answer-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;flex:1;padding:14px 24px;font-size:1rem;font-weight:600}.revision__show-answer-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.revision__type-answer-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), border-color var(--transition);background:0 0;padding:14px 20px;font-size:.9rem}.revision__type-answer-btn:hover{background:var(--bg);border-color:var(--accent-light)}.revision__hint{text-align:center;color:var(--text-muted);margin-top:8px;font-size:.8rem}.revision__shortcut-hint{text-align:center;color:var(--text-muted);margin-top:12px;font-size:.8rem}.revision__answer-section{margin:20px 0}.revision__answer-block{background:var(--bg);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:.95rem;line-height:1.7}.revision__answer-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 6px;font-size:.8rem;font-weight:600}.revision__variables-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.revision__variables-list li{font-size:.9rem;line-height:1.5}.revision__var-symbol{color:var(--accent);font-weight:600}.revision__past-feedback{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.revision__toggle-past{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.revision__toggle-past:hover{color:var(--text)}.revision__past-score{border-radius:8px;padding:1px 8px;font-size:.8rem;font-weight:600}.revision__past-score--good{color:#16a34a;background:#f0fdf4}.revision__past-score--ok{color:#d97706;background:#fffbeb}.revision__past-score--poor{color:#dc2626;background:#fef2f2}.revision__past-content{background:var(--bg);border-radius:var(--radius-sm);margin-top:8px;padding:12px;font-size:.9rem;line-height:1.6}.revision__past-answer{margin-bottom:12px}.revision__past-answer strong,.revision__past-ai strong{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:.8rem;display:block}.revision__rating-section{border-top:1px solid var(--border);text-align:center;margin-top:24px;padding-top:20px}.revision__rating-prompt{color:var(--text-muted);margin-bottom:12px;font-size:.9rem}.revision__rating-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.revision__rating-btn{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition);flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.revision__rating-btn:hover{transform:translateY(-2px)}.revision__rating-btn--again{border-color:#fecaca}.revision__rating-btn--again:hover{background:#fef2f2;border-color:#ef4444}.revision__rating-btn--hard{border-color:#fde68a}.revision__rating-btn--hard:hover{background:#fffbeb;border-color:#f59e0b}.revision__rating-btn--good{border-color:#bbf7d0}.revision__rating-btn--good:hover{background:#f0fdf4;border-color:#22c55e}.revision__rating-btn--easy{border-color:#bfdbfe}.revision__rating-btn--easy:hover{background:#eff6ff;border-color:#3b82f6}.revision__rating-label{color:var(--text);font-size:.9rem;font-weight:600}.revision__rating-interval{color:var(--text-muted);font-size:.75rem}.revision__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:32px}.revision__progress{color:var(--text-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:.85rem;display:flex}.revision__review-status{color:var(--text-muted);margin-left:auto;font-size:.8rem}.revision__new-badge{background:var(--accent-bg);color:var(--accent);border-radius:10px;margin-left:auto;padding:2px 10px;font-size:.75rem;font-weight:600}.revision__eq-name{color:var(--text);margin-bottom:4px;font-size:1.4rem;font-weight:700}.revision__eq-topic{color:var(--text-muted);background:var(--bg);border-radius:8px;margin-bottom:20px;padding:2px 10px;font-size:.8rem;display:inline-block}.revision__eq-latex{text-align:center;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:24px;padding:24px 16px;overflow-x:auto}.revision__eq-latex--small{margin-bottom:20px;padding:16px}.revision__prompt{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);margin-bottom:20px;padding:12px 16px;font-size:.95rem}.revision__prompt strong{color:var(--accent)}.revision__answer{border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font);resize:vertical;transition:border-color var(--transition);background:var(--bg-card);color:var(--text);padding:14px 16px;font-size:.95rem;line-height:1.6}.revision__answer:focus{border-color:var(--accent);outline:none}.revision__card-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.revision__skip-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition);background:0 0;padding:10px 24px;font-size:.9rem}.revision__skip-btn:hover{background:var(--bg)}.revision__submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), opacity var(--transition);border:none;padding:10px 28px;font-size:.95rem;font-weight:600}.revision__submit-btn:hover:not(:disabled){background:var(--accent-light)}.revision__submit-btn:disabled{opacity:.5;cursor:not-allowed}.revision__feedback{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:32px}.revision__score{text-align:center;border-radius:var(--radius-sm);margin-bottom:24px;padding:20px}.revision__score--good{background:#f0fdf4;border:1px solid #bbf7d0}.revision__score--ok{background:#fffbeb;border:1px solid #fde68a}.revision__score--poor{background:#fef2f2;border:1px solid #fecaca}.revision__score-number{font-size:2.5rem;font-weight:800}.revision__score--good .revision__score-number{color:#16a34a}.revision__score--ok .revision__score-number{color:#d97706}.revision__score--poor .revision__score-number{color:#dc2626}.revision__score-label{color:var(--text-secondary);margin-top:4px;font-size:.95rem}.revision__your-answer{background:var(--bg);border-radius:var(--radius-sm);color:var(--text-secondary);margin-bottom:20px;padding:16px;font-size:.9rem;line-height:1.7}.revision__your-answer strong{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.85rem;display:block}.revision__ai-feedback{background:var(--accent-bg);border-radius:var(--radius-sm);margin-bottom:24px;padding:16px;font-size:.95rem;line-height:1.7}.revision__ai-feedback strong{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.85rem;display:block}.revision__view-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition);background:0 0;padding:10px 24px;font-size:.9rem}.revision__view-btn:hover{background:var(--bg)}.revision__next-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;padding:10px 28px;font-size:.95rem;font-weight:600}.revision__next-btn:hover{background:var(--accent-light)}.revision__done{text-align:center;padding:48px 24px}.revision__done-title{color:var(--text);margin-bottom:32px;font-size:1.8rem;font-weight:700}.revision__done-stats{justify-content:center;gap:32px;margin-bottom:36px;display:flex}.revision__done-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.revision__done-stat-number{color:var(--accent);font-size:2.5rem;font-weight:800}.revision__done-stat-label{color:var(--text-muted);font-size:.85rem}@media (width<=600px){.revision{padding:20px 16px}.revision__stats-bar{flex-direction:column;gap:12px}.revision__card,.revision__feedback{padding:20px}.revision__score-number{font-size:2rem}.revision__done-stats{flex-direction:column;gap:20px}.revision__rating-buttons{grid-template-columns:repeat(2,1fr)}.revision__shortcut-hint{display:none}.revision__card-actions{flex-direction:column}.revision__show-answer-btn,.revision__type-answer-btn,.revision__submit-btn,.revision__skip-btn{width:100%;padding:12px 16px}}.equation-detail__section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-explore__btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border-radius:16px;flex-shrink:0;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;font-size:.75rem;display:inline-flex}.section-explore__btn:hover,.section-explore__btn--active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.section-explore__panel{background:linear-gradient(135deg, var(--accent-bg), #f0f4ff);border-radius:var(--radius-sm);border-left:3px solid var(--accent);color:var(--text);margin-top:16px;padding:16px 20px;font-size:.92rem;line-height:1.7}.section-explore__panel .section-explore__content{white-space:normal}.section-explore__content .paragraph{margin-bottom:12px}.section-explore__content .paragraph:last-child{margin-bottom:0}.section-explore__content .katex-display,.variable-explore__content .katex-display{margin:12px 0;overflow-x:auto}.variable-explore__content,.section-explore__content{white-space:normal}.variable-explore__content p,.section-explore__content p{margin-bottom:10px}.variable-explore__content p:last-child,.section-explore__content p:last-child{margin-bottom:0}.selection-tooltip{z-index:300;pointer-events:auto;background:var(--accent);box-shadow:var(--shadow-md);border-radius:20px;align-items:center;gap:0;padding:2px 4px;animation:.15s panel-in;display:inline-flex;position:fixed;transform:translate(-50%)}.selection-tooltip__btn{color:#fff;cursor:pointer;transition:background var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:16px;align-items:center;gap:5px;padding:6px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.selection-tooltip__btn:hover{background:#ffffff26}.selection-tooltip__divider{background:#ffffff40;flex-shrink:0;width:1px;height:16px}.explain-sidebar{top:var(--header-height);margin-top:var(--header-height);width:520px;height:calc(100vh - var(--header-height));background:var(--bg-card);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;animation:.2s panel-in;display:flex;position:sticky;box-shadow:-4px 0 20px #0000000f}.explain-sidebar__close{z-index:10;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);border-radius:50%;padding:6px;position:absolute;top:12px;right:12px}.explain-sidebar__close:hover{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}@media (width<=768px){.explain-sidebar{width:100%;top:var(--header-height);z-index:150;margin-top:0;position:fixed;left:0;right:0}}.explain-panel{flex:1;padding:48px 24px 24px;overflow-y:auto}.explain-panel__turn{border-bottom:1px dashed var(--border);margin-bottom:24px;padding-bottom:24px}.explain-panel__turn:last-child{border-bottom:none;margin-bottom:0}.explain-panel__turn--pending{opacity:.9}.explain-panel__question{margin-bottom:16px}.explain-panel__question-text{background:var(--accent-bg);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;font-size:.9rem;line-height:1.5}.explain-panel__input{border-top:1px solid var(--border);background:var(--bg-card);gap:8px;padding:12px 16px;display:flex}.explain-panel__textarea{resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:.875rem}.explain-panel__textarea:focus{border-color:var(--accent)}.explain-panel__textarea:disabled{opacity:.5;cursor:not-allowed}.explain-panel__ask{color:#fff;background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;padding:8px 16px;font-size:.875rem;font-weight:600}.explain-panel__ask:hover:not(:disabled){filter:brightness(1.1)}.explain-panel__ask:disabled{opacity:.5;cursor:not-allowed}.explain-panel__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:.7rem;font-weight:700}.explain-panel__selected{background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid var(--accent);color:var(--text);margin-bottom:20px;padding:12px 16px;font-size:.9rem;overflow-x:auto}.explain-panel__selected .katex-display{margin:4px 0}.explain-panel__loading{color:var(--text-muted);flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:16px 0;font-size:.85rem;display:flex}.explain-panel__content{white-space:normal}.explain-panel__content .paragraph{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem;line-height:1.7}.explain-panel__content .paragraph:last-child{margin-bottom:0}.explain-panel__content .katex-display{margin:12px 0;overflow-x:auto}.explain-panel__ask-hint{color:var(--text-muted);margin-top:12px;font-size:.8rem;font-style:italic}.solve-sidebar{top:var(--header-height);margin-top:var(--header-height);width:520px;height:calc(100vh - var(--header-height));background:var(--bg-card);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;animation:.2s panel-in;display:flex;position:sticky;box-shadow:-4px 0 20px #0000000f}.solve-sidebar__close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);z-index:2;background:0 0;border:none;padding:6px;position:absolute;top:12px;right:12px}.solve-sidebar__close:hover{background:var(--bg-hover)}.solve-sidebar__scroll{flex:1;padding:24px;overflow-y:auto}.solve-sidebar__header{margin-bottom:24px}.solve-sidebar__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:.7rem;font-weight:700}.solve-sidebar__question{background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid var(--accent);color:var(--text);padding:12px 16px;font-size:.9rem;line-height:1.6}.solve-sidebar__loading{color:var(--text-muted);flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:24px 0;font-size:.85rem;display:flex}.solve-sidebar__error{color:var(--text-muted);text-align:center;padding:24px 0;font-size:.9rem}.solve-sidebar__footer{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.solve-sidebar__view-full{color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.solve-sidebar__view-full:hover{filter:brightness(1.05)}@media (width<=768px){.solve-sidebar{top:var(--header-height);width:100%;height:calc(100vh - var(--header-height));z-index:100;position:fixed;right:0}}.revision__done-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.revision__review-history-btn{border:2px solid var(--accent);color:var(--accent);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;align-items:center;gap:8px;padding:14px 36px;font-size:1.1rem;font-weight:600;display:inline-flex}.revision__review-history-btn:hover{background:var(--accent-bg)}.revision__back-to-summary{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition);background:0 0;margin-left:auto;padding:4px 12px;font-size:.8rem}.revision__back-to-summary:hover{background:var(--bg)}.revision__history-nav{gap:8px;display:flex}.revision__nav-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition);padding:10px 20px;font-size:.9rem}.revision__nav-btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.revision__nav-btn:disabled{opacity:.4;cursor:not-allowed}.collection-switcher{border-bottom:1px solid var(--border);padding:12px 16px;position:relative}.collection-switcher__btn{border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:border-color .15s;display:flex}.collection-switcher__btn:hover{border-color:var(--accent)}.collection-switcher__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collection-switcher__chevron{flex-shrink:0;transition:transform .2s}.collection-switcher__chevron--open{transform:rotate(180deg)}.collection-switcher__dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:100;border-radius:8px;max-height:300px;padding:4px;position:absolute;top:calc(100% - 4px);left:12px;right:12px;overflow-y:auto;box-shadow:0 8px 24px #00000026}.collection-switcher__item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.82rem;display:flex}.collection-switcher__item:hover{background:var(--bg-main)}.collection-switcher__item--active{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-weight:600}.collection-switcher__item--new{color:var(--accent)}.collection-switcher__default{color:var(--text-secondary);background:var(--bg-main);border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.7rem}.collection-switcher__divider{background:var(--border);height:1px;margin:4px 8px}.groups-tree{padding:4px 0 8px}.groups-tree__group{position:relative}.groups-tree__name{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:4px;padding:8px 16px 8px 8px;font-size:.84rem;font-weight:600}.groups-tree__name:hover{background:var(--bg-main)}.groups-tree__name-row{border-left:3px solid #0000;align-items:center;gap:4px;padding-left:8px;display:flex;position:relative}.groups-tree__name-row .groups-tree__name{border-left-width:0;flex:1;align-items:center;gap:6px;min-width:0;padding:6px 32px 6px 6px;display:flex}.groups-tree__name-row .groups-tree__name-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.groups-tree__name-row--active{border-left-color:var(--accent);background:var(--accent-bg)}.groups-tree__name-row--active .groups-tree__name{color:var(--accent)}.groups-tree__star-btn{align-self:center}.groups-tree__delete-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition), color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.groups-tree__name-row:hover .groups-tree__delete-btn,.groups-tree__delete-btn:focus-visible{opacity:1}.groups-tree__delete-btn:hover{color:#c0392b;background:#c0392b1f}.star-btn{cursor:pointer;width:22px;height:22px;transition:color var(--transition), background var(--transition), opacity var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.star-btn--off{color:var(--text-muted)}.star-btn--on{color:#e8b84b}.star-btn:hover{color:#e8b84b;background:#e8b84b24}.star-btn--hover-only.star-btn--off{opacity:0}:hover>.star-btn--hover-only.star-btn--off,.star-btn--hover-only:focus-visible{opacity:1}.confirm-modal__overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 60px #0000004d}.confirm-modal__title{color:var(--text-primary);margin:0 0 12px;font-size:1.05rem;font-weight:600}.confirm-modal__body{color:var(--text-secondary);margin:0 0 20px;font-size:.88rem;line-height:1.5}.confirm-modal__body strong{color:var(--text-primary)}.confirm-modal__error{color:#c0392b;background:#c0392b14;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:.82rem}.confirm-modal__actions{justify-content:flex-end;gap:10px;display:flex}.confirm-modal__cancel,.confirm-modal__confirm{font:inherit;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500}.confirm-modal__cancel{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.confirm-modal__cancel:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.confirm-modal__confirm{color:#fff;background:#c0392b;border:1px solid #c0392b}.confirm-modal__confirm:hover:not(:disabled){background:#a5301f;border-color:#a5301f}.confirm-modal__cancel:disabled,.confirm-modal__confirm:disabled{opacity:.6;cursor:default}.confirm-modal__confirm--primary{background:var(--accent);border-color:var(--accent)}.confirm-modal__confirm--primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);filter:brightness(.92)}.confirm-modal__input{border:1px solid var(--border);border-radius:var(--radius-sm,6px);width:100%;font:inherit;background:var(--bg);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;margin:0 0 20px;padding:10px 12px;font-size:.9rem}.confirm-modal__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.groups-tree__default-dot{background:var(--text-muted);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.groups-tree__children{border-left:1px solid var(--border-light);margin-left:30px;padding:2px 0 6px 14px}.groups-tree__all-btn{width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:6px 12px 6px 10px;font-size:.82rem;font-weight:600;display:flex}.groups-tree__all-btn:hover{background:var(--bg-main)}.groups-tree__all-btn--active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.groups-tree__book{margin-bottom:1px}.groups-tree__book-row{align-items:center;gap:2px;display:flex;position:relative}.groups-tree__book-btn{min-width:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-left:3px solid #0000;flex:1;align-items:center;gap:6px;padding:6px 8px;font-size:.82rem;font-weight:600;display:flex;overflow:hidden}.groups-tree__book-btn:hover{background:var(--bg-main)}.groups-tree__book-btn .sidebar__count{margin-left:auto}.groups-tree__topic-wrap{margin-bottom:1px}.groups-tree__topic-row{border-left:3px solid #0000;align-items:center;gap:2px;padding:2px 6px 2px 28px;display:flex;position:relative}.groups-tree__topic-row--active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.groups-tree__topic-chevron{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.groups-tree__topic-chevron:hover{background:var(--bg-main);color:var(--text-primary)}.groups-tree__topic-name{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:1;align-items:center;gap:6px;padding:2px 6px 2px 2px;font-size:.8rem;font-weight:500;display:flex;overflow:hidden}.groups-tree__topic-name>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.groups-tree__topic-name .sidebar__count{margin-left:auto}.groups-tree__topic-name:hover{color:var(--accent)}.groups-tree__equation-row{border-left:3px solid #0000;align-items:center;gap:2px;padding:3px 6px 3px 54px;display:flex;position:relative}.groups-tree__equation-row--active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.groups-tree__equation-btn{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:2px 4px;font-size:.76rem;overflow:hidden}.groups-tree__equation-btn:hover{color:var(--accent)}.groups-tree__rename-input{background:var(--bg-card);border:1px solid var(--accent);min-width:0;font:inherit;color:var(--text-primary);border-radius:4px;flex:1;padding:4px 6px;font-size:.86rem}.groups-tree__new-btn{border:1px dashed var(--border);width:calc(100% - 16px);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;margin:6px 8px 0;padding:7px 10px;font-size:.82rem;transition:border-color .15s,color .15s;display:flex}.groups-tree__new-btn:hover{border-color:var(--accent);color:var(--accent)}.groups-tree__new-form{padding:6px 12px 0}.pathways-tree{padding:4px 8px 8px}.pathways-tree__empty{color:var(--text-muted);padding:8px 16px;font-size:.78rem;font-style:italic}.pathways-tree__item{margin-bottom:2px}.pathways-tree__row{align-items:center;gap:4px;display:flex}.pathways-tree__name-btn{min-width:0;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:6px;padding:6px 8px;font-size:.84rem;font-weight:500;display:flex;overflow:hidden}.pathways-tree__name-btn:hover{background:var(--bg-main)}.pathways-tree__copy-btn{border:1px solid var(--border);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:.72rem;font-weight:600;transition:border-color .15s,background .15s}.pathways-tree__copy-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.pathways-tree__copy-btn:disabled{opacity:.5;cursor:wait}.pathways-tree__pathway{margin-bottom:4px}.pathways-tree__pathway-header{text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;padding:4px 4px 4px 8px;font-size:.72rem;font-weight:700;display:flex}.pathways-tree__branch{margin-bottom:1px}.pathways-tree__branch-row{align-items:center;gap:2px;display:flex}.pathways-tree__branch-btn{min-width:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:.84rem;font-weight:600;display:flex;overflow:hidden}.pathways-tree__branch-btn:hover{background:var(--bg-main)}.pathways-tree__branch-btn .sidebar__count{margin-left:auto}.pathways-tree__topic-group{margin-bottom:1px}.pathways-tree__topic-btn{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 6px 4px 40px;font-size:.78rem;font-weight:500;display:flex;overflow:hidden}.pathways-tree__topic-btn:hover{background:var(--bg-main);color:var(--text-primary)}.pathways-tree__topic-btn .sidebar__count{margin-left:auto}.pathways-tree__equation-row{align-items:center;gap:4px;padding:3px 4px 3px 40px;display:flex}.pathways-tree__equation-name{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.74rem;overflow:hidden}.pathways-tree__copy-btn--sm{padding:1px 7px;font-size:.8rem;font-weight:700;line-height:1}.pathways-tree__topic-row{border-radius:4px;align-items:center;gap:2px;padding-left:14px;display:flex}.pathways-tree__topic-row--active{background:var(--bg-main)}.pathways-tree__topic-row .pathways-tree__topic-btn{width:100%}.pathways-tree__branch-row{padding-left:2px}.pathways-tree__pathway-header{gap:4px}.starred-list{padding:4px 0 6px}.starred-list__row{align-items:center;gap:4px;padding:0 8px;display:flex}.starred-list__item{min-width:0;font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;display:flex;overflow:hidden}.starred-list__item:hover{background:var(--bg-main)}.starred-list__type{background:var(--bg-main);border:1px solid var(--border);width:18px;height:18px;color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:inline-flex}.starred-list__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pathways-tree__equation-btn{min-width:0;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:3px;flex:1;padding:3px 6px;font-size:.74rem;overflow:hidden}.pathways-tree__equation-btn:hover{background:var(--bg-main);color:var(--text-primary)}.pathways-tree__equation-row--active .pathways-tree__equation-btn{background:var(--bg-main);color:var(--text-primary);font-weight:600}.pathways-tree__pathway-name{min-width:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:4px 6px;font-weight:600}.pathways-tree__pathway-name:hover{background:var(--bg-main)}.onboarding{text-align:center;max-width:700px;margin:0 auto;padding:64px 24px}.onboarding__title{color:var(--text-primary);margin:0 0 8px;font-size:1.8rem;font-weight:700}.onboarding__subtitle{color:var(--text-secondary);margin:0 0 40px;font-size:1rem}.onboarding__loading-text{color:var(--text-secondary);margin-top:16px}.onboarding__options{text-align:left;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.onboarding__option{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);text-align:left;border-radius:12px;flex-direction:column;padding:24px;font-family:inherit;transition:all .15s;display:flex}.onboarding__option:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.onboarding__option--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.onboarding__option-icon{color:var(--accent);margin-bottom:16px}.onboarding__option h3{margin:0 0 8px;font-size:1rem;font-weight:600}.onboarding__option p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.onboarding__create-form{text-align:left;margin-top:24px}.onboarding__input{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.95rem}.onboarding__input:focus{border-color:var(--accent);outline:none}.onboarding__create-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.onboarding__cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-family:inherit}.onboarding__create-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:inherit;font-weight:600}.onboarding__create-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding__textarea{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);box-sizing:border-box;resize:vertical;border-radius:8px;min-height:80px;padding:12px 16px;font-family:inherit;font-size:.95rem;line-height:1.5}.onboarding__textarea:focus{border-color:var(--accent);outline:none}.onboarding__error{color:#e53e3e;text-align:center;margin-bottom:16px;font-size:.9rem}.import-wizard{max-width:800px;margin:0 auto;padding:32px 24px}.import-wizard__title{color:var(--text-primary);margin:0 0 8px;font-size:1.8rem;font-weight:700}.import-wizard__subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:.95rem}.import-wizard__dropzone{border:2px dashed var(--border);cursor:pointer;text-align:center;color:var(--text-secondary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:48px 24px;transition:border-color .15s;display:flex}.import-wizard__dropzone:hover{border-color:var(--accent)}.import-wizard__dropzone--uploading{cursor:default;border-style:solid;border-color:var(--accent)}.import-wizard__dropzone svg{opacity:.5;margin-bottom:16px}.import-wizard__hint{opacity:.6;margin-top:4px;font-size:.8rem}.import-wizard__error{color:#dc2626;text-align:center;margin-top:12px;font-size:.9rem}.import-wizard__cancel{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;margin:16px auto 0;padding:8px 20px;font-family:inherit;display:block}.import-wizard__saving-text{color:var(--text-secondary);text-align:center;margin-top:16px}.import-wizard__collection-name{margin-bottom:20px}.import-wizard__collection-name label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.import-wizard__collection-name input{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:1rem}.import-wizard__collection-name input:focus{border-color:var(--accent);outline:none}.import-wizard__structure{margin-bottom:20px}.import-wizard__structure h3{margin:0 0 8px;font-size:.95rem}.import-wizard__book{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:12px}.import-wizard__book strong{font-size:.9rem}.import-wizard__book ul{color:var(--text-secondary);margin:8px 0 0;padding-left:20px;font-size:.85rem}.import-wizard__book li{margin-bottom:4px}.import-wizard__equations-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.import-wizard__equations-header h3{margin:0;font-size:.95rem}.import-wizard__select-actions{gap:8px;display:flex}.import-wizard__select-actions button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.78rem}.import-wizard__select-actions button:hover{border-color:var(--accent);color:var(--accent)}.import-wizard__equations{flex-direction:column;gap:8px;max-height:500px;margin-bottom:20px;display:flex;overflow-y:auto}.import-wizard__eq{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;transition:opacity .15s;display:flex}.import-wizard__eq--deselected{opacity:.4}.import-wizard__eq input[type=checkbox]{flex-shrink:0;margin-top:4px}.import-wizard__eq-content{flex:1;min-width:0}.import-wizard__eq-name{margin-bottom:4px;font-size:.9rem;font-weight:600}.import-wizard__eq-latex{margin-bottom:4px;font-size:.85rem}.import-wizard__eq-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.import-wizard__actions{justify-content:flex-end;gap:12px;display:flex}.import-wizard__confirm{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-family:inherit;font-size:.95rem;font-weight:600}.import-wizard__confirm:disabled{opacity:.5;cursor:not-allowed}.studied{max-width:800px;margin:0 auto;padding:32px 24px}.studied__title{color:var(--text-primary);margin:0 0 4px;font-size:1.8rem;font-weight:700}.studied__subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:.95rem}.studied__empty{text-align:center;color:var(--text-secondary);padding:64px 24px}.studied__empty-icon{opacity:.4;margin-bottom:16px}.studied__list{flex-direction:column;gap:16px;display:flex}.studied__card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .15s}.studied__card--due{border-left:3px solid var(--accent)}.studied__card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.studied__card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.studied__eq-name{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:1.1rem;font-weight:600}.studied__eq-name:hover{text-decoration:underline}.studied__eq-topic{color:var(--text-secondary);font-size:.8rem}.studied__eq-group{color:var(--text-muted);background:var(--bg-hover);border-radius:4px;padding:1px 8px;font-size:.75rem}.studied__eq-latex{flex-shrink:0;font-size:.9rem}.studied__card-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.studied__schedule{align-items:center;gap:8px;display:flex}.studied__next-review{color:var(--text-secondary);background:var(--bg-main);border-radius:4px;padding:2px 8px;font-size:.85rem}.studied__next-review--due{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);font-weight:600}.studied__reschedule-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:.8rem;transition:all .15s}.studied__reschedule-btn:hover{border-color:var(--accent);color:var(--accent)}.studied__stats{gap:12px;display:flex}.studied__stat{color:var(--text-secondary);font-size:.78rem}.studied__reschedule-options{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:8px;padding:10px 0;display:flex}.studied__reschedule-option{border:1px solid var(--border);background:var(--bg-main);color:var(--text-primary);cursor:pointer;border-radius:20px;padding:4px 14px;font-family:inherit;font-size:.82rem;transition:all .15s}.studied__reschedule-option:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.studied__toggle-attempts{color:var(--text-secondary);border:none;border-top:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:4px;width:100%;margin-top:8px;padding:10px 0 0;font-family:inherit;font-size:.85rem;display:flex}.studied__toggle-attempts:hover{color:var(--accent)}.studied__chevron{transition:transform .2s}.studied__chevron--open{transform:rotate(180deg)}.studied__attempts{flex-direction:column;gap:12px;margin-top:12px;display:flex}.studied__attempt{background:var(--bg-main);border:1px solid var(--border);border-radius:8px;padding:14px}.studied__attempt-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.studied__attempt-score{border-radius:6px;padding:2px 8px;font-size:.9rem;font-weight:700}.studied__attempt-score--good{color:#16a34a;background:#dcfce7}.studied__attempt-score--ok{color:#ca8a04;background:#fef9c3}.studied__attempt-score--poor{color:#dc2626;background:#fee2e2}[data-theme=dark] .studied__attempt-score--good{background:#16a34a26}[data-theme=dark] .studied__attempt-score--ok{background:#ca8a0426}[data-theme=dark] .studied__attempt-score--poor{background:#dc262626}[data-theme=dark] .revision__rating-btn--again{border-color:#ef44444d}[data-theme=dark] .revision__rating-btn--again:hover{background:#ef44441a;border-color:#ef4444}[data-theme=dark] .revision__rating-btn--hard{border-color:#f59e0b4d}[data-theme=dark] .revision__rating-btn--hard:hover{background:#f59e0b1a;border-color:#f59e0b}[data-theme=dark] .revision__rating-btn--good{border-color:#22c55e4d}[data-theme=dark] .revision__rating-btn--good:hover{background:#22c55e1a;border-color:#22c55e}[data-theme=dark] .revision__rating-btn--easy{border-color:#3b82f64d}[data-theme=dark] .revision__rating-btn--easy:hover{background:#3b82f61a;border-color:#3b82f6}[data-theme=dark] .revision__score--good{background:#16a34a1a;border-color:#16a34a4d}[data-theme=dark] .revision__score--ok{background:#ca8a041a;border-color:#ca8a044d}[data-theme=dark] .revision__score--poor{background:#dc26261a;border-color:#dc26264d}[data-theme=dark] .revision__past-score--good{background:#16a34a26}[data-theme=dark] .revision__past-score--ok{background:#ca8a0426}[data-theme=dark] .revision__past-score--poor{background:#dc262626}.studied__attempt-mode{color:var(--text-secondary);text-transform:capitalize;background:var(--bg-card);border-radius:4px;padding:1px 8px;font-size:.78rem}.studied__attempt-date{color:var(--text-secondary);margin-left:auto;font-size:.78rem}.studied__attempt-answer,.studied__attempt-feedback{margin-top:8px;font-size:.88rem;line-height:1.5}.studied__attempt-answer strong,.studied__attempt-feedback strong{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.78rem;display:block}@media (width<=600px){.studied{padding:20px 16px}.studied__card-header{flex-direction:column}.studied__card-meta{flex-direction:column;align-items:flex-start}.studied__stats{flex-wrap:wrap}}.user-menu{flex-shrink:0;align-items:center;gap:8px;display:flex;position:relative}.user-menu__avatar-btn{cursor:pointer;transition:border-color var(--transition);background:0 0;border:2px solid #0000;border-radius:50%;align-items:center;padding:2px;display:flex}.user-menu__avatar-btn:hover{border-color:var(--accent)}.user-menu__avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.user-menu__avatar-placeholder{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.user-menu__dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px;box-shadow:var(--shadow-lg);z-index:200;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0}.user-menu__info{flex-direction:column;gap:2px;padding:12px 16px;display:flex}.user-menu__info strong{color:var(--text);font-size:.9rem}.user-menu__email{color:var(--text-muted);font-size:.8rem}.user-menu__divider{border:none;border-top:1px solid var(--border);margin:4px 0}.user-menu__logout{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:10px 16px;font-size:.88rem}.user-menu__logout:hover{background:var(--accent-bg);color:var(--accent)}.user-menu__sign-in-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);white-space:nowrap;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;display:flex}.user-menu__sign-in-btn:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.user-menu__sign-in-btn:disabled{opacity:.6;cursor:wait}.user-menu__sign-in-btn svg{flex-shrink:0}.user-menu__error{color:#c00;font-size:.75rem}.user-menu__balance-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);white-space:nowrap;align-items:center;gap:6px;height:36px;padding:6px 14px;display:flex}.user-menu__balance-badge:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.user-menu__balance-amount{color:var(--accent);font-size:.9rem;font-weight:700}.user-menu__balance-row{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:8px 16px;font-size:.85rem;display:flex}.user-menu__buy-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);border:none;padding:4px 10px;font-size:.75rem;font-weight:600}.user-menu__buy-btn:hover{opacity:.85}.user-menu__billing-link{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:8px 16px;font-size:.85rem;display:block}.user-menu__billing-link:hover{background:var(--border-light);color:var(--accent)}.topup-modal{border-radius:16px;max-width:480px;overflow:hidden}.topup-modal__header{justify-content:space-between;align-items:flex-start;padding:28px 28px 0;display:flex}.topup-modal__title{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.topup-modal__subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.topup-modal__body{padding:24px 28px 28px}.topup-modal__cards{gap:12px;margin-bottom:20px;display:flex}.topup-modal__card{background:var(--bg);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;flex:1;align-items:center;gap:8px;padding:24px 16px 20px;display:flex}.topup-modal__card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #4a56a61f}.topup-modal__card--popular{border-color:var(--accent);background:var(--accent-bg)}.topup-modal__badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:#4a56a61a;border-radius:10px;padding:2px 10px;font-size:.65rem;font-weight:700}.topup-modal__card-amount{color:var(--text);font-size:1.5rem;font-weight:800}.topup-modal__card-desc{color:var(--text-muted);font-size:.78rem}.topup-modal__card-cta{color:var(--accent);margin-top:4px;font-size:.8rem;font-weight:600}.topup-modal__card:disabled{opacity:.6;cursor:wait;transform:none}.topup-modal__custom-toggle{width:100%;color:var(--accent);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;padding:0 0 16px;font-size:.85rem;display:block}.topup-modal__custom-toggle:hover{opacity:.7}.topup-modal__custom{gap:10px;margin-bottom:16px;display:flex}.topup-modal__custom-input-wrap{background:var(--bg);border:2px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition);flex:1;align-items:center;padding:0 12px;display:flex}.topup-modal__custom-input-wrap:focus-within{border-color:var(--accent)}.topup-modal__custom-prefix{color:var(--text-muted);margin-right:4px;font-size:1rem;font-weight:700}.topup-modal__custom-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;width:100%;padding:10px 0;font-size:1rem;font-weight:600}.topup-modal__custom-input::placeholder{color:var(--text-muted);font-weight:400}.topup-modal__custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.topup-modal__custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.topup-modal__custom-input[type=number]{-moz-appearance:textfield}.topup-modal__custom-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:opacity var(--transition);border:none;padding:10px 20px;font-size:.85rem;font-weight:600}.topup-modal__custom-btn:hover:not(:disabled){opacity:.85}.topup-modal__custom-btn:disabled{opacity:.5;cursor:not-allowed}.topup-modal__error{color:var(--error,#e53e3e);text-align:center;margin-bottom:12px;font-size:.85rem}.topup-modal__footer{text-align:center}.topup-modal__info{color:var(--text-muted);margin:0 0 8px;font-size:.75rem;line-height:1.5}.topup-modal__billing-link{color:var(--accent);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;padding:0;font-size:.8rem;font-weight:500;display:inline-block}.topup-modal__billing-link:hover{opacity:.7}@media (width<=768px){.topup-modal{border-radius:16px 16px 0 0;width:calc(100% - 24px);margin:auto 12px 0}.topup-modal__header{padding:20px 20px 0}.topup-modal__body{padding:20px 20px 24px}.topup-modal__cards{flex-direction:column}.user-menu__balance-badge{padding:3px 8px;font-size:.75rem}}.billing{max-width:720px;margin:0 auto}.billing__balance-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:28px;padding:24px 28px;display:flex}.billing__balance-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.85rem;font-weight:500}.billing__balance-amount{color:var(--text);font-size:2rem;font-weight:800}.billing__topup-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);border:none;padding:10px 24px;font-size:.9rem;font-weight:600}.billing__topup-btn:hover{opacity:.85}.billing__tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.billing__tab{color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.9rem;font-weight:600}.billing__tab:hover{color:var(--text)}.billing__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.billing__loading{text-align:center;color:var(--text-muted);padding:40px}.billing__empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:.9rem}.billing__section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.billing__date-group{border-bottom:1px solid var(--border)}.billing__date-group:last-child{border-bottom:none}.billing__date-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg);padding:12px 20px 8px;font-size:.75rem;font-weight:600}.billing__activity-row{border-top:1px solid var(--border-light);align-items:center;gap:12px;padding:10px 20px;font-size:.88rem;display:flex}.billing__activity-row:first-child{border-top:none}.billing__activity-time{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:50px;font-size:.78rem}.billing__activity-label{color:var(--text);flex:1}.billing__activity-link{color:var(--accent);font-size:.78rem;font-weight:600;text-decoration:none}.billing__activity-link:hover{text-decoration:underline}.billing__table{border-collapse:collapse;width:100%;font-size:.88rem}.billing__table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 20px;font-size:.75rem;font-weight:600}.billing__table td{color:var(--text);border-bottom:1px solid var(--border-light);padding:14px 20px}.billing__table tr:last-child td{border-bottom:none}.billing__pricing-intro{padding:20px 20px 0}.billing__pricing-intro h3{color:var(--text);margin:0 0 8px;font-size:1rem;font-weight:700}.billing__pricing-intro p{color:var(--text-secondary);margin:0 0 16px;font-size:.88rem;line-height:1.55}.billing__pricing-note{padding:16px 20px 20px}.billing__pricing-note p{color:var(--text-muted);margin:0 0 8px;font-size:.82rem;line-height:1.5}.billing__pricing-note p:last-child{margin-bottom:0}@media (width<=768px){.billing__balance-card{flex-direction:column;align-items:flex-start;gap:16px}.billing__topup-btn{text-align:center;width:100%}}.auth-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;margin:0 auto;padding:80px 24px;display:flex}.auth-gate__icon{color:var(--text-muted);margin-bottom:24px}.auth-gate__title{color:var(--text);margin-bottom:12px;font-size:1.5rem;font-weight:700}.auth-gate__description{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem;line-height:1.6}.auth-gate__action{justify-content:center;display:flex}.import-json__example-row{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.json-link-btn{color:var(--accent,#4f46e5);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.json-link-btn:hover{opacity:.8}.import-json__textarea{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);box-sizing:border-box;resize:vertical;border-radius:8px;min-height:300px;padding:12px 14px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.5}.import-json__textarea:focus{border-color:var(--accent,#4f46e5);outline:none}.import-wizard__warnings{color:var(--text-secondary);background:#eab30814;border:1px solid #eab3084d;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:.85rem}.import-wizard__warnings ul{margin:6px 0 0;padding-left:20px}.json-docs{text-align:left;color:var(--text-primary);margin:16px 0;font-size:.9rem;line-height:1.6}.json-docs h3{color:var(--text-primary);margin-top:20px;margin-bottom:8px;font-size:.95rem}.json-docs ul{margin:4px 0;padding-left:20px}.json-docs ul ul{margin-top:4px}.json-docs code{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85em}.json-docs__code{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:12px 14px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto}.worksheet__upload{flex-direction:column;gap:16px;display:flex}.worksheet__format-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.worksheet__format-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 14px;font-size:.9rem;transition:background .15s,color .15s}.worksheet__format-tab:hover{color:var(--text)}.worksheet__format-tab--active{background:var(--accent-bg);color:var(--accent);font-weight:500}.worksheet__dropzone{border:2px dashed var(--border);cursor:pointer;text-align:center;color:var(--text-secondary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:160px;padding:48px 24px;transition:border-color .15s,background .15s;display:flex}.worksheet__dropzone:hover{border-color:var(--accent)}.worksheet__dropzone--has-file{border-style:solid;border-color:var(--accent);background:var(--accent-bg)}.worksheet__dropzone-title{color:var(--text);margin-bottom:6px;font-size:1rem;font-weight:500}.worksheet__dropzone-hint{opacity:.7;font-size:.85rem}.worksheet__dropzone-filename{color:var(--accent);word-break:break-all;margin-bottom:6px;font-size:1rem;font-weight:500}.worksheet__review{flex-direction:column;gap:16px;display:flex}.worksheet__review-header{flex-direction:column;gap:6px;display:flex}.worksheet__review-title{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.worksheet__review-hint{color:var(--text-secondary);margin:0;font-size:.9rem}.worksheet__review-controls{align-items:center;gap:8px;margin-top:4px;font-size:.85rem;display:flex}.worksheet__link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.worksheet__link-btn:hover{text-decoration:underline}.worksheet__sep{color:var(--text-muted)}.worksheet__list{flex-direction:column;gap:8px;display:flex}.worksheet__item{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;grid-template-columns:auto 90px 1fr auto;align-items:start;gap:10px;padding:10px 12px;transition:opacity .15s;display:grid}.worksheet__item--deselected{opacity:.5}.worksheet__item-checkbox{align-items:center;padding-top:6px;display:flex}.worksheet__item-checkbox input{cursor:pointer;width:16px;height:16px}.worksheet__item-label-input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.85rem;font-weight:600}.worksheet__item-body{flex-direction:column;gap:6px;display:flex}.worksheet__item-text{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.9rem;line-height:1.4}.worksheet__item-preview{color:var(--text-secondary);background:var(--bg);border-radius:6px;padding:6px 8px;font-size:.85rem}.worksheet__item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:1.4rem;line-height:1;transition:background .15s,color .15s}.worksheet__item-remove:hover{background:var(--border-light);color:#dc2626}.problem-set__group--nested{border-left:2px solid var(--border);margin-left:1.5rem;padding-left:.75rem}.problem-set__children{border-left:2px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;margin-left:1.5rem;padding-left:.75rem;display:flex}.problem-set__group-toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.problem-set__group-toggle:hover{background:var(--border-light);color:var(--text)}.problem-set__preamble{color:var(--text-secondary);border-top:1px solid var(--border-light);background:var(--bg-card);padding:10px 14px;font-size:.88rem;line-height:1.55}.problem-set__preamble--draft{background:0 0;border-top:none;padding:4px 0;font-style:italic}.worksheet__group--parent{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:8px}.worksheet__children{border-left:2px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;margin-left:1rem;padding-left:.75rem;display:flex}.worksheet__item--child{padding-left:4px}.worksheet__add-btn{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:8px 14px;font-size:.9rem;transition:border-color .15s,color .15s}.worksheet__add-btn:hover{border-color:var(--accent);color:var(--accent)}.worksheet__review-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:8px;display:flex}.worksheet__solve-group{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.worksheet__credit-hint{color:var(--text-muted);font-size:.8rem}.worksheet__progress{background:var(--bg);z-index:2;margin-bottom:12px;padding:12px 0;position:sticky;top:0}.worksheet__progress-text{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem}.worksheet__progress-bar{background:var(--border-light);border-radius:3px;height:6px;overflow:hidden}.worksheet__progress-fill{background:var(--accent);height:100%;transition:width .3s}.worksheet__done-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.worksheet__done-title{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.worksheet__done-actions{gap:8px;display:flex}.worksheet__cards{flex-direction:column;gap:10px;display:flex}.worksheet__card{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;transition:border-color .15s;overflow:hidden}.worksheet__card--solving{border-color:var(--accent)}.worksheet__card--error{border-color:#dc2626}.worksheet__card-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;display:flex}.worksheet__card-header:hover{background:var(--border-light)}.worksheet__card-label{color:var(--accent);flex-shrink:0;min-width:60px;font-size:.9rem;font-weight:600}.worksheet__card-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.worksheet__card-status{color:var(--text-secondary);flex-shrink:0;align-items:center;font-size:1rem;display:flex}.worksheet__mini-spinner{border-width:2px;width:14px;height:14px}.worksheet__solution{border-top:1px solid var(--border-light);padding:0 14px 14px}.worksheet__card-error{flex-direction:column;gap:8px;padding:0 14px 14px;display:flex}@media (width<=768px){.worksheet__item{grid-template-columns:auto 1fr auto}.worksheet__item-label-input{grid-column:2}.worksheet__item-body{grid-column:1/-1}.worksheet__review-actions{flex-direction:column;align-items:stretch}.worksheet__solve-group{align-items:stretch}}.overview{max-width:1100px}.overview__back{color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px 6px 0;font-size:.875rem;display:inline-flex}.overview__back:hover{color:var(--accent)}.overview__actions{gap:12px;margin-bottom:16px;display:flex}.overview__primary-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--transition);border:none;align-items:center;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.overview__primary-btn:hover{background:var(--accent-light)}.overview__secondary-btn{background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--transition), border-color var(--transition);border:1px solid #0000;align-items:center;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.overview__secondary-btn:hover{border-color:var(--accent)}.overview__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.past-problems__list{flex-direction:column;gap:12px;display:flex}.past-problems__group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.past-problems__group-header{cursor:pointer;text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.past-problems__group-header:hover{background:var(--border-light)}.past-problems__group-chevron{color:var(--text-muted);flex-shrink:0;width:12px;font-size:.7rem}.past-problems__group-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.past-problems__group-count{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1.3}.past-problems__group-date{color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:400}.past-problems__group-items{border-top:1px solid var(--border-light);flex-direction:column;padding:0 0 4px;display:flex}.past-problems__row{border:none;border-bottom:1px solid var(--border-light);cursor:pointer;text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;align-items:baseline;gap:12px;padding:10px 16px;font-size:.88rem;transition:background .15s;display:flex}.past-problems__row:last-child{border-bottom:none}.past-problems__row:hover{background:var(--border-light)}.past-problems__row-question{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.past-problems__row-question .katex{font-size:.95em}.past-problems__row-wrap{align-items:center;gap:4px;display:flex}.past-problems__row-wrap .past-problems__row{flex:1;min-width:0}.past-problems__row-delete{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;transition:opacity .15s,color .15s}.past-problems__row-wrap:hover .past-problems__row-delete{opacity:1}.past-problems__row-delete:hover{color:#c0392b}.past-problems__row-delete--card{opacity:0;position:absolute;top:6px;right:6px}.overview__card-wrap{position:relative}.overview__card-wrap:hover .past-problems__row-delete--card{opacity:1}.past-problems__row-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.78rem}.past-problems__section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 4px;font-size:.85rem;font-weight:600}.overview__section-heading{color:var(--text);margin:32px 0 16px;font-size:1.15rem;font-weight:700}.overview__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;font:inherit;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:8px;padding:16px;display:flex;position:relative}.overview__card-controls{opacity:0;transition:opacity var(--transition);gap:4px;display:flex;position:absolute;top:8px;right:8px}.overview__card:hover .overview__card-controls,.overview__card:focus-within .overview__card-controls{opacity:1}.overview__card-ctrl{background:var(--bg-card);border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.overview__card-ctrl:hover{color:var(--text);border-color:var(--accent)}.overview__card-ctrl--danger:hover{color:#dc2626;border-color:#dc2626}.overview__card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.overview__card-title{color:var(--text);font-size:1rem;font-weight:600;line-height:1.4}.overview__card-description{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.overview__card-meta{color:var(--text-muted);gap:12px;margin-top:auto;font-size:.8rem;display:flex}.overview__empty{flex-direction:column;align-items:flex-start;gap:16px;padding:32px 0;display:flex}.overview__empty-text{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.problem-set__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.problem-set__title{cursor:pointer;margin:0}.problem-set__title:hover{text-underline-offset:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.problem-set__title-input{border:1px solid var(--accent);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:4px 8px;font-family:inherit;font-size:1.6rem;font-weight:700}.problem-set__delete-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:.85rem;transition:color .15s,border-color .15s}.problem-set__delete-btn:hover{color:#dc2626;border-color:#dc2626}.problem-set__progress-strip{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding:10px 12px;font-size:.85rem;display:flex}.problem-set__chip{border-radius:12px;padding:3px 10px;font-size:.8rem;font-weight:500}.problem-set__chip--done{color:#166534;background:#dcfce7}.problem-set__chip--solving{background:var(--accent-bg);color:var(--accent)}.problem-set__chip--pending{color:#92400e;background:#fef3c7}.problem-set__chip--error{color:#991b1b;background:#fee2e2}.problem-set__chip--draft{background:var(--border-light);color:var(--text-secondary)}[data-theme=dark] .problem-set__chip--done{color:#bbf7d0;background:#14532d}[data-theme=dark] .problem-set__chip--pending{color:#fed7aa;background:#451a03}[data-theme=dark] .problem-set__chip--error{color:#fecaca;background:#450a0a}.problem-set__credit-info{color:var(--text-secondary);margin-left:auto;font-size:.8rem}.problem-set__items{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.problem-set__item{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;transition:border-color .15s;overflow:hidden}.problem-set__item--solving{border-color:var(--accent)}.problem-set__item--error{border-color:#dc2626}.problem-set__item--pending{opacity:.85}.problem-set__item-header{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;font-size:.9rem;display:flex}.problem-set__item-header:hover:not(:disabled){background:var(--border-light)}.problem-set__item-header:disabled,.problem-set__item-header--static{cursor:default}.problem-set__item-header--static:hover{background:0 0}.problem-set__solving-hint{color:var(--text-muted);margin:4px 0 0;font-style:italic}.problem-set__item-label{color:var(--accent);flex-shrink:0;min-width:60px;font-weight:600}.problem-set__item-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.problem-set__item-status{color:var(--text-secondary);flex-shrink:0;align-items:center;display:flex}.problem-set__mini-spinner{border-width:2px;width:14px;height:14px}.problem-set__item-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 12px;display:flex}.problem-set__item-error{flex:1 0 100%;margin:0;font-size:.85rem}.problem-set__action-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.8rem;transition:color .15s,border-color .15s}.problem-set__action-btn:hover{color:var(--accent);border-color:var(--accent)}.problem-set__item-body{border-top:1px solid var(--border-light);padding:0 14px 14px}.problem-set__drafts{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:16px}.problem-set__drafts-header{margin-bottom:12px}.problem-set__drafts-title{color:var(--text);margin:0 0 4px;font-size:1.1rem;font-weight:600}.problem-set__drafts-hint{color:var(--text-secondary);margin:0;font-size:.85rem}.problem-set__drafts-list{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.problem-set__drafts-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.problem-set__drafts-cost{color:var(--text);flex-direction:column;font-size:.9rem;display:flex}.problem-set__drafts-balance{color:var(--text-secondary);font-size:.8rem}.worksheet__credit-breakdown{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.9rem}.worksheet__credit-row{color:var(--text-secondary);padding:3px 0}.worksheet__credit-row strong{color:var(--text)}.worksheet__credit-row--balance{border-top:1px solid var(--border-light);color:var(--text);margin-top:6px;padding-top:8px}.sidebar__set{flex-direction:column;display:flex}.sidebar__set-row{align-items:center;gap:4px;display:flex}.sidebar__set-title-btn{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:6px 20px 6px 4px;font-family:inherit;font-size:.8rem;display:flex;overflow:hidden}.sidebar__set-title-btn:hover{background:var(--accent-bg)}.sidebar__set-title-btn--active{background:var(--accent-bg);color:var(--accent)}.sidebar__set-delete{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition), color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar__set-row:hover .sidebar__set-delete,.sidebar__set-delete:focus-visible{opacity:1}.sidebar__set-delete:hover{color:#dc2626;background:var(--bg-main)}.sidebar__set-title-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar__set-progress{color:var(--text-muted);background:var(--border-light);border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:.7rem}.sidebar__set-progress--active{background:var(--accent-bg);color:var(--accent)}.sidebar__set-progress--draft{color:#92400e;background:#fef3c7}[data-theme=dark] .sidebar__set-progress--draft{color:#fed7aa;background:#451a03}.sidebar__set-items{flex-direction:column;padding-left:32px;display:flex}.sidebar__set-item{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:4px 16px 4px 8px;font-family:inherit;font-size:.75rem;display:flex}.sidebar__set-item:hover{background:var(--accent-bg);color:var(--text)}.sidebar__set-item-label{min-width:40px;font-weight:500}.sidebar__set-item-status{margin-left:auto}.sidebar__set-item--error .sidebar__set-item-status{color:#dc2626}.sidebar__set-item--done .sidebar__set-item-status{color:#16a34a}.sidebar__set-item--solving .sidebar__set-item-status{color:var(--accent)}.workshop__input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:.95rem;font-family:var(--font);background:var(--bg);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:10px 12px}.workshop__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.guided-texts-home{max-width:820px;margin:0 auto;padding:24px}.guided-texts-home__list{flex-direction:column;gap:8px;margin:16px 0 32px;display:flex}.guided-texts-home__list-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);align-items:stretch;gap:8px;display:flex}.guided-texts-home__list-row:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.guided-texts-home__list-item{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 16px;font-family:inherit;display:flex}.guided-texts-home__badge{letter-spacing:.05em;background:var(--accent-bg);color:var(--accent);border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:.65rem;font-weight:700;display:inline-block}.guided-texts-home__list-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.95rem;font-weight:500;overflow:hidden}.guided-texts-home__list-meta{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.guided-texts-home__delete{border:none;border-left:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;justify-content:center;align-items:center;padding:0 12px;display:flex}.guided-texts-home__delete:hover{color:#dc2626;background:var(--accent-bg)}.guided-texts-home__upload{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:24px}.guided-texts-home__upload-title{color:var(--text);margin:0 0 16px;font-size:1.1rem;font-weight:600}.guided-text-reader-wrapper{max-width:820px;margin:0 auto;padding:0}.guided-text-reader__header{border-bottom:1px solid var(--border-light);top:var(--header-height);background:var(--bg);z-index:5;align-items:center;gap:0;margin-bottom:0;padding:0;display:flex;position:sticky}.guided-text-reader__back{color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-family:inherit;font-size:.85rem;display:inline-flex}.guided-text-reader__back:hover{background:var(--accent-bg);color:var(--accent)}.guided-text-reader__title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:1.2rem;font-weight:600;overflow:hidden}.guided-text-reader__delete{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;padding:6px;display:flex}.guided-text-reader__delete:hover{color:#dc2626;background:var(--accent-bg)}.guided-text-reader{max-width:720px;color:var(--text);margin:0 auto;font-size:1rem;line-height:1.7}.guided-text-reader h1{color:var(--text);margin:32px 0 16px;font-size:1.7rem;font-weight:700;line-height:1.3}.guided-text-reader h2{color:var(--text);margin:28px 0 12px;font-size:1.35rem;font-weight:600;line-height:1.35}.guided-text-reader h3{color:var(--text);margin:20px 0 8px;font-size:1.1rem;font-weight:600}.guided-text-reader .paragraph,.guided-text-reader p{margin:0 0 16px}.guided-text-reader ul{margin:0 0 16px;padding-left:24px}.guided-text-reader ul li{margin-bottom:6px}.guided-text-reader blockquote{border-left:3px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);border-radius:0 4px 4px 0;margin:0 0 16px;padding:8px 16px}.guided-text-reader .katex-display{margin:16px 0;overflow:auto hidden}.guided-text-reader__error{text-align:center;max-width:520px;color:var(--text-secondary);margin:80px auto;padding:24px}@media (width<=768px){.guided-text-reader-wrapper{padding:12px 16px 60px}.guided-text-reader{font-size:.95rem}.guided-text-reader h1{font-size:1.4rem}.guided-text-reader h2{font-size:1.2rem}.guided-texts-home{padding:16px}.guided-texts-home__list-meta{display:none}}.guided-text-reader-wrapper--display{max-width:none;height:calc(100vh - var(--header-height));flex-direction:column;padding:0;display:flex}.guided-text-reader-wrapper--display .guided-text-reader{flex-direction:column;flex:auto;max-width:none;min-height:0;margin:0;display:flex}.pdf-viewer{border:1px solid var(--border-light);background:var(--accent-bg);border-radius:8px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.pdf-viewer__toolbar{border-bottom:1px solid var(--border-light);background:var(--bg);flex:none;align-items:center;gap:6px;min-height:0;padding:4px 8px;display:flex}.pdf-viewer__back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 4px;display:inline-flex}.pdf-viewer__back-btn:hover{background:var(--accent-bg);color:var(--accent)}.pdf-viewer__title{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8rem;font-weight:600;overflow:hidden}.pdf-viewer__zoom-group{flex-shrink:0;align-items:center;gap:2px;display:flex}.pdf-viewer__btn{border:1px solid var(--border-light);color:var(--text);cursor:pointer;width:24px;height:22px;transition:background var(--transition), border-color var(--transition);background:0 0;border-radius:3px;justify-content:center;align-items:center;font-family:inherit;font-size:.85rem;line-height:1;display:inline-flex}.pdf-viewer__btn:hover{background:var(--accent-bg);border-color:var(--accent)}.pdf-viewer__btn--pct{font-variant-numeric:tabular-nums;width:auto;padding:0 6px;font-size:.75rem}.pdf-viewer__pages{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.pdf-viewer__delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 4px;display:inline-flex}.pdf-viewer__delete-btn:hover{color:#dc2626;background:var(--accent-bg)}.pdf-viewer__scroll{flex-direction:column;flex:auto;align-items:center;gap:12px;min-height:0;padding:16px;display:flex;overflow:auto}.pdf-viewer__page-outer{flex:none;position:relative}.pdf-viewer__page-wrap{background:#fff;line-height:0;box-shadow:0 2px 12px #0000001f}.pdf-viewer__page-wrap .react-pdf__Page__textContent{-webkit-user-select:text;user-select:text}.latex-render-error{background:var(--color-surface-elevated,#2a2a2a);border:1px solid var(--color-error,#e53e3e);border-radius:6px;margin:.5rem 0;padding:.75rem 1rem;position:relative}.latex-render-error code{color:var(--color-text-secondary,#a0a0a0);word-break:break-all;white-space:pre-wrap;font-family:JetBrains Mono,monospace;font-size:.85rem}.latex-render-error__label{color:var(--color-error,#e53e3e);text-transform:uppercase;letter-spacing:.05em;margin-top:.4rem;font-size:.7rem;display:block}.shimmer-block{flex-direction:column;gap:.5rem;padding:.5rem 0;display:flex}.shimmer-block__line{background:linear-gradient(90deg, var(--color-surface-elevated,#2a2a2a) 25%, var(--color-border,#3a3a3a) 50%, var(--color-surface-elevated,#2a2a2a) 75%);background-size:200% 100%;border-radius:4px;height:.85rem;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-content-placeholder{border:1px dashed var(--color-border,#3a3a3a);text-align:center;border-radius:8px;padding:1rem}.empty-content-placeholder--healing{border-style:solid;border-color:var(--color-primary,#6c63ff)}.empty-content-placeholder__text{color:var(--color-text-tertiary,#666);margin-bottom:.5rem;font-size:.85rem}.empty-content-placeholder__status{color:var(--color-primary,#6c63ff);margin-top:.5rem;font-size:.8rem}.empty-content-placeholder__error{color:var(--color-error,#e53e3e);margin-bottom:.5rem;font-size:.8rem}.equation-detail__text--empty{color:var(--color-text-tertiary,#666);font-style:italic}.heal-banner{background:var(--color-surface-elevated,#2a2a2a);border:1px solid var(--color-warning,#d69e2e);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1rem;padding:.75rem 1rem;display:flex}.heal-banner__content{flex-direction:column;gap:.25rem;display:flex}.heal-banner__text{color:var(--color-text-secondary,#a0a0a0);font-size:.85rem}.heal-banner__error{color:var(--color-error,#e53e3e);font-size:.8rem}.connections__broken-notice{color:var(--color-text-tertiary,#666);border-bottom:1px solid var(--color-border,#3a3a3a);margin-bottom:.5rem;padding:.5rem 0;font-size:.8rem;font-style:italic}.landing{max-width:900px;margin:0 auto;padding:40px 24px 80px}.hero{text-align:center;padding:60px 0 48px}.hero__headline{color:var(--text);letter-spacing:-.02em;margin-bottom:16px;font-size:2.2rem;font-weight:700;line-height:1.2}.hero__subheadline{color:var(--text-secondary);max-width:560px;margin:0 auto 32px;font-size:1.1rem;line-height:1.6}.hero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.hero__cta--secondary{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);color:var(--text);transition:border-color var(--transition), color var(--transition);background:0 0;padding:10px 24px;font-size:.95rem;font-weight:600}.hero__cta--secondary:hover{border-color:var(--accent);color:var(--accent)}.feature-showcase{padding:32px 0}.feature-showcase__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.feature-showcase__title{color:var(--text);margin:0;font-size:1.2rem;font-weight:600}.feature-showcase__progress{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.feature-showcase__dismiss{color:var(--text-muted);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;display:flex}.feature-showcase__dismiss:hover{color:var(--text);background:var(--bg)}.feature-showcase__grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);text-align:left;border-radius:12px;flex-direction:column;width:100%;padding:24px;display:flex}.feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.feature-card--completed{opacity:.55}.feature-card--completed:hover{opacity:.75}.feature-card__icon{color:var(--accent);align-items:center;gap:8px;margin-bottom:12px;display:flex}.feature-card__check{color:var(--accent)}.feature-card__title{color:var(--text);margin:0 0 8px;font-size:1rem;font-weight:600}.feature-card__description{color:var(--text-secondary);flex:1;margin:0 0 16px;font-size:.85rem;line-height:1.5}.feature-card__cta{background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);border:none;align-self:flex-start;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-block}.feature-card:hover .feature-card__cta{background:var(--accent);color:#fff}.feature-card--completed .feature-card__cta{background:var(--bg);color:var(--text-muted)}.featured-equations{padding:32px 0}.featured-equations__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.featured-equations__title{color:var(--text);margin:0;font-size:1.2rem;font-weight:600}.featured-equations__browse{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.featured-equations__browse:hover{text-decoration:underline}.cta-section{text-align:center;border-top:1px solid var(--border);margin-top:48px;padding:48px 0 0}.cta-section__title{color:var(--text);margin:0 0 8px;font-size:1.3rem;font-weight:600}.cta-section__subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:.95rem}.cta-section__action{justify-content:center;display:flex}@media (width<=540px){.landing{padding:24px 16px 60px}.hero{padding:40px 0 32px}.hero__headline{font-size:1.6rem}.hero__subheadline{font-size:1rem}.feature-showcase__grid{grid-template-columns:1fr}}.equation-toast{background:var(--bg-card);color:var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1000;align-items:center;gap:8px;max-width:480px;padding:12px 16px;font-size:.875rem;animation:.25s toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.equation-toast svg{color:#22c55e;flex-shrink:0}.equation-toast strong{font-weight:600}.equation-toast__link{color:var(--accent);white-space:nowrap;margin-left:4px;font-weight:600;text-decoration:none}.equation-toast__link:hover{text-decoration:underline}.equation-toast__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:1.1rem;line-height:1}.equation-toast__dismiss:hover{color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pending-adds-toasts{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.pending-add-toast{pointer-events:auto;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);align-items:center;gap:10px;max-width:520px;padding:10px 14px;font-size:.875rem;animation:.25s pending-toast-in;display:flex}.pending-add-toast--ready{border-color:#22c55e}.pending-add-toast--error{border-color:#ef4444}.pending-add-toast__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.9s linear infinite spin}.pending-add-toast__icon--ready{color:#22c55e;flex-shrink:0}.pending-add-toast__icon--error{color:#ef4444;flex-shrink:0}.pending-add-toast__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pending-add-toast__label strong{font-weight:600}.pending-add-toast__view,.pending-add-toast__retry{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:5px 12px;font-family:inherit;font-size:.8125rem;font-weight:600}.pending-add-toast__view:hover,.pending-add-toast__retry:hover{filter:brightness(1.08)}.pending-add-toast__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 0 0 4px;font-size:1.1rem;line-height:1}.pending-add-toast__dismiss:hover{color:var(--text)}@keyframes pending-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.concept-card{border-left:3px solid var(--accent,#8b5cf6)}.concept-grid{margin-top:16px}.concept-detail__short-def{color:var(--text);background:var(--surface-raised,#8b5cf60f);border-left:4px solid var(--accent,#8b5cf6);border-radius:6px;margin:16px 0 24px;padding:16px 20px;font-size:1.1rem;line-height:1.6}.concept-detail__toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:.95rem}.concept-detail__toggle:hover{color:var(--text)}.concept-detail__formal-def{background:var(--surface-raised,#00000008);border-radius:6px;margin-top:8px;padding:12px 16px;font-size:.95rem;line-height:1.55}.concept-detail__intuitions{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.concept-detail__intuition{background:var(--surface,#00000005);border:1px solid var(--border,#00000014);border-radius:8px;padding:14px 16px}.concept-detail__intuition-title{color:var(--accent,#8b5cf6);margin:0 0 6px;font-size:.95rem}.concept-detail__visual-section{background:linear-gradient(135deg,#8b5cf614,#3b82f60a);border-radius:8px;padding:16px 20px}.concept-detail__visual{color:var(--text);font-style:italic;line-height:1.65}.concept-detail__analogies,.concept-detail__questions,.concept-detail__misconceptions{gap:12px;display:grid}.concept-detail__analogy{background:var(--surface,#00000005);border:1px solid var(--border,#00000014);border-radius:6px;padding:12px 16px}.concept-detail__analogy-scenario{margin-bottom:6px}.concept-detail__analogy-mapping{margin-bottom:6px;line-height:1.5}.concept-detail__analogy-caveat{color:var(--muted);border-top:1px dashed var(--border,#00000014);padding-top:6px;font-size:.9rem}.concept-detail__question{border:1px solid var(--border,#00000014);border-radius:6px;overflow:hidden}.concept-detail__question-prompt{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:12px 16px;font-family:inherit;font-size:.95rem}.concept-detail__question-prompt:hover{background:var(--surface-raised,#00000008)}.concept-detail__question-answer{color:var(--muted);padding:4px 16px 14px 32px;font-size:.93rem;line-height:1.55}.concept-detail__misconception{background:var(--surface,#ffc8000d);border:1px solid #ffc80040;border-radius:6px;padding:12px 16px}.concept-detail__misconception-wrong{margin-bottom:6px}.concept-detail__misconception-right{color:var(--text)}.concept-detail__worked-problem{color:var(--muted);margin-bottom:12px;font-style:italic}.concept-detail__steps{padding-left:20px}.concept-detail__step{margin-bottom:14px}.concept-detail__step-latex{margin:6px 0}.concept-detail__step-refs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.concept-detail__worked-result{background:var(--surface-raised,#00000008);border-left:3px solid var(--accent,#8b5cf6);border-radius:4px;margin-top:12px;padding:10px 14px}.concept-detail__related-list{gap:8px;padding:0;list-style:none;display:grid}.concept-detail__related-list li{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.concept-detail__related-relationship{color:var(--muted);flex:1;min-width:200px;font-size:.9rem;line-height:1.4}.concept-chip{color:var(--accent,#8b5cf6);cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:12px;align-items:center;padding:3px 10px;font-family:inherit;font-size:.82rem;text-decoration:none;display:inline-flex}.concept-chip:hover{background:#8b5cf633}.concept-chip--compact{padding:2px 8px;font-size:.75rem}.add-concept-modal__highlighted{background:var(--surface-raised,#0000000a);border-left:3px solid var(--accent,#8b5cf6);border-radius:6px;margin-bottom:16px;padding:12px 16px}.add-concept-modal__highlighted-label{color:var(--muted);margin-bottom:4px;font-size:.8rem}.add-concept-modal__highlighted-text{color:var(--text);font-style:italic;line-height:1.5}.add-concept-modal__warning{color:var(--text);background:#ffb4001a;border:1px solid #ffb4004d;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.add-concept-modal__error{color:#c62828;background:#dc32321a;border:1px solid #dc32324d;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:.9rem}.add-concept-modal__loading{text-align:center;color:var(--muted);padding:30px 20px}.add-concept-modal__loading p{margin-top:12px}.add-concept-modal__duplicate p{margin-bottom:16px}.add-concept-modal__review{max-height:60vh;padding-right:4px;overflow-y:auto}.add-concept-modal__name{margin:0 0 8px;font-size:1.4rem}.add-concept-modal__importance-reason{color:var(--muted);margin-bottom:12px;font-size:.9rem}.add-concept-modal__short-def{background:var(--surface-raised,#8b5cf60f);border-left:3px solid var(--accent,#8b5cf6);border-radius:6px;margin-bottom:16px;padding:12px 16px;line-height:1.6}.add-concept-modal__preview-section{margin-top:16px}.add-concept-modal__preview-section h4{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin-bottom:6px;font-size:.85rem}.add-concept-modal__preview-section ul{margin:0;padding-left:20px;font-size:.92rem;line-height:1.5}.add-concept-modal__preview-section li{margin-bottom:4px}.add-concept-modal__actions{border-top:1px solid var(--border,#00000014);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.concepts-browser{max-width:900px;margin:0 auto}.concepts-browser__search{border:1px solid var(--border,#00000026);background:var(--surface,white);width:100%;color:var(--text);border-radius:8px;margin-bottom:20px;padding:12px 16px;font-family:inherit;font-size:1rem}.concepts-browser__search:focus{border-color:var(--accent,#8b5cf6);outline:none;box-shadow:0 0 0 3px #8b5cf626}.concepts-browser__loading,.concepts-browser__hint{text-align:center;color:var(--muted);padding:24px}.concepts-browser__group{margin-bottom:28px}.concepts-browser__group-name{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border,#00000014);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:6px;font-size:.95rem;display:flex}.concepts-browser__pathway-badge{color:var(--accent,#8b5cf6);letter-spacing:0;text-transform:none;background:#8b5cf61f;border-radius:10px;padding:2px 8px;font-size:.72rem}.today-plan{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:28px;padding:20px 24px}.today-plan__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.today-plan__title{color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.today-plan__subtitle{color:var(--text-secondary);margin-top:2px;font-size:.85rem}.today-plan__budget{background:var(--border-light);border-radius:999px;gap:4px;padding:3px;display:inline-flex}.today-plan__budget-chip{color:var(--text-secondary);font:inherit;cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600}.today-plan__budget-chip:hover:not(:disabled){color:var(--text)}.today-plan__budget-chip:disabled{cursor:default;opacity:.7}.today-plan__budget-chip--active{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm)}.today-plan__list{flex-direction:column;gap:8px;list-style:none;display:flex}.today-plan__item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:14px;padding:12px 14px;display:flex}.today-plan__icon{background:var(--accent-bg);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.today-plan__icon--review{color:#8b6914;background:#fdf6e3}.today-plan__icon--weak-topic{color:#b3261e;background:#fce8e6}.today-plan__icon--next-equation{color:#137333;background:#e6f4ea}.today-plan__icon--guided-text{color:#1967d2;background:#e8f0fe}.today-plan__item-body{flex:1;min-width:0}.today-plan__kind{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.today-plan__item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.today-plan__item-subtitle{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.today-plan__item-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.today-plan__minutes{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.today-plan__cta{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font:inherit;cursor:pointer;transition:background var(--transition);border:0;padding:7px 14px;font-size:.85rem;font-weight:600}.today-plan__cta:hover{background:var(--accent-light)}@media (width<=600px){.today-plan__item{flex-wrap:wrap}.today-plan__item-meta{margin-left:auto}}
