:root{--bg:#0a0a0b;--surface-1:#111114;--surface-2:#17171b;--surface-3:#1f1f24;--border:#27272a;--border-strong:#3f3f46;--text:#fafafa;--text-strong:#fff;--text-soft:#a1a1aa;--text-muted:#71717a;--accent:#5b8def;--accent-strong:#4a7ad9;--accent-soft:#5b8def1a;--status-pub:#4ade80;--status-rev:#f59e0b;--status-prep:#facc15;--status-err:#f87171;--font-display:var(--font-newsreader,"Newsreader"), Georgia, "Times New Roman", serif;--font-sans:var(--font-inter,"Inter"), system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:var(--font-mono-jet,"JetBrains Mono"), ui-monospace, SFMono-Regular, "Menlo", "Consolas", monospace;--fs-display:clamp(44px, 6.4vw, 80px);--lh-display:1.02;--tr-display:-.025em;--fs-h2:clamp(28px, 3.4vw, 44px);--lh-h2:1.08;--tr-h2:-.02em;--fs-h3:22px;--lh-h3:1.25;--fs-body:17px;--lh-body:1.65;--fs-small:14px;--fs-micro:12.5px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--section-space:clamp(96px, 12vw, 160px);--container-max:1120px;--container-pad:clamp(24px, 5vw, 48px);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px #0000004d;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.16s;--dur-base:.22s;--dur-slow:.32s}[data-theme=light]{--bg:#fafafa;--surface-1:#fff;--surface-2:#f4f4f5;--surface-3:#e4e4e7;--border:#e4e4e7;--border-strong:#d4d4d8;--text:#18181b;--text-strong:#09090b;--text-soft:#3f3f46;--text-muted:#71717a;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb14;--shadow-1:0 1px 2px #0000000f;--shadow-2:0 4px 16px #0000000f}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}body{overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}p{color:var(--text-soft)}ul{margin:0;padding:0;list-style:none}button{font:inherit}::selection{background:var(--accent);color:#fff}.skip-link{z-index:1000;background:var(--accent);color:#fff;transition:transform var(--dur-base) var(--ease-out);border-radius:999px;padding:10px 14px;font-size:.95rem;font-weight:600;text-decoration:none;position:fixed;top:16px;left:16px;transform:translateY(-200%)}.skip-link:focus,.skip-link:hover{transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{width:100%;max-width:var(--container-max);padding-left:var(--container-pad);padding-right:var(--container-pad);margin:0 auto}main{z-index:1;position:relative}.background{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 1200px 600px at 50% -10%, var(--accent-soft), transparent 60%), var(--bg);position:fixed;inset:0}.navbar{z-index:100;-webkit-backdrop-filter:blur(14px)saturate(140%);background:color-mix(in oklab, var(--bg) 70%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:64px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);transition:color var(--dur-fast) var(--ease-out);font-size:18px;font-weight:500}.logo:hover{color:var(--accent)}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--text-soft);transition:color var(--dur-fast) var(--ease-out);font-size:14.5px;font-weight:500;position:relative}.nav-links a:hover,.nav-links a.nav-active{color:var(--text-strong)}.nav-links a:after{content:"";transform-origin:0;background:var(--accent);width:100%;height:1px;transition:transform var(--dur-base) var(--ease-out);position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a.nav-active:after{transform:scaleX(1)}.navbar-right{align-items:center;gap:12px;display:flex}.lang-toggle{border:1px solid var(--border);background:var(--surface-1);letter-spacing:.02em;font-size:12.5px;font-weight:500;font-family:var(--font-mono);transition:border-color var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.lang-toggle:hover{border-color:var(--border-strong)}.lang-toggle button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px}.lang-toggle .lang-active{color:var(--text)}.lang-toggle .lang-sep{color:var(--border-strong)}.theme-toggle{border:1px solid var(--border);background:var(--surface-1);width:34px;height:34px;color:var(--text-soft);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.theme-toggle-icon{width:16px;height:16px;display:inline-block;position:relative}.theme-toggle .theme-icon{transform-origin:50%;transition:transform .32s var(--ease-spring), opacity .22s var(--ease-out);position:absolute;inset:0}.theme-toggle[data-theme-state=dark] .theme-icon-sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle[data-theme-state=dark] .theme-icon-moon{opacity:0;transform:rotate(-60deg)scale(.6)}.theme-toggle[data-theme-state=light] .theme-icon-sun{opacity:0;transform:rotate(60deg)scale(.6)}.theme-toggle[data-theme-state=light] .theme-icon-moon{opacity:1;transform:rotate(0)scale(1)}@media (prefers-reduced-motion:reduce){.theme-toggle .theme-icon{transition:opacity 1ms!important;transform:none!important}}.hamburger{cursor:pointer;width:36px;height:36px;transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;display:none}.hamburger:hover{background:var(--surface-2)}.hamburger span{background:var(--text);width:20px;height:1.5px;transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out);border-radius:2px;display:block}.hamburger-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger-open span:nth-child(2){opacity:0;width:0}.hamburger-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{z-index:99;background:var(--bg);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);display:none;position:fixed;inset:64px 0 0;transform:translateY(-8px)}.mobile-menu-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;height:100%;padding:32px 24px 24px;display:flex}.mobile-nav a{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-soft);border-bottom:1px solid var(--border);transition:color var(--dur-fast) var(--ease-out);padding:12px 4px;font-size:28px;font-weight:500}.mobile-nav a:hover,.mobile-nav a.nav-active{color:var(--text-strong)}.mobile-nav-extras{align-items:center;gap:12px;margin-top:auto;padding-top:24px;display:flex}.progress-bar{z-index:200;background:var(--accent);pointer-events:none;will-change:width;height:2px;transition:width 80ms linear;position:fixed;top:0;left:0}.about,.education,.publications,.projects,.tech-stack,.contact{padding:var(--section-space) 0;scroll-margin-top:88px}.section-heading{margin-bottom:var(--space-7);flex-direction:column;gap:16px;max-width:760px;display:flex}.section-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.section-kicker:before{content:"";background:var(--accent);width:16px;height:1px}.section-heading h2,.about-left h2,.contact h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2);color:var(--text-strong);text-wrap:balance;font-weight:500}.section-text,.about-left p,.contact-header p{max-width:64ch;color:var(--text-soft);font-size:17px;line-height:1.65}.hero-figure-frame,.about-card,.about-info-card,.timeline-content,.project-card,.tech-group-card,.pub-item,.contact-channel,.contact-form-box{border:1px solid var(--border)}.hero{padding:clamp(56px,9vw,120px) 0 clamp(56px,10vw,140px)}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.hero-copy{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.eyebrow{width:fit-content;font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);border:1px solid var(--border);background:var(--surface-1);border-radius:999px;align-items:center;gap:10px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.eyebrow .dot{background:var(--status-pub);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite pulse-dot;box-shadow:0 0 #4ade8066}.display{font-family:var(--font-display);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);color:var(--text-strong);text-wrap:balance;margin:0;font-weight:500}.display-line{display:block}.display-sub{font-family:var(--font-sans);color:var(--text-soft);letter-spacing:-.01em;margin-top:18px;font-size:clamp(20px,2vw,26px);font-weight:400;line-height:1.3;display:block}.lede{color:var(--text-soft);max-width:56ch;font-size:17px;line-height:1.65}.hero-actions{margin-top:var(--space-2);flex-wrap:wrap;gap:12px;display:flex}.hero-figure{flex-direction:column;gap:12px;margin:0;display:flex}.hero-figure-frame{aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--surface-2);width:100%;position:relative;overflow:hidden}.hero-figure-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-figcaption{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.01em;font-size:12px}.btn{border-radius:var(--radius-md);letter-spacing:0;font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.btn-secondary,.btn-ghost{background:var(--surface-1);color:var(--text);border-color:var(--border)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-1px)}.btn-link{color:var(--text);background:0 0;border-bottom:1px solid #0000;border-radius:0;padding:6px 0}.btn-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.primary{border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;background:var(--accent);color:#fff;box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 18px;display:inline-flex}.primary:hover{background:var(--accent-strong);transform:translateY(-1px)}.secondary{border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border:1px solid var(--border);background:var(--surface-1);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:11px 18px;display:inline-flex}.secondary:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-1px)}.cv-button{border-radius:var(--radius-md);font-size:13.5px;font-weight:500;font-family:var(--font-sans);border:1px solid var(--border);background:var(--surface-1);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:9px 14px;display:inline-flex}.cv-button:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--accent)}.about-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:clamp(32px,4vw,56px);display:grid}.about-left{flex-direction:column;gap:20px;display:flex}.about-left h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2);color:var(--text-strong);font-weight:500}.about-left p{font-size:17px;line-height:1.7}.about-right{flex-direction:column;gap:16px;margin-top:64px;display:flex}.about-card{border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-base) var(--ease-out);padding:22px}.about-card:hover{border-color:var(--border-strong)}.about-card-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-size:11.5px;font-weight:500;display:inline-block}.about-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);margin-bottom:10px;font-size:21px;font-weight:500;line-height:1.3}.about-card p{font-size:15px;line-height:1.65}.about-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:12px;display:grid}.about-info-grid>.reveal{height:100%;display:flex}.about-info-grid>.reveal>.about-info-card{flex:1;width:100%}.about-info-card{border-radius:var(--radius-md);background:var(--surface-1);transition:border-color var(--dur-fast) var(--ease-out);padding:16px}.about-info-card:hover{border-color:var(--border-strong)}.about-info-card span{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11.5px;display:block}.about-info-card strong{color:var(--text-strong);font-size:14.5px;font-weight:500;line-height:1.4;display:block}.timeline{margin-top:32px;padding-left:24px;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:4px;bottom:4px;left:7px}.timeline-item{padding:0 0 28px 28px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--bg);border:2px solid var(--accent);z-index:1;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-17px}.timeline-content{border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-base) var(--ease-out);padding:18px 20px}.timeline-content:hover{border-color:var(--border-strong)}.timeline-date-badge{background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 20%, transparent);font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.timeline-content h3{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-strong);margin-bottom:6px;font-size:19px;font-weight:500;line-height:1.3}.timeline-place{color:var(--text-muted);margin-bottom:10px;font-size:13.5px;display:block}.timeline-content p{font-size:14.5px;line-height:1.6}.publications-toolbar{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.publications-list{flex-direction:column;gap:14px;display:flex}.pub-item{border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-base) var(--ease-out);padding:22px 24px}.pub-item:hover{border-color:var(--border-strong)}.pub-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.pub-year{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:12.5px;font-weight:500}.pub-title{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-strong);margin:0 0 8px;font-size:19px;font-weight:500;line-height:1.32}.pub-authors{color:var(--text-soft);margin:0 0 4px;font-size:14.5px;line-height:1.5}.pub-authors strong{color:var(--text-strong);font-weight:600}.pub-venue{color:var(--text-muted);margin:0 0 10px;font-size:14px;font-style:italic}.pub-summary{color:var(--text-soft);margin:0 0 14px;font-size:14.5px;line-height:1.65}.pub-links{flex-wrap:wrap;gap:6px;display:flex}.pub-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.02em;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;align-items:center;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.pub-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.publication-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.publication-status.in-prep{background:color-mix(in oklab, var(--status-prep) 10%, transparent);color:var(--status-prep);border-color:color-mix(in oklab, var(--status-prep) 30%, transparent)}.publication-status.under-review{background:color-mix(in oklab, var(--status-rev) 10%, transparent);color:var(--status-rev);border-color:color-mix(in oklab, var(--status-rev) 30%, transparent)}.publication-status.published{background:color-mix(in oklab, var(--status-pub) 10%, transparent);color:var(--status-pub);border-color:color-mix(in oklab, var(--status-pub) 30%, transparent)}.publications-empty{color:var(--text-muted);font-size:15px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:18px;display:grid}.projects-grid-side{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.projects-grid>.reveal,.projects-grid-side>.reveal{height:100%;display:flex}.projects-grid>.reveal>.project-card,.projects-grid-side>.reveal>.project-card{flex:1;width:100%}.side-projects-heading{margin-top:56px;margin-bottom:20px}.side-projects-heading h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);margin-bottom:6px;font-size:22px;font-weight:500}.side-projects-heading p{color:var(--text-muted);font-size:15px}.project-card{border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);flex-direction:column;gap:14px;padding:22px;display:flex;overflow:hidden}.project-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.project-media{aspect-ratio:16/10;background:var(--surface-2);border-bottom:1px solid var(--border);width:calc(100% + 44px);margin:-22px -22px 0;position:relative;overflow:hidden}.project-media img{object-fit:cover;filter:contrast(1.04)}.project-media .poster-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.project-card-top{flex-direction:column;gap:10px;display:flex}.project-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-category{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11.5px;font-weight:500}.project-status{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:500}.project-status-active{background:color-mix(in oklab, var(--status-pub) 10%, transparent);color:var(--status-pub);border-color:color-mix(in oklab, var(--status-pub) 30%, transparent)}.project-status-in-progress{background:color-mix(in oklab, var(--status-rev) 10%, transparent);color:var(--status-rev);border-color:color-mix(in oklab, var(--status-rev) 30%, transparent)}.project-status-shipped{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in oklab, var(--accent) 30%, transparent)}.project-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);font-size:21px;font-weight:500;line-height:1.28}.project-description{color:var(--text-soft);font-size:14.5px;line-height:1.65}.project-tech-list{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.01em;font-size:12.5px;line-height:1.6}.project-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:12px;display:flex}.project-actions a{color:var(--text);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-bottom:1px solid #0000;padding-bottom:1px;font-size:13.5px;font-weight:500}.project-actions a:hover{color:var(--accent);border-bottom-color:var(--accent)}.project-pill{font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px dashed var(--border);color:var(--text-muted);background:0 0;padding:4px 8px;font-size:12px}.tech-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);flex-direction:column;gap:18px;margin:0;padding:28px;display:flex}.tech-row{border-bottom:1px solid var(--border);grid-template-columns:160px minmax(0,1fr);align-items:baseline;gap:24px;padding-bottom:18px;display:grid}.tech-row:last-child{border-bottom:none;padding-bottom:0}.tech-row-label{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-strong);margin:0;font-size:17px;font-weight:500}.tech-row-items{font-family:var(--font-mono);letter-spacing:.01em;color:var(--text-soft);margin:0;font-size:13.5px;line-height:1.7}@media (max-width:640px){.tech-list{padding:20px}.tech-row{grid-template-columns:1fr;gap:4px;padding-bottom:14px}}.tech-stack-shell{gap:18px;display:grid}.tech-stack-intro{border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--border);padding:24px 26px}.tech-stack-intro-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11.5px;font-weight:500;display:inline-block}.tech-stack-intro h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);margin-bottom:8px;font-size:clamp(20px,2vw,24px);font-weight:500;line-height:1.25}.tech-stack-intro p{max-width:64ch;font-size:15px;line-height:1.65}.tech-stack-groups{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:14px;display:grid}.tech-stack-groups>.reveal{height:100%;display:flex}.tech-stack-groups>.reveal>.tech-group-card{flex:1;width:100%}.tech-group-card{border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-base) var(--ease-out);flex-direction:column;padding:22px;display:flex}.tech-group-card:hover{border-color:var(--border-strong)}.tech-group-head{margin-bottom:14px}.tech-group-head span{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-strong);margin-bottom:6px;font-size:17px;font-weight:500;display:inline-block}.tech-group-head p{color:var(--text-muted);font-size:13.5px;line-height:1.6}.tech-pill-list{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tech-pill{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.01em;color:var(--text-soft);padding:5px 10px;font-size:12px;font-weight:500}.contact-header{max-width:720px;margin-bottom:36px}.contact-body{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.contact-channels{flex-direction:column;gap:8px;min-width:0;display:flex}.contact-channel{border-radius:var(--radius-md);background:var(--surface-1);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:14px;padding:14px 16px;display:flex}.contact-channel:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translateY(-1px)}.contact-channel-primary{border-color:color-mix(in oklab, var(--accent) 25%, var(--border));background:var(--accent-soft)}.contact-channel-primary:hover{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent)}.contact-channel-icon{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-channel:hover .contact-channel-icon{color:var(--accent);border-color:var(--accent)}.contact-channel-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.contact-channel-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:10.5px;font-weight:500}.contact-channel-value{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;display:block;overflow:hidden}.contact-channel-sub{color:var(--text-muted);font-size:12.5px;display:block}.contact-channel-arrow{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-shrink:0;font-size:17px}.contact-channel:hover .contact-channel-arrow{color:var(--accent);transform:translate(4px)}.contact-avail{border-radius:var(--radius-md);background:color-mix(in oklab, var(--status-pub) 6%, transparent);border:1px solid color-mix(in oklab, var(--status-pub) 20%, transparent);color:var(--text-soft);align-items:center;gap:10px;width:fit-content;margin-top:6px;padding:10px 14px;font-size:13px;display:inline-flex}.contact-form-box{background:var(--surface-1);border-radius:var(--radius-lg);flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.contact-form-box .section-kicker{margin-bottom:-2px}.contact-form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:500}.form-field input,.form-field textarea{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);resize:vertical;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);outline:none;padding:11px 13px;font-family:inherit;font-size:14.5px}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-muted)}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);background:var(--surface-1)}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:var(--status-err)}.form-error{color:var(--status-err);font-size:12px}.form-submit{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);box-shadow:var(--shadow-1);border:none;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:500}.form-submit:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.form-submit:disabled{opacity:.6;cursor:default}.spinner{vertical-align:-2px;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:13px;height:13px;margin-right:8px;animation:1s linear infinite spin;display:inline-block}.form-feedback{border-radius:var(--radius-md);text-align:left;padding:10px 14px;font-size:13.5px}.form-feedback-success{background:color-mix(in oklab, var(--status-pub) 10%, transparent);border:1px solid color-mix(in oklab, var(--status-pub) 25%, transparent);color:var(--status-pub)}.form-feedback-error{background:color-mix(in oklab, var(--status-err) 10%, transparent);border:1px solid color-mix(in oklab, var(--status-err) 25%, transparent);color:var(--status-err)}.essay{padding:clamp(40px,6vw,72px) 0 clamp(80px,10vw,140px)}.essay-inner{max-width:720px}.essay-header{border-bottom:1px solid var(--border);flex-direction:column;gap:18px;margin-bottom:36px;padding-bottom:28px;display:flex}.essay-header .display{font-size:clamp(36px,4.6vw,56px);line-height:1.06}.essay-header .display-sub{margin-top:14px;font-size:clamp(18px,1.6vw,22px)}.essay-meta{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);font-size:12.5px}.essay-meta strong{color:var(--text);font-weight:500}.essay-body{font-family:var(--font-display);color:var(--text);flex-direction:column;gap:24px;font-size:18.5px;line-height:1.7;display:flex}.essay-body h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);margin-top:24px;font-size:26px;font-weight:500;line-height:1.2}.essay-body p{color:var(--text)}.essay-body em{color:var(--text-strong);font-style:italic}.essay-body strong{color:var(--text-strong);font-weight:500}.essay-body ol,.essay-body ul{flex-direction:column;gap:14px;padding-left:22px;list-style:decimal;display:flex}.essay-body ul{list-style:outside}.essay-body li::marker{color:var(--text-muted)}.essay-body code{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:2px 6px;font-size:.9em}.essay-body a{color:var(--accent)}.essay-footer{border-top:1px solid var(--border);flex-direction:column;gap:18px;margin-top:48px;padding-top:28px;display:flex}.colophon-grid{grid-template-columns:140px 1fr;align-items:baseline;gap:14px 28px;display:grid}.colophon-grid dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-top:4px;font-size:12px}.colophon-grid dd{color:var(--text);margin:0;font-size:16px;line-height:1.6}@media (max-width:640px){.colophon-grid{grid-template-columns:1fr;gap:4px 0}.colophon-grid dd{margin-bottom:14px}}.not-found-page{align-items:center;min-height:calc(100vh - 64px);padding:clamp(64px,12vh,160px) 0;display:flex}.not-found-inner{gap:var(--space-5);flex-direction:column;max-width:720px;display:flex}.footer{padding:24px 0 40px}.footer-inner{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding-top:24px;display:flex}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.footer-row p{color:var(--text-muted);margin:0;font-size:13px}.footer-meta{text-align:right;font-family:var(--font-mono);letter-spacing:.02em;font-size:12px}.footer-links{flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.footer-links a{color:var(--text-soft);transition:color var(--dur-fast) var(--ease-out)}.footer-links a:hover{color:var(--text)}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.26s;animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:.26s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}.link{text-underline-offset:4px;transition:text-decoration-color var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out);-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent)}.reveal{opacity:0;transition:opacity .42s var(--ease-out), transform .42s var(--ease-out);will-change:opacity, transform;transform:translateY(16px)}.reveal-visible{opacity:1;margin-bottom:10px;transform:translateY(0)}@keyframes pulse-dot{0%{box-shadow:0 0 #4ade8066}60%{box-shadow:0 0 0 6px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:992px){.hero-grid,.about-layout,.contact-body,.tech-stack-groups{grid-template-columns:1fr;gap:28px}.projects-grid,.projects-grid-side{grid-template-columns:repeat(2,minmax(0,1fr))}.about-right{margin-top:0}.hero-copy{order:1}.hero-figure{order:2;width:100%;max-width:480px;margin:0 auto}}@media (max-width:768px){.nav-links-desktop,.navbar-lang-desktop{display:none}.hamburger,.mobile-menu{display:flex}.navbar-inner{min-height:60px}.hero{padding:40px 0 56px}.hero-actions{flex-direction:column;align-items:stretch}.primary,.secondary,.cv-button,.btn{width:100%}.timeline,.timeline-item{padding-left:0}.timeline{padding-left:24px}.projects-grid,.projects-grid-side,.form-row{grid-template-columns:1fr}.about-card,.timeline-content,.project-card,.pub-item,.contact-form-box,.tech-stack-intro,.tech-group-card{padding:18px}.footer-row{flex-direction:column;align-items:flex-start}.footer-meta{text-align:left}}@media (max-width:480px){.about-info-grid{grid-template-columns:1fr}.pub-title{font-size:17px}.display-sub{font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.eyebrow .dot{animation:none!important}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_ad8c3baf-module__JnQPGW__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_ad8c3baf-module__JnQPGW__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.p.0.oe-uv1--sd5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.p.0.oe-uv1--sd5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/750c737482d9de2f-s.p.0.oe-uv1--sd5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_e3c6404a-module__04NpgG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_e3c6404a-module__04NpgG__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_aaaaa484-module__r_lUuG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_aaaaa484-module__r_lUuG__variable{--font-mono-jet:"JetBrains Mono", "JetBrains Mono Fallback"}
