:root{color-scheme:dark;--brand-signal:#b8f25b;--brand-ink:#0b0e14;--brand-dot:#3a4458;--color-bg:#05070a;--color-surface:#0b0e14;--color-surface-2:#141925;--color-border:#232b3b;--color-text:#e6edf3;--color-text-muted:#8b96a5;--color-link:#b8f25b;--color-link-hover:#d6ff8f;--color-selection-bg:#b8f25b;--color-selection-text:#0b0e14;--color-focus:#5cc8ff;--prompt-user:#b8f25b;--prompt-host:#5cc8ff;--prompt-path:#b39cff;--color-code-bg:#05070a;--color-code-text:#e6edf3;--color-inline-code-bg:#1c2230;--color-inline-code-text:#b8f25b;--topic-maui:#ff8fd1;--topic-xamarin:#5c8dff;--topic-testing:#4ade80;--topic-aspnet:#ffb547;--topic-desarrollo:#b8f25b;--topic-ia:#b39cff;--topic-k8s:#5cc8ff;--topic-dotnet:#ff6b7a;--font-display:"Geist Variable", "Geist", "Segoe UI", system-ui, sans-serif;--font-body:"Geist Variable", "Geist", "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", "Cascadia Code", Consolas, ui-monospace, monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--window-shadow:0 24px 48px #00000073}:root[data-theme=light]{color-scheme:light;--brand-dot:#c5ccd6;--color-bg:#f4f6f8;--color-surface:#fff;--color-surface-2:#eceff3;--color-border:#d9dee5;--color-text:#0b0e14;--color-text-muted:#556070;--color-link:#3b7a00;--color-link-hover:#2a5800;--color-focus:#0b6fb8;--prompt-user:#3b7a00;--prompt-host:#0b6fb8;--prompt-path:#6d4ed8;--color-inline-code-bg:#e7ece0;--color-inline-code-text:#2f6200;--topic-maui:#b8327f;--topic-xamarin:#2f5fd0;--topic-testing:#16833e;--topic-aspnet:#a35f00;--topic-desarrollo:#3b7a00;--topic-ia:#6d4ed8;--topic-k8s:#0b6fb8;--topic-dotnet:#c62e40;--window-shadow:0 16px 40px #0b0e1414}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);flex-direction:column;min-height:100vh;margin:0;font-size:18px;line-height:1.7;display:flex}main{flex:1}img{max-width:100%;height:auto}a{color:var(--color-link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-link-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;line-height:1.15}.container{width:100%;max-width:1160px;margin-inline:auto;padding-inline:20px}.container-narrow{width:100%;max-width:800px;margin-inline:auto;padding-inline:20px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--color-surface);border-radius:var(--radius-sm);padding:8px 12px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.window{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--window-shadow);overflow:hidden}.window-bar{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);min-height:40px;font-family:var(--font-mono);color:var(--color-text-muted);align-items:center;gap:10px;padding:0 16px;font-size:13px;display:flex}.window-dots{background:var(--brand-signal);width:9px;height:9px;box-shadow:15px 0 0 var(--brand-dot), 30px 0 0 var(--brand-dot);border-radius:2px;flex:none;margin-right:30px}.window-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.window-bar .chip{margin-left:auto}.window-body{padding:clamp(20px,4vw,44px)}.prompt-line{font-family:var(--font-mono);color:var(--color-text);margin:0;font-size:15px;line-height:1.5}.p-user{color:var(--prompt-user)}.p-host{color:var(--prompt-host)}.p-path{color:var(--prompt-path)}.p-sep{color:var(--color-text-muted)}.cursor{vertical-align:-.12em;background:var(--brand-signal);width:.5em;height:1em;margin-left:.12em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.topic-maui{--topic:var(--topic-maui)}.topic-xamarin{--topic:var(--topic-xamarin)}.topic-testing{--topic:var(--topic-testing)}.topic-aspnet{--topic:var(--topic-aspnet)}.topic-desarrollo{--topic:var(--topic-desarrollo)}.topic-ia{--topic:var(--topic-ia)}.topic-k8s{--topic:var(--topic-k8s)}.topic-dotnet{--topic:var(--topic-dotnet)}.chip{font-family:var(--font-mono);white-space:nowrap;color:var(--topic,var(--color-text));border:1px solid color-mix(in srgb, var(--topic,var(--color-text)) 45%, transparent);background:color-mix(in srgb, var(--topic,var(--color-text)) 8%, transparent);border-radius:99px;align-items:center;padding:6px 10px;font-size:13px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}a.chip:hover{color:var(--topic);background:color-mix(in srgb, var(--topic) 18%, transparent)}.site-header{z-index:50;background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:16px;min-height:68px;display:flex}.brand{color:var(--color-text);font-family:var(--font-mono);letter-spacing:-.04em;white-space:nowrap;align-items:center;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-text)}.brand-path{color:var(--brand-signal)}:root[data-theme=light] .brand-path{color:var(--color-link)}.site-nav{align-items:center;gap:10px;display:flex}.nav-tabs{border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:10px;font-size:15px;display:flex;overflow:hidden}.nav-tabs a{color:var(--color-text-muted);white-space:nowrap;padding:9px 16px;text-decoration:none}.nav-tabs a+a{border-left:1px solid var(--color-border)}.nav-tabs a:hover{color:var(--color-text);background:var(--color-surface-2)}.nav-tabs a[aria-current=page]{color:var(--color-link);background:var(--color-surface-2)}.nav-tabs a[aria-current=page]:before{content:"❯ "}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:10px;place-items:center;padding:0;display:grid}.theme-toggle:hover{border-color:var(--color-link);color:var(--color-link)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:block}@media (width<=600px){.site-header .container{flex-wrap:wrap;gap:10px;min-height:0;padding-block:12px}.brand{font-size:20px}.site-nav{gap:8px;width:100%}.nav-tabs{flex:1;font-size:13px}.nav-tabs a{text-align:center;flex:1;padding:9px 4px}.nav-tabs a[aria-current=page]:before{content:""}.theme-toggle{flex:none;width:38px;height:38px}}.home-intro{gap:14px;margin-top:36px;padding-inline:4px;display:grid}.home-intro h1{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(30px,4.6vw,52px);line-height:1.04}.home-intro .lead{max-width:60ch;color:var(--color-text-muted);margin:0;font-size:clamp(17px,2vw,20px)}.topic-list{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.featured{color:var(--color-text);margin-top:28px;text-decoration:none;transition:border-color .2s;display:block}.featured:hover{color:var(--color-text);border-color:var(--brand-signal)}.featured .window-body{gap:14px;display:grid}.featured .eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:13px}.featured h2{letter-spacing:-.035em;max-width:22ch;margin:0;font-size:clamp(28px,4.4vw,48px);line-height:1.04}.featured p{max-width:62ch;color:var(--color-text-muted);margin:0}.featured .cta{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--brand-signal);color:var(--brand-ink);justify-self:start;margin-top:6px;padding:11px 16px;font-size:15px;font-weight:700}.section-title{font-family:var(--font-mono);letter-spacing:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:52px 0 20px;font-size:17px;font-weight:500;display:flex}.section-title .cmd:before{content:"$ ";color:var(--brand-signal)}:root[data-theme=light] .section-title .cmd:before{color:var(--color-link)}.section-title a{font-size:15px;text-decoration:none}.post-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.post-card{height:100%;color:var(--color-text);flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.post-card:hover{color:var(--color-text);border-color:var(--topic,var(--brand-signal));transform:translateY(-3px)}.post-card .window-bar{min-height:36px;padding:0 12px}.post-card .window-bar .chip{padding:4px 8px;font-size:12px}.post-card-body{flex-direction:column;flex:1;gap:10px;padding:20px 20px 18px;display:flex}.post-card h3{margin:0;font-size:21px}.post-card p{color:var(--color-text-muted);margin:0;font-size:15px;line-height:1.6}.post-card .meta{margin-top:auto;padding-top:6px}.meta{font-family:var(--font-mono);color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.pager{font-family:var(--font-mono);justify-content:space-between;gap:12px;margin:40px 0 0;font-weight:500;display:flex}.pager a{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);padding:10px 16px;text-decoration:none}.pager a:hover{border-color:var(--color-link)}.pager .next{margin-left:auto}.post-hero{padding-top:36px}.post-hero .window-body{gap:16px;display:grid}.post-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(30px,5vw,50px);line-height:1.04}.post-intro{gap:16px;padding-block:28px 8px;display:grid}.post-intro .subtitle{color:var(--color-text-muted);margin:0;font-size:21px;line-height:1.5}.byline{align-items:center;gap:12px;display:flex}.byline img{width:40px;height:40px;box-shadow:0 0 0 2px var(--brand-signal);border-radius:50%}.byline strong{font-size:15px;line-height:1.2;display:block}.page-hero{padding-block:48px 8px}.page-hero h1{letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(34px,5vw,52px)}.page-hero p{color:var(--color-text-muted);margin:12px 0 0}.about{flex-wrap:wrap;align-items:flex-start;gap:28px;padding-top:36px;display:flex}.about-badge{flex-direction:column;flex:300px;align-items:center;padding-bottom:28px;display:flex;position:sticky;top:96px}.about-badge .about-lanyard{width:100%;height:580px}.lanyard-strap{background:var(--brand-signal);width:38px;height:150px;color:var(--brand-ink);font:700 12px / 1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;place-items:center;display:grid;overflow:hidden}.lanyard-strap span{writing-mode:vertical-rl}.lanyard-clip{background:var(--brand-dot);border-radius:7px;width:56px;height:22px;margin-top:-4px}.badge{border-radius:var(--radius-lg);color:#e6edf3;transform-origin:50% -40px;background:#0b0e14;border:1px solid #3a4458;gap:14px;width:280px;margin-top:10px;padding:20px;animation:6s ease-in-out infinite sway;display:grid;transform:rotate(-3deg);box-shadow:0 40px 80px #00000080}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(2deg)}}.badge-hole{background:#05070a;border:1px solid #232b3b;border-radius:5px;justify-self:center;width:50px;height:9px}.badge-head{font:500 11px / 1 var(--font-mono);color:#8b96a5;justify-content:space-between;align-items:center;display:flex}.badge-head strong{color:#e6edf3;font-size:15px}.badge-head strong span{color:#b8f25b}.badge img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.badge-name{letter-spacing:-.02em;margin:0;font-size:23px;font-weight:800;line-height:1.05}.badge-foot{font:500 11px / 1 var(--font-mono);color:#8b96a5;border-top:1px dashed #3a4458;justify-content:space-between;padding-top:12px;display:flex}.badge-foot span:last-child{color:#b8f25b}.about-session{flex:999 520px;min-width:0}.about-session .prose{padding-block:8px 0}.about-session .prose>p:first-of-type{color:var(--color-text);font-size:clamp(18px,2vw,20px);line-height:1.6}.about-session .prose h2{font-family:var(--font-mono);letter-spacing:0;font-size:16px;font-weight:500}.about-session .prose h2:before{content:"$ ";color:var(--color-link)}.about-session .prose h3{margin-top:1.4em;font-size:20px}@media (width<=860px){.about-badge{padding-bottom:0;position:static}.about-badge .about-lanyard{height:340px}}.prose{overflow-wrap:break-word;padding-block:20px 16px}.prose>*{margin-block:0 1.2em}.prose h1,.prose h2{margin-top:1.8em;margin-bottom:.6em;font-size:30px}.prose h3{margin-top:1.6em;margin-bottom:.5em;font-size:23px}.prose h4{margin-top:1.4em;margin-bottom:.4em;font-size:19px}.prose>h1:first-child,.prose>h2:first-child{margin-top:.6em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--color-link)}.prose img{border-radius:var(--radius-sm);border:1px solid var(--color-border);display:inline-block}.prose blockquote{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);margin-inline:0;padding:16px 20px}.prose blockquote:before{content:"// ";font-family:var(--font-mono);color:var(--color-link)}.prose blockquote>:first-child{display:inline}.prose blockquote>:last-child{margin-bottom:0}.prose hr{text-align:center;border:0;margin-block:2em}.prose hr:before{content:"~ ~ ~";font-family:var(--font-mono);letter-spacing:.6em;color:var(--color-link)}.prose table{border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--color-border);text-align:left;padding:8px 12px}.prose th{font-family:var(--font-mono);font-size:14px;font-weight:600}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--color-inline-code-bg);color:var(--color-inline-code-text);border-radius:5px;padding:.15em .4em;font-size:.84em}.prose div.code-block,.prose>pre{margin-inline:0;position:relative}.prose pre{border-radius:var(--radius-md);background:var(--color-code-bg);color:var(--color-code-text);font-family:var(--font-mono);tab-size:4;border:1px solid #232b3b;margin:0;padding:18px 20px;font-size:14.5px;line-height:1.65;overflow-x:auto}.prose pre code{font:inherit;color:inherit;background:0 0;padding:0}.prose div[class*=language-]:before{content:"code";border-radius:var(--radius-md) var(--radius-md) 0 0;font:500 12px / 1.2 var(--font-mono);color:#8b96a5;background:radial-gradient(circle at 20px,#b8f25b 0 4.5px,#0000 5px),radial-gradient(circle at 34px,#3a4458 0 4.5px,#0000 5px),radial-gradient(circle at 48px,#3a4458 0 4.5px,#0000 5px),#141925;border:1px solid #232b3b;border-bottom:0;padding:9px 16px 9px 60px;display:block}.prose div[class*=language-] pre{border-top-left-radius:0;border-top-right-radius:0}.prose div.language-csharp:before,.prose div.language-cs:before{content:"C#"}.prose div.language-xml:before{content:"XAML / XML"}.prose div.language-bash:before,.prose div.language-sh:before,.prose div.language-shell:before,.prose div.language-console:before{content:"bash"}.prose div.language-json:before{content:"JSON"}.prose div.language-javascript:before,.prose div.language-js:before{content:"JavaScript"}.prose div.language-yaml:before,.prose div.language-yml:before{content:"YAML"}.prose div.language-html:before{content:"HTML"}.prose div.language-powershell:before{content:"pwsh"}.prose div.language-kotlin:before{content:"Kotlin"}.copy-code{color:#e6edf3;font:500 12px / 1.2 var(--font-mono);cursor:pointer;opacity:0;background:#e6edf30f;border:1px solid #e6edf333;border-radius:6px;padding:4px 10px;transition:opacity .15s;position:absolute;top:6px;right:10px}.prose div.code-block:hover .copy-code,.copy-code:focus-visible{opacity:1}@media (hover:none){.copy-code{opacity:1}}.author-card{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);align-items:flex-start;gap:18px;margin-top:40px;padding:22px;display:flex}.author-card img{width:64px;height:64px;box-shadow:0 0 0 2px var(--brand-signal);border-radius:50%;flex:none}.author-card .author-name{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 4px;font-size:19px;font-weight:700;line-height:1.15}.author-card p{color:var(--color-text-muted);margin:0 0 10px;font-size:16px}.related{margin:48px 0 32px}.related h2{margin:0 0 18px;font-size:20px}.series-box{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--topic,var(--color-link));margin:40px 0 0;padding:20px 22px}.series-box h2{margin:0 0 12px;font-size:16px}.series-box ol{gap:6px;margin:0;padding-left:22px;display:grid}.series-box [aria-current=page]{color:var(--color-text-muted);font-weight:600}.series-section{--topic:var(--color-link)}.topic-section h2 a{color:inherit;text-decoration:none}.topic-section h2 a:hover{color:var(--topic,var(--color-link))}.series-description{color:var(--color-text-muted);margin:0 0 16px}.series-posts{margin-top:8px}.series-all{margin:32px 0}.post-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.post-nav a{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);align-content:start;gap:6px;padding:18px;text-decoration:none;display:grid}.post-nav a:hover{border-color:var(--topic,var(--brand-signal))}.post-nav .next{text-align:right;grid-column:2}.post-nav .label{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.post-nav strong{font-size:18px;line-height:1.25}@media (width<=600px){.post-nav{grid-template-columns:1fr}.post-nav .next{grid-column:1}}.comments{margin-top:40px}.topics-index{gap:40px;padding-block:24px 16px;display:grid}.topic-section{gap:14px;display:grid}.topic-section header{align-items:center;gap:14px;display:flex}.topic-badge{border:1px solid color-mix(in srgb, var(--topic) 50%, transparent);background:color-mix(in srgb, var(--topic) 12%, transparent);width:48px;height:48px;color:var(--topic);font:700 22px / 1 var(--font-mono);border-radius:12px;flex:none;place-items:center;display:grid}.topic-section h2{margin:0;font-size:26px}.topic-section .meta{display:block}.topic-empty{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:0;padding:14px 0;font-style:italic}.topic-posts{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.topic-posts li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.topic-posts a{color:var(--color-text);font-size:18px;font-weight:600;text-decoration:none}.topic-posts a:hover{color:var(--topic)}.topic-posts .meta{white-space:nowrap}@media (width<=560px){.topic-posts li{flex-direction:column;gap:2px}}.resources{gap:28px;padding-block:24px 16px;display:grid}.resources h2{margin:12px 0 8px;font-size:24px}.resource-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.resource-list li{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding:14px 0;display:flex}.resource-list .meta{flex:none;width:92px}.resource-kind{width:64px;font-family:var(--font-mono);color:var(--prompt-path);flex:none;font-size:13px}.resource-list a{color:var(--color-text);flex:260px;font-size:18px;font-weight:600;text-decoration:none}.resource-list a:hover{color:var(--color-link)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:72px;padding-block:36px;font-size:15px}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.site-footer .brand{font-size:19px}.site-footer p{font-family:var(--font-mono);margin:6px 0 0;font-size:13px}.social{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.social a{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text);border-radius:10px;place-items:center;display:grid}.social a:hover{color:var(--brand-ink);background:var(--brand-signal);border-color:var(--brand-signal)}.social svg{width:18px;height:18px}.not-found{gap:28px;padding-top:36px;display:grid}.nf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.nf-code{font:700 clamp(96px, 16vw, 168px) / .85 var(--font-mono);letter-spacing:-.07em;color:var(--brand-signal);margin:0}:root[data-theme=light] .nf-code{color:var(--color-link)}.nf-lead{max-width:420px;font-family:var(--font-mono);color:var(--color-text-muted);margin:0;font-size:15px}.nf-lead kbd{font-family:var(--font-mono);color:var(--color-text)}.pacman-strip{border-block:1px dashed var(--color-border);height:56px;position:relative;overflow:hidden}.pm{z-index:2;width:36px;height:36px;position:absolute;top:10px;left:96px}.pm:before,.pm:after{content:"";background:var(--brand-signal);width:36px;height:18px;position:absolute;left:0}.pm:before{transform-origin:50% 100%;border-radius:18px 18px 0 0;animation:.3s ease-in-out infinite alternate pm-top;top:0}.pm:after{transform-origin:50% 0;border-radius:0 0 18px 18px;animation:.3s ease-in-out infinite alternate pm-bottom;top:18px}@keyframes pm-top{to{transform:rotate(-38deg)}}@keyframes pm-bottom{to{transform:rotate(38deg)}}.pm-dots{background:linear-gradient(90deg, var(--brand-signal) 0 6px, transparent 6px 36px);background-size:36px 6px;height:6px;animation:.6s linear infinite pm-dots;position:absolute;top:25px;left:114px;right:0}@keyframes pm-dots{to{background-position:-36px 0}}.pm-ghost{background:var(--prompt-path);border-radius:16px 16px 4px 4px;width:32px;height:34px;animation:.6s ease-in-out infinite alternate pm-bob;position:absolute;top:11px;left:28px}.pm-ghost:before,.pm-ghost:after{content:"";border-radius:50%;position:absolute}.pm-ghost:before{background:#e6edf3;width:8px;height:9px;top:10px;left:6px;box-shadow:12px 0 #e6edf3}.pm-ghost:after{background:#0b0e14;width:4px;height:4px;top:13px;left:10px;box-shadow:12px 0 #0b0e14}@keyframes pm-bob{0%{transform:translateY(-2px)}to{transform:translateY(2px)}}.pm-hud{z-index:3;background:var(--color-bg);font:13px var(--font-mono);letter-spacing:.08em;color:var(--color-text-muted);align-items:center;gap:18px;padding:0 4px 0 22px;display:flex;position:absolute;inset:0 0 0 auto}.pm-hud b{color:var(--color-link);font-weight:500}@media (width<=600px){.pm-hud span:not(:nth-child(2)){display:none}}.nf-term .window-body{font-family:var(--font-mono);font-size:15px;line-height:1.75}#nf-log p,#nf-log ul,#nf-log dl{margin:0}#nf-log .prompt-line{margin-top:12px}#nf-log>.prompt-line:first-child{margin-top:0}.nf-err{color:var(--topic-dotnet)}.nf-warn{color:var(--topic-aspnet)}.nf-muted{color:var(--color-text-muted)}.nf-list{margin:0;padding-left:20px;list-style:none}.nf-list a{text-decoration:none}.nf-help{grid-template-columns:max-content 1fr;gap:0 24px;margin:0;padding-left:20px;display:grid}.nf-help dt{color:var(--color-text)}.nf-help dd{color:var(--color-text-muted);margin:0}.nf-input{align-items:center;gap:8px;margin-top:12px;display:flex}.nf-input input{min-width:0;color:var(--color-text);font:inherit;caret-color:var(--brand-signal);background:0 0;border:0;outline:none;flex:1;padding:0}.nf-input input:focus-visible{outline:none}.nf-input:focus-within{box-shadow:0 1px 0 var(--color-focus)}.nf-actions{flex-wrap:wrap;gap:12px;display:flex}.nf-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);font:500 15px var(--font-mono);color:var(--color-text);padding:11px 16px;text-decoration:none}.nf-btn:hover{border-color:var(--color-link);color:var(--color-text)}.nf-btn-primary{border-color:var(--brand-signal);background:var(--brand-signal);color:var(--brand-ink);font-weight:700}.nf-btn-primary:hover{color:var(--brand-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.diagram{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);margin:0;padding:16px;overflow-x:auto}.diagram img{border:0;border-radius:0;max-width:100%;margin-inline:auto;display:block}.diagram figcaption{text-align:center;color:var(--color-text-muted);margin-top:10px;font-size:14px}.diagram .diagram-dark{display:block}.diagram .diagram-light,:root[data-theme=light] .diagram .diagram-dark{display:none}:root[data-theme=light] .diagram .diagram-light{display:block}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
