:root{--bg-app:#0a0f1e;--bg-panel:#0f172a;--bg-deep:#0b1220;--bg-elevated:#172033;--bg-surface:#1e293b;--bg-hover:#273449;--bg-accent:#1e3a5f;--bg-success:#0d2d1a;--border:#1e293b;--border-strong:#334155;--text-1:#f1f5f9;--text-2:#e2e8f0;--text-3:#94a3b8;--text-4:#8494a9;--text-5:#64748b;--text-6:#475569;--text-primary:var(--text-1);--text-secondary:var(--text-2);--text-muted:var(--text-4);--text-disabled:var(--text-5);--text-on-accent:#fff;--accent-blue-text:#60a5fa;--accent-blue-solid:#2563eb;--accent-blue-bg:#1e3a5f;--accent-blue-border:#3b82f6;--accent-green-text:#4ade80;--accent-green-solid:#15803d;--accent-green-bg:#0d2d1a;--accent-green-border:#22c55e;--accent-purple-text:#c084fc;--accent-purple-solid:#7c3aed;--accent-purple-bg:#2e1065;--accent-purple-border:#a855f7;--accent-amber-text:#fbbf24;--accent-amber-solid:#b45309;--accent-amber-bg:#2a2008;--accent-amber-border:#f59e0b;--accent-red-text:#f87171;--accent-red-solid:#dc2626;--accent-red-bg:#2a1014;--accent-red-border:#ef4444;--focus-ring:var(--accent-blue-border);--bg-success-tint:#22c55e14;--overlay:#0009;--tooltip-bg:#0d1b2e;--tooltip-border:#1e3a5f;--tooltip-shadow:0 8px 28px #0009;--pw-dc-bg:linear-gradient(90deg, #1e1b4b 0%, #0f172a 70%);--pw-dc-border:#4c1d95;--pw-dc-hover-shadow:0 0 16px #7c3aed44;--pw-dc-badge-text:#c4b5fd;--pw-dc-badge-bg:#2e1065;--pw-dc-badge-border:#6d28d9;--pw-dc-go-text:#c4b5fd;--pw-dc-solved-text:#4ade80;--pw-rd-bg:linear-gradient(90deg, #0c2a2a 0%, #0f172a 70%);--pw-rd-border:#0f766e;--pw-rd-hover-border:#14b8a6;--pw-rd-hover-shadow:0 0 16px #14b8a644;--pw-rd-badge-text:#5eead4;--pw-rd-badge-bg:#042f2e;--pw-rd-badge-border:#0f766e;--pw-rd-go-text:#5eead4;--submit-btn-bg:#1e1b4b;--submit-btn-border:#6366f166;--submit-btn-text:#a5b4fc;--submit-btn-hover-bg:#252060;--submit-btn-hover-border:#818cf8;--submit-btn-hover-shadow:0 0 8px #6366f130;--submit-kbd-text:#6366f1;--submit-kbd-bg:var(--bg-deep);--submit-kbd-border:var(--border);--sidebar-meta-text:var(--text-muted);--mode-toggle-bg:var(--bg-app);--mode-toggle-btn-text:var(--text-muted);--mode-toggle-active-bg:var(--bg-surface);--mode-toggle-active-shadow:none;--sidebar-topic-btn-text:var(--text-4);--sidebar-cat-btn-text:var(--text-3);--sidebar-xp-block-bg:#0f1f3d;--sidebar-xp-level-text:#93c5fd;--filter-status-text:var(--text-muted);--filter-diff-text:var(--text-disabled);--saved-toggle-text:var(--text-4);--diff-chip-easy-text:#22c55e;--diff-chip-easy-border:#166534;--diff-chip-easy-bg:#0d1f12;--diff-chip-medium-text:#f59e0b;--diff-chip-medium-border:#78350f;--diff-chip-medium-bg:#1f1a0e;--diff-chip-hard-text:#ef4444;--diff-chip-hard-border:#7f1d1d;--diff-chip-hard-bg:#1f0d0d;--topic-breadcrumb-text:var(--text-muted);--nav-btn-accent-bg:var(--bg-success);--nav-btn-accent-border:#22c55e66;--nav-btn-accent-text:#4ade80;--nav-btn-accent-hover-bg:#14391f;--nav-btn-accent-hover-border:#22c55e;--nav-btn-accent-hover-text:#86efac;--practice-timer-text:var(--text-4);--mode-toggle-on-text:#fbbf24;--mode-toggle-on-bg:#2a2008;--mode-toggle-on-border:#f59e0b66;--mode-toggle-on-dot-shadow:0 0 6px #f59e0b99;--hidden-note-text:var(--text-3);--hidden-note-bg:#1a1206;--hidden-note-border:#f59e0b33;--num-badge-attempted-bg:#1f1a0e;--num-badge-attempted-text:#f59e0b;--num-badge-attempted-border:#78350f;--num-badge-attempted-shadow:0 0 5px #f59e0b22;--num-badge-solved-bg:#0d1f12;--num-badge-solved-text:#22c55e;--num-badge-solved-border:#166534;--num-badge-solved-shadow:0 0 6px #22c55e33;--pane-tab-text:var(--text-muted);--pane-tab-active-text:#a855f7;--editor-btn-border:#2d2d2d;--editor-btn-text:#a0a0a0;--editor-btn-hover-bg:#2a2a2a;--editor-btn-hover-border:#444;--editor-font-size-text:gray;--again-btn-bg:#052e16;--again-btn-border:#15803d55;--again-btn-text:#86efac;--again-btn-hover-bg:#14532d;--again-btn-hover-border:#86efac;--again-btn-hover-shadow:0 0 8px #16a34a44;--again-confirm-bg:#1c1003;--again-confirm-border:#b45309aa;--again-confirm-text:#fcd34d;--again-confirm-hover-bg:#431407;--again-confirm-hover-border:#fcd34d;--again-confirm-hover-shadow:0 0 8px #d9770644;--again-cancel-bg:transparent;--again-cancel-border:#374151;--again-cancel-text:#9ca3af;--again-cancel-hover-bg:#1f2937;--again-cancel-hover-border:#6b7280;--reveal-btn-bg:#1e1b4b;--reveal-btn-border:#7c3aed55;--reveal-btn-text:#a78bfa;--reveal-btn-hover-bg:#2e1d6e;--reveal-btn-hover-shadow:0 0 8px #7c3aed44;--concept-pane-body-text:var(--text-1);--concept-pane-h3-text:var(--text-4);--concept-pane-th-text:var(--text-3);--md-pre-bg:var(--bg-app);--md-code-block-text:#93c5fd;--md-code-block-bg:transparent;--md-code-inline-bg:var(--bg-surface);--md-code-inline-text:#7dd3fc;--notes-textarea-bg:var(--bg-deep);--pw-section-title-text:var(--text-muted);--pw-pct-text:var(--text-4);--pw-diff-stat-text:var(--text-3);--hm-cell-bg:#262b33;--pw-cat-btn-bg:#0f2240;--pw-cat-btn-border:#1e3a5f;--pw-cat-btn-text:#60a5fa;--pw-cat-btn-hover-bg:var(--bg-accent);--pw-cat-btn-hover-border:#3b82f6;--chip-solved-bg:#0d1f12;--chip-attempted-bg:#1f1a0e;--chip-unseen-bg:var(--bg-panel);--chip-unseen-num-lbl-text:var(--text-4);--settings-toggle-bg:var(--bg-surface);--settings-toggle-border:var(--border-strong);--roadmap-bg:#080d1a;--rn-untouched-bg:#2a3070;--rn-untouched-border:#3d4db0;--rn-in-progress-bg:#1c3b6e;--rn-tooltip-text:inherit;--rn-tooltip-title-text:var(--text-3);--topic-pill-code-bg:#1a2f1e;--topic-pill-code-text:#4ade80;--activity-day-bg:transparent;--activity-day-title-text:#e2e8f0;--activity-th-text:#64748b;--activity-th-border:#1e293b;--activity-row-hover-bg:#0f172a;--activity-td-text:#cbd5e1;--activity-td-border:#1e293b;--activity-problem-text:#e2e8f0;--activity-stat-card-bg:#0f172a;--activity-stat-card-border:#1e293b;--activity-stat-accepted-border-left:#1e293b;--activity-stat-wrong-border-left:#1e293b;--activity-stat-num-text:#e2e8f0;--activity-stat-accepted-num-text:#4ade80;--activity-stat-wrong-num-text:#f87171;--activity-status-accepted-text:#4ade80;--related-topic-bg:#1e1b4b;--related-topic-border:#4c1d95;--related-topic-text:#cbd5e1;--related-topic-strong-text:#c4b5fd;--related-practice-border-top:#1e293b;--related-question-bg:#0f172a;--related-question-border:#1e293b;--related-question-text:#cbd5e1;--related-question-hover-border:#334155;--related-question-hover-bg:#16202e;--tw-btn-bg:#1e293b;--tw-btn-border:#334155;--tw-btn-text:#94a3b8;--tw-btn-hover-bg:#273449;--tw-btn-hover-text:#e2e8f0;--tw-pop-bg:#131c2e;--tw-pop-border:#1e293b;--tw-mode-bg:#0b1220;--tw-mode-border:#1e293b;--tw-mode-btn-active-text:#c7d2fe;--tw-mode-btn-active-bg:#312e81;--tw-dur-bg:#0f172a;--tw-dur-border:#1e293b;--tw-dur-text:#cbd5e1;--tw-dur-active-bg:#1e293b;--tw-dur-active-text:#f1f5f9;--tw-display-text:#f1f5f9;--tw-start-bg:#0d2d1a;--tw-start-border:#22c55e55;--tw-start-text:#4ade80;--tw-start-hover-bg:#14391f;--tw-start-hover-border:#22c55e;--tw-reset-bg:#1e293b;--tw-reset-border:#334155;--pw-badges-card-bg:#0f172a;--pw-badges-card-border:#1e293b;--pw-badge-bg:#0b1220;--pw-badge-border:#1e293b;--pw-badge-unlocked-bg:#1f1a0e;--pw-badge-unlocked-border:#b4530955;--pw-badge-unlocked-title-text:#fbbf24;--toast-bg:#1e293b;--toast-text:#e2e8f0;--toast-border:#334155;--toast-success-text:#4ade80;--toast-error-text:#f87171;--sync-dot-text:#4ade80;--sync-dot-syncing-text:#60a5fa;--sync-dot-error-text:#f87171;--practice-tag-select-bg:#1e293b;--practice-tag-select-border:#334155;--practice-tag-select-text:#94a3b8;--practice-shuffle-bg:#0f172a;--practice-shuffle-border:#334155;--practice-shuffle-hover-text:#60a5fa;--pw-mock-bg:linear-gradient(90deg, #042f2e 0%, #0f172a 70%);--pw-mock-border:#115e59;--pw-mock-hover-shadow:0 0 16px #14b8a644;--pw-mock-badge-text:#5eead4;--pw-mock-badge-bg:#042f2e;--pw-mock-badge-border:#0f766e;--pw-mock-text:#94a3b8;--pw-mock-go-text:#5eead4;--mock-banner-bg:#042f2e;--mock-banner-border:#115e59;--mock-banner-label-text:#5eead4;--mock-banner-btn-text:#94a3b8;--mock-banner-btn-border:#334155;--mock-banner-btn-hover-text:#e2e8f0;--mock-banner-btn-hover-border:#475569;--mock-banner-btn-next-text:#5eead4;--mock-banner-btn-next-border:#0f766e;--mock-summary-name-text:#e2e8f0;--mock-summary-mark-bg:#450a0a;--mock-summary-mark-text:#f87171;--mock-summary-mark-solved-bg:#0d1f12;--mock-summary-mark-solved-text:#22c55e;--hm-l0-bg:#161b22;--hm-l1-bg:#0e4429;--hm-l2-bg:#006d32;--hm-l3-bg:#26a641;--hm-l4-bg:#39d353}html[data-theme=light]{--bg-app:#e8edf5;--bg-panel:#fff;--bg-deep:#f8fafc;--bg-elevated:#eef2f7;--bg-surface:#f1f5f9;--bg-hover:#e2e8f0;--bg-accent:#dbeafe;--bg-success:#ecfdf5;--border:#e2e8f0;--border-strong:#cbd5e1;--text-1:#0f172a;--text-2:#0f172a;--text-3:#475569;--text-4:#556070;--text-5:#94a3b8;--text-6:#cbd5e1;--accent-blue-text:#1d4ed8;--accent-blue-solid:#2563eb;--accent-blue-bg:#dbeafe;--accent-blue-border:#2563eb;--accent-green-text:#15803d;--accent-green-solid:#15803d;--accent-green-bg:#ecfdf5;--accent-green-border:#15803d;--accent-purple-text:#6d28d9;--accent-purple-solid:#7c3aed;--accent-purple-bg:#f3e8ff;--accent-purple-border:#7c3aed;--accent-amber-text:#92400e;--accent-amber-solid:#b45309;--accent-amber-bg:#fffbeb;--accent-amber-border:#b45309;--accent-red-text:#b91c1c;--accent-red-solid:#dc2626;--accent-red-bg:#fef2f2;--accent-red-border:#b91c1c;--focus-ring:var(--accent-blue-border);--tooltip-bg:#fff;--tooltip-border:#93c5fd;--tooltip-shadow:0 12px 30px #0f172a2e;--pw-dc-bg:linear-gradient(90deg, #f5f3ff 0%, #fff 70%);--pw-dc-border:#c4b5fd;--pw-dc-hover-shadow:0 0 16px #7c3aed22;--pw-dc-badge-text:#6d28d9;--pw-dc-badge-bg:#ede9fe;--pw-dc-badge-border:#c4b5fd;--pw-dc-go-text:#7c3aed;--pw-dc-solved-text:#16a34a;--pw-rd-bg:linear-gradient(90deg, #f0fdfa 0%, #f8faff 70%);--pw-rd-border:#99f6e4;--pw-rd-hover-border:#2dd4bf;--pw-rd-hover-shadow:0 0 16px #14b8a622;--pw-rd-badge-text:#0f766e;--pw-rd-badge-bg:#ccfbf1;--pw-rd-badge-border:#5eead4;--pw-rd-go-text:#0f766e;--submit-btn-bg:#eef2ff;--submit-btn-border:#a5b4fc;--submit-btn-text:#4f46e5;--submit-btn-hover-bg:#e0e7ff;--submit-btn-hover-border:#6366f1;--submit-btn-hover-shadow:0 0 8px #6366f120;--submit-kbd-text:#4f46e5;--submit-kbd-bg:#f1f5f9;--submit-kbd-border:#c7d2fe;--sidebar-meta-text:#64748b;--mode-toggle-bg:var(--bg-surface);--mode-toggle-btn-text:#64748b;--mode-toggle-active-bg:var(--bg-panel);--mode-toggle-active-shadow:0 1px 2px #0000001a;--sidebar-topic-btn-text:#475569;--sidebar-cat-btn-text:#334155;--sidebar-xp-block-bg:#eff6ff;--sidebar-xp-level-text:#334155;--filter-status-text:#475569;--filter-diff-text:#475569;--saved-toggle-text:#475569;--diff-chip-easy-text:#15803d;--diff-chip-easy-border:#86efac;--diff-chip-easy-bg:#f0fdf4;--diff-chip-medium-text:#b45309;--diff-chip-medium-border:#fcd34d;--diff-chip-medium-bg:#fffbeb;--diff-chip-hard-text:#b91c1c;--diff-chip-hard-border:#fca5a5;--diff-chip-hard-bg:#fef2f2;--topic-breadcrumb-text:#64748b;--nav-btn-accent-bg:#f0fdf4;--nav-btn-accent-border:#86efac;--nav-btn-accent-text:#15803d;--nav-btn-accent-hover-bg:#dcfce7;--nav-btn-accent-hover-border:#4ade80;--nav-btn-accent-hover-text:#15803d;--practice-timer-text:#64748b;--mode-toggle-on-text:#b45309;--mode-toggle-on-bg:#fffbeb;--mode-toggle-on-border:#fcd34d;--mode-toggle-on-dot-shadow:0 0 5px #f59e0b66;--hidden-note-text:#92400e;--hidden-note-bg:#fffbeb;--hidden-note-border:#fcd34d;--num-badge-attempted-bg:#fffbeb;--num-badge-attempted-text:#b45309;--num-badge-attempted-border:#fcd34d;--num-badge-attempted-shadow:none;--num-badge-solved-bg:#f0fdf4;--num-badge-solved-text:#15803d;--num-badge-solved-border:#86efac;--num-badge-solved-shadow:none;--pane-tab-text:#64748b;--pane-tab-active-text:#0f172a;--editor-btn-border:#e2e8f0;--editor-btn-text:#475569;--editor-btn-hover-bg:#f1f5f9;--editor-btn-hover-border:#cbd5e1;--editor-font-size-text:#64748b;--again-btn-bg:#f0fdf4;--again-btn-border:#86efac;--again-btn-text:#15803d;--again-btn-hover-bg:#dcfce7;--again-btn-hover-border:#4ade80;--again-btn-hover-shadow:none;--again-confirm-bg:#fffbeb;--again-confirm-border:#fcd34d;--again-confirm-text:#b45309;--again-confirm-hover-bg:#fef3c7;--again-confirm-hover-border:#f59e0b;--again-confirm-hover-shadow:none;--again-cancel-bg:#f8fafc;--again-cancel-border:#e2e8f0;--again-cancel-text:#64748b;--again-cancel-hover-bg:#f1f5f9;--again-cancel-hover-border:#94a3b8;--reveal-btn-bg:#ede9fe;--reveal-btn-border:#c4b5fd;--reveal-btn-text:#6d28d9;--reveal-btn-hover-bg:#ddd6fe;--reveal-btn-hover-shadow:none;--concept-pane-body-text:#334155;--concept-pane-h3-text:#0f172a;--concept-pane-th-text:#334155;--md-pre-bg:var(--bg-deep);--md-code-block-text:#1e3a8a;--md-code-block-bg:var(--bg-surface);--md-code-inline-bg:#eef2f7;--md-code-inline-text:#0f172a;--notes-textarea-bg:var(--bg-panel);--pw-section-title-text:#0f172a;--pw-pct-text:#64748b;--pw-diff-stat-text:#64748b;--hm-cell-bg:#ebedf0;--pw-cat-btn-bg:#2563eb;--pw-cat-btn-border:#2563eb;--pw-cat-btn-text:#fff;--pw-cat-btn-hover-bg:#1d4ed8;--pw-cat-btn-hover-border:#1d4ed8;--chip-solved-bg:#ecfdf5;--chip-attempted-bg:#fffbeb;--chip-unseen-bg:var(--bg-surface);--chip-unseen-num-lbl-text:#475569;--settings-toggle-bg:var(--border-strong);--settings-toggle-border:var(--border);--roadmap-bg:#f1f5f9;--rn-untouched-bg:var(--bg-panel);--rn-untouched-border:var(--border-strong);--rn-in-progress-bg:var(--bg-accent);--rn-tooltip-text:#0f172a;--rn-tooltip-title-text:#0f172a;--topic-pill-code-bg:#dcfce7;--topic-pill-code-text:#15803d;--activity-day-bg:var(--bg-surface);--activity-day-title-text:#0f172a;--activity-th-text:#94a3b8;--activity-th-border:#e2e8f0;--activity-row-hover-bg:#f8fafc;--activity-td-text:#475569;--activity-td-border:#e2e8f0;--activity-problem-text:#0f172a;--activity-stat-card-bg:#fff;--activity-stat-card-border:#e2e8f0;--activity-stat-accepted-border-left:#22c55e;--activity-stat-wrong-border-left:#f87171;--activity-stat-num-text:#0f172a;--activity-stat-accepted-num-text:#16a34a;--activity-stat-wrong-num-text:#dc2626;--activity-status-accepted-text:#16a34a;--related-topic-bg:#f3e8ff;--related-topic-border:#d8b4fe;--related-topic-text:#6d28d9;--related-topic-strong-text:#6d28d9;--related-practice-border-top:#e2e8f0;--related-question-bg:#fff;--related-question-border:#e2e8f0;--related-question-text:#334155;--related-question-hover-border:#cbd5e1;--related-question-hover-bg:#f8fafc;--tw-btn-bg:#f1f5f9;--tw-btn-border:#e2e8f0;--tw-btn-text:#475569;--tw-btn-hover-bg:#e2e8f0;--tw-btn-hover-text:#0f172a;--tw-pop-bg:#fff;--tw-pop-border:#e2e8f0;--tw-mode-bg:#f1f5f9;--tw-mode-border:#e2e8f0;--tw-mode-btn-active-text:#4338ca;--tw-mode-btn-active-bg:#e0e7ff;--tw-dur-bg:#f8fafc;--tw-dur-border:#e2e8f0;--tw-dur-text:#334155;--tw-dur-active-bg:#e2e8f0;--tw-dur-active-text:#0f172a;--tw-display-text:#0f172a;--tw-start-bg:#dcfce7;--tw-start-border:#86efac;--tw-start-text:#15803d;--tw-start-hover-bg:#bbf7d0;--tw-start-hover-border:#4ade80;--tw-reset-bg:#f1f5f9;--tw-reset-border:#e2e8f0;--pw-badges-card-bg:#fff;--pw-badges-card-border:#e2e8f0;--pw-badge-bg:#f8fafc;--pw-badge-border:#e2e8f0;--pw-badge-unlocked-bg:#fffbeb;--pw-badge-unlocked-border:#fcd34d;--pw-badge-unlocked-title-text:#b45309;--toast-bg:#fff;--toast-text:#0f172a;--toast-border:#e2e8f0;--toast-success-text:#15803d;--toast-error-text:#b91c1c;--sync-dot-text:#15803d;--sync-dot-syncing-text:#1d4ed8;--sync-dot-error-text:#b91c1c;--practice-tag-select-bg:#f1f5f9;--practice-tag-select-border:#e2e8f0;--practice-tag-select-text:#475569;--practice-shuffle-bg:#f1f5f9;--practice-shuffle-border:#e2e8f0;--practice-shuffle-hover-text:#2563eb;--pw-mock-bg:linear-gradient(90deg, #f0fdfa 0%, #fff 70%);--pw-mock-border:#99f6e4;--pw-mock-hover-shadow:0 0 16px #14b8a633;--pw-mock-badge-text:#0f766e;--pw-mock-badge-bg:#ccfbf1;--pw-mock-badge-border:#5eead4;--pw-mock-text:#64748b;--pw-mock-go-text:#0d9488;--mock-banner-bg:#f0fdfa;--mock-banner-border:#99f6e4;--mock-banner-label-text:#0f766e;--mock-banner-btn-text:#64748b;--mock-banner-btn-border:#cbd5e1;--mock-banner-btn-hover-text:#0f172a;--mock-banner-btn-hover-border:#94a3b8;--mock-banner-btn-next-text:#0d9488;--mock-banner-btn-next-border:#5eead4;--mock-summary-name-text:#0f172a;--mock-summary-mark-bg:#fef2f2;--mock-summary-mark-text:#b91c1c;--mock-summary-mark-solved-bg:#f0fdf4;--mock-summary-mark-solved-text:#15803d;--hm-l0-bg:#d1dae3;--hm-l1-bg:#9be9a8;--hm-l2-bg:#40c463;--hm-l3-bg:#30a14e;--hm-l4-bg:#216e39}*,:before,:after{box-sizing:border-box}html,body,#root{-webkit-font-smoothing:antialiased;background:var(--bg-app);height:100%;color:var(--text-2);margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden}button{cursor:pointer;font-family:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}input:focus-visible,textarea:focus-visible{outline-offset:0;border-radius:6px;outline:2px solid #60a5fa}.practice-bookmark-btn,.practice-filter-toggle,.practice-filter-diff-chip,.practice-saved-toggle,.practice-hide-solved,.practice-again-btn,.copy-code-btn,.reveal-solution-btn,.editor-format-btn,.editor-font-btn{position:relative}.practice-bookmark-btn:before,.practice-filter-toggle:before,.practice-filter-diff-chip:before,.practice-saved-toggle:before,.practice-hide-solved:before,.practice-again-btn:before,.copy-code-btn:before,.reveal-solution-btn:before,.editor-format-btn:before,.editor-font-btn:before{content:"";width:max(100%,24px);height:max(100%,24px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:9999;color:#fff;background:#3b82f6;border-radius:0 0 6px 6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:top .1s;position:absolute;top:-100%;left:8px}.skip-link:focus{top:0}.main-content:focus{outline:none}.app-shell{background:var(--bg-app);height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;position:relative;overflow:hidden}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-block{background:linear-gradient(90deg, var(--bg-panel) 25%, var(--bg-elevated) 50%, var(--bg-panel) 75%);background-size:1200px 100%;border-radius:4px;animation:1.6s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){.skeleton-block{background:var(--bg-panel);animation:none}}[data-reduced-motion] .skeleton-block{background:var(--bg-panel);animation:none}.route-loading{box-sizing:border-box;flex-direction:column;gap:10px;height:100%;padding:20px 24px;display:flex}.route-loading-header{border-radius:6px;width:220px;height:26px}.route-loading-sub{border-radius:4px;width:340px;height:14px}.route-loading-panes{flex:1;gap:8px;margin-top:8px;display:flex}.route-loading-pane{border-radius:6px;flex:1}.error-boundary,.not-found{place-items:center;min-height:100%;padding:32px;display:grid}.error-boundary-card,.not-found-card{text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:40px 32px}.error-boundary-icon{margin-bottom:12px;font-size:36px}.not-found-code{color:var(--text-4);margin-bottom:12px;font-size:72px;font-weight:700;line-height:1}.error-boundary-title,.not-found-title{color:var(--text-1);margin:0 0 8px;font-size:20px;font-weight:600}.error-boundary-message,.not-found-message{color:var(--text-3);margin:0 0 24px;font-size:14px;line-height:1.5}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;min-width:240px;height:100vh;transition:width .2s,min-width .2s;display:flex;overflow:hidden}.sidebar--collapsed{width:52px;min-width:52px}.sidebar-backdrop,.app-mobile-menu-btn{display:none}@media (width<=767px){.sidebar{z-index:200;height:100dvh;box-shadow:none;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0);box-shadow:4px 0 24px #0006}.sidebar--collapsed{transform:translate(-100%)}.sidebar--collapsed.sidebar--mobile-open{transform:translate(0)}.sidebar-backdrop{z-index:199;background:#0000008c;display:block;position:fixed;inset:0}.app-mobile-menu-btn{z-index:100;background:var(--bg-panel);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex;position:fixed;top:10px;left:10px}.app-mobile-menu-btn:hover{background:var(--bg-elevated)}.app-mobile-menu-icon{line-height:1}.main-content{padding-top:52px}}.panel-group[data-panel-group-direction=vertical]{flex-direction:column}.panel-group[data-panel-group-direction=vertical] .resize-handle{cursor:row-resize;width:100%;height:4px}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;min-height:58px;padding:14px 12px;display:flex}.sidebar-title{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:0;transition:opacity .15s;display:flex;overflow:hidden}.sidebar-title:hover{opacity:.75}.sidebar-logo{flex-shrink:0;align-items:center;display:inline-flex}.sidebar-name{color:var(--text-1);white-space:nowrap;font-size:14px;font-weight:700}.sidebar-meta{color:var(--sidebar-meta-text);font-size:11px}.sidebar-toggle{border:1px solid var(--border);color:var(--text-4);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;transition:border-color .15s,color .15s;display:flex}.sidebar-toggle:hover{color:#3b82f6;border-color:#3b82f6}.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:8px 0 16px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:4px}.sidebar-category{margin-bottom:2px}.sidebar-cat-btn{width:100%;color:var(--sidebar-cat-btn-text);text-transform:uppercase;letter-spacing:.8px;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:color .15s;display:flex}.sidebar-cat-btn:hover{color:var(--text-1)}.sidebar-cat-btn--active{color:#60a5fa}.sidebar-cat-emoji{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.sidebar-cat-label{flex:1}.sidebar-cat-chevron{color:var(--text-muted);align-items:center;line-height:0;transition:transform .2s;display:inline-flex}.sidebar-cat-chevron--open{transform:rotate(180deg)}.sidebar-topic-list{margin:0;padding:0 0 4px;list-style:none}.sidebar-topic-btn{width:100%;color:var(--sidebar-topic-btn-text);text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:6px 12px 6px 28px;font-size:13px;transition:color .15s,background .15s;display:flex}.sidebar-topic-btn:hover{color:var(--text-1);background:var(--bg-surface)44}.sidebar-topic-btn--active{font-weight:500;color:var(--accent-blue-text)!important;background:var(--bg-accent)!important}.sidebar-topic-dot{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.sidebar-topic-btn--active .sidebar-topic-dot{opacity:1}.sidebar-topic-row{align-items:stretch;display:flex}.sidebar-topic-row .sidebar-topic-btn{flex:1;min-width:0}.sidebar-bookmark-btn{width:28px;color:var(--text-muted);cursor:pointer;opacity:.3;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:flex}.sidebar-topic-row:hover .sidebar-bookmark-btn,.sidebar-bookmark-btn:focus-visible,.sidebar-bookmark-btn--on{opacity:1}.sidebar-bookmark-btn:hover{color:var(--text-1)}.sidebar-bookmark-btn--on{color:#f5b301}.sidebar-bookmark-btn--on:hover{color:#fbbf24}.sidebar--collapsed .sidebar-topic-btn{justify-content:center;padding:6px 4px}.topic-view{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.topic-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 16px;display:flex;position:relative}.topic-breadcrumb{color:var(--topic-breadcrumb-text);align-items:center;gap:5px;font-size:13px;display:inline-flex}.topic-breadcrumb-emoji{display:inline-flex}.topic-breadcrumb-sep{color:var(--text-disabled);vertical-align:middle;align-items:center;display:inline-flex}.topic-title{color:var(--text-1);margin:0;font-size:13px;font-weight:600;display:inline}@media (width<=767px){.topic-header nav{flex:1;align-items:center;min-width:0;display:flex}.topic-breadcrumb{flex-shrink:0}.topic-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;display:inline-block;overflow:hidden}.topic-header nav .practice-bookmark-btn{flex-shrink:0}.topic-header .topic-nav{position:static;transform:none}.playground-launch-label{display:none}}.topic-pill{letter-spacing:.5px;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600}.topic-pill--code{background:var(--topic-pill-code-bg);color:var(--topic-pill-code-text)}.topic-code-btn{cursor:pointer;border:1px solid #2a3f2a;align-items:center;gap:4px;transition:background .15s,border-color .15s;display:inline-flex}.topic-code-btn:hover{background:#243a28;border-color:#4ade80}.topic-code-btn--active{background:#22c55e22;border-color:#4ade8088}.panels-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.panel-group{flex:1!important;height:100%!important}.panel{overflow:hidden}.resize-handle{background:var(--bg-surface);cursor:col-resize;flex-shrink:0;transition:background .2s;position:relative;width:4px!important}.resize-handle:hover,.resize-handle[data-resize-handle-active]{background:#3b82f6}.resize-handle:after{content:"";position:absolute;inset:0 -2px}.pane-wrapper{flex-direction:column;height:100%;display:flex;overflow:hidden}.pane-label{text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.pane-concept .pane-label{color:var(--accent-blue-text);background:var(--bg-panel)}.pane-editor .pane-label{color:var(--accent-green-text);background:var(--bg-panel)}.pane-preview .pane-label{color:var(--accent-purple-text);background:var(--bg-panel)}.concept-pane{scrollbar-width:thin;scrollbar-color:var(--border) transparent;color:var(--concept-pane-body-text);flex:1;padding:20px 20px 40px;overflow-y:auto}.concept-pane::-webkit-scrollbar{width:4px}.concept-pane::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:4px}.sandpack-fill{flex-direction:column;flex:1;display:flex;overflow:hidden}.sandpack-fill>*{flex:1!important;min-height:0!important}.sp-wrapper,.sp-layout,.sp-editor,.sp-stack{height:100%!important;max-height:none!important}.concept-pane h1,.concept-pane .md-h1,.concept-pane .md-h2{color:var(--text-1);border-bottom:1px solid var(--border);letter-spacing:-.3px;margin:0 0 16px;padding-bottom:10px;font-size:18px;font-weight:700}.concept-pane .md-h3{text-transform:uppercase;letter-spacing:1.2px;color:var(--concept-pane-h3-text);margin:20px 0 10px;font-size:12px;font-weight:600}.concept-pane .md-h4{color:var(--text-3);margin:14px 0 8px;font-size:13px;font-weight:600}.concept-pane p{color:var(--concept-pane-body-text);margin:0 0 12px;font-size:15px;line-height:1.75}.concept-pane ul,.concept-pane ol{margin:0 0 12px;padding-left:20px}.concept-pane li{color:var(--concept-pane-body-text);margin-bottom:4px;font-size:15px;line-height:1.7}.concept-pane strong{color:var(--text-1);font-weight:600}.concept-pane a{color:#60a5fa;text-decoration:none}.concept-pane a:hover{text-decoration:underline}.concept-pane .md-pre{background:var(--md-pre-bg);border:1px solid var(--border);scrollbar-width:thin;border-radius:8px;margin:12px 0;padding:14px 16px;overflow-x:auto}.concept-pane .md-code-block{color:var(--md-code-block-text);background:var(--md-code-block-bg);white-space:pre;padding:0;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12.5px;line-height:1.65}.concept-pane .md-code-inline{color:var(--md-code-inline-text);background:var(--md-code-inline-bg);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.md-table-wrap{margin:12px 0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:13px}.md-table th{background:var(--bg-surface);color:var(--concept-pane-th-text);text-transform:uppercase;letter-spacing:.8px;text-align:left;border:1px solid var(--border-strong);padding:8px 12px;font-size:11px;font-weight:600}.md-table td{border:1px solid var(--border);color:var(--concept-pane-body-text);vertical-align:top;padding:7px 12px}.md-table tr:nth-child(2n) td{background:var(--bg-panel)22}.md-blockquote{background:var(--bg-accent)22;border-left:3px solid #3b82f6;border-radius:0 6px 6px 0;margin:12px 0;padding:8px 16px}.md-blockquote p{color:#93c5fd;margin:0}.welcome{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:48px 48px 80px;overflow-y:auto}.welcome-hero{text-align:center;margin-bottom:48px}.welcome-logo{color:#f59e0b;justify-content:center;margin-bottom:16px;display:flex}.welcome-heading{color:var(--text-1);letter-spacing:-1px;margin:0 0 12px;font-size:32px;font-weight:800}.welcome-sub{color:var(--text-4);margin:0;font-size:15px}.home-quick-action{background:var(--bg-accent);border:1px solid #3b82f633;border-radius:12px;align-items:center;gap:16px;margin-bottom:40px;padding:14px 20px;display:flex}.home-qa-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.home-qa-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;font-size:11px;font-weight:600}.home-qa-cat{color:var(--text-4);flex-shrink:0;font-size:12px}.home-qa-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}@media (width<=640px){.home-quick-action{flex-direction:column;align-items:stretch;gap:10px}.home-qa-left{flex-direction:column;align-items:flex-start;gap:4px}.home-qa-title{align-self:stretch}.home-qa-cta{justify-content:center}}.home-cat-section{margin-bottom:32px}.home-cat-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px;display:grid}.home-cat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:18px 18px 14px;transition:border-color .15s;display:flex}.home-cat-card:hover{border-color:var(--border-strong)}.home-cat-top{align-items:center;gap:8px;display:flex}.home-cat-emoji{align-items:center;font-size:18px;line-height:0;display:flex}.home-cat-name{color:var(--text-2);flex:1;font-size:14px;font-weight:700}.home-cat-fraction{color:var(--text-1);font-size:16px;font-weight:800}.home-cat-denom{color:var(--text-muted);font-size:12px;font-weight:500}.home-cat-track{background:var(--bg-surface);border-radius:99px;height:5px;overflow:hidden}.home-cat-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:99px;min-width:3px;height:100%;transition:width .5s}.home-cat-btn{border:1px solid var(--pw-cat-btn-border);background:var(--pw-cat-btn-bg);width:100%;color:var(--pw-cat-btn-text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:7px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.home-cat-btn:hover{background:var(--pw-cat-btn-hover-bg);border-color:var(--pw-cat-btn-hover-border)}.home-roadmap-btn{width:100%;color:var(--text-3);background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.home-roadmap-btn:hover{color:var(--text-1);border-color:var(--border-strong);background:var(--bg-hover)}.sidebar-search-wrap{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:7px;flex-shrink:0;align-items:center;gap:6px;margin:8px 10px;padding:6px 10px;transition:border-color .15s;display:flex}.sidebar-search-wrap:focus-within{border-color:#3b82f6}.sidebar-search-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.sidebar-search{color:var(--text-2);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:12.5px}.sidebar-search::placeholder{color:var(--text-muted)}.sidebar-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1;transition:color .15s}.sidebar-search-clear:hover{color:var(--text-3)}.sidebar-cat-search-header{align-items:center;gap:6px;padding:6px 12px 3px;display:flex}.sidebar-cat-search-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:11px;font-weight:700}.sidebar-no-results{color:var(--text-muted);text-align:center;padding:20px 16px;font-size:12.5px}.sidebar-topic-check{color:#22c55e;flex-shrink:0;align-items:center;width:14px;line-height:0;display:inline-flex}.sidebar-cat-done-badge{color:#22c55e;background:var(--bg-success);border:1px solid #22c55e44;border-radius:99px;flex-shrink:0;margin-right:2px;padding:1px 6px;font-size:11px;font-weight:600}.concept-h1-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;margin-bottom:16px;padding-bottom:10px;display:flex}.concept-h1-row .md-h1,.concept-h1-row .md-h2{flex:1;border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important}.mark-done-btn{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;flex-shrink:0;align-items:center;gap:4px;margin-top:3px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.mark-done-btn:hover{color:#4ade80;background:var(--bg-success)66;border-color:#22c55e}.mark-done-btn--done{color:#4ade80;background:var(--bg-success);border-color:#22c55e;animation:.4s cubic-bezier(.34,1.56,.64,1) markDonePop}@keyframes markDonePop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.mark-done-btn--done:hover{color:#f87171;background:#2d0d0d66;border-color:#ef4444}.concept-next-topic-link{border:1px solid var(--accent-blue-border);color:var(--accent-blue-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:99px;flex-shrink:0;align-items:center;gap:3px;margin-top:3px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s;display:inline-flex}.concept-next-topic-link:hover{background:var(--accent-blue-bg)}.gloss-term{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--accent-blue-solid);text-decoration-color:var(--accent-blue-solid);text-underline-offset:3px;cursor:help;line-height:inherit;display:inline-block}.gloss-tooltip{background:var(--tooltip-bg);border:1px solid var(--tooltip-border);width:268px;color:var(--text-primary);white-space:normal;pointer-events:none;z-index:9999;box-shadow:var(--tooltip-shadow);border-top:2px solid var(--accent-blue-solid);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:12px;font-style:normal;font-weight:400;line-height:1.55;text-decoration:none;position:fixed}strong .gloss-term,em .gloss-term{font-weight:inherit;font-style:inherit}.playground-launch-position{flex-shrink:0;margin-left:auto}.playground{z-index:20;background:var(--bg-app);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.playground-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:44px;padding:0 16px;display:flex}.playground-title-row{align-items:center;gap:8px;display:flex;overflow:hidden}.playground-icon{color:#f59e0b;flex-shrink:0;align-items:center;display:inline-flex}.playground-name{color:var(--text-1);white-space:nowrap;font-size:14px;font-weight:700}.playground-hint{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.playground-close{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:inline-flex}.playground-close:hover{color:var(--text-2);background:var(--bg-surface)}.playground-panels{flex-direction:column;flex:1;display:flex;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:8px 10px}.sidebar-roadmap-btn{border:1px solid var(--border);width:100%;color:var(--text-4);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.sidebar-roadmap-btn:hover{color:#60a5fa;background:var(--bg-accent)22;border-color:#3b82f6}.sidebar-roadmap-icon{align-items:center;line-height:0;display:inline-flex}.sidebar-roadmap-label{text-align:left;flex:1}.welcome-sub-done{color:#22c55e;font-weight:600}.roadmap-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.roadmap-modal{background:var(--bg-app);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-width:1100px;height:calc(100vh - 80px);display:flex;overflow:hidden;box-shadow:0 24px 80px #0009}.roadmap-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 20px;display:flex}.roadmap-modal-title-row{align-items:center;gap:10px;display:flex;overflow:hidden}.roadmap-modal-icon{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.roadmap-modal-title{color:var(--text-1);white-space:nowrap;font-size:15px;font-weight:700}.roadmap-modal-hint{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.roadmap-modal-close{border:1px solid var(--border-strong);color:var(--text-4);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.roadmap-modal-close:hover{color:#f87171;border-color:#ef4444}.roadmap-modal-body{background:var(--roadmap-bg);flex:1;overflow:hidden}.react-flow__renderer{background:0 0}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__node{cursor:pointer}.react-flow__node.selected{box-shadow:none}.rn-handle{opacity:0!important;pointer-events:none!important;background:0 0!important;border:none!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important}.rn{cursor:pointer;border:2px solid #0000;border-radius:10px;width:185px;font-family:Inter,system-ui,sans-serif;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative}.rn:hover{z-index:10;transform:translateY(-2px);box-shadow:0 8px 24px #00000080}.rn--untouched{background:var(--rn-untouched-bg);border-color:var(--rn-untouched-border)}.rn--untouched:hover{border-color:#6b7ce8}.rn--in-progress{background:var(--rn-in-progress-bg);border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f633}.rn--in-progress:hover{border-color:#60a5fa;box-shadow:0 6px 20px #3b82f640}.rn--complete{background:var(--bg-success);border-color:#22c55e;box-shadow:0 0 0 1px #22c55e33}.rn--complete:hover{border-color:#4ade80;box-shadow:0 6px 20px #22c55e40}.rn-body{padding:10px 12px 9px}.rn-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.rn-emoji{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.rn-label{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.1px;flex:1;font-size:12.5px;font-weight:700;overflow:hidden}.rn-count{color:#22c55e;background:var(--bg-success);border:1px solid #22c55e44;border-radius:99px;flex-shrink:0;padding:1px 5px;font-size:11px;font-weight:600}.rn-bar-track{background:#ffffff1a;border-radius:99px;height:4px;overflow:hidden}.rn-bar-fill{background:#22c55e;border-radius:99px;min-width:3px;height:100%;transition:width .4s}.rn--untouched .rn-bar-fill{background:#fff3}.rn-tooltip{background:var(--bg-panel);border:1px solid var(--border-strong);z-index:9999;pointer-events:none;width:230px;color:var(--rn-tooltip-text);border-radius:10px;padding:10px 12px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0009}.rn-tooltip:before{content:"";background:var(--bg-panel);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.rn-tooltip-title{color:var(--rn-tooltip-title-text);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px;font-size:11px;font-weight:700;display:flex}.rn-tooltip-list{margin:0 0 8px;padding:0;list-style:none}.rn-tooltip-item{color:var(--text-3);align-items:center;gap:6px;padding:2px 0;font-size:11.5px;line-height:1.4;display:flex}.rn-tooltip-item--done{color:#4ade80}.rn-tooltip-check{color:#22c55e;flex-shrink:0;align-items:center;width:12px;line-height:0;display:inline-flex}.rn-tooltip-cta{color:#3b82f6;border-top:1px solid var(--border);text-align:center;padding-top:6px;font-size:11px;font-weight:600}.mode-toggle{background:var(--mode-toggle-bg);border:1px solid var(--border);border-radius:8px;flex-shrink:0;gap:2px;margin:8px 10px 2px;padding:3px;display:flex}.mode-toggle-btn{cursor:pointer;color:var(--mode-toggle-btn-text);letter-spacing:.2px;background:0 0;border:none;border-radius:6px;flex:1;padding:5px 0;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s,background .15s}.mode-toggle-btn:hover{color:var(--text-3)}.mode-toggle-btn--active{background:var(--mode-toggle-active-bg);color:var(--text-2);box-shadow:var(--mode-toggle-active-shadow)}.sidebar-practice-cat-header{justify-content:space-between;align-items:center;padding:10px 12px 3px;display:flex}.sidebar-practice-footer{padding:4px}.sidebar-practice-footer-hint{color:var(--text-disabled);text-align:center;font-size:11px;line-height:1.5;display:block}.practice-diff-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.practice-diff-dot--easy{background:#4ade80}.practice-diff-dot--medium{background:#fbbf24}.practice-diff-dot--hard{background:#f87171}.diff-badge{letter-spacing:.5px;border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.diff-badge--easy{color:#4ade80;background:#4ade8022;border:1px solid #4ade8044}.diff-badge--medium{color:#fbbf24;background:#fbbf2422;border:1px solid #fbbf2444}.diff-badge--hard{color:#f87171;background:#f8717122;border:1px solid #f8717144}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn--sm{min-height:24px;padding:3px 8px;font-size:12px}.btn--md{padding:5px 12px;font-size:13px}.btn--primary{background:var(--accent-blue-border);color:#fff;border-color:var(--accent-blue-border)}.btn--primary:hover:not(:disabled){opacity:.85}.btn--secondary{background:var(--bg-surface);color:var(--text-1);border-color:var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover)}.btn--ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--bg-surface);color:var(--text-1)}.btn--danger{color:#fff;background:#ef4444;border-color:#ef4444}.btn--danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.cat-badge{letter-spacing:.5px;background:var(--bg-surface);color:var(--text-3);border:1px solid var(--border-strong);border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.practice-view{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.practice-header{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 16px;display:flex}.practice-bookmark-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:3px;transition:color .15s,background .15s;display:inline-flex}.practice-bookmark-btn:hover{color:var(--text-1);background:var(--bg-surface)66}.practice-bookmark-btn--on{color:#f5b301}.practice-bookmark-btn--on:hover{color:#fbbf24}.topic-header nav .practice-bookmark-btn{vertical-align:middle;margin-left:4px}.practice-nav{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.practice-nav-group{align-items:center;gap:2px;display:flex}.practice-timer{color:var(--practice-timer-text);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:12px;display:inline-flex}.practice-timer-value{letter-spacing:.3px;font-weight:600}.practice-timer--stopped{color:#4ade80}.practice-timer--interview{color:#f59e0b}.practice-mode-toggle{color:var(--text-3);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.practice-mode-toggle:hover{background:var(--bg-hover);border-color:var(--text-muted);color:var(--text-2)}.practice-mode-dot{background:#475569;border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .15s,box-shadow .15s}.practice-mode-toggle--on{color:var(--mode-toggle-on-text);background:var(--mode-toggle-on-bg);border-color:var(--mode-toggle-on-border)}.practice-mode-toggle--on .practice-mode-dot{box-shadow:var(--mode-toggle-on-dot-shadow);background:#f59e0b}.interview-hidden-note{color:var(--hidden-note-text);background:var(--hidden-note-bg);border:1px solid var(--hidden-note-border);border-radius:8px;align-items:center;gap:7px;margin-top:14px;padding:10px 12px;font-size:12px;display:flex}.practice-nav-divider{background:var(--bg-surface);align-self:stretch;width:1px;margin:4px}.nav-accent{color:var(--nav-btn-accent-text);background:var(--nav-btn-accent-bg);border-color:var(--nav-btn-accent-border)}.nav-accent:hover:not(:disabled){background:var(--nav-btn-accent-hover-bg);border-color:var(--nav-btn-accent-hover-border);color:var(--nav-btn-accent-hover-text)}.practice-nav-label-compact{display:none}@media (width<=1100px){.practice-nav-label{display:none}.practice-nav-label.practice-nav-label--persistent,.practice-nav-label-compact{display:inline}}@media (width<=767px){.practice-header{flex-wrap:wrap;height:auto;min-height:44px;padding:8px 16px}.practice-nav{flex-wrap:wrap;flex-basis:100%;justify-content:flex-end}}.pane-tabs{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;gap:0;display:flex}.pane-tab{color:var(--pane-tab-text);cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:7px 16px;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.pane-tab:hover{color:var(--text-3)}.pane-tab--active{color:var(--pane-tab-active-text);border-bottom-color:#a855f7}.practice-welcome{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:36px 44px 80px;overflow-y:auto}.pw-section{margin-bottom:36px}.pw-section-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--pw-section-title-text);margin:0 0 14px;font-size:11px;font-weight:700}.pw-quick-action{background:var(--bg-accent);border:1px solid #3b82f633;border-radius:12px;align-items:center;gap:16px;margin-bottom:16px;padding:14px 20px;display:flex}.pw-qa-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pw-qa-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;font-size:11px;font-weight:600}.pw-qa-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}@media (width<=640px){.pw-quick-action{flex-direction:column;align-items:stretch;gap:10px}.pw-qa-left{flex-direction:column;align-items:flex-start;gap:4px}.pw-qa-title{align-self:stretch}.pw-qa-cta{justify-content:center}}.pw-hero{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;margin-bottom:32px;padding:28px 28px 22px}.pw-hero-top{align-items:center;gap:10px;margin-bottom:20px;display:flex}.pw-hero-icon{color:#22d3ee;align-items:center;line-height:0;display:inline-flex}.pw-hero-heading{color:var(--text-1);letter-spacing:-.3px;font-size:18px;font-weight:800}.pw-overall{margin-bottom:20px}.pw-overall-labels{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.pw-overall-score{color:var(--text-1);letter-spacing:-1px;font-size:32px;font-weight:800;line-height:1}.pw-overall-denom{color:var(--text-muted);font-size:18px;font-weight:500}.pw-overall-pct{color:var(--pw-pct-text);font-size:12px;font-weight:600}.pw-overall-track{background:var(--bg-surface);border-radius:99px;height:8px;overflow:hidden}.pw-overall-fill{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:99px;min-width:4px;height:100%;transition:width .5s}.pw-chips{gap:10px;display:flex}.pw-chip{border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 8px;display:flex}.pw-chip-icon{align-items:center;line-height:0;display:flex}.pw-chip-num{font-size:20px;font-weight:800;line-height:1.1}.pw-chip-lbl{text-transform:uppercase;letter-spacing:.5px;opacity:.7;font-size:11px;font-weight:600}.pw-chip--solved{background:var(--chip-solved-bg);color:#22c55e;border-color:#166534}.pw-chip--attempted{background:var(--chip-attempted-bg);color:#f59e0b;border-color:#78350f}.pw-chip--unseen{background:var(--chip-unseen-bg);color:var(--text-4);border-color:var(--border)}.pw-chip--unseen .pw-chip-num,.pw-chip--unseen .pw-chip-lbl{color:var(--chip-unseen-num-lbl-text)}.pw-cat-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.pw-cat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:18px 18px 14px;transition:border-color .15s;display:flex}.pw-cat-card:hover{border-color:var(--border-strong)}.pw-cat-top{align-items:center;gap:8px;display:flex}.pw-cat-emoji{align-items:center;line-height:0;display:flex}.pw-cat-name{color:var(--text-2);flex:1;font-size:14px;font-weight:700}.pw-cat-fraction{color:var(--text-1);font-size:16px;font-weight:800}.pw-cat-denom{color:var(--text-muted);font-size:12px;font-weight:500}.pw-cat-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pw-cat-header .pw-section-title{margin:0}.pw-reset-all{border:1px solid var(--border);color:var(--text-4);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.pw-reset-all:hover{color:#f87171;background:#ef444414;border-color:#ef444466}.pw-cat-reset{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.pw-cat-reset:hover{color:#f59e0b;background:#f59e0b1f}.pw-reset-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061799;justify-content:center;align-items:center;padding:20px;animation:.15s pwResetFade;display:flex;position:fixed;inset:0}@keyframes pwResetFade{0%{opacity:0}to{opacity:1}}.pw-reset-modal{background:var(--bg-panel);border:1px solid var(--border-strong);text-align:center;border-radius:14px;width:100%;max-width:420px;padding:24px;animation:.18s pwResetPop;box-shadow:0 20px 60px #00000080}@keyframes pwResetPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.pw-reset-modal-icon{color:#ef4444;background:#ef44441f;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:14px;display:inline-flex}.pw-reset-modal-title{color:var(--text-1);margin:0 0 8px;font-size:17px;font-weight:700}.mock-summary .pw-reset-modal-title{align-items:center;gap:7px;display:flex}.pw-reset-modal-text{color:var(--text-3);margin:0 0 20px;font-size:13.5px;line-height:1.55}.pw-reset-modal-text strong{color:var(--text-2)}.pw-reset-modal-actions{justify-content:center;gap:10px;display:flex}.pw-cat-track{background:var(--bg-surface);border-radius:99px;height:5px;overflow:hidden}.pw-cat-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:99px;min-width:3px;height:100%;transition:width .5s}.pw-cat-btn{border:1px solid var(--pw-cat-btn-border);background:var(--pw-cat-btn-bg);width:100%;color:var(--pw-cat-btn-text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:7px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.pw-cat-btn:hover{background:var(--pw-cat-btn-hover-bg);border-color:var(--pw-cat-btn-hover-border)}.pw-diff-list{flex-direction:column;gap:10px;display:flex}.pw-diff-row{align-items:center;gap:12px;display:flex}.pw-diff-badge{text-align:center;flex-shrink:0;width:60px}.pw-diff-track{background:var(--bg-surface);border-radius:99px;flex:1;height:7px;overflow:hidden}.pw-diff-fill{border-radius:99px;min-width:3px;height:100%;transition:width .5s}.pw-diff-fill--easy{background:linear-gradient(90deg,#16a34a,#22c55e)}.pw-diff-fill--medium{background:linear-gradient(90deg,#d97706,#f59e0b)}.pw-diff-fill--hard{background:linear-gradient(90deg,#dc2626,#ef4444)}.pw-diff-stat{color:var(--pw-diff-stat-text);text-align:right;min-width:36px;font-size:13px;font-weight:700}.pw-diff-denom{color:var(--text-muted);font-weight:400}.pw-row3{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}@media (width<=640px){.pw-row3{grid-template-columns:1fr}}.pw-next-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex}.pw-next-label{text-transform:uppercase;letter-spacing:1px;color:#3b82f6;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.pw-next-title{color:var(--text-1);font-size:15px;font-weight:700;line-height:1.3}.pw-next-meta{align-items:center;gap:8px;display:flex}.pw-next-cat{color:var(--text-4);font-size:11px}.pw-next-done{color:#22c55e;padding:12px 0;font-size:15px;font-weight:600}.pw-recent-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex}.pw-recent-label{text-transform:uppercase;letter-spacing:1px;color:#22c55e;font-size:11px;font-weight:700}.pw-recent-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.pw-recent-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 8px;transition:background .12s;display:flex}.pw-recent-item:hover{background:var(--bg-surface)}.pw-recent-check{color:#22c55e;flex-shrink:0;font-size:11px;font-weight:700}.pw-recent-name{color:var(--text-3);text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.pw-recent-time{color:var(--text-disabled);flex-shrink:0;font-size:11px}.pw-recent-empty{color:var(--text-disabled);padding:8px 0;font-size:12.5px}.practice-how{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;max-width:480px;margin:0 auto 48px;padding:20px 24px}.practice-section-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin:0 0 16px;font-size:13px;font-weight:700}.practice-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.practice-steps li{color:var(--text-3);align-items:center;gap:12px;font-size:14px;line-height:1.5;display:flex}.practice-steps strong{color:var(--text-2)}.practice-step-num{background:var(--bg-accent);color:#60a5fa;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.practice-categories{flex-direction:column;gap:40px;display:flex}.practice-cat-section .practice-section-title{margin-bottom:16px}.practice-question-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.practice-question-card{background:var(--bg-panel);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:10px;padding:14px 16px;font-family:inherit;transition:border-color .15s,background .15s,transform .1s}.practice-question-card:hover{border-color:var(--border-strong);background:#111827;transform:translateY(-1px)}.practice-qcard-top{margin-bottom:8px}.practice-qcard-title{color:var(--text-2);font-size:13px;font-weight:600;line-height:1.4}.test-toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.run-tests-btn{background:var(--bg-success);color:#4ade80;cursor:pointer;letter-spacing:.3px;border:1px solid #22c55e66;border-radius:6px;align-items:center;gap:5px;padding:4px 14px;font-family:inherit;font-size:11.5px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.run-tests-btn:hover{background:#14391f;border-color:#22c55e;box-shadow:0 0 8px #22c55e30}.test-toolbar-hint{color:var(--text-disabled);align-items:center;gap:7px;font-size:11px;display:inline-flex}.run-tests-kbd{color:var(--text-4);background:var(--bg-deep);border:1px solid var(--border);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1}.submit-btn{background:var(--submit-btn-bg);border:1px solid var(--submit-btn-border);color:var(--submit-btn-text);cursor:pointer;letter-spacing:.3px;border-radius:6px;align-items:center;gap:5px;padding:4px 14px;font-family:inherit;font-size:11.5px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.submit-btn:hover{background:var(--submit-btn-hover-bg);border-color:var(--submit-btn-hover-border);box-shadow:var(--submit-btn-hover-shadow)}.submit-kbd{color:var(--submit-kbd-text);background:var(--submit-kbd-bg);border:1px solid var(--submit-kbd-border);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1}.test-idle-prompt{text-align:center;color:var(--text-muted);flex:1;justify-content:center;align-items:center;padding:24px;font-size:13px;line-height:1.6;display:flex}.test-idle-prompt strong{color:#22c55e;font-weight:600}.practice-num-badge{letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.practice-num-badge--unseen{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-strong)}.practice-num-badge--attempted{background:var(--num-badge-attempted-bg);color:var(--num-badge-attempted-text);border:1px solid var(--num-badge-attempted-border);box-shadow:var(--num-badge-attempted-shadow)}.practice-num-badge--solved{background:var(--num-badge-solved-bg);color:var(--num-badge-solved-text);border:1px solid var(--num-badge-solved-border);box-shadow:var(--num-badge-solved-shadow)}.completion-overlay{z-index:400;cursor:pointer;background:#0000008c;justify-content:center;align-items:center;animation:.25s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.completion-card{background:var(--bg-panel);border:1px solid #22c55e55;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:40px 56px;animation:.35s cubic-bezier(.34,1.56,.64,1) cardPop;display:flex;box-shadow:0 0 60px #22c55e22,0 20px 60px #0009}@keyframes cardPop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.completion-check{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:.5s cubic-bezier(.34,1.56,.64,1) .1s both checkBounce;display:flex;box-shadow:0 0 32px #22c55e55}@keyframes checkBounce{0%{transform:scale(0)}to{transform:scale(1)}}.completion-title{color:#22c55e;letter-spacing:.3px;font-size:22px;font-weight:700}.completion-subtitle{color:var(--text-4);font-size:14px}.pane-label-actions{align-items:center;gap:8px;display:flex}.copy-code-btn{border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-3);cursor:pointer;letter-spacing:.2px;text-transform:none;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.copy-code-btn:hover{background:var(--bg-hover);border-color:var(--text-muted);color:var(--text-2)}.copy-code-btn--copied{color:#4ade80;background:var(--bg-success);border-color:#22c55e66}.reveal-solution-btn{border:1px solid var(--reveal-btn-border);background:var(--reveal-btn-bg);color:var(--reveal-btn-text);cursor:pointer;letter-spacing:.2px;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.reveal-solution-btn:hover{background:var(--reveal-btn-hover-bg);box-shadow:var(--reveal-btn-hover-shadow);border-color:#a78bfa}.submissions-badge{color:#fff;background:#3b82f6;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:5px;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.submissions-empty{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 20px;font-size:13px;line-height:1.5;display:flex}.submissions-pane{height:100%;padding:12px 0;overflow-y:auto}.submissions-table{border-collapse:collapse;width:100%;font-size:13px}.submissions-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 14px;font-size:11px;font-weight:600}.submissions-table tbody tr{border-bottom:1px solid #0f172a;transition:background .1s}.submissions-table tbody tr:hover{background:var(--bg-panel)}.submissions-table__num{color:var(--text-3);width:36px;padding:10px 14px;font-weight:600}.submissions-table__date{color:var(--text-1);font-variant-numeric:tabular-nums;padding:10px 14px}.submissions-table__action{text-align:right;padding:10px 14px}.submissions-view-btn{color:#60a5fa;cursor:pointer;white-space:nowrap;background:#0f1f3d;border:1px solid #1d4ed866;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.submissions-view-btn:hover{background:var(--bg-accent);border-color:#60a5fa}.practice-again-btn{border:1px solid var(--again-btn-border);background:var(--again-btn-bg);color:var(--again-btn-text);cursor:pointer;letter-spacing:.2px;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.practice-again-btn:hover{background:var(--again-btn-hover-bg);border-color:var(--again-btn-hover-border);box-shadow:var(--again-btn-hover-shadow)}.practice-again-btn--confirm{border-color:var(--again-confirm-border);background:var(--again-confirm-bg);color:var(--again-confirm-text)}.practice-again-btn--confirm:hover{background:var(--again-confirm-hover-bg);border-color:var(--again-confirm-hover-border);box-shadow:var(--again-confirm-hover-shadow)}.practice-again-btn--cancel{border-color:var(--again-cancel-border);background:var(--again-cancel-bg);color:var(--again-cancel-text)}.practice-again-btn--cancel:hover{background:var(--again-cancel-hover-bg);border-color:var(--again-cancel-hover-border)}.solution-drawer-backdrop{z-index:200;background:#00000073;animation:.18s fadeIn;position:fixed;inset:0}.solution-drawer{background:var(--bg-panel);border-left:1px solid var(--border);z-index:201;flex-direction:column;width:520px;max-width:90vw;height:100vh;animation:.22s slideInRight;display:flex;position:fixed;top:0;right:0;box-shadow:-8px 0 32px #00000080}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.solution-drawer-header{border-bottom:1px solid var(--border);background:var(--bg-app);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.solution-drawer-title{color:#a78bfa;letter-spacing:.3px;align-items:center;gap:5px;font-size:14px;font-weight:700;display:inline-flex}.solution-drawer-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1;transition:color .15s,background .15s}.solution-drawer-close:hover{color:var(--text-2);background:var(--bg-surface)}.solution-drawer-copy{border:1px solid var(--border-strong);color:var(--text-3);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.solution-drawer-copy:hover{color:var(--text-2);border-color:var(--text-muted);background:var(--bg-surface)}.solution-drawer-copy--copied{color:#4ade80;background:#052e16;border-color:#166534}.sandbox-boot-hint{background:var(--bg-panel);border:1px solid var(--border);max-width:calc(100% - 32px);color:var(--text-4);text-align:center;white-space:normal;pointer-events:none;z-index:5;border-radius:14px;padding:6px 14px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.preview-stale-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;cursor:pointer;background:#080c18c7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.preview-stale-card{background:var(--bg-panel);border:1px solid var(--border);pointer-events:none;border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:20px 32px;display:flex}.preview-stale-label{color:var(--text-4);letter-spacing:.2px;font-size:13px}.preview-stale-btn{background:var(--bg-accent);color:#93c5fd;border:1px solid #2563eb59;border-radius:6px;align-items:center;gap:6px;padding:5px 16px;font-size:12px;font-weight:500;display:inline-flex}.solution-drawer-body{flex:1;padding:18px;overflow-y:auto}.solution-drawer-code{color:var(--text-2);background:var(--bg-app);border:1px solid var(--border);white-space:pre;tab-size:2;border-radius:8px;margin:0;padding:16px 18px;font-family:Fira Code,Cascadia Code,JetBrains Mono,Menlo,monospace;font-size:12.5px;line-height:1.7;overflow-x:auto}.practice-filters{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:5px;padding:6px 10px 4px;display:flex}.learn-filters{flex-shrink:0;padding:4px 12px 8px}.practice-filter-row1{align-items:center;gap:4px;display:flex}.practice-filter-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:4px 6px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.practice-filter-toggle:hover{border-color:var(--border-strong);color:var(--text-3)}.practice-filter-toggle--open{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-2)}.practice-filter-status{flex:1;gap:3px;display:flex}.practice-filter-status-btn{text-transform:uppercase;letter-spacing:.4px;color:var(--filter-status-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:4px 2px;font-size:11px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.practice-filter-count{letter-spacing:0;text-transform:none;color:inherit;opacity:.8;font-size:11px;font-weight:700}.practice-filter-status-btn:hover{background:var(--bg-surface);color:var(--text-3)}.practice-filter-status-btn--all.practice-filter-status-btn--active{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-2)}.practice-filter-status-btn--unseen.practice-filter-status-btn--active{border-color:var(--border-strong);color:var(--text-3);background:#1c2533}.practice-filter-status-btn--attempted.practice-filter-status-btn--active{color:#f59e0b;background:#1f1a0e;border-color:#78350f}.practice-filter-status-btn--solved.practice-filter-status-btn--active{color:#22c55e;background:#0d1f12;border-color:#166534}.practice-filter-diff{gap:4px;display:flex}.practice-filter-diff-chip{border:1px solid var(--border);color:var(--filter-diff-text);cursor:pointer;opacity:.45;background:0 0;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 4px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:flex}.practice-filter-diff-chip--on{opacity:1}.practice-filter-diff-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.practice-filter-diff-chip--easy .practice-filter-diff-dot{background:#22c55e}.practice-filter-diff-chip--easy.practice-filter-diff-chip--on{color:var(--diff-chip-easy-text);border-color:var(--diff-chip-easy-border);background:var(--diff-chip-easy-bg)}.practice-filter-diff-chip--medium .practice-filter-diff-dot{background:#f59e0b}.practice-filter-diff-chip--medium.practice-filter-diff-chip--on{color:var(--diff-chip-medium-text);border-color:var(--diff-chip-medium-border);background:var(--diff-chip-medium-bg)}.practice-filter-diff-chip--hard .practice-filter-diff-dot{background:#ef4444}.practice-filter-diff-chip--hard.practice-filter-diff-chip--on{color:var(--diff-chip-hard-text);border-color:var(--diff-chip-hard-border);background:var(--diff-chip-hard-bg)}.practice-filter-toggles{justify-content:space-between;align-items:center;gap:10px;margin-top:9px;display:flex}.practice-saved-toggle{color:var(--saved-toggle-text);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.practice-saved-toggle:hover:not(:disabled){color:var(--text-1);border-color:var(--text-muted)}.practice-saved-toggle--on{color:#f5b301;background:#2a210880;border-color:#f5b30166}.practice-saved-toggle:disabled{opacity:.4;cursor:not-allowed}.practice-hide-solved{color:var(--text-4);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:2px 0;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s;display:inline-flex}.practice-hide-solved:hover:not(:disabled){color:var(--text-3)}.practice-hide-solved--on{color:var(--text-1)}.practice-hide-solved:disabled{opacity:.4;cursor:not-allowed}.practice-hide-solved-box{background:var(--bg-panel);border:1.5px solid #334155;border-radius:4px;justify-content:center;align-items:center;width:14px;height:14px;transition:background .15s,border-color .15s;display:inline-flex}.practice-hide-solved--on .practice-hide-solved-box{background:#22c55e;border-color:#22c55e}.practice-hide-solved--on .practice-hide-solved-box:after{content:"";border:2px solid #07140c;border-width:0 2px 2px 0;width:4px;height:8px;margin-top:-1px;transform:rotate(45deg)}.hints-panel{margin-top:8px;padding-bottom:16px}.hints-divider{background:var(--bg-surface);height:1px;margin-bottom:16px}.hints-list{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.hint-item{background:var(--bg-panel);border:1px solid var(--border);border-left:3px solid #7c3aed;border-radius:6px;padding:10px 12px;animation:.25s hintReveal}@keyframes hintReveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hint-label{text-transform:uppercase;letter-spacing:.8px;color:#7c3aed;margin-bottom:5px;font-size:11px;font-weight:700}.hint-text{color:var(--text-3);white-space:pre-wrap;margin:0;font-family:inherit;font-size:12.5px;line-height:1.6}.hint-get-btn{color:#a78bfa;cursor:pointer;letter-spacing:.2px;background:0 0;border:1px dashed #4c1d95;border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 14px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.hint-get-btn:hover{color:#c4b5fd;background:#1e1b4b;border-style:solid;border-color:#7c3aed}.hint-solution-btn{color:#a78bfa;cursor:pointer;letter-spacing:.2px;background:#1e1b4b;border:1px solid #7c3aed55;border-radius:7px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 14px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.hint-solution-btn:hover{background:#2e1d6e;border-color:#a78bfa;box-shadow:0 0 10px #7c3aed44}.completion-xp{color:#fbbf24;letter-spacing:-.5px;margin:4px 0 2px;font-size:28px;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) both xp-pop}.completion-xp-toward{color:var(--text-4);margin:-4px 0 4px;font-size:12px}.completion-next-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;align-items:center;gap:6px;margin-top:2px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s;display:inline-flex}.completion-next-btn:hover{background:#15803d}@keyframes xp-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.completion-streak{color:#fb923c;align-items:center;gap:5px;margin-bottom:4px;font-size:15px;font-weight:600;display:flex}.completion-time{color:var(--text-3);align-items:center;gap:6px;margin-bottom:4px;font-size:13px;font-weight:600;display:inline-flex}.completion-time--best{color:#fbbf24}.completion-time-best{color:var(--text-4);font-weight:500}.completion-time-badge{color:#fbbf24;background:#2a2008;border:1px solid #f59e0b55;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.practice-best{color:#fbbf24;font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.sidebar-xp-block{border-bottom:1px solid var(--border);background:var(--sidebar-xp-block-bg);padding:10px 12px 8px}.sidebar-xp-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sidebar-xp-level{color:var(--sidebar-xp-level-text);letter-spacing:.2px;align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}.sidebar-xp-streak{color:#fb923c;background:#431407;border-radius:20px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.sidebar-xp-bar-track{background:var(--bg-accent);border-radius:999px;height:5px;margin-bottom:4px;overflow:hidden}.sidebar-xp-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px;height:100%;transition:width .5s}.sidebar-xp-label{color:var(--text-4);text-align:right;font-size:11px}.pw-hero-body{flex-direction:column;gap:24px;display:flex}.pw-row2{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}@media (width<=640px){.pw-row2{grid-template-columns:1fr}}.pw-section-card{background:var(--bg-app);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:18px;display:flex}.pw-diff-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:18px;display:flex}.auth-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:132px 16px 28px;display:flex;position:fixed;inset:0}.auth-modal{background:radial-gradient(circle at 50% -8%,#5b8cff42,#0000 38%),linear-gradient(#222a3c 0%,#1a2130 100%);border:1px solid #7289ae61;border-radius:24px;width:100%;max-width:420px;position:relative;overflow:visible;box-shadow:0 28px 80px #0000008c,0 0 42px #3b82f61f}.auth-character{--eye-y:8px;pointer-events:none;z-index:2;filter:drop-shadow(0 18px 24px #0000003d);width:184px;height:166px;position:absolute;top:-118px;left:50%;transform:translate(-50%)}.auth-character__halo{filter:blur(1px);background:#60a5fa2e;border-radius:999px;height:30px;position:absolute;bottom:10px;left:31px;right:31px}.auth-character__head{z-index:3;background:#ffd9c2;border:1px solid #ffebdde6;border-radius:50% 50% 46% 46%;width:100px;height:94px;position:absolute;top:25px;left:42px;overflow:hidden}.auth-character__face-mask{z-index:1;background:#ffd9c2;border-radius:40px 40px 44px 44px;width:78px;height:68px;position:absolute;top:28px;left:11px}.auth-character__hair-cap{z-index:2;background:#121a2a;border-radius:50% 50% 38% 38%;width:106px;height:54px;position:absolute;top:-11px;left:-3px}.auth-character__hair-shine{z-index:3;background:#4b5b7ba6;border-radius:999px;width:22px;height:8px;position:absolute;top:10px;left:29px}.auth-character__hair{z-index:1;background:#111827;border-radius:50%;width:34px;height:34px;position:absolute;top:39px}.auth-character__hair--left{left:31px}.auth-character__hair--right{right:31px}.auth-character__clip{clip-path:polygon(48% 0,100% 0,66% 42%,100% 42%,35% 100%,54% 55%,16% 55%);z-index:4;background:#facc15;width:14px;height:18px;position:absolute;top:10px;right:18px;transform:rotate(12deg)}.auth-character__eye,.auth-character__closed-eye{z-index:5;transition:opacity .18s,transform .22s;position:absolute}.auth-character__eye{background:#fff;border-radius:50%;width:25px;height:29px;top:44px;box-shadow:inset 0 -2px #1e3a8a14}.auth-character__eye--left{left:24px}.auth-character__eye--right{right:24px}.auth-character__eye span{left:8px;top:var(--eye-y);background:#172554;border-radius:50%;width:12px;height:12px;transition:top .22s;position:absolute;box-shadow:inset 4px 3px #0b1020,-2px -2px #fff}.auth-character__closed-eye{opacity:0;border-bottom:3px solid #6b3f2d94;border-radius:0 0 999px 999px;width:24px;height:11px;top:58px}.auth-character__closed-eye--left{left:25px}.auth-character__closed-eye--right{right:25px}.auth-character__blush{z-index:5;background:#fb71856b;border-radius:50%;width:18px;height:10px;position:absolute;top:66px}.auth-character__blush--left{left:21px}.auth-character__blush--right{right:21px}.auth-character__smile{z-index:5;border-bottom:2px solid #8a4b34d9;border-radius:0 0 999px 999px;width:18px;height:10px;transition:opacity .18s,transform .18s;position:absolute;top:78px;left:41px}.auth-character__body{z-index:2;background:#5b8cff;border:1px solid #a7c4ffa6;border-radius:28px 28px 24px 24px;width:94px;height:48px;position:absolute;top:111px;left:45px}.auth-character__hood{z-index:3;background:#2563eb;border-radius:999px;width:54px;height:22px;position:absolute;top:123px;left:65px}.auth-character__arm,.auth-character__hand{opacity:0;z-index:6;transition:opacity .18s,transform .24s;position:absolute}.auth-character__arm{transform-origin:top;background:#3b82f6;border-radius:999px;width:12px;height:55px;top:110px}.auth-character__arm--left{left:52px;transform:rotate(28deg)translateY(16px)}.auth-character__arm--right{right:52px;transform:rotate(-28deg)translateY(16px)}.auth-character__hand{background:#ffd9c2;border:1px solid #f4b99bcc;border-radius:50%;width:39px;height:30px;top:67px}.auth-character__hand--left{left:55px;transform:translate(-8px,10px)rotate(-8deg)}.auth-character__hand--right{right:55px;transform:translate(8px,10px)rotate(8deg)}.auth-character__spark{opacity:0;border-radius:50%;transition:opacity .2s,transform .2s;position:absolute;transform:scale(.75)}.auth-character__spark--left{background:#facc15;width:10px;height:10px;top:67px;left:18px}.auth-character__spark--right{background:#a7f3d0;width:8px;height:8px;top:58px;right:18px}.auth-character--email{--eye-y:13px}.auth-character--signup{--eye-y:9px}.auth-character--signup .auth-character__spark{opacity:1;transform:scale(1)}:is(.auth-character--password .auth-character__eye,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__eye){opacity:0;transform:translateY(4px)scaleY(.55)}:is(.auth-character--password .auth-character__closed-eye,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__closed-eye),:is(.auth-character--password .auth-character__arm,.auth-character--password .auth-character__hand,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__arm,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__hand){opacity:1}:is(.auth-character--password .auth-character__arm--left,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__arm--left){transform:rotate(35deg)translateY(-24px)}:is(.auth-character--password .auth-character__arm--right,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__arm--right){transform:rotate(-35deg)translateY(-24px)}:is(.auth-character--password .auth-character__hand--left,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__hand--left){transform:translate(3px,-5px)rotate(-8deg)}:is(.auth-character--password .auth-character__hand--right,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__hand--right){transform:translate(-3px,-5px)rotate(8deg)}:is(.auth-character--password .auth-character__smile,.auth-modal:has(.auth-form-group--password:focus-within) .auth-character__smile){transform:translateY(3px)scaleX(.72)}.auth-modal-header{border-bottom:1px solid #2d3748c7;align-items:center;gap:8px;padding:58px 24px 16px;display:flex}.auth-modal-logo{color:#f59e0b;align-items:center;display:inline-flex}.auth-modal-title{color:var(--text-1);flex:1;font-size:16px;font-weight:700}.auth-modal-close{cursor:pointer;color:var(--text-4);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;transition:color .15s,background .15s}.auth-modal-close:hover{color:var(--text-1);background:#2d3748}.auth-tabs{background:#111827;border:1px solid #2d3748e6;border-radius:13px;margin:0 20px;padding:4px;display:flex}.auth-tab{cursor:pointer;color:var(--text-4);background:0 0;border:none;border-radius:10px;flex:1;padding:12px;font-size:13px;font-weight:600;transition:color .15s,background .15s,box-shadow .15s}.auth-tab:hover{color:var(--text-3)}.auth-tab--active{color:#bfdbfe;background:#23385f;box-shadow:inset 0 0 0 1px #60a5fa6b}.auth-modal-body{flex-direction:column;gap:14px;padding:20px 24px 24px;display:flex}.auth-modal-body form{flex-direction:column;gap:12px;display:flex}.auth-notice{background:var(--bg-accent);color:#93c5fd;border:1px solid #2563eb;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.5}.auth-notice code{background:#0f2547;border-radius:4px;padding:1px 5px;font-family:monospace}.auth-btn-google{color:#1a1a1a;cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:flex}.auth-btn-google:hover:not(:disabled){background:#f5f5f5;box-shadow:0 1px 4px #0003}.auth-btn-google:disabled{opacity:.5;cursor:not-allowed}.auth-divider{color:#4b5563;align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#2d3748;flex:1;height:1px}.auth-form-group{flex-direction:column;gap:6px;display:flex}.auth-form-label{color:var(--text-3);font-size:12px;font-weight:500}.auth-form-input{background:var(--bg-panel);color:var(--text-1);box-sizing:border-box;border:1px solid #2d3748;border-radius:11px;outline:none;width:100%;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-form-input:focus{background:var(--bg-deep);border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f633,0 0 18px #60a5fa33}.auth-form-input:disabled{opacity:.5;cursor:not-allowed}.auth-msg{border-radius:7px;padding:9px 12px;font-size:13px;line-height:1.4}.auth-msg--error{color:#fca5a5;background:#450a0a;border:1px solid #991b1b}.auth-msg--success{color:#86efac;background:#052e16;border:1px solid #166534}.auth-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#60a5fa 0%,#4f7df3 100%);border:none;border-radius:12px;width:100%;margin-top:2px;padding:12px 16px;font-size:14px;font-weight:600;transition:transform .15s,filter .15s,box-shadow .15s;box-shadow:0 14px 28px #3b82f63d}.auth-btn-primary:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-4);font-size:12px}.auth-switch-link{cursor:pointer;color:#3b82f6;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.auth-switch-link:hover{color:#60a5fa}.auth-forgot-link{cursor:pointer;color:var(--text-4);text-align:right;background:0 0;border:none;width:100%;margin:-6px 0 12px;padding:0;font-size:11.5px;text-decoration:underline;display:block}.auth-forgot-link:hover{color:#60a5fa}.sidebar-auth{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 8px;display:flex}.sidebar-auth-row{align-items:center;gap:8px;display:flex}.sidebar-auth-row .sidebar-auth-signin,.sidebar-auth-row .sidebar-auth-signout{flex:1;width:auto;min-width:0}.sidebar-auth-settings{width:30px;color:var(--text-4);cursor:pointer;background:0 0;border:1px solid #2d3748;border-radius:6px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.sidebar-auth-settings:hover{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-1)}.sidebar-auth-email{align-items:center;gap:8px;padding:4px 6px;display:flex}.sidebar-auth-avatar{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.sidebar-auth-email-text{color:var(--text-4);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.sync-status-dot{color:var(--sync-dot-text);flex-shrink:0;align-items:center;display:inline-flex}.sync-status-dot--syncing{color:var(--sync-dot-syncing-text);animation:1s ease-in-out infinite sync-status-pulse}.sync-status-dot--offline{color:var(--text-4)}.sync-status-dot--error{color:var(--sync-dot-error-text)}@keyframes sync-status-pulse{0%,to{opacity:1}50%{opacity:.35}}.sidebar-auth-signout{color:var(--text-4);cursor:pointer;background:0 0;border:1px solid #2d3748;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:12px;transition:color .15s,border-color .15s;display:flex}.sidebar-auth-signout:hover{color:var(--text-3);border-color:#4b5563}.sidebar-auth-signin{color:#60a5fa;cursor:pointer;background:0 0;border:1px solid #2563eb;border-radius:6px;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:12px;transition:background .15s,color .15s;display:flex}.sidebar-auth-signin:hover{color:#93c5fd;background:#3b82f614}.completion-nudge{background:#3b82f614;border:1px solid #3b82f640;border-radius:8px;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:13px;display:flex}.completion-nudge-icon{flex-shrink:0;font-size:16px}.completion-nudge-text{color:var(--text-3);text-align:left;flex:1}.completion-dismiss-btn{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px;line-height:1;transition:color .15s;position:absolute;top:10px;right:12px}.completion-dismiss-btn:hover{color:var(--text-3)}.completion-card{position:relative}.pw-nudge-banner{background:#3b82f612;border:1px solid #3b82f633;border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:12px 16px;display:flex}.pw-nudge-icon{flex-shrink:0;font-size:18px}.pw-nudge-text{color:var(--text-3);flex:1;font-size:13px}.cmdk-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02061799;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.cmdk-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(560px,92vw);max-height:64vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.cmdk-input-wrap{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.cmdk-input{color:var(--text-1);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.cmdk-input::placeholder{color:var(--text-muted)}.cmdk-esc{color:var(--text-4);background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px}.cmdk-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.cmdk-item{width:100%;color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.cmdk-item--active{background:var(--bg-surface)}.cmdk-kind{letter-spacing:.5px;text-transform:uppercase;text-align:center;border:1px solid #0000;border-radius:5px;flex-shrink:0;width:58px;padding:3px 0;font-size:11px;font-weight:700}.cmdk-kind--recent{color:var(--text-1);background:var(--bg-surface);border-color:var(--border-strong)}.cmdk-kind--action{color:#fbbf24;background:#2a2008;border-color:#f59e0b40}.cmdk-kind--question{color:#4ade80;background:var(--bg-success);border-color:#22c55e40}.cmdk-kind--topic{color:#60a5fa;background:#0e2038;border-color:#3b82f640}.cmdk-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-item-cat{color:var(--text-4);flex-shrink:0;font-size:11px}.cmdk-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.cmdk-footer{border-top:1px solid var(--border);color:var(--text-4);gap:16px;padding:8px 14px;font-size:11px;display:flex}.cmdk-footer kbd{color:var(--text-3);background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;margin-right:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.editor-font-controls{align-items:center;gap:4px;margin-bottom:3px;margin-left:auto;padding-left:8px;display:flex}.editor-font-btn{border:1px solid var(--editor-btn-border);width:22px;height:20px;color:var(--editor-btn-text);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;font-family:inherit;font-size:11px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-font-btn:hover:not(:disabled){background:var(--editor-btn-hover-bg);border-color:var(--editor-btn-hover-border);color:var(--text-2)}.editor-font-btn:disabled{opacity:.4;cursor:not-allowed}.editor-font-size{text-align:center;min-width:16px;color:var(--editor-font-size-text);font-variant-numeric:tabular-nums;font-size:11px}.shk-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02061799;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shk-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:min(420px,92vw);overflow:hidden;box-shadow:0 20px 60px #00000080}.shk-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.shk-title{color:var(--text-1);font-size:14px;font-weight:700}.shk-close{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.shk-close:hover{color:var(--text-2);background:var(--bg-surface)}.shk-section{padding:10px 16px 14px}.shk-section-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.shk-row{justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.shk-row-label{color:var(--text-1);font-size:13px}.shk-row-keys{flex-shrink:0;gap:4px;display:inline-flex}.shk-kbd{color:var(--text-3);background:var(--bg-deep);border:1px solid var(--border);text-align:center;border-bottom-width:2px;border-radius:5px;min-width:18px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.pane-tab{position:relative}.pane-tab-dot{vertical-align:middle;background:#fbbf24;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.notes-pane{flex-direction:column;height:100%;display:flex}.notes-textarea{resize:none;background:var(--notes-textarea-bg);width:100%;color:var(--text-2);border:none;outline:none;flex:1;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6}.notes-textarea::placeholder{color:var(--text-muted)}.zen-exit{z-index:900;color:var(--text-1);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;opacity:.85;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .15s,background .15s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #0006}.zen-exit:hover{opacity:1;background:var(--bg-hover)}.zen-exit kbd{color:var(--text-3);background:var(--bg-deep);border:1px solid var(--border-strong);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.pw-daily{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.pw-daily-ring{flex-shrink:0}.pw-daily-text{flex-direction:column;line-height:1.1;display:flex}.pw-daily-count{color:var(--text-1);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.pw-daily-label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-4);font-size:11px;font-weight:600}.editor-format-btn{border:1px solid var(--editor-btn-border);height:20px;color:var(--editor-btn-text);cursor:pointer;background:0 0;border-radius:4px;align-items:center;margin-right:4px;padding:0 9px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-format-btn:hover{background:var(--editor-btn-hover-bg);border-color:var(--editor-btn-hover-border);color:var(--text-2)}.coach-mark{background:var(--bg-accent);border:1px solid #3b82f633;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.coach-mark-icon{flex-shrink:0;margin-top:1px;font-size:20px}.coach-mark-body{flex:1}.coach-mark-title{color:var(--text-1);margin:0 0 4px;font-size:13px;font-weight:600}.coach-mark-text{color:var(--text-3);margin:0;font-size:13px;line-height:1.5}.coach-mark-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:13px;line-height:1;transition:color .15s}.coach-mark-dismiss:hover{color:var(--text-2)}.pw-activity-section{margin-bottom:20px}.hm--empty{align-items:center;gap:10px;padding:20px 0;display:flex}.hm-empty-icon{font-size:24px}.hm-empty-msg{color:var(--text-4);margin:0;font-size:14px}.hm-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.hm-total{align-items:baseline;gap:10px;display:flex}.hm-total-num{color:var(--text-1);font-size:30px;font-weight:800;line-height:1}.hm-total-lbl{color:var(--text-3);font-size:15px}.hm-stats{align-items:center;gap:22px;display:inline-flex}.hm-stat{align-items:baseline;gap:6px;display:inline-flex}.hm-stat-num{color:var(--text-2);font-size:17px;font-weight:700}.hm-stat-lbl{color:var(--text-4);font-size:12px}.hm-year{appearance:none;color:var(--text-1);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:600}.hm-cal{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.hm-weekdays{flex-direction:column;flex-shrink:0;gap:3px;padding-top:16px;display:flex}.hm-weekday{height:13px;color:var(--text-4);white-space:nowrap;font-size:11px;line-height:13px}.hm-grid-wrap,.hm-months{position:relative}.hm-month{color:var(--text-3);white-space:nowrap;font-size:11px;position:absolute;top:0}.hm-grid{gap:3px;display:flex}.hm-col{flex-direction:column;gap:3px;display:flex}.hm-cell{background:var(--hm-cell-bg);border-radius:3px;flex-shrink:0;width:13px;height:13px}.hm-cell--l1{background:var(--hm-l1-bg)}.hm-cell--l2{background:var(--hm-l2-bg)}.hm-cell--l3{background:var(--hm-l3-bg)}.hm-cell--l4{background:var(--hm-l4-bg)}.hm-cell--out{visibility:hidden}.hm-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.hm-foot-note{color:var(--text-4);font-size:12px;font-style:italic}.hm-legend{color:var(--text-4);align-items:center;gap:4px;font-size:11px;display:inline-flex}.confidence-bar{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;margin-top:16px;padding:12px}.confidence-label{color:var(--text-3);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.confidence-opts{gap:6px;display:flex}.confidence-opt{color:var(--text-3);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:7px;flex:1;padding:6px 0;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.confidence-opt:hover{border-color:var(--text-muted);color:var(--text-2)}.confidence-opt--active.confidence-opt--easy{color:#4ade80;background:var(--bg-success);border-color:#22c55e66}.confidence-opt--active.confidence-opt--shaky{color:#fbbf24;background:#2a2008;border-color:#f59e0b66}.confidence-opt--active.confidence-opt--hard{color:#f87171;background:#2a1212;border-color:#ef444466}.solution-drawer-body--diff{padding:0;overflow:hidden}.solution-drawer-modes{background:var(--bg-deep);border:1px solid var(--border);border-radius:7px;padding:2px;display:inline-flex}.solution-drawer-mode{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s}.solution-drawer-mode--active{color:var(--text-1);background:var(--bg-surface)}.pw-backup{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.pw-backup-label{color:var(--text-4);font-size:12px;font-weight:600}.pw-backup-actions{gap:8px;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html[data-reduced-motion] *,html[data-reduced-motion] :before,html[data-reduced-motion] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.settings-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02061799;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.settings-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:min(480px,92vw);overflow:hidden;box-shadow:0 20px 60px #00000080}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-title{color:var(--text-1);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.settings-close{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.settings-close:hover{color:var(--text-2);background:var(--bg-surface)}.settings-body{padding:6px 16px 16px}.settings-row{border-bottom:1px solid #16202e;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.settings-row:last-of-type{border-bottom:none}.settings-row-label{color:var(--text-2);font-size:13px;font-weight:600}.settings-row-desc{color:var(--text-4);margin-top:2px;font-size:11.5px}.settings-font{align-items:center;gap:8px;display:inline-flex}.settings-font-btn{width:26px;height:24px;color:var(--text-1);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;font-family:inherit;font-size:12px;font-weight:700}.settings-font-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.settings-font-btn:disabled{opacity:.4;cursor:not-allowed}.settings-font-val{text-align:center;min-width:18px;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:13px}.settings-toggle{border:1px solid var(--settings-toggle-border);background:var(--settings-toggle-bg);cursor:pointer;border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background .15s,border-color .15s;position:relative}.settings-toggle-knob{background:#64748b;border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.settings-toggle--on{background:#14532d;border-color:#22c55e66}.settings-toggle--on .settings-toggle-knob{background:#22c55e;transform:translate(18px)}.settings-backup{gap:8px;display:inline-flex}.pw-daily-challenge{background:var(--pw-dc-bg);border:1px solid var(--pw-dc-border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:20px;padding:12px 16px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.pw-daily-challenge:hover{box-shadow:var(--pw-dc-hover-shadow);border-color:#7c3aed}.pw-dc-badge{letter-spacing:.5px;text-transform:uppercase;color:var(--pw-dc-badge-text);background:var(--pw-dc-badge-bg);border:1px solid var(--pw-dc-badge-border);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:800}.pw-dc-title{color:var(--text-1);font-size:14px;font-weight:700}.pw-dc-cat{color:var(--text-3);font-size:12px}.pw-dc-solved{color:var(--pw-dc-solved-text);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.pw-dc-go{color:var(--pw-dc-go-text);flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}.pw-review-due{background:var(--pw-rd-bg);border:1px solid var(--pw-rd-border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:12px 16px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.pw-review-due:hover{border-color:var(--pw-rd-hover-border);box-shadow:var(--pw-rd-hover-shadow)}.pw-review-due--empty{cursor:default;opacity:.75}.pw-review-due--empty:hover{border-color:var(--pw-rd-border);box-shadow:none}.pw-rd-badge{letter-spacing:.5px;text-transform:uppercase;color:var(--pw-rd-badge-text);background:var(--pw-rd-badge-bg);border:1px solid var(--pw-rd-badge-border);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:800}.pw-rd-text{color:var(--text-1);font-size:13px}.pw-rd-text strong{color:var(--text-1)}.pw-rd-go{color:var(--pw-rd-go-text);flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}.settings-select{appearance:none;color:var(--text-1);background:var(--bg-surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600}.settings-select:hover{border-color:var(--text-muted)}.related-link{cursor:pointer;border-radius:8px;align-items:center;gap:6px;font-family:inherit;transition:background .15s,border-color .15s;display:inline-flex}.related-link--topic{color:var(--related-topic-text);background:var(--related-topic-bg);border:1px solid var(--related-topic-border);margin-top:14px;padding:9px 12px;font-size:12.5px}.related-link--topic:hover{background:#2a2065;border-color:#7c3aed}.related-link--topic strong{color:var(--related-topic-strong-text)}.related-practice{border-top:1px solid var(--related-practice-border-top);margin-top:18px;padding-top:14px}.related-practice-label{letter-spacing:1px;text-transform:uppercase;color:#475569;margin-bottom:8px;font-size:11px;font-weight:700}.related-practice-list{flex-direction:column;gap:6px;display:flex}.related-link--question{width:100%;color:var(--related-question-text);background:var(--related-question-bg);border:1px solid var(--related-question-border);justify-content:space-between;padding:8px 11px;font-size:12.5px;font-weight:600}.related-link--question:hover{border-color:var(--related-question-hover-border);background:var(--related-question-hover-bg)}.tw{display:inline-flex;position:relative}.tw-btn{background:var(--tw-btn-bg);border:1px solid var(--tw-btn-border);height:28px;color:var(--tw-btn-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 8px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tw-btn:hover{background:var(--tw-btn-hover-bg);color:var(--tw-btn-hover-text);border-color:#475569}.tw-btn--running{color:#60a5fa;border-color:#3b82f6aa}.tw-btn-time{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.tw-pop{z-index:500;background:var(--tw-pop-bg);border:1px solid var(--tw-pop-border);border-radius:14px;width:280px;padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px #00000080}.tw-label{letter-spacing:1px;text-transform:uppercase;color:#64748b;margin:0 0 8px;font-size:11px;font-weight:700}.tw-label:not(:first-child){margin-top:16px}.tw-mode{background:var(--tw-mode-bg);border:1px solid var(--tw-mode-border);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.tw-mode-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.tw-mode-btn--active{color:var(--tw-mode-btn-active-text);background:var(--tw-mode-btn-active-bg);box-shadow:0 1px 4px #0000004d}.tw-durations{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tw-dur{color:var(--tw-dur-text);background:var(--tw-dur-bg);border:1px solid var(--tw-dur-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:9px 0;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.tw-dur:hover{border-color:#334155}.tw-dur--active{color:var(--tw-dur-active-text);background:var(--tw-dur-active-bg);border-color:#475569}.tw-dur-custom{color:#64748b;gap:1px}.tw-dur-custom input{width:28px;color:var(--tw-dur-text);font:inherit;text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;font-weight:600}.tw-dur-custom input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tw-dur-custom input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tw-display{text-align:center;letter-spacing:1px;color:var(--tw-display-text);font-variant-numeric:tabular-nums;margin:18px 0 14px;font-size:40px;font-weight:800}.tw-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tw-start,.tw-reset{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:11px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.tw-start{color:var(--tw-start-text);background:var(--tw-start-bg);border:1px solid var(--tw-start-border)}.tw-start:hover{background:var(--tw-start-hover-bg);border-color:var(--tw-start-hover-border)}.tw-reset{color:var(--tw-btn-text);background:var(--tw-reset-bg);border:1px solid var(--tw-reset-border)}.tw-reset:hover{color:#e2e8f0;background:#273449}.pw-badges-card{background:var(--pw-badges-card-bg);border:1px solid var(--pw-badges-card-border);border-radius:12px;padding:16px 18px}.pw-badges-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pw-badges-head .pw-section-title{margin:0}.pw-badges-count{color:#64748b;font-size:12px;font-weight:600}.pw-badges-row{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pw-badge{border:1px solid var(--pw-badge-border);background:var(--pw-badge-bg);opacity:.45;filter:grayscale();border-radius:99px;align-items:center;gap:7px;padding:7px 12px;transition:opacity .2s,filter .2s;display:inline-flex}.pw-badge--unlocked{opacity:1;filter:none;border-color:var(--pw-badge-unlocked-border);background:var(--pw-badge-unlocked-bg)}.pw-badge-emoji{font-size:15px;line-height:1}.pw-badge-title{color:#94a3b8;white-space:nowrap;font-size:12px;font-weight:600}.pw-badge--unlocked .pw-badge-title{color:var(--pw-badge-unlocked-title-text)}.hm-cell--link{cursor:pointer;border:none;padding:0;position:relative}.hm-cell--link:hover{filter:brightness(1.25)}.hm-cell--link:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.hm-tooltip{white-space:nowrap;color:#e2e8f0;pointer-events:none;z-index:9999;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:500;position:fixed;transform:translate(-50%,-100%)translateY(-8px);box-shadow:0 4px 12px #0006}.topic-nav{align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast-host{z-index:1100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:var(--toast-text);background:var(--toast-bg);border:1px solid var(--toast-border);pointer-events:auto;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;animation:.18s toast-in;display:inline-flex;box-shadow:0 10px 30px #0006}.toast--success{color:var(--toast-success-text);border-color:#22c55e55}.toast--error{color:var(--toast-error-text);border-color:#ef444455}.toast-action{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex-shrink:0;margin-left:4px;padding:3px 10px;font-family:inherit;font-size:12px;font-weight:700}.toast-action:hover{color:var(--toast-bg);background:currentColor}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.consent-banner{z-index:1200;background:var(--bg-panel);border-top:1px solid var(--border-strong);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000004d}.consent-banner-text{min-width:240px;color:var(--text-2);flex:1;margin:0;font-size:13px}.consent-banner-actions{flex-shrink:0;gap:8px;display:flex}.practice-tag-row{gap:6px;margin-top:8px;display:flex}.practice-tag-row .practice-tag-select{flex:1;min-width:0;margin-top:0}.practice-shuffle-btn{background:var(--practice-shuffle-bg);border:1px solid var(--practice-shuffle-border);color:#64748b;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;transition:color .15s,border-color .15s;display:inline-flex}.practice-shuffle-btn:hover:not(:disabled){color:var(--practice-shuffle-hover-text);border-color:#3b82f6}.practice-shuffle-btn:disabled{opacity:.4;cursor:not-allowed}.practice-tag-select{appearance:none;width:100%;color:var(--practice-tag-select-text);background:var(--practice-tag-select-bg);border:1px solid var(--practice-tag-select-border);cursor:pointer;border-radius:7px;margin-top:8px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:600}.practice-tag-select:hover{color:#cbd5e1;border-color:#475569}.pw-mock{background:var(--pw-mock-bg);border:1px solid var(--pw-mock-border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:20px;padding:12px 16px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.pw-mock:hover{box-shadow:var(--pw-mock-hover-shadow);border-color:#14b8a6}.pw-mock-badge{letter-spacing:.5px;text-transform:uppercase;color:var(--pw-mock-badge-text);background:var(--pw-mock-badge-bg);border:1px solid var(--pw-mock-badge-border);border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.pw-mock-text{color:var(--pw-mock-text);font-size:13px}.pw-mock-go{color:var(--pw-mock-go-text);flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}.mock-banner{background:var(--mock-banner-bg);border:1px solid var(--mock-banner-border);border-radius:7px;align-items:center;gap:6px;padding:3px 6px 3px 10px;display:inline-flex}.mock-banner-label{color:var(--mock-banner-label-text);white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}.mock-banner-btn{color:var(--mock-banner-btn-text);border:1px solid var(--mock-banner-btn-border);cursor:pointer;background:0 0;border-radius:5px;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s,border-color .15s}.mock-banner-btn:hover{color:var(--mock-banner-btn-hover-text);border-color:var(--mock-banner-btn-hover-border)}.mock-banner-btn--next{color:var(--mock-banner-btn-next-text);border-color:var(--mock-banner-btn-next-border)}.mock-banner-btn--next:hover{color:#99f6e4;border-color:#14b8a6}.mock-summary-list{flex-direction:column;gap:8px;margin:14px 0;padding:0;list-style:none;display:flex}.mock-summary-row{align-items:center;gap:10px;font-size:13.5px;display:flex}.mock-summary-mark{background:var(--mock-summary-mark-bg);width:20px;height:20px;color:var(--mock-summary-mark-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.mock-summary-mark--solved{background:var(--mock-summary-mark-solved-bg);color:var(--mock-summary-mark-solved-text)}.mock-summary-name{text-align:left;color:var(--mock-summary-name-text);flex:1}.mock-summary-time{font-variant-numeric:tabular-nums;color:#64748b;font-size:12.5px}.mock-summary-total{color:#94a3b8;text-align:center;margin:0 0 6px;font-size:13px;font-weight:600}.activity-day{background:var(--activity-day-bg);max-width:860px;margin:0 auto;padding:32px 24px 64px;font-family:inherit}.activity-day-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.activity-day-title{color:var(--activity-day-title-text);margin:0;font-size:20px;font-weight:700}.activity-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.activity-stat-card{background:var(--activity-stat-card-bg);border:1px solid var(--activity-stat-card-border);border-radius:12px;flex-direction:column;gap:6px;padding:20px 20px 16px;display:flex}.activity-stat-card--accepted{border-left-color:var(--activity-stat-accepted-border-left)}.activity-stat-card--wrong{border-left-color:var(--activity-stat-wrong-border-left)}.activity-stat-num{color:var(--activity-stat-num-text);font-size:36px;font-weight:800;line-height:1}.activity-stat-card--accepted .activity-stat-num{color:var(--activity-stat-accepted-num-text)}.activity-stat-card--wrong .activity-stat-num{color:var(--activity-stat-wrong-num-text)}.activity-stat-lbl{letter-spacing:.8px;text-transform:uppercase;color:#64748b;font-size:11px;font-weight:700}.activity-stat-note{color:#475569;margin-top:2px;font-size:11px}.activity-table{border-collapse:collapse;width:100%;font-size:14px}.activity-table th{text-align:left;color:var(--activity-th-text);border-bottom:1px solid var(--activity-th-border);padding:10px 14px;font-size:12px;font-weight:600}.activity-row{cursor:pointer;transition:background .12s}.activity-row:hover{background:var(--activity-row-hover-bg)}.activity-row td{border-bottom:1px solid var(--activity-td-border);color:var(--activity-td-text);vertical-align:middle;padding:14px}.activity-problem{color:var(--activity-problem-text);font-weight:500}.activity-status{font-weight:600}.activity-status--accepted{color:var(--activity-status-accepted-text)}.activity-time{color:#64748b;font-variant-numeric:tabular-nums}.activity-empty{text-align:center;color:#475569;padding:48px 0;font-size:14px}.activity-empty-text{margin:0 0 16px}.hm-cell--l0{background:var(--hm-l0-bg)}.hints-actions{flex-wrap:wrap;gap:8px;padding:0 16px 14px;display:flex}.concept-topic-title{color:var(--text-1);margin:0;font-size:17px;font-weight:700;line-height:1.3}.settings-row-text{flex-direction:column;flex:1;gap:2px;display:flex}
