:root{--ink:#f4f1ea;--muted:#aaa9a3;--paper:#10100f;--panel:#191918;--line:#343431;--acid:#dfff49;--article-width:72.2656rem;--font-body:var(--font-atkinson),"Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);font:400 1rem/1.65 var(--font-body);overflow-wrap:break-word;margin:0}a{color:inherit}img{max-width:100%;display:block}.shell{width:min(1500px,100%);margin:0 auto;padding:0 clamp(1.1rem,3vw,3rem)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:6rem;display:flex}.site-identity{align-items:center;gap:1rem;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:.8rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#111;background:var(--acid);place-items:center;width:2.2rem;height:2.2rem;font-size:.78rem;display:grid;transform:rotate(-5deg)}.header-social{border-left:1px solid var(--line);align-items:center;gap:.7rem;padding-left:1rem;display:flex}.header-social-button,.github-link{min-height:2.5rem;color:inherit;cursor:pointer;opacity:.72;background:0 0;border:0;justify-content:center;align-items:center;padding:.25rem;transition:opacity .2s,transform .2s;display:flex}.header-social-button:hover,.github-link:hover{opacity:1;transform:translateY(-1px)}.header-social :is(.header-social-button,.github-link) img{object-fit:contain;width:1.95rem;height:1.95rem}.contact-dialog{border:1px solid var(--line);width:min(23rem,100% - 2rem);max-width:none;color:var(--ink);background:var(--panel);padding:0;box-shadow:0 1.5rem 5rem #000000a6}.contact-dialog::backdrop{backdrop-filter:blur(4px);background:#000000bd}.contact-dialog-card{padding:1.5rem;position:relative}.contact-dialog-card .eyebrow{margin:0 0 .3rem}.contact-dialog-card h2{margin:0 2rem 1.2rem 0;font-size:1.45rem}.contact-dialog-card>img{object-fit:contain;background:#fff;width:100%;max-height:68vh}.contact-dialog-close{border:1px solid var(--line);width:2rem;height:2rem;color:var(--ink);font:400 1.4rem/1 var(--font-body);cursor:pointer;background:0 0;padding:0;position:absolute;top:1rem;right:1rem}.contact-dialog-close:hover{color:#111;border-color:var(--acid);background:var(--acid)}.email-dialog-card{min-height:15rem}.email-address{border:1px solid var(--line);color:var(--acid);background:var(--paper);text-align:center;user-select:all;padding:1rem;font-size:1.05rem;display:block}.email-actions{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem;display:grid}.email-actions :is(button,a){border:1px solid var(--acid);color:#111;background:var(--acid);min-height:2.8rem;font:700 .85rem/1.2 var(--font-body);cursor:pointer;justify-content:center;align-items:center;padding:.6rem .8rem;text-decoration:none;display:flex}.email-actions :is(button,a):hover{color:var(--ink);background:0 0}.email-copy-status{min-height:1.4rem;color:var(--muted);text-align:center;margin:.55rem 0 0;font-size:.78rem}.site-header nav{border:1px solid var(--line);background:var(--panel);align-items:center;gap:.25rem;padding:.28rem;display:flex}.site-header nav a{min-width:5.2rem;color:var(--muted);text-align:center;letter-spacing:.04em;padding:.48rem .85rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:color .2s,background-color .2s}.site-header nav a:hover{color:var(--ink);background:#252523}.site-header nav a.active,.site-header nav a.active:hover{color:#111;background:var(--acid)}.back-link{color:var(--muted);font-size:.92rem;text-decoration:none}.back-link:hover{color:var(--ink)}.home-page{position:relative}.home-quick-nav{z-index:20;border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);background:#10100fe0;width:6.5rem;padding:.8rem 0;position:fixed;top:50%;left:max(1rem,50vw - 750px - 7.5rem);transform:translateY(-50%)}.home-quick-nav p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .55rem;font-size:.64rem;font-weight:700}.home-quick-nav a{color:var(--muted);border-left:2px solid #0000;align-items:center;gap:.55rem;padding:.48rem 0 .48rem .7rem;font-size:.78rem;text-decoration:none;transition:color .2s,border-color .2s,padding-left .2s;display:flex;position:relative}.home-quick-nav a span{color:#6f6f69;letter-spacing:.08em;font-size:.62rem}.home-quick-nav a:hover,.home-quick-nav a.is-active{border-left-color:var(--acid);color:var(--ink);padding-left:.9rem}.home-quick-nav a.is-active,.home-quick-nav a.is-active span{color:var(--acid)}.intro{border-bottom:1px solid var(--line);background:var(--paper);isolation:isolate;grid-template-columns:1.5fr .62fr;align-content:end;gap:3rem;min-height:62vh;margin:0 0 1rem;padding:clamp(6rem,13vw,12rem) clamp(1.4rem,3vw,3rem) clamp(2rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.hero-fluid{z-index:-2;background:var(--paper);position:absolute;inset:0}.hero-fluid canvas,.hero-fluid-fallback{width:100%;height:100%;position:absolute;inset:0}.hero-fluid canvas{cursor:crosshair;opacity:0;touch-action:pan-y pinch-zoom;transition:opacity .8s;display:block}.hero-fluid canvas[data-ready=true]{opacity:1}.hero-fluid-fallback{z-index:-1;background:radial-gradient(circle at 68% 38%,#dfff4924,transparent 22%),radial-gradient(circle at 35% 68%,#5b82141c,transparent 25%),var(--paper)}.hero-fluid:after{content:"";pointer-events:none;background:linear-gradient(90deg,#10100f1f,#0000 55%),linear-gradient(#0000 55%,#10100f52);position:absolute;inset:0}.intro-content{z-index:1;pointer-events:none;grid-column:1/-1;justify-content:space-between;align-items:end;display:flex;position:relative}.intro-content .eyebrow{text-shadow:0 1px 18px #000;margin:0}.intro-hint{color:#f4f1ea9e;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.eyebrow{color:var(--acid);text-transform:uppercase;letter-spacing:.17em;grid-column:1/-1;align-self:start;margin:0 0 auto;font-size:.82rem}.intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(3.5rem,8.6vw,9rem);font-weight:700;line-height:.86}.intro h1 em{color:var(--muted);font-style:normal;font-weight:400}.intro-copy{max-width:28rem;color:var(--muted);align-self:end;margin:0 0 .5rem;font-size:clamp(1rem,1.35vw,1.25rem)}.works{padding:0 0 8rem}.works-index-page{padding:3rem 0 0}.works-index-hero{border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(260px,.42fr);align-content:end;gap:4rem;min-height:42vh;padding:5rem 0 6rem;display:grid}.works-index-hero .eyebrow{grid-column:1/-1}.works-index-hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(4rem,10vw,10rem);line-height:.78}.works-index-hero>p:last-child{color:var(--muted);align-self:end;margin:0;font-size:1.1rem}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding:1.2rem 0;display:flex}.section-heading h2{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:1rem}.section-heading span{color:var(--muted);font-size:.85rem}.work-card{border-bottom:1px solid var(--line)}.work-link{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,5vw,6rem);padding:clamp(2.2rem,5vw,5rem) 0;text-decoration:none;display:grid}.work-copy{grid-template-columns:3rem 1fr;align-items:start;gap:1rem;display:grid}.work-number{color:var(--muted);letter-spacing:.1em;padding-top:.35rem;font-size:.78rem}.tags{flex-wrap:wrap;gap:.45rem;display:flex}.tags span{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;padding:.28rem .58rem;font-size:.72rem}.work-card h3{letter-spacing:-.045em;margin:1.3rem 0 .8rem;font-size:clamp(2rem,4vw,4.5rem);line-height:1}.work-card p{max-width:35rem;color:var(--muted);margin:0 0 2rem;font-size:1.05rem}.view-work{border-bottom:1px solid var(--acid);padding-bottom:.2rem;font-size:.86rem;display:inline-block}.thumbs{grid-template-columns:2fr 1fr;gap:.65rem;height:clamp(250px,32vw,500px);display:grid;overflow:hidden}.thumbs img{object-fit:cover;filter:saturate(.7);border-radius:0;width:100%;height:100%;transition:transform .55s,filter .4s}.thumb-side{margin-top:2.5rem;height:calc(100% - 2.5rem)!important}.work-link:hover .thumb-main{filter:saturate();transform:scale(1.025)}.work-link:hover h3{color:var(--acid)}.site-footer{border-top:1px solid var(--line);min-height:10rem;color:var(--ink);text-align:center;letter-spacing:.025em;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.95rem;font-weight:600;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--acid)}.site-footer-records{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1.1rem;display:flex}.site-footer-records a{align-items:center;gap:.35rem;display:inline-flex}.site-footer-records img{object-fit:contain;width:20px;height:20px}.project-page{padding:3rem 0 8rem}.back-link{margin-bottom:clamp(4rem,8vw,8rem);display:inline-block}.project-hero{grid-template-columns:1.4fr .65fr;align-items:end;gap:5rem;margin-bottom:4rem;display:grid}.project-hero h1{letter-spacing:-.07em;margin:1.3rem 0 0;font-size:clamp(4rem,10vw,10rem);line-height:.82}.project-meta>p{color:var(--muted);font-size:1.15rem}.meta-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;margin-top:2rem;padding:1rem 0;font-size:.88rem;display:flex}.meta-row span{color:var(--muted)}.meta-row strong{font-weight:400}.project-links{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.project-links a{color:#111;background:var(--acid);padding:.75rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none}.github-stats{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem 1rem;margin-top:1.5rem;padding:.8rem 0;font-size:.8rem;display:flex}.github-stats[hidden],.github-stats [hidden]{display:none}.github-stats-title{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.github-stats b{color:var(--ink);font-weight:600}.github-stats i{color:var(--acid);font-style:normal}.project-cover{background:var(--panel);overflow:hidden}.project-cover img{object-fit:cover;width:100%;max-height:82vh}.project-body{width:min(var(--article-width),100%);margin:clamp(5rem,9vw,9rem) auto;font-size:1.12rem}.project-body h2{letter-spacing:-.035em;margin:3.5rem 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.project-body p{color:#d3d1ca}.project-body a{text-decoration-color:var(--acid);text-underline-offset:.2em}.project-body strong,.devlog-body strong{color:inherit;text-decoration-line:underline;text-decoration-color:var(--acid);text-underline-offset:.2em;text-decoration-skip-ink:auto;font-weight:800;text-decoration-thickness:.12em}.project-body pre,.devlog-body pre{border:1px solid var(--line);border-top:3px solid var(--acid);tab-size:4;scrollbar-width:thin;scrollbar-color:#686864 var(--panel);margin:1.8rem 0;padding:1.35rem 1.5rem 1.45rem;font:400 .9rem/1.7 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;position:relative;overflow-x:auto;box-shadow:inset 0 1px #ffffff09;background:var(--panel)!important}.project-body pre code,.devlog-body pre code{min-width:max-content;color:inherit;font:inherit;background:0 0;padding:0;display:block}.project-body pre:is([data-language=cpp],[data-language="C++"],[data-language="c++"],[data-language=cxx],[data-language=hpp],[data-language=csharp],[data-language=C\#],[data-language=c\#],[data-language=cs]) span:is([style*=\#6A737D i],[style*=\#8B949E i]),.devlog-body pre:is([data-language=cpp],[data-language="C++"],[data-language="c++"],[data-language=cxx],[data-language=hpp],[data-language=csharp],[data-language=C\#],[data-language=c\#],[data-language=cs]) span:is([style*=\#6A737D i],[style*=\#8B949E i]){color:#7ee787!important}.project-body pre::-webkit-scrollbar,.devlog-body pre::-webkit-scrollbar{height:10px}.project-body pre::-webkit-scrollbar-track,.devlog-body pre::-webkit-scrollbar-track{background:var(--panel)}.project-body pre::-webkit-scrollbar-thumb,.devlog-body pre::-webkit-scrollbar-thumb{border:3px solid var(--panel);background:#686864}.project-body pre::-webkit-scrollbar-thumb:hover,.devlog-body pre::-webkit-scrollbar-thumb:hover{background:var(--acid)}.project-body :not(pre)>code,.devlog-body :not(pre)>code{border:1px solid var(--line);color:var(--acid);background:var(--panel);padding:.15rem .38rem;font:400 .88em/1.4 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.project-body img{aspect-ratio:16/9;object-fit:contain;object-position:center;background:var(--panel);width:100%;height:auto}.project-body video,.devlog-body video{border:1px solid var(--line);object-fit:contain;background:#000;width:100%;max-width:100%;height:auto;max-height:min(75vh,720px);margin:2rem 0;display:block}.project-body table{border-collapse:collapse;border-spacing:0;width:100%;color:var(--ink);scrollbar-width:thin;scrollbar-color:#686864 var(--panel);margin:2rem 0;font-size:.96rem;line-height:1.5;display:block;overflow-x:auto}.project-body table :is(thead,tbody){display:table-row-group}.project-body table tr{display:table-row}.project-body table :is(th,td){text-align:left;vertical-align:top;border:1px solid #4b4b46;min-width:7.5rem;padding:.75rem 1rem}.project-body table th{color:var(--ink);letter-spacing:.025em;background:#252522;font-weight:700}.project-body table tbody tr:nth-child(2n) td{background:#ffffff06}.project-body table tbody tr:hover td{background:#dfff490e}.project-body table code{white-space:nowrap}.project-body table::-webkit-scrollbar{height:10px}.project-body table::-webkit-scrollbar-track{background:var(--panel)}.project-body table::-webkit-scrollbar-thumb{border:3px solid var(--panel);background:#686864}.project-body table::-webkit-scrollbar-thumb:hover{background:var(--acid)}.project-body blockquote{border-left:3px solid var(--acid);color:var(--muted);margin:3rem 0;padding:1rem 0 1rem 1.5rem}.project-body li{margin:.4rem 0}.project-gallery{grid-template-columns:repeat(2,1fr);gap:clamp(.7rem,2vw,1.5rem);display:grid}.project-gallery img{background:var(--panel);width:100%;height:auto}.project-gallery img:nth-child(3n){grid-column:1/-1}.project-end{border-top:1px solid var(--line);text-align:right;margin-top:8rem;padding-top:2rem}.project-end a{font-size:clamp(1.6rem,3vw,3rem);text-decoration:none}.project-end a:hover{color:var(--acid)}.section-heading>a{color:var(--muted);font-size:.85rem;text-decoration:none}.section-heading>a:hover{color:var(--acid)}.section-more{border-bottom:1px solid var(--line);justify-content:flex-end;padding:2rem 0;display:flex}.section-more a{border-bottom:1px solid var(--acid);color:var(--ink);letter-spacing:.04em;align-items:center;gap:1rem;padding:.75rem 0 .45rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.section-more a span{color:var(--acid);transition:transform .2s}.section-more a:hover{color:var(--acid)}.section-more a:hover span{transform:translate(.35rem)}.home-devlog{padding:0 0 8rem}.home-devlog-list{grid-template-columns:repeat(2,1fr);display:grid}.home-devlog-list article{border-bottom:1px solid var(--line)}.home-devlog-list article:nth-child(odd){border-right:1px solid var(--line)}.home-devlog-list article>a{min-height:15rem;padding:2rem clamp(1.2rem,3vw,3rem) 2rem 0;text-decoration:none;display:block;position:relative}.home-devlog-list article:nth-child(2n)>a{padding-left:clamp(1.2rem,3vw,3rem)}.home-devlog-meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;gap:1rem;font-size:.75rem;display:flex}.home-devlog-thumb{aspect-ratio:16/8;background:var(--panel);margin:1.5rem 0;overflow:hidden}.home-devlog-thumb img{object-fit:cover;filter:saturate(.8);width:100%;height:100%;transition:transform .35s,filter .35s}.home-devlog-list article>a:hover .home-devlog-thumb img{filter:saturate();transform:scale(1.025)}.home-devlog-thumb+p{margin-top:0}.home-devlog-list p{color:var(--muted);margin:2.2rem 0 .35rem;font-size:.78rem}.home-devlog-list h3{max-width:32rem;margin:0;font-size:clamp(1.45rem,2.5vw,2.4rem);line-height:1.12}.home-devlog-list article>a>span{color:var(--acid);position:absolute;bottom:1.7rem;right:1.2rem}.home-devlog-list article>a:hover h3{color:var(--acid)}.devlog-page{padding:3rem 0 8rem}.devlog-entry-page{padding:1.25rem 0 8rem}.devlog-entry-page>.back-link{margin-bottom:0}.devlog-index-hero{border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(260px,.42fr);align-content:end;gap:4rem;min-height:55vh;padding:5rem 0 6rem;display:grid}.devlog-index-hero .eyebrow{grid-column:1/-1}.devlog-index-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(5rem,13vw,13rem);line-height:.72}.devlog-index-hero>p:last-child{color:var(--muted);align-self:end;margin:0;font-size:1.1rem}.devlog-project-grid{grid-template-columns:repeat(2,1fr);display:grid}.devlog-project-card{border-bottom:1px solid var(--line)}.devlog-project-card:nth-child(odd){border-right:1px solid var(--line)}.devlog-project-card>a{grid-template-rows:1fr auto;grid-template-columns:2rem 1fr;gap:1.5rem;min-height:25rem;padding:3rem;text-decoration:none;display:grid}.devlog-project-card:nth-child(odd)>a{padding-left:0}.devlog-project-card:nth-child(2n)>a{padding-right:0}.devlog-project-number{color:var(--muted);font-size:.75rem}.devlog-project-card h2{letter-spacing:-.05em;margin:1.5rem 0 1rem;font-size:clamp(2rem,4vw,4rem);line-height:.96}.devlog-project-card p{color:var(--muted)}.devlog-project-card-meta{color:var(--muted);flex-wrap:wrap;grid-column:2;gap:.65rem 1.5rem;font-size:.78rem;display:flex}.devlog-project-card>a:hover h2{color:var(--acid)}.devlog-project-hero{border-bottom:1px solid var(--line);grid-template-columns:1.3fr .7fr;align-items:end;gap:5rem;margin:3rem 0 5rem;padding-bottom:4rem;display:grid}.devlog-project-hero h1{letter-spacing:-.06em;margin:1rem 0 0;font-size:clamp(3.5rem,8vw,8rem);line-height:.88}.devlog-project-summary>p{color:var(--muted)}.related-work-link{border-bottom:1px solid var(--acid);margin-top:1.5rem;padding-bottom:.2rem;font-size:.88rem;text-decoration:none;display:inline-block}.devlog-list{border-top:1px solid var(--line)}.devlog-row{border-bottom:1px solid var(--line)}.devlog-row>a{grid-template-columns:11rem 1fr 2rem;gap:2rem;padding:2.2rem 0;text-decoration:none;display:grid}.devlog-row-meta{color:var(--muted);letter-spacing:.04em;flex-wrap:wrap;align-items:flex-start;gap:.45rem .8rem;font-size:.74rem;display:flex}.devlog-row>a.has-cover{grid-template-columns:11rem clamp(9rem,18vw,14rem) minmax(0,1fr) 2rem}.devlog-row-thumb{aspect-ratio:16/10;background:var(--panel);align-self:start;overflow:hidden}.devlog-row-thumb img{object-fit:cover;filter:saturate(.8);width:100%;height:100%;transition:transform .35s,filter .35s}.devlog-row>a:hover .devlog-row-thumb img{filter:saturate();transform:scale(1.035)}.devlog-status{border:1px solid var(--line);padding:.08rem .42rem}.devlog-status.is-exploring{color:var(--acid);border-color:var(--acid)}.devlog-pinned{border:1px solid var(--acid);color:#111;background:var(--acid);padding:.08rem .42rem;font-weight:700}.devlog-row-copy h2{margin:.2rem 0 .5rem;font-size:clamp(1.45rem,2.5vw,2.5rem);line-height:1.1}.devlog-row-copy>p:last-child{color:var(--muted);margin:0}.devlog-project-name{color:var(--acid);margin:0 0 .35rem;font-size:.72rem}.devlog-arrow{color:var(--acid);text-align:right}.devlog-row>a:hover h2{color:var(--acid)}.pagination{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:4rem;padding-top:1.5rem;display:grid}.pagination>a{text-decoration:none}.pagination>a:last-child{text-align:right}.pagination>span{color:var(--muted);font-size:.8rem}.devlog-entry-hero{border-bottom:1px solid var(--line);width:min(1000px,100%);margin:1rem auto 0;padding-bottom:4rem}.devlog-entry-hero h1{letter-spacing:-.04em;max-width:900px;margin:1rem 0 1.5rem;font-size:clamp(1.6rem,3.5vw,3.5rem);line-height:.95}.devlog-entry-hero>p{max-width:680px;color:var(--muted);font-size:1.15rem}.devlog-entry-hero>.devlog-repost-notice{max-width:none;color:var(--muted);letter-spacing:.02em;margin:.8rem 0 0;font-size:.72rem;line-height:1.5}.devlog-repost-notice strong{color:inherit;text-decoration:none}.devlog-entry-cover{aspect-ratio:2;background:var(--panel);width:100%;margin-bottom:1.25rem;overflow:hidden}.devlog-entry-cover img{object-fit:cover;object-position:center;width:100%;height:100%}.devlog-content-layout.has-toc{grid-template-columns:minmax(10rem,13.5rem) minmax(0,var(--article-width)) minmax(10rem,13.5rem);justify-content:center;gap:clamp(2rem,4vw,4rem);display:grid}.devlog-content-layout.has-toc .devlog-body{grid-column:2;width:100%}.devlog-toc{grid-area:1/1;min-width:0;margin-top:5rem}.devlog-toc nav{border-top:1px solid var(--line);max-height:calc(100vh - 4rem);position:sticky;top:2rem;overflow:auto}.devlog-toc nav>p{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;margin:0;padding:1rem 0 .7rem;font-size:.72rem;font-weight:700}.devlog-toc ol{margin:0;padding:0;list-style:none}.devlog-toc li{margin:0}.devlog-toc li.depth-3{padding-left:1rem}.devlog-toc a{color:var(--muted);border-left:2px solid #0000;padding:.38rem 0;font-size:.8rem;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s,padding-left .2s;display:block}.devlog-toc a:hover,.devlog-toc a.is-active{border-left-color:var(--acid);color:var(--ink);padding-left:.55rem}.devlog-toc a.is-active{color:var(--acid)}.devlog-body{margin-top:5rem;margin-bottom:5rem}.devlog-body :is(h2,h3){scroll-margin-top:2rem}.devlog-work-callout{width:min(var(--article-width),100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:0 auto;padding:1.5rem 0;display:flex}.devlog-work-callout>span{color:var(--muted);font-size:.8rem}.devlog-work-callout a{font-size:1.25rem;text-decoration:none}.devlog-work-callout b{color:var(--acid)}.devlog-repost-banner{width:min(var(--article-width),100%);border:1px solid #dfff4959;border-left:4px solid var(--acid);color:var(--ink);background:#dfff4912;margin:1rem auto 0;padding:1rem 1.25rem;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.6}.devlog-repost-banner strong{color:inherit;text-decoration:none}.devlog-repost-banner+.artalk-comments{margin-top:2rem}.artalk-comments{width:min(var(--article-width),100%);border-top:1px solid var(--line);margin:6rem auto 0;padding:2rem 0 0}.artalk-comments-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.artalk-comments-heading p{color:var(--acid);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:700}.artalk-comments-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1}.artalk-comments-heading>span{color:var(--muted);font-size:.78rem}.artalk-comments-readonly{border-left:2px solid var(--acid);color:var(--muted);background:#dfff490b;margin:-.75rem 0 1.5rem;padding:.7rem .9rem;font-size:.78rem}.artalk-comments-host.artalk{--at-color-main:var(--acid);--at-color-font:var(--ink);--at-color-deep:var(--ink);--at-color-sub:var(--muted);--at-color-grey:var(--muted);--at-color-meta:var(--muted);--at-color-border:var(--line);--at-color-bg:var(--paper);--at-color-bg-transl:#10100ff2;--at-color-bg-grey:var(--panel);--at-color-bg-grey-transl:#191918f2;--at-color-bg-light:#dfff4914;--at-color-gradient:linear-gradient(180deg,transparent,var(--paper));color:var(--ink);font-family:var(--font-body)}.artalk-comments-host.artalk .atk-editor-wrap{border-radius:0}.artalk-comments-host.artalk .atk-send-btn{color:#111;border-radius:0;font-weight:700}.artalk-comments-host.artalk :is(input,textarea){font-family:var(--font-body)}.artalk-comments.is-readonly .artalk-comments-host.artalk .atk-send-btn{opacity:.38;filter:grayscale();cursor:not-allowed;pointer-events:none}.artalk-comments-privacy{color:#777770;margin:1.25rem 0 0;font-size:.72rem;line-height:1.6}.devlog-neighbors{grid-template-columns:1fr 1fr;gap:2rem;margin-top:6rem;display:grid}.devlog-neighbors a{border-top:1px solid var(--line);padding:2rem 0;font-size:1.15rem;text-decoration:none}.devlog-neighbors a:last-child{text-align:right}.devlog-neighbors small{color:var(--muted);margin-bottom:.6rem;font-size:.72rem;display:block}.devlog-neighbors a:hover{color:var(--acid)}.work-devlogs{margin-top:8rem}.work-devlogs>a{border-bottom:1px solid var(--line);grid-template-columns:9rem 1fr auto;gap:2rem;padding:1.25rem 0;text-decoration:none;display:grid}.work-devlogs time{color:var(--muted);font-size:.78rem}.work-devlogs b,.work-devlogs>a:hover span{color:var(--acid)}@media (width<=1100px){.home-quick-nav{border:1px solid var(--line);align-items:center;width:auto;padding:.3rem;display:flex;top:auto;bottom:1rem;left:50%;transform:translate(-50%)}.home-quick-nav p{display:none}.home-quick-nav a{border:0;justify-content:center;min-width:6.5rem;padding:.45rem .8rem}.home-quick-nav a:hover,.home-quick-nav a.is-active{color:#111;background:var(--acid);border:0;padding-left:.8rem}.home-quick-nav a.is-active span{color:#111}.devlog-content-layout.has-toc{display:block}.devlog-toc{width:min(var(--article-width),100%);margin:4rem auto -1rem}.devlog-toc nav{border-bottom:1px solid var(--line);max-height:none;padding-bottom:1rem;position:static}.devlog-toc ol{columns:2;column-gap:2rem}.devlog-toc li{break-inside:avoid}}@media (width<=800px){.home-quick-nav{display:none}.site-header{min-height:4.8rem}.site-header nav a{min-width:auto;padding:.42rem .65rem;font-size:.76rem}.intro{grid-template-columns:1fr;min-height:min(64svh,38rem);padding:6rem 1.2rem 2rem}.eyebrow{grid-column:auto}.intro-copy{margin-top:1rem}.intro-hint{display:none}.works-index-hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-top:6rem}.work-link{grid-template-columns:1fr}.work-copy{grid-template-columns:2rem 1fr}.thumbs{grid-row:1}.work-card h3{font-size:2.6rem}.project-hero{grid-template-columns:1fr;gap:2.5rem}.project-hero h1{font-size:4.3rem}.project-gallery{grid-template-columns:1fr}.project-gallery img:nth-child(3n){grid-column:auto}.home-devlog-list,.devlog-project-grid{grid-template-columns:1fr}.home-devlog-list article:nth-child(odd),.devlog-project-card:nth-child(odd){border-right:0}.home-devlog-list article:nth-child(2n)>a{padding-left:0}.devlog-index-hero,.devlog-project-hero{grid-template-columns:1fr;gap:2rem}.devlog-index-hero{min-height:auto;padding-top:6rem}.devlog-project-card>a,.devlog-project-card:nth-child(odd)>a,.devlog-project-card:nth-child(2n)>a{min-height:20rem;padding:2.5rem 0}.devlog-row>a{grid-template-columns:1fr 2rem;gap:1rem}.devlog-row-meta{grid-column:1/-1}.devlog-row-copy{grid-column:1}.devlog-arrow{grid-column:2}.devlog-row>a.has-cover{grid-template-columns:7rem minmax(0,1fr) 2rem}.devlog-row>a.has-cover .devlog-row-meta{grid-column:1/-1}.devlog-row>a.has-cover .devlog-row-thumb{grid-column:1}.devlog-row>a.has-cover .devlog-row-copy{grid-column:2}.devlog-row>a.has-cover .devlog-arrow{grid-column:3}.work-devlogs>a{grid-template-columns:1fr auto;gap:.4rem 1rem}.work-devlogs time{grid-column:1/-1}.project-body pre,.devlog-body pre{margin-left:-1.1rem;margin-right:-1.1rem;padding:1.1rem;font-size:.82rem}.project-body table{width:calc(100% + 2.2rem);margin-left:-1.1rem;margin-right:-1.1rem;font-size:.86rem}.project-body table :is(th,td){min-width:6.5rem;padding:.65rem .75rem}.devlog-toc ol{columns:1}.devlog-toc li.depth-3{padding-left:.8rem}.artalk-comments{margin-top:4rem}.artalk-comments-heading{flex-direction:column;align-items:start;gap:.65rem}.artalk-comments-host.artalk{font-size:.92rem}}@media (width<=640px){.site-header{flex-wrap:wrap;padding:.75rem 0}.site-identity{justify-content:space-between;width:100%}.site-header nav{width:100%;margin-top:.7rem}.site-header nav a{flex:1}.header-social{gap:.45rem}}@media (width<=480px){.thumbs{grid-template-columns:1fr;height:260px}.thumb-side{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}
