:root{--primary: #8be9dc;--primary-rgb: 139, 233, 220;--accent-warm: #f6c55d;--accent-warm-rgb: 246, 197, 93;--bg: #081216;--surface: rgba(255, 255, 255, .075);--surface-2: rgba(255, 255, 255, .095);--surface-elev: #111a1d;--fg: #f5f5f5;--fg-muted: rgba(255, 255, 255, .66);--fg-soft: rgba(255, 255, 255, .82);--border: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .24);--shadow-grad: linear-gradient(135deg, rgba(139, 233, 220, .32), rgba(246, 197, 93, .18) 46%, rgba(255, 255, 255, .06));--shadow-grad-inner: linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(139, 233, 220, .07) 52%, rgba(246, 197, 93, .06));--input-bg: linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035));--body-bg: radial-gradient(circle at 78% 8%, rgba(246, 197, 93, .16), transparent 28rem), radial-gradient(circle at 18% 12%, rgba(139, 233, 220, .14), transparent 30rem), repeating-linear-gradient(90deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 96px), repeating-linear-gradient(0deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 96px), linear-gradient(120deg, rgba(8, 18, 22, .98), rgba(11, 12, 15, .98) 48%, rgba(28, 24, 12, .92));--glass-shadow: 0 24px 80px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .12);--header-shadow: 0 16px 48px rgba(0, 0, 0, .18);--btn-bg: rgba(255, 255, 255, .12);--btn-fg: #ffffff;--btn-hover-bg: var(--accent-warm);--btn-hover-fg: #15120a;--danger: #e35d6a;--ok: #4fd18b;--motion-ease-out: cubic-bezier(.16, 1, .3, 1);--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--motion-route-duration: .28s;--motion-reveal-duration: .64s;--motion-stagger: 45ms;color-scheme:dark}html[data-theme=light]{--primary: #4c68df;--primary-rgb: 76, 104, 223;--bg: #f7f9fc;--surface: rgba(255, 255, 255, .78);--surface-2: rgba(255, 255, 255, .58);--surface-elev: #ffffff;--fg: #0f0f0f;--fg-muted: #6b6b6f;--fg-soft: #555;--border: rgba(35, 48, 82, .1);--border-strong: rgba(35, 48, 82, .18);--shadow-grad: linear-gradient(135deg, rgba(76, 104, 223, .16), rgba(139, 233, 220, .14) 48%, rgba(246, 197, 93, .1));--shadow-grad-inner: linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .42) 50%, rgba(76, 104, 223, .055));--input-bg: linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(236, 242, 250, .72));--body-bg: radial-gradient(circle at 78% 0%, rgba(246, 197, 93, .12), transparent 28rem), radial-gradient(circle at 14% 12%, rgba(139, 233, 220, .16), transparent 30rem), radial-gradient(circle at 46% 36%, rgba(76, 104, 223, .08), transparent 34rem), linear-gradient(120deg, #f8fbff, #f2f6fb 48%, #fbf7ed);--glass-shadow: 0 18px 58px rgba(38, 52, 82, .12), inset 0 1px 0 rgba(255, 255, 255, .78);--header-shadow: 0 14px 42px rgba(38, 52, 82, .12);--btn-bg: #323232;--btn-fg: #ffffff;--btn-hover-bg: var(--primary);--btn-hover-fg: #ffffff;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--body-bg);background-attachment:fixed;color:var(--fg-muted);font-size:14px;line-height:1.5;scroll-behavior:smooth}@media(prefers-reduced-motion:no-preference){@keyframes route-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.992)}}@keyframes route-fade-in{0%{opacity:0;transform:translateY(10px) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes route-content-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-up{0%{opacity:.001;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-soft{0%{opacity:.001;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-route-duration);animation-timing-function:var(--motion-ease-standard);mix-blend-mode:normal}::view-transition-old(root){animation-name:route-fade-out}::view-transition-new(root){animation-name:route-fade-in}app-site-header{view-transition-name:site-header}::view-transition-old(site-header),::view-transition-new(site-header){animation-duration:.18s;animation-timing-function:var(--motion-ease-standard);mix-blend-mode:normal}.app-main>router-outlet+*{display:block;animation:route-content-in .42s var(--motion-ease-out) both}app-site-header,app-site-footer{animation:reveal-soft var(--motion-reveal-duration) var(--motion-ease-out) both}app-site-footer{animation-delay:80ms}:where(.section-heading,app-shadow-box,.page__title,.credential-section,.work-sidebar>*,.prose,.contact-grid>*,.stats,.cta,.project,.post,.cred){animation:reveal-up var(--motion-reveal-duration) var(--motion-ease-out) both;animation-delay:calc(var(--motion-order, 0) * var(--motion-stagger))}.grid>*:nth-child(1),.stack>*:nth-child(1){--motion-order: 1}.grid>*:nth-child(2),.stack>*:nth-child(2){--motion-order: 2}.grid>*:nth-child(3),.stack>*:nth-child(3){--motion-order: 3}.grid>*:nth-child(4){--motion-order: 4}.grid>*:nth-child(5){--motion-order: 5}.grid>*:nth-child(6){--motion-order: 6}@supports (animation-timeline: view()){:where(.section-heading,app-shadow-box,.credential-section,.work-sidebar>*,.prose,.contact-grid>*,.stats,.cta,.project,.post,.cred){animation-name:reveal-up;animation-duration:1ms;animation-delay:0ms;animation-fill-mode:both;animation-timeline:view();animation-range:entry 0% cover 24%}}@supports not (animation-timeline: view()){:where(.home__row,.credential-section,.work-layout,.contact-grid){content-visibility:auto;contain-intrinsic-size:360px}}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),::view-transition-old(site-header),::view-transition-new(site-header){animation:none!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none;margin:0;padding:0}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,h4,h5{color:var(--fg);margin:0;line-height:1.2}.container{width:100%;max-width:1170px;margin-inline:auto;padding-inline:1rem}.section{padding-block:40px}.section--lg{padding-block:65px}.stack{display:flex;flex-direction:column;gap:24px;min-width:0}.stack>*{min-height:0}.stack>.flex-1{flex:1}.row-24{display:flex;gap:24px;flex-wrap:wrap}.flex-1{flex:1;min-width:0}.section-heading{color:var(--fg);font-size:clamp(2rem,6vw,74px);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;display:flex;align-items:center;gap:14px;justify-content:center;text-align:center;margin-block:2px 24px}.theme-btn{background:var(--btn-bg);color:var(--btn-fg);display:inline-flex;align-items:center;gap:.5rem;border:0;border-radius:16px;font-size:16px;font-weight:500;padding:12px 30px;transition:transform .2s ease;text-decoration:none}.theme-btn:hover{background:var(--btn-hover-bg);color:var(--btn-hover-fg)}.theme-btn--block{width:100%;justify-content:center}.input-group{margin-bottom:16px}.input-group input,.input-group textarea,.input-group select{width:100%;border:none;background:var(--input-bg);color:var(--fg);border-radius:12px;padding:17px 20px;font:inherit}.input-group input::placeholder,.input-group textarea::placeholder,.input-group select::placeholder{color:var(--fg-muted)}.input-group input:focus,.input-group textarea:focus,.input-group select:focus{outline:2px solid var(--primary);outline-offset:1px}.input-group textarea{resize:vertical;min-height:145px}.alert{padding:.85rem 1rem;border-radius:12px;border:1px solid var(--border)}.alert--ok{background:#4fd18b1a;border-color:#4fd18b66;color:var(--ok)}.alert--err{background:#e35d6a1a;border-color:#e35d6a66;color:var(--danger)}.page{padding-block:40px}.page__title{margin-bottom:24px}.meta{color:var(--fg-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.grid{display:grid;gap:24px}.grid>*{min-width:0}.grid--2,.grid--3{grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.grid--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.section,.section--lg{padding-block:32px}}
