@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--font-body:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", ui-monospace, "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--container-max:72rem;--content-max:44rem;--header-h:3.5rem;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-med:.2s;--fs-xs:.72rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:4.5rem;--lh-display:.98;--lh-tight:1.12;--lh-body:1.65;--tracking-display:-.045em;--tracking-heading:-.03em;--tracking-label:.1em;--surface-0:#fff;--surface-1:#f6f7f9;--surface-2:#eceef2;--text-primary:#1a1d21;--text-secondary:#5b626d;--text-tertiary:#626b78;--accent:#2563eb;--accent-ink:#fff;--border:#e2e5ea;--focus:#2563eb;--code-bg:#f2f3f5;--success:#15803d;--warn:#b45309;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;color-scheme:light}@media (prefers-color-scheme:dark){:root{--surface-0:#0f1115;--surface-1:#161a20;--surface-2:#1e242c;--text-primary:#e8eaed;--text-secondary:#a6adb8;--text-tertiary:#7d848f;--accent:#60a5fa;--accent-ink:#0f1115;--border:#2b323b;--code-bg:#1b2027;--success:#4ade80;--warn:#fbbf24;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;color-scheme:dark}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@view-transition{navigation:auto}@keyframes page-content-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.35rem)}}#main{view-transition-name:page-content}::view-transition-old(page-content){animation:page-content-out .16s var(--ease) both}::view-transition-new(page-content){animation:page-content-in .24s var(--ease) both}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);letter-spacing:-.005em;color:var(--text-primary);background:var(--surface-0);transition:background-color var(--dur-med) var(--ease), color var(--dur-med) var(--ease)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tracking-heading);text-wrap:balance}h1{font-size:clamp(2.5rem, 8vw, var(--fs-3xl));line-height:var(--lh-display);letter-spacing:var(--tracking-display)}h2{font-size:clamp(1.75rem, 3vw, var(--fs-2xl))}h3{font-size:var(--fs-xl)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}img,svg{max-width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-4);margin-inline:auto}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-0);color:var(--text-primary);box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.content{max-width:var(--content-max)}.header{z-index:40;height:var(--header-h);background:color-mix(in srgb, var(--surface-0) 88%, transparent);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);align-items:center;display:flex;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand{font-family:var(--font-mono);font-weight:650;font-size:var(--fs-base);color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap}.brand:hover{text-decoration:none}.brand .dot{color:var(--accent)}.nav{gap:var(--space-5);align-items:center;display:flex}.nav a{color:var(--text-secondary);font-size:var(--fs-sm);letter-spacing:.01em;font-weight:500}.nav a:hover{color:var(--text-primary);text-decoration:none}.nav a[aria-current=page]{color:var(--text-primary);font-weight:650}.contact__trigger,.palette__trigger{align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-family:var(--font-body);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:inline-flex}.contact__trigger:hover,.palette__trigger:hover{border-color:var(--text-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.contact__trigger-icon,.palette__trigger-icon{color:var(--accent)}.site-footer{border-top:1px solid var(--border);margin-top:var(--space-8);padding-block:var(--space-6)}.footer__inner{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--text-tertiary);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.footer__links{gap:var(--space-4);display:flex}.footer__links a{color:var(--text-secondary)}.footer__contact,.inline-contact{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.footer__contact:hover,.inline-contact:hover{text-decoration:underline}.hero{padding-block:var(--space-8) var(--space-7)}.hero__eyebrow{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-4)}.hero h1{max-width:18ch;margin-bottom:var(--space-4);font-weight:750}.hero__sub{font-size:var(--fs-lg);color:var(--text-secondary);max-width:52ch;margin-bottom:var(--space-6)}.hero__meta{gap:var(--space-5);color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.hero__actions{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.hero__proof{gap:var(--space-5) var(--space-6);margin-bottom:var(--space-5);flex-wrap:wrap;list-style:none;display:flex}.hero__proof li{gap:2px;display:grid}.hero__proof strong{font-size:var(--fs-lg);letter-spacing:-.02em;font-weight:650}.hero__proof span{color:var(--text-tertiary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.section{padding-block:var(--space-6);border-top:1px solid var(--border)}.section__head{margin-bottom:var(--space-5);justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;padding-inline-start:2.25rem;display:flex;position:relative}.section__head:before{content:"";border-top:2px solid var(--accent);border-bottom:2px solid color-mix(in srgb, var(--accent) 42%, transparent);width:1.5rem;height:.5rem;position:absolute;top:.45rem;left:0}.section__head:after{content:"";background:var(--accent);border-radius:50%;width:.25rem;height:.25rem;position:absolute;top:.59rem;left:.38rem}.section__head--plain{padding-inline-start:0}.section__head--plain:before,.section__head--plain:after{display:none}.section__head h2{font-size:var(--fs-xl);font-weight:700}.section__more{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--fs-sm);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), filter var(--dur-fast) var(--ease);cursor:pointer;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font-weight:550;display:inline-flex}.btn:hover{border-color:var(--text-secondary);text-decoration:none}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--primary:hover{filter:brightness(1.06)}.btn:active{transform:translateY(0)}.grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));display:grid}.card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;display:flex}.card:hover{border-color:var(--text-secondary)}.card:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}.card:hover a{text-decoration-thickness:2px}.card__title{font-size:var(--fs-lg)}.card__title a{color:var(--text-primary)}.card__desc{color:var(--text-secondary);font-size:var(--fs-sm);flex:1}.card__meta{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.03em;border:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;border-radius:999px;font-weight:600;display:inline-flex}.badge--active,.badge--released,.badge--maintained{color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, var(--border))}.badge--prototype,.badge--experiment{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.badge--archived,.badge--paused{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, var(--border))}.badge--contributed{color:var(--text-secondary);border-color:var(--border);border-style:dashed}.badge--professional{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));border-style:dashed}.badge--flagship{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.card--compact{padding:var(--space-4)}.tag{font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;font-size:.72rem}.tag:before{content:"#";color:var(--accent);opacity:.6}.kbd-hint{align-items:center;gap:var(--space-1);font-family:var(--font-mono);color:var(--text-tertiary);font-size:.72rem;display:inline-flex}.kbd-hint kbd{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px var(--space-2);background:var(--surface-1);border-bottom-width:2px}[data-tilt]{transform-style:preserve-3d;will-change:transform;transition:transform .32s var(--ease);position:relative}[data-tilt].tilt-active{transition-duration:60ms}[data-tilt]:before{content:"";z-index:1;pointer-events:none;border-radius:var(--radius-lg);background:radial-gradient(380px circle at calc(50% + (var(--px,0) * 26%)) calc(50% + (var(--py,0) * 26%)), color-mix(in srgb, var(--surface-0) 88%, transparent), color-mix(in srgb, var(--surface-0) 42%, transparent) 45%, transparent 72%);opacity:0;transition:opacity var(--dur-med) var(--ease);position:absolute;inset:0}[data-tilt].tilt-active:before{opacity:1}[data-tilt]:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at calc(50% + (var(--px,0) * 38%)) 100%, #10182866, transparent 70%);filter:blur(10px);opacity:0;height:30px;transition:opacity var(--dur-med) var(--ease);position:absolute;bottom:-18px;left:2%;right:2%;transform:translateY(0)}[data-tilt].tilt-active:after{opacity:1}[data-depth]{z-index:2;will-change:transform;transition:transform .32s var(--ease);position:relative}[data-tilt].tilt-active [data-depth]{transition-duration:60ms}.btn{position:relative;overflow:visible}.btn:before{content:"";left:calc(var(--btn-origin-x,100) * 1%);top:calc(var(--btn-origin-y,50) * 1%);z-index:3;pointer-events:none;clip-path:polygon(0 0,100% 50%,0 100%);filter:drop-shadow(0 0 .28rem #2de2e6);width:1.35rem;height:.42rem;opacity:var(--btn-proximity-opacity,0);transform-origin:0;transform:translate(0, -50%) scale(var(--btn-proximity-scale,.72)) rotate(var(--btn-triangle-angle,0deg));transition:opacity .26s var(--ease), transform .26s var(--ease), filter .26s var(--ease);will-change:opacity, transform, filter;background:linear-gradient(#2de2e6 0 33%,#d92f9d 33% 66%,#5367d8 66% 100%);position:absolute}.btn:after{content:"";pointer-events:none;background:radial-gradient(120px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--surface-0) 55%, transparent), transparent 60%);opacity:0;transition:opacity var(--dur-med) var(--ease);position:absolute;inset:0}.btn:hover{text-decoration:none}.btn--sheen:after{opacity:1}@media (hover:hover) and (pointer:fine){.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}body.effect-chromatic-aberration{--ca-red:#ff26536b;--ca-cyan:#00d5ff66;--ca-distance:.045em}body.effect-chromatic-aberration :is(h1,h2,h3,.brand){text-shadow:calc(var(--ca-distance) * -1) 0 var(--ca-red), var(--ca-distance) 0 var(--ca-cyan)}body.effect-chromatic-aberration .hero__eyebrow{text-shadow:-.06em 0 var(--ca-red), .06em 0 var(--ca-cyan)}body.effect-chromatic-aberration :is(.btn,.section__more){text-shadow:-.045em 0 var(--ca-red), .045em 0 var(--ca-cyan)}body.effect-chromatic-aberration :is(.card,.post-card,.now-card,.career-signal){box-shadow:-1px 0 0 var(--ca-red), 1px 0 0 var(--ca-cyan)}body.effect-chromatic-aberration :is(.card:hover,.post-card:hover){box-shadow:-2px 0 0 var(--ca-red), 2px 0 0 var(--ca-cyan), var(--shadow-md)}@keyframes chromatic-jolt{0%,to{text-shadow:calc(var(--ca-distance) * -1) 0 var(--ca-red), var(--ca-distance) 0 var(--ca-cyan)}33%{text-shadow:-.08em 0 var(--ca-red), .06em 0 var(--ca-cyan)}66%{text-shadow:.05em 0 var(--ca-red), -.08em 0 var(--ca-cyan)}}@media (prefers-reduced-motion:reduce){[data-tilt],[data-depth]{will-change:auto}[data-tilt]:before,[data-tilt]:after,.btn:after{display:none}body.effect-comic-halftone:before,body.effect-gwen-universe:after,.btn:before{will-change:auto;transition:none}body.effect-chromatic-aberration :is(.brand:hover,.hero h1:hover,.card:hover .card__title,.post-card:hover .section__head h2,.now-card:hover h2,.career-signal:hover h2){animation:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.effect-chromatic-aberration :is(.brand:hover,.hero h1:hover,.card:hover .card__title,.post-card:hover .section__head h2,.now-card:hover h2,.career-signal:hover h2){animation:.42s steps(3,end) chromatic-jolt}}body.effect-comic-halftone{--comic-red:#ff2653c7;--comic-cyan:#00d5ffb8;--comic-dot-radius:clamp(8px, 1.15vw, 18px);--comic-grid-size:clamp(76px, 9vw, 132px);position:relative}body.effect-comic-halftone:before{content:"";z-index:0;pointer-events:none;transform-origin:50% 100%;transform:perspective(820px) rotateX(58deg) translate3d(var(--comic-parallax-x,0px), calc(var(--comic-parallax-y,0px) + var(--comic-scroll-y,0px)), 0);background-image:radial-gradient(circle, var(--comic-red) 0 var(--comic-dot-radius), transparent calc(var(--comic-dot-radius) + 1px)), radial-gradient(circle, var(--comic-cyan) 0 var(--comic-dot-radius), transparent calc(var(--comic-dot-radius) + 1px));background-size:var(--comic-grid-size) var(--comic-grid-size), calc(var(--comic-grid-size) * 1.22) calc(var(--comic-grid-size) * 1.22);background-position:calc(50% + var(--comic-parallax-x,0px)) calc(50% + var(--comic-parallax-y,0px)), calc(50% - var(--comic-parallax-x,0px)) calc(50% - var(--comic-parallax-y,0px));opacity:.28;will-change:transform;position:fixed;inset:-18vh -12vw;-webkit-mask-image:linear-gradient(#0000 0%,#000 28% 92%);mask-image:linear-gradient(#0000 0%,#000 28% 92%)}body.effect-comic-halftone>main,body.effect-comic-halftone>footer{z-index:1;position:relative}body.effect-gwen-universe{--gwen-cyan:#2de2e6;--gwen-blue:#243a9f;--gwen-magenta:#d92f9d;--gwen-pointer-x:50%;--gwen-pointer-y:34%;--gwen-opacity:.36;position:relative}body.effect-gwen-universe:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(36rem circle at var(--gwen-pointer-x) var(--gwen-pointer-y), color-mix(in srgb, var(--gwen-cyan) 26%, transparent), transparent 68%), radial-gradient(42rem circle at calc(100% - var(--gwen-pointer-x)) calc(100% - var(--gwen-pointer-y)), color-mix(in srgb, var(--gwen-magenta) 20%, transparent), transparent 70%), linear-gradient(135deg, color-mix(in srgb, var(--gwen-blue) 14%, transparent), transparent 42%, color-mix(in srgb, var(--gwen-magenta) 10%, transparent));opacity:var(--gwen-opacity);mix-blend-mode:multiply;filter:blur(18px)saturate(145%);transition:opacity .36s var(--ease);will-change:background;position:fixed;inset:-16vh -12vw}body.effect-gwen-universe.gwen-hover{--gwen-opacity:.58}body.effect-gwen-universe>main,body.effect-gwen-universe>footer{z-index:1;position:relative}body.effect-gwen-universe :is(.card,.post-card,.now-card,.career-signal):hover{border-color:color-mix(in srgb, var(--gwen-cyan) 52%, var(--border))}body.effect-gwen-universe :is(.card,.post-card,.now-card,.career-signal):hover a,body.effect-gwen-universe .nav a:hover,body.effect-gwen-universe .section__more:hover{color:color-mix(in srgb, var(--gwen-magenta) 66%, var(--accent))}@media (prefers-color-scheme:dark){body.effect-gwen-universe{--gwen-opacity:.4}body.effect-gwen-universe:after{mix-blend-mode:screen}}body.effect-particles{position:relative}body.effect-particles .particles-canvas{z-index:0;pointer-events:none;--particle-dot:36 126 153;--particle-link:36 126 153;position:fixed;inset:0}@media (prefers-color-scheme:dark){body.effect-particles .particles-canvas{--particle-dot:135 220 231;--particle-link:135 220 231}}body.effect-particles>main,body.effect-particles>footer{z-index:4;position:relative}.page-head{padding-block:var(--space-8) var(--space-6)}.page-head h1{margin-bottom:var(--space-3)}.page-head p{color:var(--text-secondary);max-width:56ch}@media (width<=52rem){.header{height:auto}.header__inner{padding-block:var(--space-3);flex-wrap:wrap;align-items:flex-start}.nav{gap:var(--space-4);scrollbar-width:thin;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:2px;overflow-x:auto}.nav a{white-space:nowrap}}@media (width<=34rem){.container{padding-inline:var(--space-3)}.hero{padding-block:var(--space-7) var(--space-6)}.hero__meta{gap:var(--space-3)}.section{padding-block:var(--space-5)}.section__head{align-items:flex-start}.post-card{padding:var(--space-4)}.post-list li{align-items:flex-start;gap:var(--space-1);flex-direction:column}.palette__trigger-text,.palette__trigger .kbd-hint,.contact__trigger>span:last-child{display:none}.palette__trigger,.contact__trigger{padding-inline:var(--space-2)}}.palette__trigger[data-astro-cid-oqgw6c2e]{align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-family:var(--font-body);cursor:pointer;transition:border-color var(--dur-fast) var(--ease);display:inline-flex}.palette__trigger[data-astro-cid-oqgw6c2e]:hover{border-color:var(--text-secondary)}.palette__trigger-icon[data-astro-cid-oqgw6c2e]{color:var(--accent)}.palette__overlay[data-astro-cid-oqgw6c2e]{z-index:100;padding:var(--space-4);background:color-mix(in srgb, var(--surface-0) 62%, transparent);backdrop-filter:blur(6px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.palette__overlay[data-astro-cid-oqgw6c2e][hidden]{display:none}.palette__dialog[data-astro-cid-oqgw6c2e]{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:34rem;box-shadow:var(--shadow-md);overflow:hidden}.palette__input-row[data-astro-cid-oqgw6c2e]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.palette__prompt[data-astro-cid-oqgw6c2e]{font-family:var(--font-mono);color:var(--accent);font-weight:700}.palette__input[data-astro-cid-oqgw6c2e]{color:var(--text-primary);font-size:var(--fs-base);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.palette__input[data-astro-cid-oqgw6c2e]::placeholder{color:var(--text-tertiary)}.palette__close[data-astro-cid-oqgw6c2e]{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px var(--space-2);cursor:pointer}.palette__close[data-astro-cid-oqgw6c2e]:hover{color:var(--text-primary)}.palette__hint[data-astro-cid-oqgw6c2e]{padding:var(--space-2) var(--space-4);font-family:var(--font-mono);color:var(--text-tertiary);border-bottom:1px solid var(--border);font-size:.72rem}.palette__status[data-astro-cid-oqgw6c2e]{padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--text-secondary)}.palette__results[data-astro-cid-oqgw6c2e]{padding:var(--space-2);max-height:50vh;margin:0;list-style:none;overflow-y:auto}.palette__group[data-astro-cid-oqgw6c2e]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:var(--space-3) var(--space-2) var(--space-1);font-size:.68rem}.palette__result[data-astro-cid-oqgw6c2e]{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--fs-sm);display:flex}.palette__result[data-astro-cid-oqgw6c2e][aria-selected=true]{background:var(--surface-2)}.palette__result-type[data-astro-cid-oqgw6c2e]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);flex-shrink:0;font-size:.68rem}.palette__empty[data-astro-cid-oqgw6c2e]{padding:var(--space-5) var(--space-4);color:var(--text-tertiary);font-size:var(--fs-sm)}.contact__overlay[data-astro-cid-vekgkm42]{z-index:100;padding:var(--space-4);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 32rem), color-mix(in srgb, var(--surface-0) 76%, transparent);backdrop-filter:blur(10px);animation:contact-fade-in var(--dur-med) var(--ease) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.contact__overlay[data-astro-cid-vekgkm42][hidden]{display:none}.contact__dialog[data-astro-cid-vekgkm42]{isolation:isolate;width:100%;max-width:42rem;max-height:min(46rem,100dvh - 2rem);padding:var(--space-6);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 34%), var(--surface-0);border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:var(--radius-lg);box-shadow:0 1.5rem 5rem color-mix(in srgb, var(--accent) 14%, transparent), var(--shadow-md);animation:contact-dialog-in var(--dur-med) var(--ease) both;position:relative;overflow-y:auto}.contact__dialog[data-astro-cid-vekgkm42]:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.8;pointer-events:none;height:2px;position:absolute;inset:0 15% auto}.contact__head[data-astro-cid-vekgkm42]{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.contact__eyebrow[data-astro-cid-vekgkm42]{margin-bottom:var(--space-2);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.contact__eyebrow[data-astro-cid-vekgkm42] span[data-astro-cid-vekgkm42]{color:var(--success);vertical-align:.1em;margin-inline-start:var(--space-2);font-size:.55rem;display:inline-block}.contact__head[data-astro-cid-vekgkm42] h2[data-astro-cid-vekgkm42]{max-width:16ch;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1}.contact__close[data-astro-cid-vekgkm42]{padding:2px var(--space-2);color:var(--text-tertiary);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-sm);cursor:pointer;flex-shrink:0}.contact__close[data-astro-cid-vekgkm42]:hover{color:var(--text-primary)}.contact__description[data-astro-cid-vekgkm42]{max-width:52ch;margin-top:var(--space-3);color:var(--text-secondary)}.contact__form[data-astro-cid-vekgkm42]{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact__field[data-astro-cid-vekgkm42]{gap:var(--space-2);display:grid}.contact__field--full[data-astro-cid-vekgkm42],.contact__actions[data-astro-cid-vekgkm42]{grid-column:1/-1}.contact__form[data-astro-cid-vekgkm42] label[data-astro-cid-vekgkm42] span[data-astro-cid-vekgkm42]{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase}.contact__form[data-astro-cid-vekgkm42] input[data-astro-cid-vekgkm42],.contact__form[data-astro-cid-vekgkm42] textarea[data-astro-cid-vekgkm42]{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;padding:var(--space-3);color:var(--text-primary);background:var(--surface-1);font:inherit;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.contact__form[data-astro-cid-vekgkm42] textarea[data-astro-cid-vekgkm42]{resize:vertical;min-height:8rem}.contact__form[data-astro-cid-vekgkm42] input[data-astro-cid-vekgkm42]::placeholder,.contact__form[data-astro-cid-vekgkm42] textarea[data-astro-cid-vekgkm42]::placeholder{color:var(--text-tertiary);opacity:.8}.contact__form[data-astro-cid-vekgkm42] input[data-astro-cid-vekgkm42]:focus,.contact__form[data-astro-cid-vekgkm42] textarea[data-astro-cid-vekgkm42]:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent);outline:none}.contact__trap[data-astro-cid-vekgkm42]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.contact__actions[data-astro-cid-vekgkm42]{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.contact__status[data-astro-cid-vekgkm42]{color:var(--text-secondary);font-size:var(--fs-sm)}.contact__status[data-astro-cid-vekgkm42][data-state=success]{color:var(--success)}.contact__status[data-astro-cid-vekgkm42][data-state=error]{color:var(--warn)}.contact__success[data-astro-cid-vekgkm42][hidden]{display:none}.contact__compose[data-astro-cid-vekgkm42][hidden]{display:none!important}.contact__success[data-astro-cid-vekgkm42]{padding-block:var(--space-7) var(--space-5);text-align:center;animation:contact-success-in .42s var(--ease) both}.contact__dialog[data-astro-cid-vekgkm42][data-contact-state=success]{place-items:center;max-width:34rem;min-height:min(29rem,100dvh - 2rem);display:grid}.contact__dialog[data-astro-cid-vekgkm42][data-contact-state=success] .contact__head[data-astro-cid-vekgkm42],.contact__dialog[data-astro-cid-vekgkm42][data-contact-state=success]>.contact__description[data-astro-cid-vekgkm42]{display:none}.contact__success-mark[data-astro-cid-vekgkm42]{width:4.25rem;height:4.25rem;margin:0 auto var(--space-5);border:1px solid color-mix(in srgb, var(--accent) 62%, var(--border));color:var(--accent);background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 68%);box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 28%, transparent);animation:contact-pulse 1.8s var(--ease) 1;border-radius:50%;place-items:center;display:grid;position:relative}.contact__success-mark[data-astro-cid-vekgkm42]:before,.contact__success-mark[data-astro-cid-vekgkm42]:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:50%;animation:2.4s linear infinite contact-orbit;position:absolute;inset:-.6rem}.contact__success-mark[data-astro-cid-vekgkm42]:after{opacity:.45;animation-delay:-1.2s;inset:-1.15rem}.contact__success-mark[data-astro-cid-vekgkm42] span[data-astro-cid-vekgkm42]{animation:contact-spark 1.8s var(--ease) infinite;font-size:1.6rem}.contact__success-eyebrow[data-astro-cid-vekgkm42]{margin-bottom:var(--space-2);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:650}.contact__success[data-astro-cid-vekgkm42] h3[data-astro-cid-vekgkm42]{font-size:var(--fs-xl)}.contact__success[data-astro-cid-vekgkm42]>p[data-astro-cid-vekgkm42]:not(.contact__success-eyebrow){margin:var(--space-2) auto var(--space-5);color:var(--text-secondary)}@keyframes contact-fade-in{0%{opacity:0}to{opacity:1}}@keyframes contact-dialog-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contact-success-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes contact-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 28%, transparent)}55%{box-shadow:0 0 0 1rem color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}@keyframes contact-orbit{0%{opacity:.75;transform:rotate(0)scale(.9)}50%{opacity:.25;transform:rotate(180deg)scale(1.05)}to{opacity:.75;transform:rotate(360deg)scale(.9)}}@keyframes contact-spark{0%,to{opacity:.7;transform:scale(.86)rotate(0)}50%{opacity:1;transform:scale(1.12)rotate(12deg)}}@media (prefers-reduced-motion:reduce){.contact__overlay[data-astro-cid-vekgkm42],.contact__dialog[data-astro-cid-vekgkm42],.contact__success[data-astro-cid-vekgkm42],.contact__success-mark[data-astro-cid-vekgkm42],.contact__success-mark[data-astro-cid-vekgkm42]:before,.contact__success-mark[data-astro-cid-vekgkm42]:after,.contact__success-mark[data-astro-cid-vekgkm42] span[data-astro-cid-vekgkm42]{animation:none}}@media (width<=34rem){.contact__dialog[data-astro-cid-vekgkm42]{padding:var(--space-5) var(--space-4)}.contact__form[data-astro-cid-vekgkm42]{grid-template-columns:1fr}.contact__field--full[data-astro-cid-vekgkm42],.contact__actions[data-astro-cid-vekgkm42]{grid-column:auto}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
