@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}}.brand-logo[data-astro-cid-uivuhh7y]{color:var(--fg);align-items:center;gap:.65rem;display:inline-flex}svg[data-astro-cid-uivuhh7y]{flex-shrink:0;display:block}.island-wrap[data-astro-cid-wpvy4v7s]{z-index:100;pointer-events:none;justify-content:center;align-items:center;width:100%;height:calc(36px + 1rem);margin:.85rem auto 0;padding:0 1rem;display:flex;position:sticky;top:.85rem}.island[data-astro-cid-wpvy4v7s]{--pad-y:.5rem;--pad-x:.6rem;pointer-events:auto;padding:var(--pad-y) var(--pad-y) var(--pad-y) 1.15rem;background:var(--island-bg);color:var(--island-fg);box-shadow:0 0 0 1px var(--island-edge), 0 18px 40px -16px #0000008c, 0 2px 6px #0003;transition:padding var(--spring-smooth-dur) var(--spring-smooth), gap var(--spring-smooth-dur) var(--spring-smooth), transform var(--spring-bouncy-dur) var(--spring-bouncy), box-shadow .4s ease;border-radius:999px;align-items:center;gap:.75rem;display:flex}.island[data-astro-cid-wpvy4v7s]:hover{transform:scale(1.015)}.island[data-astro-cid-wpvy4v7s][data-compact=true]{--pad-y:.3rem;gap:.4rem;padding-left:.9rem}.logo[data-astro-cid-wpvy4v7s]{min-height:36px;color:var(--island-fg);flex-shrink:0;align-items:center;padding:0;text-decoration:none;transition:opacity .2s;display:flex}.logo[data-astro-cid-wpvy4v7s]:hover{opacity:.85;color:var(--island-fg)}.logo[data-astro-cid-wpvy4v7s] .brand-logo{color:var(--island-fg);gap:.55rem}.logo[data-astro-cid-wpvy4v7s] .brand-mark{transition:transform var(--spring-bouncy-dur) var(--spring-bouncy)}.logo[data-astro-cid-wpvy4v7s]:hover .brand-mark{transform:rotate(-8deg)scale(1.08)}.logo[data-astro-cid-wpvy4v7s] .brand-wordmark{opacity:1;max-width:126px;transition:max-width var(--spring-smooth-dur) var(--spring-smooth), opacity .3s ease}.island[data-astro-cid-wpvy4v7s][data-compact=true] .logo[data-astro-cid-wpvy4v7s] .brand-wordmark{opacity:0;max-width:0}.links-wrap[data-astro-cid-wpvy4v7s]{position:relative}.island-pill[data-astro-cid-wpvy4v7s]{height:100%;width:var(--pill-w,0px);transform:translateX(var(--pill-x,0px));opacity:0;pointer-events:none;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), width var(--spring-bouncy-dur) var(--spring-bouncy), opacity .25s ease;background:#ffffff24;border-radius:999px;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff1f}.links-wrap[data-astro-cid-wpvy4v7s].pill-ready .island-pill[data-astro-cid-wpvy4v7s]{opacity:1}.island[data-astro-cid-wpvy4v7s][data-progress] .island-pill[data-astro-cid-wpvy4v7s]{background:linear-gradient(90deg, color-mix(in srgb, var(--sui-green) 55%, transparent) calc(var(--progress,0) * 100%), #ffffff24 0)}ul[data-astro-cid-wpvy4v7s]{align-items:center;gap:.1rem;list-style:none;display:flex;position:relative}li[data-astro-cid-wpvy4v7s]{align-items:center;display:flex}a[data-astro-cid-wpvy4v7s]{font-size:var(--text-nav-size);color:var(--island-muted);border-radius:999px;align-items:center;min-height:36px;padding:0 .85rem;font-weight:500;text-decoration:none;transition:color .2s,background-color .2s;display:inline-flex;position:relative}ul[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--island-fg);text-decoration:none}a[data-astro-cid-wpvy4v7s].active{color:var(--island-fg);background:#ffffff24}.pill-ready[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].active{background:0 0}a[data-astro-cid-wpvy4v7s]:focus-visible{outline-color:var(--sui-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){.island[data-astro-cid-wpvy4v7s],.island[data-astro-cid-wpvy4v7s]:hover{transition:none;transform:none}.island-pill[data-astro-cid-wpvy4v7s],.logo[data-astro-cid-wpvy4v7s] .brand-wordmark{transition:opacity .2s}}@media (width<=620px){.island-wrap[data-astro-cid-wpvy4v7s]{height:calc(44px + .5rem);padding:0 .6rem;top:.6rem}.island[data-astro-cid-wpvy4v7s]{gap:.25rem;padding:.25rem .25rem .25rem .95rem}.island[data-astro-cid-wpvy4v7s][data-compact=true]{padding:.15rem .15rem .15rem .8rem}.island[data-astro-cid-wpvy4v7s][data-compact=true] a[data-astro-cid-wpvy4v7s],.island[data-astro-cid-wpvy4v7s][data-compact=true] .logo[data-astro-cid-wpvy4v7s]{min-height:36px}.logo[data-astro-cid-wpvy4v7s] .brand-wordmark,.nav-home[data-astro-cid-wpvy4v7s]{display:none}.logo[data-astro-cid-wpvy4v7s]{min-height:44px;padding-right:.25rem}a[data-astro-cid-wpvy4v7s]{font-size:var(--text-nav-size-sm);min-height:40px;transition:color .2s ease, background-color .2s ease, min-height var(--spring-bouncy-dur) var(--spring-bouncy);padding:0 .7rem}}@media (width<=359px){.island[data-astro-cid-wpvy4v7s]{padding-left:.7rem}a[data-astro-cid-wpvy4v7s]{padding:0 .5rem}}.social-links[data-astro-cid-y2qsmizv]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]{color:var(--fg-muted);width:var(--sz);height:var(--sz);flex:0 0 var(--sz);transition:color .3s ease, transform var(--spring-bouncy-dur) var(--spring-bouncy), filter .3s ease;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]:before{content:"";position:absolute;inset:-.625rem}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv]:hover{color:var(--accent-1);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent-1) 50%, transparent));text-decoration:none;transform:scale(1.2)rotate(-6deg)}.social-links[data-astro-cid-y2qsmizv] a[data-astro-cid-y2qsmizv] svg{width:var(--sz);height:var(--sz);display:block}.social-list[data-astro-cid-y2qsmizv]{flex-direction:column;list-style:none;display:flex}.social-row[data-astro-cid-y2qsmizv]{min-height:52px;color:var(--fg);border-bottom:1px solid var(--separator);align-items:center;gap:.85rem;padding:.45rem 0;transition:background-color .2s;display:flex}li[data-astro-cid-y2qsmizv]:last-child .social-row[data-astro-cid-y2qsmizv]{border-bottom:0}.social-row[data-astro-cid-y2qsmizv]:hover{color:var(--fg)}.social-tile[data-astro-cid-y2qsmizv]{background:var(--tint);color:#fff;width:30px;height:30px;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy);border-radius:8px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 .5px #ffffff2e}.social-tile[data-astro-cid-y2qsmizv] svg{width:17px;height:17px}.social-row[data-astro-cid-y2qsmizv]:hover .social-tile[data-astro-cid-y2qsmizv]{transform:scale(1.12)rotate(-8deg)}.social-label[data-astro-cid-y2qsmizv]{font-weight:500}.social-host[data-astro-cid-y2qsmizv]{color:var(--fg-muted);font-size:var(--text-caption-size);margin-left:auto}.social-chevron[data-astro-cid-y2qsmizv]{color:var(--fg-faint);transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), color .2s ease}.social-row[data-astro-cid-y2qsmizv]:hover .social-chevron[data-astro-cid-y2qsmizv]{color:var(--accent-1);transform:translate(2px,-2px)}@media (width<=420px){.social-host[data-astro-cid-y2qsmizv]{display:none}.social-chevron[data-astro-cid-y2qsmizv]{margin-left:auto}}.theme-control[data-astro-cid-m4rhk2r6]{box-sizing:border-box;background:var(--fill);border:0;border-radius:999px;grid-template-columns:auto auto auto;gap:.05rem;height:34px;padding:2px .1rem;display:inline-grid;position:relative}.theme-thumb[data-astro-cid-m4rhk2r6]{z-index:0;background:var(--bg-elevated);pointer-events:none;width:100%;min-width:0;height:100%;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), width var(--spring-bouncy-dur) var(--spring-bouncy), background-color .2s ease;border-radius:999px;grid-area:1/3;box-shadow:0 3px 8px #0000001f,0 0 0 .5px #0000000a}.theme-control[data-astro-cid-m4rhk2r6].thumb-ready .theme-thumb[data-astro-cid-m4rhk2r6]{grid-area:auto;width:0;height:auto;position:absolute;inset:2px auto 2px 0;transform:translate(0)}button[data-astro-cid-m4rhk2r6]{z-index:1;font:inherit;font-size:var(--text-ui-control-size);letter-spacing:.01em;min-width:44px;min-height:28px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.125rem .65rem;line-height:1.2;transition:color .2s;position:relative}button[data-astro-cid-m4rhk2r6][data-theme-option=light]{grid-area:1/1}button[data-astro-cid-m4rhk2r6][data-theme-option=dark]{grid-area:1/2}button[data-astro-cid-m4rhk2r6][data-theme-option=system]{grid-area:1/3}button[data-astro-cid-m4rhk2r6][aria-pressed=true]{color:var(--fg);background:var(--bg-elevated);font-weight:600}.theme-control[data-astro-cid-m4rhk2r6].thumb-ready button[data-astro-cid-m4rhk2r6][aria-pressed=true]{background:0 0}button[data-astro-cid-m4rhk2r6]:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}@media (prefers-reduced-motion:reduce){.theme-thumb[data-astro-cid-m4rhk2r6],button[data-astro-cid-m4rhk2r6]{transition:none}}footer[data-astro-cid-jo6i4kqk]{z-index:1;margin-top:auto;padding:3rem 1.25rem 2.5rem;position:relative}footer[data-astro-cid-jo6i4kqk]:before{content:"";background:linear-gradient(90deg, transparent, var(--border) 20%, color-mix(in srgb, var(--accent-1) 40%, transparent) 50%, var(--border) 80%, transparent);width:min(1100px,92%);height:1px;position:absolute;top:0;left:50%;translate:-50%}.footer-inner[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:center;gap:1.25rem;max-width:720px;margin:0 auto;display:flex}.footer-sign[data-astro-cid-jo6i4kqk]{align-items:center;gap:.5rem;display:flex}.footer-line[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);color:#ff8170;font-size:.8rem}:root[data-theme=light] .footer-line[data-astro-cid-jo6i4kqk]{color:#c41a16}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .footer-line[data-astro-cid-jo6i4kqk]{color:#c41a16}}.footer-code[data-astro-cid-jo6i4kqk]{color:var(--fg-muted)}.footer-bird[data-astro-cid-jo6i4kqk]{width:44px;height:44px;color:var(--swift-orange);cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), background-color .2s ease;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.footer-bird[data-astro-cid-jo6i4kqk]:hover{background:var(--fill);transform:rotate(-12deg)scale(1.15)}.footer-bird[data-astro-cid-jo6i4kqk]:active{transform:scale(.9)}.footer-meta[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.copy[data-astro-cid-jo6i4kqk]{font-size:var(--text-footer-size);color:var(--fg-muted);letter-spacing:.02em;align-items:center;gap:.45rem;font-weight:400;display:flex}.sep[data-astro-cid-jo6i4kqk]{opacity:.55}.copy[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--fg-muted);text-decoration:none;transition:color .2s}.copy[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-1);text-decoration:none}@media (width<=620px){.footer-meta[data-astro-cid-jo6i4kqk]{text-align:center;flex-direction:column;justify-content:center}}@media (prefers-reduced-motion:reduce){.footer-bird[data-astro-cid-jo6i4kqk],.footer-bird[data-astro-cid-jo6i4kqk]:hover{transform:none}}.mesh[data-astro-cid-bqhhofte]{z-index:-1;pointer-events:none;height:100lvh;position:fixed;inset:0 0 auto;overflow:hidden}.blob[data-astro-cid-bqhhofte]{width:62vmax;height:62vmax;opacity:var(--mesh-opacity);mix-blend-mode:var(--mesh-blend);will-change:transform;border-radius:50%;position:absolute}.blob-blue[data-astro-cid-bqhhofte]{background:radial-gradient(closest-side, color-mix(in srgb, var(--brand-blue) 55%, transparent), transparent);animation:38s ease-in-out infinite alternate drift-a;top:-32vmax;left:-18vmax}.blob-purple[data-astro-cid-bqhhofte]{background:radial-gradient(closest-side, color-mix(in srgb, var(--sui-purple) 38%, transparent), transparent);animation:44s ease-in-out infinite alternate drift-b;top:-26vmax;right:-26vmax}.blob-orange[data-astro-cid-bqhhofte]{background:radial-gradient(closest-side, color-mix(in srgb, var(--swift-orange) 30%, transparent), transparent);animation:50s ease-in-out infinite alternate drift-c;bottom:-38vmax;right:-12vmax}.blob-mint[data-astro-cid-bqhhofte]{background:radial-gradient(closest-side, color-mix(in srgb, var(--sui-mint) 22%, transparent), transparent);animation:56s ease-in-out infinite alternate-reverse drift-b;bottom:-40vmax;left:-24vmax}.grid[data-astro-cid-bqhhofte]{background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1.2px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 55% at 50% 0,#000 0%,#0000 75%);mask-image:radial-gradient(80% 55% at 50% 0,#000 0%,#0000 75%)}@keyframes drift-a{to{transform:translate(14vmax,10vmax)scale(1.15)}}@keyframes drift-b{to{transform:translate(-12vmax,12vmax)scale(.9)}}@keyframes drift-c{to{transform:translate(-16vmax,-10vmax)scale(1.1)}}@media (prefers-reduced-motion:reduce){.blob[data-astro-cid-bqhhofte]{animation:none}}.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}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--brand-blue:#2474ff;--swift-orange:#ff6b3d;--sui-blue:#0a84ff;--sui-indigo:#5e5ce6;--sui-purple:#bf5af2;--sui-pink:#ff375f;--sui-orange:#ff9f0a;--sui-yellow:#ffd60a;--sui-green:#30d158;--sui-mint:#63e6e2;--sui-teal:#40c8e0;--bg:#07090d;--bg-elevated:#12151c;--bg-card:#1c1f28a8;--project-card-bg:#1c1f288f;--bg-card-hover:#282c38d1;--fg:#f5f7fa;--fg-muted:#9aa5b4;--fg-faint:#f5f7fa61;--accent-1:#78adff;--accent-2:var(--brand-blue);--accent-3:#b5c9e6;--button-bg-start:#2b7bff;--button-bg-end:#1a5fd6;--button-fg:#fff;--link-hover:var(--accent-1);--border:#c8d6eb1c;--border-hover:#78adff66;--separator:#c8d6eb17;--fill:#78809629;--island-bg:#000;--island-fg:#fff;--island-muted:#ffffff9e;--island-edge:#ffffff17;--canvas-dot:#ffffff12;--radius:22px;--radius-sm:14px;--font-heading:"SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-body:"SF Pro Text", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, system-ui, sans-serif;--font-rounded:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Nunito", "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--spring-bouncy:cubic-bezier(.34, 1.56, .64, 1);--spring-snappy:cubic-bezier(.2, .9, .25, 1.05);--spring-smooth:cubic-bezier(.16, 1, .3, 1);--spring-bouncy-dur:.8s;--spring-snappy-dur:.6s;--spring-smooth-dur:.7s;--text-hero-size:clamp(3rem, 1.6rem + 5.4vw, 5.75rem);--text-page-title-size:2.75rem;--text-page-title-weight:800;--text-page-title-tracking:-.04em;--text-post-title-size:2.5rem;--text-post-title-weight:800;--text-post-title-tracking:-.03em;--text-post-title-lh:1.2;--text-content-h2-size:1.5rem;--text-content-h3-size:1.25rem;--text-card-title-size:1.05rem;--text-card-title-weight:700;--text-card-title-tracking:-.01em;--text-subtitle-size:1.05rem;--text-subtitle-weight:400;--text-body-size:1rem;--text-body-lh:1.75;--text-prose-size:1.025rem;--text-prose-lh:1.8;--text-supporting-size:.9rem;--text-supporting-lh:1.55;--text-caption-size:.8rem;--text-meta-size:.75rem;--text-meta-weight:600;--text-meta-tracking:.04em;--text-section-label-size:.75rem;--text-section-label-weight:700;--text-section-label-tracking:.1em;--text-chip-size:.7rem;--text-chip-weight:600;--text-badge-size:.65rem;--text-badge-weight:700;--text-badge-tracking:.04em;--text-ext-label-size:.725rem;--text-ext-label-weight:600;--text-code-size:.875rem;--text-empty-size:.95rem;--text-footer-size:.75rem;--text-nav-size:.85rem;--text-nav-size-sm:.82rem;--text-logo-size:.95rem;--text-ui-control-size:.65rem;--shadow:0 1px 0 #ffffff0a inset, 0 18px 40px -18px #0009;--shadow-lift:0 1px 0 #ffffff0f inset, 0 30px 60px -24px #000000bf;--mesh-opacity:.55;--mesh-blend:screen;color-scheme:dark}@supports (transition-timing-function:linear(0, 1)){:root{--spring-bouncy:linear(0, .02, .073, .15, .241, .341, .444, .544, .639, .726, .804, .871, .928, .975, 1.012, 1.04, 1.06, 1.074, 1.081, 1.083, 1.082, 1.078, 1.072, 1.065, 1.056, 1.048, 1.039, 1.031, 1.024, 1.017, 1.012, 1.007, 1.003, .999, .997, .995, .994, .993, .993, .993, .993, .994, .995, .995, .996, .997, .997, .998, 1);--spring-snappy:linear(0, .014, .05, .102, .164, .233, .305, .377, .448, .515, .579, .637, .691, .739, .783, .821, .854, .883, .908, .929, .947, .962, .974, .984, .991, .997, 1.002, 1.006, 1.008, 1.01, 1.011, 1.011, 1.011, 1.011, 1.01, 1.01, 1.009, 1.008, 1.007, 1.007, 1.006, 1.005, 1.004, 1.004, 1.003, 1.003, 1.002, 1.002, 1);--spring-smooth:linear(0, .015, .053, .105, .167, .233, .3, .366, .429, .489, .545, .597, .644, .686, .724, .759, .789, .816, .84, .861, .88, .896, .91, .922, .933, .942, .95, .957, .963, .969, .973, .977, .98, .983, .986, .988, .989, .991, .992, .993, .994, .995, .996, .997, .997, .998, .998, .998, 1)}}@media (width<=480px){:root{--text-post-title-size:2rem}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--swift-orange:#f05138;--bg:#f2f2f7;--bg-elevated:#fff;--bg-card:#ffffffc7;--project-card-bg:#ffffffb8;--bg-card-hover:#fffffff2;--fg:#0b0d12;--fg-muted:#5a6473;--fg-faint:#0b0d1261;--accent-1:#1858c8;--accent-2:var(--brand-blue);--accent-3:#455e80;--border:#11182014;--border-hover:#2474ff52;--separator:#11182014;--fill:#7676801f;--island-edge:#0000;--canvas-dot:#0b0d1214;--shadow:0 1px 2px #1018280a, 0 16px 36px -20px #1018282e;--shadow-lift:0 2px 4px #1018280d, 0 30px 60px -28px #1018284d;--mesh-opacity:.5;--mesh-blend:multiply;color-scheme:light}}:root[data-theme=light]{--swift-orange:#f05138;--bg:#f2f2f7;--bg-elevated:#fff;--bg-card:#ffffffc7;--project-card-bg:#ffffffb8;--bg-card-hover:#fffffff2;--fg:#0b0d12;--fg-muted:#5a6473;--fg-faint:#0b0d1261;--accent-1:#1858c8;--accent-2:var(--brand-blue);--accent-3:#455e80;--border:#11182014;--border-hover:#2474ff52;--separator:#11182014;--fill:#7676801f;--island-edge:#0000;--canvas-dot:#0b0d1214;--shadow:0 1px 2px #1018280a, 0 16px 36px -20px #1018282e;--shadow-lift:0 2px 4px #1018280d, 0 30px 60px -28px #1018284d;--mesh-opacity:.5;--mesh-blend:multiply;color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::selection{background:color-mix(in srgb, var(--accent-1) 28%, transparent);color:var(--fg);text-shadow:none!important}html{font-family:var(--font-body);background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;text-rendering:optimizelegibility;line-height:1.6;overflow-x:clip}body{flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:clip}.skip-link{z-index:200;background:var(--bg-elevated);color:var(--fg);border-radius:12px;padding:.65rem 1rem;position:fixed;top:.75rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--accent-1);outline-offset:3px;transform:translateY(0)}:focus-visible{outline:2px solid var(--accent-1);outline-offset:4px;border-radius:6px}#main-content,section{scroll-margin-top:calc(7rem + env(safe-area-inset-top))}#main-content:focus{outline:none}main{z-index:1;flex:1;width:100%;max-width:760px;margin:0 auto;padding:3rem 1.25rem 4rem;position:relative}body.layout-wide main{max-width:1180px;padding-top:2rem}a{color:var(--accent-1);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover);text-decoration:none}@media (hover:none){.glass-card:hover,.btn:hover,.btn:hover .sym,.island:hover,.pv-button:hover,.footer-bird:hover,.tag:hover,.ext-link:hover,.social-links a:hover,.card:hover .arrow,.logo:hover .brand-mark{transform:none!important}}:root:not([data-theme]) :is(.theme-control,.hero-hint,[data-birds],[data-xc-replay]){display:none}.body-text a:not(.btn){text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.2em}.body-text a:not(.btn):hover{text-decoration-color:currentColor}h1,h2,h3,h4,p,li,code,strong{overflow-wrap:anywhere}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px)saturate(1.6);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), border-color .3s ease, box-shadow .4s ease, background-color .3s ease;position:relative}.glass-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--shadow-lift);transform:translateY(-3px)}a.glass-card:active,.pressable:active{transition-duration:.12s;transform:scale(.97)}[data-tilt]{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform-style:preserve-3d}[data-tilt].is-tilting{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-3px);transition:transform .12s linear,border-color .3s,box-shadow .4s,background-color .3s}[data-tilt]:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my), color-mix(in srgb, var(--accent-1) 14%, transparent), transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}[data-tilt].is-tilting:after{opacity:1}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}.page-title{font-family:var(--font-heading);font-size:var(--text-page-title-size);font-weight:var(--text-page-title-weight);letter-spacing:var(--text-page-title-tracking);background:linear-gradient(120deg, var(--fg) 0%, var(--fg) 38%, var(--accent-1) 62%, var(--sui-purple) 82%, var(--swift-orange) 100%);-webkit-text-fill-color:transparent;background-position:0%;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;line-height:1.08}.post-title{font-family:var(--font-heading);font-size:var(--text-post-title-size);font-weight:var(--text-post-title-weight);letter-spacing:var(--text-post-title-tracking);line-height:var(--text-post-title-lh);background:linear-gradient(120deg, var(--fg) 30%, var(--accent-1) 80%, var(--sui-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.page-subtitle{color:var(--fg-muted);font-size:var(--text-subtitle-size);font-weight:var(--text-subtitle-weight)}.section-label{font-family:var(--font-rounded);font-size:var(--text-section-label-size);font-weight:var(--text-section-label-weight);color:var(--accent-1);letter-spacing:var(--text-section-label-tracking);text-transform:uppercase;align-items:center;gap:.5rem;display:inline-flex;position:relative}.section-label:before{content:"";background:linear-gradient(90deg, var(--accent-1), var(--sui-purple));border-radius:99px;flex:none;width:14px;height:6px}.card-title{font-family:var(--font-heading);font-size:var(--text-card-title-size);font-weight:var(--text-card-title-weight);letter-spacing:var(--text-card-title-tracking)}.body-text{font-size:var(--text-body-size);color:var(--fg-muted);line-height:var(--text-body-lh)}.supporting-text{font-size:var(--text-supporting-size);color:var(--fg-muted);line-height:var(--text-supporting-lh)}.meta{font-family:var(--font-rounded);font-size:var(--text-meta-size);font-weight:var(--text-meta-weight);color:var(--accent-1);letter-spacing:var(--text-meta-tracking);text-transform:uppercase}.caption{font-size:var(--text-caption-size);color:var(--fg-muted)}.chip{font-family:var(--font-rounded);font-size:var(--text-chip-size);font-weight:var(--text-chip-weight)}.type-badge{font-family:var(--font-rounded);font-size:var(--text-badge-size);font-weight:var(--text-badge-weight);letter-spacing:var(--text-badge-tracking);text-transform:uppercase}.ext-link-label{font-family:var(--font-rounded);font-size:var(--text-ext-label-size);font-weight:var(--text-ext-label-weight)}.empty-text{color:var(--fg-muted);font-size:var(--text-empty-size)}.font-mono,code{font-family:var(--font-mono)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{min-height:44px;font-family:var(--font-rounded);letter-spacing:-.005em;cursor:pointer;transition:transform var(--spring-bouncy-dur) var(--spring-bouncy), background-color .2s ease, box-shadow .3s ease, color .2s ease;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 1.15rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)scale(1.02)}.btn:active{transition-duration:.1s;transform:scale(.95)}.btn-prominent{background:linear-gradient(180deg, var(--button-bg-start), var(--button-bg-end));color:var(--button-fg);box-shadow:0 10px 24px -10px color-mix(in srgb, var(--brand-blue) 70%, transparent), inset 0 1px 0 #ffffff38}.btn-prominent:hover{color:var(--button-fg);box-shadow:0 16px 30px -12px color-mix(in srgb, var(--brand-blue) 80%, transparent), inset 0 1px 0 #ffffff38}.btn-bordered{background:color-mix(in srgb, var(--accent-1) 12%, transparent);color:var(--accent-1)}.btn-bordered:hover{background:color-mix(in srgb, var(--accent-1) 20%, transparent)}.btn .sym{transition:transform var(--spring-bouncy-dur) var(--spring-bouncy);display:inline-block}.btn:hover .sym{transform:translate(3px)}.scroll-reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.js-scroll-reveal .scroll-reveal:not(.reveal-visible){opacity:0;transition:opacity .7s var(--spring-smooth), transform var(--spring-bouncy-dur) var(--spring-bouncy);transform:translateY(28px)scale(.98)}.js-scroll-reveal .scroll-reveal.reveal-visible{opacity:1;transition:opacity .7s var(--spring-smooth), transform var(--spring-bouncy-dur) var(--spring-bouncy);transform:translateY(0)}@supports (animation-timeline:view()) and (animation-range:entry){@keyframes fade-reveal{0%{opacity:0;transform:translateY(32px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.scroll-reveal{opacity:1;animation:fade-reveal auto var(--spring-smooth) both;transition:none;animation-timeline:view();animation-range:entry 5% entry 35%;transform:none}.js-scroll-reveal .scroll-reveal:not(.reveal-visible){opacity:1;transition:none;transform:none}}}@keyframes blur-reveal-anim{0%{filter:blur(12px);opacity:0;transform:translateY(16px)scale(.98)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}.blur-reveal{opacity:0;animation:blur-reveal-anim var(--spring-bouncy-dur) var(--spring-smooth) forwards}.blur-reveal-delayed-1{opacity:0;animation:blur-reveal-anim var(--spring-bouncy-dur) var(--spring-smooth) forwards;animation-delay:.1s}.blur-reveal-delayed-2{opacity:0;animation:blur-reveal-anim var(--spring-bouncy-dur) var(--spring-smooth) forwards;animation-delay:.2s}.blur-reveal-delayed-3{opacity:0;animation:blur-reveal-anim var(--spring-bouncy-dur) var(--spring-smooth) forwards;animation-delay:.3s}@media (prefers-reduced-motion:no-preference){@keyframes title-sheen{0%{background-position:100%}to{background-position:0%}}.page-title{animation:title-sheen 1.6s var(--spring-smooth) .15s both}.page-title.blur-reveal-delayed-1{animation:blur-reveal-anim var(--spring-bouncy-dur) var(--spring-smooth) .1s forwards, title-sheen 1.6s var(--spring-smooth) .2s both}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.blur-reveal,.blur-reveal-delayed-1,.blur-reveal-delayed-2,.blur-reveal-delayed-3{opacity:1;filter:none;animation:none;transform:none}.glass-card,.glass-card:hover,.btn,.btn:hover{transition:background-color .2s,border-color .2s,box-shadow .2s,color .2s;transform:none}}img.as-badge-light,img.ms-badge-light,:root[data-theme=dark] img.as-badge-dark,:root[data-theme=dark] img.ms-badge-dark{display:none}:root[data-theme=dark] img.as-badge-light,:root[data-theme=dark] img.ms-badge-light{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) img.as-badge-dark,:root:not([data-theme=light]) img.ms-badge-dark{display:none}:root:not([data-theme=light]) img.as-badge-light,:root:not([data-theme=light]) img.ms-badge-light{display:block}}
