:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::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: rgb(59 130 246 / .5);--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-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary: 0 0% 9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: .5rem}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.block{display:block}.resize{resize:both}.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{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:#0a0a0a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.bg-canvas{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100vh;min-width:1080px;min-height:1080px;pointer-events:none;opacity:.6;z-index:0}.bg-canvas canvas{width:100%!important;height:100%!important}.portfolio-card{position:relative;width:100%;max-width:1100px;background:#141414;border-radius:24px;padding:50px;border:2px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0006;z-index:1}.card-content{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;position:relative;z-index:2}.left-column{display:flex;flex-direction:column;gap:25px}.name-section{margin-bottom:5px}.name{font-size:2.2rem;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:-.5px;line-height:1.2}.handle{font-size:1rem;color:#888;font-weight:400;font-family:JetBrains Mono,monospace;letter-spacing:.3px}.profile-pic{width:300px;height:300px;border-radius:50%;border:3px solid rgba(255,255,255,.2);background:#0a0a0a;overflow:hidden;position:relative}.profile-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.info-section{display:flex;flex-direction:column;gap:0}.info-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.info-item:last-child{border-bottom:none}.info-label{font-size:.9rem;color:#888;font-weight:500}.info-value{font-size:.9rem;color:#fff;font-weight:500}.right-column{display:flex;flex-direction:column;gap:30px;padding-top:10px}.status-badge{display:flex;align-items:center;gap:10px;padding:12px 18px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:12px;font-size:.9rem;color:#4ade80;font-weight:500;width:-moz-fit-content;width:fit-content}.status-dot{width:8px;height:8px;background:#4ade80;border-radius:50%}.section-title{font-size:.85rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}.skills-section{display:flex;flex-direction:column;gap:18px}.skills-grid{display:flex;flex-direction:column;gap:10px}.skill-tag{padding:14px 20px;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1.5px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;font-size:1rem;font-weight:600;display:flex;gap:12px;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.skill-tag svg,.skill-tag .java-icon{font-size:22px;flex-shrink:0;z-index:1}.skill-tag span:last-child{z-index:1}.java-icon{font-size:22px;line-height:1;display:inline-flex;align-items:center}.social-links{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap;margin-top:8px}.social-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;text-decoration:none;font-weight:600}.social-button:hover{background:#ffffff08;transform:translateY(-2px)}.social-icon{display:inline-flex;width:18px;height:18px}.social-text{line-height:1}.social-links{width:100%}.social-links .social-button{flex:1 1 0;justify-content:center;padding:12px 16px;font-size:.95rem;min-width:0}@media(max-width:480px){.social-links{flex-direction:column}.social-links .social-button{width:100%}.info-item{align-items:flex-start;gap:18px}.info-label{flex:0 0 auto}.info-value{max-width:62%;margin-left:auto;overflow-wrap:anywhere;line-height:1.4;text-align:right}}.social-link{padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#aaa;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.social-link:hover{background:#ffffff0d;border-color:#ffffff26;color:#fff}.home-actions{display:flex;align-items:stretch;flex-direction:column;gap:8px;margin-top:auto}.portfolio-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;padding:16px;background:transparent;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .3s ease}.portfolio-btn:hover{background:#ffffff0d}.home-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.press-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:transparent;color:#aaa;font-size:.84rem;font-weight:600;white-space:nowrap}.press-link:hover{border-color:#ffffff4d;background:#ffffff0d;color:#fff}.press-link:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}.floating-code{position:absolute;font-size:4rem;color:#ffffff14;font-weight:700;font-family:JetBrains Mono,monospace;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}@media(max-width:968px){.card-content{grid-template-columns:1fr;gap:40px}.right-column{padding-top:0}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.portfolio-card{padding:30px}.profile-pic{width:160px;height:160px}.name{font-size:1.8rem}.floating-code{font-size:2.5rem}}@media(max-width:520px){.portfolio-btn{width:100%}}.color-bends-container{position:relative;width:100%;height:100%;overflow:hidden}.content-page{min-height:100vh;padding:40px 20px 72px;position:relative;overflow-x:hidden;background:#0a0a0a;color:#fff}.content-page-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.content-page-bg:before,.content-page-bg:after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#fff 0%,transparent 70%);filter:blur(120px);opacity:.025}.content-page-bg:before{top:-220px;right:-220px}.content-page-bg:after{bottom:-220px;left:-220px}.content-shell{width:100%;max-width:1200px;margin:0 auto;position:relative;z-index:1}.content-header{margin-bottom:46px}.content-nav{display:flex;align-items:center;justify-content:flex-start;margin:0 0 24px}.content-back-link{display:inline-flex;align-items:center;padding:4px 0;border:0;background:transparent;color:#aaa;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:none;transition:color .16s ease}.content-back-link:hover{color:#fff}.content-title{margin:0 0 12px;color:#fff;font-size:clamp(2.7rem,7vw,4rem);font-weight:700;letter-spacing:-2px;line-height:1.05}.content-intro{max-width:700px;margin:0;color:#888;font-size:1.1rem;line-height:1.65}.content-lead{display:flex;align-items:flex-start;flex-direction:column;gap:10px}.content-page a:focus-visible,.content-page button:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}@media(max-width:600px){.content-page{padding:24px 16px 48px}.content-header{margin-bottom:32px}.content-nav{margin-bottom:18px}.content-title{font-size:2.5rem}.content-intro{font-size:1rem}.content-lead{gap:10px}}@media(prefers-reduced-motion:reduce){.content-page *,.content-page *:before,.content-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{display:flex;min-width:0;min-height:100%;flex-direction:column;padding:27px;border:2px solid rgba(255,255,255,.1);border-radius:24px;background:#141414;box-shadow:0 8px 30px #0003;transition:border-color .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#fff3;box-shadow:0 16px 45px #0000004d}.project-title{margin:0 0 12px;color:#fff;font-size:1.45rem;font-weight:700;letter-spacing:-.035em;line-height:1.15}.project-description{margin:0;color:#999;font-size:.9rem;line-height:1.62}.project-note{margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);color:#888;font-size:.8rem;line-height:1.55}.project-card-footer{margin-top:auto;padding-top:22px}.project-timeline{margin:0 0 14px;color:#737373;font-size:.76rem;line-height:1.5}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:17px}.project-tag{padding:5px 9px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;color:#888;font-size:.7rem;font-weight:500}.project-links{display:flex;flex-wrap:wrap;gap:8px}.project-link{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:transparent;color:#ddd;font-size:.76rem;font-weight:600;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}.project-link:hover{border-color:#ffffff47;background:#ffffff0d;color:#fff}.github-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:23px 27px;border:2px solid rgba(255,255,255,.1);border-radius:24px;background:#141414;color:#fff;text-decoration:none;transition:border-color .18s ease,background .18s ease}.github-strip:hover{border-color:#fff3;background:#161616;color:#fff}.github-strip>span:first-child{display:flex;flex-direction:column;gap:4px}.github-strip strong{font-size:1.05rem}.github-strip small{color:#888;font-size:.82rem;font-weight:400}.github-strip-action{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:#ccc;font-size:.82rem;font-weight:600}@media(max-width:1050px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.projects-grid{grid-template-columns:1fr;gap:16px}.project-card{padding:24px}.github-strip{align-items:flex-start;flex-direction:column;gap:16px;padding:22px 24px}}.media-header{margin-bottom:32px}.recognition-lines{max-width:820px;margin-top:30px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.recognition-lines p{display:grid;grid-template-columns:60px 110px minmax(0,1fr);gap:12px;margin:0;padding:11px 0;color:#888;font-size:.83rem;line-height:1.5}.recognition-lines p+p{border-top:1px solid rgba(255,255,255,.07)}.recognition-year{color:gray;font-family:JetBrains Mono,monospace;font-size:.74rem;white-space:nowrap}.recognition-lines .recognition-detail{color:#888}.recognition-lines strong{color:#ddd;font-weight:600}.media-featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:48px;padding:31px;border:2px solid rgba(255,255,255,.12);border-radius:24px;background:#141414;color:inherit;text-decoration:none;box-shadow:0 8px 30px #00000038;transition:border-color .18s ease,box-shadow .18s ease}.media-featured:hover{border-color:#ffffff3b;color:inherit;box-shadow:0 16px 45px #0000004d}.media-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px;color:gray;font-family:JetBrains Mono,monospace;font-size:.66rem;line-height:1.45}.media-meta span{color:#aaa}.media-featured h2{max-width:650px;margin:0;color:#fff;font-size:clamp(1.65rem,3vw,2.2rem);font-weight:700;letter-spacing:-.04em;line-height:1.18}.media-featured-copy{display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column;gap:26px;padding-top:39px}.media-featured-copy p{margin:0;color:#999;font-size:.91rem;line-height:1.65}.media-featured-copy span{display:inline-flex;align-items:center;gap:7px;color:#ddd;font-size:.8rem;font-weight:600}.media-archive{margin-top:52px}.media-section-heading{margin-bottom:20px}.media-section-heading h2{margin:0;color:#fff;font-size:1.65rem;letter-spacing:-.03em}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.media-card{display:flex;min-width:0;min-height:100%;flex-direction:column;padding:25px;border:2px solid rgba(255,255,255,.1);border-radius:24px;background:#141414;color:inherit;text-decoration:none;box-shadow:0 8px 30px #0000002e;transition:border-color .18s ease,box-shadow .18s ease}.media-card:hover{border-color:#fff3;color:inherit;box-shadow:0 14px 40px #00000042}.media-card h3{margin:0 0 11px;color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:-.025em;line-height:1.3}.media-card-summary{margin:0;color:#888;font-size:.84rem;line-height:1.58}.media-card-footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;margin-top:auto;padding-top:20px}.media-card-footer strong{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:#aaa;font-size:.73rem;font-weight:600}@media(max-width:1050px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.media-featured{grid-template-columns:1fr;gap:18px;padding:25px}.media-featured-copy{gap:20px;padding-top:0}.media-grid{grid-template-columns:1fr;gap:16px}}@media(max-width:600px){.recognition-lines p{grid-template-columns:58px minmax(0,1fr);gap:5px 10px}.recognition-lines p strong{grid-column:2}.recognition-lines .recognition-detail{grid-column:2;font-size:.78rem}.media-card{padding:23px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#fff;overflow-x:hidden}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}
