:root{--color-bg: #E0EBF5;--color-text: #0F110C;--color-surface: color-mix(in srgb, var(--color-bg) 88%, white);--color-surface-strong: color-mix(in srgb, var(--color-bg) 78%, white);--color-border: color-mix(in srgb, var(--color-text) 18%, transparent);--color-accent: #754D93;--color-accent-strong: #5b3778;--shadow-soft: 0 1rem 2.5rem color-mix(in srgb, var(--color-text) 12%, transparent);--shadow-tight: 0 .35rem 1rem color-mix(in srgb, var(--color-text) 12%, transparent)}html[data-theme=dark]{min-height:100%;--color-bg: #2F323A;--color-text: #ffffff;--color-surface: color-mix(in srgb, var(--color-bg) 84%, black);--color-surface-strong: color-mix(in srgb, var(--color-bg) 70%, black);--color-border: color-mix(in srgb, var(--color-text) 16%, transparent);--color-accent: #04eeda;--color-accent-strong: #0cac9e;--shadow-soft: 0 1rem 2.5rem rgb(0 0 0 / .28);--shadow-tight: 0 .35rem 1rem rgb(0 0 0 / .24)}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;padding:0;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 92%,white) 0%,var(--color-bg) 42%,color-mix(in srgb,var(--color-bg) 90%,var(--color-text)) 100%);color:var(--color-text);font-family:JetBrains Mono,monospace;font-weight:400;font-size:20px;min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}main{flex:1;display:grid;gap:2rem;padding:0}.page-section{position:relative;z-index:0;min-height:100vh;width:80vw;margin-inline:auto;padding:5rem 0 2.5rem;display:grid;align-content:start;gap:1.25rem}.page-section+.page-section{padding-top:0}.section-anchor{position:relative;visibility:hidden}.theme-toggle-wrap{position:absolute;left:1rem;top:50%;transform:translateY(-50%)}.header-content{position:relative;display:flex;justify-content:center;flex-direction:column;align-items:center;color:#170a1c;text-shadow:#754D93 -.08em .08em .18em;font-size:40px;font-weight:700}.hero-stage{position:sticky;top:0;width:100%;min-height:100vh;margin:0;padding:0;z-index:2}.hero-wrap{position:relative;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;transition:min-height .4s ease}.hero-wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg) 60%,transparent),color-mix(in srgb,var(--color-bg) 92%,transparent));z-index:1}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:2;opacity:.48;filter:saturate(.92) contrast(1.05)}.hero-wrap h2{position:relative;z-index:3;margin:0;max-width:none;text-align:center;transform:translateY(1rem);letter-spacing:0;white-space:nowrap}.hero-wrap h2 span{display:inline}.hero-scrolled .hero-stage,.hero-scrolled .hero-wrap{min-height:10rem}.heading-box{background-color:var(--color-surface-strong);border:.1rem solid var(--color-border);border-radius:.75rem;padding:.9rem 1.25rem;box-shadow:var(--shadow-tight)}.heading-box h2{margin:0;text-align:center;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.1}.heading-box p{text-align:center}.para-box{background-color:var(--color-surface);border:.1rem solid var(--color-border);border-radius:.75rem;padding:clamp(1.15rem,3vw,1.65rem);box-shadow:var(--shadow-soft);z-index:0}.para-box h3,.para-box h4{margin:0;text-align:center;text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:.12rem;text-underline-offset:.35rem}.para-box p{line-height:1.6;margin-top:0;text-align:center;max-width:68ch;margin-inline:auto}.para-box ul{line-height:1.6;margin-top:0;padding-left:1.25rem}.para-box p:last-child{margin-bottom:0}.para-box.skills{display:flex;flex-direction:column}.skills-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem;padding-top:1.5rem}.skills-left,.skills-right{background-color:color-mix(in srgb,var(--color-surface) 92%,var(--color-text));box-shadow:none}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem}.contact-panel{display:grid;align-content:start;gap:1rem;min-width:0;padding:1rem;border:.1rem solid var(--color-border);border-radius:.75rem;background-color:color-mix(in srgb,var(--color-surface) 94%,var(--color-text))}.contact-panel h3,.contact-panel p{margin:0}.form-note{font-size:.85rem;font-weight:600}.form-success,.form-error{display:none;border:.1rem solid var(--color-accent);border-radius:.75rem;padding:.65rem .75rem;background-color:color-mix(in srgb,var(--color-accent) 12%,transparent);font-size:.85rem;font-weight:600}.form-error{border-color:#b00020;background-color:color-mix(in srgb,#b00020 12%,transparent)}.form-success.is-visible,.form-error.is-visible{display:block}.contact-form{display:grid;gap:1rem}.form-hidden{display:none}.form-field{display:grid;gap:.35rem;text-align:left}.form-field span{font-weight:600}.form-field input,.form-field textarea{width:100%;box-sizing:border-box;border:.1rem solid var(--color-border);border-radius:.75rem;padding:.65rem .75rem;background-color:color-mix(in srgb,var(--color-bg) 94%,white);color:var(--color-text);font:inherit;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.form-field textarea{resize:vertical;border-radius:.485rem}.form-field textarea::-webkit-resizer{border-bottom-right-radius:.485rem}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent);outline:.15rem solid color-mix(in srgb,var(--color-accent) 45%,transparent);outline-offset:.15rem;box-shadow:0 0 0 .2rem color-mix(in srgb,var(--color-accent) 12%,transparent)}.form-submit{justify-self:center;border:.1rem solid currentColor;border-radius:.75rem;padding:.65rem 1rem;background-color:var(--color-text);color:var(--color-bg);font:inherit;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.form-submit:hover,.form-submit:focus-visible{background-color:var(--color-accent);transform:translateY(-.08rem)}.social-links{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-top:1rem}.social-links a{display:inline-flex;transition:transform .2s ease}.social-links a:hover,.social-links a:focus-visible{transform:translateY(-.08rem)}.social-links img{display:block;height:2rem}.project-image{width:100%;max-width:480px;aspect-ratio:16/9;object-fit:cover;display:block}.proj-link{color:var(--color-accent);font-weight:600;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:3px;display:inline-block}.proj-link:hover,.proj-link:focus,.proj-link:active{color:var(--color-accent-strong)}footer{display:flex;justify-content:center;align-items:center;background-color:#0f110c;width:100%;color:#e0ebf5;text-align:center;font-weight:600;padding:1rem}html[data-theme=dark] .header-content{text-shadow:-1px -1px 0 #04eeda,1px -1px 0 #04eeda,-1px 1px 0 #04eeda,1px 1px 0 #04eeda,-2px 2px 4px #04eeda}html[data-theme=dark] .para-box.skills-left,html[data-theme=dark] .para-box.skills-right{background-color:color-mix(in srgb,var(--color-surface) 88%,white)}html[data-theme=dark] .proj-link{color:var(--color-accent)}html[data-theme=dark] .proj-link:hover,html[data-theme=dark] .proj-link:focus,html[data-theme=dark] .proj-link:active{color:var(--color-accent-strong)}@media(max-width:1280px){.hero-stage,.hero-wrap,.hero-scrolled .hero-stage,.hero-scrolled .hero-wrap{min-height:8rem;height:8rem;max-height:8rem}.hero-stage{position:fixed;right:0;left:0;top:0}main{padding-top:8rem}}@media(max-width:768px){body{font-size:17px}.page-section{width:min(100% - 1rem,72rem);padding-top:4.25rem}.hero-scrolled .hero-stage,.hero-scrolled .hero-wrap{min-height:8rem}.theme-toggle-wrap{left:.5rem}}@media(max-width:1024px)and (orientation:portrait){.hero-stage,.hero-wrap,.hero-scrolled .hero-stage,.hero-scrolled .hero-wrap{min-height:8rem;height:8rem;max-height:8rem}.hero-stage{position:fixed;right:0;left:0;top:0}main{padding-top:8rem}.hero-wrap h2{display:grid;gap:.15rem;line-height:1.08;transform:none;white-space:normal}.hero-wrap h2 span{display:block}}@media(min-width:391px)and (max-width:640px)and (orientation:portrait){.header-content{font-size:32px}}@media(max-width:390px){html,body{width:100%;max-width:100%;overflow-x:hidden}body{font-size:16px}main{gap:1.25rem}.page-section{width:100%;max-width:100vw;box-sizing:border-box;padding-inline:.375rem;padding-top:4rem;padding-bottom:1.5rem;gap:1rem}.hero-stage,.hero-wrap,.hero-image{width:100%;max-width:100vw}.heading-box,.para-box{width:100%;max-width:100%;box-sizing:border-box;padding:1rem}.heading-box h2{font-size:1.45rem}.header-content{font-size:32px}.hero-wrap h2{display:grid;gap:.15rem;line-height:1.08;white-space:normal}.hero-wrap h2 span{display:block}.para-box h3{font-size:1.05rem}.para-box h4{font-size:.95rem}.skills-row,.contact-grid{gap:1rem}.contact-panel{padding:.85rem}.form-field input,.form-field textarea{padding:.55rem .65rem;font-size:.85rem}.social-links{gap:1.4rem}footer{padding:.85rem .5rem;font-size:.8rem}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;list-style-type:none;margin:0;padding:.35rem .75rem;background-color:#0f110ce0;backdrop-filter:blur(12px);border-bottom:.1rem solid rgba(255,255,255,.08);display:flex;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:600}.navbar>.links{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem}.nav-brand,.nav-menu-toggle{display:none}.navbar>.links>a{display:inline-block;color:#fff;padding:.55rem .8rem;border-radius:.75rem;text-decoration:none;font-size:.9rem;transition:background-color .2s ease,color .2s ease}.navbar>.links>a:hover,.navbar>.links>a:focus-visible{background-color:#ffffff1f;color:#04eeda;outline:none}@media(max-width:1280px){.navbar{min-height:3.25rem;padding:.4rem .75rem;align-items:center;justify-content:center;background-color:transparent;border-bottom:0;backdrop-filter:none}.theme-toggle-wrap{position:absolute;left:.75rem;top:50%;transform:translateY(-50%)}.nav-brand{display:none}.nav-menu-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:inline-grid;place-content:center;gap:.22rem;width:1.85rem;height:1.85rem;padding:0;border:.1rem solid var(--color-bg);border-radius:.75rem;background:var(--color-text);color:var(--color-bg);cursor:pointer}.nav-menu-toggle span{display:block;width:.9rem;height:.1rem;border-radius:999px;background:currentColor}.navbar>.links{position:absolute;top:calc(100% + .35rem);right:.75rem;display:none;min-width:10rem;padding:.5rem;border:.1rem solid rgba(255,255,255,.12);border-radius:.75rem;background-color:#0f110cf0;backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}.navbar>.links.is-open{display:grid;gap:.2rem}.navbar>.links>a{display:block;padding:.55rem .75rem;font-size:.82rem;text-align:left}}@media(max-width:768px){.navbar{padding:.3rem .5rem}.navbar>.links>a{padding:.45rem .5rem;font-size:.78rem}}@media(max-width:1024px)and (orientation:portrait){.navbar{min-height:3.25rem;padding:.4rem .75rem;align-items:center;justify-content:center;background-color:transparent;border-bottom:0;backdrop-filter:none}.theme-toggle-wrap{position:absolute;left:.75rem;top:50%;transform:translateY(-50%)}.nav-brand{display:none}.nav-menu-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:inline-grid;place-content:center;gap:.22rem;width:1.85rem;height:1.85rem;padding:0;border:.1rem solid var(--color-bg);border-radius:.75rem;background:var(--color-text);color:var(--color-bg);cursor:pointer}.nav-menu-toggle span{display:block;width:.9rem;height:.1rem;border-radius:999px;background:currentColor}.navbar>.links{position:absolute;top:calc(100% + .35rem);right:.75rem;display:none;min-width:10rem;padding:.5rem;border:.1rem solid rgba(255,255,255,.12);border-radius:.75rem;background-color:#0f110cf0;backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}.navbar>.links.is-open{display:grid;gap:.2rem}.navbar>.links>a{display:block;padding:.55rem .75rem;font-size:.82rem;text-align:left}}@media(max-width:390px){.navbar{padding:.4rem .55rem}.theme-toggle-wrap{left:.55rem}.nav-menu-toggle{right:.55rem}.nav-brand{font-size:.82rem}}[data-astro-cid-cn3pouft][data-theme-toggle]{display:inline-flex;align-items:center;justify-content:center;padding:.2rem;border-radius:1rem;cursor:pointer;color:var(--color-bg);background-color:var(--color-text);border:.1rem solid var(--color-bg)}.theme-icon[data-astro-cid-cn3pouft]{width:1.25rem;height:1.25rem}.sun-icon[data-astro-cid-cn3pouft],.moon-icon[data-astro-cid-cn3pouft]{display:none}[data-astro-cid-cn3pouft][data-theme-toggle][data-theme=light] .sun-icon[data-astro-cid-cn3pouft],[data-astro-cid-cn3pouft][data-theme-toggle][data-theme=dark] .moon-icon[data-astro-cid-cn3pouft]{display:block;color:var(--color-bg)}.moon-icon[data-astro-cid-cn3pouft]{transform:translateY(-1.5px)}.back-to-top[data-astro-cid-wlspcwf4]{position:fixed;right:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border:.1rem solid var(--color-border);border-radius:.75rem;background-color:color-mix(in srgb,var(--color-bg) 88%,transparent);color:var(--color-text);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background-color .2s ease;box-shadow:var(--shadow-tight);backdrop-filter:blur(8px);z-index:1000}.back-to-top[data-astro-cid-wlspcwf4].is-visible{opacity:1;visibility:visible;pointer-events:auto}.back-to-top[data-astro-cid-wlspcwf4]:hover,.back-to-top[data-astro-cid-wlspcwf4]:focus-visible{background-color:var(--color-text);color:var(--color-bg);transform:translateY(-.1rem)}.back-to-top-icon[data-astro-cid-wlspcwf4]{width:1.25rem;height:1.25rem}
