.projects-page[data-astro-cid-kh7btl4r]{--project-ink: #19222f;--project-muted: #677487;--project-surface: rgba(255,255,255,.76);--project-line: rgba(100,120,150,.2);--sample-surface: #edf0f3;padding-top:28px;padding-bottom:64px;max-width:1232px}html.dark .projects-page[data-astro-cid-kh7btl4r],html.dark .skill-dialog[data-astro-cid-kh7btl4r]{--project-ink: #edf2fb;--project-muted: #9cafc9;--project-surface: #101b2d;--project-line: rgba(135,160,200,.17);--sample-surface: #152232}.projects-heading[data-astro-cid-kh7btl4r]{text-align:center;margin-bottom:28px}.projects-heading[data-astro-cid-kh7btl4r] h1[data-astro-cid-kh7btl4r]{margin:0;color:var(--color-primary)}.project-nav[data-astro-cid-kh7btl4r]{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:12px;color:var(--project-muted)}.project-nav[data-astro-cid-kh7btl4r]>span[data-astro-cid-kh7btl4r]{opacity:.35}.project-nav[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]:hover{color:var(--color-primary)}.eyebrow[data-astro-cid-kh7btl4r]{display:block;font-size:10px;letter-spacing:.16em;font-weight:600;color:var(--project-muted)}.galaxy-project[data-astro-cid-kh7btl4r]{position:relative;isolation:isolate;border:1px solid rgba(129,159,206,.2);border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 5% 0%,#152d4c 0%,transparent 65%),#050b15;scroll-margin-top:100px}.galaxy-copy[data-astro-cid-kh7btl4r]{position:relative;z-index:1;width:49%;padding:30px 36px}.galaxy-copy[data-astro-cid-kh7btl4r] .eyebrow[data-astro-cid-kh7btl4r]{color:#8da6c8}.galaxy-copy[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:34px;letter-spacing:-.03em;font-weight:650;color:#f0f5ff;margin:14px 0 6px}.galaxy-subtitle[data-astro-cid-kh7btl4r]{font-size:17px;color:#d8e6fb;line-height:1.6}.galaxy-description[data-astro-cid-kh7btl4r]{font-size:13px;line-height:1.8;color:#9fb3ce;max-width:355px;margin-top:12px}.project-actions[data-astro-cid-kh7btl4r]{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:22px}.project-button[data-astro-cid-kh7btl4r]{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 17px;border-radius:8px;font-size:12px;font-weight:550;min-height:40px}.primary[data-astro-cid-kh7btl4r]{background:var(--color-primary);color:#fff}.primary[data-astro-cid-kh7btl4r]:hover{background:var(--color-btn-primary-hover)}.text-link[data-astro-cid-kh7btl4r]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:550;color:var(--color-primary);cursor:pointer}.text-link[data-astro-cid-kh7btl4r]:hover{text-decoration:underline;text-underline-offset:4px}.galaxy-copy[data-astro-cid-kh7btl4r] .text-link[data-astro-cid-kh7btl4r]{color:#b7d2f9}.galaxy-art[data-astro-cid-kh7btl4r]{position:absolute;top:0;bottom:0;right:0;width:76%;overflow:hidden}.galaxy-art[data-astro-cid-kh7btl4r]>img[data-astro-cid-kh7btl4r]{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 12%,#000 55%);transition:transform .55s ease}.galaxy-art[data-astro-cid-kh7btl4r]:hover>img[data-astro-cid-kh7btl4r]{transform:scale(1.025)}.galaxy-art-caption[data-astro-cid-kh7btl4r]{position:absolute;bottom:22px;right:24px;display:flex;gap:18px;align-items:center;color:#9cb6db;font-size:9px;letter-spacing:.15em}.art-open[data-astro-cid-kh7btl4r]{display:grid;place-items:center;border:1px solid #6d87ac66;border-radius:50%;width:34px;height:34px;background:#0e192d66}.project-section[data-astro-cid-kh7btl4r]{margin-top:40px;scroll-margin-top:100px}.section-intro[data-astro-cid-kh7btl4r]{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-intro[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:25px;font-weight:650;letter-spacing:-.025em;color:var(--project-ink);margin-top:6px}.section-intro[data-astro-cid-kh7btl4r]>p[data-astro-cid-kh7btl4r]{font-size:12px;color:var(--project-muted);line-height:1.8;margin-bottom:3px}.skills-grid[data-astro-cid-kh7btl4r]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.skill-card[data-astro-cid-kh7btl4r]{display:flex;flex-direction:column;min-width:0;border:1px solid var(--project-line);border-radius:16px;overflow:hidden;background:var(--project-surface)}.skill-cover[data-astro-cid-kh7btl4r]{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:2.25;padding:16px 24px;background:var(--sample-surface);cursor:pointer;overflow:hidden}.sample-trio[data-astro-cid-kh7btl4r]{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.65,.3,1)}.sample-frame[data-astro-cid-kh7btl4r]{display:block;height:100%;aspect-ratio:var(--image-ratio);border-radius:10px;overflow:hidden;box-shadow:0 7px 16px #0003}.sample-frame[data-astro-cid-kh7btl4r] img[data-astro-cid-kh7btl4r]{display:block;width:100%;height:100%;object-fit:cover}.skill-cover[data-astro-cid-kh7btl4r]:hover .sample-trio[data-astro-cid-kh7btl4r]{transform:translateY(-2px)}.cover-open[data-astro-cid-kh7btl4r]{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:29px;height:29px;background:#0b1220aa;border:1px solid #ffffff25;color:#e4ecfa;border-radius:8px;backdrop-filter:blur(8px)}.skill-copy[data-astro-cid-kh7btl4r]{padding:17px 22px 0;display:flex;flex-direction:column;flex:1}.skill-title-row[data-astro-cid-kh7btl4r]{display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-title-row[data-astro-cid-kh7btl4r] h3[data-astro-cid-kh7btl4r]{font-size:21px;font-weight:650;color:var(--project-ink)}.skill-status[data-astro-cid-kh7btl4r]{display:inline-flex;align-items:center;gap:6px;color:#328063;font-size:10px;white-space:nowrap}.status-dot[data-astro-cid-kh7btl4r]{width:5px;height:5px;border-radius:50%;background:currentColor}.skill-status[data-astro-cid-kh7btl4r].is-local{color:var(--project-muted)}html.dark .skill-status[data-astro-cid-kh7btl4r]:not(.is-local){color:#7dc9ab}.skill-description[data-astro-cid-kh7btl4r]{font-size:13px;line-height:1.8;color:var(--project-muted);margin-top:8px}.skill-features[data-astro-cid-kh7btl4r]{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:5px;font-size:11px;line-height:1.7;color:var(--project-muted);margin:12px 0 14px}.skill-features[data-astro-cid-kh7btl4r] li[data-astro-cid-kh7btl4r]{display:flex;align-items:baseline;gap:6px}.skill-features[data-astro-cid-kh7btl4r] li[data-astro-cid-kh7btl4r]:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--color-primary);flex-shrink:0;align-self:center}.skill-actions[data-astro-cid-kh7btl4r]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;border-top:1px solid var(--project-line);padding:11px 0}.skill-actions[data-astro-cid-kh7btl4r]>button[data-astro-cid-kh7btl4r]{padding:7px 11px;border-radius:6px;background:var(--color-primary-bg)}.repo-pending[data-astro-cid-kh7btl4r]{font-size:10px;color:var(--project-muted)}.skill-dialog[data-astro-cid-kh7btl4r]{--project-ink:#19222f;--project-muted:#677487;--project-line:rgba(100,120,150,.22);position:fixed;inset:0;margin:auto;width:min(960px,calc(100vw - 36px));max-height:calc(100svh - 48px);padding:30px;border:1px solid var(--project-line);border-radius:18px;background:#f8f7f3;color:var(--project-ink);overflow-y:auto;box-shadow:0 24px 90px #0006}html.dark .skill-dialog[data-astro-cid-kh7btl4r]{background:#101b2d}.skill-dialog[data-astro-cid-kh7btl4r]::backdrop{background:#030914c9;backdrop-filter:blur(8px)}html.skill-modal-open{overflow:hidden}.dialog-close[data-astro-cid-kh7btl4r]{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--project-line);border-radius:50%;color:var(--project-muted);cursor:pointer}.dialog-close[data-astro-cid-kh7btl4r]:hover{color:var(--color-primary)}.dialog-heading[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:27px;font-weight:650;margin-top:9px}.skill-command[data-astro-cid-kh7btl4r]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--project-muted);margin-top:5px;letter-spacing:.025em}.dialog-description[data-astro-cid-kh7btl4r]{font-size:13px;color:var(--project-muted);line-height:1.8;margin:15px 42px 22px 0}.demo-images[data-astro-cid-kh7btl4r]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:720px;margin:auto}.demo-images[data-astro-cid-kh7btl4r] figure[data-astro-cid-kh7btl4r]{display:flex;flex-direction:column;align-items:center;min-width:0;margin:0}.demo-image-frame[data-astro-cid-kh7btl4r]{width:100%;max-width:160px;aspect-ratio:var(--image-ratio);border-radius:10px;overflow:hidden;box-shadow:0 7px 16px #0002}.demo-image-frame[data-astro-cid-kh7btl4r] img[data-astro-cid-kh7btl4r]{display:block;width:100%;height:100%;object-fit:cover}.demo-images[data-astro-cid-kh7btl4r] figcaption[data-astro-cid-kh7btl4r]{text-align:center;font-size:11px;color:var(--project-muted);margin-top:9px}.skill-workflow[data-astro-cid-kh7btl4r]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid var(--project-line);font-size:12px}.skill-workflow[data-astro-cid-kh7btl4r] li[data-astro-cid-kh7btl4r]{display:flex;gap:10px;align-items:center}.step-number[data-astro-cid-kh7btl4r]{color:var(--color-primary);font-family:ui-monospace,monospace;font-size:11px}.dialog-footer[data-astro-cid-kh7btl4r]{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.dialog-footer[data-astro-cid-kh7btl4r]>p[data-astro-cid-kh7btl4r]{font-size:10px;line-height:1.8;color:var(--project-muted);max-width:390px}.dialog-footer[data-astro-cid-kh7btl4r] .project-actions[data-astro-cid-kh7btl4r]{margin-top:0;flex-shrink:0;gap:16px}.project-button[data-astro-cid-kh7btl4r]:focus-visible,.text-link[data-astro-cid-kh7btl4r]:focus-visible,.skill-cover[data-astro-cid-kh7btl4r]:focus-visible,.dialog-close[data-astro-cid-kh7btl4r]:focus-visible,.project-nav[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]:focus-visible,.galaxy-art[data-astro-cid-kh7btl4r]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}@media(min-width:1600px){.projects-page[data-astro-cid-kh7btl4r]{max-width:1392px}.galaxy-copy[data-astro-cid-kh7btl4r]{padding:34px 40px}}@media(max-width:850px){.galaxy-copy[data-astro-cid-kh7btl4r]{width:55%;padding:26px}.galaxy-copy[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:31px}.galaxy-subtitle[data-astro-cid-kh7btl4r]{font-size:15px}.galaxy-description[data-astro-cid-kh7btl4r]{font-size:12px}.skills-grid[data-astro-cid-kh7btl4r]{gap:18px}.skill-cover[data-astro-cid-kh7btl4r]{padding:14px 18px;aspect-ratio:2.1}.sample-trio[data-astro-cid-kh7btl4r]{gap:9px}.sample-frame[data-astro-cid-kh7btl4r]{border-radius:9px}.skill-copy[data-astro-cid-kh7btl4r]{padding:15px 18px 0}.skill-title-row[data-astro-cid-kh7btl4r] h3[data-astro-cid-kh7btl4r]{font-size:20px}.skill-features[data-astro-cid-kh7btl4r]{column-gap:10px}.section-intro[data-astro-cid-kh7btl4r]{align-items:flex-start;flex-direction:column;gap:5px}.skill-dialog[data-astro-cid-kh7btl4r]{padding:24px}.dialog-footer[data-astro-cid-kh7btl4r]{align-items:flex-start;flex-direction:column}.skill-workflow[data-astro-cid-kh7btl4r]{font-size:10px;gap:8px}.skill-workflow[data-astro-cid-kh7btl4r] li[data-astro-cid-kh7btl4r]{align-items:flex-start;gap:5px}.dialog-description[data-astro-cid-kh7btl4r]{margin-right:0}.demo-images[data-astro-cid-kh7btl4r]{gap:10px}}@media(max-width:560px){.projects-page[data-astro-cid-kh7btl4r]{padding-top:20px;padding-bottom:40px}.projects-heading[data-astro-cid-kh7btl4r]{margin-bottom:24px}.project-nav[data-astro-cid-kh7btl4r]{gap:13px;font-size:11px}.galaxy-copy[data-astro-cid-kh7btl4r]{width:100%;padding:24px 24px 130px}.galaxy-copy[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:30px}.galaxy-description[data-astro-cid-kh7btl4r]{max-width:285px}.galaxy-art[data-astro-cid-kh7btl4r]{top:30%;left:0;width:100%;opacity:.8}.galaxy-art[data-astro-cid-kh7btl4r]>img[data-astro-cid-kh7btl4r]{mask-image:linear-gradient(180deg,transparent 0%,#000 70%)}.galaxy-art-caption[data-astro-cid-kh7btl4r]{right:18px;bottom:18px;font-size:8px}.project-section[data-astro-cid-kh7btl4r]{margin-top:30px}.section-intro[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:24px}.skills-grid[data-astro-cid-kh7btl4r]{grid-template-columns:1fr;gap:18px}.skill-cover[data-astro-cid-kh7btl4r]{aspect-ratio:2.2;padding:13px 22px}.skill-copy[data-astro-cid-kh7btl4r]{padding:15px 18px 0}.skill-features[data-astro-cid-kh7btl4r]{margin:11px 0 12px}.skill-dialog[data-astro-cid-kh7btl4r]{padding:22px 18px;width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.dialog-heading[data-astro-cid-kh7btl4r] h2[data-astro-cid-kh7btl4r]{font-size:25px}.dialog-footer[data-astro-cid-kh7btl4r] .project-actions[data-astro-cid-kh7btl4r]{gap:15px}.demo-images[data-astro-cid-kh7btl4r]{gap:7px}.skill-workflow[data-astro-cid-kh7btl4r] li[data-astro-cid-kh7btl4r]{flex-direction:column;gap:6px}.eyebrow[data-astro-cid-kh7btl4r]{font-size:9px}}@media(prefers-reduced-motion:reduce){.sample-trio[data-astro-cid-kh7btl4r],.galaxy-art[data-astro-cid-kh7btl4r]>img[data-astro-cid-kh7btl4r]{transition:none}.skill-cover[data-astro-cid-kh7btl4r]:hover .sample-trio[data-astro-cid-kh7btl4r],.galaxy-art[data-astro-cid-kh7btl4r]:hover>img[data-astro-cid-kh7btl4r]{transform:none}}
