@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.hidden{display:none}.resize{resize:both}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#050914;--surface:#0a1423;--surface-strong:#0d1b2d;--foreground:#edf5ff;--muted:#94a9bd;--line:#1b334b;--primary:#3987ff;--primary-strong:#1f6feb;--accent:#27d7f3;--pointer-x:50vw;--pointer-y:30vh}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), system-ui, sans-serif;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}main{min-height:100vh;position:relative;overflow:clip}.ambient-background{z-index:-2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-background:after{content:"";background-color:#0000;background-image:linear-gradient(#487eb509 1px,#0000 1px),linear-gradient(90deg,#487eb509 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 35%,#000 0,#0000 72%);mask-image:radial-gradient(circle at 50% 35%,#000 0,#0000 72%)}.ambient-orb{filter:blur(80px);opacity:.17;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.orb-a{background:var(--primary);width:34rem;height:34rem;top:-12rem;right:-7rem}.orb-b{background:var(--accent);width:30rem;height:30rem;animation-delay:-7s;top:42%;left:-14rem}.orb-c{background:#5755ff;width:25rem;height:25rem;animation-delay:-12s;bottom:-10rem;right:18%}.ambient-grid{border:1px solid #27d7f317;border-radius:38% 62% 55% 45%;width:24rem;height:24rem;animation:26s linear infinite shape-rotate;position:absolute;top:18%;left:8%;transform:rotate(18deg)}.cursor-glow{left:var(--pointer-x);top:var(--pointer-y);z-index:220;background:var(--accent);opacity:0;pointer-events:none;border-radius:50%;width:7px;height:7px;transition:width .18s,height .18s,box-shadow .18s,opacity .2s;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #27d7f31c,0 0 32px 12px #3987ff33}[data-pointer=active] .cursor-glow{opacity:1}body:has(a:hover,button:hover,input:hover,textarea:hover,select:hover) .cursor-glow{width:12px;height:12px;box-shadow:0 0 0 12px #27d7f321,0 0 38px 15px #3987ff38}.site-header{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);background:#050914c2;border:1px solid #7a9ebe33;border-radius:18px;justify-content:space-between;align-items:center;width:min(1240px,100% - 32px);height:66px;padding:0 13px 0 16px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 50px #00000029}.brand,.header-actions,nav{align-items:center;display:flex}.brand{letter-spacing:-.025em;gap:11px;font-weight:720}.brand-mark{width:38px;height:38px;color:var(--accent);font:750 12px var(--font-geist-mono), monospace;background:linear-gradient(135deg,#3987ff40,#27d7f30d);border:1px solid #27d7f36b;border-radius:11px;flex:none;place-items:center;display:grid}nav{gap:clamp(14px,1.7vw,27px)}nav a{color:var(--muted);font-size:12px;transition:color .18s;position:relative}nav a:after{content:"";background:var(--accent);height:1px;transition:right .2s;position:absolute;bottom:-9px;left:0;right:100%}nav a:hover,nav a:focus-visible{color:var(--foreground)}nav a:hover:after,nav a:focus-visible:after{right:0}.header-actions{gap:7px}.quiet-button,.icon-button,.menu-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#0a1423b8;border-radius:10px}.quiet-button{height:38px;font:650 11px var(--font-geist-mono), monospace;padding:0 12px}.icon-button,.menu-button{width:38px;height:38px}.menu-button{color:var(--foreground);font-size:20px;display:none}.has-tooltip{position:relative}.has-tooltip:after{content:attr(data-tooltip);z-index:100;border:1px solid var(--line);background:var(--surface-strong);width:max-content;max-width:230px;color:var(--foreground);font:500 10px/1.4 var(--font-geist-sans), sans-serif;letter-spacing:0;text-transform:none;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:8px 10px;transition:all .16s;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,5px);box-shadow:0 12px 34px #0000004d}.has-tooltip:hover:after,.has-tooltip:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}.site-header .has-tooltip:after{top:calc(100% + 10px);bottom:auto}.hero{grid-template-columns:1.14fr .86fr;align-items:center;column-gap:72px;width:min(1180px,100% - 48px);min-height:100vh;margin:0 auto;padding:112px 0 64px;display:grid;position:relative}.meteor-canvas{z-index:1;opacity:.62;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 10% 78%,#0000);mask-image:linear-gradient(#0000,#000 10% 78%,#0000)}.hero:before{content:"";border:1px solid #3987ff21;border-radius:48% 52% 62% 38%;width:420px;height:420px;animation:24s linear infinite shape-rotate;position:absolute;top:18%;right:3%}.hero-copy{z-index:2;position:relative}.hero-enter{animation:.75s cubic-bezier(.2,.8,.2,1) both hero-rise}.hero-enter-delay{animation-delay:.12s}.eyebrow{color:#a8bfd0;font:650 11px var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 24px;display:flex}.eyebrow span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 15px var(--accent);border-radius:50%;animation:2s ease-in-out infinite pulse}h1{letter-spacing:-.075em;margin:0;font-size:clamp(58px,7.3vw,108px);line-height:.82}.hero-kicker{color:var(--foreground);font-weight:340;display:block}h1 strong{color:var(--primary);margin-top:.15em;font-weight:780;display:block}.hero-description{max-width:710px;color:var(--muted);margin:32px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.72}.hero-tech{flex-wrap:wrap;gap:7px;margin:27px 0 0;padding:0;list-style:none;display:flex}.hero-tech li,.tag-list li,.secondary-skills small,.focus-row small{border:1px solid var(--line);color:#a9bed0;font:550 10px var(--font-geist-mono), monospace;background:#0a142373;border-radius:999px;padding:7px 10px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:31px;display:flex}.primary-button,.secondary-button{border-radius:11px;justify-content:center;align-items:center;gap:11px;min-height:49px;padding:0 21px;font-size:13px;font-weight:720;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex}.primary-button{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff;border:0;box-shadow:0 14px 38px #3987ff38}.secondary-button{border:1px solid var(--line);color:#c9dae7;background:#0a142394}.primary-button:hover,.secondary-button:hover{transform:translateY(-3px);box-shadow:0 18px 42px #3987ff2b}.text-button{min-height:49px;color:var(--muted);align-items:center;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.social-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:17px;margin-top:28px;font-size:12px;display:flex}.social-row>span{font:600 10px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em}.social-row a{color:var(--foreground);border-bottom:1px solid var(--line);align-items:center;gap:7px;padding-bottom:3px;display:inline-flex}.brand-icon{flex:none;width:16px;height:16px}.portrait-stage{z-index:2;place-items:center;height:540px;display:grid;position:relative}.portrait-halo{border:1px dashed #27d7f330;border-radius:50%;width:470px;height:470px;animation:24s linear infinite reverse shape-rotate;position:absolute}.portrait-card{background:linear-gradient(#0000 52%,#050914f5),radial-gradient(circle at 50% 33%,#204d74,#0d263d 48%,#091521 76%);border:1px solid #3987ff5c;border-radius:34px;flex-direction:column;justify-content:space-between;width:min(370px,92%);height:490px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 36px 90px #0006,inset 0 0 70px #3987ff14}.portrait-card:before{content:"";z-index:1;pointer-events:none;background-color:#0000;background-image:linear-gradient(#27d7f30e 1px,#0000 1px),linear-gradient(90deg,#27d7f30e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 76%);mask-image:linear-gradient(#000,#0000 76%)}.portrait-photo{z-index:0;place-items:center;display:grid;position:absolute;inset:0}.portrait-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#05091405 28%,#0509144d 58%,#050914fa 92%);position:absolute;inset:0}.portrait-photo-image{object-fit:cover;object-position:center 18%;opacity:0;transition:opacity .35s}.portrait-photo.is-loaded .portrait-photo-image{opacity:1}.portrait-status{z-index:2;color:var(--accent);font:600 10px var(--font-geist-mono), monospace;background:#0509148c;border:1px solid #27d7f340;border-radius:999px;align-self:flex-start;padding:7px 10px}.portrait-initials{z-index:2;color:#edf5ffe6;font:780 92px var(--font-geist-mono), monospace;letter-spacing:-.1em;text-shadow:0 16px 40px #0000004d;transition:opacity .25s}.portrait-photo.is-loaded .portrait-initials{opacity:0}.portrait-identity{z-index:2;gap:8px;display:grid;position:relative}.portrait-identity strong{letter-spacing:-.045em;font-size:26px;line-height:1.04}.portrait-identity span{color:#9fb4c6;font:550 10px var(--font-geist-mono), monospace}.portrait-card small{z-index:2;color:#7892a7;writing-mode:vertical-rl;font-size:9px;position:absolute;top:29px;right:24px}.floating-chip{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);color:#aec7d9;font:600 10px var(--font-geist-mono), monospace;background:#050c17d1;border:1px solid #27d7f338;border-radius:10px;padding:10px 13px;animation:4s ease-in-out infinite float;position:absolute;box-shadow:0 15px 38px #00000040}.chip-one{top:16%;right:-2%}.chip-two{animation-delay:-1.5s;bottom:22%;left:-5%}.chip-three{animation-delay:-2.7s;bottom:8%;right:3%}.metrics{z-index:2;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:64px 0 0;display:grid;position:relative}.metric-card{--metric-accent:var(--primary);border:1px solid var(--metric-accent);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:10px 14px;min-height:132px;padding:19px 21px 17px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.metric-card{border:1px solid color-mix(in srgb, var(--metric-accent) 33%, var(--line))}}.metric-card{background:radial-gradient(circle at 88% 8%, var(--metric-accent), transparent 38%), linear-gradient(150deg, var(--metric-accent), var(--surface));border-radius:20px}@supports (color:color-mix(in lab, red, red)){.metric-card{background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--metric-accent) 20%, transparent), transparent 38%), linear-gradient(150deg, color-mix(in srgb, var(--metric-accent) 7%, var(--surface)), color-mix(in srgb, var(--surface) 92%, transparent))}}.metric-card{box-shadow:0 18px 48px var(--metric-accent)}@supports (color:color-mix(in lab, red, red)){.metric-card{box-shadow:0 18px 48px color-mix(in srgb, var(--metric-accent) 8%, transparent)}}.metric-card{transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s,box-shadow .24s}.metric-card:before{content:"";background:linear-gradient(90deg, transparent, var(--metric-accent), transparent);opacity:.78;height:2px;position:absolute;top:0;left:25px;right:25px}.metric-card[data-tone=gold]{--metric-accent:#f6ad3c}.metric-card[data-tone=cyan]{--metric-accent:#27d7f3}.metric-card[data-tone=violet]{--metric-accent:#9b8cff}.metric-card[data-tone=blue]{--metric-accent:#528cff}.metric-card:hover{border-color:var(--metric-accent);transform:translateY(-6px)}@supports (color:color-mix(in lab, red, red)){.metric-card:hover{border-color:color-mix(in srgb, var(--metric-accent) 62%, var(--line))}}.metric-card:hover{box-shadow:0 25px 62px var(--metric-accent)}@supports (color:color-mix(in lab, red, red)){.metric-card:hover{box-shadow:0 25px 62px color-mix(in srgb, var(--metric-accent) 16%, transparent)}}.metric-icon{border:1px solid var(--metric-accent);grid-area:1/2;align-self:start;place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.metric-icon{border:1px solid color-mix(in srgb, var(--metric-accent) 38%, var(--line))}}.metric-icon{background:var(--metric-accent);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.metric-icon{background:color-mix(in srgb, var(--metric-accent) 12%, var(--surface))}}.metric-icon{color:var(--metric-accent);box-shadow:inset 0 0 20px var(--metric-accent)}@supports (color:color-mix(in lab, red, red)){.metric-icon{box-shadow:inset 0 0 20px color-mix(in srgb, var(--metric-accent) 8%, transparent)}}.metric-icon{transition:transform .24s,background-color .24s}.metric-icon svg{width:17px;height:17px}.metric-card:hover .metric-icon{background:var(--metric-accent);transform:rotate(-5deg)scale(1.08)}@supports (color:color-mix(in lab, red, red)){.metric-card:hover .metric-icon{background:color-mix(in srgb, var(--metric-accent) 19%, var(--surface))}}.metrics dt{color:var(--metric-accent);font:780 clamp(28px, 2.9vw, 40px)/.92 var(--font-geist-mono), monospace;letter-spacing:-.075em;text-wrap:balance;grid-area:1/1;align-self:center}.metrics dd{border-top:1px solid var(--metric-accent);grid-area:2/1/auto/-1;margin:0;padding-top:9px}@supports (color:color-mix(in lab, red, red)){.metrics dd{border-top:1px solid color-mix(in srgb, var(--metric-accent) 20%, var(--line))}}.metrics dd{color:var(--muted);font-size:10.5px;font-weight:560;line-height:1.42}.section{border-top:1px solid var(--line);width:min(1180px,100% - 48px);margin:0 auto;padding:52px 0 76px;position:relative}.section:after{content:"";z-index:-1;border:1px solid #3987ff14;border-radius:37% 63% 44% 56%;width:250px;height:250px;position:absolute;top:18%;right:-9%;transform:rotate(24deg)}.section-index{color:var(--accent);font:650 10px var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px}h2{letter-spacing:-.06em;max-width:900px;margin:0;font-size:clamp(41px,5.3vw,72px);line-height:.98}.section-lead{max-width:750px;color:var(--muted);margin:25px 0 0;font-size:17px;line-height:1.75}.section-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}[data-reveal]{opacity:1;transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1);transform:translateY(0)}[data-reveal].will-reveal{opacity:0;transform:translateY(26px)}[data-reveal].will-reveal.is-visible{opacity:1;transform:translateY(0)}.skill-card,.project-card,.education-card,.certificate-card,.contribution-grid article,.approach-block li,.talk-grid article,.secondary-skills article,.contact-form,.talk-feature{transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s,background-color .22s}.skill-card,.project-card,.education-card,.certificate-card,.contribution-grid article,.approach-block li,.talk-grid article,.secondary-skills article{position:relative;overflow:hidden}.skill-card:before,.project-card:before,.education-card:before,.certificate-card:before,.contribution-grid article:before,.approach-block li:before,.talk-grid article:before,.secondary-skills article:before{content:"";background:linear-gradient(90deg, transparent, var(--card-accent,var(--primary)), transparent);opacity:.56;height:2px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;right:22px;transform:scaleX(.45)}.skill-card:hover,.project-card:hover,.education-card:hover,.certificate-card:hover,.contribution-grid article:hover,.approach-block li:hover,.talk-grid article:hover,.secondary-skills article:hover,.contact-form:hover,.talk-feature:hover{border-color:var(--card-accent,var(--primary));transform:translateY(-6px)}@supports (color:color-mix(in lab, red, red)){.skill-card:hover,.project-card:hover,.education-card:hover,.certificate-card:hover,.contribution-grid article:hover,.approach-block li:hover,.talk-grid article:hover,.secondary-skills article:hover,.contact-form:hover,.talk-feature:hover{border-color:color-mix(in srgb, var(--card-accent,var(--primary)) 54%, var(--line))}}.skill-card:hover,.project-card:hover,.education-card:hover,.certificate-card:hover,.contribution-grid article:hover,.approach-block li:hover,.talk-grid article:hover,.secondary-skills article:hover,.contact-form:hover,.talk-feature:hover{box-shadow:0 24px 62px var(--card-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.skill-card:hover,.project-card:hover,.education-card:hover,.certificate-card:hover,.contribution-grid article:hover,.approach-block li:hover,.talk-grid article:hover,.secondary-skills article:hover,.contact-form:hover,.talk-feature:hover{box-shadow:0 24px 62px color-mix(in srgb, var(--card-accent,var(--primary)) 13%, transparent)}}.skill-card:hover:before,.project-card:hover:before,.education-card:hover:before,.certificate-card:hover:before,.contribution-grid article:hover:before,.approach-block li:hover:before,.talk-grid article:hover:before,.secondary-skills article:hover:before{opacity:.95;transform:scaleX(1)}.skill-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px;display:grid}.skill-card{--card-accent:var(--primary);border:1px solid var(--line);background:linear-gradient(160deg, var(--card-accent), var(--surface) 42%);border-radius:21px;flex-direction:column;min-height:390px;padding:29px;display:flex}@supports (color:color-mix(in lab, red, red)){.skill-card{background:linear-gradient(160deg, color-mix(in srgb, var(--card-accent) 10%, var(--surface)), color-mix(in srgb, var(--surface) 94%, transparent) 42%)}}.skill-card:nth-child(2),.skill-card:nth-child(5){--card-accent:#6477ff}.skill-card:nth-child(3),.skill-card:nth-child(6){--card-accent:var(--accent)}.skill-card-head{display:block}.skill-card-head>span{border:1px solid var(--card-accent);place-items:center;width:47px;height:47px;margin-bottom:29px;display:grid}@supports (color:color-mix(in lab, red, red)){.skill-card-head>span{border:1px solid color-mix(in srgb, var(--card-accent) 42%, var(--line))}}.skill-card-head>span{background:var(--card-accent);border-radius:13px}@supports (color:color-mix(in lab, red, red)){.skill-card-head>span{background:color-mix(in srgb, var(--card-accent) 11%, transparent)}}.skill-card-head>span{color:var(--card-accent);font:750 13px var(--font-geist-mono), monospace;box-shadow:inset 0 0 22px var(--card-accent)}@supports (color:color-mix(in lab, red, red)){.skill-card-head>span{box-shadow:inset 0 0 22px color-mix(in srgb, var(--card-accent) 7%, transparent)}}.card-icon{width:21px;height:21px;transition:transform .22s}.skill-card:hover .card-icon,.contribution-grid article:hover .card-icon,.talk-grid article:hover .card-icon,.approach-block li:hover .card-icon,.project-card:hover .card-icon,.education-card:hover .card-icon,.certificate-card:hover .card-icon,.secondary-skills article:hover .card-icon{transform:translateY(-2px)rotate(-4deg)scale(1.08)}.skill-card h3{letter-spacing:-.04em;margin:0;font-size:25px}.skill-card p{color:var(--muted);margin:11px 0 0;font-size:12px;line-height:1.62}.skill-card ul{flex-wrap:wrap;gap:8px;margin:auto 0 0;padding:34px 0 0;list-style:none;display:flex}.skill-card li{background:var(--background);border-radius:8px;padding:8px 10px}@supports (color:color-mix(in lab, red, red)){.skill-card li{background:color-mix(in srgb, var(--background) 64%, transparent)}}.skill-card li{color:#b2c7d8;font:550 11px var(--font-geist-mono), monospace}.secondary-skills{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.secondary-skills article{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:24px 27px}@supports (color:color-mix(in lab, red, red)){.secondary-skills article{background:color-mix(in srgb, var(--surface) 80%, transparent)}}.secondary-skills header{color:var(--accent);align-items:center;gap:10px;display:flex}.secondary-skills header .card-icon{width:18px;height:18px}.secondary-skills article>div{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.about-intro{grid-template-columns:.95fr 1.05fr;gap:70px;display:grid}.about-copy p{color:var(--muted);margin:0 0 19px;font-size:17px;line-height:1.76}.focus-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:29px;display:flex}.focus-row>span{color:var(--accent);font:650 10px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;margin-right:7px}.contribution-block{margin-top:72px}.contribution-block>h3,.approach-block>h3{letter-spacing:-.035em;margin:0 0 29px;font-size:22px}.contribution-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.contribution-grid article{--card-accent:var(--primary);border:1px solid var(--line);background:linear-gradient(155deg, var(--card-accent), var(--surface));border-radius:18px;min-height:220px;padding:24px}@supports (color:color-mix(in lab, red, red)){.contribution-grid article{background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 7%, var(--surface)), color-mix(in srgb, var(--surface) 90%, transparent))}}.contribution-grid article:nth-child(2n){--card-accent:var(--accent)}.contribution-grid article>span{color:var(--accent);font-size:24px}.contribution-grid h4{margin:30px 0 12px;font-size:16px}.contribution-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.62}.approach-block{margin-top:62px}.approach-block ol{grid-template-columns:repeat(5,1fr);gap:30px;margin:0;padding:0;list-style:none;display:grid}.approach-block li{--card-accent:var(--primary);border:1px solid var(--line);background:linear-gradient(155deg, var(--card-accent), var(--surface));border-radius:18px;flex-direction:column;min-height:225px;padding:23px;display:flex;position:relative;overflow:visible}@supports (color:color-mix(in lab, red, red)){.approach-block li{background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 9%, var(--surface)), color-mix(in srgb, var(--surface) 92%, transparent))}}.approach-block li:nth-child(2n){--card-accent:var(--accent)}.approach-block li:after{content:"→";z-index:3;color:var(--card-accent);position:absolute;top:50%;right:-24px;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.approach-block li:after{color:color-mix(in srgb, var(--card-accent) 75%, var(--foreground))}}.approach-block li:after{font:700 20px var(--font-geist-mono), monospace}.approach-block li:last-child:after{content:"↺";top:25px;right:14px;transform:none}.approach-step-head{color:var(--card-accent);justify-content:space-between;align-items:center;display:flex}.approach-step-number{color:var(--card-accent);font:700 10px var(--font-geist-mono), monospace}.approach-block li .card-icon{width:22px;height:22px;margin-right:25px}.approach-block li strong{margin-top:30px;font-size:14px;line-height:1.4}.approach-block li p{color:var(--muted);margin:11px 0 0;font-size:11px;line-height:1.55}.filter-tabs{flex-wrap:wrap;gap:8px;margin:43px 0 29px;display:flex}.filter-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:10px 15px;font-size:11px;transition:all .18s}.filter-tabs button:hover{color:var(--foreground);border-color:var(--primary)}.filter-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.project-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.project-card{--card-accent:var(--primary);border:1px solid var(--line);background:linear-gradient(150deg, var(--card-accent), var(--surface));border-radius:20px;min-height:305px;padding:24px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-card{background:linear-gradient(150deg, color-mix(in srgb, var(--card-accent) 7%, var(--surface)), color-mix(in srgb, var(--surface) 95%, transparent))}}.project-card:nth-child(2n){--card-accent:#6477ff}.project-card:nth-child(3n){--card-accent:var(--accent)}.project-card:after{content:"";pointer-events:none;border:1px solid #27d7f31a;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-85px;right:-75px}.project-card:hover{border-color:var(--primary);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in srgb, var(--primary) 57%, var(--line))}}.card-corner-icon{border:1px solid var(--card-accent);place-items:center;width:42px;height:42px;display:grid;position:absolute;top:22px;right:24px}@supports (color:color-mix(in lab, red, red)){.card-corner-icon{border:1px solid color-mix(in srgb, var(--card-accent) 32%, var(--line))}}.card-corner-icon{background:var(--card-accent);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.card-corner-icon{background:color-mix(in srgb, var(--card-accent) 9%, transparent)}}.card-corner-icon{color:var(--card-accent)}.project-role{font:600 10px var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin:0;color:var(--accent)!important}.project-card h3{letter-spacing:-.045em;margin:34px 0 13px;font-size:23px}.project-card p{color:var(--muted);font-size:12px;line-height:1.56}.project-card strong{margin-top:17px;font-size:11px;display:block}.project-card .tag-list{margin-top:20px}.project-card .tag-list li{padding:6px 8px;font-size:9px}.project-code-link{z-index:2;border:1px solid var(--card-accent);align-items:center;gap:8px;width:fit-content;min-height:38px;margin-top:19px;padding:0 13px;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.project-code-link{border:1px solid color-mix(in srgb, var(--card-accent) 44%, var(--line))}}.project-code-link{background:var(--card-accent);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.project-code-link{background:color-mix(in srgb, var(--card-accent) 9%, transparent)}}.project-code-link{color:var(--foreground);font-size:11px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s}.project-code-link svg{width:15px;height:15px}.project-code-link:hover,.project-code-link:focus-visible{border-color:var(--card-accent);background:var(--card-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.project-code-link:hover,.project-code-link:focus-visible{background:color-mix(in srgb, var(--card-accent) 16%, transparent)}}.tag-list{flex-wrap:wrap;gap:7px;margin:28px 0 0;padding:0;list-style:none;display:flex}.empty-state{border:1px dashed var(--line);color:var(--muted);border-radius:16px;padding:28px}.timeline{margin-top:48px;position:relative}.timeline:before{content:"";background:linear-gradient(var(--primary), var(--line));width:1px;position:absolute;top:10px;bottom:0;left:232px}.timeline-item{grid-template-columns:205px 54px 1fr;min-height:190px;display:grid}.timeline-item time{color:var(--muted);font:600 11px var(--font-geist-mono), monospace;padding-top:3px}.timeline-dot{border:2px solid var(--background);background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 4px var(--accent);border-radius:50%;margin:4px auto 0}@supports (color:color-mix(in lab, red, red)){.timeline-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}}.timeline-dot{z-index:1}.timeline-item h3{letter-spacing:-.035em;margin:12px 0 5px;font-size:24px}.timeline-item h4{color:var(--muted);margin:0;font-size:13px;font-weight:550}.timeline-item p{max-width:720px;color:var(--muted);line-height:1.66}.category{color:var(--accent);font:600 9px var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase}.education-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-top:44px;display:grid}.education-card,.certificate-card{--card-accent:var(--primary);border:1px solid var(--line);background:linear-gradient(155deg, var(--card-accent), var(--surface));border-radius:18px}@supports (color:color-mix(in lab, red, red)){.education-card,.certificate-card{background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 7%, var(--surface)), color-mix(in srgb, var(--surface) 91%, transparent))}}.education-card:nth-child(2n),.certificate-card:nth-child(2n){--card-accent:#6477ff}.education-card{min-height:220px;padding:28px}.card-heading-icon{color:var(--accent);align-items:center;gap:10px;display:flex}.card-heading-icon .card-icon{width:19px;height:19px}.card-heading-icon span{color:var(--accent);font:600 10px var(--font-geist-mono), monospace}.education-card h3{margin:35px 0 12px;font-size:23px}.education-card p{color:var(--muted)}.education-card strong{font-size:11px}.certificate-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px;display:grid}.certificate-card{flex-direction:column;justify-content:space-between;min-height:190px;padding:24px;display:flex}.certificate-card h3{margin:12px 0 8px;font-size:18px}.certificate-card p{color:var(--muted);margin:0;font-size:11px}.certificate-card button{color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:24px;padding:0;font-weight:700}.talks-section{overflow:hidden}.talks-section>:not(.meteor-canvas){z-index:2;position:relative}.talks-heading{grid-template-columns:1.18fr .82fr;align-items:stretch;gap:70px;display:grid}.talks-heading .secondary-button{margin-top:30px}.talk-feature{isolation:isolate;background:#07111f;border:1px solid #3987ff59;border-radius:26px;min-height:420px;padding:0;position:relative;overflow:hidden;box-shadow:0 25px 70px #00000038}.talk-feature:after{content:"";z-index:-1;background:linear-gradient(#03080f0f 18%,#03080f80 48%,#03080ff7 100%);position:absolute;inset:0}.talk-feature-image{z-index:-2;object-fit:cover;object-position:center 28%;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s}.talk-feature:hover .talk-feature-image{filter:saturate(1.08);transform:scale(1.035)}.talk-feature-badge{color:#71e9fb;font:650 10px var(--font-geist-mono), monospace;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03080fb8;border:1px solid #27d7f36b;border-radius:999px;padding:7px 10px;position:absolute;top:22px;left:22px}.talk-feature-content{color:#f4f8ff;padding:64px 24px 23px;position:absolute;inset:auto 0 0}.talk-feature-content>small{color:#71e9fb;font:650 10px var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.talk-feature-content h3{letter-spacing:-.045em;margin:8px 0 9px;font-size:clamp(25px,3vw,38px);line-height:1}.talk-feature-content>p{color:#ecf4ffd1;margin:0;font-size:11px;line-height:1.55}.talk-feature-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.talk-feature-tags span{color:#f4f8ffe0;font:600 8px var(--font-geist-mono), monospace;background:#07111f9e;border:1px solid #ffffff26;border-radius:999px;padding:5px 8px}.talk-feature-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:15px;display:flex}.talk-feature-footer>span{color:#ecf4ffb3;font:550 8px var(--font-geist-mono), monospace}.talk-feature-link{color:#71e9fb;flex:none;font-size:10px;font-weight:750}.talk-more-label{color:var(--muted);font:650 10px var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin:48px 0 14px}.talk-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.talk-grid article{--card-accent:var(--accent);border:1px solid var(--line);background:linear-gradient(155deg, var(--card-accent), var(--surface));border-radius:18px;grid-template-columns:35px 1fr;gap:12px;min-height:200px;padding:24px;display:grid}@supports (color:color-mix(in lab, red, red)){.talk-grid article{background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 8%, var(--surface)), color-mix(in srgb, var(--surface) 89%, transparent))}}.talk-grid article>span{color:var(--accent);font:700 15px var(--font-geist-mono), monospace}.talk-grid h3{margin:0 0 11px;font-size:17px}.talk-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.57}.talk-grid small{color:var(--accent);font:600 9px var(--font-geist-mono), monospace;text-transform:uppercase;grid-column:2;align-self:end}.contact{grid-template-columns:.9fr 1fr;gap:80px;display:grid}.contact-links{gap:13px;margin-top:39px;display:grid}.contact-links a{border-bottom:1px solid var(--line);align-items:center;gap:9px;width:fit-content;padding-bottom:5px;display:inline-flex}.contact-form{border:1px solid var(--line);background:var(--surface);border-radius:20px;gap:18px;padding:30px;display:grid}@supports (color:color-mix(in lab, red, red)){.contact-form{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.contact-form{box-shadow:0 24px 70px #00000021}.contact-form label{color:var(--muted);gap:8px;font-size:11px;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--background);border-radius:10px;outline:0;width:100%;padding:13px 14px}@supports (color:color-mix(in lab, red, red)){input,textarea,select{background:color-mix(in srgb, var(--background) 70%, transparent)}}input,textarea,select{color:var(--foreground)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 13%, transparent)}}textarea{resize:vertical}.contact-form .primary-button{cursor:pointer;justify-self:start}.honeypot{opacity:0;pointer-events:none;height:1px;overflow:hidden;width:1px!important;position:absolute!important}.form-status{min-height:18px;color:var(--muted);margin:0;font-size:11px}.site-footer{border-top:1px solid var(--line);width:min(1180px,100% - 48px);margin:0 auto;padding:60px 0 35px}.footer-main{grid-template-columns:1fr .35fr .35fr;gap:70px;padding-bottom:70px;display:grid}.footer-identity{justify-items:start;display:grid}.footer-identity h2{margin:27px 0 15px;font-size:clamp(32px,4vw,52px)}.footer-identity p{color:var(--accent);margin:0;font-weight:700}.footer-identity small{color:var(--muted);font:500 10px var(--font-geist-mono), monospace;margin-top:11px}.footer-group{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.footer-group strong{color:var(--accent);font:650 10px var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.09em;margin-bottom:11px}.footer-group a{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.footer-group a:hover{color:var(--foreground)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);font:500 10px var(--font-geist-mono), monospace;justify-content:space-between;gap:20px;padding-top:25px;display:flex}.certificate-dialog{background:0 0;border:0;justify-content:center;align-items:center;width:min(760px,100% - 44px);max-height:90vh;margin:auto;padding:0;display:flex;position:fixed;inset:0;overflow:visible}.certificate-dialog:not([open]){display:none}.certificate-dialog::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02070ccc}.certificate-dialog[open]{animation:.25s cubic-bezier(.2,.8,.2,1) dialog-in}.certificate-modal{border:1px solid var(--line);background:var(--surface);border-radius:24px;width:100%;max-height:90vh;padding:34px;position:relative;overflow:auto;box-shadow:0 30px 100px #00000080}.certificate-modal .primary-button{align-items:center;gap:8px;margin-top:24px;display:inline-flex}.certificate-modal h2{font-size:36px}.certificate-modal h3,.certificate-modal>p:not(.section-index){color:var(--muted)}.certificate-modal>p:not(.section-index){line-height:1.7}.modal-close{z-index:2;border:1px solid var(--line);background:var(--surface-strong);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:50%;font-size:22px;position:absolute;top:18px;right:20px}.certificate-preview{text-align:center;border:1px dashed var(--line);background:var(--background);border-radius:14px;align-content:center;place-items:center;min-height:180px;margin:30px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.certificate-preview{background:color-mix(in srgb, var(--background) 70%, transparent)}}.certificate-preview{color:var(--muted)}.certificate-preview span{color:var(--accent);font-size:34px}.certificate-preview p{max-width:360px;font-size:12px}.certificate-image-wrap,.certificate-document-wrap{border:1px solid var(--line);background:var(--background);border-radius:14px;margin:30px 0;padding:10px}@supports (color:color-mix(in lab, red, red)){.certificate-image-wrap,.certificate-document-wrap{background:color-mix(in srgb, var(--background) 70%, transparent)}}.certificate-image-wrap img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:55vh;display:block}.certificate-document-wrap iframe{background:#fff;border:0;border-radius:8px;width:100%;height:min(62vh,650px);display:block}.view-counter{opacity:.45;font-variant-numeric:tabular-nums;transition:opacity .2s}.view-counter:hover{opacity:.8}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#e4eff9;--surface:#f9fcff;--surface-strong:#e8f2fa;--foreground:#04121f;--muted:#29475f;--line:#9fbad0;--primary:#155fcf;--primary-strong:#104ca9;--accent:#006d86}[data-theme=light] body{background:radial-gradient(circle at 82% 8%,#387ee738,#0000 28rem),radial-gradient(circle at 4% 54%,#16b8cd30,#0000 30rem),linear-gradient(135deg,#edf5fc,#dfeefa 48%,#eff7fd)}[data-theme=light] .ambient-background:after{background-color:#0000;background-image:linear-gradient(#155faa1c 1px,#0000 1px),linear-gradient(90deg,#155faa1c 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}[data-theme=light] .ambient-orb{opacity:.3;filter:blur(58px)}[data-theme=light] .orb-a{background:#4d91ff}[data-theme=light] .orb-b{background:#18bfd7}[data-theme=light] .orb-c{background:#7771ff}[data-theme=light] .ambient-grid{border-color:#007b9638;box-shadow:0 0 70px #155fcf14}[data-theme=light] .section:after,[data-theme=light] .hero:before{border-color:#155fcf30}[data-theme=light] .meteor-canvas{opacity:.72;mix-blend-mode:multiply}[data-theme=light] .site-header{background:#f7fbffc9;box-shadow:0 15px 45px #224a6c1a}[data-theme=light] .quiet-button,[data-theme=light] .icon-button,[data-theme=light] .menu-button,[data-theme=light] .secondary-button{color:var(--foreground);background:#ffffffdb}[data-theme=light] .hero-tech li,[data-theme=light] .tag-list li,[data-theme=light] .secondary-skills small,[data-theme=light] .focus-row small{color:#16364f;background:#d7e7f4;border-color:#9dbbd3;box-shadow:inset 0 0 0 1px #ffffff80}[data-theme=light] .skill-card{background:linear-gradient(155deg, var(--card-accent), #eaf3fa 72%);border-color:#9ebbd2}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .skill-card{background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 13%, #f8fbfe), #eaf3fa 72%)}}[data-theme=light] .skill-card li{border:1px solid var(--card-accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .skill-card li{border:1px solid color-mix(in srgb, var(--card-accent) 30%, #a8bfd3)}}[data-theme=light] .skill-card li{background:var(--card-accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .skill-card li{background:color-mix(in srgb, var(--card-accent) 13%, #f6faff)}}[data-theme=light] .skill-card li{color:#102f47;box-shadow:0 4px 12px #234b6c14}[data-theme=light] .skill-card p,[data-theme=light] .secondary-skills .category{color:#29475f}[data-theme=light] .secondary-skills article{background:#eff7fcf0;border-color:#9ebbd2}[data-theme=light] .skill-card,[data-theme=light] .project-card,[data-theme=light] .education-card,[data-theme=light] .certificate-card,[data-theme=light] .contribution-grid article,[data-theme=light] .approach-block li,[data-theme=light] .talk-grid article,[data-theme=light] .contact-form{box-shadow:0 18px 55px #224a6c1c}[data-theme=light] .metric-card{background:radial-gradient(circle at 88% 8%, var(--metric-accent), transparent 40%), linear-gradient(150deg, var(--metric-accent), #f4f8fd)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .metric-card{background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--metric-accent) 18%, transparent), transparent 40%), linear-gradient(150deg, color-mix(in srgb, var(--metric-accent) 8%, #fff), #f4f8fd)}}[data-theme=light] .metric-card{box-shadow:0 18px 48px var(--metric-accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .metric-card{box-shadow:0 18px 48px color-mix(in srgb, var(--metric-accent) 13%, transparent)}}[data-theme=light] .metric-icon{background:var(--metric-accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .metric-icon{background:color-mix(in srgb, var(--metric-accent) 11%, #fff)}}[data-theme=light] .metrics dd{color:#40556a}[data-theme=light] .portrait-card{background:linear-gradient(#0000 52%,#081a2ef0),radial-gradient(circle at 50% 33%,#6ba9dc,#316b9c 48%,#163b5d 76%)}@keyframes drift{0%{transform:translate(-4%,-2%)scale(.95)}to{transform:translate(8%,7%)scale(1.08)}}@keyframes shape-rotate{to{transform:rotate(378deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{50%{opacity:.5}}@keyframes hero-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1080px){nav{gap:14px}nav a{font-size:11px}.brand>span:last-child{display:none}.skill-grid,.project-grid,.contribution-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:920px){.menu-button{display:block}.site-header nav{border:1px solid var(--line);background:var(--surface);border-radius:15px;flex-direction:column;align-items:stretch;gap:0;padding:13px;display:none;position:absolute;top:73px;left:0;right:0;box-shadow:0 22px 55px #0000003d}.site-header nav.nav-open{display:flex}.site-header nav a{padding:12px}.site-header nav a:after{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:112px}.portrait-stage{height:500px}.metrics{margin-top:35px}.about-intro,.talks-heading,.contact{grid-template-columns:1fr}.talks-heading{gap:45px}.talk-feature{min-height:430px}.contact{gap:45px}.approach-block ol{scroll-snap-type:x proximity;scrollbar-width:thin;grid-template-columns:repeat(5,minmax(205px,1fr));padding:4px 4px 17px;overflow-x:auto}.approach-block li{scroll-snap-align:start}.footer-main{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1}}@media (max-width:680px){.site-header{width:calc(100% - 18px);top:9px}.hero,.section,.site-footer{width:min(100% - 32px,1180px)}.hero{padding:104px 0 58px}.hero:before{display:none}h1{font-size:clamp(56px,19vw,82px)}.hero-description{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.text-button,.social-row{justify-content:center}.portrait-stage{height:430px}.portrait-card{border-radius:27px;height:410px}.portrait-halo{width:410px;height:410px}.floating-chip{display:none}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:48px}.metric-card{gap:8px 10px;min-height:128px;padding:16px}.metric-icon{border-radius:11px;width:34px;height:34px}.metric-icon svg{width:15px;height:15px}.metrics dt{font-size:clamp(25px,7.6vw,34px)}.metrics dd{padding-top:8px;font-size:10px}.section{padding:44px 0 60px}.section-lead{font-size:16px}.skill-grid,.secondary-skills,.project-grid,.education-grid,.certificate-grid,.contribution-grid,.talk-grid{grid-template-columns:1fr}.skill-card{min-height:350px}.about-intro{gap:35px}.contribution-block{margin-top:54px}.approach-block{margin-top:52px}.approach-block ol{grid-template-columns:repeat(5,minmax(238px,1fr))}.approach-block li{min-height:220px}.timeline:before{left:5px}.timeline-item{grid-template-columns:25px 1fr;padding-bottom:46px}.timeline-item time{grid-column:2;margin-bottom:16px}.timeline-dot{grid-area:1/1/span 2;margin-left:0}.timeline-item>div:last-child{grid-column:2}.talk-feature{min-height:400px}.talk-feature-content{padding:58px 19px 19px}.talk-feature-content>p{display:none}.talk-feature-footer{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1fr;gap:38px}.footer-identity{grid-column:1}.footer-bottom{flex-direction:column}}@media (hover:none),(pointer:coarse){.cursor-glow,.has-tooltip:after{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}.cursor-glow{display:none}}
