.pub-button.svelte-wema5j{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.pub-button.svelte-wema5j:is(.dark:where(.svelte-wema5j) :where(.svelte-wema5j)){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.pub-button.svelte-wema5j:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.pub-button.svelte-wema5j:is(.dark:where(.svelte-wema5j) :where(.svelte-wema5j)):hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.pub-button.svelte-wema5j{font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.pub-button.svelte-wema5j:is(.dark:where(.svelte-wema5j) :where(.svelte-wema5j)){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.pub-button.svelte-wema5j{margin:.25rem;display:inline-block;border-radius:var(--radius);padding:.25rem;line-height:1.25}.pub-button.svelte-wema5j a:where(.svelte-wema5j){font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.pub-button.svelte-wema5j a:where(.svelte-wema5j):is(.dark:where(.svelte-wema5j) :where(.svelte-wema5j)){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}body{overflow-x:hidden;background:var(--background)}html.dark body{background:#0a0a1a}html:not(.dark) body{background:#fbf7f1}.snes-page.svelte-14tzwpa{font-family:"Press Start 2P",monospace;min-height:100vh;background:linear-gradient(180deg,#0a0a1a,#161633 45%,#0a0a1a);position:relative;color:#e6e6e6}.stars-container.svelte-14tzwpa{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.star.svelte-14tzwpa{position:absolute;background:#fff;border-radius:0;animation:svelte-14tzwpa-twinkle 2s ease-in-out infinite}@keyframes svelte-14tzwpa-twinkle{0%,to{opacity:var(--star-opacity, .6)}50%{opacity:.2}}.scanlines.svelte-14tzwpa{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px)}.content.svelte-14tzwpa{position:relative;z-index:10;max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.75rem}.pixel-border-top.svelte-14tzwpa{width:100%;max-width:920px;height:8px;margin:0 auto;background:repeating-linear-gradient(90deg,#fc0,#fc0 8px,#f60 8px,#f60 16px,#f06 16px,#f06 24px,#c0f 24px,#c0f 32px,#0cf 32px,#0cf 40px);image-rendering:pixelated}.hero.svelte-14tzwpa{text-align:center;display:flex;flex-direction:column;gap:.75rem}.hero-name.svelte-14tzwpa{margin:0;font-size:clamp(1.2rem,3.5vw,2.2rem);color:#fff;text-shadow:3px 3px 0 #ff6600,-1px -1px 0 #00ccff,0 0 20px rgba(255,102,0,.5);letter-spacing:.12em}.hero-title.svelte-14tzwpa{margin:0;font-size:.6rem;color:#8cf;line-height:1.6}.hero-panel.svelte-14tzwpa{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;background:#0a0a1ab3;border:2px solid #2c2c50;padding:1rem;box-shadow:0 0 20px #0006}.hero-item.svelte-14tzwpa{font-size:.55rem;color:#cfd6ff;background:#121228;border:1px solid #2f2f58;padding:.5rem .75rem;text-align:left}.hero-item.svelte-14tzwpa a:where(.svelte-14tzwpa){color:#fc0;text-decoration:none}.hero-item.svelte-14tzwpa a:where(.svelte-14tzwpa):hover{text-shadow:0 0 10px rgba(255,204,0,.6)}.orcid-icon.svelte-14tzwpa{font-size:.7rem;color:#7cff6b;margin-right:.35rem}.toggle-row.svelte-14tzwpa{display:flex;justify-content:flex-end}.toggle-nav.svelte-14tzwpa{font-size:.5rem;color:#777;display:flex;align-items:center}.toggle-link.svelte-14tzwpa{color:#777;text-decoration:none;padding:.2rem .4rem;transition:color .15s ease;background:none;border:none;font-family:inherit;cursor:pointer}.toggle-link.active.svelte-14tzwpa{color:#fc0;text-shadow:0 0 8px rgba(255,204,0,.5)}.toggle-link.svelte-14tzwpa:hover{color:#fff}.toggle-divider.svelte-14tzwpa{margin:0 .4rem;color:#444}.visually-hidden.svelte-14tzwpa{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cv-section.svelte-14tzwpa{display:flex;flex-direction:column;gap:.75rem}.section-title.svelte-14tzwpa{font-size:.8rem;text-align:center;color:#fff;margin:0;letter-spacing:.08em;text-shadow:0 0 12px rgba(0,204,255,.4)}.section-subtitle.svelte-14tzwpa{font-size:.65rem;color:#fc0;margin:.5rem 0 0;letter-spacing:.08em}.section-comment.svelte-14tzwpa{font-size:.5rem;color:#8cf;margin:0}.panel.svelte-14tzwpa{background:#121228e6;border:2px solid #2c2c50;padding:1rem;box-shadow:0 0 18px #0006}.publications-panel.svelte-14tzwpa{padding:.75rem}.prose-panel.svelte-14tzwpa{font-size:.55rem;line-height:1.7;color:#cfd6ff}.prose-panel.svelte-14tzwpa p{margin:.6rem 0}.prose-panel.svelte-14tzwpa h3,.prose-panel.svelte-14tzwpa h2{color:#fc0;margin:1rem 0 .4rem;font-size:.6rem}.stack-list.svelte-14tzwpa{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.stack-list.compact.svelte-14tzwpa{gap:.5rem}.stack-item.svelte-14tzwpa{font-size:.55rem;color:#cfd6ff;border-bottom:1px dashed #2a2a4a;padding-bottom:.75rem}.stack-item.svelte-14tzwpa:last-child{border-bottom:none;padding-bottom:0}.stack-row.svelte-14tzwpa{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stack-title.svelte-14tzwpa{color:#fff}.stack-meta.svelte-14tzwpa{display:flex;justify-content:flex-end}.chip.svelte-14tzwpa{background:#22224a;border:1px solid #3a3a6a;padding:.2rem .4rem;font-size:.45rem;color:#fc0}.stack-details.svelte-14tzwpa{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.5rem;color:#9fb7ff;margin-top:.35rem}.detail-item.svelte-14tzwpa{display:inline-block}.detail-label.svelte-14tzwpa{color:#fff}.card-grid.svelte-14tzwpa{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem}.card-grid.compact.svelte-14tzwpa{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card-grid.wide.svelte-14tzwpa{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.card.svelte-14tzwpa{background:#161633;border:1px solid #2f2f58;padding:.75rem}.card-title.svelte-14tzwpa{font-size:.6rem;color:#fff;display:block;margin-bottom:.35rem}.card-body.svelte-14tzwpa{font-size:.5rem;color:#9fb7ff;margin:.2rem 0 0}.publication-grid.svelte-14tzwpa{display:flex;flex-direction:column;gap:.75rem}.panel-actions.svelte-14tzwpa{margin-top:.5rem}.link-button.svelte-14tzwpa{background:none;border:none;color:#fc0;font-family:inherit;font-size:.5rem;cursor:pointer;padding:0}.link-button.svelte-14tzwpa:hover{text-shadow:0 0 10px rgba(255,204,0,.6)}.snes-page .publication{background:#161633;border:1px solid #2f2f58;border-radius:0;padding:.75rem;margin:0;width:100%;color:#cfd6ff}.snes-page .publication h2{font-size:.55rem;color:#fff;margin:0 0 .35rem}.snes-page .publication p,.snes-page .publication span,.snes-page .publication strong{font-size:.5rem;color:#9fb7ff}.snes-page .publication a{color:#fc0;text-decoration:none}.snes-page .publication a:hover{text-shadow:0 0 8px rgba(255,204,0,.6)}.snes-page .publication .pub-button{background:#22224a;border:1px solid #3a3a6a;color:#fc0;font-size:.5rem;padding:.3rem .5rem;border-radius:0}.snes-page .publication .pub-button:hover{background:#2a2a5a;text-shadow:0 0 8px rgba(255,204,0,.5)}.snes-page .publication .pub-button a{color:#fc0}@media (max-width: 720px){.content.svelte-14tzwpa{padding:2rem 1rem 3rem}.hero-panel.svelte-14tzwpa{grid-template-columns:1fr}.toggle-row.svelte-14tzwpa{justify-content:center}.card-grid.svelte-14tzwpa,.card-grid.compact.svelte-14tzwpa,.card-grid.wide.svelte-14tzwpa{grid-template-columns:1fr}}.light-theme.svelte-14tzwpa{--ink: #15152b;--muted-ink: #5b5b70;--paper: #fffdf8;--paper-edge: #e6dfd5;--paper-shadow: rgba(21, 21, 43, .12);--accent-warm: #ff9f1c;--accent-cool: #00b4d8;--accent-ink: #7c3aed;background:radial-gradient(circle at 12% 12%,rgba(255,159,28,.12),transparent 45%),radial-gradient(circle at 90% 10%,rgba(124,58,237,.12),transparent 45%),linear-gradient(180deg,#fbf7f1,#f1f1f7);color:var(--ink);font-family:Space Grotesk,system-ui,sans-serif}.light-theme.svelte-14tzwpa .stars-container:where(.svelte-14tzwpa){display:none}.light-theme.svelte-14tzwpa .scanlines:where(.svelte-14tzwpa){background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0px,rgba(0,0,0,.03) 1px,transparent 1px,transparent 2px)}.light-theme.svelte-14tzwpa .hero-name:where(.svelte-14tzwpa){font-family:Fraunces,serif;letter-spacing:-.02em;color:var(--ink);text-shadow:0 2px 0 rgba(255,159,28,.35),0 0 18px rgba(124,58,237,.15)}.light-theme.svelte-14tzwpa .hero-title:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.95rem}.light-theme.svelte-14tzwpa .hero-panel:where(.svelte-14tzwpa){background:linear-gradient(135deg,#fff,#fff6ef);border-color:var(--paper-edge);box-shadow:6px 6px 0 var(--paper-shadow);border-radius:12px}.light-theme.svelte-14tzwpa .hero-item:where(.svelte-14tzwpa){background:#fffdf8;border-color:var(--paper-edge);color:var(--muted-ink);border-radius:10px;font-size:.9rem}.light-theme.svelte-14tzwpa .hero-item:where(.svelte-14tzwpa) a:where(.svelte-14tzwpa){color:var(--accent-ink)}.light-theme.svelte-14tzwpa .section-title:where(.svelte-14tzwpa){font-family:Fraunces,serif;letter-spacing:.02em;color:var(--ink);text-shadow:0 0 8px rgba(124,58,237,.15);font-size:1.2rem}.light-theme.svelte-14tzwpa .section-subtitle:where(.svelte-14tzwpa){color:var(--accent-warm);font-size:.95rem}.light-theme.svelte-14tzwpa .section-comment:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.85rem}.light-theme.svelte-14tzwpa .panel:where(.svelte-14tzwpa){background:linear-gradient(135deg,#fff,#fff6ef);border-color:var(--paper-edge);box-shadow:6px 6px 0 var(--paper-shadow);border-radius:12px}.light-theme.svelte-14tzwpa .stack-item:where(.svelte-14tzwpa){color:var(--muted-ink);border-bottom-color:var(--paper-edge);font-size:.9rem}.light-theme.svelte-14tzwpa .stack-title:where(.svelte-14tzwpa){color:var(--ink)}.light-theme.svelte-14tzwpa .chip:where(.svelte-14tzwpa){background:#ff9f1c29;border-color:#ff9f1c66;color:#7a4a00;border-radius:999px;font-size:.8rem}.light-theme.svelte-14tzwpa .stack-details:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.85rem}.light-theme.svelte-14tzwpa .detail-label:where(.svelte-14tzwpa){color:var(--ink)}.light-theme.svelte-14tzwpa .card:where(.svelte-14tzwpa){background:#fffdf8;border-color:var(--paper-edge);border-radius:10px}.light-theme.svelte-14tzwpa .card-title:where(.svelte-14tzwpa){color:var(--ink);font-size:.95rem}.light-theme.svelte-14tzwpa .card-body:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.85rem}.light-theme.svelte-14tzwpa .link-button:where(.svelte-14tzwpa){color:var(--accent-ink);font-size:.85rem}.light-theme.svelte-14tzwpa .prose-panel:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.9rem}.light-theme.svelte-14tzwpa .prose-panel:where(.svelte-14tzwpa) h3,.light-theme.svelte-14tzwpa .prose-panel:where(.svelte-14tzwpa) h2{color:var(--accent-ink);font-size:1rem}.light-theme.svelte-14tzwpa .toggle-link:where(.svelte-14tzwpa){color:var(--muted-ink);font-size:.85rem}.light-theme.svelte-14tzwpa .toggle-link.active:where(.svelte-14tzwpa){color:var(--accent-ink);text-shadow:none}.light-theme.svelte-14tzwpa .toggle-link:where(.svelte-14tzwpa):hover{color:var(--ink)}.light-theme.svelte-14tzwpa .toggle-nav:where(.svelte-14tzwpa){font-size:.85rem}.light-theme .publication{background:#fffdf8;border-color:var(--paper-edge);color:var(--muted-ink);border-radius:10px}.light-theme .publication h2{color:var(--ink);font-size:.95rem}.light-theme .publication p,.light-theme .publication span,.light-theme .publication strong{color:var(--muted-ink);font-size:.85rem}.light-theme .publication a{color:var(--accent-ink)}.light-theme .publication .pub-button{background:#ff9f1c29;border-color:#ff9f1c66;color:#7a4a00;font-size:.75rem}.light-theme .publication .pub-button:hover{background:#ff9f1c40}.light-theme .publication .pub-button a{color:#7a4a00}
