.qcard[data-v-8a5303c3]{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;gap:20px;padding:24px;transition:all .2s;animation:.3s forwards fadeInUp;display:flex}.qcard-header[data-v-8a5303c3]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.header-left[data-v-8a5303c3]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.q-number[data-v-8a5303c3]{font-family:var(--font-display);color:var(--text-main);letter-spacing:-.01em;font-size:1.15rem;font-weight:800}.q-topic[data-v-8a5303c3]{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:700}.q-type[data-v-8a5303c3]{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f640;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:700}.q-type.multi[data-v-8a5303c3]{color:var(--accent);background:#ff99001f;border-color:#ff99004d}.bookmark-btn[data-v-8a5303c3]{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);width:34px;height:34px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.bookmark-btn[data-v-8a5303c3]:hover{background:var(--bg-card-hover);color:var(--text-main)}.bookmark-btn.active[data-v-8a5303c3]{color:var(--accent);background:#ff99001a;border-color:#f906}.q-body[data-v-8a5303c3]{padding:4px 0}.q-text[data-v-8a5303c3]{color:var(--text-main);font-size:1.08rem;font-weight:600;line-height:1.65}.options-list[data-v-8a5303c3]{flex-direction:column;gap:10px;display:flex}.option-row[data-v-8a5303c3]{border-radius:var(--radius-md);background:var(--bg-elevated);border:1.5px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:14px;padding:14px 16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.option-row[data-v-8a5303c3]:hover{border-color:var(--border-card);background:var(--bg-card-hover)}.opt-key-ring[data-v-8a5303c3]{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-subtle);width:32px;height:32px;font-family:var(--font-display);color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;transition:all .2s;display:flex}.opt-text-wrap[data-v-8a5303c3]{flex:1;padding-top:4px}.opt-text[data-v-8a5303c3]{color:var(--text-main);font-size:.95rem;line-height:1.55}.opt-selected[data-v-8a5303c3]{box-shadow:0 0 14px #3b82f633;background:var(--selected-blue-bg)!important;border-color:var(--selected-blue-border)!important}.opt-selected .opt-key-ring[data-v-8a5303c3]{background:var(--selected-blue);color:#fff;border-color:var(--selected-blue)}.opt-correct-chosen[data-v-8a5303c3]{box-shadow:0 0 18px var(--success-glow);background:var(--success-bg)!important;border-color:var(--success)!important}.opt-correct-chosen .opt-key-ring[data-v-8a5303c3]{background:var(--success);color:#fff;border-color:var(--success)}.opt-wrong-chosen[data-v-8a5303c3]{box-shadow:0 0 18px var(--danger-glow);background:var(--danger-bg)!important;border-color:var(--danger)!important}.opt-wrong-chosen .opt-key-ring[data-v-8a5303c3]{background:var(--danger);color:#fff;border-color:var(--danger)}.opt-correct-missed[data-v-8a5303c3]{background:var(--success-bg)!important;border-color:var(--success-border)!important;border-style:dashed!important}.opt-correct-missed .opt-key-ring[data-v-8a5303c3]{border-color:var(--success);color:var(--success)}.opt-dimmed[data-v-8a5303c3]{opacity:.5}.opt-badge-wrap[data-v-8a5303c3]{flex-shrink:0;align-self:center;align-items:center;display:flex}.opt-badge[data-v-8a5303c3]{letter-spacing:.02em;border-radius:5px;align-items:center;gap:3px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-correct[data-v-8a5303c3]{background:var(--success);color:#fff}.badge-wrong[data-v-8a5303c3]{background:var(--danger);color:#fff}.badge-answer[data-v-8a5303c3]{background:var(--success-bg);border:1px solid var(--success);color:var(--success)}.qcard-footer[data-v-8a5303c3]{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.hint-text[data-v-8a5303c3]{color:var(--text-muted);font-size:.85rem}.result-line[data-v-8a5303c3]{align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.result-line.is-correct .result-text[data-v-8a5303c3]{color:var(--success)}.result-line.is-wrong .result-text[data-v-8a5303c3]{color:var(--danger)}.footer-btns[data-v-8a5303c3]{align-items:center;gap:10px;display:flex}.check-btn[data-v-8a5303c3]{min-width:130px}.explanation-card[data-v-8a5303c3]{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid #ff990040;flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 4px 24px #0003}.expl-header[data-v-8a5303c3]{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.expl-title[data-v-8a5303c3]{align-items:center;gap:8px;display:flex}.expl-title h3[data-v-8a5303c3]{color:var(--text-main);font-size:1rem}.correct-badge[data-v-8a5303c3]{border:1px solid var(--success-border);color:var(--success);background:#10b9811f;border-radius:6px;padding:4px 10px;font-size:.8rem}.expl-body[data-v-8a5303c3]{color:var(--text-main);white-space:pre-line;font-size:.93rem;line-height:1.7}.review-callout[data-v-8a5303c3]{border-radius:var(--radius-sm);background:#ff99000f;gap:12px;padding:12px 16px;display:flex}.review-callout-bar[data-v-8a5303c3]{background:var(--accent);border-radius:2px;flex-shrink:0;width:3px}.review-callout-content[data-v-8a5303c3]{flex-direction:column;gap:4px;display:flex}.review-label[data-v-8a5303c3]{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.72rem;font-weight:700}.review-text[data-v-8a5303c3]{color:var(--text-muted);font-size:.85rem;line-height:1.55}.alt-answer[data-v-8a5303c3]{color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border-card);border-radius:6px;padding:8px 12px;font-size:.82rem}.skip-btn[data-v-8a5303c3]{color:var(--text-muted)}.empty-card[data-v-8a5303c3]{text-align:center;background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-card);flex-direction:column;align-items:center;gap:16px;padding:60px 20px;animation:.3s forwards fadeInUp;display:flex}.empty-icon[data-v-8a5303c3]{margin-bottom:8px;font-size:3rem}@media (width<=640px){.qcard[data-v-8a5303c3]{border-radius:var(--radius-lg);gap:16px;padding:16px}.q-text[data-v-8a5303c3]{font-size:.98rem}.option-row[data-v-8a5303c3]{gap:10px;padding:12px}.qcard-footer[data-v-8a5303c3]{flex-direction:column;align-items:stretch}.footer-btns[data-v-8a5303c3]{width:100%}.footer-btns .btn[data-v-8a5303c3]{flex:1}}.topbar[data-v-7b307d1a]{z-index:50;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);position:sticky;top:0;box-shadow:0 4px 24px #0000002e}.topbar-inner[data-v-7b307d1a]{justify-content:space-between;align-items:center;gap:14px;max-width:1200px;margin:0 auto;padding:10px 16px;display:flex}.topbar-brand[data-v-7b307d1a]{flex-shrink:0;align-items:center;gap:12px;display:flex}.brand-logo-link[data-v-7b307d1a]{align-items:center;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.brand-logo-link[data-v-7b307d1a]:hover{opacity:.92;transform:scale(1.03)}.brand-logo[data-v-7b307d1a]{object-fit:contain;width:auto;height:42px}.brand-divider[data-v-7b307d1a]{background:var(--border-card);width:1px;height:26px}.brand-text[data-v-7b307d1a]{flex-direction:column;display:flex}.brand-row[data-v-7b307d1a]{align-items:center;gap:8px;display:flex}.brand-title[data-v-7b307d1a]{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-main);white-space:nowrap;font-size:1rem;font-weight:800}.brand-badge[data-v-7b307d1a]{background:var(--accent);color:#000;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:1px 6px;font-size:.62rem;font-weight:800}.brand-sub[data-v-7b307d1a]{color:var(--text-muted);font-size:.7rem}.topbar-stats[data-v-7b307d1a]{align-items:center;gap:6px;display:flex}.stat-chip[data-v-7b307d1a]{border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;transition:all .2s;display:flex}.stat-chip[data-v-7b307d1a]:hover,.stat-chip.active[data-v-7b307d1a]{background:var(--bg-card-hover);border-color:var(--border-card);color:var(--text-main)}.stat-chip.active[data-v-7b307d1a]{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.stat-dot[data-v-7b307d1a]{border-radius:50%;width:8px;height:8px}.dot-correct[data-v-7b307d1a]{background:var(--success)}.dot-incorrect[data-v-7b307d1a]{background:var(--danger)}.stat-label[data-v-7b307d1a]{font-weight:500}.stat-num[data-v-7b307d1a]{font-weight:700;font-family:var(--font-mono)}.bookmark-val[data-v-7b307d1a]{color:var(--accent)}.accuracy-badge[data-v-7b307d1a]{font-size:.72rem;font-weight:700;font-family:var(--font-mono);background:var(--success-bg);color:var(--success);border:1px solid var(--success-border);border-radius:6px;padding:4px 8px}.topbar-actions[data-v-7b307d1a]{align-items:center;gap:8px;display:flex}.search-wrap[data-v-7b307d1a]{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;width:160px;height:36px;padding:0 8px;transition:all .25s;display:flex;position:relative}.search-wrap[data-v-7b307d1a]:focus-within{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);width:220px}.search-icon[data-v-7b307d1a]{color:var(--text-faint);flex-shrink:0}.search-input[data-v-7b307d1a]{width:100%;color:var(--text-main);font-size:.82rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:4px 6px}.search-clear[data-v-7b307d1a]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:.75rem}.jump-wrap[data-v-7b307d1a]{align-items:center;display:flex;position:relative}.jump-hash[data-v-7b307d1a]{color:var(--accent);font-size:.75rem;font-weight:700;position:absolute;left:8px}.jump-input[data-v-7b307d1a]{width:70px;height:36px;font-size:.8rem;font-family:var(--font-mono);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);outline:none;padding-left:20px;padding-right:6px;transition:border-color .2s}.jump-input[data-v-7b307d1a]:focus{border-color:var(--accent)}.jump-input[data-v-7b307d1a]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.jump-input[data-v-7b307d1a]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.jump-input[data-v-7b307d1a]{-moz-appearance:textfield}.grid-btn[data-v-7b307d1a]{color:var(--accent);border-color:#ff990040}.grid-btn[data-v-7b307d1a]:hover{border-color:var(--accent);background:#ff99001a}.mobile-pills[data-v-7b307d1a]{border-top:1px solid var(--border-subtle);-ms-overflow-style:none;scrollbar-width:none;padding:6px 12px;overflow-x:auto}.mobile-pills[data-v-7b307d1a]::-webkit-scrollbar{display:none}.pills-scroll[data-v-7b307d1a]{white-space:nowrap;gap:6px;display:flex}.pill-mini[data-v-7b307d1a]{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s}.pill-mini[data-v-7b307d1a]:hover,.pill-mini.active[data-v-7b307d1a]{background:var(--bg-card-hover);border-color:var(--border-card);color:var(--text-main)}.pill-mini.active[data-v-7b307d1a]{border-color:var(--accent)}@media (width<=640px){.search-wrap[data-v-7b307d1a]{width:100px}.search-wrap[data-v-7b307d1a]:focus-within{width:140px}.brand-badge[data-v-7b307d1a]{display:none}}.bottom-bar[data-v-6f1cebc9]{display:none}@media (width<=640px){.bottom-bar[data-v-6f1cebc9]{z-index:45;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);padding-bottom:env(safe-area-inset-bottom,8px);display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0003}.bar-inner[data-v-6f1cebc9]{justify-content:space-around;align-items:center;max-width:500px;margin:0 auto;padding:6px 8px;display:flex}.bar-btn[data-v-6f1cebc9]{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;transition:all .2s;display:flex}.bar-btn[data-v-6f1cebc9]:hover,.bar-btn[data-v-6f1cebc9]:active{background:var(--bg-elevated);color:var(--text-main)}.bar-grid[data-v-6f1cebc9]{color:var(--accent)}.bar-label[data-v-6f1cebc9]{font-size:.65rem;font-weight:600}}.grid-overlay[data-v-ffd98c5f]{z-index:100;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.grid-modal[data-v-ffd98c5f]{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:680px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0006}.modal-header[data-v-ffd98c5f]{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;padding:20px 24px 12px;display:flex}.modal-header h2[data-v-ffd98c5f]{font-family:var(--font-display);color:var(--text-main);font-size:1.2rem}.modal-sub[data-v-ffd98c5f]{color:var(--text-muted);flex:1;font-size:.78rem}.close-btn[data-v-ffd98c5f]{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn[data-v-ffd98c5f]:hover{background:var(--bg-card-hover);color:var(--text-main)}.legend-row[data-v-ffd98c5f]{color:var(--text-muted);gap:14px;padding:10px 24px;font-size:.72rem;display:flex}.legend-item[data-v-ffd98c5f]{align-items:center;gap:5px;display:flex}.dot[data-v-ffd98c5f]{border-radius:3px;width:10px;height:10px}.dot-unanswered[data-v-ffd98c5f]{background:var(--bg-elevated);border:1px solid var(--border-subtle)}.dot-correct[data-v-ffd98c5f]{background:var(--success)}.dot-incorrect[data-v-ffd98c5f]{background:var(--danger)}.dot-bookmarked[data-v-ffd98c5f]{background:var(--accent)}.grid-body[data-v-ffd98c5f]{flex:1;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:5px;padding:12px 20px 20px;display:grid;overflow-y:auto}.grid-cell[data-v-ffd98c5f]{aspect-ratio:1;font-size:.72rem;font-weight:700;font-family:var(--font-mono);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.grid-cell[data-v-ffd98c5f]:hover{border-color:var(--accent);z-index:2;transform:scale(1.1)}.cell-correct[data-v-ffd98c5f]{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.cell-incorrect[data-v-ffd98c5f]{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.cell-bookmarked[data-v-ffd98c5f]{color:var(--accent);background:#ff99001f;border-color:#ff990059}@media (width<=640px){.grid-overlay[data-v-ffd98c5f]{align-items:flex-end;padding:8px}.grid-modal[data-v-ffd98c5f]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh}.grid-body[data-v-ffd98c5f]{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px}}.app-shell[data-v-26f2ded5]{background:var(--bg-app);flex-direction:column;min-height:100dvh;display:flex}.progress-rail[data-v-26f2ded5]{background:var(--bg-elevated);flex-shrink:0;width:100%;height:3px;position:relative;overflow:hidden}.progress-fill[data-v-26f2ded5]{background:linear-gradient(90deg, var(--accent), var(--success));border-radius:0 2px 2px 0;height:100%;transition:width .4s}.main-area[data-v-26f2ded5]{flex:1;justify-content:center;padding:24px 16px 40px;display:flex}.content-rail[data-v-26f2ded5]{flex-direction:column;gap:16px;width:100%;max-width:840px;display:flex}.filter-banner[data-v-26f2ded5]{border-radius:var(--radius-md);color:var(--text-main);background:#ff990014;border:1px solid #ff990040;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;display:flex}.filter-info strong[data-v-26f2ded5],.filter-info em[data-v-26f2ded5]{color:var(--accent)}.filter-clear[data-v-26f2ded5]{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:700;text-decoration:underline}.loading-state[data-v-26f2ded5]{flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:80px 20px;display:flex}.loading-spinner[data-v-26f2ded5]{border:3px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin-26f2ded5}@keyframes spin-26f2ded5{to{transform:rotate(360deg)}}.loading-text[data-v-26f2ded5]{color:var(--text-muted);font-size:.95rem}.error-state[data-v-26f2ded5]{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.error-icon[data-v-26f2ded5]{font-size:3rem}@media (width<=640px){.main-area[data-v-26f2ded5]{padding:12px 8px 100px}}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", var(--font-sans);--font-mono:"JetBrains Mono", monospace;--bg-app:#0a0e1a;--bg-card:#111827;--bg-card-hover:#172235;--bg-elevated:#1a2236;--bg-input:#0d131f;--border-subtle:#ffffff12;--border-card:#ffffff1c;--border-active:#f90;--text-main:#f1f5f9;--text-muted:#8b95a5;--text-faint:#5a6578;--accent:#f90;--accent-glow:#ff990040;--accent-hover:#ffac33;--success:#10b981;--success-bg:#10b9811f;--success-border:#10b98166;--success-glow:#10b98140;--danger:#ef4444;--danger-bg:#ef44441f;--danger-border:#ef444466;--danger-glow:#ef444440;--selected-blue:#3b82f6;--selected-blue-bg:#3b82f626;--selected-blue-border:#60a5fa;--glass-bg:#0a0e1ad1;--glass-border:#ffffff14;--glass-blur:16px;--shadow-lg:0 10px 30px -5px #0000008c, 0 4px 10px -4px #0006;--shadow-glow:0 0 25px #ff990026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}[data-theme=light]{--bg-app:#f3f6fb;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-elevated:#f1f5f9;--bg-input:#fff;--border-subtle:#0000000f;--border-card:#e2e8f0;--border-active:#ea580c;--text-main:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--accent:#ea580c;--accent-glow:#ea580c2e;--accent-hover:#c2410c;--success:#059669;--success-bg:#05966914;--success-border:#0596694d;--success-glow:#05966926;--danger:#dc2626;--danger-bg:#dc262614;--danger-border:#dc26264d;--danger-glow:#dc262626;--selected-blue:#2563eb;--selected-blue-bg:#2563eb14;--selected-blue-border:#3b82f6;--glass-bg:#ffffffe0;--glass-border:#e2e8f0cc;--glass-blur:12px;--shadow-lg:0 10px 30px -5px #00000012, 0 4px 10px -4px #0000000a;--shadow-glow:0 0 20px #ea580c1a}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}html,body{min-height:100dvh;font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}body{overflow-x:hidden}#app{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,.font-display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.92rem;font-weight:600;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #e67e00);color:#000;box-shadow:0 4px 16px var(--accent-glow);font-weight:700}.btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:var(--bg-card);color:var(--text-main);border-color:var(--border-card)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border-subtle);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-main)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);width:38px;height:38px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-main);border-color:var(--border-card)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pop{animation:.28s cubic-bezier(.16,1,.3,1) forwards pop}.animate-fade-in-up{animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-shake{animation:.4s ease-in-out forwards shake}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-card);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-card-hover) 50%, var(--bg-elevated) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hide-mobile{display:block}.show-mobile{display:none}@media (width<=640px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}
