@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@layer theme{:root,:host{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#05070d;--background-soft:#0c1119;--foreground:#d8dee9;--muted:#7f8ca0;--line:#1a2a3d;--accent:#1793d1;--accent-soft:#1793d138;--good:#8fbcbb;--warn:#d08770}body{background:radial-gradient(circle at 20% -5%,#4984ff38,transparent 33%),radial-gradient(circle at 85% 0%,#1793d138,transparent 30%),radial-gradient(circle at 40% 100%,#68d3b51f,transparent 30%),repeating-linear-gradient(0deg,#78b4ff0a 0,#78b4ff0a 1px,transparent 1px,transparent 3px),var(--background);min-height:100dvh;color:var(--foreground);font-family:"JetBrains Mono",var(--font-geist-mono),"Courier New",monospace;margin:0}a{color:inherit}.terminal-page{justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1rem;display:flex}.terminal-shell{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#090e15fa,#040a10fc);border:1px solid #1b3048;border-radius:12px;flex-direction:column;width:min(980px,100%);display:flex;overflow:hidden;box-shadow:0 36px 80px #0000009e,0 0 120px #1793d114,0 0 0 1px #1793d126}.terminal-header{border-bottom:1px solid var(--line);background:#05080dd9;align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.dot{border-radius:50%;width:11px;height:11px;display:inline-block}.dot.red{background:#ff6b6b}.dot.amber{background:#ffc96b}.dot.green{background:#5effa0}.terminal-title{color:var(--muted);margin:0 0 0 .5rem;font-size:.9rem}.terminal-body{flex-direction:column;flex:1;min-height:0;padding:1.5rem 1rem 2rem;display:flex}.terminal-history{-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:min(75vh,720px);overflow-y:auto}.terminal-history::-webkit-scrollbar{width:10px}.terminal-history::-webkit-scrollbar-thumb{background:#88a1ba47;border-radius:999px}.terminal-hint{color:var(--muted);letter-spacing:.02em;align-items:center;gap:.6rem;margin:.8rem 1rem 0;font-size:.8rem;display:flex}.hint-label{flex:none}.quick-cmds{flex-wrap:wrap;gap:.45rem;display:flex}.inline-cmd{min-height:32px;color:var(--good);font-family:inherit;font-size:inherit;cursor:pointer;background:#0b131dc7;border:1px solid #557ea373;border-radius:999px;margin:0;padding:.22rem .62rem}.inline-cmd:hover{color:#a8d6d4;background:#0d1723f2;border-color:#94c7c0a6}.line{color:var(--muted);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:.82rem 0 .4rem;font-size:.92rem;line-height:1.45}.prompt{margin-right:.6rem}.prompt-shell{color:var(--foreground)}.prompt-user{color:var(--good);text-shadow:0 0 14px #8fbcbb40}.prompt-host{color:var(--accent);text-shadow:0 0 14px var(--accent-soft)}.prompt-at,.prompt-colon,.prompt-symbol{color:#6e7f96}.prompt-path{color:#81a1c1}.hero{letter-spacing:.02em;margin:.45rem 0 .7rem;font-size:clamp(1.55rem,2vw + 1rem,2.3rem)}.lead{color:var(--foreground);max-width:72ch;margin:0 0 1.2rem;line-height:1.65}.card{border:1px solid var(--line);background:#080e15a6;border-radius:8px;margin-bottom:.6rem;padding:.9rem}.card p{margin:0;line-height:1.6}.card p+p{margin-top:.8rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem .85rem;margin:0;padding:0;list-style:none;display:grid}.skills-grid li:before{content:"> ";color:var(--accent)}.projects{gap:.85rem;display:grid}.project h2{margin:0 0 .45rem;font-size:1.04rem}.project p{color:var(--foreground);margin:0 0 .5rem}.project .meta{color:var(--muted);font-size:.88rem}.project a{color:var(--accent);font-size:.88rem;text-decoration:none}.project a:hover{text-decoration:underline}.contact{gap:.4rem;display:grid}.contact a{color:var(--accent);width:fit-content;text-decoration:none}.contact a:hover{text-decoration:underline}.status{color:var(--foreground);margin:.15rem 0 .7rem}.entry-system .output-line{color:#8a9db6}.entry-output .output-line{color:var(--foreground)}.entry-error .output-line{color:var(--warn)}.entry-command .line{color:#cdd7e4}.inline-link{color:#7ed0ff;text-underline-offset:2px;text-decoration:underline}.inline-link:hover{color:#b5e6ff}.ls-wrap{flex-wrap:wrap;align-items:center;gap:.46rem;display:flex}.ls-chip{color:#cddff0;background:#09121cb8;border:1px solid #3a719a8c;border-radius:999px;align-items:center;padding:.16rem .6rem;line-height:1.3;display:inline-flex}.input-row{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.terminal-input{appearance:none;min-width:0;color:var(--foreground);caret-color:var(--accent);background:0 0;flex:1;font-family:inherit;font-size:.92rem;box-shadow:none!important;border:none!important;outline:none!important}.terminal-input:focus{box-shadow:none!important;border:none!important;outline:none!important}.terminal-input::placeholder{color:#88a1ba6b}.cursor{animation:1.1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}50.1%,to{opacity:0}}.boot-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 20% 18%,#2595ff3d,#0000 34%),radial-gradient(circle at 80% 16%,#1accbf2b,#0000 30%),linear-gradient(145deg,#060a10f5,#02060cfa);place-items:center;display:grid;position:fixed;inset:0}.boot-grid{background-color:#0000;background-image:linear-gradient(#1793d114 1px,#0000 1px),linear-gradient(90deg,#1793d114 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 40%,#0000 88%);mask-image:radial-gradient(circle at 50% 42%,#000 40%,#0000 88%)}.boot-card{background:linear-gradient(#091018f2,#04090ff2);border:1px solid #337ba899;border-radius:14px;width:min(620px,100vw - 2rem);padding:1.15rem 1rem .95rem;position:relative;box-shadow:0 20px 70px #0000008c,inset 0 0 0 1px #1793d12e}.boot-title{color:#9ec4e7;letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.78rem}.boot-logo{color:#45b1e6;text-shadow:0 0 16px #1793d16b;margin:.75rem 0 .6rem;font-size:.86rem;line-height:1.08}.boot-subtitle{color:#bed1e5;margin:0;font-size:.88rem}.boot-bar{background:#1b39529e;border-radius:999px;height:7px;margin-top:.72rem;overflow:hidden}.boot-bar-fill{background:linear-gradient(90deg,#1793d1,#55c6ff);width:0;height:100%;animation:2s cubic-bezier(.35,.1,.3,1) forwards boot-fill;display:block}.boot-skip{color:#8aa7c3;cursor:pointer;background:0 0;border:none;margin-top:.7rem;padding:0;font-family:inherit;font-size:.8rem}.boot-skip:hover{color:#b8d6f2;text-decoration:underline}@keyframes boot-fill{0%{width:0}to{width:100%}}@media (max-width:640px){body{background:radial-gradient(circle at 20% -10%,#4984ff24,transparent 30%),radial-gradient(circle at 90% 0%,#1793d11f,transparent 30%),var(--background)}.terminal-page{justify-content:stretch;align-items:stretch;min-height:100dvh;padding:.45rem}.terminal-shell{border-radius:10px;width:100%;height:calc(100dvh - .9rem);box-shadow:0 14px 42px #00000070,0 0 0 1px #1793d11f}.terminal-header{padding:.62rem .8rem}.terminal-title{margin-left:.35rem;font-size:.8rem}.terminal-hint{gap:.45rem;margin:.55rem .7rem 0;font-size:.78rem}.quick-cmds{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.1rem;overflow-x:auto}.quick-cmds::-webkit-scrollbar{display:none}.inline-cmd{min-height:40px;padding:.3rem .76rem;font-size:.82rem}.terminal-body{padding:.8rem .7rem .65rem}.terminal-history{max-height:none}.line{margin-top:.7rem;font-size:clamp(.82rem,2.85vw,.9rem);line-height:1.38}.prompt{margin-right:.4rem}.input-row{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.5rem 0 .15rem;padding-bottom:calc(.2rem + env(safe-area-inset-bottom));background:linear-gradient(#05090e00,#05090ef0 42%);border-top:1px solid #37597880;margin-top:.55rem;position:sticky;bottom:0}.terminal-input{width:100%;min-height:40px;font-size:.9rem}.prompt-shell{gap:1px;display:inline-flex}.boot-card{width:calc(100vw - 1.2rem);padding:1rem .85rem .85rem}.boot-logo{font-size:.73rem}}
