:root{--background:#09090b;--foreground:#fafafa;--card:#09090b;--card-foreground:#fafafa;--popover:#09090b;--popover-foreground:#fafafa;--primary:#fafafa;--primary-foreground:#18181b;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#18181b;--muted-foreground:#a1a1aa;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#ef4444;--destructive-foreground:#fafafa;--border:#27272a;--input:#27272a;--ring:#d4d4d8;--certify-bg-canvas:#15062b;--certify-bg-surface:#111;--certify-bg-surface-subtle:#181818;--certify-bg-surface-muted:#222;--certify-bg-sidebar:#111;--certify-bg-code-ide:#13151a;--certify-bg-code-header:#1b1e26;--certify-text-primary:#fff;--certify-text-secondary:#cbd5e1;--certify-text-muted:#94a3b8;--certify-text-disabled:#64748b;--certify-text-on-dark:#fff;--certify-brand-purple:#7c3aed;--certify-brand-purple-hover:#6d28d9;--certify-brand-purple-active:#5b21b6;--certify-brand-purple-light:#7c3aed26;--certify-brand-purple-border:#c4b5fd59;--certify-status-success:#10b981;--certify-status-success-bg:#10b98126;--certify-status-success-border:#10b98159;--certify-status-warning:#f59e0b;--certify-status-warning-bg:#f59e0b26;--certify-status-warning-border:#f59e0b59;--certify-status-danger:#ef4444;--certify-status-danger-bg:#ef444426;--certify-status-danger-border:#ef444459;--certify-status-info:#3b82f6;--certify-status-info-bg:#3b82f626;--certify-status-info-border:#3b82f659;--certify-border-subtle:#ffffff14;--certify-border-medium:#ffffff38;--certify-border-focus:#7c3aed;--certify-gold-primary:#c59b27;--certify-gold-secondary:#e3b341;--certify-gold-bg:#fdf9ec;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Newsreader", "Playfair Display", Georgia, serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--shadow-subtle:0 1px 3px #0003, 0 1px 2px #00000026;--shadow-card:0 4px 20px #00000040, 0 1px 3px #00000026;--shadow-elevated:0 12px 36px #0006, 0 2px 8px #0003;--certify-surface-strong:#120524eb;--certify-surface:#15062bd9;--certify-surface-soft:#200a40bf;--certify-surface-elevated:#280e4ed9;--certify-surface-hover:#321260e6;--certify-border:#ffffff1f;--certify-border-strong:#ffffff38;--certify-text-ivory:#fff;--certify-champagne:#c4b5fd;--certify-violet-muted:#c4b5fd;--certify-mockup-bg:#fff;--certify-mockup-border:#ffffff1f;--certify-mockup-text-primary:#111827;--certify-mockup-text-secondary:#4b5563;--certify-mockup-bubble-ai:#f5f3ff;--certify-mockup-bubble-user:#fff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#15062b;min-height:100vh;line-height:1.6;transition:background-color .4s,color .4s;overflow-x:hidden}html[data-theme=light] body{color:#0f172a;background-color:#c5b8d6}html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] .bg-\[\#111111\]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#171922]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#0b0f19]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#0d0e12]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#14161f]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [class*="bg-[#181920]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [data-purpose*=hero-current-course],html[data-theme=light] [data-purpose*=current-focus-hero-card],html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]):not([data-purpose*=user-quick]),html[data-theme=light] [data-purpose=meta-info-strip]>div{transition:background-color .4s,border-color .4s,box-shadow .4s,color .4s;--spotlight-card-surface:#fff!important;color:#0f172a!important;background-color:#fff!important;background-image:none!important;border-color:#6d28d91f!important;box-shadow:0 8px 30px #4c1d950f!important}html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h1,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h2,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h3,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h4,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h5,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h1,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h2,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h3,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h4,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h5,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h1,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h2,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h3,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h4,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h5,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h1,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h2,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h3,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h4,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) h5{color:#0f172a!important}html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) p,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) p,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) p,html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) p{color:#334155!important}html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-white:not([class*=bg-]):not(button):not(svg *):not([class*=badge]),html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-white:not([class*=bg-]):not(button):not(svg *):not([class*=badge]),html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-white:not([class*=bg-]):not(button):not(svg *):not([class*=badge]),html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-white:not([class*=bg-]):not(button):not(svg *):not([class*=badge]){color:#0f172a!important}html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-neutral-400,html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-zinc-400,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-neutral-400,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-zinc-400,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-neutral-400,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) .text-zinc-400{color:#64748b!important}html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) [class*="bg-white/["],html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) [class*="bg-white/["],html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) [class*="bg-white/["],html[data-theme=light] [data-purpose$=-widget]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) [class*="bg-white/["]{background-color:#f8fafc!important;border-color:#6d28d914!important}html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white{color:#fff!important;background-color:#7c3aed!important;border-color:#6d28d9!important;box-shadow:0 4px 14px #7c3aed40!important}html[data-theme=light] [class*="bg-[#111111]"]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white:hover,html[data-theme=light] .spotlight-card:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white:hover,html[data-theme=light] [data-purpose$=-card]:not([data-purpose*=sidebar]):not([data-purpose*=user-spotlight]) button.bg-white:hover{background-color:#6d28d9!important}.certify-logo-preloader-root{z-index:99999;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden;background:#000!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d8d2c6;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#b5ae9e}.meter-circle{transform-origin:50%;transform:rotate(-90deg)}.hero-glow-bg{background:radial-gradient(circle at 80% 40%,#d9770638 0%,#1e1b4b99 40%,#0d0e12fa 80%),linear-gradient(135deg,#121318 0%,#0f1015 100%)}.sidebar-art-bg{background:linear-gradient(145deg,#181920 0%,#101115 100%);position:relative;overflow:hidden}.sidebar-art-bg:after{content:"";filter:blur(10px);background:radial-gradient(circle,#ea580c4d 0%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;bottom:-30%;right:-20%}.btn-primary{background-color:var(--certify-brand-purple);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:9px 18px;font-size:.875rem;font-weight:600;transition:all .15s ease-out;display:inline-flex;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background-color:var(--certify-brand-purple-hover);transform:translateY(-.5px)}.btn-primary:active{background-color:var(--certify-brand-purple-active);transform:scale(.98)}.btn-secondary{color:var(--certify-text-primary);border:1px solid var(--certify-border-subtle);cursor:pointer;background-color:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .15s ease-out;display:inline-flex}.btn-secondary:hover{background-color:var(--certify-bg-surface-subtle);border-color:var(--certify-border-medium)}.btn-secondary:active{transform:scale(.98)}.certify-card{background-color:var(--certify-bg-surface);border:1px solid var(--certify-border-subtle);box-shadow:var(--shadow-subtle);border-radius:20px;transition:border-color .2s,box-shadow .2s}.certify-card:hover{box-shadow:var(--shadow-card);border-color:#ddd9d0}.badge-tier{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-easy{background-color:var(--certify-status-success-bg);color:#047857;border:1px solid var(--certify-status-success-border)}.badge-medium{background-color:var(--certify-brand-purple-light);color:var(--certify-brand-purple);border:1px solid var(--certify-brand-purple-border)}.badge-hard{background-color:var(--certify-status-warning-bg);color:#b45309;border:1px solid var(--certify-status-warning-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes waveformPulse{0%{opacity:.65;transform:scaleY(.3)}to{opacity:1;transform:scaleY(1)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@supports (view-transition-name:root){::view-transition-old(root){animation:.2s cubic-bezier(.16,1,.3,1) both certifyFadeOut}::view-transition-new(root){animation:.3s cubic-bezier(.16,1,.3,1) both certifyFadeIn}}@keyframes certifyFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes certifyFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}.spotlight-card{isolation:isolate;background-color:var(--spotlight-card-surface);box-shadow:var(--spotlight-card-shadow);transition:background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),color .3s;position:relative;overflow:hidden}.spotlight-card__light,.spotlight-card__grain,.spotlight-card__border,.spotlight-card__edge{border-radius:inherit;pointer-events:none;position:absolute;inset:0;margin:0!important}.spotlight-card__light,.spotlight-card__grain{z-index:-1;opacity:0}.spotlight-card__grain{mix-blend-mode:overlay;background-size:160px 160px}.spotlight-card__border,.spotlight-card__edge{z-index:1;-webkit-mask-composite:xor;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.spotlight-card__border{background:var(--spotlight-card-border);transition:background .4s}.spotlight-card__edge{opacity:0}.squish-switch-root{align-items:center;gap:10px;display:inline-flex}.squish-switch{--ss-w:76px;--ss-h:38px;--ss-inset:4px;--ss-thumb:30px;--ss-r:19px;--ss-thumb-r:15px;--ss-track:#27272a;--ss-track-on:#f5f5f5;--ss-thumb-color:#4e4e51;--ss-thumb-on:#27272a;--ss-fade:.32s;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;margin:0;padding:0;display:inline-block;position:relative}.squish-switch:after{content:"";position:absolute;inset:-8px}.squish-switch[data-held]{cursor:grabbing}.squish-switch[aria-disabled=true]{cursor:not-allowed;opacity:.5}.squish-switch__track{width:var(--ss-w);height:var(--ss-h);border-radius:var(--ss-r);background:var(--ss-track);transition:background-color var(--ss-fade) ease, border-color var(--ss-fade) ease, box-shadow var(--ss-fade) ease;display:block;position:relative;box-shadow:inset 0 1px 3px #0000004d}.squish-switch[data-on] .squish-switch__track{background:var(--ss-track-on)}.squish-switch__thumb{top:var(--ss-inset);width:var(--ss-thumb);height:var(--ss-thumb);border-radius:var(--ss-thumb-r);background:var(--ss-thumb-color);transition:background-color var(--ss-fade) ease, box-shadow var(--ss-fade) ease;position:absolute;left:0;box-shadow:0 2px 4px #00000040}.squish-switch[data-on] .squish-switch__thumb{background:var(--ss-thumb-on)}.squish-switch__label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.squish-switch__track,.squish-switch__thumb{transition-duration:1ms}}.accordion-gallery{--ag-accent:#e6caa4;--ag-overlay:#000;--ag-text:#fef5e5;--ag-gap:10px;--ag-radius:16px;--ag-media-size:320px;gap:var(--ag-gap);perspective:1400px;perspective-origin:50%;flex-direction:row;width:100%;max-width:100%;display:flex}.accordion-gallery--vertical{flex-direction:column}.ag-panel{border-radius:var(--ag-radius);cursor:pointer;min-width:0;min-height:0;transform-style:preserve-3d;transform-origin:50%;will-change:flex-grow, transform;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 30%,#1e1730 0%,#0d0c14 100%);border:1px solid #ffffff0d;outline:none;flex:1 1 0;text-decoration:none;transition:box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden;box-shadow:0 14px 38px -18px #000000f2}.ag-panel:focus-visible{border-color:#e6caa466;box-shadow:0 0 0 2px #e6caa426,0 14px 38px -18px #000000e6}.ag-panel--active{border:1px solid #e6caa440;box-shadow:0 22px 50px -14px #000000fa,0 0 20px #e6caa40a}.ag-panel__frame{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.ag-panel__media{--ag-gray:1;--ag-dim:.32;width:var(--ag-media-size);height:100%;filter:grayscale(var(--ag-gray));will-change:transform, filter;position:absolute;top:50%;left:50%}.accordion-gallery--vertical .ag-panel__media{width:100%;height:var(--ag-media-size)}.ag-panel__media img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:contrast(1.08)brightness(1.02);width:100%;height:100%;display:block}.ag-panel__overlay{pointer-events:none;background:linear-gradient(180deg, transparent 35%, #000000e0 100%), rgba(0, 0, 0, calc(var(--ag-dim,.32)));position:absolute;inset:0}.ag-panel__number{color:inherit;vertical-align:baseline;letter-spacing:-.02em;margin-right:.38em;font-family:inherit;font-size:1.25em;font-weight:600;line-height:1;display:inline-block}.ag-panel__label{pointer-events:none;z-index:2;align-items:flex-start;gap:14px;display:flex;position:absolute;bottom:22px;left:20px;right:20px}.ag-panel__bar{opacity:0;background:#e6caa4;border-radius:3px;flex:none;width:3.5px;height:34px;margin-top:3px;box-shadow:0 0 14px #e6caa499}.ag-panel__content{flex-direction:column;gap:4px;min-width:0;display:flex}.ag-panel__text{color:var(--ag-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;opacity:0;text-shadow:0 2px 16px #000000f2;font-family:Newsreader,Georgia,serif;font-size:clamp(1.2rem,1.7vw,1.8rem);font-weight:600;line-height:1.15;overflow:hidden}.ag-panel__subtext{color:#cfc2b4;opacity:0;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 8px #000000f2;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(.8rem,.95vw,.92rem);line-height:1.4;overflow:hidden}@media (width<=768px){.accordion-gallery{perspective:none;flex-direction:column;height:auto!important}.ag-panel{height:96px;min-height:96px;transform:none!important}.ag-panel--active{height:220px;min-height:220px}.accordion-gallery .ag-panel__media{width:100%;height:var(--ag-media-size)}.ag-panel__text{white-space:normal;font-size:1.25rem}.ag-panel__subtext{white-space:normal}}@media (prefers-reduced-motion:reduce){.ag-panel,.ag-panel__media{will-change:auto}}
