@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--p-accent: #0f766e;--p-accent-2: #0369a1;--p-accent-3: #4f46e5;--p-accent-rgb: 15, 118, 110;--p-on-accent: #ffffff;--p-gradient: linear-gradient(120deg, #0f766e 0%, #0369a1 50%, #4f46e5 100%);--p-gradient-soft: linear-gradient( 120deg, rgba(15, 118, 110, .12), rgba(3, 105, 161, .08) 50%, rgba(79, 70, 229, .1) );--p-bg: #f7f9fb;--p-bg-soft: #eef2f6;--p-surface: rgba(255, 255, 255, .82);--p-surface-2: rgba(255, 255, 255, .97);--p-surface-strong: rgba(255, 255, 255, .86);--p-surface-sunken: rgba(11, 18, 32, .04);--p-hairline: rgba(255, 255, 255, .95);--p-text: #0b1220;--p-text-muted: #4a5568;--p-text-faint: #6b7686;--p-border: rgba(11, 18, 32, .09);--p-border-strong: rgba(11, 18, 32, .16);--p-border-accent: rgba(var(--p-accent-rgb), .45);--p-shadow-sm: 0 1px 2px rgba(13, 19, 38, .05), 0 2px 8px -4px rgba(13, 19, 38, .08);--p-shadow-md: 0 4px 12px -6px rgba(13, 19, 38, .12), 0 12px 32px -18px rgba(13, 19, 38, .22);--p-shadow-lg: 0 8px 24px -10px rgba(13, 19, 38, .14), 0 30px 60px -30px rgba(13, 19, 38, .3);--p-glow: 0 0 0 1px rgba(var(--p-accent-rgb), .2), 0 18px 50px -22px rgba(var(--p-accent-rgb), .5);--p-shadow: var(--p-shadow-md);--r-xs: 8px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--r-pill: 999px;--section-y: clamp(3.75rem, 8vw, 7rem);--gutter: clamp(1rem, 4vw, 2rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .16s;--dur: .28s;--dur-slow: .5s;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;--ed-bg: #0a0f1c;--ed-bar: #0e1526;--ed-border: rgba(148, 163, 184, .16);--ed-text: #d8e1ee;--ed-muted: #7d8aa3;--ed-accent: #5eead4;--syn-keyword: #c4b5fd;--syn-string: #6ee7b7;--syn-function: #7dd3fc;--syn-number: #fcd34d;--syn-property: #a5b4fc;--syn-punctuation: #94a3b8;--syn-comment: #64748b;--cf-keyword: #6d28d9;--cf-string: #047857;--cf-type: #0369a1;--cf-function: #0f766e;--cf-number: #b45309;--cf-punctuation: #475569;--cf-comment: #64748b}[data-theme=dark]{--p-accent: #2dd4bf;--p-accent-2: #38bdf8;--p-accent-3: #818cf8;--p-accent-rgb: 45, 212, 191;--p-on-accent: #04121a;--p-gradient: linear-gradient(120deg, #2dd4bf 0%, #38bdf8 50%, #818cf8 100%);--p-gradient-soft: linear-gradient( 120deg, rgba(45, 212, 191, .16), rgba(56, 189, 248, .08) 50%, rgba(129, 140, 248, .14) );--p-bg: #05070d;--p-bg-soft: #090d17;--p-surface: rgba(255, 255, 255, .032);--p-surface-2: rgba(255, 255, 255, .065);--p-surface-strong: rgba(8, 12, 22, .74);--p-surface-sunken: rgba(0, 0, 0, .28);--p-hairline: rgba(255, 255, 255, .14);--p-text: #e6edf7;--p-text-muted: #9ba8bd;--p-text-faint: #7a879c;--p-border: rgba(255, 255, 255, .08);--p-border-strong: rgba(255, 255, 255, .16);--cf-keyword: #c4b5fd;--cf-string: #6ee7b7;--cf-type: #7dd3fc;--cf-function: #5eead4;--cf-number: #fcd34d;--cf-punctuation: #94a3b8;--cf-comment: #64748b;--p-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--p-shadow-md: 0 10px 30px -18px rgba(0, 0, 0, .9);--p-shadow-lg: 0 24px 60px -30px rgba(0, 0, 0, 1);--p-glow: 0 0 0 1px rgba(var(--p-accent-rgb), .28), 0 24px 60px -28px rgba(var(--p-accent-rgb), .45)}html{scroll-behavior:smooth;scroll-padding-top:6rem;-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body.portfolio-body{font-family:var(--font-sans);background:var(--p-bg);color:var(--p-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color var(--dur-slow) var(--ease-out),color var(--dur-slow) var(--ease-out)}.portfolio-body h1,.portfolio-body h2,.portfolio-body h3,.portfolio-body h4,.portfolio-body h5,.portfolio-body h6,.portfolio-body .display-font{font-family:var(--font-display);letter-spacing:-.022em;text-wrap:balance}.portfolio-body p{text-wrap:pretty}.mono{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em}::selection{background:rgba(var(--p-accent-rgb),.28);color:var(--p-text)}.portfolio-body :focus-visible{outline:2px solid var(--p-accent);outline-offset:3px;border-radius:var(--r-xs)}.portfolio-body a{text-decoration:none;color:inherit}.skip-link{position:fixed;top:.75rem;left:50%;transform:translate(-50%,-200%);z-index:4000;padding:.65rem 1.1rem;border-radius:var(--r-pill);background:var(--p-accent);color:var(--p-on-accent);font-weight:600;font-size:.9rem;transition:transform var(--dur) var(--ease-out)}.skip-link:focus-visible{transform:translate(-50%);color:var(--p-on-accent)}.bg-blobs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.bg-blobs:before,.bg-blobs:after{content:"";position:absolute;width:min(46rem,92vw);aspect-ratio:1;border-radius:50%;filter:blur(120px);opacity:.26;will-change:transform}.bg-blobs:before{background:radial-gradient(circle,var(--p-accent),transparent 68%);top:-22%;left:-14%;animation:drift-a 26s ease-in-out infinite alternate}.bg-blobs:after{background:radial-gradient(circle,var(--p-accent-2),transparent 68%);bottom:-26%;right:-16%;animation:drift-b 32s ease-in-out infinite alternate}[data-theme=dark] .bg-blobs:before{opacity:.22}[data-theme=dark] .bg-blobs:after{opacity:.16}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--p-border) 1px,transparent 1px),linear-gradient(to bottom,var(--p-border) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 55% at 50% 0%,#000 15%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse 80% 55% at 50% 0%,#000 15%,transparent 72%);opacity:.6}.cursor-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(var(--p-accent-rgb),.55) 1px,transparent 1.6px);background-size:22px 22px;mask-image:radial-gradient(170px circle at var(--x, -100vw) var(--y, -100vh),#000 0%,transparent 72%);-webkit-mask-image:radial-gradient(170px circle at var(--x, -100vw) var(--y, -100vh),#000 0%,transparent 72%);opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}@keyframes drift-a{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}@keyframes drift-b{to{transform:translate3d(-5vw,-5vh,0) scale(1.08)}}.glass{position:relative;background:var(--p-surface);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--p-border);border-radius:var(--r-lg);box-shadow:var(--p-shadow-sm);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.glass:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--p-hairline),transparent);opacity:.8;pointer-events:none}.glass:hover{border-color:var(--p-border-strong);box-shadow:var(--p-shadow-md)}.card-interactive{overflow:hidden;isolation:isolate}.card-interactive:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(18rem circle at var(--mx, 50%) var(--my, 0%),rgba(var(--p-accent-rgb),.16),transparent 60%),var(--p-gradient-soft);opacity:0;transition:opacity var(--dur) var(--ease-out);pointer-events:none;z-index:-1}.card-interactive:hover,.card-interactive:focus-within{transform:translateY(-6px);border-color:var(--p-border-accent);box-shadow:var(--p-glow)}.card-interactive:hover:after,.card-interactive:focus-within:after{opacity:1}.btn-gradient,.btn-ghost,.btn-soft{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.5rem;border-radius:var(--r-pill);font-weight:600;font-size:.95rem;line-height:1.2;letter-spacing:-.01em;cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.btn-gradient{position:relative;overflow:hidden;background:var(--p-gradient);color:var(--p-on-accent)!important;border:none;box-shadow:0 10px 26px -12px rgba(var(--p-accent-rgb),.9)}.btn-gradient:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.3),transparent 80%);transform:translate(-120%);transition:transform .7s var(--ease-out)}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(var(--p-accent-rgb),1);color:var(--p-on-accent)}.btn-gradient:hover:after{transform:translate(120%)}.btn-gradient:active{transform:translateY(0)}.btn-ghost{background:var(--p-surface);border:1px solid var(--p-border-strong);color:var(--p-text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-ghost:hover{border-color:var(--p-border-accent);color:var(--p-accent);transform:translateY(-2px);box-shadow:var(--p-shadow-sm)}.btn-ghost:active{transform:translateY(0)}.btn-soft{background:rgba(var(--p-accent-rgb),.1);border:1px solid rgba(var(--p-accent-rgb),.22);color:var(--p-accent)}.btn-soft:hover{background:rgba(var(--p-accent-rgb),.16);color:var(--p-accent);transform:translateY(-2px)}[data-magnetic]{transition-property:box-shadow,background-color,border-color,color}.btn-sm{padding:.5rem 1.05rem;font-size:.85rem}.btn-xs{padding:.38rem .85rem;font-size:.8rem}.btn-block{width:100%}.btn-gradient:disabled,.btn-ghost:disabled,.btn-soft:disabled,.btn-gradient[aria-disabled=true],.btn-ghost[aria-disabled=true]{opacity:.45;pointer-events:none;box-shadow:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:var(--r-pill);border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text);transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.icon-btn:hover{color:var(--p-accent);border-color:var(--p-border-accent);transform:translateY(-2px)}.gradient-text{background:var(--p-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.accent-text{color:var(--p-accent)}.p-navbar{position:sticky;top:0;z-index:1030;background:transparent;border-bottom:1px solid transparent;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.p-navbar[data-scrolled=true]{background:var(--p-surface-strong);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom-color:var(--p-border);box-shadow:var(--p-shadow-sm)}.p-navbar__inner{display:flex;align-items:center;gap:.6rem;min-height:4.25rem}.p-brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-weight:700;color:var(--p-text);margin-right:auto}.p-brand__mark{width:2.25rem;height:2.25rem;border-radius:var(--r-sm);background:var(--p-gradient);color:var(--p-on-accent);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;box-shadow:0 8px 20px -10px rgba(var(--p-accent-rgb),.9);transition:transform var(--dur) var(--ease-spring)}.p-brand:hover .p-brand__mark{transform:rotate(-6deg) scale(1.06)}.p-nav-list{position:relative;display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:.25rem;border-radius:var(--r-pill);border:1px solid var(--p-border);background:var(--p-surface)}.p-nav-indicator{position:absolute;top:.25rem;left:0;height:calc(100% - .5rem);border-radius:var(--r-pill);background:var(--p-gradient);box-shadow:0 8px 20px -12px rgba(var(--p-accent-rgb),.9);opacity:0;pointer-events:none;z-index:0}.p-navbar .nav-link{position:relative;z-index:1;display:block;padding:.45rem .95rem;border-radius:var(--r-pill);color:var(--p-text-muted);font-weight:500;font-size:.92rem;transition:color var(--dur) var(--ease-out)}.p-navbar .nav-link:hover{color:var(--p-text)}.p-navbar .nav-link[data-status=active],.p-navbar .nav-link.active{color:var(--p-on-accent);background:transparent}.p-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:var(--r-sm);border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text)}.p-mobile-nav{position:fixed;inset:0;z-index:1050}.p-mobile-nav__backdrop{position:absolute;inset:0;background:#0406108c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:0;padding:0;width:100%}.p-mobile-nav__panel{position:absolute;inset:0 0 auto;background:var(--p-bg-soft);border-bottom:1px solid var(--p-border);box-shadow:var(--p-shadow-lg);padding:.75rem var(--gutter) 1.5rem;border-radius:0 0 var(--r-xl) var(--r-xl);max-height:100dvh;overflow-y:auto}.p-mobile-nav__link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:var(--r-md);color:var(--p-text);font-family:var(--font-display);font-size:1.1rem;font-weight:600;border:1px solid transparent;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.p-mobile-nav__link[data-status=active]{background:rgba(var(--p-accent-rgb),.12);border-color:rgba(var(--p-accent-rgb),.28);color:var(--p-accent)}.p-mobile-nav__link i{color:var(--p-text-faint);font-size:.85rem}.section{position:relative;padding:var(--section-y) 0;z-index:1}.section--alt{background:var(--p-bg-soft)}.section--alt:before,.section--alt:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--p-border-strong),transparent)}.section--alt:before{top:0}.section--alt:after{bottom:0}.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.section-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:.38rem .85rem;border-radius:var(--r-pill);background:rgba(var(--p-accent-rgb),.08);border:1px solid rgba(var(--p-accent-rgb),.2);color:var(--p-accent)}.section-eyebrow:before{content:"//";letter-spacing:0;opacity:.6}.section-title{font-size:clamp(1.9rem,1.2rem + 2.2vw,2.9rem);font-weight:700;line-height:1.12;margin:1.05rem 0 .7rem}.section-subtitle{color:var(--p-text-muted);max-width:46ch;font-size:clamp(.98rem,.95rem + .2vw,1.06rem);line-height:1.7;margin-bottom:0}.section-head{margin-bottom:clamp(2rem,4vw,3.25rem)}.section-head--center{text-align:center;margin-inline:auto;max-width:44rem}.section-head--center .section-subtitle{margin-inline:auto}.section-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.section-head-row .section-head{margin-bottom:0;flex:1 1 22rem}.section-head-action{margin-bottom:.35rem}.section-head-row+*{margin-top:clamp(2rem,4vw,3.25rem)}.hero{position:relative;display:flex;align-items:center;padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,7vw,5.5rem);min-height:min(86svh,54rem);overflow:hidden}.hero>.container{position:relative;z-index:1}.hero h1{font-size:clamp(2.35rem,1.4rem + 4.2vw,4.1rem);font-weight:700;line-height:1.04;margin-bottom:0}.hero__status{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .9rem .4rem .75rem;border-radius:var(--r-pill);border:1px solid var(--p-border);background:var(--p-surface);font-size:.82rem;font-weight:500;color:var(--p-text-muted)}.hero__status-dot{position:relative;width:.5rem;height:.5rem;border-radius:50%;background:#10b981}.hero__status-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:pulse-ring 2.4s var(--ease-out) infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}70%,to{transform:scale(3);opacity:0}}.hero__role{display:flex;align-items:center;gap:.6rem;min-height:2.6rem;margin-top:.9rem;font-family:var(--font-display);font-size:clamp(1.1rem,.9rem + 1vw,1.6rem);font-weight:600;color:var(--p-accent)}.hero__role-prefix{color:var(--p-text-faint);font-family:var(--font-mono);font-size:.8em;font-weight:400}.hero__role-caret{display:inline-block;width:2px;height:1.1em;margin-left:-.25rem;background:var(--p-accent);animation:caret-blink 1.1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.hero__lead{max-width:54ch;margin-top:1.15rem;font-size:clamp(1rem,.97rem + .25vw,1.12rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem}.hero__facts{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--p-border)}.hero__fact-value{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.1}.hero__fact-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--p-text-faint)}.hero__visual{position:relative;width:100%;max-width:40rem;margin-inline:auto}.hero__console{position:relative;z-index:1}.hero__float{will-change:transform}.hero__console .terminal__body{padding-bottom:2.25rem}.hero__badge{position:absolute;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:var(--r-pill);background:var(--p-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--p-border);box-shadow:var(--p-shadow-md);font-size:.8rem;font-weight:600;white-space:nowrap}.hero__badge i{color:var(--p-accent)}.hero__badge{z-index:3}.hero__badge--bl{bottom:-1.1rem;left:-.75rem;animation:float-y 7s ease-in-out infinite}.hero__badge--br{bottom:-1.1rem;right:1.5rem;animation:float-y 8.5s ease-in-out infinite reverse}.hero__visual{--orbit-icon: 2.6rem;--orbit-band: calc(var(--orbit-icon) + 1.4rem);max-width:calc(40rem + 2 * var(--orbit-band));padding:var(--orbit-band)}.hero__float{position:relative}.hero-orbit{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-orbit__ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hero-orbit__ring rect{fill:none;stroke:rgba(var(--p-accent-rgb),.24);stroke-width:1;stroke-dasharray:2 7;animation:hero-orbit-dash 40s linear infinite}@keyframes hero-orbit-dash{to{stroke-dashoffset:-540}}.tech-chip{position:absolute;top:0;left:0;display:grid;justify-items:center;opacity:0;pointer-events:auto;will-change:transform}.tech-chip:hover{z-index:1}.tech-chip__tile{display:grid;place-items:center;width:var(--orbit-icon);height:var(--orbit-icon);border-radius:.8rem;color:var(--tone);background:linear-gradient(150deg,color-mix(in srgb,var(--tone) 16%,transparent),transparent 65%),var(--p-surface-strong);border:1px solid color-mix(in srgb,var(--tone) 28%,var(--p-border));box-shadow:var(--p-shadow-md),0 10px 24px -14px color-mix(in srgb,var(--tone) 70%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s var(--ease-out),border-color .3s ease,box-shadow .35s var(--ease-out)}.tech-chip__tile svg{width:55%;height:55%;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tone) 40%,transparent));transition:transform .8s var(--ease-out)}.tech-chip--dotnet svg{width:76%;height:76%}.tech-chip:hover .tech-chip__tile{transform:scale(1.2);border-color:var(--tone);box-shadow:var(--p-shadow-md),0 0 0 4px color-mix(in srgb,var(--tone) 16%,transparent),0 14px 30px -10px color-mix(in srgb,var(--tone) 85%,transparent)}.tech-chip:hover .tech-chip__tile svg{transform:rotateY(360deg)}.tech-chip__label{position:absolute;bottom:calc(100% + .7rem);padding:.18rem .55rem;border-radius:var(--r-pill);background:var(--p-surface-strong);border:1px solid color-mix(in srgb,var(--tone) 40%,var(--p-border));box-shadow:var(--p-shadow-md);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--tone);white-space:nowrap;opacity:0;translate:0 4px;transition:opacity .25s ease,translate .3s var(--ease-out);pointer-events:none}.tech-chip:hover .tech-chip__label{opacity:1;translate:0 0}.hero__badge--bl{bottom:calc(var(--orbit-band) - 1.1rem);left:calc(var(--orbit-band) - .75rem)}.hero__badge--br{bottom:calc(var(--orbit-band) - 1.1rem);right:calc(var(--orbit-band) + 1.5rem)}@media(max-width:575.98px){.hero__visual{--orbit-band: 0px}.hero-orbit{display:none}}@media(max-width:575.98px){.hero__badge{display:none}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero__scroll-cue{display:inline-flex;align-items:center;gap:.5rem;margin-top:2.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--p-text-faint)}.hero__scroll-cue i{animation:nudge 2s var(--ease-out) infinite}@keyframes nudge{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(4px);opacity:1}}.code-drift{position:absolute;inset:0;z-index:0;pointer-events:none;mask-image:linear-gradient(90deg,#00000026,#00000040 45%,#000 75%);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.25) 45%,#000 75%)}@media(max-width:767.98px){.code-drift{opacity:.4;mask-image:none;-webkit-mask-image:none}}.network-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.4s var(--ease-out);mask-image:linear-gradient(90deg,#0000001a,#00000024 40%,#000 68%);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.14) 40%,#000 68%)}.network-canvas.is-ready{opacity:1}@media(max-width:991.98px){.hero .network-canvas.is-ready{opacity:.4;mask-image:none;-webkit-mask-image:none}}.social-icons{display:flex;flex-wrap:wrap;gap:.5rem}.social-icons a{width:2.6rem;height:2.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);border:1px solid var(--p-border);color:var(--p-text-muted);background:var(--p-surface);font-size:1.05rem;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease-out)}.social-icons a:hover{color:var(--p-accent);border-color:var(--p-border-accent);transform:translateY(-3px);box-shadow:var(--p-shadow-sm)}.skill-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--r-pill);background:var(--p-surface-sunken);border:1px solid var(--p-border);margin:.2rem .2rem .2rem 0;font-size:.82rem;font-weight:500;color:var(--p-text-muted);transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.skill-chip:hover{color:var(--p-accent);border-color:var(--p-border-accent);background:rgba(var(--p-accent-rgb),.08)}.tag{display:inline-flex;align-items:center;align-self:flex-start;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .62rem;border-radius:var(--r-xs);background:rgba(var(--p-accent-rgb),.1);border:1px solid rgba(var(--p-accent-rgb),.2);color:var(--p-accent);margin-right:.3rem}.icon-tile{width:2.9rem;height:2.9rem;flex:none;border-radius:var(--r-md);background:rgba(var(--p-accent-rgb),.1);border:1px solid rgba(var(--p-accent-rgb),.2);color:var(--p-accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur) var(--ease-spring)}.card-interactive:hover .icon-tile{background:var(--p-gradient);border-color:transparent;color:var(--p-on-accent);transform:translateY(-2px) rotate(-4deg)}.about-card__head{display:flex;align-items:center;gap:1.15rem}.about-card__identity{min-width:0}.about-card__photo{position:relative;flex:none;width:clamp(4.75rem,3.5rem + 4vw,6rem);aspect-ratio:1;border-radius:50%;padding:4px;background:var(--p-gradient);box-shadow:0 18px 45px -25px rgba(var(--p-accent-rgb),.9)}.about-card__photo img,.about-card__photo span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--p-bg-soft);font-family:var(--font-display);font-size:clamp(1.4rem,1rem + 1.2vw,1.85rem);font-weight:700;color:var(--p-accent)}.about-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:1rem;text-align:center}.about-card__stat-value{font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1.1}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;list-style:none;padding:0;margin:0}.focus-item{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:var(--r-md);border:1px solid var(--p-border);background:var(--p-surface);font-size:.9rem;font-weight:500;transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.focus-item:hover{border-color:var(--p-border-accent);transform:translate(3px)}@media(max-width:419.98px){.focus-grid{grid-template-columns:1fr}}.focus-item i{display:grid;place-items:center;flex:none;width:1.35rem;height:1.35rem;border-radius:50%;background:rgba(var(--p-accent-rgb),.14);color:var(--p-accent);font-size:.75rem}.skill-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.skill-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem;margin:0 -.6rem;border-radius:var(--r-md);transition:background-color var(--dur) var(--ease-out)}.skill-item:hover{background:var(--p-surface-2)}.skill-item__name{flex:1;min-width:0;font-size:.92rem;font-weight:500;color:var(--p-text)}.skill-mark{--tone: var(--p-accent);flex:none;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.6rem;color:var(--tone);font-size:.95rem;background:color-mix(in srgb,var(--tone) 10%,var(--p-surface-sunken));border:1px solid color-mix(in srgb,var(--tone) 22%,var(--p-border))}.skill-mark svg{width:58%;height:58%}.skill-mark--dotnet svg{width:80%}.skill-mark__image{width:58%;height:58%;background-color:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.skill-mark__monogram{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.02em}.skill-tier{flex:none;padding:.18rem .55rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--p-border);color:var(--p-text-faint)}.skill-tier--expert{color:var(--p-accent);border-color:var(--p-border-accent);background:rgba(var(--p-accent-rgb),.1)}.skill-tier--advanced{color:var(--p-text-muted);border-color:var(--p-border-strong)}.timeline{position:relative;list-style:none;margin:0;padding:0}.timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--p-border)}.timeline:after{content:"";position:absolute;left:.5rem;top:0;width:2px;height:100%;transform:scaleY(var(--rail, 0));transform-origin:top;background:linear-gradient(180deg,var(--p-accent),var(--p-accent-2));opacity:.85}.timeline-item{position:relative;width:100%;padding:0 0 1.75rem 2.35rem}.timeline-item:last-child{padding-bottom:0}.timeline-item .dot{position:absolute;top:1.6rem;left:0;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--p-bg);border:2px solid var(--p-border-strong);z-index:1}.timeline-item[data-current=true] .dot{border-color:transparent;background:var(--p-gradient);box-shadow:0 0 0 4px rgba(var(--p-accent-rgb),.18)}.timeline-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--p-accent)}.timeline-card__company{color:var(--p-text-muted);font-weight:500}.timeline-achievements{margin:0;padding-left:1.1rem;color:var(--p-text-muted);font-size:.9rem;line-height:1.75}.timeline-achievements li::marker{color:var(--p-accent)}.badge-live{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-radius:var(--r-pill);background:#10b98124;border:1px solid rgba(16,185,129,.3);color:#10b981;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}@media(min-width:992px){.timeline{padding-inline:0}.timeline:before,.timeline:after{left:50%;transform:translate(-50%)}.timeline:after{transform:translate(-50%) scaleY(var(--rail, 0))}.timeline-item{width:50%;padding:0 0 2.5rem 3rem;margin-left:50%}.timeline-item:nth-child(odd){margin-left:0;padding:0 3rem 2.5rem 0}.timeline-item .dot{left:-.56rem}.timeline-item:nth-child(odd) .dot{left:auto;right:-.56rem}.timeline-item:nth-child(odd) .timeline-card__meta{justify-content:flex-end}}.media-banner{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-md);overflow:hidden;background:var(--p-surface-sunken);display:flex;align-items:center;justify-content:center;color:var(--p-accent);font-size:2.25rem;isolation:isolate}.media-banner__image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .55s var(--ease-out)}.card-interactive:hover .media-banner__image{transform:scale(1.06)}.media-banner--placeholder{background-image:linear-gradient(to right,var(--p-border) 1px,transparent 1px),linear-gradient(to bottom,var(--p-border) 1px,transparent 1px);background-size:22px 22px}.media-banner--placeholder:after{content:"";position:absolute;inset:0;background:var(--p-gradient-soft);z-index:-1}.media-banner--tall{aspect-ratio:21 / 9}.project-card__title{font-size:1.15rem;margin:.65rem 0 .5rem}.project-card__arch{display:flex;gap:.5rem;margin:.75rem 0 0;font-size:.8rem;line-height:1.6;color:var(--p-text-faint)}.project-card__arch i{color:var(--p-accent);margin-top:.15rem}.project-card__links{display:flex;gap:.5rem;margin-top:auto;padding-top:1.1rem}.tech-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:.85rem 0 0;padding:0;list-style:none}.tech-pill{font-family:var(--font-mono);font-size:.7rem;padding:.22rem .5rem;border-radius:var(--r-xs);border:1px solid var(--p-border);background:var(--p-surface-sunken);color:var(--p-text-muted)}.blog-cover{position:relative;aspect-ratio:16 / 9;border-radius:var(--r-md);overflow:hidden;background:var(--p-surface-sunken);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--p-accent);font-size:2rem}.blog-cover--large{aspect-ratio:4 / 3;height:100%}.blog-cover--hero{aspect-ratio:21 / 9;font-size:3rem}.article-header{margin-bottom:1.75rem}.article-title{font-size:clamp(1.9rem,1.3rem + 2.4vw,3rem);line-height:1.12;margin:1rem 0 .9rem}.article-nav{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:576px){.article-nav{grid-template-columns:1fr 1fr}}.blog-meta{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.72rem;color:var(--p-text-faint)}.featured-post{display:grid;gap:1.25rem;align-items:center}.featured-post__body .read-more{display:inline-flex}@media(min-width:768px){.featured-post{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem}.featured-post__media{height:100%}}.read-more{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.85rem;color:var(--p-accent)}.read-more i{transition:transform var(--dur) var(--ease-out)}.card-interactive:hover .read-more i{transform:translate(4px)}.arch-card__index{position:absolute;top:1.1rem;right:1.2rem;color:var(--p-text-faint);opacity:.55;font-size:.85rem}.counter-num{font-family:var(--font-display);font-size:clamp(1.9rem,1.2rem + 2vw,2.9rem);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat-label{font-size:.85rem;color:var(--p-text-muted)}.quote-mark{font-family:var(--font-display);font-size:4rem;line-height:.6;color:var(--p-accent);opacity:.28}.testimonial-avatar{width:3.25rem;height:3.25rem;border-radius:50%;object-fit:cover;border:2px solid var(--p-border)}.testimonial-viewport{display:grid}.testimonial-slide{grid-area:1 / 1;margin:0;opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease-out),visibility var(--dur)}.testimonial-slide[data-active=true]{opacity:1;visibility:visible}.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.testimonial-dots{display:flex;justify-content:center;gap:.4rem}.testimonial-dot{width:.5rem;height:.5rem;padding:0;border-radius:var(--r-pill);border:none;background:var(--p-border-strong);transition:width var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.testimonial-dot[aria-current=true]{width:1.5rem;background:var(--p-accent)}.form-label{font-size:.82rem;font-weight:600;color:var(--p-text-muted);margin-bottom:.4rem}.form-control,.form-select{background-color:var(--p-surface-sunken);border:1px solid var(--p-border);color:var(--p-text);border-radius:var(--r-md);padding:.75rem 1rem;font-size:.95rem;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.form-control:hover,.form-select:hover{border-color:var(--p-border-strong)}.form-control:focus,.form-select:focus{background-color:var(--p-surface-sunken);color:var(--p-text);border-color:var(--p-accent);box-shadow:0 0 0 3px rgba(var(--p-accent-rgb),.16);outline:none}.form-control::placeholder{color:var(--p-text-faint)}.form-select{padding-right:2.5rem;background-repeat:no-repeat;background-position:right 1rem center;background-size:12px 12px;cursor:pointer}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239aa3c4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");color-scheme:dark}.form-select option{background-color:var(--p-bg-soft);color:var(--p-text)}.field-error{display:block;margin-top:.35rem;font-size:.8rem;color:#ef4444}[data-theme=dark] .field-error{color:#fca5a5}.search-field{position:relative}.search-field>i{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--p-text-faint);pointer-events:none}.search-field .form-control{padding-left:2.6rem;padding-right:2.6rem}.search-field .form-control::-webkit-search-cancel-button{display:none}.search-field__clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.85rem;height:1.85rem;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--p-text-faint);font-size:.75rem}.search-field__clear:hover{color:var(--p-text);background:var(--p-surface-sunken)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1rem}.toolbar .filter-bar{flex:1 1 22rem}.toolbar__search{flex:0 1 20rem;min-width:13rem}.toolbar__select{flex:0 1 11rem;min-width:9rem;width:auto}.toolbar__meta{min-height:1.5rem;margin-bottom:1.25rem;font-family:var(--font-mono);font-size:.75rem;color:var(--p-text-faint)}.pager__gap{color:var(--p-text-faint);padding:0 .25rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{padding:.45rem 1rem;border-radius:var(--r-pill);border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text-muted);font-size:.86rem;font-weight:500;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.filter-chip:hover{color:var(--p-text);border-color:var(--p-border-strong)}.filter-chip[aria-pressed=true]{color:var(--p-on-accent);background:var(--p-gradient);border-color:transparent;box-shadow:0 8px 20px -12px rgba(var(--p-accent-rgb),.9)}@media(max-width:575.98px){.filter-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem;margin-inline:-12px;padding-inline:12px;scroll-snap-type:x proximity}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex:none;scroll-snap-align:start}}.pager{display:flex;justify-content:center;align-items:center;gap:.4rem;flex-wrap:wrap}.pager__btn{min-width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .7rem;border-radius:var(--r-sm);border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text-muted);font-size:.88rem;font-weight:600;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.pager__btn:hover:not(:disabled){color:var(--p-text);border-color:var(--p-border-strong)}.pager__btn[aria-current=page]{color:var(--p-on-accent);background:var(--p-gradient);border-color:transparent}.pager__btn:disabled{opacity:.4}.contact-row{display:flex;align-items:center;gap:.85rem;padding:.6rem;border-radius:var(--r-md);border:1px solid transparent;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}a.contact-row:hover{background:var(--p-surface-sunken);border-color:var(--p-border)}.contact-map{position:relative;display:grid;place-items:center;height:11rem;overflow:hidden;border-radius:var(--r-md);border:1px solid var(--p-border);background:var(--p-surface-sunken)}.contact-map__grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--p-border) 1px,transparent 1px),linear-gradient(to bottom,var(--p-border) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%)}.cta-panel{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,4rem);border-radius:var(--r-xl);border:1px solid var(--p-border-strong);background:var(--p-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--p-shadow-md)}.cta-panel__glow{position:absolute;inset:-40% -10% auto;height:130%;background:radial-gradient(ellipse at 50% 0%,rgba(var(--p-accent-rgb),.35),transparent 60%);z-index:-1}.cta-panel__eyebrow{color:var(--p-accent);letter-spacing:.18em}.cta-panel__eyebrow:before{content:"$ ";opacity:.6}.cta-panel__title{font-size:clamp(1.6rem,1.1rem + 2vw,2.6rem);font-weight:700;margin:.75rem auto .65rem;max-width:20ch}.cta-panel__lead{color:var(--p-text-muted);max-width:46ch;margin:0 auto 1.75rem}.resume-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.resume-section+.resume-section{margin-top:2.25rem;padding-top:2.25rem;border-top:1px solid var(--p-border)}.resume-section__title{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--p-accent);margin-bottom:1rem}.resume-entry+.resume-entry{margin-top:1.5rem}.resume-entry__head{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:space-between;align-items:baseline}.resume-ats{display:none}.dev-window{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--ed-bg);border:1px solid var(--ed-border);color:var(--ed-text);font-family:var(--font-mono);box-shadow:var(--p-shadow-lg),0 30px 80px -40px rgba(var(--p-accent-rgb),.55)}.dev-window:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(94,234,212,.7),transparent);pointer-events:none}.dev-window__bar{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;background:var(--ed-bar);border-bottom:1px solid var(--ed-border)}.dev-window__dots,.dev-window__spacer{flex:0 0 3.2rem}.dev-window__dots{display:inline-flex;gap:.4rem}.dev-window__dots i{width:.7rem;height:.7rem;border-radius:50%;background:#ff5f57}.dev-window__dots i:nth-child(2){background:#febc2e}.dev-window__dots i:nth-child(3){background:#28c840}.dev-window__title{flex:1;min-width:0;text-align:center;font-size:.74rem;color:var(--ed-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-window__meta{flex:none;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-muted);padding:.15rem .5rem;border:1px solid var(--ed-border);border-radius:var(--r-xs)}.dev-window [data-type-line].is-active:after{content:"";display:inline-block;width:.55em;height:1.15em;margin-left:1px;vertical-align:text-bottom;background:var(--ed-accent);box-shadow:0 0 10px #5eead499;animation:caret-blink 1.1s steps(1) infinite}.terminal__body{height:23rem;overflow:hidden;padding:1rem 1.15rem 1.25rem;font-size:clamp(.76rem,.7rem + .25vw,.9rem);line-height:1.75;mask-image:linear-gradient(to bottom,transparent 0,#000 1.1rem);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 1.1rem)}@media(max-width:575.98px){.terminal__body{height:19rem}}.terminal__code{padding-left:1rem;border-left:1px solid var(--ed-border)}.terminal__line{white-space:pre-wrap;overflow-wrap:anywhere}.terminal__cwd{color:var(--syn-function)}.terminal__prompt{color:var(--ed-accent)}.terminal__out--default{color:var(--ed-text)}.terminal__out--muted{color:var(--ed-muted)}.terminal__out--accent{color:var(--syn-property)}.terminal__out--success{color:var(--syn-string)}.code-window__body{margin:0;padding:1rem 0 1.15rem;overflow-x:auto;font-size:clamp(.72rem,.68rem + .2vw,.82rem);line-height:1.7;color:var(--ed-text);counter-reset:line}.code-window__body code{display:block;min-width:max-content;color:inherit;font-size:inherit}.code-line{display:block;min-height:1.7em;padding-right:1.25rem;white-space:pre}.code-line:before{counter-increment:line;content:counter(line);display:inline-block;width:2.6rem;padding-right:1rem;text-align:right;color:#7d8aa380;-webkit-user-select:none;user-select:none}.tok--keyword{color:var(--syn-keyword)}.tok--string{color:var(--syn-string)}.tok--function{color:var(--syn-function)}.tok--number{color:var(--syn-number)}.tok--property{color:var(--syn-property)}.tok--punctuation{color:var(--syn-punctuation)}.tok--comment{color:var(--syn-comment);font-style:italic}.about-stack__code{margin-top:1.25rem}.playground{overflow:hidden;overflow:clip}.playground:before{content:"";position:absolute;inset:10% -10% auto;height:70%;background:radial-gradient(ellipse at 60% 40%,rgba(var(--p-accent-rgb),.12),transparent 65%);pointer-events:none;z-index:-1}.playground:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(var(--p-accent-rgb),.5) 1px,transparent 1.6px) 0 0 / 22px 22px,radial-gradient(420px circle at var(--sx, -999px) var(--sy, -999px),rgba(var(--p-accent-rgb),.1),transparent 70%);mask-image:radial-gradient(300px circle at var(--sx, -999px) var(--sy, -999px),#000,transparent 75%);-webkit-mask-image:radial-gradient(300px circle at var(--sx, -999px) var(--sy, -999px),#000,transparent 75%);opacity:0;transition:opacity .6s ease}.playground:hover:after{opacity:1}.playground__grid{position:relative;display:grid;gap:1.5rem;align-items:stretch}@media(min-width:992px){.playground__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.playground__editor{display:flex;flex-direction:column}.playground__editor .dev-window__title{text-align:left}.playground__actions{display:inline-flex;gap:.4rem;flex:none}.playground__action{display:inline-flex;align-items:center;justify-content:center;min-width:6.6rem;gap:.35rem;padding:.3rem .7rem;border-radius:var(--r-xs);border:1px solid var(--ed-border);background:#ffffff08;color:var(--ed-text);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;cursor:pointer;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.playground__action--debug i{color:#fbbf24}.playground__action--run i{color:#4ade80}.playground__action--debug:hover,.playground__action--debug[aria-pressed=true]{border-color:#fbbf2480;background:#fbbf241f;box-shadow:0 0 18px -6px #fbbf2499}.playground__action--run:hover,.playground__action--run[aria-pressed=true]{border-color:#4ade8080;background:#4ade801f;box-shadow:0 0 18px -6px #4ade8099}@media(max-width:575.98px){.playground__action{min-width:0;padding-inline:.55rem}}.playground__action[aria-disabled=true]{opacity:.45;cursor:progress;box-shadow:none}.playground__code{position:relative;flex:1;isolation:isolate}.playground__code .code-line{transition:background-color .25s var(--ease-out)}.playground__code .code-line:before{width:3rem}.playground__code .code-line[data-breakpoint]:before{color:#f87171;background:radial-gradient(circle at .55rem 50%,#f87171 .22rem,transparent .25rem)}.playground__code{--exec: 251, 191, 36}.playground__code[data-mode=run]{--exec: 74, 222, 128}.playground__exec{position:absolute;top:0;left:0;right:0;z-index:-1;min-width:100%;background:linear-gradient(90deg,rgba(var(--exec),.22),rgba(var(--exec),.05) 75%);box-shadow:inset 2px 0 rgb(var(--exec)),0 0 24px -6px rgba(var(--exec),.45);opacity:0;pointer-events:none;transition:transform .42s cubic-bezier(.22,1,.36,1),height .3s ease,opacity .3s ease,background .3s ease}.playground__code .code-line[data-debug=current]:before{content:"▶";color:rgb(var(--exec));text-shadow:0 0 8px rgb(var(--exec));animation:playground-line .35s var(--ease-out)}.playground__inline{margin-left:1.5rem;padding:0 .45rem;border-radius:var(--r-xs);background:rgba(var(--exec),.12);color:rgb(var(--exec));font-style:italic;font-size:.92em;animation:playground-line .35s var(--ease-out)}.playground__code:not([data-mode=idle]) [data-type-line].is-active:after{display:none}.playground__code .code-line[data-exec]{cursor:pointer}.playground__code .code-line[data-exec]:hover:not([data-debug]){background:#5eead412}.playground__code .code-line[data-exec]:hover:before{content:"▶";color:#fbbf24}.playground__code.is-running:after{content:"";position:absolute;inset:0 0 auto;height:3rem;background:linear-gradient(transparent,rgba(74,222,128,.12),transparent);animation:playground-scan 1.2s linear infinite;pointer-events:none}@keyframes playground-scan{0%{transform:translateY(-3rem)}to{transform:translateY(26rem)}}.playground__toolbar{position:absolute;top:3.6rem;right:1rem;z-index:2;display:inline-flex;align-items:center;gap:.15rem;padding:.25rem .35rem;border-radius:.55rem;background:var(--ed-bar);border:1px solid var(--ed-border);box-shadow:0 12px 30px -14px #000c;font-size:.68rem;color:var(--ed-muted);animation:playground-toolbar-in .35s var(--ease-out) both}.playground__toolbar-grip{width:.3rem;height:.9rem;margin-right:.2rem;background-image:radial-gradient(circle,var(--ed-muted) 1px,transparent 1.3px);background-size:.3rem .3rem;opacity:.6}.playground__tool{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:.35rem;font-size:.95rem}.playground__tool--continue,.playground__tool--over,.playground__tool--into,.playground__tool--out{color:#60a5fa}.playground__tool--restart{color:#4ade80}.playground__tool--stop{color:#f87171}.playground__tool[data-active]{background:#fbbf2429;box-shadow:inset 0 0 0 1px #fbbf248c;color:#fbbf24;animation:playground-tool-press .45s var(--ease-out)}.playground__toolbar-label{display:inline-flex;align-items:center;gap:.35rem;margin-left:.35rem;padding-left:.5rem;border-left:1px solid var(--ed-border);color:var(--ed-text);white-space:nowrap}.playground__toolbar-label kbd{padding:.05rem .3rem;border-radius:.25rem;background:#94a3b824;color:#fbbf24;font-family:inherit;font-size:.62rem}@keyframes playground-toolbar-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes playground-tool-press{0%{transform:scale(.8);box-shadow:inset 0 0 0 1px #fbbf248c,0 0 #fbbf2499}to{transform:scale(1);box-shadow:inset 0 0 0 1px #fbbf248c,0 0 0 8px #fbbf2400}}@media(max-width:575.98px){.playground__toolbar-label{display:none}}.playground__scroll-hint{color:#fbbf24}.playground__scroll-hint i{animation:playground-scroll-hint 1.6s ease-in-out infinite}@keyframes playground-scroll-hint{50%{transform:translateY(2px)}}.playground__statusbar{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 1rem;border-top:1px solid var(--ed-border);background:var(--ed-bar);font-size:.68rem;color:var(--ed-muted)}.playground__statusbar>span{display:inline-flex;align-items:center;gap:.45rem}.playground__status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--ed-muted)}.playground__status-dot.is-debug{background:#fbbf24;box-shadow:0 0 8px #fbbf24}.playground__status-dot.is-run{background:#4ade80;box-shadow:0 0 8px #4ade80}.playground__side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.playground__side>[data-pg-enter]{display:flex;flex-direction:column}.playground__side>[data-pg-enter]:has(.playground__debugger){flex:1}.playground__stage{position:relative;height:clamp(12rem,16vw,14rem);border-radius:var(--r-lg);border:1px solid var(--p-border);background:radial-gradient(circle at 50% 45%,rgba(var(--p-accent-rgb),.16),transparent 62%),linear-gradient(180deg,rgba(var(--p-accent-rgb),.04),transparent);overflow:hidden}.playground__stage--flat{height:auto;padding:.75rem}.playground__canvas{mask-image:none;-webkit-mask-image:none}.playground__hud{position:absolute;top:.75rem;left:.85rem;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--p-text-muted);pointer-events:none}.playground__hud i{width:.45rem;height:.45rem;border-radius:50%;background:var(--p-text-muted)}.playground__hud.is-debug i{background:#fbbf24;box-shadow:0 0 10px #fbbf24}.playground__hud.is-run i{background:#4ade80;box-shadow:0 0 10px #4ade80}.playground__pipeline{position:absolute;inset:auto .75rem .75rem;display:flex;align-items:center;margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:.68rem;pointer-events:none}.playground__stage--flat .playground__pipeline{position:static}.playground__pipeline li{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;border-radius:999px;border:1px solid var(--p-border);background:color-mix(in srgb,var(--p-surface) 80%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--p-text-muted);white-space:nowrap;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.playground__pipeline li+li{position:relative;margin-left:1.6rem}.playground__pipeline li+li:before{content:"";position:absolute;right:calc(100% + 1px);top:50%;width:1.6rem;height:1px;background:var(--p-border)}.playground__pipeline li[data-active]{color:var(--p-text);border-color:rgba(var(--p-accent-rgb),.55);box-shadow:0 0 16px -6px rgba(var(--p-accent-rgb),.8)}.playground__pipeline li[data-active] i{color:var(--p-accent)}.playground__pipeline li[data-active]+li[data-active]:before,.playground__pipeline.is-run li[data-active]+li:before{background:repeating-linear-gradient(90deg,var(--p-accent) 0 4px,transparent 4px 8px);background-size:16px 1px;animation:playground-stream .6s linear infinite}@keyframes playground-stream{to{background-position:16px 0}}.playground__panel{--hit: 0;display:flex;flex-direction:column;flex:1;box-shadow:var(--p-shadow-lg),0 30px 80px -40px rgba(var(--p-accent-rgb),.55),0 0 0 1px rgba(var(--p-accent-rgb),calc(var(--hit) * .7)),0 0 32px -4px rgba(var(--p-accent-rgb),calc(var(--hit) * .55))}@media(min-width:992px){.playground__debugger{min-height:15rem}}.playground__console .playground__panel-body{min-height:7.5rem}@media(min-width:992px)and (max-height:900px){.playground__side{gap:.85rem}.playground__stage{height:9.5rem}.playground__debugger{min-height:12rem}.playground__console .playground__panel-body{min-height:5.5rem}}.playground__panel-title{display:inline-flex;align-items:center;gap:.45rem;flex:1;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ed-muted)}.playground__debugger .playground__panel-title i{color:#fbbf24}.playground__console .playground__panel-title i{color:#4ade80}.dev-window__meta.is-debug{color:#fbbf24;border-color:#fbbf2466}.dev-window__meta.is-run{color:#4ade80;border-color:#4ade8066}.playground__panel-body{flex:1;padding:.9rem 1.15rem 1.1rem;font-size:.8rem;line-height:1.7}.playground__panel-body p{margin:0}.playground__hint,.playground__empty{color:var(--ed-muted)}.playground__point{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:var(--r-xs);border:1px solid rgba(251,191,36,.35);background:#fbbf2414;color:#fcd34d;font-size:.74rem}.playground__point.is-run{border-color:#4ade8059;background:#4ade8014;color:#86efac}.playground__point i{animation:playground-blink 1.2s ease-in-out infinite}.playground__point.is-done i{animation:none}.playground__hint--foot{margin-top:.9rem!important}@keyframes playground-blink{50%{opacity:.35}}.playground__label{margin-top:.8rem!important;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ed-muted)}.playground__vars{margin:.3rem 0 0}.playground__vars>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.75rem;margin:0 -.4rem;padding:.25rem .4rem;border-radius:var(--r-xs);border-bottom:1px dashed var(--ed-border)}.playground__vars>div.is-changed{animation:playground-changed 1.4s var(--ease-out)}@keyframes playground-changed{0%{background:#fbbf2438}}.playground__vars dt{font-weight:400;color:var(--syn-property)}.playground__vars dd{margin:0;color:var(--syn-string);overflow-wrap:anywhere}.playground__stack{margin:.3rem 0 0;padding:0;list-style:none}.playground__stack li{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0;color:var(--ed-muted)}.playground__stack li.is-top{color:var(--syn-function)}.playground__stack li.is-top span:first-child:before{content:"▸ ";color:#fbbf24}.playground__progress{height:2px;margin-top:.9rem;border-radius:2px;background:var(--ed-border);overflow:hidden}.playground__progress span{display:block;height:100%;background:linear-gradient(90deg,var(--ed-accent),#fbbf24);transition:width .35s var(--ease-out)}.playground__steps{margin-top:.3rem!important;font-size:.66rem;color:var(--ed-muted);text-align:right}.playground__cmd{color:var(--ed-text)}.playground__out{color:var(--syn-string);animation:playground-line .3s var(--ease-out)}.playground__exit{margin-top:.5rem!important;color:var(--ed-muted)}.playground__caret{display:inline-block;width:.5em;height:1.1em;margin-left:1px;vertical-align:text-bottom;background:var(--ed-accent);animation:caret-blink 1.1s steps(1) infinite}@keyframes playground-line{0%{opacity:0;transform:translateY(4px)}}.playground__glow:after{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%),rgba(var(--p-accent-rgb),.85),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s var(--ease-out);pointer-events:none}.playground__glow:hover:after{opacity:1}.playground__flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.playground__beam{fill:none;stroke-width:1.5;stroke-linecap:round}.playground__beam--debug{stroke:#fbbf24;filter:drop-shadow(0 0 4px rgba(251,191,36,.8))}.playground__beam--run{stroke:#4ade80;filter:drop-shadow(0 0 4px rgba(74,222,128,.8))}.playground__beam-head--debug{fill:#fde68a;filter:drop-shadow(0 0 6px #fbbf24)}.playground__beam-head--run{fill:#bbf7d0;filter:drop-shadow(0 0 6px #4ade80)}.p-footer{position:relative;z-index:1;background:var(--p-bg-soft);border-top:1px solid var(--p-border);padding:clamp(2.5rem,6vw,4rem) 0 1.5rem}.p-footer__heading{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--p-text-faint);margin-bottom:1rem}.p-footer__link{display:inline-flex;align-items:center;gap:.45rem;color:var(--p-text-muted);padding:.15rem 0;transition:color var(--dur) var(--ease-out)}.p-footer__link:before{content:"";width:0;height:1px;background:var(--p-accent);transition:width var(--dur) var(--ease-out)}.p-footer__link:hover{color:var(--p-text)}.p-footer li{min-width:0;overflow-wrap:anywhere}.p-footer__link:hover:before{width:.8rem}.p-footer__bottom{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--p-border);font-size:.82rem;color:var(--p-text-faint)}.p-footer__statusbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.25rem;margin-top:2.5rem;padding:.5rem .9rem;border-radius:var(--r-sm);border:1px solid var(--p-border);background:var(--p-surface-sunken);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;color:var(--p-text-faint)}.p-footer__statusbar+.p-footer__bottom{margin-top:1.25rem}.p-footer__status-item{display:inline-flex;align-items:center;gap:.4rem}.p-footer__status-item--accent{color:var(--p-accent)}.p-footer__status-dot{width:.45rem;height:.45rem;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981cc}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;transform:scaleX(var(--progress, 0));transform-origin:left;background:var(--p-gradient);z-index:2000;pointer-events:none}.route-loader{position:fixed;left:50%;bottom:1.5rem;z-index:2000;display:inline-flex;align-items:center;gap:.6rem;max-width:calc(100vw - 2rem);padding:.55rem 1rem .55rem .8rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.78rem;color:var(--p-text-muted);background:var(--p-surface-strong);border:1px solid var(--p-border-accent);box-shadow:var(--p-shadow-md),0 0 24px -8px rgba(var(--p-accent-rgb),.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,.75rem) scale(.96);transition:opacity .25s var(--ease-out),transform .35s var(--ease-out)}.route-loader[data-show=true]{opacity:1;transform:translate(-50%) scale(1)}.route-loader:after{content:"";position:absolute;left:0;bottom:0;width:40%;height:2px;background:var(--p-gradient);animation:route-loader-sweep 1.1s var(--ease-out) infinite}.route-loader__spinner{width:.85rem;height:.85rem;flex:none;border-radius:50%;border:2px solid rgba(var(--p-accent-rgb),.25);border-top-color:var(--p-accent);animation:route-loader-spin .7s linear infinite}.route-loader__method{color:var(--p-accent);font-weight:600;letter-spacing:.04em}.route-loader__path{color:var(--p-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes route-loader-spin{to{transform:rotate(360deg)}}@keyframes route-loader-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}main#main{transition:opacity .3s var(--ease-out),filter .3s var(--ease-out)}[data-route-pending] main#main{opacity:.55;filter:saturate(.7);pointer-events:none}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--p-surface-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--p-border);color:var(--p-text);display:grid;place-items:center;box-shadow:var(--p-shadow-md);z-index:1040;opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-spring),color var(--dur) var(--ease-out)}.back-to-top.show{opacity:1;transform:none;pointer-events:auto}.back-to-top:hover{color:var(--p-accent)}.back-to-top__ring{position:absolute;inset:-1px;border-radius:50%;transform:rotate(-90deg)}.back-to-top__ring circle{fill:none;stroke-width:2}.cursor-glow{position:fixed;top:0;left:0;width:24rem;height:24rem;margin:-12rem 0 0 -12rem;border-radius:50%;background:radial-gradient(circle,rgba(var(--p-accent-rgb),.1),transparent 62%);pointer-events:none;z-index:0;opacity:0;transition:opacity .5s var(--ease-out);will-change:transform}.cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--p-accent);box-shadow:0 0 10px rgba(var(--p-accent-rgb),.8);pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s var(--ease-out);will-change:transform}.cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;z-index:9998;opacity:0;transition:opacity .3s var(--ease-out);will-change:transform}.cursor-ring__frame{--corner: 9px;position:absolute;inset:0;border:1.5px solid rgba(var(--p-accent-rgb),.85);border-radius:7px;mask:conic-gradient(at var(--corner) var(--corner),transparent 75%,#000 0) 0 0 / calc(100% - var(--corner)) calc(100% - var(--corner));-webkit-mask:conic-gradient(at var(--corner) var(--corner),transparent 75%,#000 0) 0 0 / calc(100% - var(--corner)) calc(100% - var(--corner));transition:transform .35s var(--ease-spring),border-color .25s var(--ease-out)}.cursor-ring.is-locked{filter:drop-shadow(0 0 1.5px var(--p-bg)) drop-shadow(0 0 6px rgba(var(--p-accent-rgb),.6))}.cursor-ring.is-locked .cursor-ring__frame{transform:scale(1.6) rotate(45deg);border-color:var(--p-text);border-width:2px}.cursor-ring.is-pressed .cursor-ring__frame{transform:scale(.8)}.cursor-ring.is-locked.is-pressed .cursor-ring__frame{transform:scale(1.15) rotate(45deg)}@media(hover:none),(pointer:coarse){.cursor-ring,.cursor-grid,.cursor-glow,.cursor-dot{display:none}}.theme-toggle{width:2.6rem;height:2.6rem;border-radius:var(--r-sm);border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text-muted);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.theme-toggle:hover{color:var(--p-accent);border-color:var(--p-border-accent)}.theme-toggle i{display:block}.markdown{font-size:1.02rem}.markdown h1,.markdown h2,.markdown h3{margin-top:2.25rem;margin-bottom:.75rem}.markdown p{line-height:1.85;color:var(--p-text-muted);margin-bottom:1.15rem;max-width:70ch}.markdown a{color:var(--p-accent);text-decoration:underline;text-underline-offset:3px}.markdown code{font-family:var(--font-mono);background:rgba(var(--p-accent-rgb),.08);border:1px solid rgba(var(--p-accent-rgb),.18);color:var(--p-accent);padding:.12rem .4rem;border-radius:var(--r-xs);font-size:.88em}.markdown pre{position:relative;margin:1.5rem 0;padding:3rem 1.25rem 1.25rem;border-radius:var(--r-md);border:1px solid var(--ed-border);background:linear-gradient(var(--ed-bar),var(--ed-bar)) top / 100% 2.3rem no-repeat,linear-gradient(var(--ed-border),var(--ed-border)) 0 2.3rem / 100% 1px no-repeat,var(--ed-bg);color:var(--ed-text);box-shadow:var(--p-shadow-md);font-size:.86rem;line-height:1.7;overflow-x:auto}.markdown pre:before{content:"";position:absolute;top:.82rem;left:1rem;width:.65rem;height:.65rem;border-radius:50%;background:#ff5f57;box-shadow:1.05rem 0 #febc2e,2.1rem 0 #28c840}.markdown pre code{border:none;background:none;padding:0;color:inherit;font-size:inherit}.markdown blockquote{border-left:2px solid var(--p-accent);padding:.25rem 0 .25rem 1.1rem;margin-left:0;color:var(--p-text-muted);font-style:italic}.markdown ul,.markdown ol{padding-left:1.35rem;line-height:1.85;color:var(--p-text-muted);margin-bottom:1.15rem}.markdown img{max-width:100%;height:auto;border-radius:var(--r-md)}.rich-text p:last-child{margin-bottom:0}.muted-rich-text,.muted-rich-text p,.muted-rich-text li{color:var(--p-text-muted);line-height:1.75}.rich-text-inline,.rich-text-inline p{display:inline;margin:0}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--p-surface-sunken)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(var(--p-accent-rgb),.12),transparent);animation:shimmer 1.6s infinite}@keyframes shimmer{to{transform:translate(100%)}}.state-panel{text-align:center;padding:clamp(1.75rem,4vw,2.75rem)}.state-panel__icon{width:3rem;height:3rem;margin:0 auto .85rem;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.25rem;background:rgba(var(--p-accent-rgb),.1);color:var(--p-accent)}.state-panel__icon--warn{background:#f59e0b1f;color:#f59e0b}.loader-dots{display:inline-flex;gap:.25rem}.loader-dots i{width:.35rem;height:.35rem;border-radius:50%;background:currentColor;animation:loader-bounce 1s var(--ease-out) infinite}.loader-dots i:nth-child(2){animation-delay:.12s}.loader-dots i:nth-child(3){animation-delay:.24s}@keyframes loader-bounce{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}[data-motion=on] .reveal,[data-motion=on] [data-reveal],[data-motion=on] [data-hero-item],[data-motion=on] [data-hero-visual]{opacity:0;will-change:transform,opacity}[data-motion=on] .is-revealed{opacity:1;will-change:auto}[data-motion=on] [data-type-line]:not(.is-typed){visibility:hidden}[data-motion=on] .terminal [data-type-line]:not(.is-typed){display:none}.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(19rem,100%),1fr));align-items:start;gap:1.5rem}.auto-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}.stack-sm>*+*{margin-top:.5rem}.text-balance{text-wrap:balance}.hover-lift{transition:transform var(--dur) var(--ease-out)}.hover-lift:hover{transform:translateY(-3px)}.divider{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--p-border-strong),transparent);opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bg-blobs:before,.bg-blobs:after,.hero__badge--bl,.hero__badge--br,.hero-orbit__ring rect,.hero__scroll-cue i,.hero__status-dot:after,.skeleton:after{animation:none!important}.card-interactive:hover,.card-interactive:focus-within,.btn-gradient:hover,.btn-ghost:hover,.social-icons a:hover,.icon-btn:hover{transform:none}[data-motion] .reveal,[data-motion] [data-reveal],[data-motion] [data-hero-item],[data-motion] [data-hero-visual]{opacity:1!important;transform:none!important}[data-motion] [data-type-line]{visibility:visible!important}[data-motion] .terminal [data-type-line]{display:block!important}.cursor-grid,.network-canvas,.playground__stage{display:none!important}.playground__code.is-running:after,.playground__code .code-line[data-debug=current]:before,.playground__pipeline li:before,.playground__point i,.playground__tool[data-active],.playground__scroll-hint i{animation:none!important}}@media print{.p-navbar,.p-footer,.back-to-top,.scroll-progress,.route-loader,.bg-blobs,.bg-grid,.cursor-glow,.cursor-dot,.cursor-ring,.cursor-grid,.network-canvas,.dev-window,.p-footer__statusbar,.no-print{display:none!important}body.portfolio-body{background:#fff;color:#000}.glass{box-shadow:none;border-color:#ddd;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.section{padding:0}@page{size:A4;margin:14mm 16mm}.resume-screen{display:none!important}.resume-ats{display:block;font-family:Arial,Helvetica,sans-serif;font-size:10.5pt;line-height:1.4;color:#000}.resume-ats h1{font-family:inherit;font-size:20pt;font-weight:700;letter-spacing:0;margin:0;color:#000}.resume-ats h2{font-family:inherit;font-size:11.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:14pt 0 6pt;padding-bottom:2pt;border-bottom:1px solid #000;color:#000;break-after:avoid}.resume-ats p,.resume-ats ul,.resume-ats .rich-text{margin:0 0 4pt;color:#000}.resume-ats .rich-text *{color:#000!important;font-size:inherit}.resume-ats ul{padding-left:14pt}.resume-ats li{margin-bottom:2pt}.resume-ats a{color:#000;text-decoration:none}.resume-ats__role{font-size:12pt;font-weight:700}.resume-ats__entry{margin-bottom:10pt;break-inside:avoid}.resume-ats__entry-head{display:flex;justify-content:space-between;gap:12pt;margin-bottom:0!important}.resume-ats__entry-sub{font-style:italic}}main#main{view-transition-name:page}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(page){animation:page-out .22s var(--ease-out) both}::view-transition-new(page){animation:page-in .42s var(--ease-out) .06s both}::view-transition-group(page){animation:none}::view-transition-image-pair(page){isolation:auto}@keyframes page-out{to{opacity:0;transform:translateY(-8px);filter:blur(2px)}}@keyframes page-in{0%{opacity:0;transform:translateY(14px);filter:blur(3px)}}@media(prefers-reduced-motion:reduce){::view-transition-old(page),::view-transition-new(page){animation:none}}
