:root{--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--color-bg: #f8fafc;--color-bg-alt: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-accent: #3b6fd9;--color-accent-hover: #2d5bb8;--color-border: #e2e8f0;--color-panel: #ffffff;--duration-theme: .22s;--ease-theme: ease;--color-code-bg: #f1f5f9;--color-code-fg: #1e293b;--color-code-border: #e2e8f0;--color-code-inset: rgba(255, 255, 255, .9);--syntax-keyword: #6d28d9;--syntax-cyan: #0f766e;--syntax-amber: #b45309;--syntax-green: #166534;--syntax-muted: #64748b;--syntax-prompt: #047857;--color-mono-bg: var(--color-code-bg);--color-mono-fg: var(--color-code-fg);--shadow-sm: 0 1px 2px rgba(100, 116, 139, .07), 0 1px 3px rgba(71, 85, 105, .04);--shadow-md: 0 4px 6px rgba(100, 116, 139, .06), 0 12px 32px rgba(71, 85, 105, .08);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--content-max: 44rem;--site-header-height: 4rem;--ease-out: cubic-bezier(.25, .46, .45, .94);--duration: .35s}[data-theme=dark]{--color-bg: #07080d;--color-bg-alt: #0e1018;--color-text: #e8eaef;--color-text-muted: #9aa3b5;--color-accent: #7eb0ff;--color-accent-hover: #a8c8ff;--color-border: #2a3142;--color-panel: #151922;--color-code-bg: #0a0d11;--color-code-fg: #c8d0dc;--color-code-border: #1e2430;--color-code-inset: rgba(255, 255, 255, .05);--syntax-keyword: #c678dd;--syntax-cyan: #56b6c2;--syntax-amber: #e5c07b;--syntax-green: #98c379;--syntax-muted: #abb2bf;--syntax-prompt: #6bdb9a;--color-mono-bg: var(--color-code-bg);--color-mono-fg: var(--color-code-fg);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 16px 48px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-height) + var(--space-sm))}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;position:relative;min-height:100vh;transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme)}.site-header,.nav__theme,.nav__links,.nav__links a,.logo,.career-node__card,.career-tag,.btn,.btn--ghost,.career-gimmick__code,.sql-gimmick__pre,.dsa-playground__decl,.dsa-panel__pre,.career-gimmick__btn,.site-footer,.dsa-playground__panel,.dsa-table,.dsa-table th,.dsa-table td{transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme)}[data-theme=light] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--color-bg);background-image:radial-gradient(ellipse 130% 85% at 50% -30%,rgba(186,230,254,.22),transparent 52%),radial-gradient(ellipse 95% 75% at 0% 105%,rgba(255,228,210,.18),transparent 50%),radial-gradient(ellipse 80% 60% at 100% 85%,rgba(219,234,254,.12),transparent 48%),linear-gradient(168deg,#fff1e873,#f8fafc00 42%,#e0f2fe47);background-repeat:no-repeat;background-size:100% 100%}[data-theme=dark] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--color-bg);background-image:radial-gradient(1px 1px at 6% 8%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 11% 14%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 18% 31%,rgba(236,242,255,.42),transparent),radial-gradient(1.5px 1.5px at 24% 6%,rgba(255,255,255,.62),transparent),radial-gradient(1px 1px at 31% 52%,rgba(255,255,255,.38),transparent),radial-gradient(1px 1px at 8% 67%,rgba(255,255,255,.33),transparent),radial-gradient(1px 1px at 15% 88%,rgba(230,236,255,.45),transparent),radial-gradient(1px 1px at 26% 71%,rgba(255,255,255,.48),transparent),radial-gradient(2px 2px at 38% 19%,rgba(255,255,255,.58),transparent),radial-gradient(1px 1px at 44% 28%,rgba(230,236,255,.52),transparent),radial-gradient(1px 1px at 42% 61%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 36% 79%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 48% 94%,rgba(255,255,255,.36),transparent),radial-gradient(1px 1px at 52% 8%,rgba(255,255,255,.44),transparent),radial-gradient(1.5px 1.5px at 55% 41%,rgba(220,230,255,.55),transparent),radial-gradient(1px 1px at 52% 62%,rgba(255,255,255,.42),transparent),radial-gradient(1px 1px at 58% 76%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 63% 15%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 66% 48%,rgba(255,255,255,.38),transparent),radial-gradient(1px 1px at 63% 86%,rgba(255,255,255,.46),transparent),radial-gradient(2px 2px at 71% 29%,rgba(255,255,255,.52),transparent),radial-gradient(1px 1px at 72% 38%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 78% 63%,rgba(236,240,255,.48),transparent),radial-gradient(1px 1px at 74% 91%,rgba(255,255,255,.34),transparent),radial-gradient(1px 1px at 81% 19%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 86% 7%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 88% 44%,rgba(255,255,255,.36),transparent),radial-gradient(1.5px 1.5px at 91% 68%,rgba(255,255,255,.58),transparent),radial-gradient(1px 1px at 91% 54%,rgba(255,255,255,.44),transparent),radial-gradient(1px 1px at 94% 31%,rgba(230,236,255,.42),transparent),radial-gradient(1px 1px at 96% 12%,rgba(255,255,255,.48),transparent),radial-gradient(1px 1px at 97% 89%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 3% 42%,rgba(255,255,255,.32),transparent),radial-gradient(1px 1px at 12% 56%,rgba(255,255,255,.38),transparent),radial-gradient(1px 1px at 29% 98%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 50% 50%,rgba(240,245,255,.28),transparent),radial-gradient(1px 1px at 69% 3%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 84% 82%,rgba(255,255,255,.36),transparent),radial-gradient(1px 1px at 22% 44%,rgba(255,255,255,.33),transparent),radial-gradient(1px 1px at 47% 72%,rgba(220,228,255,.4),transparent),radial-gradient(1.5px 1.5px at 59% 92%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 76% 52%,rgba(255,255,255,.34),transparent),radial-gradient(1px 1px at 33% 12%,rgba(255,255,255,.42),transparent),radial-gradient(1px 1px at 61% 58%,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 14% 22%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 39% 46%,rgba(255,255,255,.32),transparent),radial-gradient(1px 1px at 82% 56%,rgba(236,242,255,.38),transparent),radial-gradient(1px 1px at 5% 82%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 56% 18%,rgba(255,255,255,.36),transparent),radial-gradient(1px 1px at 93% 96%,rgba(255,255,255,.34),transparent);background-repeat:no-repeat;background-size:100% 100%}img{max-width:100%;height:auto;display:block}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--space-sm);z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-text);color:var(--color-bg);text-decoration:none;font-weight:600;border-radius:4px;transition:top var(--duration) var(--ease-out)}.skip-link:focus{top:var(--space-sm)}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--site-header-height);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.header-inner{position:relative;max-width:var(--content-max);margin:0 auto;padding:0 var(--space-md);height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);text-align:left}.logo{font-weight:700;font-size:1.0625rem;color:var(--color-text);text-decoration:none;flex-shrink:0;margin-inline-end:clamp(1rem,4vw,2.75rem)}.logo:hover{color:var(--color-accent)}.nav{display:flex;align-items:center;justify-content:flex-start;flex:1;min-width:0}.nav__links{list-style:none;margin:0;padding:0;display:none;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--color-panel);border:1px solid var(--color-border);border-radius:0 0 10px 10px;box-shadow:var(--shadow-md);z-index:40}.nav__links--open{display:flex}.nav__links li{border-bottom:1px solid var(--color-border)}.nav__links li:last-child{border-bottom:none}.nav__links a{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);text-decoration:none;font-weight:500}.nav__links a:hover{color:var(--color-accent)}.nav__right{display:flex;align-items:center;gap:var(--space-xs)}.nav__theme{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel);color:var(--color-text);cursor:pointer}.nav__theme:hover{border-color:var(--color-accent);color:var(--color-accent)}.nav__theme-icon{display:block}.nav__theme-icon--sun{overflow:visible}.nav__toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:none;border:none;cursor:pointer}.nav__toggle-bar{display:block;width:22px;height:2px;background:var(--color-text);border-radius:1px;transition:transform var(--duration) var(--ease-out),opacity var(--duration) var(--ease-out),background-color var(--duration-theme) var(--ease-theme)}.nav__toggle[aria-expanded=true] .nav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-bar:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] .nav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(min-width:768px){.nav__toggle{display:none}.nav__links{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-md);position:static;background:transparent;border:none;box-shadow:none;border-radius:0}.nav__links li{border:none}.nav__links a{padding:var(--space-xs) 0}}.portfolio-main{padding-top:var(--site-header-height);padding-bottom:var(--space-2xl)}.section__inner{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--space-md)}.section__inner--narrow{max-width:var(--content-max);text-align:left}.section__inner--narrow .career-node__card{width:100%;max-width:100%}.section{padding:var(--space-xl) 0}.section h2{margin:0 0 var(--space-sm);font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:700;letter-spacing:-.02em}.section p{margin:0 0 var(--space-md);color:var(--color-text-muted)}.section p:last-child{margin-bottom:0}.section__lede{margin-bottom:var(--space-md)!important}.eyebrow{margin:0 0 var(--space-sm);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.text-accent{color:var(--color-accent)}.section--about{padding-top:var(--space-2xl)}.about-facts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.5rem clamp(1.75rem,5vw,3rem);margin:var(--space-lg) 0 0;padding:0}.about-facts__item{margin:0;padding:0;min-width:min(100%,12rem);background:none;border:none;box-shadow:none}.about-facts__label{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.about-facts__value{margin:0;font-size:.9375rem;font-weight:600;line-height:1.45;color:var(--color-text)}.intro__title{margin:0 0 var(--space-md);font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--color-text)}.intro__lede{font-size:1.0625rem;line-height:1.65;margin-bottom:var(--space-lg)!important}.intro__social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-start}.intro__social--after-facts{margin-top:var(--space-lg)}.intro__social-link{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border-radius:8px;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text);text-decoration:none;box-shadow:var(--shadow-sm);transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme),transform .1s var(--ease-out)}.intro__social-link:hover{border-color:var(--color-accent);color:var(--color-accent);transform:scale(1.08) translateY(-1px);box-shadow:var(--shadow-md)}.intro__social-link:active{transform:scale(.94) translateY(0);box-shadow:var(--shadow-sm)}.intro__social-icon{flex-shrink:0;width:20px;height:20px;opacity:.9;display:block}.intro__social-icon--lc{font-family:var(--font-sans),system-ui,sans-serif}.skills-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem .55rem;justify-content:stretch;justify-items:stretch}.skills-logos__item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding:.55rem .4rem .6rem;min-width:0;background:var(--color-panel);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-sm);cursor:pointer;width:100%;min-height:0;transform-origin:center center;transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme),transform .12s var(--ease-out)}.skills-logos__item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:scale(1.05)}.skills-logos__item:active{cursor:grabbing;transform:scale(.98);box-shadow:var(--shadow-sm)}.skills-logos__logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.skills-logos__abbr{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:8px;font-size:.6875rem;font-weight:700;line-height:1;letter-spacing:-.02em;font-family:ui-monospace,monospace;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-bg-alt));border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border))}.skills-logos__name{font-size:.75rem;font-weight:600;line-height:1.2;color:var(--color-text);text-align:center;width:100%;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.career-gimmick{width:100%}.career-gimmick__code{margin:0 0 var(--space-md);padding:var(--space-md) var(--space-md);font-family:ui-monospace,Cascadia Code,monospace;font-size:.8125rem;line-height:1.55;overflow-x:auto;border-radius:10px;border:1px solid var(--color-code-border);background:var(--color-code-bg);color:var(--color-code-fg);box-shadow:inset 0 1px 0 var(--color-code-inset)}.career-gimmick__code code{font-family:inherit;font-size:inherit}.career-gimmick__prompt{color:var(--syntax-prompt);-webkit-user-select:none;user-select:none}.bash-cmd{color:var(--syntax-keyword)}.bash-flag{color:var(--syntax-cyan)}.bash-quote{color:var(--syntax-muted)}.bash-pattern{color:var(--syntax-amber);word-break:break-word}.bash-arg{color:var(--syntax-green)}.career-gimmick__mode{display:flex;width:100%;flex-wrap:nowrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.career-gimmick__mode-btn{flex:1 1 0;min-width:0;text-align:center;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme),transform .1s var(--ease-out)}.career-gimmick__mode-btn:hover{border-color:var(--color-accent);color:var(--color-accent);transform:scale(1.04);box-shadow:var(--shadow-sm)}.career-gimmick__mode-btn:active{transform:scale(.97)}.career-gimmick__mode-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.career-gimmick__mode-btn--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,var(--color-panel));color:var(--color-text)}.career-gimmick__actions{margin-top:var(--space-md)}.career-gimmick__line{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.career-gimmick__btn{font-family:ui-monospace,monospace;font-size:.8125rem;padding:.35rem .6rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-accent);cursor:pointer;text-align:left;transition:border-color var(--duration),background var(--duration)}.career-gimmick__btn:hover{border-color:var(--color-accent);background:var(--color-bg-alt)}.career-timeline{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.career-node__header{display:flex;align-items:flex-start;gap:1rem}.career-node__body{flex:1;min-width:0}.career-node__marker{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid var(--color-text);background:var(--color-text);color:var(--color-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-text) 10%,transparent);transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme)}.career-node--education .career-node__marker{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent)}.career-node__icon-svg{display:block;flex-shrink:0}.career-node__card{width:100%;padding:1.25rem;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--color-text) 12%,var(--color-border));background:var(--color-panel);box-shadow:var(--shadow-sm);cursor:pointer;transform-origin:center center;text-align:left;transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme),transform .18s var(--ease-out)}.career-node:hover .career-node__card{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));box-shadow:var(--shadow-md);transform:scale(1.03)}.career-node:active .career-node__card{transform:scale(.98);box-shadow:var(--shadow-sm)}.project-node .career-node__marker{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent)}.project-node .career-node__body{display:flex;flex-direction:column;gap:.75rem}.project-node .career-node__meta{margin-bottom:0}.project-node .career-node__title,.project-node .career-node__desc{margin:0}.project-node .career-node__tags{margin-top:0}.career-node__card--link{display:block;text-decoration:none;color:inherit;cursor:pointer}.career-node__card--link:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));box-shadow:var(--shadow-md);transform:scale(1.03)}.career-node__card--link:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.career-node__card--link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.career-node__period code{font-family:ui-monospace,Cascadia Code,monospace;font-size:.8125rem;font-weight:500}.career-node__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.career-node__period{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.career-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;line-height:1.2}.career-badge--current{background:color-mix(in srgb,var(--color-text) 10%,transparent);color:var(--color-text)}.career-badge__dot{width:6px;height:6px;border-radius:50%;background:#34d399;flex-shrink:0;animation:career-badge-pulse 2s ease-in-out infinite}.career-badge--blue{background:color-mix(in srgb,#3b82f6 16%,var(--color-panel));color:#1d4ed8;border:1px solid color-mix(in srgb,#3b82f6 22%,transparent)}[data-theme=dark] .career-badge--blue{color:#93c5fd;background:color-mix(in srgb,#3b82f6 18%,var(--color-panel));border-color:color-mix(in srgb,#3b82f6 28%,transparent)}.career-badge--muted{background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text-muted);border:1px solid var(--color-border)}.career-node__title{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.career-node__org{margin:.125rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.career-node__desc{margin:.75rem 0 0;font-size:.9375rem;line-height:1.55;color:var(--color-text-muted)}.career-node__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.career-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}@keyframes career-badge-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.career-badge__dot{animation:none}}.sql-gimmick__pre{margin:0 0 var(--space-sm);padding:var(--space-md);background:var(--color-code-bg);color:var(--color-code-fg);border:1px solid var(--color-code-border);border-radius:8px;font-family:ui-monospace,monospace;font-size:.8125rem;overflow-x:auto;line-height:1.5;box-shadow:inset 0 1px 0 var(--color-code-inset)}.sql-kw{color:var(--syntax-keyword)}.sql-tbl{color:var(--syntax-amber)}.sql-col{color:var(--syntax-cyan)}.sql-alias{color:var(--syntax-muted);font-style:normal}.sql-op{color:var(--color-code-fg);opacity:.85}.sql-literal{color:var(--syntax-green);font-weight:600}.sql-where{color:var(--syntax-green)}.sql-term{color:var(--color-code-fg)}.sql-gimmick__hint{margin:0 0 var(--space-sm);font-size:.8125rem;color:var(--color-text-muted);font-family:ui-monospace,monospace}.projects-query{width:100%}.projects-query__pre{margin-bottom:var(--space-sm);padding:.85rem 1rem;font-size:.8125rem;line-height:1.65;white-space:pre;font-style:normal}.projects-query__pre code{font-style:normal}[data-theme=light] .section--projects .projects-query__pre{background:var(--color-code-bg);color:var(--color-code-fg);border-color:var(--color-code-border);box-shadow:inset 0 1px 0 var(--color-code-inset)}[data-theme=light] .section--projects .projects-query__pre .sql-kw{color:var(--syntax-keyword);font-weight:600}[data-theme=light] .section--projects .projects-query__pre .sql-tbl,[data-theme=light] .section--projects .projects-query__pre .sql-col,[data-theme=light] .section--projects .projects-query__pre .sql-alias,[data-theme=light] .section--projects .projects-query__pre .sql-op,[data-theme=light] .section--projects .projects-query__pre .sql-term{color:var(--color-code-fg);font-weight:500}[data-theme=light] .section--projects .projects-query__pre .sql-literal{color:var(--syntax-green);font-weight:600}[data-theme=dark] .section--projects .projects-query__pre{background:#0f172a;color:#f8fafc;border-color:#94a3b847;box-shadow:inset 0 1px #ffffff0f}[data-theme=dark] .section--projects .projects-query__pre .sql-kw{color:#c4b5fd;font-weight:600}[data-theme=dark] .section--projects .projects-query__pre .sql-tbl,[data-theme=dark] .section--projects .projects-query__pre .sql-col,[data-theme=dark] .section--projects .projects-query__pre .sql-alias,[data-theme=dark] .section--projects .projects-query__pre .sql-op,[data-theme=dark] .section--projects .projects-query__pre .sql-term,[data-theme=dark] .section--projects .projects-query__pre .sql-literal{color:#f8fafc;font-weight:500}[data-theme=dark] .section--projects .projects-query__pre .sql-literal{font-weight:600}.projects-query__run{margin-bottom:var(--space-md)}.projects-query__results{margin-top:var(--space-xs)}.projects-query__timeline{margin-top:0}.btn{display:inline-block;padding:.65rem 1.25rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;text-decoration:none;border:none;border-radius:8px;cursor:pointer;transition:background-color var(--duration-theme) var(--ease-theme),color var(--duration-theme) var(--ease-theme),border-color var(--duration-theme) var(--ease-theme),box-shadow var(--duration-theme) var(--ease-theme),transform .12s var(--ease-out)}.btn--primary{background:var(--color-accent);color:#fff;border:1px solid transparent}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn--primary:disabled{opacity:.75;cursor:default;transform:none}.btn--ghost{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn--ghost:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent);transform:translateY(-1px)}.dsa-playground__decl{margin:0 0 var(--space-md);padding:var(--space-md);background:var(--color-code-bg);color:var(--color-code-fg);border:1px solid var(--color-code-border);border-radius:8px;font-family:ui-monospace,monospace;font-size:.875rem;overflow-x:auto;box-shadow:inset 0 1px 0 var(--color-code-inset)}.java-kw{color:var(--syntax-keyword)}.java-gen{color:var(--syntax-cyan)}.dsa-playground__table-wrap{overflow:hidden;margin-bottom:var(--space-md);border-radius:14px;border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-sm)}.dsa-playground__table-wrap .dsa-table{border:none;border-radius:0}.dsa-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--color-panel);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.dsa-table th,.dsa-table td{padding:.65rem .875rem;text-align:left;border-bottom:1px solid var(--color-border)}.dsa-table th{background:var(--color-bg-alt);font-weight:600}.dsa-table tbody tr:last-child td{border-bottom:none}.dsa-table code{font-family:ui-monospace,monospace;font-size:.8125rem}.dsa-playground__mode{flex-wrap:wrap;margin-bottom:var(--space-md)}.dsa-playground__panel{padding:var(--space-md);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:12px}.dsa-playground__placeholder{margin:0;font-size:.9375rem;line-height:1.55;color:var(--color-text-muted)}.stack-demo{position:relative}.stack-demo__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:.15rem}.stack-demo__eyebrow{margin:0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.stack-demo__step-badge{font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--color-text-muted);padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,var(--color-panel));border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border))}.stack-demo__code{margin:var(--space-md) 0 0;padding:1rem 1.1rem 1.05rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:.875rem;line-height:1.6;color:var(--color-code-fg);background:linear-gradient(165deg,color-mix(in srgb,var(--color-code-bg) 100%,var(--color-panel)) 0%,var(--color-code-bg) 48%,color-mix(in srgb,var(--color-code-bg) 88%,var(--color-border)) 100%);border:1px solid var(--color-code-border);border-radius:12px;box-shadow:var(--shadow-sm),inset 0 1px 0 var(--color-code-inset);overflow-x:auto}.stack-demo__code-lines{display:block}.stack-demo__line{display:block;padding:.1rem 0;border-radius:4px}.stack-demo__line--decl{color:var(--color-code-fg);opacity:.95}.stack-demo__line--push{color:var(--syntax-cyan);padding-left:.35rem;margin-left:-.35rem;border-left:3px solid color-mix(in srgb,var(--syntax-cyan) 55%,transparent)}.stack-demo__line--pop{color:var(--syntax-amber);padding-left:.35rem;margin-left:-.35rem;border-left:3px solid color-mix(in srgb,var(--syntax-amber) 55%,transparent)}.stack-demo__run{margin-top:var(--space-lg);margin-bottom:var(--space-md);border-radius:10px;padding-inline:1.35rem;box-shadow:var(--shadow-sm)}.stack-demo__main{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-lg) var(--space-xl)}.stack-demo__rail{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);margin-top:var(--space-md);box-sizing:border-box}.stack-demo__diagram-col{flex:0 1 auto}.stack-demo__step-story{position:relative;width:100%;max-width:none;margin-top:0;box-sizing:border-box;padding:1rem 1.1rem 1.05rem 1.25rem;border-radius:12px;background:color-mix(in srgb,var(--color-panel) 92%,var(--color-accent));border:1px solid color-mix(in srgb,var(--color-border) 85%,var(--color-accent));box-shadow:var(--shadow-sm)}.stack-demo__step-story-mark{position:absolute;left:0;top:.65rem;bottom:.65rem;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 45%,var(--syntax-cyan)))}.stack-demo__step-story-text{margin:0;font-size:.9375rem;line-height:1.65;color:var(--color-text);font-weight:500}.stack-demo__diagram-head{display:flex;gap:var(--space-lg);align-items:center;margin-top:var(--space-xs);margin-bottom:.5rem}.stack-demo__diagram-label{min-width:8rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--color-text-muted)}.stack-demo__diagram{margin-top:0;margin-bottom:0}.stack-demo .dsa-stack-sim__cell{padding:.5rem .65rem;border-radius:8px;font-size:.8125rem;font-weight:600;text-align:center;letter-spacing:-.01em;box-shadow:0 1px 2px color-mix(in srgb,var(--color-text) 6%,transparent)}.stack-demo .dsa-stack-sim__cell--head{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 45%,transparent),0 4px 14px color-mix(in srgb,var(--color-accent) 22%,transparent)}.stack-demo .dsa-stack-sim__cell--popped{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-panel));border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.stack-demo__empty-hint{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-align:center;align-self:center;padding:.5rem 0;opacity:.85}.stack-demo__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:0;width:100%;box-sizing:border-box;padding:.55rem .65rem;border-radius:12px;background:color-mix(in srgb,var(--color-panel) 70%,var(--color-bg-alt));border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.stack-demo__controls .btn{border-radius:8px}.stack-demo__diagram-head--ll{margin-bottom:.5rem}.stack-demo__diagram-head--ll .stack-demo__diagram-label{min-width:0;flex:1}.stack-demo__diagram-col--ll{flex:1 1 100%;min-width:min(100%,16rem)}.ll-demo__chain{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:.35rem .2rem;min-height:5.5rem;padding:.75rem .85rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-border) 70%,var(--color-accent));background:linear-gradient(135deg,color-mix(in srgb,var(--color-panel) 80%,var(--color-bg-alt)),color-mix(in srgb,var(--color-bg-alt) 50%,var(--color-panel)));box-shadow:inset 0 1px color-mix(in srgb,var(--color-panel) 55%,transparent)}.ll-demo__arrow{font-size:1rem;font-weight:700;color:color-mix(in srgb,var(--color-text-muted) 70%,var(--color-accent));line-height:1;-webkit-user-select:none;user-select:none}.ll-demo__node{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .65rem;border-radius:8px;font-size:.8125rem;font-weight:600;text-align:center;letter-spacing:-.01em;line-height:1.25;max-width:11rem;background:var(--color-panel);border:1px solid var(--color-border);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text) 6%,transparent)}.ll-demo__node--tail{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 45%,transparent),0 4px 14px color-mix(in srgb,var(--color-accent) 22%,transparent)}.dsa-panel__pre{margin:0;padding:var(--space-md);background:var(--color-code-bg);color:var(--color-code-fg);border:1px solid var(--color-code-border);border-radius:8px;font-family:ui-monospace,monospace;font-size:.8125rem;overflow-x:auto;box-shadow:inset 0 1px 0 var(--color-code-inset)}.dsa-stack-sim__diagram{display:flex;gap:var(--space-lg);align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;margin:0}.dsa-stack-sim__column{min-width:8rem;min-height:4rem;display:flex;flex-direction:column-reverse;gap:6px;padding:var(--space-sm);border-radius:8px;border:2px dashed var(--color-border);background:color-mix(in srgb,var(--color-panel) 70%,transparent)}.dsa-stack-sim__column--popped{align-items:stretch}.dsa-stack-sim__column--has-value{border-style:solid;border-color:var(--color-accent)}.dsa-stack-sim__cell{padding:.45rem .6rem;border-radius:6px;background:var(--color-panel);border:1px solid var(--color-border);font-size:.8125rem;text-align:center}.dsa-stack-sim__cell--head{border-color:var(--color-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,transparent)}.dsa-stack-sim__cell--popped{background:color-mix(in srgb,var(--color-accent) 15%,var(--color-panel))}.stack-demo .dsa-stack-sim__column.stack-demo__stack-column{min-width:9rem;min-height:5.5rem;padding:.65rem .75rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-border) 70%,var(--color-accent));border-style:solid;background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel) 75%,var(--color-bg-alt)),color-mix(in srgb,var(--color-bg-alt) 55%,var(--color-panel)));box-shadow:inset 0 1px color-mix(in srgb,var(--color-panel) 60%,transparent)}.stack-demo .dsa-stack-sim__column.stack-demo__stack-column.dsa-stack-sim__column--visible{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.stack-demo .dsa-stack-sim__column.stack-demo__pop-column{min-width:9rem;min-height:5.5rem;padding:.65rem .75rem;border-radius:14px;border:1px dashed color-mix(in srgb,var(--color-border) 90%,var(--color-text-muted));background:color-mix(in srgb,var(--color-bg-alt) 65%,var(--color-panel));flex-direction:column;justify-content:center;align-items:stretch}.stack-demo .dsa-stack-sim__column.stack-demo__pop-column.dsa-stack-sim__column--has-value{border-style:solid;border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 20%,transparent)}.stack-demo__diagram-col--pq-heap{flex:1 1 100%;min-width:0;width:100%}.pq-heap-tree-panel{width:100%;max-width:none;min-height:6rem;padding:.7rem .65rem .85rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-border) 70%,var(--color-accent));background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel) 75%,var(--color-bg-alt)),color-mix(in srgb,var(--color-bg-alt) 55%,var(--color-panel)));box-shadow:inset 0 1px color-mix(in srgb,var(--color-panel) 60%,transparent);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0}.pq-heap-tree-panel--has-data{border-color:color-mix(in srgb,var(--color-accent) 28%,var(--color-border))}.pq-heap-tree__level{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:calc(.35rem + var(--pq-level-gap, 0) * .85rem);margin:0;padding:.2rem 0}.pq-heap-tree__level:not(:last-child){margin-bottom:.15rem;padding-bottom:.45rem;border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,var(--color-text-muted))}.pq-heap-tree__slot{flex:1 1 0;min-width:0;max-width:7.75rem;display:flex;justify-content:center;align-items:flex-start}.pq-heap-tree__level:first-child .pq-heap-tree__slot{flex:0 0 auto;max-width:none}.pq-heap-tree__node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:100%;max-width:7.25rem;padding:.45rem;border-radius:8px;background:var(--color-panel);border:1px solid var(--color-border);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text) 6%,transparent);text-align:center}.pq-heap-tree__node--root{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 45%,transparent),0 4px 14px color-mix(in srgb,var(--color-accent) 22%,transparent)}.pq-heap-tree__p{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pq-heap-tree__label{font-size:.7rem;font-weight:600;line-height:1.28}.pq-heap-tree__spacer{width:100%;max-width:7.25rem;min-height:2.75rem}.site-footer{padding:var(--space-lg) 0;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-alt) 40%,var(--color-bg))}.site-footer__inner{max-width:var(--content-max);margin-left:auto;margin-right:auto;text-align:left}.site-footer p{margin:0;font-size:.875rem;color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
