@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Share+Tech+Mono&display=swap";/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@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;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--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;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}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.z-\[140\]{z-index:140}.mx-auto{margin-inline:auto}.contents{display:contents}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3\.5{gap:calc(var(--spacing)*3.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.scroll-smooth{scroll-behavior:smooth}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-terminal-grid\/80{border-color:var(--terminal-grid)}@supports (color:color-mix(in lab,red,red)){.border-terminal-grid\/80{border-color:color-mix(in oklab,var(--terminal-grid)80%,transparent)}}.px-5{padding-inline:calc(var(--spacing)*5)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-12{padding-top:calc(var(--spacing)*12)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-terminal-muted{color:var(--terminal-muted)}.text-terminal-text{color:var(--terminal-text)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[0_8px_20px_rgb\(0_0_0_\/_42\%\)\]{--tw-shadow:0 8px 20px var(--tw-shadow-color,#0000006b);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:pt-16{padding-top:calc(var(--spacing)*16)}.sm\:pb-28{padding-bottom:calc(var(--spacing)*28)}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media(min-width:48rem){.md\:ml-auto{margin-left:auto}.md\:flex{display:flex}.md\:hidden{display:none}}@media(min-width:64rem){.lg\:inline{display:inline}}}:root{color-scheme:dark only;--color-bg-canvas:#090c0a;--color-surface-1:#0f1511;--color-surface-2:#131a16;--color-surface-3:#18211c;--color-grid-soft:#1f2e27;--color-text-strong:#e2eee6;--color-text-muted:#a3afa6;--color-accent-primary:#63ffa8;--color-accent-secondary:#58b7ff;--color-accent-warn:#ffcd70;--font-body-mono:"IBM Plex Mono","JetBrains Mono","Courier New",monospace;--font-display-mono:"Share Tech Mono","JetBrains Mono","Courier New",monospace;--font-size-step--1:.86rem;--font-size-step-0:1rem;--font-size-step-1:1.12rem;--font-size-step-2:clamp(1.5rem,3.1vw,2.1rem);--font-size-step-3:clamp(2.1rem,5.2vw,3.2rem);--line-tight:1.2;--line-normal:1.62;--line-relaxed:1.76;--space-unit:.5rem;--space-hero-break:clamp(4.8rem,8.6vw,6.9rem);--space-section-primary:clamp(4.2rem,7.2vw,5.8rem);--space-section-secondary:clamp(3.6rem,6.2vw,5rem);--space-card-gap:clamp(1.1rem,1.8vw,1.4rem);--z-content:47;--fx-scanline-opacity:.5;--fx-flicker-opacity:.09;--fx-beam-opacity:.9;--fx-static-opacity:.8;--fx-aurora-opacity:.78;--fx-blob-opacity:.36;--fx-crt-screen-opacity:.48;--fx-glitch-opacity:.06;--fx-chroma-opacity:.08;--terminal-bg:var(--color-bg-canvas);--terminal-surface:var(--color-surface-1);--terminal-surface-2:var(--color-surface-2);--terminal-grid:var(--color-grid-soft);--terminal-text:var(--color-text-strong);--terminal-muted:var(--color-text-muted);--terminal-accent:var(--color-accent-primary);--terminal-accent-blue:var(--color-accent-secondary);--terminal-amber:var(--color-accent-warn);--shader-mx:50%;--shader-my:38%;--shader-click-x:50%;--shader-click-y:50%;--shader-click:0;--shader-angle:0deg}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body-mono);font-size:17px;line-height:var(--line-normal);background:radial-gradient(1400px circle at 15% -12%,#58b7ff29,transparent 52%),radial-gradient(1200px circle at 84% 0%,#63ffa81f,transparent 48%),var(--terminal-bg);position:relative}.shader-stack{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.shader-layer{transform-origin:50%;will-change:transform,opacity,background-position;position:absolute;inset:-14%}.shader-aurora{background:radial-gradient(30% 28% at var(--shader-mx)var(--shader-my),#63ffa82e,transparent 72%),radial-gradient(72% 58% at calc(var(--shader-mx) - 34%)calc(var(--shader-my) - 36%),#58b7ff29,transparent 70%),radial-gradient(68% 54% at calc(var(--shader-mx) + 36%)calc(var(--shader-my) - 35%),#63ffa82e,transparent 72%),radial-gradient(46% 40% at 53% 94%,#4382622e,transparent 78%);opacity:var(--fx-aurora-opacity);animation:24s ease-in-out infinite alternate shader-aurora-drift;inset:-18%}.shader-color-blob{background:radial-gradient(36% 34% at calc(var(--shader-mx) - 24%)calc(var(--shader-my) + 22%),#58b7ff38,transparent 66%),radial-gradient(34% 32% at calc(var(--shader-mx) + 26%)calc(var(--shader-my) + 18%),#63ffa833,transparent 67%),radial-gradient(20% 20% at 54% 18%,#ffcd701a,transparent 74%);mix-blend-mode:screen;filter:blur(34px)saturate(118%);opacity:var(--fx-blob-opacity);animation:30s ease-in-out infinite shader-blob-float}.shader-crt-screen{mix-blend-mode:soft-light;opacity:var(--fx-crt-screen-opacity);background:radial-gradient(120% 88% at 50% 46%,#0000 52%,#0000007a 84%,#000000b8),repeating-linear-gradient(#ffffff03 0 1px,#0003 1px 3px);animation:12s linear infinite shader-crt-roll;inset:0}.shader-small-glitch{mix-blend-mode:screen;opacity:var(--fx-glitch-opacity);background:repeating-linear-gradient(90deg,#0000 0 34px,#58b7ff0d 34px 35px,#0000 35px 68px,#63ffa80a 68px 69px,#0000 69px 104px);animation:5.8s steps(18,end) infinite shader-glitch-jump;inset:0}.shader-small-glitch:before{content:"";opacity:.45;background:linear-gradient(#0000,#63ffa800 12%,#63ffa824 48%,#58b7ff24 58%,#63ffa800);height:8%;animation:7.4s linear infinite shader-glitch-band;position:absolute;top:-8%;left:0;right:0}.shader-chroma-flow{background:radial-gradient(circle at var(--shader-click-x)var(--shader-click-y),rgb(99 255 168/calc(var(--shader-click)*.45)),transparent 20%),radial-gradient(circle at var(--shader-click-x)var(--shader-click-y),rgb(88 183 255/calc(var(--shader-click)*.25)),transparent 34%),conic-gradient(from var(--shader-angle)at var(--shader-mx)var(--shader-my),#58b7ff1a,transparent 26%,#63ffa81f 44%,transparent 62%,#ffcd7014 74%,transparent 88%,#58b7ff1a);mix-blend-mode:color-dodge;filter:blur(42px)saturate(110%);opacity:var(--fx-chroma-opacity);animation:18s linear infinite shader-chroma-spin;inset:-12%}.crt-body:before{content:"";pointer-events:none;z-index:24;opacity:var(--fx-scanline-opacity);background:repeating-linear-gradient(#0000 0 1px,#0000008c 1px 2.5px,#0000 2.5px 3.5px) 0 0/100% 3.5px;animation:10s linear infinite scanline-scroll;position:fixed;inset:-100% 0}.crt-body:after{display:none}.crt-screen{z-index:0;min-height:100vh;position:relative}.crt-screen:before,.crt-screen:after{display:none}.skip-link{z-index:10000;border:1px solid var(--terminal-accent);color:var(--terminal-accent);background:#07120d;border-radius:.45rem;padding:.45rem .7rem;text-decoration:none;position:absolute;top:-48px;left:10px}.skip-link:focus{top:10px}#scrollProgress{z-index:320;background:linear-gradient(90deg,var(--terminal-accent),var(--terminal-accent-blue));width:0;height:2px;position:fixed;top:0;left:0}.brand,.menu-toggle,.effects-toggle,.nav-link,.mobile-nav-link,.terminal-line,.hero-name,.hero-meta,.terminal-btn,.terminal-k,.section-index,.section-title,.entry-title,.entry-subtitle,.entry-period,.project-link,.pill,.toast{font-family:var(--font-display-mono)}.brand{letter-spacing:.02em;text-shadow:0 0 10px #63ffa821}.topbar-strong{isolation:isolate;border-bottom:1px solid var(--terminal-accent);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.topbar-strong{border-bottom:1px solid color-mix(in srgb,var(--terminal-accent)20%,var(--terminal-grid)80%)}}.topbar-strong{background:var(--terminal-bg)}@supports (color:color-mix(in lab,red,red)){.topbar-strong{background:color-mix(in srgb,var(--terminal-bg)94%,black 6%)}}.topbar-strong{-webkit-backdrop-filter:blur(11px)}.topbar-strong .brand-prompt{color:var(--terminal-accent);text-shadow:0 0 14px #63ffa847}.topbar-strong .brand-dir,.topbar-strong .brand-cmd{color:var(--terminal-text)}.topbar-strong .brand-cursor{color:var(--terminal-accent-blue);text-shadow:0 0 11px #58b7ff40}.brand-prompt{color:var(--terminal-accent)}.brand-dir{color:var(--terminal-text)}@supports (color:color-mix(in lab,red,red)){.brand-dir{color:color-mix(in srgb,var(--terminal-text)88%,var(--terminal-muted)12%)}}.brand-cmd{color:var(--terminal-text)}@supports (color:color-mix(in lab,red,red)){.brand-cmd{color:color-mix(in srgb,var(--terminal-text)90%,var(--terminal-accent-blue)10%)}}.brand-cursor{color:var(--terminal-accent-blue);animation:1.2s step-end infinite blink}.menu-toggle,.effects-toggle{z-index:var(--z-content);border:1px solid var(--terminal-grid);background:var(--terminal-surface-2);border-radius:.45rem;position:relative}@supports (color:color-mix(in lab,red,red)){.menu-toggle,.effects-toggle{background:color-mix(in srgb,var(--terminal-surface-2)96%,black 4%)}}.menu-toggle,.effects-toggle{color:var(--terminal-text);font-size:var(--font-size-step--1);letter-spacing:.02em;padding:.38rem .62rem;transition:border-color .2s,color .2s,background-color .2s}.effects-toggle{min-width:6.3rem}.menu-toggle:hover,.effects-toggle:hover{border-color:var(--terminal-accent)}@supports (color:color-mix(in lab,red,red)){.menu-toggle:hover,.effects-toggle:hover{border-color:color-mix(in srgb,var(--terminal-accent)45%,var(--terminal-grid)55%)}}.menu-toggle:hover,.effects-toggle:hover{color:#f3fff8}.effects-toggle[aria-pressed=true]{border-color:var(--terminal-accent-blue)}@supports (color:color-mix(in lab,red,red)){.effects-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--terminal-accent-blue)52%,var(--terminal-grid)48%)}}.effects-toggle[aria-pressed=true]{color:var(--terminal-accent-blue);background:var(--terminal-accent-blue)}@supports (color:color-mix(in lab,red,red)){.effects-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--terminal-accent-blue)10%,var(--terminal-surface-2)90%)}}.mobile-menu{z-index:var(--z-content);background:var(--terminal-bg);position:relative}@supports (color:color-mix(in lab,red,red)){.mobile-menu{background:color-mix(in srgb,var(--terminal-bg)95%,black 5%)}}.mobile-menu{-webkit-backdrop-filter:blur(11px)}.mobile-nav-link{color:var(--terminal-text)}@supports (color:color-mix(in lab,red,red)){.mobile-nav-link{color:color-mix(in srgb,var(--terminal-text)95%,var(--terminal-muted)5%)}}.mobile-nav-link{text-decoration:none}.mobile-nav-link:hover{color:var(--terminal-accent)}.nav-link{color:var(--terminal-text);align-items:center;gap:.22rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.nav-link{color:color-mix(in srgb,var(--terminal-text)95%,var(--terminal-muted)5%)}}.nav-link{text-shadow:0 0 6px #63ffa81a;font-size:.96rem;text-decoration:none;transition:color .2s,text-shadow .2s}.nav-link:before{content:">";color:#0000;transition:color .2s}.nav-link:after{content:"";opacity:0;transform-origin:0;background:linear-gradient(90deg,var(--terminal-accent),var(--terminal-accent-blue));border-radius:999px;height:2px;transition:transform .22s,opacity .22s;position:absolute;bottom:-.38rem;left:0;right:0;transform:scaleX(.45)}.nav-link:hover,.nav-link.active{color:#f4fff9;text-shadow:0 0 10px #63ffa83d}.nav-link:hover:before,.nav-link.active:before{color:var(--terminal-accent)}.nav-link:hover:after,.nav-link.active:after{opacity:1;transform:scaleX(1)}.hero-panel{z-index:var(--z-content);border:1px solid var(--terminal-grid);position:relative}@supports (color:color-mix(in lab,red,red)){.hero-panel{border:1px solid color-mix(in srgb,var(--terminal-grid)84%,var(--terminal-accent)16%)}}.hero-panel{background:linear-gradient(152deg,var(--color-surface-3),var(--color-surface-1));background-clip:padding-box;border-radius:.95rem;padding:1.6rem;overflow:hidden;box-shadow:inset 0 1px #63ffa81c,0 20px 40px #00000040}@media(min-width:640px){.hero-panel{padding:2.35rem}}.hero-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media(min-width:900px){.hero-grid{grid-template-columns:1.55fr .8fr;gap:2rem}}.hero-main{min-width:0}.terminal-line{color:var(--terminal-accent);font-size:var(--font-size-step--1);letter-spacing:.04em;text-transform:lowercase;margin:0;line-height:1.35}.hero-name{line-height:var(--line-tight);font-weight:500;font-size:var(--font-size-step-3);letter-spacing:.02em;color:#f2fff8;margin:.65rem 0 0}.hero-meta{color:var(--terminal-blue);letter-spacing:.01em;margin:.8rem 0 0;font-size:.95rem;line-height:1.5}.hero-about{color:var(--terminal-text);max-width:64ch;font-size:var(--font-size-step-0);line-height:var(--line-relaxed);margin:1.5rem 0 0}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.terminal-btn{border:1px solid var(--terminal-grid);background:var(--terminal-surface);color:var(--terminal-text);background-clip:padding-box;border-radius:.45rem;justify-content:center;align-items:center;padding:.56rem .92rem;font-size:.92rem;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:inline-flex;overflow:hidden}.terminal-btn:hover{border-color:var(--terminal-accent);color:#eefff4;transform:translateY(-1px)}.terminal-btn:active{border-color:var(--terminal-accent);background:var(--terminal-accent);transform:translateY(1px)scale(.97)}@supports (color:color-mix(in lab,red,red)){.terminal-btn:active{background:color-mix(in srgb,var(--terminal-accent)15%,var(--terminal-surface)85%)}}.terminal-btn:active{transition-duration:50ms;box-shadow:inset 0 1px 4px #0000004d,0 0 8px #63ffa826}.terminal-btn.btn-copied{border-color:var(--terminal-accent);color:var(--terminal-accent);background:var(--terminal-accent)}@supports (color:color-mix(in lab,red,red)){.terminal-btn.btn-copied{background:color-mix(in srgb,var(--terminal-accent)10%,var(--terminal-surface)90%)}}.terminal-btn.btn-copied{box-shadow:0 0 12px #63ffa833}.hero-side{z-index:var(--z-content);border:1px solid var(--terminal-grid);background:var(--color-surface-2);border-radius:.8rem;padding:1.35rem;position:relative}@supports (color:color-mix(in lab,red,red)){.hero-side{background:color-mix(in srgb,var(--color-surface-2)85%,var(--color-surface-3)15%)}}.hero-side{text-align:center;background-clip:padding-box;flex-direction:column;align-items:center;display:flex;overflow:hidden}.profile-image{aspect-ratio:1;object-fit:cover;border:1px solid var(--terminal-accent);border-radius:.72rem;width:100%;max-width:200px}@supports (color:color-mix(in lab,red,red)){.profile-image{border:1px solid color-mix(in srgb,var(--terminal-accent)45%,var(--terminal-grid)55%)}}.profile-image{filter:contrast(1.04)saturate(.92);margin-bottom:1.35rem;box-shadow:0 4px 20px #0006,0 0 15px #63ffa814}.hero-side-block+.hero-side-block{margin-top:1.15rem}.hero-side-block{width:100%}.hero-side-block p{overflow-wrap:anywhere;word-break:normal;margin:0;font-size:.92rem;line-height:1.5}.terminal-k{color:var(--terminal-muted);font-size:var(--font-size-step--1);margin-bottom:.2rem}.section-title-wrap{align-items:baseline;gap:.85rem;margin-bottom:1.7rem;display:flex}.section-index{color:var(--terminal-accent);margin:0;font-size:.9rem}.section-title{font-size:var(--font-size-step-2);letter-spacing:.02em;color:#ecfff4;line-height:var(--line-tight);margin:0}.terminal-stack{gap:var(--space-card-gap);flex-direction:column;display:flex}.project-grid,.skills-grid{gap:var(--space-card-gap);display:grid}@media(min-width:980px){.project-grid,.skills-grid{grid-template-columns:1fr 1fr}}.terminal-card{z-index:var(--z-content);border:1px solid var(--terminal-grid);position:relative}@supports (color:color-mix(in lab,red,red)){.terminal-card{border:1px solid color-mix(in srgb,var(--terminal-grid)88%,var(--terminal-accent)12%)}}.terminal-card{background:linear-gradient(168deg,var(--color-surface-3),var(--color-surface-1));border-radius:.8rem}@supports (color:color-mix(in lab,red,red)){.terminal-card{background:linear-gradient(168deg,color-mix(in srgb,var(--color-surface-3)68%,black 32%),var(--color-surface-1))}}.terminal-card{background-clip:padding-box;padding:1.3rem;transition:border-color .2s,transform .2s;overflow:hidden}.terminal-card:hover{border-color:var(--terminal-accent)}@supports (color:color-mix(in lab,red,red)){.terminal-card:hover{border-color:color-mix(in srgb,var(--terminal-accent)40%,var(--terminal-grid)60%)}}.terminal-card:hover{transform:translateY(-1px)}.featured-card{border-color:var(--terminal-accent)}@supports (color:color-mix(in lab,red,red)){.featured-card{border-color:color-mix(in srgb,var(--terminal-accent)30%,var(--terminal-grid)70%)}}.featured-card{box-shadow:inset 0 1px #63ffa824,0 14px 28px #0000004d}@media(min-width:640px){.terminal-card{padding:1.7rem}}.experience-card,.project-card{padding-top:1.45rem;padding-bottom:1.45rem}@media(min-width:640px){.experience-card,.project-card{padding-top:1.85rem;padding-bottom:1.85rem}}.terminal-card-head{flex-direction:column;gap:.6rem;margin-bottom:1.15rem;display:flex}@media(min-width:640px){.terminal-card-head{flex-direction:row;justify-content:space-between;align-items:baseline}}.entry-title{font-size:var(--font-size-step-1);color:#effef4;margin:.35rem 0 0;font-weight:500;line-height:1.3}.entry-subtitle{color:var(--terminal-blue);margin:.42rem 0 0;font-size:.9rem;line-height:1.45}.entry-period{color:var(--terminal-amber);flex-shrink:0;margin:0;font-size:.9rem;line-height:1.4}.entry-copy{color:var(--terminal-text);font-size:1rem;line-height:var(--line-relaxed);margin:0}.entry-list{color:var(--terminal-text);gap:.65rem;margin:0;padding-left:1.2rem;line-height:1.66;display:grid}.entry-list li::marker{color:var(--terminal-accent)}.project-link{color:var(--terminal-accent);font-size:var(--font-size-step--1);letter-spacing:.01em;margin-top:1rem;text-decoration:none;display:inline-block}.project-link:hover{color:#b7ffd8;text-decoration:underline}.pill-wrap{flex-wrap:wrap;gap:.6rem;margin-top:.95rem;display:flex}.pill{z-index:var(--z-content);border:1px solid var(--terminal-grid);background:var(--terminal-surface-2);color:var(--terminal-text);font-size:var(--font-size-step--1);background-clip:padding-box;border-radius:999px;align-items:center;padding:.4rem .8rem;display:inline-flex;position:relative;overflow:hidden}.section-hero-break{margin-top:var(--space-hero-break)}.section-primary{margin-top:var(--space-section-primary)}.section-secondary{margin-top:var(--space-section-secondary)}.section-fade{z-index:var(--z-content);opacity:0;transition:opacity .38s,transform .38s;position:relative;transform:translateY(15px)}.section-fade.visible{opacity:1;transform:translateY(0)}.stagger-item{z-index:var(--z-content);opacity:0;transition:opacity .3s,transform .3s;position:relative;transform:translateY(10px)}.stagger-item.visible{opacity:1;transform:translateY(0)}.toast{z-index:130;pointer-events:none;opacity:0;border:1px solid var(--terminal-grid);background:var(--terminal-surface-2);-webkit-backdrop-filter:blur(18px)saturate(110%);color:var(--terminal-accent);background-clip:padding-box;border-radius:.45rem;padding:.5rem .75rem;font-size:.86rem;transition:opacity .22s,transform .22s;position:fixed;bottom:.8rem;right:.8rem;overflow:hidden;transform:translateY(8px);box-shadow:0 10px 28px #0000006b,inset 0 0 0 1px #63ffa824}.toast.show{opacity:1;transform:translateY(0)}.scroll-top{border:1px solid var(--terminal-grid);background:var(--terminal-surface);border-radius:.45rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex;position:fixed;bottom:3.1rem;right:1.1rem}@supports (color:color-mix(in lab,red,red)){.scroll-top{background:color-mix(in srgb,var(--terminal-surface)92%,black 8%)}}.scroll-top{color:var(--terminal-text);font-family:var(--font-display-mono);cursor:pointer;opacity:0;visibility:hidden;background-clip:padding-box;font-size:.9rem;transition:opacity .2s,visibility .2s,transform .2s,border-color .2s;overflow:hidden}.scroll-top.visible{opacity:1;visibility:visible}.scroll-top:hover{border-color:var(--terminal-accent);transform:translateY(-1px)}a:focus-visible,button:focus-visible{outline:2px solid var(--terminal-accent);outline-offset:2px}@keyframes blink{50%{opacity:0}}.crt-flicker{pointer-events:none;z-index:25;opacity:var(--fx-flicker-opacity);background:repeating-linear-gradient(90deg,#0000 0 1px,#63ffa838 1px 2px,#0000 2px 3px,#58b7ff29 3px 4px,#0000 4px 6px);animation:14s linear infinite vertical-drift;position:fixed;inset:0}.crt-flicker:before{content:"";pointer-events:none;z-index:26;height:12%;opacity:var(--fx-beam-opacity);background:linear-gradient(#0000,#63ffa80a 15%,#ffffff1a 40%,#63ffa814,#ffffff1a 60%,#63ffa80a 85%,#0000);animation:5s linear infinite sweep-beam;position:fixed;top:-12%;left:0;right:0}.crt-flicker:after{content:"";pointer-events:none;z-index:26;height:4px;opacity:var(--fx-static-opacity);background:linear-gradient(90deg,#0000,#ffffff24 12%,#0000 22%,#63ffa833 38%,#0000 48%,#ffffff1f 62%,#0000,#58b7ff2e 88%,#0000);animation:4s steps(30,end) infinite static-band;position:fixed;top:0;left:0;right:0}:root[data-effects=reduced]{--fx-scanline-opacity:.22;--fx-flicker-opacity:.03;--fx-beam-opacity:.55;--fx-static-opacity:.35;--fx-aurora-opacity:.45;--fx-blob-opacity:.2;--fx-crt-screen-opacity:.24;--fx-glitch-opacity:.02;--fx-chroma-opacity:.03}:root[data-effects=reduced] .shader-aurora{animation-duration:42s}:root[data-effects=reduced] .shader-color-blob{animation-duration:56s}:root[data-effects=reduced] .shader-crt-screen{animation-duration:26s}:root[data-effects=reduced] .shader-small-glitch,:root[data-effects=reduced] .shader-small-glitch:before{animation:none}:root[data-effects=reduced] .shader-chroma-flow{animation-duration:32s}:root[data-effects=reduced] .section-fade{transition-duration:.26s;transform:translateY(8px)}:root[data-effects=reduced] .stagger-item{transition-duration:.22s;transform:translateY(6px)}:root[data-effects=off]{--fx-scanline-opacity:0;--fx-flicker-opacity:0;--fx-beam-opacity:0;--fx-static-opacity:0;--fx-aurora-opacity:0;--fx-blob-opacity:0;--fx-crt-screen-opacity:0;--fx-glitch-opacity:0;--fx-chroma-opacity:0}:root[data-effects=off] .shader-stack,:root[data-effects=off] .crt-body:before,:root[data-effects=off] .crt-body:after,:root[data-effects=off] .crt-screen:before,:root[data-effects=off] .crt-screen:after,:root[data-effects=off] .crt-flicker,:root[data-effects=off] .crt-flicker:before,:root[data-effects=off] .crt-flicker:after{display:none!important}:root[data-effects=off] .section-fade,:root[data-effects=off] .stagger-item{opacity:1;transition:none;transform:none}@keyframes glass-shimmer{0%,to{opacity:1}50%{opacity:.7}}@keyframes shader-aurora-drift{0%{transform:translate(-2.2%,-1.2%)scale(1.02)rotate(-1deg)}50%{transform:translate(2.4%,1.5%)scale(1.06)rotate(1deg)}to{transform:translate(1.1%,-.8%)scale(1.04)rotate(0)}}@keyframes shader-blob-float{0%{transform:translate(-5%,1%)scale(1)}35%{transform:translate(3%,-2.5%)scale(1.06)}70%{transform:translate(6%,2%)scale(1.03)}to{transform:translate(-3%,-1%)scale(1.04)}}@keyframes shader-crt-roll{0%{background-position:0 0,0 0}to{background-position:0 0,0 140px}}@keyframes shader-glitch-jump{0%,88%,to{opacity:.08;transform:translate(0)}89%{opacity:.14;transform:translate(-1px)}90%{transform:translate(1px)}91%{opacity:.1;transform:translate(-1px)}92%{opacity:.08;transform:translate(0)}}@keyframes shader-glitch-band{0%{opacity:0;top:-8%}5%{opacity:.44;top:20%}7%{opacity:0;top:24%}46%{opacity:0;top:58%}48%{opacity:.38;top:62%}50%{opacity:0;top:66%}to{opacity:0;top:104%}}@keyframes shader-chroma-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.04)}to{transform:rotate(360deg)scale(1)}}@keyframes scanline-scroll{0%{transform:translateY(0)}to{transform:translateY(50%)}}@keyframes vertical-drift{0%{transform:translate(0)}to{transform:translate(8px)}}@keyframes sweep-beam{0%{top:-12%}to{top:112%}}@keyframes static-band{0%{opacity:0;top:12%}2%{opacity:.7;top:12%}3%{opacity:0;top:13%}20%{opacity:0;top:45%}21%{opacity:.5;top:45%}22%{opacity:0;top:46%}50%{opacity:0;top:78%}51%{opacity:.6;top:78%}52%{opacity:0;top:79%}70%{opacity:0;top:33%}71%{opacity:.4;top:33%}72%{opacity:0;top:34%}to{opacity:0;top:90%}}@keyframes edge-flicker{0%,15%,35%,to{opacity:.97}16%{opacity:.82}17%{opacity:.95}36%{opacity:.85}37%{opacity:.9}38%{opacity:.96}72%{opacity:.93}73%{opacity:.78}74%{opacity:.94}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.section-fade,.stagger-item{opacity:1;transform:none}.crt-body:after{animation:none}}@media(prefers-color-scheme:light){:root{color-scheme:dark only}body{background-color:var(--terminal-bg)!important;color:var(--terminal-text)!important}}@media(forced-colors:active){.shader-stack,.crt-body:before,.crt-body:after,.crt-screen:before,.crt-screen:after,.crt-flicker,.crt-flicker:before,.crt-flicker:after{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
