@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin.woff2) format("woff2")}:root{--bg: #000000;--fg: #ffffff;--muted: #9b9b9b;--border: rgba(255, 255, 255, .12);--blade-bg: #0a0a0a;--blade-hover: #111111;--ease-expand: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}body{background-color:var(--bg);color:var(--fg);font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;min-height:100svh;overflow-x:hidden;display:flex;flex-direction:column}#root{display:contents}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.blade{min-width:0}.blade-toggle{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;z-index:1}.blade.is-active .blade-toggle{height:64px}.blade-toggle:focus-visible{outline:1px solid white;outline-offset:-5px}.read-btn:focus-visible,.nav-pill a:focus-visible{outline:1px solid white;outline-offset:6px;border-radius:2px}.ambient-glow{position:fixed;top:0;left:50%;transform:translate(-50%);width:60vw;height:40vh;background:radial-gradient(circle,#ffffff08,#0000 70%);pointer-events:none;z-index:0}header{padding:80px 60px 40px;z-index:10;text-align:center}.logo{font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin-bottom:40px}h1{font-size:38px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}h1 span.strike{text-decoration:line-through;opacity:.4;margin-right:8px;font-weight:400}.subtitle{font-size:14px;color:var(--muted);max-width:400px;margin:0 auto;line-height:1.5}.blade-container{flex-grow:1;display:flex;width:100%;max-width:1400px;margin:0 auto;padding:0 40px;gap:1px;align-items:flex-end;z-index:5}.blade{position:relative;flex:1 1 0px;height:60vh;background:var(--blade-bg);border:.5px solid var(--border);border-bottom:none;transition:flex-grow .9s var(--ease-expand),background-color .6s ease,border-color .6s ease;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;border-radius:4px 4px 0 0}.blade.is-active{flex-grow:4;background:var(--blade-hover);border-color:#ffffff4d}.blade-label{position:absolute;top:40px;left:50%;transform:translate(-50%) rotate(-90deg);transform-origin:center;white-space:nowrap;font-size:13px;font-weight:500;color:var(--fg);transition:opacity .24s ease,transform .6s var(--ease-expand);pointer-events:none}.blade.is-active .blade-label{opacity:0;transform:translate(-50%) rotate(-90deg) translateY(-20px)}.blade-content{opacity:0;transform:translateY(24px);padding:60px 40px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;transition:opacity .22s ease,transform .45s var(--ease-expand);pointer-events:none}.blade.is-active .blade-content{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .55s ease .18s,transform .75s var(--ease-expand) .14s}.post-meta{font-size:10px;font-family:inherit;color:var(--muted);margin-bottom:20px;display:flex;gap:20px}.post-title{font-size:24px;font-weight:600;margin-bottom:16px;line-height:1.2}.post-excerpt{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:30px;max-width:320px}.read-btn{display:inline-flex;align-items:center;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg);text-decoration:none;gap:8px}.read-btn svg{width:16px;height:16px;transition:transform .3s ease}.read-btn:hover svg{transform:translate(4px)}.liquid-footer{position:fixed;bottom:0;left:0;width:100%;height:120px;z-index:1;pointer-events:none}canvas{width:100%;height:100%}.nav-pill{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#141414cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:.5px solid var(--border);padding:8px 24px;border-radius:100px;display:flex;gap:24px;z-index:100}.nav-pill a{color:var(--muted);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;transition:color .3s ease}.nav-pill a:hover,.nav-pill a.active{color:var(--fg)}#cursor{width:8px;height:8px;background:#fff;border-radius:50%;position:fixed;pointer-events:none;z-index:999;mix-blend-mode:difference;transition:transform .1s ease;opacity:0}#cursor.visible{opacity:1}#cursor.expanded{transform:scale(4);background:#ffffff1a;border:.5px solid white}@media(min-width:701px)and (max-width:1000px){.blade-content{padding-bottom:110px}}@media(max-width:700px){body{height:auto;min-height:100svh;overflow-y:auto}header{padding:56px 24px 32px}.logo{margin-bottom:32px}h1{font-size:clamp(30px,8vw,38px);max-width:350px;margin-inline:auto}.subtitle{max-width:310px}.blade-container{flex:none;flex-direction:column;align-items:stretch;gap:16px;padding:0 20px 132px}.blade,.blade.is-active{flex:none;height:auto;min-height:0;border:.5px solid var(--border);border-radius:4px;background:var(--blade-bg);cursor:default;transition:none;scroll-margin-block:20px 120px}.blade-toggle{display:none}.blade-content,.blade.is-active .blade-content{height:auto;padding:28px 24px;opacity:1;transform:none;pointer-events:auto;transition:none}.post-meta{font-size:10px;gap:16px;flex-wrap:wrap;margin-bottom:18px}.post-title{font-size:24px;line-height:1.25}.post-title br{display:none}.post-excerpt{max-width:none;font-size:15px;line-height:1.65;margin-bottom:20px}.read-btn{min-height:44px;align-self:flex-start}.nav-pill{bottom:max(24px,env(safe-area-inset-bottom));padding:8px 20px;gap:24px}.nav-pill a{display:flex;align-items:center;min-height:28px}#cursor{display:none}}@media(prefers-reduced-motion:reduce){.read-btn svg,.nav-pill a{transition:none}#cursor{display:none}}:root{color-scheme:dark;--surface: #141414}body{height:auto}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{width:20px;height:20px;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--fg);outline-offset:5px}h1:focus{outline:none}.app,.route-view{min-height:100svh}.home .route-view{display:flex;flex-direction:column}.home-header{padding:64px 24px 32px}.home-header h1{font-size:clamp(24px,2.3vw,32px);line-height:1.55;max-width:960px;margin:0 auto 12px;overflow-wrap:anywhere;text-wrap:balance}.article-byline{max-width:760px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.9}.archive-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;min-height:44px;color:var(--muted);font-size:12px}.archive-link:hover{color:var(--fg)}.archive-link svg{width:16px;height:16px}.blade-container{min-height:380px}.blade{height:max(390px,57svh)}.blade-content{padding:70px 32px 130px}.blade-label{top:50%;transform:translate(-50%,-50%) rotate(-90deg);font-size:14px;letter-spacing:.05em}.blade.is-active .blade-label{transform:translate(-50%,-50%) rotate(-90deg) translateY(-20px)}.post-meta{font-family:inherit;font-size:11px;gap:18px;flex-wrap:wrap}.post-title{font-size:clamp(25px,2.4vw,34px);line-height:1.5;text-wrap:pretty}.post-excerpt{max-width:420px;line-height:1.9;font-size:14px}.read-btn{min-height:44px;align-self:flex-start;letter-spacing:.04em}.nav-pill{left:50vw;bottom:28px;padding:5px 16px;gap:14px}.nav-pill a{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:12px;letter-spacing:.06em}.liquid-footer{z-index:0;opacity:.8}.page-header{padding:64px 24px 56px;position:relative;z-index:1}.page-header h1{font-size:clamp(30px,3vw,42px);line-height:1.5}.page-shell{position:relative;z-index:2;width:min(1120px,calc(100% - 80px));margin:0 auto;padding-bottom:160px}.archive-tools{display:flex;justify-content:space-between;align-items:center;gap:24px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tabs button{border:0;border-radius:100px;min-height:44px;padding:0 20px;color:var(--muted);background:transparent;font-size:13px;transition:background-color .18s,color .18s}.filter-tabs button:hover{color:var(--fg)}.filter-tabs button.chosen{color:var(--fg);background:#222}.search{width:min(100%,300px)}.search input{display:block;width:100%;min-height:44px;border-radius:0;border:0;border-bottom:1px solid var(--border);background:transparent;padding:8px 12px;color:var(--fg);font-size:13px}.search input::placeholder{color:var(--muted)}.result-count{font-size:12px;color:var(--muted);margin:30px 0 6px}.post-row{display:grid;grid-template-columns:118px 1fr 44px;gap:32px;align-items:start;padding:32px 0;border-bottom:1px solid var(--border)}.post-row time{font-size:12px;color:var(--muted);line-height:26px;font-variant-numeric:tabular-nums}.row-tags{color:var(--muted);font-size:11px;line-height:1.9}.post-row h2{font-size:21px;font-weight:500;line-height:1.7;margin:8px 0 10px;overflow-wrap:anywhere}.post-row h2 a:hover,.project-heading a:hover{color:#bfbfbf}.row-excerpt{font-size:13px;line-height:1.9;max-width:710px;color:var(--muted)}.row-arrow{display:grid;place-items:center;width:44px;height:44px;margin-top:24px}.row-arrow svg{transition:transform .2s}.row-arrow:hover svg{transform:translate(4px)}.empty-state{padding-block:64px 160px;text-align:center;color:var(--muted)}.empty-state button{border:0;color:var(--fg);background:var(--surface);padding:12px 20px;margin-top:20px}.post-page .page-header{max-width:1000px;margin:0 auto;padding-bottom:40px}.post-page .page-header h1{font-size:clamp(27px,3vw,38px);line-height:1.6}.reader{max-width:760px}.reader-tags{font-size:12px;color:var(--muted);margin-bottom:38px}.prose{font-size:16px;line-height:2;color:#d8d8d8;overflow-wrap:anywhere}.prose>*+*{margin-top:24px}.prose h2{font-size:26px;margin-top:56px;color:var(--fg);font-weight:500}.prose h3{font-size:21px;margin-top:36px;color:var(--fg);font-weight:500}.prose h4{font-size:18px;margin-top:32px;color:var(--fg)}.prose strong{color:var(--fg)}.prose a{text-decoration:underline;text-underline-offset:4px}.prose blockquote{padding:12px 24px;background:var(--blade-bg);border-left:2px solid #777;color:#bcbcbc}.prose ul,.prose ol{padding-left:26px}.prose li+li{margin-top:8px}.prose pre{font-size:13px;background:#141414;padding:24px;line-height:1.8;overflow-x:auto;max-width:100%;border-radius:3px}.prose pre code{white-space:pre;padding:0;background:none}.prose code{font-family:Consolas,monospace;padding:2px 5px;border-radius:2px;background:#1a1a1a;font-size:.88em}.prose img{display:block;max-width:100%;height:auto;margin:28px auto}.prose table{display:block;overflow:auto;border-collapse:collapse;font-size:13px}.prose th,.prose td{padding:12px 16px;border:1px solid #333;min-width:90px;text-align:left}.prose hr{border:0;height:1px;background:var(--border);margin-block:40px}.prose .footnotes{font-size:13px;color:var(--muted)}.reader-footer{margin-top:80px;padding-top:32px;border-top:1px solid var(--border);display:flex;align-items:start;gap:20px;flex-direction:column;font-size:13px}.reader-footer>span,.reader-footer>a:last-child{color:var(--muted);font-size:12px}.reader-footer a{display:inline-flex;gap:12px;align-items:center;min-height:44px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}.project{min-width:0}.project-image{display:block;position:relative;overflow:hidden;background:var(--blade-bg)}.project-image img{width:100%;aspect-ratio:16 / 10;object-fit:contain;display:block;filter:grayscale(1);transition:filter .5s ease,transform .6s var(--ease-expand)}.project-image:hover img,.project-image:focus-visible img{filter:grayscale(0);transform:scale(1.025)}.project-image>span{position:absolute;right:16px;bottom:16px;padding:8px 12px;font-size:11px;background:#000;opacity:0;transition:opacity .2s}.project-image:hover>span,.project-image:focus-visible>span{opacity:1}.project-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:24px}.project-heading h2{font-weight:500;font-size:21px}.project>p{color:var(--muted);font-size:14px;line-height:1.9;margin:14px 0}.photo-grid{columns:3;column-gap:24px}.photo-tile{display:block;width:100%;break-inside:avoid;border:0;background:transparent;color:inherit;text-align:left;margin-bottom:30px}.photo-tile img{display:block;width:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s}.photo-tile:hover img,.photo-tile:focus-visible img{filter:grayscale(0)}.photo-tile>span{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:12px}.photo-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;color:var(--fg);background:#000000f5;padding:70px 70px 90px;overflow:auto}.photo-dialog::backdrop{background:#000}.photo-dialog[open]{display:flex;align-items:center;justify-content:center}.photo-dialog>img{display:block;max-width:100%;max-height:calc(100svh - 170px);object-fit:contain}.viewer-toolbar{position:absolute;inset:16px 24px auto;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.photo-dialog button{border:0;background:#111;color:var(--fg);min-width:44px;min-height:44px;padding:10px}.viewer-prev,.viewer-next{position:absolute;top:calc(50% - 22px)}.viewer-prev{left:12px}.viewer-next{right:12px}.viewer-caption{position:absolute;bottom:36px;left:60px;right:60px;color:var(--muted);font-size:12px;text-align:center}body:has(dialog[open]){overflow:hidden}.about-intro{display:flex;align-items:center;justify-content:center;gap:64px;padding:32px 0 72px}.about-intro img{width:140px;height:140px;filter:brightness(0) invert(1)}.about-copy{max-width:760px;margin:0 auto 56px;font-size:17px;line-height:1.9;overflow-wrap:anywhere}.about-copy>p+p{margin-top:20px}.about-stack{display:grid;gap:22px;margin-top:36px}.about-stack dt{color:var(--muted);font-size:13px;margin-bottom:6px}.about-stack dd{margin:0;font-size:16px}.about-copy .contact-links{margin-top:28px;gap:16px 32px}.about-chapter-empty{min-height:224px;background:var(--blade-bg)}.about-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px}.about-chapters>a{min-height:224px;position:relative;padding:32px 22px 60px;background:var(--blade-bg);transition:background .2s}.about-chapters>a:hover,.about-chapters>a[aria-current]{background:var(--surface)}.about-chapters>a>span{color:var(--muted);font-size:11px}.about-chapters h2{font-size:20px;font-weight:500;margin:32px 0 14px}.about-chapters p{font-size:12px;line-height:1.9;color:var(--muted)}.about-chapters svg{position:absolute;right:22px;bottom:22px;width:16px}.about-contact{margin-top:80px}.about-contact h2,.friends>h2{font-size:26px;font-weight:500;margin-bottom:28px}.contact-links{display:flex;gap:32px;flex-wrap:wrap}.contact-links a{color:var(--muted);font-size:14px;min-height:44px;display:inline-flex;align-items:center}.contact-links a:hover{color:var(--fg)}.friends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:72px}.friends>h2{grid-column:1 / -1;margin:0}.friends>a{padding:24px 0;border-top:1px solid var(--border)}.friends h3{font-size:18px;font-weight:500;display:flex;justify-content:space-between}.friends p{color:var(--muted);font-size:13px;line-height:1.9;margin:16px 0}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted);margin-bottom:24px}.mark-specimen{display:flex;align-items:center;flex-direction:column;gap:32px;padding:48px;margin-bottom:48px;background:#f3f3f3;color:#111}.mark-specimen img{width:min(260px,100%)}.mark-specimen a{color:#111}.type-specimen label{color:var(--muted);display:block;margin-bottom:20px;font-size:13px}.type-specimen textarea{display:block;width:100%;min-height:180px;padding:24px;background:var(--blade-bg);color:var(--fg);border:1px solid var(--border);resize:vertical;font-size:clamp(28px,4vw,50px);line-height:1.7}.type-specimen>p{font-size:clamp(16px,2.8vw,32px);line-height:2;padding:40px 0;overflow-wrap:anywhere}.palette-specimen{margin-bottom:56px}.swatches{display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;gap:12px}.swatches>div>div{aspect-ratio:1}.swatches span{display:block;margin-top:12px;color:var(--muted);font-size:12px}.about-photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}.about-photo-preview img{width:100%;aspect-ratio:3 / 4;object-fit:cover;filter:grayscale(1)}.about-photo-preview>a:last-child{grid-column:1 / -1}.motion-specimen{padding:48px 32px;background:var(--blade-bg);margin-bottom:56px}.motion-specimen p{font-size:24px;line-height:1.9;margin-bottom:24px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:16px;left:16px;padding:12px;background:#fff;color:#000;z-index:1000}@media(min-width:701px)and (max-width:1000px){.blade-content{padding:60px 24px 122px}.post-title{font-size:25px}.page-shell{width:calc(100% - 56px)}.post-row{grid-template-columns:95px 1fr 44px;gap:22px}.about-chapters{grid-template-columns:repeat(3,1fr)}.about-chapters>a:last-child{grid-column:span 2}.photo-grid{columns:2}}@media(max-width:700px){.home-header,.page-header{padding:48px 24px 36px}.home-header h1{font-size:22px;max-width:none}.home-header h1 .strike{font-size:23px}.page-header h1{font-size:29px;max-width:none}.article-byline{font-size:13px}.blade-container{min-height:0;gap:14px;padding-bottom:140px}.blade,.blade.is-active{height:auto}.blade-content,.blade.is-active .blade-content{padding:28px 24px}.post-title{font-size:23px;line-height:1.6}.post-meta{font-size:11px;gap:16px}.post-excerpt{font-size:14px;line-height:1.9}.nav-pill{bottom:max(20px,env(safe-area-inset-bottom));padding:5px 12px;gap:8px}.nav-pill a{min-height:44px}.page-shell{width:calc(100% - 40px);padding-bottom:140px}.archive-tools{flex-direction:column;align-items:stretch;gap:18px}.filter-tabs{gap:4px}.filter-tabs button{padding:0 17px}.search{width:100%}.result-count{margin-top:22px}.post-row{grid-template-columns:1fr 36px;gap:0 8px;padding:26px 0}.post-row time{grid-column:1 / -1;margin-bottom:10px}.post-row h2{font-size:19px;margin-top:6px}.post-row .row-tags{font-size:11px}.row-excerpt{font-size:13px}.row-arrow{width:36px;margin-top:12px}.post-page .page-header{padding:44px 20px 24px}.post-page .page-header h1{font-size:26px;line-height:1.65}.reader-tags{margin-bottom:24px;font-size:11px}.prose{font-size:15px;line-height:2}.prose h2{font-size:23px;margin-top:40px}.prose h3{font-size:19px}.prose pre{padding:18px;font-size:12px}.prose blockquote{padding:10px 18px}.project-grid{grid-template-columns:1fr;gap:44px}.project-heading h2{font-size:20px}.project-image>span{opacity:1}.photo-grid{columns:2;column-gap:12px}.photo-tile{margin-bottom:20px}.photo-tile>span{font-size:10px;padding-top:8px}.photo-dialog{padding:74px 8px 120px}.photo-dialog>img{max-height:calc(100svh - 210px)}.viewer-prev,.viewer-next{top:auto;bottom:66px}.viewer-prev{left:24px}.viewer-next{right:24px}.viewer-toolbar{left:20px;right:20px}.viewer-caption{bottom:22px;left:20px;right:20px}.about-intro{flex-direction:column;gap:24px;padding:12px 0 48px}.about-intro img{width:110px;height:110px}.about-chapters{grid-template-columns:1fr;gap:10px}.about-chapters>a{padding:24px}.about-chapters h2{margin:14px 0 8px}.about-chapters p{padding-right:32px}.about-contact{margin-top:56px}.about-contact h2,.friends>h2{font-size:23px}.contact-links{gap:8px 24px}.friends{grid-template-columns:1fr;gap:16px;margin-top:48px}.friends>h2{margin-bottom:8px}.mark-specimen{padding:32px}.swatches{gap:8px}.swatches span{font-size:10px}.about-photo-preview{gap:10px}.motion-specimen{padding:28px 20px}.motion-specimen p{font-size:19px}}@media(prefers-reduced-motion:reduce){.project-image img,.project-image>span,.photo-tile img,.row-arrow svg,.filter-tabs button,.about-chapters>a{transition:none}}@media(max-width:700px){.about-copy{font-size:16px;margin-bottom:40px}.about-chapters>a{min-height:180px}.about-chapter-empty{min-height:180px}}.reader-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(210px,250px);grid-template-areas:"article contents";gap:0 64px;align-items:start}.reader-layout.no-outline{display:block;max-width:760px}.reader-layout>.reader{grid-area:article;width:100%;min-width:0;max-width:none}.article-contents{grid-area:contents;position:sticky;top:32px;min-width:0;color:var(--muted)}.article-contents details{background:var(--blade-bg);padding:8px 20px 20px;border-radius:4px}.article-contents summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:52px;color:var(--fg);font-size:14px;list-style:none}.article-contents summary::-webkit-details-marker{display:none}.article-contents summary:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.toc-summary-meta{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.toc-summary-meta svg{width:16px;height:16px;transition:transform .18s ease}.article-contents details[open] .toc-summary-meta svg{transform:rotate(180deg)}.toc-links{max-height:calc(100svh - 210px);overflow-y:auto;padding:2px 3px;scrollbar-width:thin;scrollbar-color:#333 transparent}.toc-links ul{list-style:none;padding:0;margin:0}.toc-links ul ul{padding-left:14px}.toc-links a{display:block;padding:9px 0;font-size:13px;line-height:1.7;overflow-wrap:anywhere;transition:color .18s ease}.toc-links a:hover,.toc-links a[aria-current=location]{color:var(--fg)}.toc-links a[aria-current=location]{font-weight:600}.prose [data-article-heading]{scroll-margin-top:88px}.prose [data-article-heading]:focus{outline:none}.prose h5,.prose h6{font-size:17px;margin-top:30px;color:var(--fg)}.code-block{min-width:0;background:var(--surface);border-radius:3px;overflow:hidden}.code-toolbar{display:flex;align-items:center;gap:14px;padding:4px 14px 0 24px;min-height:44px;color:var(--muted);font-size:12px}.code-toolbar>span[role=status]{margin-left:auto;font-size:11px}.code-toolbar button{flex-shrink:0;border:0;background:transparent;color:var(--fg);min-width:44px;min-height:44px;font-size:12px}.code-block pre{border-radius:0;padding-top:12px;margin:0}.article-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:64px}.article-pagination>a,.article-pagination>div{display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--blade-bg);border-radius:3px}.article-pagination>a:hover{background:var(--surface)}.article-pagination span{font-size:12px;color:var(--muted)}.article-pagination strong{font-size:15px;font-weight:500;line-height:1.8;overflow-wrap:anywhere}.article-pagination [aria-disabled] strong{color:var(--muted);font-size:14px}.article-pagination>:last-child{text-align:right}.reader-end{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;color:var(--muted);font-size:12px}.reader-end a,.reader-end button{display:inline-flex;align-items:center;min-height:44px}.reader-end button{color:inherit;background:transparent;border:0}.reader-end a:hover,.reader-end button:hover{color:var(--fg)}@media(max-width:1100px){.reader-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"contents" "article";gap:32px;max-width:760px}.article-contents{position:static}.article-contents details{padding:0 20px}.article-contents details[open]{padding-bottom:16px}.article-contents summary{min-height:56px}.toc-links{max-height:45svh}.toc-links a{min-height:44px;padding:10px 0}}@media(max-width:700px){.reader-layout{gap:28px}.reader-layout>.reader{padding-bottom:0}.reader-tags{margin-bottom:24px}.article-pagination{gap:12px;margin-top:48px}.article-pagination>a,.article-pagination>div{padding:18px 16px}.article-pagination strong{font-size:14px}.code-toolbar{padding-left:18px}.code-toolbar>span[role=status]{max-width:150px}}@media(prefers-reduced-motion:reduce){.toc-summary-meta svg,.toc-links a{transition:none}}.article-mode{--article-ground: #0a0a09;--article-ink: #cec8b8;--article-text: #bbb6a7;--article-muted: #969184;--article-line: #292822;--article-serif: Georgia, "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--article-gutter: clamp(24px, 4vw, 68px);--article-gap: clamp(32px, 4vw, 68px);--article-measure: clamp(600px, 42vw, 720px);--fg: var(--article-ink);--muted: var(--article-muted);background:var(--article-ground);color:var(--article-ink)}body:has(.article-mode){background:#0a0a09}.article-mode .ambient-glow,.article-mode .liquid-footer,.article-mode #cursor{display:none}.editorial-shell{margin-inline:var(--article-gutter);border-inline:1px solid var(--article-line);padding-top:178px;min-height:100svh}.editorial-title{width:var(--article-measure);max-width:calc(100% - 48px);margin:0 auto 100px;padding:0;text-align:left;position:relative;z-index:1}.editorial-title h1{margin:0;font-family:var(--article-serif);font-weight:400;color:var(--article-ink);font-size:clamp(38px,3.8vw,64px);line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:pretty}.article-mode .reader-layout,.article-mode .reader-layout.no-outline{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,var(--article-measure)) minmax(140px,1fr);grid-template-areas:"information article contents";gap:0 var(--article-gap);align-items:start;width:100%;max-width:none;margin:0;padding:0;position:relative}.article-information{grid-area:information;position:sticky;top:160px;padding-right:16px}.article-back{display:inline-flex;align-items:center;min-height:44px;color:var(--article-muted);font-size:12px;margin:-10px 0 34px}.article-back:hover{color:var(--article-ink)}.article-information dl{margin:0}.article-information dl>div+div{margin-top:40px}.article-information dt{font-size:11px;letter-spacing:.18em;color:var(--article-muted);line-height:1.8;margin-bottom:12px}.article-information dd{margin:0;font-size:20px;line-height:1.7;font-weight:400;overflow-wrap:anywhere}.article-information dd.article-topics{color:var(--article-muted);font-size:12px;max-width:190px;line-height:2}.article-mode .reader{margin:0;padding:0;width:100%;min-width:0}.article-mode .prose{color:var(--article-text);font-size:clamp(18px,1.42vw,24px);font-weight:300;line-height:1.85;letter-spacing:.005em}.article-mode .prose>*+*{margin-top:36px}.article-mode .prose>:first-child{margin-top:0}.article-mode .prose p{text-align:justify;text-justify:inter-ideograph}.article-mode .prose h2,.article-mode .prose h3,.article-mode .prose h4,.article-mode .prose h5,.article-mode .prose h6{color:var(--article-ink);font-family:var(--article-serif);font-weight:400;letter-spacing:-.02em;line-height:1.5;text-wrap:pretty}.article-mode .prose h2{font-size:clamp(32px,2.9vw,50px);margin-top:116px;margin-bottom:48px}.article-mode .prose h3{font-size:clamp(26px,2vw,34px);margin-top:80px;margin-bottom:32px}.article-mode .prose h4{font-size:25px;margin-top:60px;margin-bottom:28px}.article-mode .prose h5,.article-mode .prose h6{font-size:22px;margin-top:48px;margin-bottom:24px}.article-mode .prose h2:first-child{margin-top:0}.article-mode .prose strong{color:var(--article-ink);font-weight:600}.article-mode .prose a{color:var(--article-ink);text-decoration-thickness:1px;text-decoration-color:#777163;text-underline-offset:5px}.article-mode .prose ul,.article-mode .prose ol{padding-left:1.4em}.article-mode .prose li+li{margin-top:14px}.article-mode .prose blockquote{border-left-color:#777163;background:transparent;padding:0 0 0 28px;color:var(--article-text)}.article-mode .prose img{margin-block:48px}.article-mode .prose hr{margin-block:64px;background:var(--article-line)}.article-mode .prose pre,.article-mode .code-block{background:#121210;color:var(--article-ink);border-radius:0}.article-mode .prose pre{font-size:14px;line-height:1.9;padding:16px 24px 28px}.article-mode .prose code{background:#1a1915;color:var(--article-ink)}.article-mode .prose pre code{background:none;color:inherit}.article-mode .code-toolbar{color:var(--article-muted)}.article-mode .code-toolbar button{color:var(--article-ink)}.article-mode .prose th,.article-mode .prose td{border-color:var(--article-line)}.article-mode .prose table{font-size:14px;line-height:1.8}.article-mode .article-contents{top:140px;padding-left:12px;width:100%;max-width:220px;justify-self:end;color:var(--article-muted)}.article-mode .article-contents details{padding:0;background:transparent;border-radius:0}.article-mode .article-contents summary{font-size:13px;min-height:44px;margin-bottom:20px;color:var(--article-ink)}.article-mode .toc-summary-meta{color:var(--article-muted)}.article-mode .toc-links{max-height:calc(100svh - 240px);padding:0 4px 0 0;scrollbar-color:var(--article-line) transparent}.article-mode .toc-links a{color:var(--article-muted);font-size:12px;padding-block:9px}.article-mode .toc-links a:hover,.article-mode .toc-links a[aria-current]{color:var(--article-ink)}.article-mode .prose [data-article-heading]{scroll-margin-top:132px}.article-mode .article-pagination{margin-top:112px;gap:40px}.article-mode .article-pagination>a,.article-mode .article-pagination>div{padding:26px 0;border-radius:0;background:transparent;border-top:1px solid var(--article-line)}.article-mode .article-pagination strong{font-family:var(--article-serif);font-size:18px;font-weight:400}.article-mode .article-pagination span,.article-mode .article-pagination [aria-disabled] strong{color:var(--article-muted);font-size:12px}.article-mode .article-pagination>a:hover strong{color:#f0e9d6}.article-mode .reader-end{color:var(--article-muted);margin-top:24px}.selected-readings{margin-top:160px;padding:112px 0 160px;border-top:1px solid var(--article-line)}.selected-readings>header{display:flex;align-items:baseline;justify-content:space-between;gap:32px;padding:0;text-align:left;margin-bottom:80px}.selected-readings h2{font-family:var(--article-serif);font-size:clamp(36px,3.7vw,64px);font-weight:400;line-height:1.4;letter-spacing:-.025em}.selected-readings>header>a{font-size:11px;letter-spacing:.14em;color:var(--article-muted);display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:6px}.selected-readings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.selected-reading{display:block;padding:72px 40px;min-width:0;min-height:260px}.selected-reading+.selected-reading{border-left:1px solid var(--article-line)}.selected-reading time{display:block;color:var(--article-muted);font-size:11px;letter-spacing:.1em;margin-bottom:32px;font-variant-numeric:tabular-nums}.selected-reading h3{color:var(--article-ink);font-family:var(--article-serif);font-size:clamp(23px,1.8vw,32px);font-weight:400;line-height:1.6;overflow-wrap:anywhere}.selected-reading:hover h3{color:#f0e9d6}@media(max-width:1100px){.article-mode{--article-measure: min(100%, 700px);--article-gutter: 36px}.editorial-shell{padding:144px 28px 0}.editorial-title{max-width:100%;margin-bottom:64px}.editorial-title h1{font-size:46px}.article-mode .reader-layout,.article-mode .reader-layout.no-outline{grid-template-columns:minmax(0,1fr);grid-template-areas:"information" "contents" "article";gap:32px;max-width:700px;margin-inline:auto}.article-information{position:static;padding:0}.article-back{margin:0 0 24px}.article-information dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.article-information dl>div+div{margin:0}.article-information dl>div:last-child{grid-column:1 / -1}.article-information dt{font-size:11px;margin-bottom:6px}.article-information dd{font-size:16px}.article-information dd.article-topics{max-width:none}.article-mode .article-contents{position:static;max-width:none;padding:0}.article-mode .article-contents summary{margin:0;min-height:54px}.article-mode .toc-links{max-height:40svh;padding-bottom:20px}.article-mode .toc-links a{font-size:13px;min-height:44px}.article-mode .prose{font-size:20px;line-height:1.9}.article-mode .prose h2{font-size:36px;margin-top:88px;margin-bottom:36px}.selected-readings{margin-inline:-28px;margin-top:112px;padding:72px 28px 100px}.selected-readings>header{margin-bottom:48px}.selected-reading{padding:36px 24px;min-height:220px}}@media(max-width:700px){.article-mode{--article-gutter: 18px}.editorial-shell{padding:116px 18px 0}.editorial-title{margin-bottom:40px}.editorial-title h1{font-size:34px;line-height:1.5}.article-mode .reader-layout,.article-mode .reader-layout.no-outline{gap:28px}.article-information dl{gap:22px 12px}.article-information dd{font-size:13px;line-height:1.8}.article-information dt{font-size:10px;letter-spacing:.12em}.article-back{font-size:12px;margin-bottom:20px}.article-mode .prose{font-size:16px;line-height:2}.article-mode .prose>*+*{margin-top:28px}.article-mode .prose h2{font-size:30px;margin-top:72px;margin-bottom:30px}.article-mode .prose h3{font-size:25px;margin-top:56px;margin-bottom:24px}.article-mode .prose h4{font-size:22px;margin-top:40px}.article-mode .prose pre{font-size:12px;padding:12px 18px 22px}.article-mode .prose blockquote{padding-left:18px}.article-mode .article-pagination{margin-top:72px;gap:22px}.article-mode .article-pagination strong{font-size:16px}.selected-readings{margin:88px -18px 0;padding:64px 18px 80px}.selected-readings>header{margin-bottom:36px;gap:12px}.selected-readings h2{font-size:34px}.selected-readings>header>a{font-size:10px}.selected-readings-grid{grid-template-columns:1fr}.selected-reading{padding:32px 0;min-height:0}.selected-reading+.selected-reading{border-left:0;border-top:1px solid var(--article-line)}.selected-reading time{margin-bottom:16px}.selected-reading h3{font-size:24px}}.archive-mode{--archive-serif: Georgia, "Noto Serif SC", "Songti SC", "SimSun", serif;position:relative;background:var(--bg);color:var(--fg)}.archive-mode .ambient-glow,.archive-mode .liquid-footer,.archive-mode #cursor{display:none}.archive-heading{position:absolute;z-index:1;top:28px;left:50px;margin:0;padding:0;text-align:left}.archive-heading h1{margin:0;font-family:var(--archive-serif);font-size:32px;line-height:1.4;font-weight:600;letter-spacing:-.03em}.archive-shell{width:min(1168px,calc(100% - 96px));margin:0 auto;padding:152px 0 96px}.archive-mode .archive-tools{gap:32px}.archive-mode .filter-tabs{margin-left:-12px}.archive-mode .filter-tabs button{border-radius:0;background:transparent;padding:0 12px;font-size:12px}.archive-mode .filter-tabs button.chosen{text-decoration:underline;text-underline-offset:8px}.archive-mode .search{max-width:290px}.archive-mode .search input{padding-inline:0;font-size:12px}.archive-mode .result-count{margin:28px 0 20px;font-size:11px}.archive-row{margin:0;border-bottom:1px solid var(--border)}.archive-entry{position:relative;display:grid;grid-template-columns:25% minmax(0,1fr) 22%;align-items:center;min-height:248px;padding:56px 0;color:inherit;transition:background-color .2s ease}.archive-entry>*{min-width:0;transition:transform .24s cubic-bezier(.22,1,.36,1)}.archive-entry time{font-size:14px;line-height:1.8;font-variant-numeric:tabular-nums;color:var(--muted)}.archive-entry h2{font-family:var(--archive-serif);font-size:clamp(28px,2.4vw,42px);font-weight:600;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:pretty}.archive-entry-category{justify-self:end;max-width:100%;padding-left:28px;font-size:12px;line-height:1.8;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-align:right;overflow-wrap:anywhere}.archive-entry:hover,.archive-entry:focus-visible{background:var(--blade-bg)}.archive-entry:hover time,.archive-entry:focus-visible time{transform:translate(24px)}.archive-entry:hover h2,.archive-entry:focus-visible h2{transform:translate(16px)}.archive-entry:focus-visible{outline-offset:5px}.archive-cursor-line{position:fixed;top:0;left:0;right:0;height:1px;z-index:120;background:#ffffff2b;pointer-events:none;transform:translate3d(0,var(--pointer-y,-10px),0);opacity:0}.archive-cursor-line[data-visible=true]{opacity:1}@media(max-width:1100px)and (min-width:701px){.archive-heading{left:32px}.archive-shell{width:calc(100% - 64px)}.archive-entry{grid-template-columns:19% minmax(0,1fr) 20%;min-height:220px;padding-block:48px}.archive-entry h2{font-size:32px}.archive-entry time{font-size:12px}.archive-entry-category{font-size:11px;padding-left:24px;letter-spacing:.08em}.archive-entry:hover time,.archive-entry:focus-visible time{transform:translate(14px)}.archive-entry:hover h2,.archive-entry:focus-visible h2{transform:translate(10px)}}@media(max-width:700px){.archive-heading{top:25px;left:20px}.archive-heading h1{font-size:24px}.archive-shell{width:calc(100% - 40px);padding:116px 0 140px}.archive-mode .archive-tools{gap:16px}.archive-mode .search{max-width:none}.archive-mode .result-count{margin-top:24px}.archive-entry{grid-template-columns:1fr auto;grid-template-areas:"date category" "title title";gap:24px 16px;min-height:208px;padding:32px 0}.archive-entry time{grid-area:date;font-size:12px}.archive-entry h2{grid-area:title;font-size:29px;line-height:1.5}.archive-entry-category{grid-area:category;font-size:10px;padding:0;max-width:180px;letter-spacing:.08em}.archive-entry:hover time,.archive-entry:focus-visible time{transform:translate(8px)}.archive-entry:hover h2,.archive-entry:focus-visible h2{transform:translate(8px)}.archive-cursor-line{display:none}}@media(max-width:360px){.archive-heading{left:16px;top:29px}.archive-heading h1{font-size:20px}.archive-entry h2{font-size:27px}}@media(hover:none),(pointer:coarse){.archive-cursor-line{display:none}}@media(prefers-reduced-motion:reduce){.archive-entry,.archive-entry>*{transition:none}.archive-entry:hover time,.archive-entry:hover h2,.archive-entry:focus-visible time,.archive-entry:focus-visible h2{transform:none}}.photo-canvas{--canvas-gutter: 64px;--canvas-gap: 32px;padding:0 var(--canvas-gutter) 160px;position:relative;z-index:2;background:var(--bg)}.photo-canvas-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 40px;color:var(--muted);font-size:12px}.free-canvas-board{position:relative;overflow:hidden;padding:12px 0 48px;user-select:none;-webkit-user-select:none}.free-canvas-rows{position:relative;display:flex;flex-direction:column;isolation:isolate}.free-canvas-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:var(--canvas-gap);position:relative;pointer-events:none}.free-canvas-row:before{content:"";grid-column:1 / -1;grid-row:1;width:calc((100% - 7 * var(--canvas-gap)) / 8);aspect-ratio:calc(1 / var(--row-ratio))}.free-canvas-row:not(:first-child){margin-top:calc((100% - 7 * var(--canvas-gap)) / 8 * var(--row-ratio) * -.5)}.canvas-photo{display:block;grid-column:var(--photo-column) / span 1;grid-row:1;position:relative;min-width:0;width:100%;aspect-ratio:calc(1 / var(--row-ratio));padding:0;border:0;background:transparent;color:var(--fg);cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;scroll-margin-block:40px 140px}.canvas-photo.is-dragging,.free-canvas-board.is-moving .canvas-photo{cursor:grabbing}.canvas-photo-frame{display:block;width:100%;height:100%;overflow:hidden}.canvas-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:filter .45s ease,transform .5s cubic-bezier(.215,.61,.355,1)}.canvas-photo:hover img,.canvas-photo:focus-visible img{filter:grayscale(0);transform:scale(1.15)}.canvas-photo:focus-visible{outline:2px solid var(--fg);outline-offset:5px}.photo-canvas-reset{position:fixed;left:64px;bottom:32px;z-index:200;padding:8px 18px;min-height:44px;border:1px solid var(--border);border-radius:100px;background:#141414;color:var(--fg);font-size:12px}.photo-mode .ambient-glow,.photo-mode .liquid-footer,.photo-mode #cursor{display:none}@media(max-width:900px){.photo-canvas{--canvas-gutter: 24px;--canvas-gap: 19px;padding-bottom:140px}.photo-canvas-tools{padding-bottom:28px;gap:16px;font-size:11px}.free-canvas-row{grid-template-columns:repeat(3,minmax(0,1fr))}.free-canvas-row:before{width:calc((100% - 2 * var(--canvas-gap)) / 3)}.free-canvas-row:not(:first-child){margin-top:calc((100% - 2 * var(--canvas-gap)) / 3 * var(--row-ratio) * -.5)}.canvas-photo{cursor:pointer;touch-action:auto}}@media(prefers-reduced-motion:reduce){.canvas-photo img{transition:none}.canvas-photo:hover img,.canvas-photo:focus-visible img{transform:none}}.project-board-shell{position:relative;z-index:2;width:100%;margin:0 auto;padding:40px 48px 260px;overflow:clip}.project-board{position:relative;isolation:isolate;display:grid;max-width:1600px;margin:0 auto;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(10,minmax(68px,auto))}.project-board-cell{--line-x: 96px;--line-y: 56px;position:relative;min-width:0;border:1px solid #353535;margin:-.5px}.project-board-cell:before,.project-board-cell:after{content:"";position:absolute;z-index:0;pointer-events:none;border:0 solid #353535}.project-board-cell:before{inset:-1px calc(-1 * var(--line-x));border-block-width:1px}.project-board-cell:after{inset:calc(-1 * var(--line-y)) -1px;border-inline-width:1px}.project-board-cell:nth-child(3n){--line-x: 160px;--line-y: 88px}.project-board-cell:nth-child(3n+2){--line-x: 64px;--line-y: 40px}.project-board-cell:nth-child(1){grid-area:1 / 1 / 5 / 6}.project-board-cell:nth-child(2){grid-area:1 / 6 / 3 / 10}.project-board-cell:nth-child(3){grid-area:1 / 10 / 6 / 15}.project-board-cell:nth-child(4){grid-area:1 / 15 / 3 / 21}.project-board-cell:nth-child(5){grid-area:3 / 6 / 5 / 10}.project-board-cell:nth-child(6){grid-area:3 / 15 / 7 / 21}.project-board-cell:nth-child(7){grid-area:5 / 1 / 9 / 4}.project-board-cell:nth-child(8){grid-area:5 / 4 / 9 / 10}.project-board-cell:nth-child(9){grid-area:6 / 10 / 9 / 15}.project-board-cell:nth-child(10){grid-area:7 / 15 / 11 / 21}.project-board-cell:nth-child(11){grid-area:9 / 1 / 11 / 7}.project-board-cell:nth-child(12){grid-area:9 / 7 / 11 / 15}.project-board-link{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:20px 22px;background:var(--bg);outline:1px solid #353535;transition:background-color .2s ease}.project-board-link:hover{background:#0d0d0d}.project-board-link:focus-visible{outline-offset:-6px}.project-board-media{display:flex;align-items:center;justify-content:center;flex:1;min-height:64px;margin-bottom:16px}.project-board-media img{display:block;width:100%;max-width:210px;height:74px;object-fit:contain;filter:grayscale(1);transition:filter .45s ease,transform .45s ease}.project-board-link:hover img,.project-board-link:focus-visible img{filter:grayscale(0);transform:translateY(-4px)}.project-board-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.project-board-heading h2{font-size:clamp(17px,1.35vw,20px);font-weight:500;line-height:1.5;text-wrap:balance;overflow-wrap:anywhere}.project-board-heading>span{font-size:18px;transition:transform .2s ease}.project-board-link:hover .project-board-heading>span{transform:translate(3px,-3px)}.project-board-link>p{color:#aaa;font-size:12px;line-height:1.8;margin:8px 0 14px}.project-board-tags{color:var(--muted);font-size:11px;line-height:1.6}@media(min-width:701px)and (max-width:1000px){.project-board-shell{padding-inline:24px}.project-board{grid-template-rows:repeat(10,minmax(78px,auto))}.project-board-link{padding:18px 14px}.project-board-media img{height:64px}}@media(max-width:700px){.project-board-shell{padding:28px 16px 200px}.project-board-cell:nth-child(n){--line-x: 28px;--line-y: 24px}.project-board{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(42px,auto)}.project-board-cell:nth-child(n){grid-area:auto / auto / span 2 / span 3}.project-board-cell.is-empty:nth-child(3n+1){grid-column:span 2;grid-row:span 3}.project-board-cell.is-empty:nth-child(3n+2){grid-column:span 4}.project-board-cell:not(.is-empty){grid-row:span 7}.project-board-link{padding:18px 14px}.project-board-media{min-height:56px;margin-bottom:16px}.project-board-media img{height:62px}.project-board-heading{gap:8px}.project-board-heading h2{font-size:17px}.project-board-heading>span{font-size:16px}}@media(prefers-reduced-motion:reduce){.project-board-link,.project-board-media img,.project-board-heading>span{transition:none}.project-board-link:hover img,.project-board-link:focus-visible img,.project-board-link:hover .project-board-heading>span{transform:none}}.home .blade-content,.home .blade.is-active .blade-content{position:relative;width:var(--blade-content-width, 100%);flex-shrink:0;opacity:1;transform:none;transition:none;pointer-events:none}.home .post-title{position:relative}.blade-title-text{display:block;width:max-content;max-width:100%;transform-origin:50% 50%;will-change:transform;pointer-events:none}.home .blade-content>:not(.post-title){opacity:0;transform:translateY(18px);transition:opacity .18s ease,transform .35s var(--ease-expand)}.home .blade.is-active .blade-content>:not(.post-title){opacity:1;transform:translateY(0);transition:opacity .52s ease .18s,transform .65s var(--ease-expand) .14s}.home .blade.is-active .read-btn{pointer-events:auto}@media(max-width:700px){.home .blade-content,.home .blade.is-active .blade-content{width:100%;pointer-events:auto}.home .blade-content>:not(.post-title),.home .blade.is-active .blade-content>:not(.post-title){opacity:1;transform:none;transition:none}.blade-title-text{transform:none!important;will-change:auto}}@media(prefers-reduced-motion:reduce){.home .blade{transition:none}.home .blade-content>:not(.post-title),.home .blade.is-active .blade-content>:not(.post-title){transition:none}.blade-title-text{will-change:auto}}.play-room{margin:0 auto 64px;width:100%}.play-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 24px}.play-toolbar>p{color:var(--muted);font-size:15px;line-height:1.6}.play-text-button,.play-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:10px 16px;border:0;font:inherit;font-size:14px;cursor:pointer}.play-text-button{background:transparent;color:var(--fg)}.play-text-button:hover{background:var(--blade-bg)}.play-text-button:disabled{opacity:.55;cursor:default}.play-primary-button{background:#ebebe4;color:#171914;padding-inline:24px}.play-primary-button:hover{background:#fff}.play-primary-button:active{transform:translateY(2px)}.play-room button:focus-visible,.play-room a:focus-visible,.play-dialog button:focus-visible,.play-dialog a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.desk-surface{position:relative;min-height:480px;height:min(61svh,570px);background:#151714;overflow:hidden;isolation:isolate}.desk-corner-note{position:absolute;left:28px;bottom:22px;color:#7c8276;font-size:13px;pointer-events:none}.desk-object{position:absolute;left:0;top:0;width:190px;z-index:1}.desk-object-computer{width:clamp(220px,24vw,285px)}.desk-object-camera{width:clamp(155px,16vw,200px)}.desk-object-notebook{width:clamp(155px,16vw,195px)}.desk-object-cup{width:clamp(120px,13vw,160px)}.desk-object-button{display:block;width:100%;border:0;padding:6px;background:transparent;color:#c0c4b9;font:inherit;touch-action:none;user-select:none;-webkit-user-select:none}.desk-object-drawing{display:block;transition:filter .16s ease}.desk-object-drawing svg{width:100%;height:auto;display:block;overflow:visible}.desk-object-computer .desk-object-drawing{transform:rotate(-7deg)}.desk-object-camera .desk-object-drawing{transform:rotate(11deg)}.desk-object-notebook .desk-object-drawing{transform:rotate(-11deg)}.desk-object-cup .desk-object-drawing{transform:rotate(9deg)}.desk-screen-image{filter:grayscale(1)}.desk-object-button:hover .desk-screen-image,.desk-object-button:focus-visible .desk-screen-image{filter:none}.desk-object-label{display:inline-block;margin-top:14px;padding:3px 8px;font-size:13px;line-height:1.5;background:#151714}.desk-object-button:hover,.desk-object-button:focus-visible{color:#fff}.desk-steam{opacity:0}.desk-below,.drop-below{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:18px 0 0}.desk-below>p,.drop-below>p{color:var(--muted);font-size:13px;line-height:1.8;min-height:24px}.desk-placement{color:var(--muted);font-size:13px;flex-shrink:0}.desk-placement summary,.drop-pocket summary{min-height:44px;display:flex;align-items:center;cursor:pointer;list-style-position:inside}.desk-placement summary:before,.drop-pocket summary:before{content:"+";margin-right:12px}.desk-placement[open] summary:before,.drop-pocket[open] summary:before{content:"−"}.desk-placement-tools{padding:12px 0 8px}.desk-placement-tools label{display:flex;align-items:center;gap:10px}.desk-placement select{min-height:44px;flex:1;padding:8px 14px;font:inherit;color:var(--fg);background:#191919;border:1px solid #444}.desk-nudge{display:flex;gap:6px;margin-top:10px}.desk-nudge button{width:44px;height:44px;border:0;background:#222;color:#fff;font-size:18px}.play-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100svh - 48px);margin:auto;overflow:auto;overscroll-behavior:contain;padding:32px;background:#161715;color:#f3f3ed;border:1px solid #41433e}.play-dialog::backdrop{background:#000000c7}.play-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.play-dialog-heading h2{font-size:24px;font-weight:500;line-height:1.4}.play-dialog-heading button{min-width:60px;min-height:44px;padding:8px;border:0;background:transparent;color:#b9bcb2;font-size:14px}.desk-projects{display:flex;flex-direction:column;gap:28px}.desk-projects a{display:flex;align-items:start;gap:24px;min-width:0}.desk-projects img{width:100px;height:90px;object-fit:cover;flex-shrink:0;filter:grayscale(1)}.desk-projects a:hover img,.desk-projects a:focus-visible img{filter:none}.desk-projects h3{font-size:18px;line-height:1.5;font-weight:500;margin-bottom:8px}.desk-projects p{font-size:14px;color:#a8ada0;line-height:1.7}.play-inline-link{display:inline-flex;align-items:center;min-height:44px;margin-top:28px;font-size:14px}.desk-photo{margin:0}.desk-photo>img{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain}.desk-photo figcaption{margin-top:16px;font-size:13px;color:#a8ada0;line-height:1.6}.play-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.play-dialog-actions button,.play-dialog-actions a{min-height:44px;display:inline-flex;align-items:center;border:0;color:inherit;background:transparent;font:inherit;font-size:14px}.desk-note label{font-size:16px;line-height:1.6}.desk-note textarea{display:block;width:100%;min-height:230px;resize:vertical;margin-top:20px;padding:24px;border:0;border-radius:0;background:#e9e9df;color:#30332b;font:inherit;font-size:19px;line-height:1.9}.desk-note>p{color:#a8ada0;font-size:13px;margin-top:14px}.drop-stage{min-height:510px;padding:64px 24px;display:grid;place-items:center;background:#111310;overflow:hidden}.drop-before{text-align:center}.drop-before svg{display:block;width:180px;height:auto;margin:0 auto 32px}.drop-before h2{font-size:24px;font-weight:400;margin-bottom:16px}.drop-before p{font-size:15px;color:#a3a99a}.drop-card{width:min(460px,calc(100% - 24px));padding:36px;background:#eaeae1;color:#23271f;transform-origin:50% 70%}.drop-card h2{font-size:clamp(22px,2.2vw,28px);line-height:1.5;font-weight:500;margin-bottom:24px}.drop-card>p,.drop-card blockquote{font-size:18px;line-height:1.9;margin:0}.drop-card .drop-equation{font-size:14px;color:#626954;margin-top:28px}.drop-source{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:24px}.drop-card-photo{padding:14px 14px 22px;max-width:370px}.drop-photo{display:block;width:100%;padding:0;border:0;background:#d4d7c9}.drop-photo img{display:block;width:100%;max-height:340px;object-fit:contain;filter:grayscale(1)}.drop-photo:hover img,.drop-photo:focus-visible img{filter:none}.drop-photo-caption{padding:18px 8px 0}.drop-photo-caption h2{font-size:17px;margin-bottom:6px}.drop-photo-caption a{display:inline-flex;align-items:center;font-size:12px;min-height:32px;color:#626954}.drop-card-empty{text-align:center;color:#c5cbbb;background:transparent}.drop-air{font-size:72px;display:block;color:#8b967d;margin-bottom:18px}.drop-card-empty h2{font-size:26px}.drop-card-empty>p{font-size:16px;color:#939e86}.drop-below{align-items:center;min-height:62px}.drop-below>p{margin:0}.drop-pocket{margin-top:30px;padding:20px 0 0}.drop-pocket>summary{font-size:20px}.drop-pocket>summary>span{color:var(--muted)}.pocket-local-note,.pocket-empty{font-size:13px;color:var(--muted);line-height:1.8;margin-top:10px}.drop-pocket ul{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drop-pocket li{min-width:0;background:#141613;display:flex;align-items:stretch}.pocket-open{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding:16px;color:#d9ddcf;border:0;background:transparent;text-align:left;font:inherit;font-size:14px;line-height:1.5}.pocket-open img{width:42px;height:48px;object-fit:cover}.pocket-open>span:first-of-type{flex:1}.pocket-remove{flex-shrink:0;width:44px;min-height:44px;color:#b3bba7;background:transparent;border:0;font-size:20px}@media(max-width:700px){.play-toolbar{gap:12px;align-items:flex-start}.play-toolbar>p{font-size:13px;max-width:160px}.play-text-button,.play-primary-button{flex-shrink:0;font-size:13px;gap:10px;padding-inline:12px}.desk-surface{height:500px;min-height:500px}.desk-object-computer{width:155px}.desk-object-camera{width:108px}.desk-object-notebook{width:130px}.desk-object-cup{width:96px}.desk-object-label{font-size:12px;margin-top:10px}.desk-corner-note{left:20px;bottom:18px;font-size:11px}.desk-below{gap:10px}.desk-below>p{max-width:150px;font-size:12px}.desk-placement{font-size:12px}.play-dialog{padding:24px 20px}.play-dialog-heading{gap:14px;margin-bottom:24px}.play-dialog-heading h2{font-size:21px}.desk-projects a{gap:16px}.desk-projects img{width:72px;height:72px}.desk-projects h3{font-size:16px}.desk-projects p{font-size:12px}.desk-note textarea{padding:18px;font-size:17px}.drop-stage{min-height:450px;padding:48px 18px}.drop-before svg{width:150px}.drop-before h2{font-size:21px}.drop-before p{font-size:13px}.drop-card{width:100%;padding:26px}.drop-card>p,.drop-card blockquote{font-size:16px}.drop-card-photo{padding:12px 12px 18px}.drop-pocket ul{grid-template-columns:1fr}.drop-below{gap:12px}.drop-below>p{font-size:12px}}@media(prefers-reduced-motion:reduce){.desk-object-drawing{transition:none}}
