:root{--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-750: #1a2332;--slate-800: #1e293b;--slate-900: #0f172a;--slate-950: #020617;--white: #ffffff;--black: #000000;--ink-900: #030712;--ink-850: #0a0f1e;--ink-800: #0d1326;--ink-750: #050b18;--ink-700: #0b1220;--indigo-300: #c4b5fd;--indigo-400: #a78bfa;--indigo-500: #6366f1;--indigo-600: #8b5cf6;--indigo-700: #7c3aed;--indigo-800: #6d28d9;--indigo-900: #4c1d95;--indigo-100: #e0e7ff;--indigo-50: #ede9fe;--violet-200: #ddd6fe;--fuchsia-500: #c026d3;--fuchsia-300: #f0abfc;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--cyan-300: #7dd3fc;--cyan-500: #06b6d4;--cyan-600: #0891b2;--green-300: #86efac;--green-400: #34d399;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-900: #14532d;--emerald-500: #10b981;--green-50: #dcfce7;--green-100: #d1fae5;--green-200: #a7f3d0;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-900: #78350f;--amber-100: #fde68a;--amber-50: #fef3c7;--amber-25: #fffbeb;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-900: #7f1d1d;--red-100: #fecaca;--red-50: #fee2e2;--rose-50: #ffe4e6;--react-blue: #61dafb;--mongo-green: #13aa52;--bg: var(--white);--surface: var(--slate-50);--surface-2: var(--slate-100);--border: var(--slate-200);--border-strong: var(--slate-300);--hairline: var(--slate-200);--text: var(--slate-900);--text-secondary:var(--slate-500);--text-muted: var(--slate-400);--text-inverse: var(--white);--accent: var(--indigo-500);--accent-hover: var(--indigo-700);--accent-strong: var(--indigo-900);--accent-soft: var(--indigo-400);--accent-contrast: var(--white);--accent-tint: color-mix(in srgb, var(--accent) 8%, transparent);--accent-tint-strong: color-mix(in srgb, var(--accent) 15%, transparent);--accent-gradient: linear-gradient(135deg, var(--indigo-500) 0%, var(--fuchsia-500) 100%);--success: var(--green-500);--success-fg:var(--green-700);--success-bg:var(--green-50);--warning: var(--amber-400);--warning-fg:var(--amber-700);--warning-bg:var(--amber-50);--danger: var(--red-500);--danger-fg: var(--red-700);--danger-bg: var(--red-50);--info: var(--blue-500);--sl-color-accent-low: var(--indigo-50);--sl-color-accent: var(--accent);--sl-color-accent-high: var(--accent-strong);--sl-color-bg: var(--bg);--sl-color-bg-sidebar: var(--surface);--sl-color-bg-nav: var(--bg);--sl-color-hairline: var(--hairline);--app-bg: var(--bg);--app-surface: var(--surface);--app-border: var(--border);--app-text: var(--text);--app-text-secondary: var(--text-secondary);--app-accent: var(--accent);--app-accent-light: var(--accent-tint);--app-accent-gradient:var(--accent-gradient);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-display: "Space Grotesk", "Inter", sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--lh-tight: 1.2;--lh-snug: 1.5;--lh-normal:1.7;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .3);--shadow-accent: 0 8px 24px color-mix(in srgb, var(--accent) 30%, transparent);--z-nav: 1000;--z-dropdown: 1001;--z-overlay: 99999;--z-modal: 100000;--ease-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s ease;--transition-base: .25s var(--ease-out)}:root[data-theme=dark]{--bg: var(--slate-950);--surface: var(--slate-900);--surface-2: var(--ink-800);--border: var(--slate-800);--border-strong: var(--slate-700);--hairline: var(--slate-800);--text: var(--slate-100);--text-secondary:var(--slate-400);--text-muted: var(--slate-500);--accent: var(--indigo-600);--accent-hover: var(--indigo-400);--accent-strong: var(--violet-200);--accent-soft: var(--indigo-400);--accent-gradient: linear-gradient(135deg, var(--indigo-400) 0%, var(--fuchsia-300) 100%);--success-fg:var(--green-300);--success-bg:var(--green-900);--warning-fg:var(--amber-100);--warning-bg:var(--amber-900);--danger-fg: var(--red-300);--danger-bg: var(--red-900);--sl-color-accent-low: var(--indigo-900);--sl-color-accent: var(--accent);--sl-color-accent-high: var(--accent-strong)}:root{--space-0: 0px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-9: 18px;--space-10: 20px;--space-11: 22px;--space-12: 24px;--space-13: 26px;--space-14: 28px;--space-15: 30px;--space-16: 32px;--space-20: 40px;--space-22: 44px;--space-24: 48px;--space-28: 56px;--space-32: 64px;--space-36: 72px;--space-40: 80px;--space-48: 96px;--space-56: 112px;--space-64: 128px;--radius-xs: 2px;--radius-sm: var(--space-2);--radius-md: var(--space-3);--radius-lg: var(--space-4);--radius-xl: var(--space-6);--radius-2xl: var(--space-8);--border-width: var(--border-width);--border-width-medium: 2px}.jsl-platform{--lab-bg: var(--ink-900);--lab-bg-panel: var(--ink-750);--lab-bg-sidebar: color-mix(in srgb, var(--slate-900) 46%, transparent);--lab-bg-top: rgba(3,7,18,.96);--lab-bg-console: color-mix(in srgb, var(--slate-900) 28%, transparent);--lab-bg-editor: color-mix(in srgb, var(--slate-900) 48%, transparent);--lab-text: var(--slate-200);--lab-text-title: var(--slate-50);--lab-text-body: var(--slate-300);--lab-text-muted: var(--slate-400);--lab-text-dim: var(--slate-500);--lab-text-green: var(--green-500);--lab-border: rgba(255,255,255,.08);--lab-border2: rgba(255,255,255,.07);--lab-border3: rgba(255,255,255,.06);--lab-border4: rgba(255,255,255,.055);--lab-btn-run-bg: color-mix(in srgb, var(--green-500) 14%, transparent);--lab-btn-run-color: var(--green-500);--lab-btn-run-hover: color-mix(in srgb, var(--green-500) 23%, transparent);--lab-accent-learn: var(--blue-400);--lab-accent-bugs: var(--red-400);--lab-accent-projects: var(--indigo-400);--lab-accent-challenge: var(--amber-400);--lab-progress-gradient: linear-gradient(90deg, var(--blue-400), var(--indigo-400));--lab-badge-bg: rgba(96,165,250,.11);--lab-badge-border: rgba(96,165,250,.18);--lab-badge-color: var(--blue-400);--lab-spinner-border: color-mix(in srgb, var(--green-500) 28%, transparent);--lab-spinner-top: var(--green-500);--lab-lang-bg: rgba(97,218,251,.07);--lab-lang-border: rgba(97,218,251,.15);--lab-lang-color: var(--react-blue);--lab-highlight-learn-bg: rgba(96,165,250,.07);--lab-highlight-bugs-bg: color-mix(in srgb, var(--red-500) 7%, transparent);--lab-highlight-projects-bg: color-mix(in srgb, var(--indigo-400) 7%, transparent);--lab-si-active-bg: rgba(96,165,250,.12);--lab-si-active-color: var(--blue-400);--lab-top-percent-color: var(--indigo-400);--lab-section-concept-border: rgba(96,165,250,.35);--lab-section-concept-color: var(--cyan-300);--lab-section-problem-border: rgba(248,113,113,.4);--lab-section-problem-color: var(--red-300);--lab-section-goal-border: rgba(245,158,11,.35);--lab-section-goal-color: var(--amber-300);--lab-section-result-border: color-mix(in srgb, var(--green-500) 35%, transparent);--lab-section-result-color: var(--green-300)}.sql-platform{--lab-bg: var(--ink-900);--lab-bg-panel: var(--ink-750);--lab-bg-sidebar: color-mix(in srgb, var(--slate-900) 46%, transparent);--lab-bg-top: rgba(3,7,18,.96);--lab-bg-console: color-mix(in srgb, var(--slate-900) 28%, transparent);--lab-bg-editor: color-mix(in srgb, var(--slate-900) 48%, transparent);--lab-text: var(--slate-200);--lab-text-title: var(--slate-50);--lab-text-body: var(--slate-300);--lab-text-muted: var(--slate-400);--lab-text-dim: var(--slate-500);--lab-text-green: var(--green-500);--lab-border: rgba(255,255,255,.08);--lab-border2: rgba(255,255,255,.07);--lab-border3: rgba(255,255,255,.06);--lab-border4: rgba(255,255,255,.055);--lab-btn-run-bg: rgba(59,130,246,.14);--lab-btn-run-color: var(--blue-400);--lab-btn-run-hover: rgba(59,130,246,.23);--lab-accent-learn: var(--blue-400);--lab-accent-bugs: var(--red-400);--lab-accent-projects: var(--indigo-400);--lab-accent-challenge: var(--amber-400);--lab-progress-gradient: linear-gradient(90deg, var(--amber-500), var(--blue-500));--lab-badge-bg: rgba(59,130,246,.11);--lab-badge-border: rgba(59,130,246,.18);--lab-badge-color: var(--blue-400);--lab-spinner-border: rgba(59,130,246,.28);--lab-spinner-top: var(--blue-400);--lab-lang-bg: rgba(245,158,11,.07);--lab-lang-border: rgba(245,158,11,.15);--lab-lang-color: var(--amber-500);--lab-highlight-learn-bg: transparent;--lab-highlight-bugs-bg: transparent;--lab-highlight-projects-bg: transparent;--lab-si-active-bg: rgba(59,130,246,.12);--lab-si-active-color: var(--blue-400);--lab-top-percent-color: var(--blue-500);--lab-section-concept-border: rgba(96,165,250,.35);--lab-section-conect-color: var(--cyan-300);--lab-section-problem-border: rgba(248,113,113,.4);--lab-section-problem-color: var(--red-300);--lab-section-goal-border: rgba(245,158,11,.35);--lab-section-goal-color: var(--amber-300);--lab-section-result-border: color-mix(in srgb, var(--green-500) 35%, transparent);--lab-section-result-color: var(--green-300)}.mongo-platform{--lab-bg: var(--ink-900);--lab-bg-panel: var(--ink-750);--lab-bg-sidebar: color-mix(in srgb, var(--slate-900) 46%, transparent);--lab-bg-top: rgba(3,7,18,.96);--lab-bg-console: color-mix(in srgb, var(--slate-900) 28%, transparent);--lab-bg-editor: color-mix(in srgb, var(--slate-900) 48%, transparent);--lab-text: var(--slate-200);--lab-text-title: var(--slate-50);--lab-text-body: var(--slate-300);--lab-text-muted: var(--slate-400);--lab-text-dim: var(--slate-500);--lab-text-green: var(--green-500);--lab-border: rgba(255,255,255,.08);--lab-border2: rgba(255,255,255,.07);--lab-border3: rgba(255,255,255,.06);--lab-border4: rgba(255,255,255,.055);--lab-btn-run-bg: rgba(59,130,246,.14);--lab-btn-run-color: var(--blue-400);--lab-btn-run-hover: rgba(59,130,246,.23);--lab-accent-learn: var(--blue-400);--lab-accent-bugs: var(--red-400);--lab-accent-projects: var(--indigo-400);--lab-accent-challenge: var(--amber-400);--lab-progress-gradient: linear-gradient(90deg, var(--amber-500), var(--blue-500));--lab-badge-bg: rgba(59,130,246,.11);--lab-badge-border: rgba(59,130,246,.18);--lab-badge-color: var(--blue-400);--lab-spinner-border: rgba(59,130,246,.28);--lab-spinner-top: var(--blue-400);--lab-lang-bg: rgba(19,170,82,.07);--lab-lang-border: rgba(19,170,82,.15);--lab-lang-color: var(--mongo-green);--lab-highlight-learn-bg: transparent;--lab-highlight-bugs-bg: transparent;--lab-highlight-projects-bg: transparent;--lab-si-active-bg: rgba(59,130,246,.12);--lab-si-active-color: var(--blue-400);--lab-top-percent-color: var(--blue-500);--lab-section-concept-border: rgba(96,165,250,.35);--lab-section-conect-color: var(--cyan-300);--lab-section-problem-border: rgba(248,113,113,.4);--lab-section-problem-color: var(--red-300);--lab-section-goal-border: rgba(245,158,11,.35);--lab-section-goal-color: var(--amber-300);--lab-section-result-border: color-mix(in srgb, var(--green-500) 35%, transparent);--lab-section-result-color: var(--green-300)}[data-theme=light] .jsl-platform{--lab-bg: var(--white);--lab-bg-panel: var(--slate-50);--lab-bg-sidebar: var(--slate-100);--lab-bg-top: rgba(255,255,255,.96);--lab-bg-console: var(--slate-100);--lab-bg-editor: var(--slate-100);--lab-text: var(--slate-900);--lab-text-title: var(--slate-900);--lab-text-body: var(--slate-700);--lab-text-muted: var(--slate-500);--lab-text-dim: var(--slate-400);--lab-text-green: var(--green-600);--lab-border: rgba(0,0,0,.08);--lab-border2: rgba(0,0,0,.07);--lab-border3: rgba(0,0,0,.06);--lab-border4: rgba(0,0,0,.055);--lab-si-active-bg: rgba(37,99,235,.1);--lab-si-active-color: var(--blue-600)}[data-theme=light] .sql-platform,[data-theme=light] .mongo-platform{--lab-bg: var(--white);--lab-bg-panel: var(--slate-50);--lab-bg-sidebar: var(--slate-100);--lab-bg-top: rgba(255,255,255,.96);--lab-bg-console: var(--slate-100);--lab-bg-editor: var(--slate-100);--lab-text: var(--slate-900);--lab-text-title: var(--slate-900);--lab-text-body: var(--slate-700);--lab-text-muted: var(--slate-500);--lab-text-dim: var(--slate-400);--lab-text-green: var(--green-600);--lab-border: rgba(0,0,0,.08);--lab-border2: rgba(0,0,0,.07);--lab-border3: rgba(0,0,0,.06);--lab-border4: rgba(0,0,0,.055);--lab-si-active-bg: rgba(37,99,235,.08);--lab-si-active-color: var(--blue-600)}body:has(.jsl-platform),body:has(.sql-platform),body:has(.mongo-platform){overflow:hidden}.jsl-platform,.sql-platform,.mongo-platform{display:flex;flex-direction:column;width:100%;height:100vh;min-height:0;background:var(--lab-bg);color:var(--lab-text);font-family:var(--font-sans);overflow:hidden}.jsl-platform *,.jsl-platform *:before,.jsl-platform *:after,.sql-platform *,.sql-platform *:before,.sql-platform *:after,.mongo-platform *,.mongo-platform *:before,.mongo-platform *:after{box-sizing:border-box}.jsl-platform button,.sql-platform button,.mongo-platform button{border:0;color:inherit;font:inherit;cursor:pointer}.jsl-platform pre,.jsl-platform code,.sql-platform pre,.sql-platform code,.mongo-platform pre,.mongo-platform code{font-family:var(--font-mono)}.jsl-topbar,.sql-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-shrink:0;min-height:var(--space-13);padding:var(--space-5) var(--space-8);border-bottom:var(--border-width) solid var(--lab-border);background:var(--lab-bg-top)}.jsl-topbar-left,.jsl-topbar-center,.jsl-topbar-right,.sql-topbar-left,.sql-topbar-center,.sql-topbar-right{display:flex;align-items:center;gap:var(--space-4)}.jsl-topbar-center,.sql-topbar-center{gap:.48rem}.jsl-top-back,.sql-top-back{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:var(--radius-md);color:var(--lab-text-muted);font-size:.82rem;text-decoration:none}.jsl-top-back:hover,.sql-top-back:hover{background:#ffffff0f;color:var(--lab-text-title)}.jsl-top-brand,.sql-top-brand{display:flex;align-items:center;gap:var(--space-4)}.jsl-top-brand-icon{display:flex;align-items:center;justify-content:center;width:var(--space-7);height:var(--space-7);border-radius:var(--radius-sm);background:#61dafb14;border:var(--border-width) solid rgba(97,218,251,.18)}[data-theme=light] .jsl-top-brand-icon{background:#2563eb14;border-color:#2563eb2e}.jsl-top-title,.sql-top-title{color:var(--lab-text-title);font-size:var(--space-15);font-weight:800}.jsl-top-percent,.sql-top-progress-text{color:var(--lab-text-muted);font-size:var(--space-6);white-space:nowrap}.jsl-top-progress-bar,.sql-top-progress-bar{width:var(--space-22);height:var(--space-2);border-radius:999px;background:#ffffff14;overflow:hidden}.jsl-top-progress-fill,.sql-top-progress-fill{height:100%;border-radius:inherit;background:var(--lab-progress-gradient)}.jsl-top-percent,.sql-top-percent{min-width:var(--space-20);color:var(--lab-top-percent-color);font-weight:800;font-size:.78rem}.jsl-btn-icon,.sql-btn-icon{display:grid;place-items:center;width:var(--space-8);height:var(--space-8);border-radius:var(--radius-md);background:transparent;color:var(--lab-text-muted)}.jsl-btn-icon:hover,.sql-btn-icon:hover{background:#ffffff12;color:var(--lab-text)}.jsl-cat-chips{display:flex;align-items:center;gap:var(--space-4)}.jsl-cat-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:999px;font-size:.68rem;font-weight:700;border:var(--border-width) solid;white-space:nowrap}.jsl-cat-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.jsl-cat-chip.learn{color:var(--lab-accent-learn);border-color:#60a5fa38;background:#60a5fa12}.jsl-cat-chip.bugs{color:var(--lab-accent-bugs);border-color:#f8717138;background:#f8717112}.jsl-cat-chip.projects{color:var(--lab-accent-projects);border-color:color-mix(in srgb,var(--indigo-400) 22%,transparent);background:color-mix(in srgb,var(--indigo-400) 7%,transparent)}[data-theme=light] .jsl-cat-chip.learn{color:var(--blue-600);border-color:#2563eb38}[data-theme=light] .jsl-cat-chip.bugs{color:var(--red-600);border-color:#dc262638}[data-theme=light] .jsl-cat-chip.projects{color:var(--indigo-700);border-color:color-mix(in srgb,var(--indigo-700) 22%,transparent)}.jsl-main,.sql-main,.jsl-body,.sql-body,.jsl-workspace,.sql-workspace{min-height:0}.jsl-main,.sql-main,.jsl-body,.sql-body,.jsl-workspace,.sql-workspace{flex:1;display:flex;overflow:hidden}.jsl-sidebar,.sql-sidebar{width:280px;min-width:220px;flex-shrink:0;overflow-y:auto;border-right:var(--border-width) solid var(--lab-border);background:var(--lab-bg-sidebar)}.sql-sidebar{display:flex;flex-direction:column}.jsl-sidebar-header,.sql-sidebar-header{padding:var(--space-7);border-bottom:var(--border-width) solid var(--lab-border2)}.jsl-sidebar-header h3,.sql-sidebar-header h3{display:flex;align-items:center;gap:var(--space-3);margin:0;color:var(--lab-text-muted);font-size:var(--space-5);text-transform:uppercase;letter-spacing:.05em}.jsl-sg-title,.sql-sg-title{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;text-align:left;font-size:var(--space-5);font-weight:800}.jsl-sidebar-group{border-bottom:var(--border-width) solid var(--lab-border4)}.jsl-sg-header,.sql-sg-header{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-7) var(--space-7);background:transparent;color:var(--lab-text-muted)}.jsl-sg-header:hover,.jsl-sg-header.expanded,.sql-sg-header:hover,.sql-sg-header.expanded{background:#ffffff0a;color:var(--lab-text)}.jsl-sg-header.learn .jsl-sg-title{color:var(--blue-300)}.jsl-sg-header.bugs .jsl-sg-title{color:var(--red-300)}.jsl-sg-header.projects .jsl-sg-title{color:var(--indigo-300)}.jsl-sg-header.learn:hover,.jsl-sg-header.learn.expanded{background:var(--lab-highlight-learn-bg)}.jsl-sg-header.bugs:hover,.jsl-sg-header.bugs.expanded{background:var(--lab-highlight-bugs-bg)}.jsl-sg-header.projects:hover,.jsl-sg-header.projects.expanded{background:var(--lab-highlight-projects-bg)}.jsl-sidebar-group:has(.jsl-sg-header.bugs) .jsl-si.active{background:color-mix(in srgb,var(--red-500) 10%,transparent);color:var(--red-400)}.jsl-sidebar-group:has(.jsl-sg-header.projects) .jsl-si.active{background:color-mix(in srgb,var(--indigo-400) 10%,transparent);color:var(--lab-accent-projects)}.jsl-sg-title,.sql-sg-title{flex:1;min-width:0;text-align:left;font-size:var(--space-6);font-weight:800}.jsl-sg-count,.sql-sg-count{color:var(--lab-text-dim);font-size:var(--space-5);font-weight:700}.jsl-sg-chevron,.sql-sg-chevron{color:var(--lab-text-dim);font-size:var(--space-5);transition:transform .18s ease}.jsl-sg-header.expanded .jsl-sg-chevron,.sql-sg-header.expanded .sql-sg-chevron{transform:rotate(180deg)}.jsl-sg-items,.sql-sg-items{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-3) var(--space-4)}.jsl-si,.sql-si{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--space-8);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:transparent;color:var(--lab-text-muted);text-align:left;font-size:var(--space-5)}.jsl-si:hover,.sql-si:hover{background:#ffffff0d;color:var(--lab-text-body)}.jsl-si.active,.sql-si.active{background:var(--lab-si-active-bg);color:var(--lab-si-active-color)}.jsl-si.done,.sql-si.done{color:var(--lab-text-green)}.jsl-si-num,.sql-si-num{min-width:var(--space-11);color:var(--lab-text-dim);font-size:var(--space-4)}.jsl-si-title,.sql-si-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jsl-si-level,.sql-si-level{flex-shrink:0;padding:.05rem .24rem;border-radius:2px;font-size:.58rem;font-weight:900}.jsl-si-level.beginner,.sql-si-level.beginner{background:color-mix(in srgb,var(--green-500) 13%,transparent);color:var(--green-500)}.jsl-si-level.intermediate,.sql-si-level.intermediate{background:#f59e0b21;color:var(--amber-500)}.jsl-si-level.advanced,.sql-si-level.advanced{background:color-mix(in srgb,var(--red-500) 13%,transparent);color:var(--red-500)}.jsl-si-check,.sql-si-check{display:flex;flex-shrink:0}[data-theme=light] .jsl-si.active{background:#2563eb1a;color:var(--blue-600)}[data-theme=light] .jsl-sidebar-group:has(.jsl-sg-header.bugs) .jsl-si.active{color:var(--red-600)}[data-theme=light] .jsl-sidebar-group:has(.jsl-sg-header.projects) .jsl-si.active{color:var(--indigo-700)}[data-theme=light] .jsl-si-level.beginner{color:var(--green-600)}[data-theme=light] .jsl-sg-header.learn .jsl-sg-title{color:var(--blue-600)}[data-theme=light] .jsl-sg-header.bugs .jsl-sg-title{color:var(--red-600)}[data-theme=light] .jsl-sg-header.projects .jsl-sg-title{color:var(--indigo-700)}.jsl-content-panel,.jsl-editor-panel,.sql-content-panel,.sql-editor-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--lab-bg-panel)}.jsl-content-panel,.sql-content-panel{border-right:var(--border-width) solid var(--lab-border)}.jsl-content-scroll,.sql-content-scroll{flex:1;min-height:0;overflow-y:auto}.jsl-content-inner,.sql-content-inner{max-width:var(--space-54);margin:0 auto;padding:var(--space-10)}.jsl-chapter-header,.sql-chapter-header{margin-bottom:var(--space-10)}.jsl-chapter-badge,.sql-chapter-badge{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1) var(--space-5);border-radius:999px;background:var(--lab-badge-bg);border:var(--border-width) solid var(--lab-badge-border);color:var(--lab-badge-color);font-size:.72rem;font-weight:800}[data-theme=light] .jsl-chapter-badge{background:#2563eb14;border-color:#2563eb2e;color:var(--blue-600)}.jsl-chapter-badge.bug,.sql-chapter-badge.challenge{background:#f59e0b1c;border-color:#f59e0b2e;color:var(--lab-accent-challenge)}.jsl-chapter-badge.project{background:color-mix(in srgb,var(--indigo-400) 11%,transparent);border-color:color-mix(in srgb,var(--indigo-400) 18%,transparent);color:var(--lab-accent-projects)}.jsl-content-title,.sql-content-title{margin:0 0 var(--space-4);color:var(--lab-text-title);font-size:var(--space-22);line-height:1.3}.jsl-chapter-meta,.jsl-tags,.jsl-content-actions,.jsl-content-tests-header,.jsl-content-tests-actions,.jsl-editor-actions,.sql-editor-actions,.jsl-console-header,.jsl-tests-header,.jsl-tests-actions,.jsl-preview-header,.sql-chapter-meta,.sql-tags,.sql-content-actions{display:flex;align-items:center}.jsl-chapter-meta,.jsl-tags,.jsl-content-actions,.sql-chapter-meta,.sql-tags,.sql-content-actions{gap:var(--space-3);flex-wrap:wrap}.jsl-diff-badge,.sql-diff-badge{padding:.15rem .55rem;border-radius:999px;border:var(--border-width) solid;font-size:.68rem;font-weight:800}[data-theme=light] .jsl-diff-badge,[data-theme=light] .sql-diff-badge{border-color:var(--lab-border)}.jsl-tag,.sql-tag{padding:.15rem var(--space-4);border-radius:999px;border:var(--border-width) solid var(--lab-border2);background:#ffffff0a;color:var(--lab-text-muted);font-size:.68rem;font-weight:800}[data-theme=light] .sql-tag,[data-theme=light] .jsl-tag{border-color:var(--lab-border2);color:var(--lab-text-muted)}.jsl-section,.sql-section{margin-bottom:var(--space-10)}.jsl-section-title,.sql-section-title{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-6);color:var(--lab-text-muted);font-size:.78rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.jsl-section-concept{padding-left:var(--space-6);border-left:var(--border-width-medium) solid var(--lab-section-concept-border)}.jsl-section-concept .jsl-section-title{color:var(--lab-section-concept-color)}.jsl-section-problem{padding-left:var(--space-6);border-left:var(--border-width-medium) solid var(--lab-section-problem-border)}.jsl-section-problem .jsl-section-title{color:var(--lab-section-problem-color)}.jsl-section-goal{padding-left:var(--space-6);border-left:var(--border-width-medium) solid var(--lab-section-goal-border)}.jsl-section-goal .jsl-section-title{color:var(--lab-section-goal-color)}.jsl-section-result{padding-left:var(--space-6);border-left:var(--border-width-medium) solid var(--lab-section-result-border)}.jsl-section-result .jsl-section-title{color:var(--lab-section-result-color)}.jsl-text,.jsl-concept-text,.jsl-task-text,.sql-concept-text,.sql-text{color:var(--lab-text-body);font-size:.9rem;line-height:1.65}.jsl-text p,.jsl-concept-text p,.jsl-task-text p,sql-concept-text p{margin:0 0 var(--space-3)}.jsl-bullet,.jsl-task-item,.sql-bullet{color:var(--lab-text-body);list-style:none;margin:var(--space-1) 0}.jsl-rules-section,.jsl-task-section,.jsl-hint-box,.jsl-solution-box,.jsl-content-tests,.sql-rules-section,.sql-task-section,.sql-hint-box,.sql-solution-box{border-radius:var(--radius-lg);border:var(--border-width) solid var(--lab-border2);background:#ffffff09}.jsl-rules-section,.jsl-task-section,.jsl-hint-box,.jsl-solution-box,.sql-rules-section,.sql-task-section,.sql-hint-box,.sql-solution-box{padding:var(--space-7) var(--space-8)}.jsl-rules-list,.sql-rules-list{margin:0;padding-left:var(--space-8)}.jsl-rule-item,.sql-rule-item{color:var(--slate-300);font-size:.85rem;padding:var(--space-1) 0}[data-theme=light] .jsl-rule-item,[data-theme=light] .sql-rule-item{color:var(--lab-text-body)}.jsl-task-text,.sql-task-text{color:var(--slate-300);font-size:var(--space-9);line-height:1.65}.jsl-task-item,.sql-task-item{color:var(--slate-300);list-style:none;margin:var(--space-1) 0}.jsl-hint-box,.sql-hint-box{margin-bottom:var(--space-8);color:var(--amber-50);background:#f59e0b14;border-color:#f59e0b33;border-left:3px solid rgba(245,158,11,.5)}.jsl-solution-box,.sql-solution-box{margin-bottom:var(--space-8);background:color-mix(in srgb,var(--indigo-400) 7%,transparent);border-color:color-mix(in srgb,var(--indigo-400) 15%,transparent);border-left:3px solid color-mix(in srgb,var(--indigo-400) 40%,transparent)}.sql-solution-box{background:#3b82f612;border-color:#3b82f626;border-left:3px solid rgba(59,130,246,.4)}.jsl-solution-box h4,.sql-solution-box h4{margin:0 0 var(--space-4);color:var(--indigo-300);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.sql-solution-box h4{color:var(--blue-300)}[data-theme=light] .jsl-solution-box h4{color:var(--indigo-700)}.jsl-code-block,.sql-code-block{margin:0;padding:.75rem;border-radius:.45rem;border:var(--border-width) solid var(--lab-border);background:var(--ink-850);color:var(--lab-text);overflow-x:auto;font-size:.8rem}.jsl-inline-code{padding:.1em .4em;border-radius:.3rem;border:var(--border-width) solid rgba(251,146,60,.18);background:#fb923c14;color:#fdba74;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.82em;white-space:nowrap}[data-theme=light] .jsl-inline-code{border-color:#ea580c38;background:#ea580c12;color:#c2410c}.jsl-concept-heading{margin:1.2rem 0 .4rem;color:var(--lab-text-title);font-weight:700;font-size:.95rem}.jsl-md-codeblock{position:relative;margin:.75rem 0}.jsl-md-codeblock .jsl-code-block{margin:0;padding:.85rem 1rem;line-height:1.6;font-family:var(--font-mono, "JetBrains Mono", monospace)}.jsl-md-codeblock-lang{padding:.1rem .45rem;border-radius:.3rem;background:#ffffff0f;color:var(--slate-500, #64748b);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.jsl-codeblock-actions{position:absolute;top:.4rem;right:.6rem;display:flex;align-items:center;gap:.35rem;z-index:1}.jsl-copy-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:.3rem;border:var(--border-width) solid rgba(255,255,255,.08);background:#ffffff0d;color:var(--slate-400, #94a3b8);font-size:.64rem;font-weight:600;cursor:pointer;transition:all .15s ease}.jsl-copy-btn:hover{background:#ffffff1a;color:var(--lab-text, #e2e8f0)}.jsl-copy-btn.copied{border-color:#22c55e4d;background:#22c55e1a;color:#4ade80}[data-theme=light] .jsl-copy-btn{border-color:#0000001a;background:#0000000a;color:#64748b}[data-theme=light] .jsl-copy-btn:hover{background:#00000014;color:#1e293b}[data-theme=light] .jsl-copy-btn.copied{border-color:#16a34a4d;background:#16a34a14;color:#16a34a}.jsl-md-codeblock .jsl-code-block{padding-top:1.6rem}.jsl-md-steps{margin:.5rem 0;padding:0;list-style:none;counter-reset:jsl-step;display:flex;flex-direction:column;gap:.45rem}.jsl-md-step{position:relative;counter-increment:jsl-step;padding:.45rem .75rem .45rem 2.4rem;border-radius:.45rem;border:var(--border-width) solid var(--lab-border2);background:#ffffff06;color:var(--lab-text-body);font-size:.86rem;line-height:1.55}.jsl-md-step:before{content:counter(jsl-step);position:absolute;left:.65rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#fb923c24;color:#fb923c;font-size:.68rem;font-weight:800}[data-theme=light] .jsl-md-step{background:#00000005}[data-theme=light] .jsl-md-step:before{background:#ea580c1a;color:#ea580c}.jsl-md-bullets{margin:.5rem 0;padding-left:.25rem;display:flex;flex-direction:column;gap:.3rem}.jsl-md-bullets .jsl-bullet{position:relative;padding-left:1.1rem;font-size:.86rem;line-height:1.55}.jsl-md-bullets .jsl-bullet:before{content:"";position:absolute;left:.15rem;top:.58em;width:.35rem;height:.35rem;border-radius:50%;background:#fb923cb3}.jsl-content-actions,.sql-content-actions{margin-bottom:var(--space-10)}.jsl-btn-ghost,.jsl-btn-mark,.jsl-nav-btn,.jsl-btn-secondary,.jsl-btn-run,.sql-btn-run,.sql-btn-ghost,.sql-btn-mark,.sql-nav-btn{display:inline-flex;align-items:center;gap:.35rem;border-radius:.45rem;font-size:.8rem;font-weight:800}.jsl-btn-ghost,.jsl-btn-mark,.jsl-nav-btn,.jsl-btn-secondary,.sql-btn-ghost,.sql-btn-mark,.sql-nav-btn{padding:.32rem .75rem;border:var(--border-width) solid var(--lab-border);background:#ffffff0a;color:var(--lab-text-body)}.jsl-btn-ghost:hover,.jsl-btn-mark:hover,.jsl-nav-btn:hover:not(.disabled),.jsl-btn-secondary:hover,.sql-btn-ghost:hover,.sql-btn-mark:hover,.sql-nav-btn:hover:not(.disabled){background:#ffffff14;color:var(--lab-text-title)}.jsl-btn-mark.done,.sql-btn-mark.done{border-color:color-mix(in srgb,var(--green-500) 22%,transparent);background:color-mix(in srgb,var(--green-500) 12%,transparent);color:var(--lab-text-green)}.jsl-btn-topbar{padding:.24rem .65rem;font-size:var(--space-6)}.jsl-content-nav,.sql-content-nav{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:.85rem;border-top:var(--border-width) solid var(--lab-border)}.jsl-nav-btn.disabled,.sql-nav-btn.disabled{opacity:.38;cursor:default}.jsl-editor-actions,.sql-editor-actions{gap:.35rem;flex-shrink:0;padding:.45rem var(--space-6);border-bottom:var(--border-width) solid var(--lab-border);background:var(--lab-bg-editor)}.jsl-btn-run,.sql-btn-run{padding:.42rem .9rem;border:0;background:var(--lab-btn-run-bg);color:var(--lab-btn-run-color);cursor:pointer}.jsl-btn-run:hover,.sql-btn-run:hover{background:var(--lab-btn-run-hover)}.jsl-spinner,.sql-spinner{width:var(--space-6);height:var(--space-6);border-radius:50%;border:var(--border-width-medium) solid var(--lab-spinner-border);border-top-color:var(--lab-spinner-top);animation:labSpin .65s linear infinite;display:inline-block}@keyframes labSpin{to{transform:rotate(360deg)}}.jsl-editor-lang,.sql-editor-lang,.jsl-editor-shortcut,.sql-editor-shortcut{display:inline-flex;align-items:center;gap:var(--space-2);padding:.15rem .45rem;border-radius:3px;font-size:.65rem;font-weight:700;letter-spacing:.04em}.jsl-editor-lang,.sql-editor-lang{background:var(--lab-lang-bg);border:var(--border-width) solid var(--lab-lang-border);color:var(--lab-lang-color)}[data-theme=light] .jsl-editor-lang{background:#2563eb14;border-color:#2563eb2e;color:var(--blue-600)}.jsl-editor-shortcut,.sql-editor-shortcut{margin-left:auto;color:var(--lab-text-dim);font-family:var(--font-mono);background:#ffffff0a;border:var(--border-width) solid var(--lab-border3);border-radius:3px;padding:.12rem .35rem}[data-theme=light] .jsl-editor-shortcut,[data-theme=light] .sql-editor-shortcut{color:var(--lab-text-dim);background:#0000000a;border-color:var(--lab-border3)}.jsl-editor-wrapper,.sql-editor-wrapper{flex:1;min-height:0}.jsl-btn-secondary,.sql-btn-secondary{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .75rem;border-radius:.45rem;border:var(--border-width) solid var(--lab-border);background:#ffffff0a;color:var(--lab-text-body);font-size:.8rem;font-weight:800;cursor:pointer}.jsl-btn-secondary:hover,.sql-btn-secondary:hover{background:#ffffff14;color:var(--lab-text-title)}[data-theme=light] .sql-btn-secondary{border-color:var(--lab-border);background:#0000000a;color:var(--lab-text-body)}[data-theme=light] .sql-btn-secondary:hover{background:#00000012;color:var(--lab-text-title)}.jsl-console-panel,.jsl-tests-panel,.jsl-preview-panel,.jsl-content-tests,.sql-results-panel{flex-shrink:0;overflow:hidden;border-top:var(--border-width) solid var(--lab-border);background:var(--lab-bg-console)}.sql-results-panel{display:flex;flex-direction:column}.jsl-content-tests{margin-top:var(--space-8)}.jsl-console-header,.jsl-tests-header,.jsl-preview-header,.jsl-content-tests-header,.sql-results-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:.38rem var(--space-6);border-bottom:var(--border-width) solid var(--lab-border3);color:var(--lab-text-dim);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.sql-results-info{display:flex;align-items:center;gap:var(--space-4)}.jsl-console-count,.sql-results-count{color:var(--lab-text-dim);font-size:.68rem;letter-spacing:0;text-transform:none}.sql-results-error{color:var(--red-400);font-size:.68rem}.sql-results-success{color:var(--green-500);font-size:.68rem}.jsl-preview-info{display:flex;align-items:center;gap:.24rem;color:var(--react-blue);font-size:.68rem;letter-spacing:0;text-transform:none;opacity:.7}.jsl-console-body,.sql-results-body{flex:1;min-height:0;overflow-y:auto}.jsl-console-body{padding:var(--space-2) 0}.jsl-console-empty,.jsl-preview-placeholder,.jsl-tests-empty,.sql-results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.5rem;color:var(--lab-text-dim);text-align:center}.jsl-console-empty p,.jsl-preview-placeholder p,sql-results-empty p{margin:0;font-size:.82rem}.sql-results-empty{padding:var(--space-16)}.jsl-console-line{display:flex;gap:.35rem;padding:.16rem .65rem;font-family:var(--font-mono);font-size:.8rem;line-height:1.5}.jsl-console-line pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit}.jsl-console-marker{width:var(--space-7);flex-shrink:0;color:var(--slate-500);text-align:center}.jsl-console-log pre{color:var(--lab-text)}.jsl-console-warn pre{color:var(--amber-400)}.jsl-console-error pre{color:var(--red-400)}.jsl-console-info pre{color:var(--blue-400)}.jsl-console-result pre{color:var(--green-400)}[data-theme=light] .jsl-console-marker{color:var(--lab-text-dim)}.jsl-preview-panel{display:flex;flex-direction:column;min-height:var(--space-40)}.jsl-preview-header-left{display:flex;align-items:center;gap:var(--space-4)}.jsl-browser-dots{display:flex;align-items:center;gap:var(--space-2)}.jsl-browser-dot{width:var(--space-4);height:var(--space-4);border-radius:50%;flex-shrink:0}.jsl-browser-dot.red{background:#ff5f57}.jsl-browser-dot.yellow{background:#febc2e}.jsl-browser-dot.green{background:#28c840}.jsl-preview-url{font-family:var(--font-mono);font-size:.65rem;color:var(--slate-600);background:#ffffff0a;border:var(--border-width) solid rgba(255,255,255,.06);border-radius:3px;padding:.08rem .35rem}[data-theme=light] .jsl-preview-url{color:var(--lab-text-dim);background:#0000000a;border-color:var(--lab-border3)}.jsl-preview-body{flex:1;min-height:0;overflow-y:auto;background:var(--white);color:#111827}.jsl-tests-body,.jsl-content-tests-body,.sql-results-body{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem var(--space-6)}.jsl-tests-title{display:flex;align-items:center;gap:.35rem}.jsl-tests-score{padding:.16rem var(--space-4);border-radius:999px;background:color-mix(in srgb,var(--red-500) 10%,transparent);color:var(--red-400);font-size:.72rem}.jsl-tests-score.all-pass{background:color-mix(in srgb,var(--green-500) 12%,transparent);color:var(--green-500)}.jsl-test-item{display:flex;align-items:center;gap:.35rem;max-width:100%;padding:.18rem .55rem;border-radius:999px;border:var(--border-width) solid;font-size:.72rem;font-weight:700}.jsl-test-item.pass{border-color:color-mix(in srgb,var(--green-500) 20%,transparent);background:color-mix(in srgb,var(--green-500) 8%,transparent);color:var(--green-500)}.jsl-test-item.fail{border-color:color-mix(in srgb,var(--red-500) 22%,transparent);background:color-mix(in srgb,var(--red-500) 8%,transparent);color:var(--red-400)}.jsl-test-item.pending{border-color:#94a3b81f;border-style:dashed;background:#94a3b80a;color:var(--slate-500)}[data-theme=light] .jsl-test-item.pending{color:var(--lab-text-dim)}.jsl-test-name,.jsl-test-error{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jsl-test-error{max-width:180px;color:var(--red-300)}.sql-results-table{width:100%;border-collapse:collapse;font-size:.8rem}.sql-results-table th{padding:.55rem var(--space-6);text-align:left;font-weight:700;color:var(--lab-text-muted);background:color-mix(in srgb,var(--slate-900) 35%,transparent);border-bottom:var(--border-width) solid var(--lab-border);white-space:nowrap;position:sticky;top:0;z-index:1}.sql-results-table td{padding:.45rem var(--space-6);border-bottom:var(--border-width) solid rgba(255,255,255,.04);color:var(--lab-text);white-space:nowrap}.sql-results-table tr:hover td{background:#ffffff08}.sql-results-table tr:nth-child(2n) td{background:#ffffff04}.sql-results-table tr:nth-child(2n):hover td{background:#ffffff0a}.sql-results-null{color:var(--lab-text-dim);font-style:italic}.sql-results-numeric{text-align:right;font-family:var(--font-mono)}.jsl-checklist,.jsl-milestones{display:flex;flex-direction:column;gap:.45rem}.jsl-checklist-item,.jsl-milestone{display:flex;align-items:flex-start;gap:.55rem;color:var(--slate-300);font-size:.86rem}.jsl-milestone{padding:.65rem var(--space-6);border-radius:.45rem;border:var(--border-width) solid rgba(255,255,255,.07);background:#ffffff09}.jsl-milestone-num{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:#60a5fa1f;color:var(--blue-400);font-size:var(--space-6);font-weight:900}.jsl-milestone strong{display:block;color:var(--slate-50);font-size:.85rem;margin-bottom:.12rem}.jsl-milestone p{margin:0;color:var(--slate-400);font-size:.8rem}[data-theme=light] .jsl-milestone{border-color:var(--lab-border2);background:#00000005}[data-theme=light] .jsl-milestone strong{color:var(--lab-text-title)}[data-theme=light] .jsl-milestone p{color:var(--lab-text-muted)}[data-theme=light] .jsl-checklist-item{color:var(--lab-text-body)}.jsl-resize-handle{position:relative;z-index:5;flex-shrink:0}.jsl-resize-handle.vertical{width:5px;cursor:col-resize}.jsl-resize-handle.horizontal{width:100%;height:5px;cursor:row-resize}.jsl-resize-handle:before{content:"";position:absolute;inset:0;margin:auto;border-radius:999px;background:#ffffff1a;transition:background .15s ease}.jsl-resize-handle.vertical:before{width:2px;height:34px}.jsl-resize-handle.horizontal:before{width:34px;height:2px}.jsl-resize-handle:hover:before{background:#60a5fa73}.jsl-footer,.sql-footer{display:none}@media(max-width:1024px){.jsl-sidebar,.sql-sidebar{width:240px}.jsl-topbar-center,.sql-topbar-center{display:none}}@media(max-width:1280px){.jsl-cat-chips{display:none}}@media(max-width:768px){.jsl-platform,.sql-platform,.mongo-platform{min-height:100vh;height:auto;overflow:visible}.jsl-body,.jsl-workspace,.sql-body,.sql-workspace{flex-direction:column;overflow:visible}.jsl-main,.sql-main{overflow:visible}.jsl-sidebar,.sql-sidebar{width:100%!important;max-height:34dvh;border-right:0;border-bottom:var(--border-width) solid var(--lab-border)}.jsl-content-panel,.sql-content-panel{border-right:0;border-bottom:var(--border-width) solid var(--lab-border);flex:0 0 auto!important}.jsl-editor-panel,.sql-editor-panel{min-height:520px;flex:0 0 520px!important}.jsl-resize-handle,.jsl-editor-shortcut,.sql-editor-shortcut{display:none}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:2px}.jsl-btn-command-palette,.sql-btn-command-palette,.lab-btn-command-palette{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 12px;height:32px;border-radius:var(--radius-md);border:1px solid var(--lab-border, rgba(255,255,255,.08));background:#ffffff08;color:var(--lab-text-muted, #94a3b8);font-family:var(--font-sans, inherit);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.jsl-btn-command-palette:hover,.sql-btn-command-palette:hover,.lab-btn-command-palette:hover{background:#ffffff14;border-color:var(--accent, #6366f1);color:var(--lab-text, #e2e8f0)}.lcp-kbd{font-family:var(--font-mono, monospace);font-size:.65rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:1px 4px;color:var(--lab-text-dim, #64748b);display:inline-block}.lab-tour-highlight{position:fixed;pointer-events:none;z-index:99998;border-radius:8px;border:2px dashed var(--accent, #6366f1);box-shadow:0 0 0 9999px #030712bf,0 0 15px var(--accent, #6366f1);transition:all .3s cubic-bezier(.4,0,.2,1)}.lab-tour-dialog{position:fixed;z-index:99999;width:320px;background:#0f172a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;box-shadow:0 20px 40px #0006,0 0 0 1px #ffffff0d;color:#e2e8f0;font-family:var(--font-sans, inherit);transition:all .3s cubic-bezier(.4,0,.2,1)}.lab-tour-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.lab-tour-title{font-weight:700;font-size:.95rem;color:#fff}.lab-tour-step-indicator{font-size:.75rem;color:var(--lab-text-muted, #94a3b8);font-family:var(--font-mono, monospace)}.lab-tour-body{font-size:.85rem;line-height:1.5;color:#cbd5e1;margin-bottom:16px}.lab-tour-footer{display:flex;justify-content:space-between;align-items:center}.lab-tour-btn-skip{background:transparent;border:none;color:var(--lab-text-muted, #94a3b8);font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:4px}.lab-tour-btn-skip:hover{color:#fff;background:#ffffff0d}.lab-tour-actions{display:flex;gap:8px}.lab-tour-btn{padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.lab-tour-btn-secondary{background:#ffffff0d;border-color:#ffffff1a;color:#e2e8f0}.lab-tour-btn-secondary:hover{background:#ffffff1a}.lab-tour-btn-primary{background:var(--accent, #6366f1);color:#fff}.lab-tour-btn-primary:hover{background:var(--accent-hover, #4f46e5)}.jsl-editor-fullscreen{position:fixed!important;inset:0!important;z-index:9999!important;width:100vw!important;height:100vh!important;background:var(--bg, #0f172a)!important;display:flex;flex-direction:column}.jsl-editor-fullscreen .jsl-editor-wrapper{flex:1;height:auto;min-height:0}.jsl-editor-actions .font-size-label{font-size:11px;opacity:.55;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:28px;text-align:center;color:var(--text-muted, #94a3b8)}
