*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Karla,ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-36{margin-top:9rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-\[-2rem\]{margin-top:-2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-4{height:1rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2\/3{width:66.6667%}.w-3\/4{width:75%}.w-4{width:1rem}.min-w-0{min-width:0}.max-w-xl{max-width:36rem}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.scroll-mt-6{scroll-margin-top:1.5rem}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-x-hidden{overflow-x:hidden}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-neutral-500\/30{border-color:#7373734d}.bg-amber-400\/10{background-color:#fbbf241a}.bg-emerald-400\/10{background-color:#34d3991a}.bg-neutral-500\/10{background-color:#7373731a}.bg-red-400\/10{background-color:#f871711a}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.pb-1{padding-bottom:.25rem}.pb-6{padding-bottom:1.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Karla,ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;--bg-primary:#020202;--bg-secondary:#0c0c0c;--bg-tertiary:#111;--bg-elevated:#1a1a1a;--border-primary:#1a1a1a;--border-secondary:#202020;--border-dotted:#292929;--text-primary:#fff;--text-secondary:#d4d4d4;--text-tertiary:#a3a3a3;--text-muted:#737373;--text-dim:#555;--grid-line:#50505014;--cover-gradient:linear-gradient(180deg, #0000000d, #0000008c);--card-shadow:0 18px 50px #000000a6;--skeleton-bg:#1a1a1a;--skeleton-shine:#252525;background:#0a0a0a;font-family:Karla,ui-sans-serif,system-ui,sans-serif}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#eee;--bg-elevated:#e5e5e5;--border-primary:#d4d4d4;--border-secondary:#e0e0e0;--border-dotted:#d0d0d0;--text-primary:#111;--text-secondary:#333;--text-tertiary:#555;--text-muted:#888;--text-dim:#aaa;--grid-line:#0000000a;--cover-gradient:linear-gradient(180deg, #ffffff0d, #ffffff8c);--card-shadow:0 18px 50px #0000001a;--skeleton-bg:#e5e5e5;--skeleton-shine:#d0d0d0;background:#f8f8f8}html{scroll-behavior:smooth;scroll-padding-top:40px}body{background:var(--bg-primary);min-width:320px;max-width:100vw;color:var(--text-primary);margin:0;overflow-x:hidden}html{overflow-x:hidden}.portfolio-page{background-color:var(--bg-primary);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:48px 48px;overflow-x:hidden}.portfolio-shell{border-left:1px dotted var(--border-primary);border-right:1px dotted var(--border-primary);box-sizing:border-box;width:min(100%,760px);margin-inline:auto;display:block;position:relative}.portfolio-shell>main{width:100%}.index-nav{z-index:10;border-left:1px dotted var(--border-dotted);width:170px;padding:8px 0 8px 18px;position:fixed;top:32px;left:calc(50% + 400px)}.content-section{border-color:var(--border-primary);border-bottom:1px dotted var(--border-primary);padding-bottom:24px;scroll-margin-top:24px;animation:.6s cubic-bezier(.22,1,.36,1) both section-reveal}.content-section:last-of-type{border-bottom:none}@keyframes section-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.index-link{transition:color .45s,transform .45s cubic-bezier(.22,1,.36,1);position:relative}.index-link:hover{transform:translate(4px)}.index-marker{background:var(--text-primary);opacity:0;transform-origin:100%;flex:0 0 0;width:12px;height:1px;transition:opacity .45s,transform .45s cubic-bezier(.22,1,.36,1),flex-basis .45s cubic-bezier(.22,1,.36,1);transform:translate(-8px)scaleX(0)}.index-link.active .index-marker{opacity:1;flex-basis:12px;transform:translate(0)scaleX(1)}.index-link{color:var(--text-secondary);transition:color .45s}.index-link.active{transition:color .45s,font-weight .2s}.experience-list{border-top:1px dotted var(--border-secondary)}.experience-row{border-bottom:1px dotted var(--border-secondary)}.experience-toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:14px 0;display:grid}.experience-mark{border:1px solid var(--border-dotted);width:34px;height:34px;color:var(--text-primary);background:var(--bg-tertiary);border-radius:7px;place-items:center;font-size:18px;display:grid}.experience-copy h3{color:var(--text-primary);margin:0;font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:700}.experience-copy p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.experience-meta{text-align:right}.experience-meta p{color:var(--text-primary);margin:0;font-size:12px}.experience-meta p+p{color:var(--text-tertiary);margin-top:3px}.experience-chevron{color:var(--text-tertiary);transition:transform .2s}.experience-details{color:var(--text-secondary);margin:0 0 14px 54px;padding:0;font-size:13px;line-height:1.6}.experience-details li{margin-top:6px}.experience-row:hover{background:#ffffff06}[data-theme=light] .experience-row:hover{background:#00000006}.info-list{border-top:1px dotted var(--border-secondary)}.info-row{border-bottom:1px dotted var(--border-primary);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.info-row:hover{background:0 0}.education-timeline{border-top:1px dotted var(--border-primary);padding-left:20px;position:relative}.education-timeline:before{content:"";border-left:1px dotted var(--border-dotted);position:absolute;top:0;bottom:0;left:4px}.education-item{position:relative}.education-item .info-row{border-bottom:1px dotted var(--border-primary);padding-left:0}.education-item:last-child .info-row{border-bottom:0}.info-mark{border:1px solid var(--border-dotted);background:var(--bg-tertiary);width:30px;height:30px;color:var(--text-tertiary);border-radius:7px;place-items:center;font-size:13px;display:grid}.info-copy h3{color:var(--text-primary);margin:0;font-family:Fraunces,Georgia,serif;font-size:14px;font-weight:700}.info-copy p{color:var(--text-secondary);margin:3px 0 0;font-size:13px}.info-copy>span{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.info-row time{color:var(--text-tertiary);white-space:nowrap;font:11px ui-monospace,monospace}.hero-name{color:var(--text-primary);font-family:Fraunces,Georgia,serif}.hero-subtitle{color:var(--text-muted)}[data-theme=light] .hero-name{color:#111}[data-theme=light] .hero-subtitle{color:#555}header{padding:0 20px}.hero-cover{filter:brightness(1.3);background:linear-gradient(#0000000d,#0000008c),url(/images/backgrounds/night-field.jpg) 50% 58%/cover;width:calc(100% + 82px);height:173px;margin-left:-41px;position:relative;overflow:hidden}[data-theme=light] .hero-cover{filter:brightness(.95)}.hero-snow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-snow:after{content:"";mix-blend-mode:screen;background:linear-gradient(#0000,#dcebff14);position:absolute;inset:35% 0 0}.hero-pixel-clock{color:#999;letter-spacing:3px;text-shadow:0 1px 2px #0009;z-index:2;pointer-events:none;background:#00000040;border-radius:3px;padding:4px 8px;font-family:DotGothic16,Silkscreen,monospace;font-size:14px;position:absolute;bottom:10px;right:16px}.hero-theme-row{z-index:3;justify-content:flex-end;margin-top:6px;padding-right:16px;display:flex;position:relative}.hero-theme-row .theme-toggle{pointer-events:auto}.hero-snow span.snowflake{width:var(--snow-size);height:var(--snow-size);opacity:var(--snow-opacity);animation-duration:var(--snow-duration);animation-timing-function:linear;animation-delay:var(--snow-delay);will-change:transform, opacity;background:radial-gradient(circle,#fff 0%,#fff6 100%);border-radius:50%;animation-iteration-count:infinite;position:absolute}.hero-snow span.leaf{width:var(--leaf-w);height:var(--leaf-h);opacity:var(--leaf-opacity);animation-duration:var(--leaf-duration);animation-timing-function:linear;animation-delay:var(--leaf-delay);will-change:transform, opacity;filter:drop-shadow(0 1px 1px #00000026);background:linear-gradient(135deg,#5a7a3a 0%,#7a9a4a 40%,#8b6914 70%,#6b8c42 100%);border-radius:0 70%;animation-iteration-count:infinite;position:absolute}.hero-snow span.snowflake:first-child{--snow-size:2px;--snow-opacity:.45;--snow-duration:14s;--snow-delay:-2s;animation-name:sn-a;top:-8%;left:18%}.hero-snow span.snowflake:nth-child(2){--snow-size:3px;--snow-opacity:.55;--snow-duration:11s;--snow-delay:-5s;animation-name:sn-b;top:-5%;left:42%}.hero-snow span.snowflake:nth-child(3){--snow-size:1.5px;--snow-opacity:.35;--snow-duration:16s;--snow-delay:-8s;animation-name:sn-c;top:-10%;left:67%}.hero-snow span.snowflake:nth-child(4){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:12s;--snow-delay:-3s;animation-name:sn-a;top:-6%;left:85%}.hero-snow span.snowflake:nth-child(5){--snow-size:2px;--snow-opacity:.4;--snow-duration:15s;--snow-delay:-10s;animation-name:sn-b;top:-9%;left:8%}.hero-snow span.snowflake:nth-child(6){--snow-size:3px;--snow-opacity:.6;--snow-duration:10s;--snow-delay:-1s;animation-name:sn-c;top:-4%;left:55%}.hero-snow span.snowflake:nth-child(7){--snow-size:1.5px;--snow-opacity:.3;--snow-duration:18s;--snow-delay:-12s;animation-name:sn-a;top:-11%;left:30%}.hero-snow span.snowflake:nth-child(8){--snow-size:2px;--snow-opacity:.5;--snow-duration:13s;--snow-delay:-7s;animation-name:sn-b;top:-7%;left:75%}.hero-snow span.snowflake:nth-child(9){--snow-size:2.5px;--snow-opacity:.45;--snow-duration:11s;--snow-delay:-4s;animation-name:sn-c;top:-5%;left:48%}.hero-snow span.snowflake:nth-child(10){--snow-size:1.5px;--snow-opacity:.35;--snow-duration:17s;--snow-delay:-9s;animation-name:sn-a;top:-10%;left:92%}.hero-snow span.snowflake:nth-child(11){--snow-size:2px;--snow-opacity:.55;--snow-duration:12s;--snow-delay:-6s;animation-name:sn-b;top:-6%;left:3%}.hero-snow span.snowflake:nth-child(12){--snow-size:3px;--snow-opacity:.5;--snow-duration:14s;--snow-delay:-11s;animation-name:sn-c;top:-8%;left:60%}.hero-snow span.snowflake:nth-child(13){--snow-size:2px;--snow-opacity:.4;--snow-duration:16s;--snow-delay:-2s;animation-name:sn-a;top:-9%;left:35%}.hero-snow span.snowflake:nth-child(14){--snow-size:1.5px;--snow-opacity:.3;--snow-duration:19s;--snow-delay:-14s;animation-name:sn-b;top:-12%;left:78%}.hero-snow span.snowflake:nth-child(15){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:11s;--snow-delay:-3s;animation-name:sn-c;top:-5%;left:22%}.hero-snow span.snowflake:nth-child(16){--snow-size:2px;--snow-opacity:.45;--snow-duration:15s;--snow-delay:-8s;animation-name:sn-a;top:-7%;left:50%}.hero-snow span.snowflake:nth-child(17){--snow-size:3px;--snow-opacity:.55;--snow-duration:13s;--snow-delay:-5s;animation-name:sn-b;top:-6%;left:10%}.hero-snow span.snowflake:nth-child(18){--snow-size:1.5px;--snow-opacity:.35;--snow-duration:18s;--snow-delay:-13s;animation-name:sn-c;top:-11%;left:88%}.hero-snow span.snowflake:nth-child(19){--snow-size:2px;--snow-opacity:.4;--snow-duration:15s;--snow-delay:-7s;animation-name:sn-a;top:-8%;left:45%}.hero-snow span.snowflake:nth-child(20){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:12s;--snow-delay:-4s;animation-name:sn-b;top:-5%;left:72%}.hero-snow span.snowflake:nth-child(21){--snow-size:1.5px;--snow-opacity:.3;--snow-duration:17s;--snow-delay:-11s;animation-name:sn-c;top:-10%;left:25%}.hero-snow span.snowflake:nth-child(22){--snow-size:3px;--snow-opacity:.55;--snow-duration:11s;--snow-delay:-2s;animation-name:sn-a;top:-4%;left:95%}.hero-snow span.snowflake:nth-child(23){--snow-size:2px;--snow-opacity:.45;--snow-duration:14s;--snow-delay:-9s;animation-name:sn-b;top:-7%;left:58%}.hero-snow span.snowflake:nth-child(24){--snow-size:1.5px;--snow-opacity:.35;--snow-duration:16s;--snow-delay:-6s;animation-name:sn-c;top:-9%;left:3%}.hero-snow span.snowflake:nth-child(25){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:13s;--snow-delay:-10s;animation-name:sn-a;top:-6%;left:82%}.hero-snow span.snowflake:nth-child(26){--snow-size:2px;--snow-opacity:.4;--snow-duration:15s;--snow-delay:-3s;animation-name:sn-b;top:-8%;left:40%}.hero-snow span.snowflake:nth-child(27){--snow-size:3px;--snow-opacity:.6;--snow-duration:10s;--snow-delay:-8s;animation-name:sn-c;top:-5%;left:15%}.hero-snow span.snowflake:nth-child(28){--snow-size:1.5px;--snow-opacity:.3;--snow-duration:19s;--snow-delay:-14s;animation-name:sn-a;top:-12%;left:65%}.hero-snow span.snowflake:nth-child(29){--snow-size:2px;--snow-opacity:.45;--snow-duration:14s;--snow-delay:-1s;animation-name:sn-b;top:-7%;left:50%}.hero-snow span.snowflake:nth-child(30){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:12s;--snow-delay:-12s;animation-name:sn-c;top:-5%;left:78%}.hero-snow span.snowflake:nth-child(31){--snow-size:1.5px;--snow-opacity:.35;--snow-duration:17s;--snow-delay:-5s;animation-name:sn-a;top:-10%;left:20%}.hero-snow span.snowflake:nth-child(32){--snow-size:3px;--snow-opacity:.55;--snow-duration:11s;--snow-delay:-7s;animation-name:sn-b;top:-4%;left:90%}.hero-snow span.snowflake:nth-child(33){--snow-size:2px;--snow-opacity:.4;--snow-duration:16s;--snow-delay:-15s;animation-name:sn-c;top:-9%;left:33%}.hero-snow span.snowflake:nth-child(34){--snow-size:2.5px;--snow-opacity:.5;--snow-duration:13s;--snow-delay:-3s;animation-name:sn-a;top:-6%;left:62%}.hero-snow span.snowflake:nth-child(35){--snow-size:1.5px;--snow-opacity:.3;--snow-duration:18s;--snow-delay:-11s;animation-name:sn-b;top:-11%;left:48%}.hero-snow span.leaf:nth-child(36){--leaf-w:10px;--leaf-h:7px;--leaf-opacity:.6;--leaf-duration:9s;--leaf-delay:-2s;animation-name:lf-a;top:-10%;left:12%}.hero-snow span.leaf:nth-child(37){--leaf-w:8px;--leaf-h:5px;--leaf-opacity:.5;--leaf-duration:11s;--leaf-delay:-6s;animation-name:lf-b;top:-8%;left:55%}.hero-snow span.leaf:nth-child(38){--leaf-w:12px;--leaf-h:8px;--leaf-opacity:.55;--leaf-duration:8s;--leaf-delay:-1s;animation-name:lf-c;top:-12%;left:80%}.hero-snow span.leaf:nth-child(39){--leaf-w:9px;--leaf-h:6px;--leaf-opacity:.45;--leaf-duration:10s;--leaf-delay:-4s;animation-name:lf-a;top:-9%;left:35%}.hero-snow span.leaf:nth-child(40){--leaf-w:11px;--leaf-h:7px;--leaf-opacity:.5;--leaf-duration:12s;--leaf-delay:-8s;animation-name:lf-b;top:-11%;left:68%}.hero-snow span.leaf:nth-child(41){--leaf-w:7px;--leaf-h:5px;--leaf-opacity:.4;--leaf-duration:13s;--leaf-delay:-3s;animation-name:lf-c;top:-7%;left:22%}.hero-snow span.leaf:nth-child(42){--leaf-w:10px;--leaf-h:6px;--leaf-opacity:.55;--leaf-duration:9s;--leaf-delay:-7s;animation-name:lf-a;top:-10%;left:88%}.hero-snow span.leaf:nth-child(43){--leaf-w:8px;--leaf-h:5px;--leaf-opacity:.45;--leaf-duration:11s;--leaf-delay:-5s;animation-name:lf-b;top:-8%;left:42%}.hero-snow span.leaf:nth-child(44){--leaf-w:11px;--leaf-h:7px;--leaf-opacity:.5;--leaf-duration:10s;--leaf-delay:-9s;animation-name:lf-c;top:-12%;left:8%}.hero-snow span.leaf:nth-child(45){--leaf-w:9px;--leaf-h:6px;--leaf-opacity:.55;--leaf-duration:8s;--leaf-delay:-2s;animation-name:lf-a;top:-6%;left:75%}.hero-snow span.leaf:nth-child(46){--leaf-w:12px;--leaf-h:8px;--leaf-opacity:.5;--leaf-duration:12s;--leaf-delay:-10s;animation-name:lf-b;top:-9%;left:52%}.hero-snow span.leaf:nth-child(47){--leaf-w:7px;--leaf-h:5px;--leaf-opacity:.4;--leaf-duration:14s;--leaf-delay:-4s;animation-name:lf-c;top:-11%;left:30%}@keyframes sn-a{0%{opacity:0;transform:translate(0)}4%{opacity:var(--snow-opacity)}10%{transform:translate(12px,10vh)}18%{transform:translate(8px,18vh)}28%{transform:translate(22px,28vh)}36%{transform:translate(15px,36vh)}48%{transform:translate(30px,48vh)}56%{transform:translate(20px,56vh)}68%{transform:translate(35px,68vh)}78%{transform:translate(25px,78vh)}88%{transform:translate(32px,88vh)}95%{opacity:var(--snow-opacity)}to{opacity:0;transform:translate(28px,105vh)}}@keyframes sn-b{0%{opacity:0;transform:translate(0)}5%{opacity:var(--snow-opacity)}12%{transform:translate(-6px,12vh)}22%{transform:translate(4px,22vh)}34%{transform:translate(-10px,34vh)}44%{transform:translate(2px,44vh)}55%{transform:translate(-14px,55vh)}66%{transform:translate(-4px,66vh)}78%{transform:translate(-12px,78vh)}88%{transform:translate(-6px,88vh)}95%{opacity:var(--snow-opacity)}to{opacity:0;transform:translate(-8px,105vh)}}@keyframes sn-c{0%{opacity:0;transform:translate(0)}3%{opacity:var(--snow-opacity)}14%{transform:translate(5px,14vh)}25%{transform:translate(18px,25vh)}35%{transform:translate(10px,35vh)}46%{transform:translate(25px,46vh)}58%{transform:translate(12px,58vh)}70%{transform:translate(28px,70vh)}82%{transform:translate(16px,82vh)}92%{opacity:var(--snow-opacity)}to{opacity:0;transform:translate(20px,105vh)}}@keyframes lf-a{0%{opacity:0;transform:translate(0)rotate(0)}5%{opacity:var(--leaf-opacity)}12%{transform:translate(20px,8vh)rotate(30deg)}24%{transform:translate(8px,18vh)rotate(-10deg)}36%{transform:translate(30px,30vh)rotate(65deg)}48%{transform:translate(15px,42vh)rotate(20deg)}60%{transform:translate(35px,52vh)rotate(90deg)}72%{transform:translate(22px,64vh)rotate(45deg)}84%{transform:translate(38px,76vh)rotate(75deg)}93%{opacity:var(--leaf-opacity)}to{opacity:0;transform:translate(28px,110vh)rotate(55deg)}}@keyframes lf-b{0%{opacity:0;transform:translate(0)rotate(0)}4%{opacity:var(--leaf-opacity)}10%{transform:translate(-15px,6vh)rotate(-25deg)}22%{transform:translate(-28px,16vh)rotate(15deg)}34%{transform:translate(-10px,28vh)rotate(-40deg)}46%{transform:translate(-32px,38vh)rotate(-10deg)}58%{transform:translate(-18px,50vh)rotate(-60deg)}70%{transform:translate(-35px,62vh)rotate(-30deg)}82%{transform:translate(-22px,74vh)rotate(-50deg)}93%{opacity:var(--leaf-opacity)}to{opacity:0;transform:translate(-25px,110vh)rotate(-35deg)}}@keyframes lf-c{0%{opacity:0;transform:translate(0)rotate(0)}6%{opacity:var(--leaf-opacity)}14%{transform:translate(10px,10vh)rotate(20deg)}26%{transform:translate(-8px,22vh)rotate(-30deg)}38%{transform:translate(22px,34vh)rotate(50deg)}50%{transform:translate(5px,44vh)rotate(5deg)}62%{transform:translate(28px,54vh)rotate(70deg)}74%{transform:translate(-5px,66vh)rotate(25deg)}86%{transform:translate(18px,78vh)rotate(55deg)}94%{opacity:var(--leaf-opacity)}to{opacity:0;transform:translate(12px,110vh)rotate(40deg)}}.profile-avatar{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-dotted);background:var(--bg-tertiary);filter:brightness(1.1);border-radius:10px;width:82px;height:82px}.social-button{border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:5px;padding:6px 10px;font-size:11px;transition:color .2s,border-color .2s}.social-button:hover{color:var(--text-primary);border-color:var(--text-muted)}.social-link-wrap{position:relative}.social-link-wrap:after{content:"";z-index:19;width:312px;height:10px;position:absolute;top:100%;left:0}.profile-hover-card{z-index:20;border:1px solid var(--border-dotted);background:var(--bg-secondary);width:312px;box-shadow:var(--card-shadow);opacity:0;visibility:hidden;transform-origin:0 0;pointer-events:none;border-radius:16px;transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),visibility .22s;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;transform:translateY(-8px)scale(.97)}.profile-hover-card:before{content:"";background:var(--bg-secondary);border-left:1px solid var(--border-dotted);border-top:1px solid var(--border-dotted);width:14px;height:14px;position:absolute;top:-7px;left:24px;transform:rotate(45deg)}.social-link-wrap:hover .profile-hover-card,.social-link-wrap:focus-within .profile-hover-card{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.profile-hover-cover{background:linear-gradient(#0000000d,#00000080),url(/images/backgrounds/night-field.jpg) 50%/cover;height:88px}[data-theme=light] .profile-hover-cover{background:linear-gradient(#ffffff1a,#00000026),url(/images/backgrounds/night-field.jpg) 50%/cover}.profile-hover-content{padding:34px 16px 14px;position:relative}.profile-hover-avatar{-o-object-fit:cover;object-fit:cover;border:3px solid var(--bg-secondary);filter:brightness(1.1);border-radius:50%;width:64px;height:64px;position:absolute;top:-32px;left:16px}.profile-hover-name{color:var(--text-primary);font-size:16px;font-weight:700}.profile-hover-name span{color:#fff;background:#2499e8;border-radius:50%;place-items:center;width:15px;height:15px;margin-left:3px;font-size:10px;display:inline-grid}.profile-hover-handle{color:var(--text-muted);margin:1px 0 12px;font:12px ui-monospace,monospace}.profile-hover-bio{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.profile-hover-location{color:var(--text-muted);margin:12px 0;font-size:11px}.profile-hover-stats{border-top:1px solid var(--border-secondary);color:var(--text-muted);gap:16px;padding-top:11px;font-size:11px;display:flex}.profile-hover-stats strong{color:var(--text-primary);font-size:13px}.profile-hover-eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font:10px ui-monospace,monospace}.profile-hover-card.linkedin .profile-hover-name span{background:#0a66c2}.profile-hover-card.leetcode .profile-hover-name span{background:#b65f18}.profile-hover-card.portfolio .profile-hover-name span{background:#7c3aed}.profile-hover-card.linkedin .profile-hover-stats strong{color:#5da8e8}.profile-hover-card.leetcode .profile-hover-stats strong{color:#f89b42}.profile-hover-card.portfolio .profile-hover-stats strong{color:#b79af7}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;width:100%;max-width:780px;margin:0 auto;display:grid}.project-card{border:1px solid var(--border-secondary);background:var(--bg-secondary);width:100%;min-width:0;transform-style:preserve-3d;perspective:800px;border-radius:14px;flex-direction:column;padding:12px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;display:flex}.project-card:hover{border-color:var(--text-muted);box-shadow:var(--card-shadow), 0 0 30px #7878ff0f;transform:translateY(-4px)rotateX(2deg)rotateY(-1deg)}.project-image{background:var(--bg-tertiary);border-radius:10px;width:100%;height:180px;position:relative;overflow:hidden}.project-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;opacity:1;filter:brightness(1.1);width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s,filter .4s;display:block}.project-image img.jobfill-logo{-o-object-fit:contain;object-fit:contain;padding:20px}[data-theme=light] .project-image img{filter:brightness()}.project-image-shade{pointer-events:none;background:linear-gradient(#0000 50%,#00000059);position:absolute;inset:0}.project-card:hover .project-image img{opacity:1;transform:scale(1.06)}.project-card-body{flex-direction:column;flex:1;padding:14px 4px 4px;display:flex}.project-card-body>p:nth-of-type(2){margin-top:auto}.project-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-header h3{color:var(--text-primary);font-family:Fraunces,Georgia,serif}.project-tech-icons{gap:6px;margin-top:auto;padding-top:12px;display:flex}.project-tech-icon{border:1px solid var(--border-secondary);background:var(--bg-tertiary);cursor:default;border-radius:7px;place-items:center;width:28px;height:28px;display:grid;position:relative}.project-tech-icon img{-o-object-fit:contain;object-fit:contain;filter:brightness(1.2);width:14px;height:14px}.project-tech-icon:after{content:attr(data-tip);background:var(--bg-elevated);border:1px solid var(--border-dotted);color:var(--text-secondary);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:5px;padding:4px 8px;font-size:10px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)scale(.9)}.project-tech-icon:hover:after{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.project-link{color:var(--text-dim);align-items:center;gap:4px;margin-top:10px;font-size:12px;transition:color .2s;display:inline-flex}.project-link:hover{color:var(--text-secondary)}.pin-mark{border:1px solid var(--border-dotted);width:30px;height:30px;color:var(--text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111c;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}[data-theme=light] .pin-mark{background:#f0f0f0cc}.activity-heading,.contribution-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.activity-heading h3,.contribution-heading h3{color:var(--text-primary);margin:0;font-family:Fraunces,Georgia,serif;font-size:16px}.activity-heading span{color:var(--text-tertiary);font:11px ui-monospace,monospace}.github-grid-wrap{width:100%;min-height:140px;padding:30px 0 10px;position:relative;overflow:auto visible}.github-grid{grid-template-rows:repeat(7,12px);grid-template-columns:repeat(52,minmax(8px,1fr));grid-auto-flow:column;gap:4px;min-width:500px;display:grid}.github-cell{background:var(--border-secondary);cursor:pointer;border:0;border-radius:3px;width:100%;height:12px;padding:0;transition:transform .15s,filter .15s;position:relative}.github-cell:hover,.github-cell:focus-visible{z-index:10;filter:brightness(1.4);outline:1px solid var(--text-secondary);transform:scale(1.65)}.github-cell.level-0{background:#161b22}.github-cell.level-1{background:#0e4429}.github-cell.level-2{background:#006d32}.github-cell.level-3{background:#26a641}.github-cell.level-4{background:#39d353}[data-theme=light] .github-cell.level-0{background:#ebedf0}[data-theme=light] .github-cell.level-1{background:#9be9a8}[data-theme=light] .github-cell.level-2{background:#40c463}[data-theme=light] .github-cell.level-3{background:#30a14e}[data-theme=light] .github-cell.level-4{background:#216e39}.github-tooltip{z-index:20;border:1px solid var(--border-dotted);background:var(--bg-tertiary);color:var(--text-primary);white-space:nowrap;pointer-events:none;border-radius:5px;gap:8px;padding:7px 9px;font:10px ui-monospace,monospace;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.github-tooltip span{color:var(--text-muted)}.github-loading{color:var(--text-dim);margin:5px 0 0;font:10px ui-monospace,monospace}.activity-legend{color:var(--text-tertiary);justify-content:space-between;margin-bottom:30px;font:10px ui-monospace,monospace;display:flex}.contribution-heading{border-top:1px solid var(--border-primary);padding-top:20px}.tab-switch{border:1px solid var(--border-secondary);border-radius:9px;gap:5px;padding:4px;display:flex}.tab-switch button{color:var(--text-tertiary);text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 11px;font-size:11px}.tab-switch button.active{background:var(--bg-elevated);color:var(--text-primary)}.contribution-row{border-bottom:1px dotted var(--border-primary);align-items:flex-start;gap:11px;padding:13px 0;display:flex}.contribution-row>span{background:#a855f7;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.certification-viewport{margin-right:-20px;padding-bottom:8px;overflow:hidden}.certification-rail{gap:10px;width:max-content;animation:30s linear infinite certification-marquee;display:flex}.certification-viewport:hover .certification-rail{animation-play-state:paused}.certification-card{border:1px solid var(--border-secondary);background:var(--bg-primary);border-radius:9px;width:205px;min-height:0;padding:8px;transition:border-color .25s,transform .25s;display:block}.certification-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.certification-image{background:radial-gradient(circle at 50% 35%, var(--bg-elevated), var(--bg-tertiary) 72%);border-radius:5px;place-items:center;width:100%;height:130px;display:grid;position:relative}.certification-image img{-o-object-fit:contain;object-fit:contain;filter:brightness(1.2);width:54px;height:54px}.certification-card .info-copy{min-width:0;margin-top:10px}.certification-card .certification-link{font-size:12px;line-height:1.35}.certification-card .info-copy p{font-size:11px}.certification-card time{color:var(--text-muted);white-space:nowrap;margin-top:8px;font:11px ui-monospace,monospace;display:block}.certification-link{color:var(--text-primary);align-items:center;gap:4px;font-size:14px;font-weight:700;transition:color .2s;display:inline-flex}.certification-link:hover{color:var(--text-secondary)}.certification-monogram{border:1px solid var(--text-muted);width:54px;height:54px;color:var(--text-secondary);letter-spacing:.04em;border-radius:12px;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute}@keyframes certification-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 5px))}}.highlight-viewport{margin-right:-20px;padding-bottom:12px;overflow:hidden}.highlight-rail{gap:10px;width:max-content;animation:24s linear infinite highlight-marquee;display:flex}.highlight-viewport:hover .highlight-rail{animation-play-state:paused}.highlight-card{border:1px solid var(--border-secondary);background:var(--bg-primary);border-radius:9px;flex:0 0 205px;padding:8px}.highlight-card img{-o-object-fit:cover;object-fit:cover;opacity:1;filter:brightness(1.1);border-radius:5px;width:100%;height:130px}.highlight-card span{background:var(--bg-elevated);color:var(--text-muted);border-radius:4px;margin-top:10px;padding:4px 7px;font:10px ui-monospace,monospace;display:inline-block}.highlight-card h3{color:var(--text-primary);margin:8px 2px 3px;font-family:Fraunces,Georgia,serif;font-size:13px;line-height:1.45}.highlight-card:hover{border-color:var(--text-muted)}@keyframes highlight-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 5px))}}.leetcode-section{background:#00000029;flex-direction:column;gap:12px;display:flex}[data-theme=light] .leetcode-section{background:#0000000a}.leetcode-panel{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffff05}[data-theme=light] .leetcode-panel{box-shadow:inset 0 1px #0000000a}.leetcode-profile{align-items:center;gap:12px;display:flex}.leetcode-mark{color:#c8792d;background:#17100a;border:1px solid #4d3018;border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}[data-theme=light] .leetcode-mark{color:#b65f18;background:#fef3e2}.leetcode-panel h3{color:var(--text-primary);margin:5px 0 2px;font-family:Fraunces,Georgia,serif;font-size:18px}.leetcode-link{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.leetcode-link:hover{color:var(--text-primary)}.leetcode-overview{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:8px;grid-template-columns:1fr 1.5fr;gap:18px;padding:16px;display:grid}.leetcode-total{flex-direction:column;display:flex}.leetcode-total strong{color:var(--text-primary);font-size:32px;line-height:1;display:block}.leetcode-total span{color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.leetcode-total small{color:var(--text-dim);margin-top:7px;font:10px ui-monospace,monospace;display:block}.leetcode-progress{background:var(--border-primary);border-radius:99px;height:6px;margin-top:13px;overflow:hidden}.leetcode-progress i{border-radius:inherit;background:#9a5d26;height:100%;transition:width .8s;display:block}.leetcode-difficulty{gap:10px;display:grid}.difficulty-row{flex-direction:column;gap:4px;display:flex}.difficulty-row>div:first-child{color:var(--text-muted);align-items:baseline;gap:3px;font:11px ui-monospace,monospace;display:flex}.difficulty-row strong{color:var(--text-secondary);margin-left:auto;font-size:12px}.difficulty-row small{color:var(--text-dim)}.difficulty-bar{background:var(--border-primary);border-radius:99px;height:6px;overflow:hidden}.difficulty-bar i{border-radius:inherit;height:100%;transition:width .8s;display:block}.difficulty-bar.easy i{background:#27834a}.difficulty-bar.medium i{background:#a46b1c}.difficulty-bar.hard i{background:#a33d3d}.leetcode-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.leetcode-stats div{border:1px solid var(--border-primary);background:var(--bg-tertiary);text-align:center;border-radius:6px;padding:12px 10px}.leetcode-stats strong,.leetcode-stats span{display:block}.leetcode-stats strong{color:var(--text-primary);font-size:20px}.leetcode-stats span{color:var(--text-muted);margin-top:3px;font:10px ui-monospace,monospace}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1023px){.index-nav{display:none}}@media (width>=641px) and (width<=1023px){.portfolio-shell{border:0;width:100%;padding:0 20px}.project-grid{grid-template-columns:repeat(2,1fr);gap:16px;max-width:none}.leetcode-overview{grid-template-columns:1fr 1.2fr}}@media (width<=640px){.portfolio-shell{box-sizing:border-box;border:0;width:100%;padding:0 14px}.portfolio-shell>main{overflow-x:visible}.index-nav{display:none}.content-section{border-bottom:1px dotted var(--border-primary);padding:20px 0;overflow-x:hidden}.hero-cover{width:calc(100% + 28px);height:90px;margin-left:-14px}.hero-pixel-clock{letter-spacing:2px;padding:3px 6px;font-size:9px;bottom:6px;right:10px}.hero-name{color:#111;text-shadow:none}[data-theme=dark] .hero-name{color:#fff;text-shadow:0 1px 4px #00000080}.hero-subtitle{color:#111;text-shadow:none}[data-theme=dark] .hero-subtitle{color:#fff;text-shadow:0 1px 3px #00000080}.profile-avatar{border-radius:8px;width:56px;height:56px}header{padding:0}header h1{margin:0;font-size:18px}header>div:last-of-type{gap:10px}header>div:last-of-type>div{padding-bottom:0}header>div:last-of-type>div>p:last-child{font-size:11px}header>p{margin-top:16px;font-size:12px;line-height:1.5}header ul{margin-top:12px;font-size:11px;line-height:1.5}header ul li{margin-bottom:2px}.mt-5.flex.items-center{margin-top:16px}.social-button{padding:7px 10px;font-size:11px}a.inline-flex.items-center.gap-2{border-radius:6px;align-items:center;gap:6px;font-weight:500;color:var(--text-primary)!important;background-color:var(--bg-secondary)!important;padding:8px 14px!important;font-size:12px!important;display:inline-flex!important}a.inline-flex.items-center.gap-2 svg{flex-shrink:0;width:14px;height:14px}.project-grid{grid-template-columns:1fr;gap:16px;width:100%;max-width:none}.project-card{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:12px;padding:10px}.project-card:hover{border-color:var(--text-muted)}.project-image{border-radius:10px;height:170px}.project-image img{-o-object-fit:contain;object-fit:contain;padding:14px}.project-card:hover .project-image img{transform:scale(1.03)}.project-card-body{padding:10px 2px 2px}.project-header h3{font-size:14px}.project-tech-icons{gap:5px}.project-tech-icon{border-radius:6px;width:24px;height:24px}.project-tech-icon img{width:12px;height:12px}.project-tech-icon:after{padding:3px 6px;font-size:9px}.project-link{margin-top:8px;font-size:11px}.pin-mark{border-radius:6px;width:26px;height:26px;font-size:12px;top:8px;right:8px}.experience-list{border-top:1px solid var(--border-primary)}.experience-row{border-bottom:1px solid var(--border-primary);padding:0}.experience-toggle{grid-template-columns:34px minmax(0,1fr) 14px;gap:8px;padding:12px 0}.experience-mark{width:30px;height:30px;font-size:14px}.experience-copy h3{font-size:13px}.experience-copy p{font-size:11px}.experience-meta{display:none}.experience-details{margin-left:42px;font-size:11px;line-height:1.5}.experience-details li{margin-top:4px}.education-timeline{border-top:1px dotted var(--border-primary);padding-left:14px}.info-row{border-bottom:1px dotted var(--border-primary);grid-template-columns:1fr auto;gap:8px;padding:10px 0}.info-row time{font-size:10px}.info-copy h3{font-size:12px}.info-copy p{font-size:11px}.info-copy>span{font-size:10px}.education-item .info-row{padding-left:12px}.leetcode-section{background:0 0}.leetcode-panel{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.leetcode-profile{gap:10px}.leetcode-mark{width:36px;height:36px;font-size:11px}.leetcode-panel h3{font-size:15px}.leetcode-overview{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:10px;grid-template-columns:1fr;gap:14px;padding:12px}.leetcode-total strong{font-size:26px}.leetcode-total span{font-size:11px}.leetcode-progress{margin-top:10px}.leetcode-difficulty{gap:7px}.difficulty-bar{height:3px}.leetcode-stats{grid-template-columns:repeat(2,1fr);gap:6px}.leetcode-stats div{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:8px;padding:10px 8px}.leetcode-stats strong{font-size:18px}.space-y-5>div{margin-bottom:14px}.text-xs.font-mono.text-theme-600{margin-bottom:6px;font-size:10px}.flex.flex-wrap.gap-2{gap:6px}.inline-flex.items-center.gap-2{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:6px;padding:5px 10px;font-size:11px}.inline-flex.items-center.gap-2 img{width:12px;height:12px}.certification-viewport{-webkit-overflow-scrolling:touch;max-width:100%;margin-right:0;padding-bottom:10px;overflow-x:auto}.certification-rail{gap:8px;animation-duration:25s}.certification-card{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:10px;width:150px;min-width:150px;padding:8px}.certification-image{border-radius:8px;height:80px}.certification-image img{width:36px;height:36px}.certification-card .certification-link{font-size:10px}.certification-card .info-copy p{font-size:9px}.certification-card time{margin-top:4px;font-size:8px}.github-grid-wrap{-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:8px;overflow-x:auto}.github-grid{gap:2px;min-width:380px}.github-cell{border-radius:2px;height:8px}.activity-heading span{display:none}.activity-heading h3,.contribution-heading h3{font-size:14px}.contribution-heading{border-top:1px solid var(--border-primary);flex-direction:column;align-items:flex-start;gap:10px;padding-top:16px}.contribution-heading .tab-switch{border:1px solid var(--border-primary);border-radius:8px;align-self:stretch}.tab-switch button{padding:6px 10px;font-size:10px}.contribution-row{border-bottom:1px solid var(--border-primary);gap:8px;padding:10px 0}.contribution-row>span{width:6px;height:6px;margin-top:5px}.activity-legend{margin-bottom:20px;font-size:9px}.highlight-viewport{-webkit-overflow-scrolling:touch;max-width:100%;margin-right:0;padding-bottom:10px;overflow-x:auto}.highlight-rail{gap:8px;animation-duration:20s}.highlight-card{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:10px;width:160px;min-width:160px;padding:8px}.highlight-card img{border-radius:8px;height:100px}.highlight-card span{background:var(--bg-elevated);border-radius:4px;margin-top:6px;padding:3px 5px;font-size:8px}.highlight-card h3{margin:5px 2px 2px;font-size:10px}.profile-hover-card{display:none}.social-link-wrap{cursor:pointer}.social-link-wrap.active .profile-hover-card{width:min(260px,100vw - 40px);display:block;left:50%;transform:translate(-50%,8px)}.profile-hover-card:before{margin-left:-7px;left:50%}blockquote{margin:30px 0 16px;font-size:13px;line-height:1.4}blockquote cite{margin-top:12px;font-size:9px}.portfolio-footer{padding:16px 0;font-size:10px}}.cmd-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-start;padding-top:15vh;animation:.15s cmd-fade-in;display:flex;position:fixed;inset:0}[data-theme=light] .cmd-overlay{background:#0000004d}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}.cmd-modal{border:1px solid var(--border-dotted);background:var(--bg-secondary);border-radius:14px;width:100%;max-width:480px;animation:.2s cubic-bezier(.22,1,.36,1) cmd-slide-up;overflow:hidden;box-shadow:0 25px 80px #0009}@keyframes cmd-slide-up{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-input-wrap{border-bottom:1px solid var(--border-primary);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmd-search-icon{color:var(--text-muted);flex-shrink:0}.cmd-input{color:var(--text-primary);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:14px}.cmd-input::placeholder{color:var(--text-dim)}.cmd-kbd{border:1px solid var(--border-dotted);background:var(--bg-tertiary);color:var(--text-muted);border-radius:4px;padding:2px 6px;font:10px ui-monospace,monospace}.cmd-list{max-height:300px;padding:6px;overflow-y:auto}.cmd-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;transition:background .1s;display:flex}.cmd-item:hover,.cmd-item.selected{background:var(--bg-elevated);color:var(--text-primary)}.cmd-item-type{text-align:center;width:20px;color:var(--text-muted);flex-shrink:0;font-size:12px}.cmd-item-arrow{color:var(--text-dim);margin-left:auto}.cmd-empty{text-align:center;color:var(--text-dim);padding:20px;font-size:13px}.cmd-footer{border-top:1px solid var(--border-primary);color:var(--text-dim);gap:16px;padding:10px 16px;font:11px ui-monospace,monospace;display:flex}.cmd-footer kbd{border:1px solid var(--border-dotted);background:var(--bg-tertiary);border-radius:3px;margin-right:4px;padding:1px 4px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text,.skeleton-icon{background:linear-gradient(90deg, var(--skeleton-bg) 25%, var(--skeleton-shine) 50%, var(--skeleton-bg) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-icon{border-radius:6px;flex-shrink:0;width:28px;height:28px}.skeleton-text{height:12px}.skeleton-text.w-1\/2{width:50%}.skeleton-text.w-1\/3{width:33%}.skeleton-text.w-2\/3{width:66%}.skeleton-text.w-3\/4{width:75%}.skeleton-text-group{flex-direction:column;flex:1;gap:6px;display:flex}.feed-skeleton{border-bottom:1px dotted var(--border-primary);align-items:center;gap:10px;padding:10px 0;display:flex}.streak-skeleton{gap:16px;padding:16px 0;display:flex}.streak-skeleton .skeleton-text{height:20px}.activity-feed{margin-top:10px}.feed-item{border-bottom:1px dotted var(--border-primary);align-items:flex-start;gap:10px;padding:10px 0;animation:.3s cubic-bezier(.22,1,.36,1) both feed-slide-in;display:flex}.feed-item:first-child{animation-delay:50ms}.feed-item:nth-child(2){animation-delay:.1s}.feed-item:nth-child(3){animation-delay:.15s}.feed-item:nth-child(4){animation-delay:.2s}.feed-item:nth-child(5){animation-delay:.25s}@keyframes feed-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.feed-icon{border:1px solid var(--border-dotted);background:var(--bg-tertiary);width:26px;height:26px;color:var(--text-muted);border-radius:6px;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.feed-content{flex:1;min-width:0}.feed-message{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:1.4;overflow:hidden}.feed-repo{color:var(--text-dim);margin:3px 0 0;font:10px ui-monospace,monospace}.streak-container{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:8px;margin-top:12px;padding:14px 16px}.streak-stats-row{gap:20px;margin-bottom:14px;display:flex}.streak-stat{align-items:center;gap:8px;display:flex}.streak-fire{font-size:18px}.streak-stat div{flex-direction:column;display:flex}.streak-stat strong{color:var(--text-primary);font-size:16px}.streak-stat span{color:var(--text-muted);font:10px ui-monospace,monospace}.streak-calendar{gap:3px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.streak-week{flex-direction:column;flex:1;gap:3px;display:flex}.streak-cell{aspect-ratio:1;border-radius:2px;flex-shrink:0;width:100%;min-width:0;transition:transform .15s,filter .15s}.streak-cell:hover{filter:brightness(1.3);outline:1px solid var(--text-muted);transform:scale(1.6)}.streak-cell.level-0{background:#161b22}.streak-cell.level-1{background:#0e4429}.streak-cell.level-2{background:#006d32}.streak-cell.level-3{background:#26a641}.streak-cell.level-4{background:#39d353}[data-theme=light] .streak-cell.level-0{background:#ebedf0}[data-theme=light] .streak-cell.level-1{background:#9be9a8}[data-theme=light] .streak-cell.level-2{background:#40c463}[data-theme=light] .streak-cell.level-3{background:#30a14e}[data-theme=light] .streak-cell.level-4{background:#216e39}.streak-legend{color:var(--text-dim);align-items:center;gap:4px;margin-top:10px;font:10px ui-monospace,monospace;display:flex}.streak-no-data{color:var(--text-dim);text-align:center;padding:10px 0;font:11px ui-monospace,monospace}.text-theme-50,.text-theme-100{color:var(--text-primary)}.text-theme-200,.text-theme-300{color:var(--text-secondary)}.text-theme-400{color:var(--text-tertiary)}.text-theme-500,.text-theme-600{color:var(--text-muted)}.text-theme-700,.text-theme-800{color:var(--text-dim)}.border-theme-800,.border-theme-50{border-color:var(--border-primary)}.theme-toggle{border:1px solid var(--border-primary);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,border-color .2s,background .2s;display:flex}.theme-toggle:hover{color:var(--text-primary);border-color:var(--text-muted);background:var(--bg-elevated)}.theme-toggle svg{width:16px;height:16px}.section-heading-wrap{align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading-wrap h3{color:var(--text-primary);margin:0;font-family:Fraunces,Georgia,serif;font-size:16px}.section-badge{background:var(--bg-elevated);color:var(--text-muted);border-radius:4px;padding:2px 8px;font:10px ui-monospace,monospace}blockquote{text-align:center;color:var(--text-muted);margin:82px 0 30px;font-family:Fraunces,Georgia,serif;font-size:16px;font-style:italic;line-height:1.5}blockquote cite{color:var(--text-dim);text-transform:uppercase;letter-spacing:.18em;margin-top:18px;font:10px ui-monospace,monospace;display:block}.highlight-card,.experience-row,.social-button{transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s,background-color .35s}.bg-amber-400\/10{background:#fbbf2414}.text-amber-400{color:#a78bfa}.border-amber-400\/30{border-color:#a78bfa4d}.bg-emerald-400\/10{background:#10b98114}.text-emerald-400{color:#34d399}.border-emerald-400\/30{border-color:#34d3994d}.text-red{color:#fb7185}.bg-red-400\/10{background:#fb718514}.text-red-400{color:#fb7185}.border-red-400\/30{border-color:#fb71854d}button,a{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=641px) and (width<=1023px){.portfolio-shell{border:0;width:100%;padding:0 20px}.hero-cover{width:calc(100% + 80px);margin-left:-40px}.project-grid{grid-template-columns:repeat(2,1fr);gap:16px;max-width:none}.leetcode-overview{grid-template-columns:1fr 1.2fr}}
