:root{color-scheme:light dark;--bg:#fdf7ec;--text:#2e1f15;--muted:#77614f;--accent:#bc3a2b;--warm:#d98324;--border:#e5d5bd;--surface:#f6ecd8;--mono:ui-monospace, "Cascadia Code", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#1a110a;--text:#f0e3cd;--muted:#bca58d;--accent:#eda14b;--warm:#d96c4a;--border:#432;--surface:#251a10}.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}*{box-sizing:border-box}html{scroll-padding-top:2rem}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1.0625rem;line-height:1.7}::selection{background:color-mix(in srgb, var(--warm) 30%, transparent)}h1,h2,h3,h4,p,ul,ol{margin:0}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.1rem)}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration:underline}a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}img{max-width:100%;height:auto}button,input{font:inherit}.container{width:min(100% - 3rem,69rem);margin-inline:auto}.reading-width{max-width:46rem;margin-inline:auto}.muted{color:var(--muted)}.accent{color:var(--accent)}.skip-link{z-index:10;background:var(--text);color:var(--bg);padding:.7rem 1rem;position:fixed;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.demo-notice{text-align:center;font:.73rem/1.5 var(--mono);color:var(--muted);background:var(--surface);border-bottom:1px solid var(--border);padding:.35rem 1rem}.site-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.6rem;display:flex}.wordmark{white-space:nowrap;font-family:var(--mono);color:var(--text);letter-spacing:-.04em;font-size:1.15rem;font-weight:750;text-decoration:none}.wordmark>span:first-child{color:var(--accent);margin-right:.4rem}.domain{color:var(--muted);font-weight:400}.main-nav{flex-wrap:wrap;align-items:center;gap:.5rem 1.6rem;max-width:100%;font-size:.88rem;display:flex}.main-nav a{color:var(--muted);overflow-wrap:anywhere;padding-block:.3rem;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current]{color:var(--text)}.main-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.6em}.main-nav .rss-link{color:var(--accent)}main{min-height:65vh}main:focus{outline:none}.hero{border-bottom:1px solid var(--border);margin-bottom:3.5rem;padding-block:4.4rem 4rem}.eyebrow{color:var(--muted);font:.72rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase}.status-dot{background:var(--accent);vertical-align:middle;width:.4rem;height:.4rem;margin-right:.5rem;display:inline-block}.hero h1{letter-spacing:-.025em;margin-block:1.25rem 1.4rem;font-size:clamp(2.5rem,6.2vw,4.5rem);font-weight:600;line-height:1.15}.hero h1>span{color:var(--accent)}.hero-description{font-size:clamp(1.05rem,2vw,1.3rem)}.blog-grid{grid-template-columns:minmax(0,1fr) 16rem;gap:4rem;display:grid}.section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1.2rem;display:flex}.section-heading h2{letter-spacing:-.025em;font-size:1.2rem}.post-card{border-bottom:1px solid var(--border);padding-block:2rem 2.25rem}.post-meta{font:.72rem/1.6 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.45rem 1rem;display:flex}.post-meta a{text-decoration:none}.post-card h2{margin-block:.65rem .8rem;font-size:clamp(1.4rem,2.3vw,1.85rem)}.post-card h2 a{color:var(--text);text-decoration:none}.post-card h2 a:hover{color:var(--accent)}.post-description,.post-preview{color:var(--muted);font-size:.97rem}.card-cover,.card-image img{aspect-ratio:2;object-fit:cover;border-radius:4px;width:100%;margin-block:1rem;display:block}.post-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.7rem 1rem;margin-top:1.2rem;display:flex}.read-more{font-size:.8rem;font-weight:600;text-decoration:none}.read-more span{margin-left:.3rem}.tag-list{flex-wrap:wrap;gap:.4rem .8rem;padding:0;list-style:none;display:flex}.tag-list a{color:var(--muted);font:.71rem/1.6 var(--mono);overflow-wrap:anywhere;text-decoration:none}.tag-list a:hover{color:var(--accent)}.sidebar{padding-top:.1rem}.sidebar-section{margin-top:2rem}.sidebar-section:first-child{margin-top:0}.sidebar-section h2{margin-bottom:.8rem}.topic-list{padding:0;list-style:none}.topic-list a{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.5rem;font-size:.86rem;text-decoration:none;display:flex}.topic-list a>span:first-child{overflow-wrap:anywhere;min-width:0}.topic-list .count{flex-shrink:0}.topic-more{margin-top:.8rem}.topic-more summary{border:1px solid var(--border);width:fit-content;min-height:2.5rem;color:var(--accent);cursor:pointer;border-radius:4px;padding:.4rem .75rem;font-size:.85rem;list-style:none}.topic-more summary::-webkit-details-marker{display:none}.topic-more summary:hover{border-color:var(--accent)}.topic-more .topic-hide-all,.topic-more[open] .topic-show-all{display:none}.topic-more[open] .topic-hide-all{display:inline}.topic-more[open] .topic-list{margin-top:.5rem}.count{color:var(--muted);font:.7rem var(--mono)}.rss-note{border-top:1px solid var(--border);color:var(--muted);gap:.8rem;padding-top:1.2rem;font-size:.8rem;display:flex}.rss-note>span{color:var(--accent);font-size:1.5rem}.pagination{border-top:1px solid var(--border);margin-top:1.8rem;padding-top:1rem;font-size:.85rem}.pagination-controls{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;display:flex}.pagination-controls>nav{flex:16rem;min-width:0}.pagination-settings{gap:.5rem;display:grid}.page-size-picker,.page-size-fallback,.pagination-navigation{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.page-size-picker[hidden]{display:none}.page-size-picker>span,.page-size-fallback>span,.pagination-range,.pagination-position{color:var(--muted)}.page-size-picker select{border:1px solid var(--border);background:var(--bg);min-width:4.4rem;min-height:2.5rem;color:var(--text);font:inherit;cursor:pointer;border-radius:4px;padding:.3rem .5rem}.page-size-picker select:hover{border-color:var(--accent)}.pagination a{border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;min-width:2.5rem;min-height:2.5rem;padding:.3rem .55rem;text-decoration:none;display:inline-flex}.pagination a:hover{border-color:var(--accent);text-decoration:underline}.pagination a[aria-current]{background:var(--surface);border-color:var(--accent);color:var(--text);font-weight:700}.pagination .pagination-direction{padding-inline:.75rem}.pagination-numbers{flex-wrap:wrap;align-items:center;gap:.35rem;padding:0;list-style:none;display:flex}.pagination-gap{color:var(--muted);padding-inline:.15rem}.pagination-position{margin-top:.5rem}.pagination-all{margin-top:.6rem}.pagination-all summary{cursor:pointer;color:var(--accent)}.pagination-all[open] summary{margin-bottom:.6rem}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:5rem;padding-block:1.7rem 2rem;font-size:.74rem;display:flex}.site-footer>div{gap:1.4rem;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.footer-divider{color:var(--border);margin-inline:.6rem}.back-link{font:.76rem/1.6 var(--mono);margin-top:2.5rem;text-decoration:none;display:inline-block}.article-header{margin-block:2.4rem 2rem}.article-header h1{margin-block:.8rem 1.2rem;font-size:clamp(1.75rem,3vw,2rem);line-height:1.25}.article-description{color:var(--muted);font-size:1.15rem;line-height:1.6}.updated-date{color:var(--muted);margin-top:1rem;font-size:.78rem}.article-cover{border-radius:4px;width:100%;margin-bottom:2rem;display:block}.toc{background:var(--surface);margin-block:2rem;padding:.9rem 1.2rem;font-size:.87rem}.toc summary{cursor:pointer;font-weight:600}.toc ol{margin-block:.7rem 0;padding-left:1.3rem}.toc ol ol{margin-top:.3rem;padding-left:1.15rem}.toc li+li{margin-top:.3rem}.toc a{overflow-wrap:anywhere;text-decoration:none}.prose{overflow-wrap:anywhere}.prose>*+*{margin-top:1.2rem}.prose h2{margin-top:2.6rem;font-size:1.65rem}.prose h3{margin-top:2rem;font-size:1.25rem}.prose h4{margin-top:1.5rem;font-size:1.1rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.4rem}.prose blockquote{border-left:3px solid var(--warm);color:var(--muted);background:var(--surface);margin-inline:0;padding:.6rem 1.2rem}.prose .callout{--callout-color:var(--accent);border-left:4px solid var(--callout-color);background:color-mix(in srgb, var(--callout-color) 10%, transparent);border-radius:0 8px 8px 0;padding:.75rem 1rem}.prose .callout+.callout{margin-top:.5rem}.prose .callout>strong:first-child{font-family:var(--mono);color:var(--callout-color)}.prose .callout-good{--callout-color:#267247}@media (prefers-color-scheme:dark){.prose .callout-good{--callout-color:#57c98a}}.prose li>*+*{margin-top:.75rem}.prose code{font-family:var(--mono);background:var(--surface);border-radius:3px;padding:.12em .3em;font-size:.86em}.prose pre{border:1px solid var(--border);border-radius:4px;max-width:100%;padding:1.1rem;line-height:1.7;overflow-x:auto}.prose pre code{overflow-wrap:normal;background:0 0;padding:0;font-size:.8rem}.prose table{border-collapse:collapse;max-width:100%;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.6rem .85rem}.prose th{background:var(--surface)}.prose img,.prose video{border-radius:4px;max-width:100%;height:auto;display:block}.prose figure{margin-inline:0}.prose figcaption{color:var(--muted);margin-top:.4rem;font-size:.8rem}.prose iframe{aspect-ratio:16/9;border:0;width:100%;height:auto;display:block}.prose iframe.article-player{aspect-ratio:var(--embed-ratio,16 / 9)}.prose iframe.article-widget{height:var(--embed-height);aspect-ratio:auto}.lee-demo{border:1px solid var(--border);border-radius:6px;padding:16px;font-size:15px}.lee-demo .lee-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.lee-demo label{flex-direction:column;gap:4px;display:flex}.lee-demo input,.lee-demo button{font:inherit;border:1px solid var(--border);color:inherit;background:0 0;border-radius:4px;padding:6px 8px}.lee-demo input[type=number]{width:100px}.lee-demo button{cursor:pointer}.lee-demo button:hover{border-color:var(--warm)}.lee-demo .lee-waves{flex-direction:row;align-items:center}.lee-demo .lee-canvas-scroll{border:1px solid var(--border);width:fit-content;max-width:100%;max-height:440px;overflow:auto}.lee-demo canvas{display:block}.lee-demo .lee-layers{position:relative}.lee-demo .lee-layers canvas{position:absolute;inset:0}.lee-demo [data-lee-part=leeWay]{cursor:crosshair}.lee-demo .lee-status{min-height:1.5em;margin:10px 0}.lee-demo .lee-time{margin:10px 0}.lee-demo [data-lee-part=time]{width:100%;font-size:13px}.lee-demo noscript{margin-bottom:1rem;display:block}.prose .article-disclosure{border:1px solid var(--border);border-radius:4px;padding:.8rem 1rem}.prose .article-disclosure summary{cursor:pointer;font-weight:600}.prose .article-disclosure[open] summary{margin-bottom:1rem}.prose .article-disclosure p+p{margin-top:1rem}.prose hr{border:0;border-top:1px solid var(--border);margin-block:2rem}.article-tags{margin-top:2.5rem}.post-navigation{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;padding-top:1.5rem;font-size:.9rem;display:grid}.post-navigation div:last-child{text-align:right}.post-navigation a{color:var(--text);text-decoration:none}.post-navigation span{color:var(--muted);font:.7rem/1.5 var(--mono);margin-bottom:.6rem;display:block}.page-heading{margin-block:3.5rem 2.7rem}.page-heading .back-link{margin-top:0;margin-bottom:2rem}.page-heading h1{margin-block:.8rem 1rem}.archive-year+.archive-year{margin-top:2.5rem}.archive-year h2{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding-bottom:.8rem;font-size:1.6rem;display:flex}.archive-year ul{padding:0;list-style:none}.archive-year li{border-bottom:1px solid var(--border);grid-template-columns:9rem 1fr;gap:1rem;padding-block:.9rem;display:grid}.archive-year time{color:var(--muted);padding-top:.2rem;font-size:.75rem}.archive-year a{color:var(--text);text-decoration:none}.archive-year a:hover{color:var(--accent)}.empty-state{color:var(--muted);padding-block:2rem}.empty-state a{margin-top:.5rem;font-size:.85rem;display:inline-block}.not-found{padding-block:5rem}.not-found h1{margin-block:1rem}.not-found p{color:var(--muted)}.not-found>div{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.button{border:1px solid var(--warm);padding:.55rem 1rem;text-decoration:none}@media (width<=850px){.blog-grid{grid-template-columns:minmax(0,1fr) 13rem;gap:2rem}}@media (width<=680px){.container{width:calc(100% - 2.5rem)}.site-header{flex-wrap:wrap;gap:.9rem;padding-block:1.2rem}.main-nav{flex-wrap:wrap;gap:1.2rem;font-size:.8rem}.hero{margin-bottom:2rem;padding-block:3rem 2.5rem}.blog-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.sidebar{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.sidebar-section{margin-top:0}.rss-note{grid-column:1/-1}.post-card{padding-block:1.5rem}.site-footer{margin-top:3.5rem}.archive-year li{grid-template-columns:1fr;gap:.15rem}.post-navigation{gap:1rem}}@media (width<=380px){.main-nav{gap:1rem}}.article-demo{border:1px solid var(--border);border-radius:6px;max-width:100%;padding:1rem;font-size:.9rem}.article-demo .demo-controls{flex-wrap:wrap;gap:.7rem;margin-top:.8rem;display:flex}.article-demo button,.article-demo input{max-width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.4rem .65rem}.article-demo button{cursor:pointer}.article-demo button:hover,.article-demo button[aria-pressed=true]{border-color:var(--warm)}.article-demo button[aria-pressed=true]{background:var(--surface)}.article-demo label{flex-direction:column;gap:.25rem;display:flex}.article-demo .demo-fields{gap:.8rem;margin-bottom:1rem;display:grid}.article-demo .demo-fields input{width:100%}.article-demo [data-demo-status]:empty{display:none}.article-demo [data-demo-status]:not(:empty){margin-top:.8rem}.article-demo .demo-canvas{max-width:100%;overflow:auto}.article-demo canvas{max-width:100%;height:auto;display:block}.article-demo audio{width:100%;max-width:100%;display:block}.article-demo [data-results]{max-height:16rem;margin-top:.8rem;overflow:auto}.article-demo [hidden]{display:none!important}.article-demo .comparison-images{position:relative}.article-demo .comparison-images img{width:100%}.article-demo[data-ready] .comparison-images img+img{object-fit:cover;height:100%;clip-path:inset(0 0 0 var(--comparison));position:absolute;inset:0}.article-demo[data-ready] .comparison-images:after{content:"";top:0;bottom:0;left:var(--comparison);pointer-events:none;border-left:2px solid #fff;position:absolute;box-shadow:1px 0 2px #000}.article-demo input[type=range]{width:100%;accent-color:var(--warm);padding-inline:0}.article-gallery{grid-template-columns:repeat(var(--gallery-columns,2),minmax(0,1fr));gap:1rem;display:grid}@media (width<=600px){.article-gallery{grid-template-columns:repeat(min(2,var(--gallery-columns,2)),minmax(0,1fr))}}.article-gallery figure{min-width:0;margin:0}.article-gallery img{width:100%}.technical-table-scroll{max-width:100%;overflow-x:auto}.prose .technical-table{width:100%;display:table}.prose .technical-table td.opcode{text-align:center;vertical-align:middle;white-space:nowrap;min-width:2.5rem;padding:.5rem .15rem}.prose .technical-table td.t{padding:0 0 3%}.prose .technical-table[bgcolor],.prose .technical-table [bgcolor]{color:#222}.steam-widget[data-astro-cid-fnipxcgp]{width:clamp(320px,100% - 3rem,646px);max-width:100%;height:190px;margin:1.25rem auto}iframe[data-astro-cid-fnipxcgp]{color-scheme:light;border:0;width:100%;height:190px;display:block}@media (width<=680px){.steam-widget[data-astro-cid-fnipxcgp]{width:clamp(320px,100% - 2.5rem,646px)}}
