:root{color-scheme:dark;--bg-page: #090b0f;--bg-layer: #0d1117;--bg-noise: #0f141d;--surface-primary: #131923;--surface-secondary: #171f2c;--surface-elevated: #1a2331;--surface-inset: #0e141e;--surface-accent: #2a1f13;--text-primary: #f2f5fb;--text-secondary: #c9d1e3;--text-muted: #98a2b9;--accent: #f3a53a;--accent-strong: #ffbc63;--accent-muted: rgba(243, 165, 58, .18);--focus-ring: rgba(243, 165, 58, .5);--stroke-subtle: rgba(158, 176, 206, .17);--stroke-strong: rgba(202, 216, 242, .22);--status-success: #43b581;--status-warning: #f1ad4d;--status-error: #df6b6b;--radius-xs: .5rem;--radius-sm: .72rem;--radius-md: 1rem;--radius-lg: 1.25rem;--radius-xl: 1.55rem;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--shadow-raised: 10px 10px 24px rgba(2, 6, 12, .7), -8px -8px 18px rgba(34, 45, 63, .26);--shadow-raised-lg: 18px 18px 36px rgba(2, 6, 12, .75), -14px -14px 28px rgba(37, 47, 67, .28);--shadow-inset: inset 7px 7px 14px rgba(4, 8, 15, .72), inset -6px -6px 12px rgba(30, 42, 60, .32);--shadow-press: inset 4px 4px 10px rgba(4, 8, 15, .75), inset -3px -3px 8px rgba(37, 49, 69, .2);--font-ui: "Sora", "Inter", "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Sora", sans-serif;--transition-fast: .16s cubic-bezier(.2, .7, .15, 1);--transition-base: .24s cubic-bezier(.2, .7, .15, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:radial-gradient(900px 500px at 8% -10%,rgba(243,165,58,.1),transparent 62%),radial-gradient(850px 450px at 100% 0%,rgba(108,128,170,.16),transparent 58%),linear-gradient(180deg,var(--bg-noise),var(--bg-page));color:var(--text-primary);font-family:var(--font-ui);line-height:1.66;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}img{max-width:100%}h1,h2,h3,h4,h5,h6,.logo{font-family:var(--font-display);line-height:1.15;letter-spacing:.01em}h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,dl{margin:0}.site-wrap{min-height:100dvh}main{max-width:1120px;margin:0 auto;padding:1.35rem}.stack{display:grid;align-content:start;gap:var(--space-4)}.grid-2{display:grid;gap:var(--space-5);grid-template-columns:2fr 1fr}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.ui-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ui-pad{padding:.85rem}.page-hero{padding:clamp(1rem,2vw,1.6rem);border-radius:var(--radius-xl);background:var(--surface-secondary);border:1px solid var(--stroke-subtle);box-shadow:var(--shadow-raised)}.page-hero h1{font-size:clamp(1.6rem,4vw,2.7rem);margin-bottom:.2rem}.muted{color:var(--text-muted)}.ui-raised-panel,.card,.ui-card{border-radius:var(--radius-lg);border:1px solid var(--stroke-subtle);background:linear-gradient(145deg,#1e28388f,#121924f2);box-shadow:var(--shadow-raised)}.ui-raised-panel-strong{border-radius:var(--radius-xl);border:1px solid var(--stroke-subtle);background:linear-gradient(145deg,#222d3e94,#111722fa);box-shadow:var(--shadow-raised-lg)}.ui-inset-panel,.ui-input,.ui-code-shell{border-radius:var(--radius-md);border:1px solid rgba(140,160,191,.12);background:linear-gradient(155deg,#0e141ef2,#0b1018);box-shadow:var(--shadow-inset)}.ui-accent-surface{border-radius:var(--radius-lg);border:1px solid rgba(243,165,58,.28);background:linear-gradient(145deg,#2b1f13eb,#17120df5);box-shadow:var(--shadow-raised),inset 0 1px #ffc47542}.ui-content-container{border-radius:var(--radius-lg);border:1px solid var(--stroke-subtle);background:linear-gradient(160deg,#151e2bf2,#101620fa);box-shadow:var(--shadow-raised)}.ui-image-frame{border-radius:var(--radius-md);border:1px solid rgba(178,197,225,.16);background:linear-gradient(135deg,#111822,#0b1119);box-shadow:var(--shadow-raised);overflow:hidden}.ui-stat-tile{padding:.8rem .9rem;border-radius:var(--radius-md);border:1px solid var(--stroke-subtle);background:linear-gradient(145deg,#171f2cd6,#0f151ff2);box-shadow:var(--shadow-raised)}.ui-raised-button,.pill,.ui-pill,.ui-nav-item,.ui-icon-button{appearance:none;border:1px solid var(--stroke-subtle);background:linear-gradient(150deg,#1f293ae6,#111721f2);box-shadow:var(--shadow-raised);color:var(--text-secondary);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;cursor:pointer;transition:transform var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ui-raised-button,.ui-nav-item{padding:.4rem .76rem;min-height:2rem;font-size:.84rem}.pill,.ui-pill{padding:.32rem .72rem;min-height:1.8rem;font-size:.79rem}.ui-icon-button{width:2.15rem;height:2.15rem;padding:0}.icon-chip{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:999px}:global(.tm-icon),:global(.tm-brand-icon){display:block;flex:none}.ui-raised-button:hover,.pill:hover,.ui-pill:hover,.ui-nav-item:hover,.ui-icon-button:hover{transform:translateY(-1px);color:var(--text-primary);border-color:#d9e6ff3d}.ui-raised-button:active,.ui-raised-button.pressed,.ui-button-pressed,.ui-icon-button:active,.ui-nav-item:active{transform:translateY(0);box-shadow:var(--shadow-press)}.ui-accent,.badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);border:1px solid rgba(252,187,103,.38);background:linear-gradient(145deg,#f5a54540,#6d471a47);color:#ffdca9;padding:.28rem .7rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.ui-input,input,textarea,select{width:100%;color:var(--text-primary);font:inherit;padding:.72rem .88rem}input,textarea,select{border-radius:var(--radius-md);border:1px solid rgba(150,169,198,.16);background:linear-gradient(150deg,#0c131dfa,#0a0f17);box-shadow:var(--shadow-inset)}textarea{min-height:7rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{border-color:#f3a53a73;box-shadow:var(--shadow-inset),0 0 0 3px #f3a53a29;outline:none}hr,.ui-divider{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(155,177,210,.3),transparent)}.code-block,pre{border-radius:var(--radius-md);border:1px solid rgba(149,166,194,.15);background:linear-gradient(145deg,#0c121bf2,#0a0e16);box-shadow:var(--shadow-inset)}pre{overflow:auto;padding:.9rem;max-width:100%;width:100%;min-width:0;box-sizing:border-box;font-size:.84rem;line-height:1}code{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}table{width:100%;border-collapse:collapse;font-size:.94rem;border-radius:var(--radius-md);overflow:hidden}th,td{padding:.62rem .72rem;border-bottom:1px solid rgba(145,167,203,.2);text-align:left}th{color:var(--text-secondary)}tr:last-child td{border-bottom:0}.ui-skeleton{height:1.1rem;border-radius:999px;background:linear-gradient(90deg,#7a8dad1a,#bcceec38,#7a8dad1a);background-size:220% 100%;animation:shimmer 1.8s linear infinite}.ui-strip{min-height:110px;background:linear-gradient(120deg,#f3a53a38,#586c9133)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}.prose{display:flex;flex-direction:column;gap:1.05rem;min-width:0;width:min(100%,68ch);max-width:100%;align-self:start}.prose>*{min-width:0;max-width:100%}.prose h2,.prose h3,.prose h4{scroll-margin-top:8rem}.prose h2{font-size:clamp(1.3rem,3vw,1.75rem);padding-top:.5rem}.prose h3{font-size:clamp(1.08rem,2.3vw,1.3rem)}.prose p,.prose li,.prose ol,.prose ul{color:var(--text-secondary)}.prose p{line-height:2}.prose a{color:#ffd69d;text-decoration-color:#f3a53a99}.prose a:hover{color:#ffe4be}.prose ul,.prose ol{padding-left:1.2rem}.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.prose pre,.prose blockquote,.prose figure,.prose .prose-callout{max-width:100%}.prose pre{width:100%;overflow-x:auto;overflow-y:hidden}.prose pre code{display:block;width:max-content;min-width:100%;font-size:0;line-height:0}.prose pre .line{display:block;width:max-content;min-width:100%;font-size:.84rem;line-height:1.45}.prose li+li{margin-top:.35rem}.prose blockquote{margin:0;padding:.9rem 1rem;border-left:3px solid rgba(243,165,58,.7);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:linear-gradient(145deg,#16120da6,#131824b8);color:#e8d4bb}.prose hr{margin:1.7rem 0;border:0;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(243,165,58,.68),rgba(141,169,214,.52),transparent);box-shadow:0 0 10px #8da9d633}.prose .prose-callout{margin:0;padding:.95rem 1rem .9rem;border-radius:var(--radius-md);border:1px solid rgba(130,159,208,.35);background:linear-gradient(145deg,#0e1828f0,#0b121ef2);box-shadow:var(--shadow-inset);position:relative}.prose .prose-callout:before{content:attr(data-callout-label);display:inline-flex;align-items:center;margin-bottom:.5rem;padding:.16rem .56rem;border-radius:999px;border:1px solid rgba(140,168,214,.45);background:#456eaf2e;color:#d5e5ff;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.prose .prose-callout>:first-child{margin-top:0}.prose .prose-callout-note{border-color:#789ed666}.prose .prose-callout-tip{border-color:#65b69173}.prose .prose-callout-tip:before{border-color:#65b69194;background:#3a826633;color:#c9f3df}.prose .prose-callout-important{border-color:#9e91e175}.prose .prose-callout-important:before{border-color:#9e91e199;background:#6b5cba3d;color:#ddd6ff}.prose .prose-callout-warning{border-color:#ea8a4c94;background:linear-gradient(145deg,#30180edb,#20120ceb)}.prose .prose-callout-warning:before{border-color:#ea8a4cb3;background:#b0531c47;color:#ffd8bd}.prose .prose-callout-caution{border-color:#e5bd6180}.prose .prose-callout-caution:before{border-color:#e5bd61a3;background:#a9832d3d;color:#ffeabf}.prose :not(pre)>code{border-radius:.5rem;border:1px solid rgba(201,171,130,.2);background:#f2a23b1a;padding:.08rem .36rem;color:#ffd9a7;font-size:.92em}.prose .prose-figure,.prose figure{margin:1rem 0;display:grid;gap:.55rem;width:100%}.prose .prose-image-button{appearance:none;border:0;padding:0;margin:0;background:transparent;display:block;width:100%;max-width:100%;position:relative;cursor:zoom-in;text-align:inherit}.prose .prose-image-fallback-trigger{display:block;width:100%;cursor:zoom-in}.prose .prose-image-button:after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);background:radial-gradient(circle at top right,rgba(243,165,58,.18),transparent 28%),linear-gradient(180deg,transparent 0%,rgba(9,11,15,.1) 100%);opacity:0;transition:opacity var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);pointer-events:none}.prose .prose-image-fallback-trigger,.prose .prose-image-fallback-trigger:after{transition:opacity var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.prose .prose-image-fallback-trigger:after{content:none}.prose .prose-image-button:hover:after,.prose .prose-image-button:focus-visible:after{opacity:1}.prose .prose-image-button:focus-visible{outline:none}.prose .prose-image-button:focus-visible .prose-image,.prose .prose-image-fallback-trigger:focus-visible{box-shadow:var(--shadow-raised),0 0 0 .2rem #f3a53a47}.prose .prose-image,.prose figure img,.prose p>img{display:block;width:100%;max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid rgba(171,191,222,.18);box-shadow:var(--shadow-raised)}.prose .prose-image-button:hover .prose-image,.prose .prose-image-button:focus-visible .prose-image,.prose .prose-image-fallback-trigger:hover,.prose .prose-image-fallback-trigger:focus-visible{transform:translateY(-1px)}.prose .prose-caption,.prose figcaption{text-align:center;color:var(--text-muted);font-size:.88rem}html.lightbox-open{overflow:hidden}.post-lightbox{border:0;padding:0;background:transparent;width:min(92vw,1280px);max-width:1280px;max-height:92vh;overflow:visible}.post-lightbox::backdrop{background:radial-gradient(circle at top,rgba(243,165,58,.09),transparent 34%),#05070adb;backdrop-filter:blur(10px)}.post-lightbox-shell{display:grid;gap:1rem;padding:1rem;background:linear-gradient(180deg,#1c2431f7,#111720fa)}.post-lightbox-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.post-lightbox-label{margin:0;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.post-lightbox-close{flex:0 0 auto}.post-lightbox-figure{margin:0;display:grid;gap:.85rem}.post-lightbox-image{display:block;width:auto;max-width:100%;max-height:calc(92vh - 7rem);margin:0 auto;border-radius:var(--radius-md);border:1px solid rgba(171,191,222,.16);box-shadow:0 28px 80px #0000006b}.post-lightbox-caption{max-width:72ch;margin:0 auto;text-align:center}.fade-in{animation:fade-in .36s ease-out both}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.grid-2{grid-template-columns:1fr}main{padding:1rem}}.topbar[data-astro-cid-37fxchfa]{position:sticky;top:0;z-index:20;padding:.8rem 1rem;backdrop-filter:blur(10px);background:linear-gradient(180deg,#070a0fed,#070a0fb3)}.topbar-inner[data-astro-cid-37fxchfa]{max-width:1120px;margin:0 auto;padding:.7rem .9rem;display:grid;gap:.8rem;align-items:center;grid-template-columns:auto 1fr auto;border-radius:1.1rem}.logo[data-astro-cid-37fxchfa]{font-size:1.3rem;color:#f8d5a7;text-decoration:none;display:inline-flex;align-items:center;gap:.52rem;white-space:nowrap}.logo-mark[data-astro-cid-37fxchfa]{width:1.2rem;height:1.2rem;display:block;filter:drop-shadow(0 0 10px rgba(243,165,58,.25))}.primary-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.search[data-astro-cid-37fxchfa]{position:relative;display:flex;align-items:center;justify-content:flex-end;width:2.45rem;min-width:2.45rem;height:2.45rem;overflow:visible;transition:width var(--transition-base),border-color var(--transition-fast)}.search-toggle[data-astro-cid-37fxchfa]{all:unset;position:absolute;top:0;right:0;width:2.45rem;height:2.45rem;cursor:pointer;display:grid;place-items:center;z-index:1}.search-toggle[data-astro-cid-37fxchfa] .tm-icon{color:var(--text-secondary);opacity:.95}.search[data-astro-cid-37fxchfa] input[data-astro-cid-37fxchfa]{width:0;opacity:0;pointer-events:none;border:none;box-shadow:none;padding:.52rem 2.6rem .52rem .95rem;margin:0;background:transparent;transition:width var(--transition-base),opacity var(--transition-fast)}.search[data-astro-cid-37fxchfa].expanded,.search[data-astro-cid-37fxchfa]:focus-within{width:min(360px,46vw);border-color:#f3a53a59}.search[data-astro-cid-37fxchfa].expanded input[data-astro-cid-37fxchfa],.search[data-astro-cid-37fxchfa]:focus-within input[data-astro-cid-37fxchfa]{width:100%;opacity:1;pointer-events:auto}.suggest[data-astro-cid-37fxchfa]{position:absolute;top:calc(100% + .5rem);left:0;right:0;padding:.36rem;border:1px solid var(--stroke-subtle);border-radius:.95rem;background:linear-gradient(170deg,#121924fa,#0b1018);box-shadow:var(--shadow-raised-lg);max-height:290px;overflow-y:auto}.suggest[data-astro-cid-37fxchfa] .item{appearance:none;width:100%;border:0;text-align:left;padding:.58rem .65rem;border-radius:.7rem;color:var(--text-secondary);background:transparent;cursor:pointer;font:inherit}.suggest[data-astro-cid-37fxchfa] .item .term{text-transform:lowercase;letter-spacing:.01em}.suggest[data-astro-cid-37fxchfa] .item:hover,.suggest[data-astro-cid-37fxchfa] .item.active{color:var(--text-primary);background:#f3a53a2b}.hidden[data-astro-cid-37fxchfa]{display:none}.site-footer[data-astro-cid-37fxchfa]{max-width:1120px;margin:0 auto;padding:0 1.35rem 1.5rem}.footer-inner[data-astro-cid-37fxchfa]{padding:1rem 1.15rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}@media(max-width:980px){.topbar[data-astro-cid-37fxchfa]{padding:.7rem .8rem}.topbar-inner[data-astro-cid-37fxchfa]{grid-template-columns:1fr}.search[data-astro-cid-37fxchfa]{width:100%;min-width:100%;justify-self:stretch}.search[data-astro-cid-37fxchfa].expanded,.search[data-astro-cid-37fxchfa]:focus-within{width:100%}.site-footer[data-astro-cid-37fxchfa]{padding:0 1rem 1.2rem}}
