@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--hero-credential-progress-angle:0deg}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-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{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f7f8fb;--surface:#fff;--surface-alt:#eef1f8;--text:#111827;--muted:#5d687c;--line:#121f391f;--accent:#635bff;--accent-2:#14b8a6;--header:#f7f8fbc7}.dark{--bg:#090b12;--surface:#11141e;--surface-alt:#161a27;--text:#f4f7fb;--muted:#aab3c4;--line:#e0e8ff1f;--accent:#8a83ff;--accent-2:#45d6c5;--header:#090b12c2}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}}.container{width:min(1120px,100% - 40px);margin-inline:auto}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex}.brand,.nav-actions,.nav-links,.footer-links,.social-links{align-items:center;display:flex}.brand{letter-spacing:-.02em;gap:10px;min-width:0;font-weight:700}.nav-logo{object-fit:contain;width:34px;height:34px}.brand-name{white-space:nowrap;font-size:.94rem}.nav-links{gap:4px}.nav-link{color:var(--muted);border-radius:7px;padding:7px 11px;font-size:.9rem;transition:color .2s,background .2s}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-alt)}.nav-actions{gap:8px}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:9px;place-items:center;padding:0;display:grid}.language-toggle{border:1px solid var(--line);border-radius:9px;gap:1px;padding:3px;display:flex}.language-toggle button{color:var(--muted);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 6px;font-size:.7rem;font-weight:800}.language-toggle button.active{color:var(--text);background:var(--surface-alt)}.hero{isolation:isolate;align-items:center;min-height:min(760px,100vh - 72px);padding:84px 0;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.hero-glow{z-index:-1;filter:blur(10px);opacity:.18;pointer-events:none;border-radius:999px;position:absolute}.hero-glow-one{background:var(--accent);width:450px;height:450px;top:-220px;left:-90px}.hero-glow-two{background:var(--accent-2);width:420px;height:420px;bottom:-270px;right:-130px}.hero-content{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-logo-wrap{border:1px solid var(--line);background:var(--surface);border-radius:30px;place-items:center;width:150px;height:150px;padding:22px;display:grid}@supports (color:color-mix(in lab, red, red)){.hero-logo-wrap{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.hero-logo-wrap{box-shadow:0 22px 70px var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-logo-wrap{box-shadow:0 22px 70px color-mix(in srgb, var(--accent) 14%, transparent)}}.hero-logo{object-fit:contain;width:112px;height:112px}.eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:7px;margin:25px 0 12px;font-size:.76rem;font-weight:800;display:flex}.status-dot{background:var(--accent-2);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-2);border-radius:50%;flex:none;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-2) 16%, transparent)}}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.08}h1{max-width:860px;margin-bottom:13px;font-size:clamp(2.65rem,7vw,5.7rem)}.hero-title{color:var(--accent);margin-bottom:18px;font-size:clamp(1.1rem,2vw,1.42rem);font-weight:700}.hero-intro{max-width:610px;color:var(--muted);margin-bottom:30px;font-size:1.06rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 17px;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--text);color:var(--bg);box-shadow:0 10px 25px var(--text)}@supports (color:color-mix(in lab, red, red)){.button-primary{box-shadow:0 10px 25px color-mix(in srgb, var(--text) 15%, transparent)}}.dark .button-primary{color:#10131d;background:#f5f7fb}.button-secondary{border-color:var(--line);background:var(--surface)}.social-links{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:25px}.hero-credentials{width:100%;margin-top:25px}.hero-credentials-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:9px;font-size:.72rem;font-weight:800}.hero-credential-carousel{width:min(100%,640px);margin-inline:auto}.hero-credential-stage{grid-template-columns:30px minmax(0,560px) 30px;align-items:center;gap:10px;display:grid}.hero-credential-viewport{touch-action:pan-y;min-width:0;margin:-4px;padding:4px;overflow:hidden}.hero-credential-frame{border-radius:14px;transition:transform .2s,box-shadow .2s;animation:.36s cubic-bezier(.22,1,.36,1) both hero-credential-enter;position:relative}.hero-credential-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;padding:13px 15px;display:grid}@supports (color:color-mix(in lab, red, red)){.hero-credential-card{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.hero-credential-card{box-shadow:0 12px 35px var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-credential-card{box-shadow:0 12px 35px color-mix(in srgb, var(--accent) 8%, transparent)}}.hero-credential-card{text-align:left;transition:border-color .2s,box-shadow .2s}.hero-credential-frame:hover{box-shadow:0 16px 38px var(--accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.hero-credential-frame:hover{box-shadow:0 16px 38px color-mix(in srgb, var(--accent) 13%, transparent)}}.hero-credential-frame:hover .hero-credential-card{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-credential-frame:hover .hero-credential-card{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}}.hero-credential-frame:hover .hero-credential-card{box-shadow:none}.hero-credential-logo{background:var(--surface-alt);border-radius:12px;place-items:center;width:64px;height:64px;padding:7px;display:grid}@supports (color:color-mix(in lab, red, red)){.hero-credential-logo{background:color-mix(in srgb, var(--surface-alt) 80%, transparent)}}.hero-credential-logo img{object-fit:contain;width:100%;height:100%}.hero-credential-copy{gap:3px;min-width:0;display:grid}.hero-credential-copy strong{overflow-wrap:anywhere;line-height:1.3}.hero-credential-copy>span:last-child{color:var(--muted);font-size:.8rem}.hero-credential-status{color:var(--accent-2);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;font-size:.71rem;font-weight:800;display:inline-flex}.hero-credential-arrow{color:var(--accent)}.hero-credential-dots{justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.hero-credential-control,.hero-credential-dots button{border:1px solid var(--line);color:var(--muted);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.hero-credential-control,.hero-credential-dots button{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.hero-credential-control,.hero-credential-dots button{cursor:pointer}.hero-credential-control{border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid}.hero-credential-control:hover{color:var(--text);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-credential-control:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}}.hero-credential-dots button{border-radius:50%;width:8px;height:8px;padding:0;transition:width .2s,border-color .2s,background .2s}.hero-credential-dots button.active{border-color:var(--accent);background:var(--accent);border-radius:999px;width:20px}@property --hero-credential-progress-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.hero-credential-border-progress{--hero-credential-progress-angle:0deg;z-index:1;border-radius:inherit;background:conic-gradient(from calc(180deg - var(--hero-credential-progress-angle)), var(--accent) 0 calc(var(--hero-credential-progress-angle) + var(--hero-credential-progress-angle)), transparent 0);pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:2px;animation:5s linear forwards hero-credential-border-progress;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hero-credential-border-progress.paused{animation:none}@keyframes hero-credential-enter{0%{opacity:0;transform:translate(18px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes hero-credential-border-progress{to{--hero-credential-progress-angle:180deg}}@media (prefers-reduced-motion:reduce){.hero-credential-frame,.hero-credential-card,.hero-credential-dots button{transition:none}.hero-credential-frame{animation:none}.hero-credential-border-progress{--hero-credential-progress-angle:180deg;animation:none}}.social-link{color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:.84rem;transition:color .2s,background .2s;display:inline-flex}.social-link:hover{color:var(--text);background:var(--surface-alt)}.section{padding:96px 0}.section-soft{background:var(--surface-alt)}@supports (color:color-mix(in lab, red, red)){.section-soft{background:color-mix(in srgb, var(--surface-alt) 55%, transparent)}}.section-soft{border-block:1px solid var(--line)}.section-last{padding-bottom:112px}.section-heading{max-width:675px;margin-bottom:38px}.section-heading .eyebrow,.page-hero .eyebrow,.cv-callout .eyebrow{margin-top:0}.section-heading h2,.social-panel h2,.cv-callout h2{margin-bottom:13px;font-size:clamp(2rem,4vw,3.15rem)}.section-heading>p:last-child,.social-panel>div>p:last-child,.cv-callout p{color:var(--muted)}.split-heading{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:70px;max-width:none;display:grid}.text-link{color:var(--accent);align-items:center;gap:6px;margin-top:13px;font-size:.9rem;font-weight:700;display:inline-flex}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.project-grid-full{grid-template-columns:1fr}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000000a}.project-gallery{border-bottom:1px solid var(--line);background:#111827;height:clamp(280px,36vw,410px);position:relative;overflow:hidden}.project-card-compact .project-gallery{height:210px}.project-screenshot{object-fit:contain}.project-gallery-controls{z-index:1;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d14d1;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px}.project-gallery-controls button{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.project-gallery-controls button:hover,.project-gallery-controls button:focus-visible{background:#ffffff29}.project-gallery-controls span{text-align:center;min-width:44px;font-size:.75rem;font-weight:700}.project-body{padding:25px}.project-heading{justify-content:space-between;gap:15px;display:flex}.project-status{color:var(--muted);align-items:center;gap:7px;margin-bottom:9px;font-size:.76rem;font-weight:700;display:flex}.project-heading h3{margin-bottom:0;font-size:1.38rem}.project-arrow{color:var(--accent)}.project-description{min-height:75px;color:var(--muted);margin:18px 0;font-size:.93rem}.tags{flex-wrap:wrap;gap:7px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);background:var(--surface-alt);border-radius:999px;padding:4px 8px}@supports (color:color-mix(in lab, red, red)){.tag{background:color-mix(in srgb, var(--surface-alt) 55%, transparent)}}.tag{font-size:.73rem;font-weight:700}.project-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 16px;margin-top:22px;padding-top:18px;display:flex}.project-links a{color:var(--accent);align-items:center;gap:5px;font-size:.82rem;font-weight:700;display:inline-flex}.project-documentation{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.project-documentation-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.project-documentation-heading h4{margin:0 0 4px;font-size:1rem}.project-documentation-heading p,.project-document-language-note,.project-document-message{color:var(--muted);font-size:.82rem}.project-document-language-note{border-left:3px solid var(--accent);background:var(--surface-alt);margin:-4px 0 14px;padding:9px 11px}@supports (color:color-mix(in lab, red, red)){.project-document-language-note{background:color-mix(in srgb, var(--surface-alt) 70%, transparent)}}.project-document-list{gap:9px;display:grid}.project-document-disclosure{border:1px solid var(--line);background:var(--surface-alt);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.project-document-disclosure{background:color-mix(in srgb, var(--surface-alt) 48%, transparent)}}.project-document-disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;list-style:none;display:flex}.project-document-disclosure summary::-webkit-details-marker{display:none}.project-document-disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}.project-document-disclosure summary span{gap:3px;display:grid}.project-document-disclosure summary strong{font-size:.9rem}.project-document-disclosure summary small{color:var(--muted);font-size:.71rem}.project-document-disclosure summary svg{color:var(--accent);flex:none;transition:transform .2s}.project-document-disclosure[open] summary svg{transform:rotate(180deg)}.project-document-content{border-top:1px solid var(--line);padding:2px 16px 16px}.project-markdown{color:var(--muted);padding-top:16px;font-size:.87rem}.project-markdown h2,.project-markdown h3{color:var(--text)}.project-markdown h2{margin:24px 0 10px;font-size:1.06rem}.project-markdown h2:first-child{margin-top:0}.project-markdown h3{margin:19px 0 8px;font-size:.94rem}.project-markdown p,.project-markdown ul,.project-markdown ol{margin:8px 0}.project-markdown ul,.project-markdown ol{padding-left:20px}.project-markdown li+li{margin-top:5px}.project-markdown code{color:var(--text);background:var(--surface);border-radius:4px;padding:1px 4px;font-size:.82em}.project-markdown table{border-collapse:collapse;width:100%;margin:12px 0}.project-markdown th,.project-markdown td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px}.project-document-message{margin:14px 0}.project-document-source{color:var(--accent);align-items:center;gap:5px;margin-top:13px;font-size:.8rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.project-document-disclosure summary svg{transition:none}}.skills-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.skill-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:24px}.skill-card h3{margin-bottom:18px;font-size:1.15rem}.github-contributions-section{padding-top:64px}.github-contribution-card{--contribution-0:var(--surface-alt)}@supports (color:color-mix(in lab, red, red)){.github-contribution-card{--contribution-0:color-mix(in srgb, var(--surface-alt) 82%, var(--line))}}.github-contribution-card{--contribution-1:var(--accent)}@supports (color:color-mix(in lab, red, red)){.github-contribution-card{--contribution-1:color-mix(in srgb, var(--accent) 24%, var(--surface))}}.github-contribution-card{--contribution-2:var(--accent)}@supports (color:color-mix(in lab, red, red)){.github-contribution-card{--contribution-2:color-mix(in srgb, var(--accent) 52%, var(--surface))}}.github-contribution-card{--contribution-3:var(--accent)}@supports (color:color-mix(in lab, red, red)){.github-contribution-card{--contribution-3:color-mix(in srgb, var(--accent) 72%, var(--accent-2))}}.github-contribution-card{--contribution-4:var(--accent-2);border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:26px;box-shadow:0 8px 32px #0000000a}.github-contribution-header,.github-contribution-header>div,.github-contribution-header a,.github-contribution-footer,.github-contribution-legend{align-items:center;display:flex}.github-contribution-header{justify-content:space-between;gap:18px;margin-bottom:22px}.github-contribution-header>div,.github-contribution-header a{gap:8px}.github-contribution-header strong{font-size:.96rem}.github-contribution-header a{color:var(--accent);white-space:nowrap;font-size:.82rem;font-weight:700}.github-contribution-scroll{scrollbar-color:var(--muted) transparent;padding:2px 2px 13px;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.github-contribution-scroll{scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent}}.github-contribution-scroll{scrollbar-width:thin}.github-contribution-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.github-contribution-chart{grid-template-columns:30px max-content;gap:8px;min-width:max-content;display:grid}.github-weekday-labels{color:var(--muted);grid-template-rows:repeat(7,11px);gap:3px;padding-top:22px;font-size:.62rem;line-height:11px;display:grid}.github-month-labels,.github-contribution-weeks{grid-auto-columns:11px;grid-auto-flow:column;gap:3px;display:grid}.github-month-labels{height:18px;color:var(--muted);margin-bottom:4px;font-size:.67rem;line-height:1}.github-month-labels span{white-space:nowrap;overflow:visible}.github-contribution-week{grid-template-rows:repeat(7,11px);gap:3px;display:grid}.github-contribution-day,.github-contribution-day-empty,.github-contribution-legend i{border-radius:2px;width:11px;height:11px;display:block}.github-contribution-day,.github-contribution-legend i{background:var(--contribution-0)}.github-contribution-day[data-level="1"],.github-contribution-legend i[data-level="1"]{background:var(--contribution-1)}.github-contribution-day[data-level="2"],.github-contribution-legend i[data-level="2"]{background:var(--contribution-2)}.github-contribution-day[data-level="3"],.github-contribution-legend i[data-level="3"]{background:var(--contribution-3)}.github-contribution-day[data-level="4"],.github-contribution-legend i[data-level="4"]{background:var(--contribution-4)}.github-contribution-day{transition:transform .14s,box-shadow .14s}.github-contribution-day:hover{z-index:1;box-shadow:0 0 0 1px var(--surface);transform:scale(1.45)}.github-contribution-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:18px;margin-top:9px;padding-top:17px;font-size:.72rem}.github-contribution-legend{white-space:nowrap;gap:4px}.github-contribution-legend span:first-child{margin-right:3px}.github-contribution-legend span:last-child{margin-left:3px}.github-contribution-fallback{color:var(--muted);background:var(--surface-alt);border-radius:12px;margin:0;padding:22px}.social-panel{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent), var(--surface));border-radius:20px;grid-template-columns:1fr minmax(310px,.8fr);align-items:center;gap:70px;padding:46px;display:grid}@supports (color:color-mix(in lab, red, red)){.social-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--surface)), var(--surface))}}.social-action-list{gap:9px;display:grid}.social-action{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:22px 1fr 20px;align-items:center;gap:10px;padding:14px 15px;display:grid}@supports (color:color-mix(in lab, red, red)){.social-action{background:color-mix(in srgb, var(--surface) 80%, transparent)}}.social-action{font-size:.9rem;font-weight:700;transition:transform .2s,border-color .2s}.social-action:hover{border-color:var(--accent);transform:translate(4px)}@supports (color:color-mix(in lab, red, red)){.social-action:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}}.cv-callout{color:#f7f8ff;background:linear-gradient(115deg,#534bdb,#756ef2 52%,#21a89d);border-radius:18px;justify-content:space-between;align-items:center;gap:35px;padding:46px;display:flex}.cv-callout .eyebrow{color:#e4e2ff}.cv-callout p{color:#ececff;max-width:640px;margin-bottom:0}.cv-callout .button-primary{color:#332e86;white-space:nowrap;background:#fff}.page-hero{background:radial-gradient(circle at 12% 0%, var(--accent), transparent 34%);padding:110px 0 65px}@supports (color:color-mix(in lab, red, red)){.page-hero{background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 34%)}}.page-hero{border-bottom:1px solid var(--line)}.page-hero h1{max-width:760px;margin-bottom:18px;font-size:clamp(2.8rem,6vw,5rem)}.page-hero>.container>p:last-of-type{max-width:690px;color:var(--muted);font-size:1.06rem}.cv-download-wrap{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:27px;font-size:.88rem;display:flex}.cv-document-section{padding-bottom:0}.cv-document-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.cv-document-heading .eyebrow{margin-top:0}.cv-document-heading h2{margin-bottom:0;font-size:clamp(2rem,4vw,3rem)}.cv-document-shell{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000000a}.cv-document{border:0;width:100%;height:min(1120px,100vh - 110px);min-height:720px;display:block}.cv-document p{color:var(--muted);padding:28px}.cv-document a{color:var(--accent);font-weight:700}.cv-layout{grid-template-columns:.9fr 1.1fr;gap:22px;display:grid}.cv-profile-card,.cv-details article{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:30px}.cv-profile-card{background:linear-gradient(155deg, var(--accent), var(--surface))}@supports (color:color-mix(in lab, red, red)){.cv-profile-card{background:linear-gradient(155deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface))}}.cv-mark{background:var(--accent);color:#fff;border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:32px;display:grid}.cv-profile-card h2,.cv-details h2{margin-bottom:11px;font-size:1.45rem}.cv-profile-card>p:last-of-type,.cv-details p{color:var(--muted)}.cv-contact{border-top:1px solid var(--line);color:var(--accent);gap:6px;margin-top:25px;padding-top:20px;font-size:.84rem;font-weight:700;display:grid}.cv-details{gap:22px;display:grid}.cv-details article>svg{color:var(--accent);margin-bottom:18px}.cv-details ul{color:var(--muted);gap:10px;margin:16px 0 0;padding-left:19px;display:grid}.footer{border-top:1px solid var(--line)}.footer-inner{min-height:90px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:.82rem;display:flex}.footer-inner p{margin:0}.footer-links{flex-wrap:wrap;gap:16px}.footer-link{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.footer-link:hover{color:var(--text)}@media (max-width:800px){.github-contributions-section{padding-top:0}.nav{gap:12px;min-height:64px}.brand-name{display:none}.nav-links{order:3;gap:0}.nav-link{padding-inline:7px}.section{padding:72px 0}.split-heading,.social-panel,.cv-layout{grid-template-columns:1fr;gap:28px}.skills-grid{grid-template-columns:1fr}.social-panel,.cv-callout{padding:30px}.github-contribution-card{padding:22px}.cv-callout{flex-direction:column;align-items:flex-start}}@media (max-width:560px){body{min-width:0}.container{width:min(100% - 28px,1120px)}.project-gallery{height:clamp(250px,75vw,330px)}.project-card-compact .project-gallery{height:230px}.cv-document-heading{flex-direction:column;align-items:flex-start}.cv-document{height:75vh;min-height:560px}.nav-links{display:none}.nav{justify-content:space-between}.hero{min-height:calc(100vh - 64px);padding:56px 0}.hero-logo-wrap{border-radius:25px;width:126px;height:126px;padding:19px}.hero-logo{width:90px;height:90px}.hero-intro{font-size:.98rem}.hero-credential-stage{display:block}.hero-credential-control{display:none}.hero-credential-card{grid-template-columns:54px minmax(0,1fr) auto;gap:11px;padding:12px}.hero-credential-logo{width:54px;height:54px;padding:6px}.hero-credential-copy strong{font-size:.92rem}.hero-credential-copy>span:last-child{font-size:.74rem}.project-grid{grid-template-columns:1fr}.project-body{padding:21px}.project-description{min-height:0}.section-heading{margin-bottom:28px}.github-contribution-header,.github-contribution-footer{flex-direction:column;align-items:flex-start}.github-contribution-card{padding:18px}.page-hero{padding:76px 0 45px}.footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:20px 0}.footer-links{gap:11px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
