@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:"Fira Code","JetBrains Mono","SF Mono",Consolas,monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-crt-primary:#3f3;--color-crt-bright:#6f6;--color-crt-dim:#1a991a;--color-crt-dark:#0d4d0d;--color-crt-glow:#33ff3380;--color-crt-bg-dark:#0a0a0a;--color-crt-bg:#0d0d0d;--color-crt-bg-light:#141414;--color-crt-bg-lighter:#1a1a1a}}@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{.mb-8{margin-bottom:calc(var(--spacing)*8)}.w-72{width:calc(var(--spacing)*72)}.text-center{text-align:center}@media(min-width:48rem){.md\:w-96{width:calc(var(--spacing)*96)}}}:root{font-family:var(--font-mono);color-scheme:dark;color:var(--color-crt-primary);background-color:var(--color-crt-bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%2333ff33" d="M0 0l12 6-4 1 3 5-2 1-3-5-2 4z"/><path fill="%231a991a" d="M1 2l8 4-3 1 2 4-1 0-2-4-2 3z"/></svg>') 0 0,auto;font-weight:400;line-height:1.6}body{background-color:var(--color-crt-bg-dark);min-width:320px;min-height:100vh;margin:0;padding:0;overflow-x:hidden}a{color:var(--color-crt-primary);cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%2366ff66" d="M0 0l12 6-4 1 3 5-2 1-3-5-2 4z"/><path fill="%2333ff33" d="M1 2l8 4-3 1 2 4-1 0-2-4-2 3z"/></svg>') 0 0,pointer;text-decoration:none;transition:color .2s,text-shadow .2s}a:hover{color:var(--color-crt-bright);text-shadow:0 0 8px var(--color-crt-glow)}::selection{background-color:var(--color-crt-primary);color:var(--color-crt-bg-dark)}.crt-screen{background-color:var(--color-crt-bg-dark);border-radius:inherit;width:100%;height:100vh;position:relative;overflow:hidden}.crt-content{z-index:1;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.crt-scanlines{z-index:2;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(#0000 0 1px,#00000026 1px 2px);position:absolute;inset:0}.crt-scanline-bar{z-index:3;pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.crt-scanline-bar:before{content:"";opacity:.7;background:linear-gradient(#0000,#33ff3308 20%,#ffffff0f,#33ff3308 80%,#0000);height:8px;animation:6s linear infinite scanline-bar;position:absolute;left:0;right:0}@keyframes scanline-bar{0%{top:-10px}to{top:100%}}.crt-flicker{z-index:5;pointer-events:none;border-radius:inherit;opacity:0;background:0 0;animation:.15s infinite crt-flicker;position:absolute;inset:0}@keyframes crt-flicker{0%,to{opacity:0}92%{opacity:0}93%{opacity:.02}94%{opacity:0}97%{opacity:.01}98%{opacity:0}}.crt-screen{text-shadow:0 0 1px var(--color-crt-primary),0 0 2px var(--color-crt-glow),0 0 8px var(--color-crt-glow),0 0 16px #33ff334d,0 0 32px #33ff331a}.split-layout{background-color:var(--color-crt-dark);gap:2px;width:100%;height:100%;display:flex}.split-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.split-panel--left{flex:1;max-width:33.333%}.split-panel--right{flex:2}.split-panel-inner{background-color:var(--color-crt-bg-dark);border:1px solid var(--color-crt-dark);min-height:0;box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000,inset 0 0 20px #33ff3305;flex-direction:column;flex:1;padding:1rem;display:flex;overflow:hidden}@media(max-width:767px){.split-layout{flex-direction:column;gap:2px}.split-panel--left{flex:none;max-width:100%;height:auto}.split-panel--right{flex:1}.split-panel-inner{padding:.75rem}}@media(max-width:479px){.split-panel-inner{box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000;padding:.5rem}}.info-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.info-photo-frame{border:2px solid var(--color-crt-dim);width:clamp(80px,12vw,120px);height:clamp(80px,12vw,120px);box-shadow:0 0 8px var(--color-crt-glow),inset 0 0 20px #00000080;border-radius:4px;position:relative;overflow:hidden}.info-photo-placeholder{background:linear-gradient(145deg,var(--color-crt-bg-dark)0%,var(--color-crt-bg)50%,var(--color-crt-bg-dark)100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.info-photo-icon{filter:grayscale()brightness(.8);opacity:.6;font-size:clamp(2rem,4vw,3rem)}.info-photo-scanlines{pointer-events:none;background:repeating-linear-gradient(#0000 0 1px,#0003 1px 2px);position:absolute;inset:0}.info-photo-vignette{pointer-events:none;background:radial-gradient(#0000 0% 40%,#0000004d 80%,#0009);position:absolute;inset:0;box-shadow:inset 0 0 10px #33ff331a}.info-details{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.info-name{color:var(--color-crt-bright);font-size:clamp(.9rem,1.5vw,1.1rem);font-style:normal;font-weight:600;font-family:var(--font-mono);text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow);margin:0}.info-bio{text-align:left;width:100%}.info-bio-text{color:var(--color-crt-primary);font-family:var(--font-mono);white-space:pre-wrap;margin:0;font-size:clamp(.65rem,.9vw,.8rem);line-height:1.6}.info-title{color:var(--color-crt-dim);margin:0;font-size:clamp(.7rem,1vw,.85rem)}.info-divider{background:linear-gradient(to right,transparent 0%,var(--color-crt-dark)20%,var(--color-crt-dim)50%,var(--color-crt-dark)80%,transparent 100%);width:80%;height:1px;margin:.5rem 0}.info-stats{flex-direction:column;gap:.35rem;width:100%;display:flex}.info-stat{justify-content:space-between;padding:0 .5rem;font-size:clamp(.65rem,.9vw,.8rem);display:flex}.info-stat-label{color:var(--color-crt-dim)}.info-stat-value{color:var(--color-crt-primary)}.info-stat-value--online{color:var(--color-crt-bright);animation:2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%,to{text-shadow:0 0 4px var(--color-crt-glow)}50%{text-shadow:0 0 4px var(--color-crt-glow),0 0 8px var(--color-crt-glow),0 0 12px var(--color-crt-glow)}}.info-links{gap:1rem;margin-top:.25rem;display:flex}.info-link{color:var(--color-crt-dim);font-size:clamp(.7rem,.9vw,.85rem);text-decoration:none;transition:color .15s,text-shadow .15s}.info-link:hover{color:var(--color-crt-bright);text-shadow:0 0 8px var(--color-crt-glow)}@media(max-width:767px){.info-panel{flex-direction:row;justify-content:flex-start;gap:1rem;padding:.5rem}.info-photo-frame{flex-shrink:0;width:clamp(60px,10vw,80px);height:clamp(60px,10vw,80px)}.info-photo-icon{font-size:clamp(1.5rem,3vw,2rem)}.info-details{text-align:left;align-items:flex-start}.info-divider{width:100%}.info-bio,.info-stats{display:none}.info-links{margin-top:0}}@media(max-width:479px){.info-panel{gap:.75rem}.info-photo-frame{width:50px;height:50px}.info-photo-icon{font-size:1.25rem}.info-name{font-size:.85rem}.info-title,.info-link{font-size:.7rem}.info-divider{display:none}}.tab-navigation{background-color:var(--color-crt-bg-dark);gap:0;padding:.5rem .5rem 0;display:flex;position:relative}.tab-navigation:after{content:"";background:var(--color-crt-dark);height:2px;box-shadow:inset 1px 0 0 var(--color-crt-bg-lighter),inset -1px 0 #000;position:absolute;bottom:0;left:0;right:0}.tab-button{background:var(--color-crt-bg);color:var(--color-crt-dim);font-family:var(--font-mono);cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%2366ff66" d="M0 0l12 6-4 1 3 5-2 1-3-5-2 4z"/><path fill="%2333ff33" d="M1 2l8 4-3 1 2 4-1 0-2-4-2 3z"/></svg>') 0 0,pointer;border:none;border-top:2px solid var(--color-crt-bg-lighter);border-left:2px solid var(--color-crt-bg-lighter);border-right:2px solid #000;border-bottom:2px solid var(--color-crt-dark);z-index:1;border-radius:4px 4px 0 0;margin-bottom:0;margin-right:2px;padding:.5rem 1rem;font-size:.9rem;transition:color .1s;position:relative}.tab-button:hover{color:var(--color-crt-primary);background:var(--color-crt-bg-light)}.tab-button:focus{outline:1px dotted var(--color-crt-dim);outline-offset:-3px}.tab-button--active{color:var(--color-crt-bright);background:var(--color-crt-bg-dark);border-bottom-color:var(--color-crt-bg-dark);z-index:2;text-shadow:0 0 4px var(--color-crt-glow),0 0 8px var(--color-crt-glow);margin-bottom:-2px;padding-bottom:calc(.5rem + 2px)}.bio-section{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;overflow:auto}.bio-ascii-art{color:var(--color-crt-bright);text-align:center;white-space:pre;text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow);margin:0 0 2rem;font-size:clamp(.3rem,1.2vw,.75rem);line-height:1.1}.bio-content{width:100%;max-width:600px}.bio-text{color:var(--color-crt-primary);white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.8}.bio-cursor{color:var(--color-crt-bright);animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.skills-section{flex-direction:column;flex:1;width:100%;max-width:700px;margin:0 auto;padding:2rem;display:flex;overflow:auto}.projects-header{color:var(--color-crt-bright);text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow);margin:0 0 1.5rem;font-size:1.2rem}.projects-list{flex-direction:column;gap:1.5rem;display:flex}.project-card{border:1px solid var(--color-crt-dark);background:var(--color-crt-bg);box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000;padding:1rem}.project-name{color:var(--color-crt-bright);text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow);margin:0 0 .5rem;font-size:1.1rem}.project-description{color:var(--color-crt-primary);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.project-technologies{flex-wrap:wrap;gap:.5rem;display:flex}.tech-badge{color:var(--color-crt-primary);background:var(--color-crt-bg-dark);border:1px solid var(--color-crt-dim);box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.contact-section{flex-direction:column;flex:1;align-items:center;padding:2rem;display:flex;overflow:auto}.contact-header{color:var(--color-crt-bright);text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow);margin:0 0 2rem;font-size:1.2rem}.contact-links{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2rem;display:flex}.contact-link{color:var(--color-crt-primary);flex-direction:column;align-items:center;text-decoration:none;transition:transform .2s,color .2s;display:flex}.contact-link:hover{color:var(--color-crt-bright);transform:scale(1.02)}.contact-link:focus{outline:1px solid var(--color-crt-dim);outline-offset:4px}.contact-logo{object-fit:contain;filter:brightness(.85);width:200px;height:200px}.contact-command{font-size:.75rem;font-family:var(--font-mono);color:var(--color-crt-primary);width:100%;margin-top:.75rem;transition:color .2s,text-shadow .2s}.contact-link:hover .contact-command{color:var(--color-crt-bright);text-shadow:0 0 8px var(--color-crt-glow)}.contact-label{color:var(--color-crt-dim);margin-top:.25rem;font-size:1rem;transition:color .2s}.contact-link:hover .contact-label{color:var(--color-crt-bright)}.contact-terminal-btn{border:1px solid var(--color-crt-dark);background:var(--color-crt-bg);width:320px;height:320px;box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000;justify-content:center;padding:1rem;transition:all .15s;position:relative}.contact-terminal-btn:hover{border-color:var(--color-crt-dim);background:var(--color-crt-bg-light);box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000,0 0 15px var(--color-crt-glow),0 0 30px #33ff3326}.contact-terminal-btn:active{box-shadow:inset -1px -1px 0 var(--color-crt-bg-lighter),inset 1px 1px #000;transform:scale(.99)}.contact-terminal-btn .contact-label{letter-spacing:.05em;color:var(--color-crt-dim);background:var(--color-crt-bg-dark);border:1px solid var(--color-crt-dark);box-shadow:inset 1px 1px 0 var(--color-crt-bg-lighter),inset -1px -1px #000;margin-top:.75rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-block}.contact-terminal-btn:hover .contact-label{color:var(--color-crt-bright);border-color:var(--color-crt-dim);text-shadow:0 0 4px var(--color-crt-glow),0 0 8px var(--color-crt-glow)}.boot-sequence{z-index:100;background-color:var(--color-crt-bg-dark);opacity:1;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s ease-out;display:flex;position:fixed;inset:0}.boot-sequence--fading{opacity:0}.boot-content{flex-direction:column;gap:.5rem;width:100%;height:100%;margin-top:20px;padding:20px;display:flex}.boot-line{color:var(--color-crt-primary);text-shadow:0 0 2px var(--color-crt-glow),0 0 8px var(--color-crt-glow);font-size:1rem;animation:50ms ease-out boot-flicker}@keyframes boot-flicker{0%{opacity:0}50%{opacity:.5}to{opacity:1}}.boot-skip-hint{color:var(--color-crt-dim);opacity:.6;font-size:.8rem;position:absolute;bottom:2rem}.crt-power-on{opacity:0;transition:opacity .4s ease-in}.crt-power-on--active{opacity:1}.terminal-wrapper{background:var(--color-crt-bg-dark);width:100%;min-height:100vh;margin:0;padding:0;display:flex}.terminal-screen{border:1px solid var(--color-crt-glow);border-radius:20px;width:100%;height:100vh;overflow:hidden;box-shadow:inset 0 0 30px #00000080,0 0 8px #33ff3326,0 0 20px #33ff331a,0 0 40px #33ff330d}.terminal-screen .crt-screen{border-radius:inherit;height:100vh;overflow:hidden}@media(max-width:767px){.tab-navigation{flex-wrap:nowrap;justify-content:flex-start;gap:0;padding:.5rem .5rem 0}.tab-button{justify-content:center;align-items:center;min-height:44px;padding:.6rem .75rem;font-size:.85rem;display:flex}.tab-button--active{padding-bottom:calc(.6rem + 2px)}.bio-section{justify-content:flex-start;margin-top:2rem;padding:1.5rem 1rem}.bio-ascii-art{margin-bottom:1.5rem;font-size:clamp(.2rem,2.5vw,.5rem)}.bio-content{max-width:100%}.bio-text{font-size:.9rem;line-height:1.7}.skills-section{max-width:100%;padding:1.5rem 1rem}.projects-header{margin-bottom:1rem;font-size:1.1rem}.projects-list{gap:1rem}.project-card{padding:.75rem}.project-name{font-size:1rem}.project-description{font-size:.85rem}.tech-badge{padding:.2rem .4rem;font-size:.7rem}.contact-section{padding:1.5rem 1rem}.contact-header{margin-bottom:1.5rem;font-size:1.1rem}.contact-links{flex-direction:column;align-items:center;gap:1.5rem}.contact-terminal-btn{width:340px;height:340px}.contact-logo{width:200px;height:200px}.contact-label{font-size:.9rem}.boot-content{padding:0 1rem}.boot-line{font-size:.85rem}.boot-skip-hint{font-size:.75rem;bottom:1.5rem}.crt-screen{text-shadow:0 0 1px var(--color-crt-glow),0 0 4px var(--color-crt-glow)}.crt-scanlines{background:repeating-linear-gradient(#0000 0 2px,#0000001a 2px 4px)}.crt-scanline-bar:before{opacity:.5}.crt-flicker{display:none}}@media(max-width:479px){.tab-navigation{padding:.375rem .375rem 0}.tab-button{padding:.5rem;font-size:.75rem}.tab-button--active{padding-bottom:calc(.5rem + 2px)}.bio-section{padding:1rem .75rem}.bio-ascii-art{margin-bottom:1rem;font-size:clamp(.15rem,3vw,.35rem)}.bio-text{font-size:.85rem;line-height:1.6}.skills-section{padding:1rem .75rem}.projects-header{margin-bottom:.75rem;font-size:1rem}.project-card{padding:.5rem}.project-name{font-size:.9rem}.project-description{margin-bottom:.75rem;font-size:.8rem}.tech-badge{padding:.15rem .35rem;font-size:.65rem}.contact-section{padding:1rem .75rem}.contact-terminal-btn{width:300px;height:250px}.contact-logo{width:150px;height:150px}.contact-label{font-size:.85rem}.boot-line{font-size:.75rem}.boot-skip-hint{bottom:1rem}.crt-screen{text-shadow:0 0 2px var(--color-crt-glow)}.crt-scanlines{opacity:.5}.crt-scanline-bar,.crt-flicker{display:none}}@media(max-width:359px){.tab-button{padding:.4rem .35rem;font-size:.7rem}.tab-button--active{padding-bottom:calc(.4rem + 2px)}.bio-ascii-art{font-size:.15rem}.contact-terminal-btn{width:240px;height:160px}.contact-logo{width:80px;height:80px}.crt-scanlines,.crt-scanline-bar,.crt-vignette,.crt-flicker{display:none}}@media(hover:none)and (pointer:coarse){.tab-button{min-width:48px;min-height:48px}.tab-button:hover{color:var(--color-crt-dim);background:var(--color-crt-bg)}.tab-button--active:hover{color:var(--color-crt-bright);background:var(--color-crt-bg-dark)}.contact-link:hover{transform:none}.tab-button:active{color:var(--color-crt-bright);background:var(--color-crt-bg-light);text-shadow:0 0 4px var(--color-crt-glow),0 0 12px var(--color-crt-glow)}.contact-link:active{transform:scale(.98)}}@media(prefers-reduced-motion:reduce){.boot-line{animation:none}.bio-cursor{opacity:1;animation:none}.tab-button,.contact-link,.contact-logo,.contact-label,a,.boot-sequence{transition:none}.crt-power-on{opacity:1;transition:none}.crt-scanline-bar:before,.crt-flicker{animation:none;display:none}}@media(max-width:767px)and (orientation:landscape){.bio-section{flex-direction:row;align-items:center;gap:2rem}.bio-ascii-art{flex-shrink:0;margin-bottom:0}.bio-content{flex:1}.contact-links{flex-flow:wrap}}
