:root{--color-bg: oklch(.1 .02 270);--color-bg-elevated: oklch(.13 .02 270);--color-bg-subtle: oklch(.16 .02 270);--color-text: oklch(.92 .01 270);--color-text-muted: oklch(.68 .02 270);--color-text-subtle: oklch(.5 .03 270);--color-accent: oklch(.6 .2 270);--color-accent-hover: oklch(.68 .18 270);--color-accent-muted: oklch(.54 .22 270);--color-focus: oklch(.68 .18 270);--color-border: oklch(.2 .02 270);--color-border-subtle: oklch(.16 .02 270);--color-code-bg: oklch(.16 .02 270);--color-code-text: oklch(.92 .01 270);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--font-body: "Atkinson", sans-serif;--font-heading: "Atkinson", sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-xs: .8rem;--font-sm: .889rem;--font-base: 1rem;--font-md: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.563rem;--font-2xl: 1.953rem;--font-3xl: 2.441rem;--font-4xl: 3.052rem;--font-normal: 400;--font-bold: 700;--line-tight: 1.2;--line-normal: 1.5;--line-relaxed: 1.7;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--container-sm: 640px;--container-md: 720px;--container-lg: 960px;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--focus-ring: 0 0 0 3px rgba(99, 102, 241, .4);--focus-ring-offset: 0 0 0 2px var(--color-bg)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-lg);line-height:var(--line-relaxed);color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0;text-align:left;word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{width:100%;margin:0 auto;padding:var(--space-xl) 0;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);color:var(--color-text);margin:0 0 var(--space-sm) 0}h1{font-size:var(--font-4xl);margin-bottom:var(--space-sm)}h2{font-size:var(--font-3xl);margin-top:var(--space-lg)}h3{font-size:var(--font-2xl);margin-top:var(--space-lg)}h4{font-size:var(--font-xl);margin-top:var(--space-lg)}h5{font-size:var(--font-lg);margin-top:var(--space-md)}h6{font-size:var(--font-base);margin-top:var(--space-md);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}p{margin:0 0 var(--space-md) 0;color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}strong,b{font-weight:var(--font-bold);color:var(--color-text)}em,i{font-style:italic}small{font-size:var(--font-sm);color:var(--color-text-muted)}ul,ol{list-style:none;margin:0 0 var(--space-md) 0;padding:0}li{margin-bottom:var(--space-xs);line-height:var(--line-normal)}code{font-family:var(--font-mono);font-size:.9em;padding:.125rem .375rem;background-color:var(--color-code-bg);color:var(--color-code-text);border-radius:var(--radius-sm);border:1px solid var(--color-border)}pre{font-family:var(--font-mono);font-size:var(--font-sm);line-height:var(--line-normal);padding:var(--space-md);background-color:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;margin:0 0 var(--space-md) 0}pre>code{all:unset;font-family:var(--font-mono);color:var(--color-code-text)}blockquote{border-left:4px solid var(--color-accent);padding:var(--space-sm) 0 var(--space-sm) var(--space-md);margin:0 0 var(--space-md) 0;font-size:var(--font-md);font-style:italic;color:var(--color-text-muted)}blockquote p:last-child{margin-bottom:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}img{max-width:100%;height:auto;display:block;border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;margin:0 0 var(--space-md) 0}th,td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:var(--font-bold);color:var(--color-text);background-color:var(--color-bg-elevated)}tr:hover{background-color:var(--color-bg-subtle)}input,textarea,select{font-family:var(--font-body);font-size:var(--font-base);color:var(--color-text);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}textarea{width:100%;resize:vertical}button{font-family:var(--font-body);font-size:var(--font-base);font-weight:var(--font-bold);color:var(--color-text);background-color:var(--color-accent);border:none;border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}button:hover{background-color:var(--color-accent-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.prose p{margin-bottom:var(--space-lg)}@media(max-width:720px){body{font-size:var(--font-md)}main{padding:var(--space-md) var(--space-sm)}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl);margin-top:var(--space-lg)}h3{font-size:var(--font-xl);margin-top:var(--space-md)}}.bento-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(200px,auto);gap:var(--space-sm);max-width:384px;margin:0 auto;padding:var(--space-sm);grid-template-areas:"hero" "about" "contact" "projects" "blog" "recent" "github" "social" "avatar"}.bento-item{padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);display:flex;flex-direction:column;height:100%;position:relative}.bento-item:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 0 20px #5471f54d,0 0 40px #5471f526,0 0 60px #5471f50d}.grid-area-hero{grid-area:hero}.grid-area-avatar{grid-area:avatar}.grid-area-contact{grid-area:contact}.grid-area-about{grid-area:about}.grid-area-projects{grid-area:projects}.grid-area-skills{grid-area:skills;display:none}.grid-area-blog{grid-area:blog}.grid-area-social{grid-area:social;min-height:240px}.grid-area-github{grid-area:github}.grid-area-cta{grid-area:cta}.grid-area-recent{grid-area:recent}@media(min-width:640px){.bento-grid{grid-template-columns:repeat(2,1fr);max-width:672px;grid-template-areas:"hero hero" "avatar about" "projects contact" "github blog" "skills recent" "social social" "cta cta"}.grid-area-skills{display:flex}}@media(min-width:1024px){.bento-grid{grid-template-columns:repeat(3,1fr);max-width:1024px;grid-template-areas:"hero hero hero" "about projects contact" "skills blog github" "social social recent"}.grid-area-avatar{display:none}.grid-area-github{display:flex}.grid-area-social{min-height:280px;max-height:280px}.grid-area-recent{min-height:280px}}@media(min-width:1280px){.bento-grid{grid-template-columns:repeat(4,1fr);max-width:1280px;grid-template-areas:"hero hero avatar contact" "about projects projects contact" "skills blog blog github" "skills recent social social"}.grid-area-avatar{display:flex}}.decorative-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:12px;width:100%;aspect-ratio:1}.grid-square{background:var(--color-bg-subtle);border-radius:12px;transition:background-color var(--transition-normal);cursor:pointer}.grid-square:hover{background:var(--color-accent-muted)}.grid-square-active{animation:grid-square-pop .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes grid-square-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.grid-square.active{background:var(--color-accent)}.grid-square.active:hover{background:var(--color-accent-hover)}.socials-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-md)}.social-icon-link{display:flex;justify-content:center;align-items:center;aspect-ratio:1;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;transition:all var(--transition-normal)}.social-icon-link svg{width:32px;height:32px;position:relative;z-index:1;transition:transform var(--transition-normal),stroke var(--transition-normal)}.social-icon-link:hover{border-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 0 20px #5471f566,0 0 40px #5471f533}.social-icon-link:hover svg{transform:scale(1.1);stroke:var(--color-accent)}.social-icon-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bento-social-links{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.experience-logos{display:flex;flex-direction:column;gap:var(--space-lg);margin-top:var(--space-md);align-items:flex-start}.experience-logo{width:auto;max-width:160px;height:28px;object-fit:contain;object-position:left center;opacity:.7;transition:opacity var(--transition-fast);filter:brightness(1.2)}.experience-logo:hover{opacity:1}.experience-logo-wish,.experience-logo-float,.experience-logo-tdbank{height:45px;max-width:200px}.skills-with-glow{position:relative;overflow:hidden}.skills-glow-background{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;pointer-events:none}.skills-content{position:relative;z-index:1}.skills-glow-line{animation:skills-float 25s ease-in-out infinite}@keyframes skills-float{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-15px) translate(10px)}}@media(prefers-reduced-motion:reduce){.skills-glow-line{animation:none}}.about-me-section .about-secret{color:var(--color-accent);opacity:0;transition:opacity var(--transition-normal)}.about-me-section:hover .about-secret{opacity:1}.ai-detector{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none;color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);transition:color var(--transition-fast);position:relative;z-index:1}a[data-astro-cid-eimmu3lg]:hover,a[data-astro-cid-eimmu3lg].active{color:var(--color-text)}a[data-astro-cid-eimmu3lg].active:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:60px;background:radial-gradient(ellipse,oklch(.6 .2 270 / .3),oklch(.6 .2 270 / .15) 40%,transparent 70%);z-index:-1;pointer-events:none}header[data-astro-cid-3ef6ksr2]{margin:0;padding:var(--space-md) var(--space-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-lg);margin:0 auto}.logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;text-decoration:none;transition:transform var(--transition-fast),opacity var(--transition-fast)}.logo[data-astro-cid-3ef6ksr2]:hover{transform:translateY(-2px);opacity:.8}.logo[data-astro-cid-3ef6ksr2]:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.logo-icon[data-astro-cid-3ef6ksr2]{width:2rem;height:2rem;object-fit:contain;color:var(--color-text)}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-lg);align-items:center}@media(max-width:720px){header[data-astro-cid-3ef6ksr2]{padding:var(--space-sm) var(--space-md)}.nav-links[data-astro-cid-3ef6ksr2]{gap:var(--space-md)}}
