@font-face{font-family:Frex Sans GB;src:url(/fonts/FrexSansGB-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--gray-1:#fcfcfb;--gray-2:#f7f7f6;--gray-3:#efeeed;--gray-4:#e2e1df;--gray-5:#cececb;--gray-6:#b5b4b2;--gray-7:#969592;--gray-8:#767472;--gray-9:#5c5a58;--gray-10:#464542;--gray-11:#32302e;--gray-12:#1e1d1b;--background:var(--gray-1);--foreground:var(--gray-12);--muted:var(--gray-3);--muted-foreground:var(--gray-8);--surface:var(--gray-2);--border:var(--gray-4);--signal:#d55c13;--paper:#f9f8f5;--paper-ink:#2b2922;--selection:#efe34594;--ease-swift:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-small:0 5px 10px #0000001f;--shadow-medium:0 8px 30px #0000001f;--shadow-large:0 30px 60px #0000001f;--shadow-tooltip:0 4px 8px #0000000a, 0 1px 1px #00000005;--border-hairline:1px;--z-nav:100;--z-card:200;--z-toast:300;--column-width:37.5rem;--content-stage-width:50rem;--dock-height:3.75rem;--dock-edge-gap:.25rem;--top-nav-clearance:calc(var(--dock-height) + var(--dock-edge-gap) * 2 + env(safe-area-inset-top,0px));--grain-opacity:.28;--guide-opacity:.48}@supports (color:lab(0% 0 0)){:root{--gray-1:lab(98.8464% -.0331104 .379002);--gray-2:lab(97.1095% -.0494123 .568664);--gray-3:lab(94.2127% -.0655949 .75841);--gray-4:lab(89.5742% -.0372529 .951779);--gray-5:lab(82.6144% .0269115 1.14328);--gray-6:lab(73.3336% .115126 1.32879);--gray-7:lab(61.7318% .226974 1.50577);--gray-8:lab(48.9698% .274837 1.49692);--gray-9:lab(38.5288% .364229 1.67308);--gray-10:lab(29.2465% .418156 1.65967);--gray-11:lab(19.9642% .472784 1.64503);--gray-12:lab(10.6818% .529245 1.63014);--signal:lab(54.6853% 46.4496 59.8946);--paper:lab(97.7052% -.128865 1.51823);--paper-ink:lab(16.5479% -.261053 4.65066);--selection:lab(89.3556% -8.40396 73.8026/.58)}}html[data-theme=dark]{--gray-1:#0f0d0a;--gray-2:#151310;--gray-3:#1d1a16;--gray-4:#292622;--gray-5:#36322d;--gray-6:#4b4741;--gray-7:#66635c;--gray-8:#86837d;--gray-9:#a19e98;--gray-10:#b9b7b2;--gray-11:#d6d4cf;--gray-12:#ecebe7;--signal:#f0772d;--selection:#cbc24a47;--grain-opacity:.2;--guide-opacity:.38}@supports (color:lab(0% 0 0)){html[data-theme=dark]{--gray-1:lab(3.70862% .237852 1.28007);--gray-2:lab(6.21011% .390157 2.10783);--gray-3:lab(9.53956% .524275 3.05792);--gray-4:lab(15.3424% .582039 3.43849);--gray-5:lab(21.1453% .640765 3.8159);--gray-6:lab(30.4285% .693038 4.18848);--gray-7:lab(42.0345% .547081 4.19754);--gray-8:lab(54.7968% .363529 3.81957);--gray-9:lab(65.2377% .211656 3.44069);--gray-10:lab(74.5174% .0874102 3.05892);--gray-11:lab(84.9561% -.0108778 2.67435);--gray-12:lab(93.0737% -.0831783 2.28829);--signal:lab(64.085% 44.295 60.0106);--selection:lab(77.6126% -7.32335 59.3622/.28)}}@media only screen and (min-resolution:192dpi){:root{--border-hairline:.5px}}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:0;scroll-padding-top:var(--top-nav-clearance);scrollbar-gutter:stable;background:var(--background)}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}body{background:var(--background);min-height:100svh;color:var(--foreground);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .22s var(--ease-swift), color .18s ease;margin:0;font-family:SF Pro Text,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.7}html[data-fonts=ready] body{font-family:Frex Sans GB,SF Pro Text,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}body[data-lightbox=open],body[data-article-lightbox=open],body[data-site-search=open]{overflow:hidden}::selection{background:var(--selection);color:inherit}a{color:inherit;text-decoration:none}button,textarea,input{color:inherit;font:inherit}button{background:0 0;border:0}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:1px solid var(--gray-9);outline-offset:4px}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}[data-en],html[data-lang=en] [data-zh]{display:none!important}html[data-lang=en] [data-en]{display:revert!important}.site-frame{z-index:1;flex-direction:column;min-height:100svh;padding-bottom:0;display:flex;position:relative}.site-main{min-width:0;padding-top:var(--top-nav-clearance);flex:1}.page-column{width:100%;max-width:var(--column-width);margin-inline:auto;padding-inline:1.5rem}.wide-page{max-width:72rem}.about-page{overflow-x:clip}.hairline-top{border-top:var(--border-hairline) solid var(--border)}.ambient-background{z-index:0;color:color-mix(in oklab, var(--foreground) 32%, transparent);pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-background__grain{z-index:0;opacity:var(--grain-opacity);background-image:radial-gradient(circle at 21% 33%, color-mix(in oklab, var(--foreground) 12%, transparent) 0 .36px, transparent .58px), radial-gradient(circle at 79% 68%, color-mix(in oklab, var(--foreground) 8%, transparent) 0 .32px, transparent .56px);mix-blend-mode:multiply;background-size:4px 4px,5px 5px;position:absolute;inset:0}html[data-theme=dark] .ambient-background__grain,html[data-theme=dark] .ambient-ruler{mix-blend-mode:screen}.ambient-background__fade{z-index:2;width:100%;height:4.25rem;position:absolute;left:0}.ambient-background__fade--top{background:linear-gradient(to bottom, var(--background) 4%, transparent);top:0}.ambient-background__fade--bottom{background:linear-gradient(to top, var(--background) 4%, transparent);bottom:0}.ambient-background__guide-frame{z-index:1;width:min(37.5rem,100vw - 2rem);opacity:var(--guide-opacity);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}body:has(.post-layout) .ambient-background__guide-frame{width:min(72rem,100vw - 3rem)}body:has(.wide-page) .ambient-background__guide-frame{width:min(72rem,100vw - 3rem)}:is(body:has(.post-layout) .ambient-background__guide,body:has(.post-layout) .ambient-background__register,body:has(.wide-page) .ambient-background__guide,body:has(.wide-page) .ambient-background__register){display:none}.ambient-background__guide{background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 4px);width:1px;position:absolute;top:0;bottom:0}.ambient-background__guide--left{left:0}.ambient-background__guide--right{right:0}.ambient-background__register{width:14px;height:14px;position:absolute;top:7px}.ambient-background__register--left{left:-7px}.ambient-background__register--right{right:-7px}.ambient-background__register-line{background:currentColor;position:absolute}.ambient-background__register-line--horizontal{width:14px;height:1px;top:6.5px;left:0}.ambient-background__register-line--vertical{width:1px;height:14px;top:0;left:6.5px}.ambient-ruler{z-index:3;fill:none;width:100%;height:56px;opacity:var(--guide-opacity);position:absolute;left:0;overflow:visible}.ambient-ruler--top{top:-1px}.ambient-ruler--bottom{bottom:-1px}.ambient-ruler__rule{stroke:currentColor;stroke-width:.4px;opacity:.34}.ambient-ruler__ticks{stroke:currentColor;stroke-linecap:round}.ambient-ruler__ticks--minor{stroke-width:2.5px;opacity:.58}.ambient-ruler__ticks--major{stroke-width:5px}.paper-grain{z-index:0;pointer-events:none;opacity:var(--grain-opacity);background-image:radial-gradient(circle at 21% 33%, color-mix(in oklab, var(--foreground) 12%, transparent) 0 .36px, transparent .58px), radial-gradient(circle at 79% 68%, color-mix(in oklab, var(--foreground) 8%, transparent) 0 .32px, transparent .56px);mix-blend-mode:multiply;background-size:4px 4px,5px 5px;position:fixed;inset:0}html[data-theme=dark] .paper-grain{mix-blend-mode:screen}.column-guides,.drafting-guides{z-index:2;pointer-events:none;opacity:var(--guide-opacity);position:fixed;inset:0}.column-guide,.column-guide-v,.guide-line{background:repeating-linear-gradient(to bottom, color-mix(in oklab, var(--foreground) 28%, transparent) 0 1px, transparent 1px 4px);width:1px;position:absolute;top:0;bottom:0}.column-guide:first-child,.column-guide-v:first-child,.guide-line:first-child{left:max(1rem,50% - 18.75rem)}.column-guide:last-child,.column-guide-v:last-child,.guide-line:last-child{right:max(1rem,50% - 18.75rem)}.registration-mark,.registration-cross{z-index:3;width:14px;height:14px;opacity:calc(var(--guide-opacity) * .8);pointer-events:none;margin-left:-7px;position:fixed;top:7px;left:50%}.registration-mark:before,.registration-mark:after,.registration-cross:before,.registration-cross:after{background:color-mix(in oklab, var(--foreground) 35%, transparent);content:"";position:absolute}.registration-mark:before,.registration-cross:before{width:14px;height:1px;top:6.5px;left:0}.registration-mark:after,.registration-cross:after{width:1px;height:14px;top:0;left:6.5px}.arc-rulers,.column-rulers,.ruler-layer{z-index:4;pointer-events:none;opacity:var(--guide-opacity);color:color-mix(in oklab, var(--foreground) 30%, transparent);mix-blend-mode:multiply;position:fixed;inset:0}html[data-theme=dark] .arc-rulers,html[data-theme=dark] .column-rulers,html[data-theme=dark] .ruler-layer{mix-blend-mode:screen}.arc-rulers svg,.column-rulers svg,.ruler-layer svg{stroke:currentColor;fill:none;width:100%;height:42px;position:absolute;left:0;overflow:visible}.arc-rulers svg:first-child,.column-rulers svg:first-child,.ruler-layer svg:first-child{top:-1px}.arc-rulers svg:last-child,.column-rulers svg:last-child,.ruler-layer svg:last-child{bottom:-1px;transform:rotate(180deg)}.viewport-edge-fade{z-index:3;pointer-events:none;height:64px;position:fixed;left:0;right:0}.viewport-edge-fade-top{background:linear-gradient(to bottom, var(--background), transparent);top:0}.viewport-edge-fade-bottom{background:linear-gradient(to top, var(--background), transparent);bottom:0}@keyframes enter-develop{0%{opacity:0;filter:blur(4px)}}@keyframes enter-swing{0%{opacity:0;filter:blur(2px);transform:translateY(12px)rotate(-2deg)}}.enter{animation:enter-develop .35s var(--ease-swift) backwards;animation-delay:var(--enter-delay,0s)}.enter-swing{animation:enter-swing .4s var(--ease-swift) backwards;animation-delay:var(--enter-delay,0s)}.reveal-in{animation:enter-develop .3s var(--ease-swift) backwards;animation-delay:var(--enter-delay,0s)}.home-hero{justify-content:space-between;align-items:flex-start;gap:2.5rem;display:flex}.home-copy{width:19rem;max-width:100%}.masthead,.page-title-row,.article-title-wrap{align-items:center;gap:.5rem;display:flex}.masthead h1{color:var(--foreground);letter-spacing:-.025em;font-size:1rem;font-weight:600;line-height:1.35}.pixel-cluster{grid-template-rows:repeat(2,4px);grid-template-columns:repeat(2,4px);gap:1px;width:11px;height:11px;display:grid}.pixel-cell{width:4px;height:4px}.pixel-ink{background:color-mix(in oklab, var(--foreground) 86%, transparent)}.pixel-soft{background:color-mix(in oklab, var(--foreground) 24%, transparent)}.pixel-signal{background:var(--signal)}.home-introduction{color:var(--muted-foreground);margin-top:1rem;line-height:1.72}.home-introduction p+p{margin-top:.75rem}.home-introduction a{border-bottom:1px dotted color-mix(in oklab, currentColor 45%, transparent);color:color-mix(in oklab, var(--foreground) 70%, var(--muted-foreground));transition:color .15s,border-color .15s}.home-introduction a:hover,.home-introduction a:focus-visible{color:var(--foreground);border-color:currentColor}.external-mark{opacity:.58;transition:opacity .18s,transform .18s;display:inline-block}a:hover .external-mark,a:focus-visible .external-mark{opacity:.95;transform:translate(1.5px,-1.5px)}.interactive-phrase,.detail-phrase{white-space:nowrap;align-items:center;display:inline-flex}.interactive-phrase{margin-inline:.13em}.detail-phrase{margin-left:.13em}.inline-craft-mark,.inline-orbit-mark{width:18px;height:18px;color:color-mix(in oklab, var(--foreground) 72%, var(--muted-foreground));vertical-align:-.25rem;margin-inline:.16rem}.detail-phrase>span{display:inline-block}@keyframes detail-hop{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-5px)scale(1.03)}}@media (hover:hover) and (pointer:fine){.interactive-phrase:hover{color:#0000;background-image:linear-gradient(90deg,#b85042,#c9983c,#5e936d,#5878a1,#8b5d94);-webkit-background-clip:text;background-clip:text}.detail-phrase:hover>span{animation:detail-hop 1s var(--ease-spring)}.detail-phrase:hover>span:nth-of-type(2){animation-delay:80ms}.detail-phrase:hover>span:nth-of-type(3){animation-delay:.16s}}.home-portrait{flex:0 0 15rem;width:15rem}.about-page .home-hero{margin-top:12px;padding-inline:0;display:block}.about-page .home-copy{width:100%;max-width:54rem}.about-page .nav-cards{margin-top:2.5rem}.portrait-stage{isolation:isolate;aspect-ratio:1;outline:none;width:100%;position:relative;overflow:hidden}.portrait-contours{z-index:-1;opacity:0;background:repeating-radial-gradient(ellipse at 56% 48%, transparent 0 8px, color-mix(in oklab, var(--foreground) 8%, transparent) 8.5px 9px, transparent 9.5px 15px);transition:opacity .25s var(--ease-swift), transform .3s var(--ease-swift);position:absolute;inset:7%;transform:scale(.96)}.portrait-stage:hover .portrait-contours,.portrait-stage:focus-within .portrait-contours{opacity:1;transform:scale(1)}.halftone-canvas{cursor:crosshair;width:100%;height:100%;display:block}.photo-sprite{isolation:isolate;background-color:color-mix(in oklab, var(--muted) 72%, var(--surface));background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;display:block;position:relative;overflow:hidden}.photo-sprite:after{z-index:2;border-radius:inherit;background:linear-gradient(115deg, transparent 22%, #ffffff29 45%, transparent 68%) 100% 0 / 220% 100%, color-mix(in oklab, var(--surface) 72%, transparent);opacity:0;-webkit-backdrop-filter:blur(18px)saturate(.72);content:"";pointer-events:none;transition:opacity .42s var(--ease-swift), backdrop-filter .48s var(--ease-swift);position:absolute;inset:0}.photo-sprite[data-image-state=loading]:after{opacity:1;animation:1.35s ease-in-out infinite image-glass-drift}.loadable-image{background:linear-gradient(115deg, transparent 22%, #ffffff2e 45%, transparent 68%) 100% 0 / 220% 100%, color-mix(in oklab, var(--surface) 80%, var(--muted));transition:opacity .42s var(--ease-swift), filter .48s var(--ease-swift), transform .48s var(--ease-swift)}.loadable-image[data-image-state=loading]{opacity:.72;filter:blur(14px)saturate(.72);animation:1.35s ease-in-out infinite image-glass-drift;transform:scale(1.025)}.loadable-image[data-image-state=loaded]{opacity:1;filter:none;transform:none}.loadable-image[data-image-state=error]{opacity:.55;filter:grayscale()}@keyframes image-glass-drift{0%,to{background-position:115% 0,0 0}50%{background-position:-15% 0,0 0}}.photo-sprite-0{background-image:url(/images/photos/photo-1.webp)}.photo-sprite-1{background-image:url(/images/photos/photo-2.webp)}.photo-sprite-2{background-image:url(/images/photos/photo-3.webp)}.photo-sprite-3{background-image:url(/images/photos/photo-4.webp)}.photo-sprite-4{background-image:url(/images/photos/photo-5.webp)}.photo-sprite-5{background-image:url(/images/photos/photo-6.webp)}.skip-link{z-index:100;background:var(--foreground);color:var(--background);opacity:0;pointer-events:none;transition:opacity .14s ease, transform .18s var(--ease-swift);border-radius:.35rem;padding:.6rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-140%)}.skip-link:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px;pointer-events:auto;transform:translateY(0)}.nav-cards{margin-top:3.5rem;border-top:var(--border-hairline) solid var(--border);border-bottom:var(--border-hairline) solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-1.5rem;display:grid}.nav-card{flex-direction:column;align-items:center;gap:.25rem;min-width:0;padding:1.5rem .75rem 1.25rem;display:flex}.nav-card+.nav-card{border-left:var(--border-hairline) solid var(--border)}.nav-card:active{transform:scale(.985)}.nav-vignette{place-items:center;width:100%;height:3.5rem;margin-bottom:.375rem;display:grid;position:relative}.nav-card-label{font-size:.875rem;font-weight:500}.nav-card-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.875rem}.nav-sheets span{background:repeating-linear-gradient(to bottom, transparent 0 7px, color-mix(in oklab, var(--paper-ink) 30%, transparent) 7px 7.5px) 50% 60% / 70% 60% no-repeat, var(--paper);width:2.375rem;height:2.875rem;transition:transform .3s var(--ease-spring);position:absolute;box-shadow:0 0 0 1px #00000014,0 1px 2px #0000001f}.nav-sheets span:first-child{transform:rotate(-7deg)translate(-9px)}.nav-sheets span:nth-child(2){transform:rotate(4deg)translate(9px)}.nav-sheets span:nth-child(3){transform:rotate(-1deg)translateY(-2px)}.mini-polaroid{background:var(--paper);width:2.65rem;height:2.75rem;transition:transform .3s var(--ease-spring);padding:3px 3px 8px;position:absolute;box-shadow:0 0 0 1px #00000014,0 1px 3px #00000026}.mini-polaroid .photo-sprite{filter:saturate(.85)contrast(1.04)}.mini-polaroid-0{transform:rotate(-9deg)translate(-16px)}.mini-polaroid-1{transform:rotate(0)}.mini-polaroid-2{transform:rotate(9deg)translate(16px)}.project-icon-shell{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 20%, var(--border));background:color-mix(in oklab, var(--foreground) 3.5%, var(--background));width:3.25rem;height:3.25rem;box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 5%, transparent), 0 3px 6px #0000000f;transition:transform .3s var(--ease-spring);border-radius:.75rem;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.project-guides,.project-tools{width:100%;height:100%;position:absolute;inset:0}.project-guides{fill:none;stroke:color-mix(in oklab, var(--foreground) 22%, transparent);stroke-width:.55px}.project-tools{width:calc(100% - 18px);height:calc(100% - 18px);inset:9px}.project-tools .tool-a,.project-tools .tool-b,.project-tools .tool-c{transform-box:fill-box;transform-origin:50%;transition:transform .3s var(--ease-spring)}@media (hover:hover) and (pointer:fine){.nav-card:hover .nav-sheets span:first-child{transform:rotate(-13deg)translate(-16px)translateY(-2px)}.nav-card:hover .nav-sheets span:nth-child(2){transform:rotate(9deg)translate(16px)translateY(-1px)}.nav-card:hover .nav-sheets span:nth-child(3){transform:rotate(-2deg)translateY(-5px)}.nav-card:hover .mini-polaroid-0{transform:rotate(-15deg)translate(-24px)translateY(-2px)}.nav-card:hover .mini-polaroid-1{transform:translateY(-4px)}.nav-card:hover .mini-polaroid-2{transform:rotate(15deg)translate(24px)translateY(-2px)}.nav-card:hover .project-icon-shell{transform:translate(-50%,calc(-50% - 2px))}.nav-card:hover .tool-a{transform:translate(1.5px,-1.5px)rotate(3deg)}.nav-card:hover .tool-b{transform:translate(-2.5px,-2px)rotate(-6deg)}.nav-card:hover .tool-c{transform:translate(2px,2.5px)rotate(5deg)}}.home-section{margin-top:4rem}.section-heading-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-tag{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;align-items:stretch;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:400;line-height:1.45;display:inline-flex}.section-tag-index{border:var(--border-hairline) solid color-mix(in oklab, var(--muted-foreground) 45%, transparent);font-variant-numeric:tabular-nums;align-items:center;padding:.0625rem .375rem;font-size:.6875rem;display:flex}.section-tag-hatch{border:var(--border-hairline) solid color-mix(in oklab, var(--muted-foreground) 45%, transparent);background:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--muted-foreground) 55%, transparent) 0 1px, transparent 1px 3.5px);border-left:0;width:.75rem}.section-tag-label{align-self:center;padding-left:.625rem}.view-all{color:var(--muted-foreground);flex:none;transition:color .15s;position:relative}.view-all:after{content:"";position:absolute;inset:-.65rem -.5rem}.view-all:hover{color:var(--foreground)}.experience-list,.post-list{margin-top:1rem}.experience-row{grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:1rem;padding-block:.625rem;display:grid}.experience-row>div{flex-direction:column;align-items:flex-start;gap:.125rem;min-width:0;display:flex}.experience-company{overflow-wrap:anywhere;max-width:100%;font-weight:500}a.experience-company{transition:color .15s}a.experience-company:hover{color:var(--gray-9)}.experience-role,.experience-date{color:var(--muted-foreground)}.experience-date{white-space:nowrap;font-variant-numeric:tabular-nums}.post-row{grid-template-columns:4rem minmax(0,auto) minmax(1.5rem,1fr) max-content max-content;align-items:center;gap:.75rem;min-height:3.75rem;padding-block:.5rem;display:grid}.print-pile{width:4rem;height:2.75rem;position:relative}.print-sheet,.print-thumb{background:var(--paper);position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #0000001a}.print-sheet-a{transform:rotate(-2deg)translate(-1px,1px)}.print-sheet-b{transform:rotate(1deg)translate(1px)}.print-thumb{filter:grayscale()contrast(1.45);transition:filter .25s}.print-thumb:after{background:radial-gradient(circle, transparent 0 .7px, var(--paper) .85px 1.5px) 0 0 / 3px 3px;content:"";mix-blend-mode:screen;opacity:1;transition:opacity .3s var(--ease-swift);position:absolute;inset:0}.post-row-title{min-width:0;color:color-mix(in oklab, var(--foreground) 92%, var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:500;line-height:1.38;overflow:hidden}.post-row-leader{background:repeating-linear-gradient(to right, color-mix(in oklab, var(--muted-foreground) 52%, transparent) 0 1px, transparent 1px 5px);align-self:center;height:1px}.post-row-date{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.post-row-stats{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:.65rem;font-family:ui-monospace,monospace;font-size:.7rem;display:inline-flex}.post-row-stats span{align-items:center;gap:.2rem;display:inline-flex}.post-row-stats svg{stroke-width:1.5px;width:.75rem;height:.75rem}.focus-list>li{transition:opacity .18s}@media (hover:hover) and (pointer:fine){.focus-list:hover>li:not(:hover){opacity:.44}.post-row:hover .print-thumb{filter:grayscale(0)contrast()}.post-row:hover .print-thumb:after{opacity:0}}.post-row:focus-visible .print-thumb{filter:grayscale(0)contrast()}.post-row:focus-visible .print-thumb:after{opacity:0}.shelf-section{content-visibility:auto;contain-intrinsic-size:360px}.vinyl-room,.bookshelf-room{margin-top:2.75rem}.vinyl-viewport{cursor:grab;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-y;margin-inline:-1.5rem;overflow:auto hidden}.vinyl-viewport::-webkit-scrollbar{display:none}.vinyl-viewport[data-dragging=true]{cursor:grabbing}.vinyl-track{justify-content:center;align-items:flex-end;width:max-content;min-width:calc(100% + 3rem);padding:1.5rem 2.1rem .35rem;display:flex}.vinyl{cursor:pointer;width:5.15rem;height:7.2rem;transition:transform .32s var(--ease-spring);flex:0 0 5.15rem;margin-left:-.65rem;padding:0;position:relative;transform:translateY(8px)}.vinyl:first-child{margin-left:0}.vinyl[data-active]{z-index:2;transform:translateY(-10px)scale(1.05)}.vinyl-shadow{filter:blur(7px);opacity:.35;height:20px;transition:opacity .32s ease, transform .32s var(--ease-spring);background:#0003;border-radius:50%;position:absolute;bottom:-5px;left:6px;right:-5px}.vinyl[data-active] .vinyl-shadow{opacity:.6;transform:translateY(7px)scale(1.08)}.vinyl-sleeve{background:linear-gradient(135deg, transparent 0 47%, color-mix(in oklab, var(--cover-c) 70%, transparent) 48% 52%, transparent 53%), linear-gradient(150deg, var(--cover-a), var(--cover-b) 58%, var(--cover-c));display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #00000021,0 2px 4px #00000029}.vinyl-raster{opacity:.28;mix-blend-mode:overlay;background:repeating-linear-gradient(90deg,#0000 0 7px,#ffffff57 7px 8px),radial-gradient(circle at 70% 35%,#ffffff73 0 2px,#0000 2.5px) 0 0/7px 7px;position:absolute;inset:0}.vinyl-type{color:#fff;text-align:left;text-shadow:0 1px 3px #00000073;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:.5rem;display:flex;position:absolute;inset:0}.vinyl-type small{letter-spacing:.08em;margin-bottom:auto;font-family:ui-monospace,monospace;font-size:.48rem}.vinyl-type b{text-transform:uppercase;max-width:100%;font-size:.67rem;line-height:1.05}.vinyl-type span{opacity:.82;margin-top:.16rem;font-size:.5rem}@media (hover:hover) and (pointer:fine){.vinyl:not([data-active]):hover{z-index:1;transform:translateY(-2px)}}.shelf-plank{z-index:4;background:linear-gradient(#c8a77d,#9e7a50 65%,#684a2d);border-top:1px solid #6f533285;border-radius:1px 1px 4px 4px;height:.58rem;margin-inline:-1.5rem;position:relative;box-shadow:0 4px 5px #0000002e,inset 0 1px #ffffff61}.shelf-annotation{color:var(--muted-foreground);text-align:center;margin-top:.65rem;font-size:.75rem}.bookshelf{justify-content:center;align-items:flex-end;min-height:10.5rem;padding-inline:.25rem;display:flex;overflow:hidden}.book{cursor:pointer;perspective:700px;width:1.55rem;height:9.6rem;transition:width .33s var(--ease-spring), flex-basis .33s var(--ease-spring), transform .33s var(--ease-spring);flex:0 0 1.55rem;padding:0;position:relative}.book[data-active]{flex-basis:6.65rem;width:6.65rem;transform:translateY(-5px)}.book-cover,.book-spine{background:var(--book);color:var(--book-ink);transition:opacity .18s ease, transform .33s var(--ease-spring);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a,1px 1px 2px #00000029}.book-cover{opacity:0;transform-origin:0;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:6.65rem;padding:.7rem;display:flex;transform:rotateY(-78deg)}.book[data-active] .book-cover{opacity:1;transform:rotateY(0)}.book[data-active] .book-spine{opacity:0}.book-cover small{z-index:2;margin-bottom:auto;font-size:.46rem;line-height:1.2;position:relative}.book-cover b{z-index:2;text-align:left;text-transform:uppercase;max-width:5rem;font-size:.88rem;line-height:1.03;position:relative}.book-grid{opacity:.25;background:linear-gradient(90deg,#0000 49.5%,currentColor 50%,#0000 50.5%),linear-gradient(#0000 49.5%,currentColor 50%,#0000 50.5%);border:1px solid;position:absolute;inset:.5rem}.book-spine{writing-mode:vertical-rl;justify-content:space-between;align-items:center;padding:.5rem .28rem;display:flex}.book-spine b{letter-spacing:.05em;font-size:.62rem}.book-spine small{text-overflow:ellipsis;white-space:nowrap;font-size:.42rem;overflow:hidden}@media (hover:hover) and (pointer:fine){.book:not([data-active]):hover{transform:translateY(-8px)}}.site-footer{width:100%;max-width:72rem;color:var(--muted-foreground);margin:4rem auto 0;padding:0 1.5rem}.footer-grid{padding-block:1rem}.footer-copyright{font-variant-numeric:tabular-nums;letter-spacing:.015em;font-size:.75rem}.footer-copyright a{color:inherit;text-decoration:none}@media (hover:hover) and (pointer:fine){.footer-copyright a:hover{color:var(--foreground)}}.index-page{min-height:48rem}.page-header{max-width:29rem;padding-bottom:3.5rem}.page-eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem}.page-title-row{align-items:flex-start}.page-title-row h1{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(1.75rem,4vw,2rem);font-weight:600;line-height:1.15}.page-title-row .pixel-cluster{margin-top:.45rem}.page-lead{color:var(--muted-foreground);margin-top:1rem;line-height:1.75}.guestbook-page .page-header,.archive-page .page-header{padding-bottom:3rem}.guestbook-layout{grid-template-columns:minmax(19rem,22rem) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);display:grid}.guestbook-composer{isolation:isolate;top:calc(var(--top-nav-clearance) + 1.25rem);border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--surface) 92%, var(--background));box-shadow:inset 0 1px 0 color-mix(in oklab, var(--background) 82%, transparent), 0 18px 44px color-mix(in oklab, var(--foreground) 7%, transparent);padding:clamp(1.25rem,2vw,1.5rem);position:sticky;overflow:hidden}.guestbook-composer:before{z-index:1;background:var(--signal);content:"";width:4.5rem;height:2px;position:absolute;top:-1px;left:-1px}.guestbook-composer:after{border-top:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 34%, var(--border));border-right:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 34%, var(--border));content:"";pointer-events:none;width:.55rem;height:.55rem;position:absolute;top:.55rem;right:.55rem}.guestbook-form-head,.guestbook-log-head{color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem;display:flex}.guestbook-live-dot{background:var(--signal);width:5px;height:5px;box-shadow:0 0 0 3px color-mix(in oklab, var(--signal) 12%, transparent)}.guestbook-composer h2{letter-spacing:-.035em;margin-top:1.05rem;font-size:1.25rem;font-weight:600;line-height:1.25}.guestbook-composer>p{max-width:28rem;color:var(--muted-foreground);text-wrap:pretty;margin-top:.5rem;font-size:.75rem;line-height:1.7}.guestbook-form{border-top:var(--border-hairline) solid var(--border);flex-direction:column;gap:1rem;margin-top:1.35rem;padding-top:1.2rem;display:flex}.guestbook-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.guestbook-field>span:first-child{color:var(--foreground);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.75rem;font-weight:500;display:flex}.guestbook-field small{color:var(--muted-foreground);letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.6rem;font-weight:400}.guestbook-field input,.guestbook-field textarea{border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--background) 88%, transparent);border-radius:0;width:100%;min-width:0;padding:.7rem .75rem;font-size:.8125rem;line-height:1.6;transition:border-color .15s,background-color .18s,box-shadow .18s}.guestbook-field input::placeholder,.guestbook-field textarea::placeholder{color:color-mix(in oklab, var(--muted-foreground) 64%, transparent);opacity:1}.guestbook-field input:focus,.guestbook-field textarea:focus{border-color:color-mix(in oklab, var(--foreground) 42%, var(--border));background:var(--background);box-shadow:inset 2px 0 0 color-mix(in oklab, var(--signal) 72%, transparent)}.guestbook-field textarea{resize:vertical;min-height:8.25rem}.guestbook-field [aria-invalid=true]{border-color:color-mix(in oklab, var(--signal) 72%, var(--border))}.guestbook-field-foot{justify-content:space-between;gap:1rem;min-height:1rem;display:flex}.guestbook-field .guestbook-error{color:color-mix(in oklab, var(--signal) 78%, var(--foreground))}.guestbook-field .guestbook-private-note{color:color-mix(in oklab, var(--muted-foreground) 84%, transparent)}.guestbook-submit{width:100%;transition:box-shadow .18s ease, transform .18s var(--ease-swift);justify-content:space-between}.guestbook-submit:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.guestbook-submit:hover{box-shadow:0 7px 18px color-mix(in oklab, var(--foreground) 16%, transparent);transform:translateY(-1px)}}.guestbook-status{min-height:1rem;color:var(--muted-foreground);letter-spacing:.045em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.6rem}.guestbook-log-head{min-height:2rem;padding-bottom:.65rem}.guestbook-log-head h2{color:var(--foreground);letter-spacing:-.015em;font-family:inherit;font-size:.875rem;font-weight:500}.guestbook-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(1rem,1.8vw,1.35rem);padding-top:.45rem;display:grid}.guestbook-entry{--note-rotation:0deg;min-width:0;transform:rotate(var(--note-rotation));transform-origin:50% 12%;transition:transform .22s var(--ease-swift);align-self:start;position:relative}.guestbook-entry:nth-child(4n+1){--note-rotation:-.3deg;margin-top:.35rem}.guestbook-entry:nth-child(4n+2){--note-rotation:.22deg}.guestbook-entry:nth-child(4n+3){--note-rotation:.32deg}.guestbook-entry:nth-child(4n){--note-rotation:-.18deg;margin-top:.2rem}.guestbook-entry[data-new]:before{z-index:2;background:var(--signal);content:"";width:3.75rem;height:2px;position:absolute;top:-1px;left:1.15rem}.guestbook-entry>article{border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--surface) 86%, var(--background));min-width:0;box-shadow:inset 0 1px 0 color-mix(in oklab, var(--background) 82%, transparent), 0 10px 24px color-mix(in oklab, var(--foreground) 5%, transparent);flex-direction:column;padding:clamp(1rem,1.6vw,1.25rem);display:flex;position:relative}.guestbook-note-head,.guestbook-note-footer,.guestbook-reply-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.guestbook-note-head{border-bottom:var(--border-hairline) solid var(--border);padding-bottom:.65rem}.guestbook-note-head>span,.guestbook-number,.guestbook-time,.guestbook-reply-head{color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.055em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem}.guestbook-number{color:color-mix(in oklab, var(--foreground) 76%, var(--muted-foreground))}.guestbook-time{white-space:nowrap}.guestbook-note-message{color:color-mix(in oklab, var(--foreground) 76%, var(--muted-foreground));text-wrap:pretty;margin-block:1.05rem 1.15rem;font-size:.8125rem;line-height:1.8}.guestbook-attribution{color:var(--foreground);white-space:nowrap;margin-left:.75rem;font-size:.75rem;font-weight:500;display:inline-block}.guestbook-reply{border-top:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 12%, var(--border));margin:.1rem 0 1rem;padding-top:.75rem}.guestbook-reply-head{letter-spacing:.035em;justify-content:flex-start;gap:.5rem;font-size:.575rem}.guestbook-reply-head:before{background:var(--signal);content:"";flex:none;width:4px;height:4px}.guestbook-reply-head time{margin-left:auto}.guestbook-reply p{color:color-mix(in oklab, var(--foreground) 68%, var(--muted-foreground));margin-top:.45rem;font-size:.75rem;line-height:1.65}.guestbook-note-footer{border-top:var(--border-hairline) solid var(--border);justify-content:flex-end;margin-top:auto;padding-top:.75rem}.guestbook-note-footer h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:500;overflow:hidden}@media (hover:hover) and (pointer:fine){.guestbook-entry:hover{z-index:1;transform:translateY(-2px)rotate(0)}}@media (max-width:69.99rem){.guestbook-list{grid-template-columns:1fr}}.archive-ledger{border-top:var(--border-hairline) solid var(--border);border-bottom:var(--border-hairline) solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.archive-ledger>div{padding:.8rem 1rem}.archive-ledger>div:first-child{padding-left:0}.archive-ledger>div+div{border-left:var(--border-hairline) solid var(--border)}.archive-ledger dt{color:var(--muted-foreground);font-size:.6875rem}.archive-ledger dd{color:var(--foreground);font-variant-numeric:tabular-nums;margin-top:.15rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8125rem}.archive-timeline{width:100%;max-width:none;margin:3rem 0 0}.archive-year{grid-template-columns:6rem minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.archive-year+.archive-year{margin-top:3.5rem}.archive-year-label{top:calc(var(--top-nav-clearance) + 1.25rem);min-height:5rem;position:sticky;overflow:hidden}.archive-year-label>span{z-index:-1;color:color-mix(in oklab, var(--foreground) 5%, transparent);font-family:ui-monospace,SFMono-Regular,monospace;font-size:5rem;line-height:1;position:absolute;top:-.55rem;left:0}.archive-year-label h2{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:500}.archive-year-label small{color:var(--muted-foreground);letter-spacing:.065em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.575rem}.archive-year-list{border-left:var(--border-hairline) solid var(--border)}.archive-entry{border-top:var(--border-hairline) solid var(--border);grid-template-columns:3.5rem 4.25rem minmax(0,1fr) max-content;align-items:center;gap:.85rem;min-height:5.75rem;padding:.75rem 0 .75rem 1.25rem;display:grid;position:relative}.archive-year-list>li:last-child .archive-entry{border-bottom:var(--border-hairline) solid var(--border)}.archive-entry>time,.archive-entry-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.045em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem}.archive-node{border:1px solid var(--background);background:var(--muted-foreground);width:7px;height:7px;box-shadow:0 0 0 1px var(--border);transition:background-color .16s ease, transform .22s var(--ease-spring);position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.archive-thumb{aspect-ratio:1.25;background:var(--paper);width:4.25rem;transition:transform .26s var(--ease-spring);overflow:hidden;transform:rotate(-1deg);box-shadow:0 0 0 1px #00000014,0 2px 5px #00000014}.archive-thumb>.photo-sprite{filter:grayscale()contrast(1.08);transition:filter .22s ease, transform .3s var(--ease-swift)}.archive-entry-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.archive-entry-copy h3{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1.4;overflow:hidden}.archive-entry-copy>span{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.5;overflow:hidden}@media (hover:hover) and (pointer:fine){.archive-entry:hover .archive-node{background:var(--signal);transform:translateY(-50%)scale(1.2)}.archive-entry:hover .archive-thumb{transform:translateY(-2px)rotate(1deg)}.archive-entry:hover .archive-thumb>.photo-sprite{filter:grayscale(0)contrast();transform:scale(1.035)}}.index-counter{color:var(--muted-foreground);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.75rem;font-family:ui-monospace,monospace;font-size:.75rem;display:flex}.index-counter>span{border:var(--border-hairline) solid var(--border);padding:0 .35rem}.index-post-list{margin-top:0}.writing-index{min-height:auto}.writing-index-header{justify-content:space-between;align-items:center;display:flex}.writing-index-header .page-eyebrow{margin:0}.writing-year-groups{flex-direction:column;gap:2rem;margin-top:1.5rem;display:flex}.writing-year{position:relative}.writing-year>h2{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:500}.writing-year .post-list{flex-direction:column;margin-top:.5rem;display:flex}.writing-year-ghost{z-index:-1;color:color-mix(in oklab, var(--foreground) 3.5%, transparent);letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:ui-monospace,monospace;font-size:4.5rem;line-height:1;position:absolute;top:-1rem;right:0}.photos-page{min-height:auto}.photo-wall{columns:3;column-gap:1rem}.photo-tile{background:var(--paper);break-inside:avoid;cursor:zoom-in;width:100%;min-width:0;transition:transform .33s var(--ease-spring), box-shadow .33s var(--ease-spring);border-radius:2px;margin:0 0 1.1rem;padding:.35rem .35rem 1.65rem;display:block;position:relative;box-shadow:0 0 0 1px #00000014,0 3px 12px #00000014}.photo-tile:nth-child(3n+1){transform:rotate(-1.3deg)}.photo-tile:nth-child(3n+2){transform:rotate(.7deg)}.photo-tile:nth-child(3n+3){transform:rotate(-.3deg)}.photo-tile>.photo-sprite{filter:grayscale()contrast(1.15);transition:filter .3s}.photo-tile:nth-child(6n+1)>.photo-sprite{aspect-ratio:4/5}.photo-tile:nth-child(6n+2)>.photo-sprite{aspect-ratio:3/2}.photo-tile:nth-child(6n+3)>.photo-sprite{aspect-ratio:1}.photo-tile:nth-child(6n+4)>.photo-sprite{aspect-ratio:5/6}.photo-tile:nth-child(6n+5)>.photo-sprite{aspect-ratio:4/3}.photo-tile:nth-child(6n+6)>.photo-sprite{aspect-ratio:2/3}.photo-caption{color:var(--paper-ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;position:absolute;bottom:.3rem;left:.45rem;right:.45rem;overflow:hidden}.photo-index{color:var(--paper-ink);background:#faf7efc2;padding:0 .2rem;font-family:ui-monospace,monospace;font-size:.55rem;position:absolute;top:.6rem;right:.6rem}@media (hover:hover) and (pointer:fine){.photo-tile:hover{z-index:2;box-shadow:var(--shadow-medium);transform:translateY(-8px)rotate(0)}.photo-tile:hover>.photo-sprite{filter:grayscale(0)contrast()}}.lightbox{z-index:var(--z-toast);-webkit-backdrop-filter:blur();backdrop-filter:blur();cursor:zoom-out;opacity:0;transition:opacity .22s ease, background-color .24s var(--ease-swift), backdrop-filter .24s var(--ease-swift);background:0 0;place-items:center;padding:3rem 1rem 1rem;display:grid;position:fixed;inset:0}.lightbox[data-state=open]{background:color-mix(in oklab, var(--background) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:1}.lightbox-close{background:color-mix(in oklab, var(--background) 75%, transparent);width:2.75rem;height:2.75rem;box-shadow:0 0 0 1px var(--border);cursor:pointer;opacity:0;transition:opacity .16s ease 80ms, transform .22s var(--ease-spring) 80ms;border-radius:999px;place-items:center;font-size:1.25rem;display:grid;position:fixed;top:1rem;right:1rem;transform:scale(.9)}.lightbox-sheet{cursor:default;opacity:0;width:min(46rem,90vw,100svh - 9rem);max-height:86vh;transition:opacity .2s ease, transform .28s var(--ease-swift);transform:translateY(12px)scale(.975)}.lightbox[data-state=open] .lightbox-close,.lightbox[data-state=open] .lightbox-sheet{opacity:1;transform:translateY(0)scale(1)}.lightbox-sheet>.photo-sprite{aspect-ratio:1;background-color:var(--paper);width:100%;box-shadow:var(--shadow-large);background-origin:content-box}.lightbox-plate{border:var(--border-hairline) solid var(--border);background:var(--background);grid-template-columns:repeat(3,1fr);margin-top:.75rem;display:grid}.lightbox-plate>span{flex-direction:column;min-width:0;padding:.55rem .75rem;display:flex}.lightbox-plate>span+span{border-left:var(--border-hairline) solid var(--border)}.lightbox-plate small{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.625rem}.lightbox-plate b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;overflow:hidden}.project-list{counter-reset:project}.project-row{min-height:9rem;position:relative;overflow:hidden}.project-row-link{min-height:9rem;color:inherit;grid-template-columns:3.5rem minmax(0,1fr) 7rem;gap:1.5rem;padding:1.5rem 0;text-decoration:none;display:grid}.project-number{color:var(--muted-foreground);font-family:ui-monospace,monospace;font-size:.6875rem}.project-copy{z-index:2;max-width:44rem;position:relative}.project-copy h2{font-size:1.125rem;font-weight:600;line-height:1.35}.project-copy p{color:var(--muted-foreground);max-width:40rem;margin-top:.3rem;line-height:1.6}.project-meta{z-index:2;color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;padding-right:.25rem;font-size:.75rem;display:flex;position:relative}.project-github-link{z-index:4;color:var(--muted-foreground);letter-spacing:.04em;align-items:center;gap:.35rem;font-family:ui-monospace,monospace;font-size:.6875rem;text-decoration:none;display:inline-flex;position:absolute;bottom:1.35rem;right:0}.project-github-link svg{width:.9rem;height:.9rem}.project-preview{z-index:1;opacity:0;filter:grayscale()contrast(1.15);width:11rem;height:7rem;transition:opacity .2s var(--ease-swift), transform .3s var(--ease-spring);position:absolute;top:50%;right:10rem;transform:translateY(-44%)rotate(2deg)scale(.92);-webkit-mask-image:linear-gradient(90deg,#0000,#000 28% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 28% 80%,#0000)}@media (hover:hover) and (pointer:fine){.project-row:hover .project-preview{opacity:.24;transform:translateY(-50%)rotate(-1deg)scale(1)}.project-row:hover .project-copy h2,.project-github-link:hover{color:var(--signal)}}.project-detail-page{padding-top:2rem}.project-back-link,.project-repository-link{width:fit-content;color:var(--muted-foreground);align-items:center;gap:.45rem;font-size:.75rem;text-decoration:none;display:inline-flex}.project-back-link svg,.project-repository-link svg{width:1rem;height:1rem}.project-detail-header{border-bottom:var(--border-hairline) solid var(--border);padding:2rem 0 2.5rem}.project-detail-title-row{justify-content:space-between;gap:3rem;margin-top:1rem;display:flex}.project-detail-title-row h1{letter-spacing:-.055em;font-size:clamp(2.5rem,6vw,5rem);line-height:.96}.project-detail-title-row p{max-width:46rem;color:var(--muted-foreground);margin-top:1.25rem;font-size:1.05rem;line-height:1.75}.project-detail-meta{min-width:7rem;color:var(--muted-foreground);flex-direction:column;align-items:flex-end;font-family:ui-monospace,monospace;font-size:.75rem;display:flex}.project-repository-link{color:var(--foreground);margin-top:1.5rem}.project-readme{width:100%;max-width:58rem;padding:3rem 0 1rem}.project-readme>:first-child{margin-top:0}.project-readme h1,.project-readme h2,.project-readme h3{letter-spacing:-.025em;margin:2.25rem 0 .85rem;line-height:1.2}.project-readme h1{font-size:2rem}.project-readme h2{border-bottom:var(--border-hairline) solid var(--border);padding-bottom:.55rem;font-size:1.45rem}.project-readme h3{font-size:1.15rem}.project-readme p,.project-readme li{color:color-mix(in oklab, var(--foreground) 82%, var(--muted-foreground));line-height:1.8}.project-readme p,.project-readme ul,.project-readme ol,.project-readme pre,.project-readme table,.project-readme blockquote{margin:1rem 0}.project-readme ul,.project-readme ol{padding-left:1.5rem}.project-readme a{color:var(--signal);text-underline-offset:.18em}.project-readme img{border-radius:.25rem;max-width:100%;height:auto;margin:1.5rem 0;display:block}.project-readme code{background:color-mix(in oklab, var(--foreground) 7%, transparent);padding:.12rem .3rem;font-family:ui-monospace,monospace;font-size:.88em}.project-readme pre{background:color-mix(in oklab, var(--foreground) 6%, transparent);max-width:100%;padding:1rem;overflow-x:auto}.project-readme pre code{background:0 0;padding:0}.project-readme blockquote{border-left:.2rem solid var(--signal);padding-left:1rem}.project-readme table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.project-readme th,.project-readme td{border:var(--border-hairline) solid var(--border);text-align:left;padding:.55rem .75rem}.project-readme-empty{color:var(--muted-foreground);padding:3rem 0}.post-layout{grid-template-columns:minmax(0, var(--content-stage-width)) minmax(0, 12rem);justify-content:start;align-items:start;gap:2rem;width:100%;max-width:72rem;margin-inline:auto;padding-inline:1.5rem;display:grid}.post-article{grid-area:1/1;min-width:0;max-width:none;margin-inline:0;padding-inline:0}.post-back-link{color:var(--muted-foreground);letter-spacing:.055em;text-transform:uppercase;transition:color .16s ease, gap .22s var(--ease-swift);align-items:center;gap:.55rem;margin-bottom:1.25rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.6875rem;display:inline-flex;position:relative}.post-back-link:after{content:"";position:absolute;inset:-.8rem -.65rem}.post-back-link>span:first-child{font-size:.875rem;line-height:1}.post-back-link:hover{color:var(--foreground);gap:.72rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.post-hero-cover{background:var(--paper);cursor:default;text-align:left;border:0;width:100%;padding:2% 2% 0;display:block;box-shadow:0 0 0 1px #0000000a,0 2px 4px -1px #0000002e}.post-hero-photo{aspect-ratio:2;background:var(--muted);display:block;position:relative;overflow:hidden}.post-hero-photo:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 2px #00000024}.post-hero-photo>.photo-sprite{filter:none;transition:transform .45s var(--ease-swift)}.post-hero-caption{min-height:1.75rem;color:var(--paper-ink);font-variant-numeric:tabular-nums;letter-spacing:.08em;justify-content:flex-start;align-items:center;gap:1rem;padding:.2rem .125rem;font-family:ui-monospace,monospace;font-size:.6875rem;display:flex}.post-title-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:2.5rem;display:flex}.post-title-heading h1{letter-spacing:-.03em;text-wrap:balance;max-width:42rem;font-size:clamp(1.75rem,4vw,2rem);font-weight:600;line-height:1.18}.post-title-heading .pixel-cluster{flex:none;margin-top:.375rem}.post-spec-plate{border-top:var(--border-hairline) solid var(--border);border-bottom:var(--border-hairline) solid var(--border);color:var(--muted-foreground);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem 1rem;margin:1.5rem 0 0;padding:.625rem 0;font-family:ui-monospace,monospace;display:grid}.post-spec-plate dt{color:color-mix(in oklab, var(--muted-foreground) 72%, transparent);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem}.post-spec-plate dd{color:color-mix(in oklab, var(--foreground) 56%, var(--muted-foreground));letter-spacing:.02em;white-space:nowrap;margin:.1875rem 0 0;font-size:.8125rem}.post-engagement{z-index:20;width:fit-content;color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin-top:1.25rem;font-family:ui-monospace,monospace;font-size:.6875rem;display:flex;position:relative}.post-like-button{min-width:2.75rem;min-height:3.25rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;place-items:center;row-gap:.25rem;padding:.35rem .25rem;transition:color .16s,opacity .16s,transform .1s ease-out;display:grid;position:relative}.post-like-button:hover{color:var(--signal)}.post-like-button:active{transform:scale(.96)}.post-like-button:focus-visible{outline:1px solid var(--foreground);outline-offset:2px}.post-like-button:disabled{cursor:default}.post-like-button[aria-pressed=true]{color:var(--signal)}.post-like-visual{place-items:center;width:1.75rem;height:1.75rem;display:grid;position:relative}.post-like-visual svg{z-index:2;stroke-width:1.65px;width:1.55rem;height:1.55rem;position:relative}.post-like-halo{z-index:1;opacity:0;border:1px solid;border-radius:50%;position:absolute;inset:.15rem}.post-like-spark{--post-like-spark-angle:0deg;z-index:1;opacity:0;width:2px;height:5px;transform:rotate(var(--post-like-spark-angle));background:currentColor;border-radius:999px;position:absolute}.post-like-spark-one{top:-.3rem;left:50%}.post-like-spark-two{--post-like-spark-angle:55deg;bottom:.05rem;right:-.2rem}.post-like-spark-three{--post-like-spark-angle:-55deg;bottom:-.15rem;left:-.1rem}.post-like-count{color:currentColor;font-size:.75rem;font-weight:600;line-height:1}.post-like-button[aria-pressed=true] .post-like-visual svg{animation:.52s cubic-bezier(.2,.9,.25,1.35) post-like-pop}.post-like-button[aria-pressed=true] .post-like-halo{animation:.56s ease-out post-like-halo}.post-like-button[aria-pressed=true] .post-like-spark{animation:.52s ease-out post-like-spark}.post-like-button[aria-pressed=true] .post-like-count{animation:.42s cubic-bezier(.2,.9,.25,1.2) post-like-count}@keyframes post-like-pop{0%{transform:scale(.72)}48%{transform:scale(1.34)rotate(-7deg)}76%{transform:scale(.94)rotate(2deg)}to{transform:scale(1)rotate(0)}}@keyframes post-like-halo{0%{opacity:.65;transform:scale(.45)}to{opacity:0;transform:scale(2.25)}}@keyframes post-like-spark{0%{opacity:0;transform:rotate(var(--post-like-spark-angle)) translateY(0) scaleY(.5)}32%{opacity:.95}to{opacity:0;transform:rotate(var(--post-like-spark-angle)) translateY(-.35rem) scaleY(1)}}@keyframes post-like-count{0%{opacity:.45;transform:translateY(.3rem)}to{opacity:1;transform:translateY(0)}}@media (min-width:64rem){.post-engagement{width:fit-content;height:auto;margin-top:0;position:fixed;bottom:12px;left:12px}}.post-meta-signal{background:var(--signal);vertical-align:.09em;width:5px;height:5px;margin-right:.375rem;display:inline-block}.post-body-stage{counter-reset:post-section;width:100%;max-width:none;margin:2.5rem auto 0 0;animation-delay:.52s}.article-prose{color:var(--gray-10,var(--foreground));letter-spacing:0;font-size:.875rem;line-height:1.9}.article-prose p+p{margin-top:1.25em}.article-prose h2{scroll-margin-top:var(--top-nav-clearance);color:var(--foreground);letter-spacing:-.02em;text-wrap:balance;counter-increment:post-section;margin-top:2.5em;font-size:1.125rem;font-weight:600;line-height:1.35}.article-prose h2:before{border:var(--border-hairline) solid color-mix(in oklab, var(--muted-foreground) 45%, transparent);background:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--muted-foreground) 55%, transparent) 0 1px, transparent 1px 3.5px) right center / .75rem 100% no-repeat, linear-gradient(color-mix(in oklab, var(--muted-foreground) 45%, transparent), color-mix(in oklab, var(--muted-foreground) 45%, transparent)) calc(100% - .75rem) 0 / var(--border-hairline) 100% no-repeat;color:var(--muted-foreground);content:counter(post-section, decimal-leading-zero);letter-spacing:.08em;vertical-align:.125em;margin-right:.625rem;padding:.1875rem 1.1875rem .1875rem .4375rem;font-family:ui-monospace,monospace;font-size:.6875rem;font-weight:400;line-height:1;display:inline-block}.article-prose h2+p{margin-top:1rem}.article-prose hr{border:0;border-top:var(--border-hairline) solid var(--border);width:2.5rem;margin:2.5rem 0}.article-prose .article-end{color:var(--muted-foreground);font-size:.8125rem}.post-content{counter-reset:post-section post-figure}.post-content .article-lead{color:color-mix(in oklab, var(--foreground) 90%, var(--muted-foreground));font-size:.95rem;font-weight:500;line-height:1.8}.post-content>.post-media-figure,.post-content>.article-link-card,.post-content>.article-quote,.post-content>.article-iframe-block,.post-content>.article-iframe-error{margin-block:2.75rem}.post-content>.article-code-block{margin-block:1.75rem 2.25rem}.post-content>h2+.post-media-figure,.post-content>h2+.article-link-card,.post-content>h2+.article-iframe-block{margin-top:1.5rem}.post-media-figure{counter-increment:post-figure;margin-inline:0}.article-quote{margin-inline:0}.post-media-figure figcaption{color:var(--muted-foreground);letter-spacing:.015em;margin-top:.65rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.6875rem;line-height:1.55}.post-media-figure figcaption:before{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent);content:"图 " counter(post-figure, decimal-leading-zero) " —";letter-spacing:.07em;margin-right:.4rem}html[data-lang=en] .post-media-figure figcaption:before{content:"FIG. " counter(post-figure, decimal-leading-zero) " —"}.article-quote{color:color-mix(in oklab, var(--foreground) 84%, var(--muted-foreground));padding:.25rem 0 .25rem 1.4rem;font-size:1rem;line-height:1.75;position:relative}.article-quote:before{inset-block:.2rem;border:var(--border-hairline) solid color-mix(in oklab, var(--muted-foreground) 45%, transparent);background:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--muted-foreground) 58%, transparent) 0 1px, transparent 1px 3.5px);content:"";width:.42rem;position:absolute;left:0}.article-quote footer{color:var(--muted-foreground);letter-spacing:.045em;margin-top:.65rem;font-family:ui-monospace,monospace;font-size:.6875rem}.article-code-block{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 20%, var(--border));background:color-mix(in oklab, var(--surface) 80%, var(--background));border-radius:.25rem;margin-inline:0;overflow:hidden;box-shadow:0 8px 30px #0000000b}.article-code-toolbar{border-bottom:var(--border-hairline) solid var(--border);min-height:2.65rem;color:var(--muted-foreground);letter-spacing:.035em;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .6rem .45rem .9rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.6875rem;display:flex}.article-code-toolbar button{border:var(--border-hairline) solid var(--border);background:var(--background);width:1.8rem;min-height:1.8rem;color:var(--foreground);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.article-code-toolbar button:hover{border-color:color-mix(in oklab, var(--foreground) 38%, var(--border))}.article-code-toolbar svg{width:.8rem;height:.8rem}.article-code-block pre{tab-size:2;margin:0;padding:1.2rem 1.3rem 1.35rem;overflow-x:auto}.article-code-block code{min-width:max-content;color:var(--foreground);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.75;display:block}.article-code-preview{margin-block:0}.article-code-preview pre{max-height:24rem}.article-code-block .hljs-comment,.article-code-block .hljs-quote{color:color-mix(in oklab, var(--muted-foreground) 78%, transparent);font-style:italic}.article-code-block .hljs-keyword,.article-code-block .hljs-selector-tag,.article-code-block .hljs-literal,.article-code-block .hljs-built_in{color:color-mix(in oklab, var(--signal) 78%, var(--foreground))}.article-code-block .hljs-string,.article-code-block .hljs-title,.article-code-block .hljs-section,.article-code-block .hljs-attribute{color:color-mix(in oklab, #2d8068 72%, var(--foreground))}.article-code-block .hljs-number,.article-code-block .hljs-symbol,.article-code-block .hljs-variable,.article-code-block .hljs-template-variable{color:color-mix(in oklab, #8d5ca6 70%, var(--foreground))}.article-code-block .hljs-function .hljs-title,.article-code-block .hljs-title.function_{color:color-mix(in oklab, #426ea8 72%, var(--foreground))}.article-iframe-block{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 20%, var(--border));background:var(--surface);border-radius:.25rem;margin-inline:0;overflow:hidden;box-shadow:0 8px 30px #0000000b}.article-iframe-header{border-bottom:var(--border-hairline) solid var(--border);min-height:2.65rem;color:var(--muted-foreground);letter-spacing:.035em;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .75rem .45rem .9rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.6875rem;display:flex}.article-iframe-header>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-iframe-header a,.article-iframe-block figcaption a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--foreground) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--foreground) 30%, transparent);text-underline-offset:.2em}.article-iframe-header a{flex:none;text-decoration:none}.article-iframe-frame{background:color-mix(in oklab, var(--surface) 76%, var(--background));width:100%;overflow:hidden}.article-iframe-frame iframe{background:#fff;border:0;width:100%;max-width:100%;display:block}.article-iframe-block figcaption{border-top:var(--border-hairline) solid var(--border);color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.55rem .8rem;font-size:.6875rem;line-height:1.55;display:flex}.article-iframe-error{border:var(--border-hairline) solid color-mix(in oklab, var(--signal) 42%, var(--border));background:color-mix(in oklab, var(--signal) 4%, var(--surface));color:var(--muted-foreground);border-radius:.25rem;flex-direction:column;gap:.25rem;margin-inline:0;padding:1rem;font-size:.75rem;line-height:1.6;display:flex}.article-iframe-error strong{color:var(--foreground);font-size:.8125rem;font-weight:600}.article-image-trigger{aspect-ratio:4/3;border:var(--border-hairline) solid var(--border);background:var(--surface);cursor:zoom-in;width:100%;transition:transform .28s var(--ease-swift), box-shadow .28s var(--ease-swift);border-radius:2px;padding:.45rem;display:block;position:relative;transform:rotate(-.35deg);box-shadow:0 3px 12px #0000000f}.article-image-trigger>.photo-sprite,.article-image-trigger>img{object-fit:cover;border-radius:1px;width:100%;height:100%;display:block}.article-image-corners{opacity:0;background:linear-gradient(var(--foreground), var(--foreground)) left top / 9px 1px no-repeat, linear-gradient(var(--foreground), var(--foreground)) left top / 1px 9px no-repeat, linear-gradient(var(--foreground), var(--foreground)) right top / 9px 1px no-repeat, linear-gradient(var(--foreground), var(--foreground)) right top / 1px 9px no-repeat, linear-gradient(var(--foreground), var(--foreground)) left bottom / 9px 1px no-repeat, linear-gradient(var(--foreground), var(--foreground)) left bottom / 1px 9px no-repeat, linear-gradient(var(--foreground), var(--foreground)) right bottom / 9px 1px no-repeat, linear-gradient(var(--foreground), var(--foreground)) right bottom / 1px 9px no-repeat;pointer-events:none;transition:opacity .18s;position:absolute;inset:.18rem}@media (hover:hover) and (pointer:fine){.article-image-trigger:hover{box-shadow:var(--shadow-medium);transform:rotate(0)scale(1.012)}.article-image-trigger:hover .article-image-corners{opacity:.42}}.article-video-frame{border:var(--border-hairline) solid var(--border);background:#111;border-radius:2px;overflow:hidden;box-shadow:0 3px 14px #00000014}.article-video-plate,.article-audio-header{border-bottom:var(--border-hairline) solid var(--border);background:var(--surface);min-height:2rem;color:var(--muted-foreground);letter-spacing:.065em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-inline:.7rem;font-family:ui-monospace,monospace;font-size:.625rem;display:flex}.article-video-frame video{aspect-ratio:16/9;object-fit:cover;background:#111;width:100%;display:block}.article-video-title{color:var(--foreground);margin-top:.7rem;font-size:.8125rem;font-weight:500}.post-audio-block{border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--surface) 72%, transparent);border-radius:2px;overflow:hidden;box-shadow:0 3px 14px #0000000d}.post-audio-block figcaption,.post-audio-block .article-media-error{border-top:var(--border-hairline) solid var(--border);margin:0;padding:.65rem .8rem}.article-audio-main{grid-template-columns:auto minmax(8rem,.9fr) minmax(10rem,1.25fr);align-items:center;gap:1rem;min-height:6.3rem;padding:1rem;display:grid}.article-audio-toggle{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 32%, var(--border));background:var(--background);width:3.2rem;height:3.2rem;box-shadow:inset 0 0 0 .25rem var(--surface), 0 3px 8px #0000000f;cursor:pointer;transition:transform .18s var(--ease-spring), background .18s ease;border-radius:999px;place-items:center;display:grid}.article-audio-toggle:hover{transform:scale(1.055)}.article-audio-toggle:disabled{cursor:not-allowed;opacity:.4}.article-audio-toggle svg{fill:currentColor;stroke:none;width:1.15rem;height:1.15rem}.article-audio-copy{flex-direction:column;min-width:0;display:flex}.article-audio-copy strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.article-audio-copy>span{color:var(--muted-foreground);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-family:ui-monospace,monospace;font-size:.625rem;overflow:hidden}.article-audio-wave{align-items:center;gap:2px;height:2.65rem;display:flex}.article-audio-wave i{background:color-mix(in oklab, var(--foreground) 48%, var(--muted-foreground));opacity:.7;flex:1;width:2px;min-height:3px}.article-audio-scrubber{border-top:var(--border-hairline) solid var(--border);color:var(--muted-foreground);font-variant-numeric:tabular-nums;grid-template-columns:3rem 1fr 3rem;align-items:center;gap:.65rem;padding:.65rem .8rem;font-family:ui-monospace,monospace;font-size:.625rem;display:grid}.article-audio-scrubber span:last-child{text-align:right}.article-audio-scrubber input{cursor:pointer;appearance:none;background:0 0;width:100%;height:1rem;margin:0}.article-audio-scrubber input::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--foreground) var(--audio-progress), var(--border) var(--audio-progress));height:2px}.article-audio-scrubber input::-webkit-slider-thumb{border:1px solid var(--foreground);background:var(--background);appearance:none;border-radius:50%;width:9px;height:9px;margin-top:-3.5px}.article-audio-scrubber input::-moz-range-track{background:var(--border);height:2px}.article-audio-scrubber input::-moz-range-progress{background:var(--foreground);height:2px}.article-audio-scrubber input::-moz-range-thumb{border:1px solid var(--foreground);background:var(--background);border-radius:50%;width:9px;height:9px}.article-media-error{color:var(--signal);font-size:.75rem}.article-link-card{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 16%, var(--border));background:color-mix(in oklab, var(--surface) 38%, transparent);min-height:5.5rem;color:var(--foreground);transition:border-color .18s ease, background-color .18s ease, transform .18s var(--ease-swift);border-radius:2px;grid-template-columns:2.65rem minmax(0,1fr) 2.65rem;align-items:stretch;display:grid;position:relative;overflow:hidden}.article-link-card--with-media{grid-template-columns:2.65rem minmax(0,1fr) clamp(5.5rem,14vw,7.5rem) 2.65rem}.article-link-card:hover,.article-link-card:focus-visible{border-color:color-mix(in oklab, var(--foreground) 34%, var(--border));background:color-mix(in oklab, var(--surface) 76%, var(--background))}.article-link-card:hover{transform:translateY(-1px)}.article-link-card:active{transform:translateY(1px)scale(.997)}.article-link-card:focus-visible{outline:2px solid color-mix(in oklab, var(--foreground) 68%, transparent);outline-offset:3px}.article-link-leading{border-right:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 12%, var(--border));color:color-mix(in oklab, var(--foreground) 58%, var(--muted-foreground));place-items:center;display:grid}.article-link-leading svg{stroke-width:1.5px;width:.9rem;height:.9rem;transition:transform .2s var(--ease-swift)}.article-link-copy{flex-direction:column;justify-content:center;min-width:0;padding:.8rem .9rem;display:flex}.article-link-domain{color:color-mix(in oklab, var(--foreground) 54%, var(--muted-foreground));letter-spacing:.075em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:ui-monospace,monospace;font-size:.6rem;line-height:1.25;overflow:hidden}.article-link-copy strong{overflow-wrap:anywhere;color:var(--foreground);letter-spacing:-.012em;margin-top:.3rem;font-size:.875rem;font-weight:600;line-height:1.35}.article-link-description{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.72rem;line-height:1.45;overflow:hidden}.article-link-preview{border-left:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 12%, var(--border));min-width:0;padding:.45rem 0;display:block}.article-link-preview>.photo-sprite,.article-link-preview>img{object-fit:cover;opacity:.86;width:100%;height:100%;transition:opacity .18s ease, transform .22s var(--ease-swift);border:0;display:block}.article-link-arrow{border-left:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 12%, var(--border));color:color-mix(in oklab, var(--foreground) 76%, var(--muted-foreground));place-items:center;display:grid}.article-link-arrow svg{stroke-width:1.5px;width:.95rem;height:.95rem;transition:transform .2s var(--ease-swift)}.article-link-card:is(:hover,:focus-visible) .article-link-leading svg{transform:translate(1px)}.article-link-card:is(:hover,:focus-visible) .article-link-arrow svg{transform:translate(2px,-2px)}.article-link-card:is(:hover,:focus-visible) .article-link-preview>.photo-sprite,.article-link-card:is(:hover,:focus-visible) .article-link-preview>img{opacity:1;transform:scale(1.015)}.article-lightbox button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;width:1.1rem;height:1.1rem}.article-gallery-grid{columns:3;column-gap:.75rem}.article-gallery-item{border:var(--border-hairline) solid var(--border);background:var(--paper);break-inside:avoid;cursor:zoom-in;width:100%;transition:transform .25s var(--ease-spring), box-shadow .25s ease;border-radius:2px;margin:0 0 .75rem;padding:.32rem .32rem 1.45rem;display:block;position:relative;overflow:hidden;box-shadow:0 3px 10px #00000012}.article-gallery-item:nth-child(6n+1){aspect-ratio:.78;transform:rotate(-.65deg)}.article-gallery-item:nth-child(6n+2){aspect-ratio:1.16;transform:rotate(.4deg)}.article-gallery-item:nth-child(6n+3){aspect-ratio:.92;transform:rotate(-.18deg)}.article-gallery-item:nth-child(6n+4){aspect-ratio:1.32;transform:rotate(.52deg)}.article-gallery-item:nth-child(6n+5){aspect-ratio:.72;transform:rotate(-.36deg)}.article-gallery-item:nth-child(6n+6){aspect-ratio:1.05;transform:rotate(.2deg)}.article-gallery-item>.photo-sprite,.article-gallery-item>img{object-fit:cover;width:100%;height:100%}.article-gallery-item:hover{z-index:1;box-shadow:var(--shadow-medium);transform:translateY(-4px)rotate(0)}.article-gallery-number{color:var(--paper-ink);background:#f6f2e9c7;padding-inline:.22rem;font-family:ui-monospace,monospace;font-size:.55rem;line-height:1.45;position:absolute;top:.55rem;right:.55rem}.article-gallery-label{color:var(--paper-ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;line-height:1.3;position:absolute;bottom:.28rem;left:.4rem;right:.4rem;overflow:hidden}.article-lightbox{z-index:400;cursor:zoom-out;place-items:center;padding:3rem;display:grid;position:fixed;inset:0}.article-lightbox-backdrop{background:color-mix(in oklab, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:article-backdrop-in .26s var(--ease-swift) both;position:absolute;inset:0}.article-lightbox-sheet{z-index:1;cursor:default;width:min(56rem,100vw - 7rem,133.333vh - 12rem);animation:article-sheet-in .3s var(--ease-swift) both;position:relative}.article-lightbox-sheet>.photo-sprite,.article-lightbox-sheet>img{aspect-ratio:4/3;border:.5rem solid var(--paper);background-color:var(--paper);width:100%;max-height:calc(100vh - 9rem);box-shadow:var(--shadow-large);object-fit:cover;border-radius:2px;display:block}.article-image-trigger[data-zoomed]>.photo-sprite,.article-image-trigger[data-zoomed]>img{visibility:hidden}.article-image-lightbox .article-lightbox-backdrop{opacity:0;transition:opacity .3s var(--ease-swift), backdrop-filter .3s var(--ease-swift);animation:none}.article-image-lightbox[data-state=open] .article-lightbox-backdrop{opacity:1}.article-image-lightbox[data-state=closing] .article-lightbox-backdrop{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}.article-image-lightbox-sheet{z-index:1;cursor:default;will-change:transform;transition:transform .32s cubic-bezier(.22,.78,.22,1);animation:none;position:fixed;overflow:visible}.article-lightbox-visual{border:.5rem solid var(--paper);background:var(--paper);box-shadow:var(--shadow-large);border-radius:2px;transition:box-shadow .26s;overflow:hidden}.article-image-lightbox[data-state=opening] .article-lightbox-visual,.article-image-lightbox[data-state=closing] .article-lightbox-visual{box-shadow:0 2px 8px #00000014}.article-lightbox-visual>.photo-sprite,.article-lightbox-visual>img{object-fit:cover;width:100%;height:100%;display:block}.article-image-lightbox .article-lightbox-caption{opacity:0;transition:opacity .18s ease, transform .22s var(--ease-swift);transform:translateY(-8px)}.article-image-lightbox[data-state=open] .article-lightbox-caption{opacity:1;transition-delay:.11s;transform:translateY(0)}.article-image-lightbox .article-lightbox-close{opacity:0;transition:opacity .16s ease, transform .22s var(--ease-spring);transform:scale(.88)}.article-image-lightbox[data-state=open] .article-lightbox-close{opacity:1;transition-delay:.1s;transform:scale(1)}.article-gallery-stage{aspect-ratio:4/3;border:.5rem solid var(--paper);background:var(--paper);width:100%;box-shadow:var(--shadow-large);isolation:isolate;border-radius:2px;position:relative;overflow:hidden}.article-gallery-frame{background:var(--muted);opacity:0;filter:blur(2px);transform:translate3d(calc(var(--gallery-slot) * 9%), 0, 0) scale(.985);transition:opacity .23s ease, filter .26s ease, transform .32s var(--ease-swift);will-change:opacity, transform, filter;position:absolute;inset:0;overflow:hidden}.article-gallery-frame>.photo-sprite,.article-gallery-frame>img{object-fit:cover;width:100%;height:100%;display:block}.article-gallery-frame[data-active]{z-index:2;opacity:1;filter:blur();transform:translate(0,0)scale(1)}.article-gallery-caption[data-direction="1"]{animation:gallery-caption-next-in .26s var(--ease-swift) both}.article-gallery-caption[data-direction="-1"]{animation:gallery-caption-prev-in .26s var(--ease-swift) both}.article-lightbox-caption{border:var(--border-hairline) solid var(--border);background:var(--background);min-height:2.4rem;color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding:.45rem .6rem;font-family:ui-monospace,monospace;font-size:.6875rem;line-height:1.45;display:flex}.article-lightbox-close,.article-gallery-step{z-index:2;border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--background) 82%, transparent);width:2.75rem;height:2.75rem;box-shadow:var(--shadow-tooltip);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;place-items:center;display:grid;position:fixed}.article-lightbox-close{top:max(1rem, env(safe-area-inset-top,0px));right:max(1rem, env(safe-area-inset-right,0px))}.article-gallery-step{top:50%;transform:translateY(-50%)}.article-gallery-step-prev{left:1rem}.article-gallery-step-next{right:1rem}.article-gallery-step:disabled{opacity:.35;cursor:default}@keyframes article-backdrop-in{0%{opacity:0}}@keyframes article-sheet-in{0%{opacity:0;transform:translateY(12px)scale(.965)rotate(-.35deg)}}@keyframes gallery-caption-next-in{0%{opacity:0;transform:translate(6px)}}@keyframes gallery-caption-prev-in{0%{opacity:0;transform:translate(-6px)}}@media (prefers-reduced-motion:reduce){.article-image-trigger,.article-gallery-item,.article-link-card,.article-link-leading svg,.article-link-arrow svg,.article-link-preview>.photo-sprite,.article-link-preview>img,.article-lightbox-backdrop,.article-lightbox-sheet,.article-gallery-frame{transition:none;animation:none}.article-link-card:hover,.article-link-card:active,.article-link-card:is(:hover,:focus-visible) .article-link-leading svg,.article-link-card:is(:hover,:focus-visible) .article-link-arrow svg,.article-link-card:is(:hover,:focus-visible) .article-link-preview>.photo-sprite,.article-link-card:is(:hover,:focus-visible) .article-link-preview>img{transform:none}}.post-comments-root{min-width:0;position:relative}.post-comment-marker{min-width:2.25rem;min-height:2.25rem;color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:-.55em;transition:color .16s ease, transform .16s var(--ease-swift);background:0 0;border:0;justify-content:center;align-items:center;margin:-.45rem -.2rem -.45rem .25rem;padding:.3rem .2rem;line-height:1;display:inline-flex;position:relative}.post-comment-count-bubble{width:auto;height:1.35rem;display:block;overflow:visible}.post-comment-count-bubble path{fill:color-mix(in oklab, var(--background) 84%, transparent);stroke:currentColor;stroke-width:1.15px;vector-effect:non-scaling-stroke}.post-comment-count-bubble text{fill:currentColor;font-variant-numeric:tabular-nums;letter-spacing:-.025em;pointer-events:none;font-family:ui-monospace,SFMono-Regular,monospace;font-size:8px;font-weight:500}.post-comment-marker:hover{color:var(--foreground);transform:translateY(-1px)}.post-comment-marker:active{transform:translateY(0)scale(.96)}.post-comment-selection-action{z-index:var(--z-card);width:2.5rem;height:2.5rem;color:var(--foreground);cursor:pointer;animation:post-comment-action-in .18s var(--ease-spring) both;transition:color .15s ease, transform .15s var(--ease-swift);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.post-comment-selection-action svg{width:1.2rem;height:1.2rem;filter:drop-shadow(0 0 1px var(--background)) drop-shadow(0 0 4px var(--background));stroke-width:1.7px}.post-comment-selection-action:hover{color:var(--signal)}.post-comment-selection-action:focus-visible{outline-offset:.2rem;outline:1px solid}.post-comment-selection-action:active{transform:scale(.97)}@keyframes post-comment-action-in{0%{opacity:0;transform:translateY(.25rem)scale(.92)}}.post-article-comments{border-top:var(--border-hairline) solid var(--border);width:100%;margin-top:5rem;padding-top:1.5rem}.post-comments-heading{flex-direction:column;gap:.45rem;margin-bottom:1.5rem;display:flex}.post-comments-heading h2{color:var(--foreground);letter-spacing:-.025em;font-size:1.25rem;font-weight:600;line-height:1.2}.post-comments-heading p{max-width:34rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.7}.post-comment-composer{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 16%, var(--border));background:color-mix(in oklab, var(--surface) 68%, transparent);border-radius:.25rem;flex-direction:column;gap:1rem;padding:1.15rem;display:flex;position:relative}.post-comment-composer--compact{background:0 0;border:0;border-radius:0;margin-bottom:1.15rem;padding:0}.post-comment-field{flex-direction:column;gap:.38rem;min-width:0;display:flex}.post-comment-field label{color:color-mix(in oklab, var(--foreground) 82%, var(--muted-foreground));font-size:.6875rem;font-weight:500}.post-comment-field input,.post-comment-field textarea{border:var(--border-hairline) solid var(--border);background:var(--background);width:100%;min-width:0;color:var(--foreground);border-radius:.2rem;outline:none;padding:.65rem .72rem;font-size:.8125rem;line-height:1.65;transition:border-color .14s,background-color .14s}.post-comment-field textarea{resize:vertical;min-height:7.25rem}.post-comment-composer--compact .post-comment-field textarea{min-height:5.25rem}.post-comment-field input::placeholder,.post-comment-field textarea::placeholder{color:color-mix(in oklab, var(--muted-foreground) 72%, transparent)}.post-comment-field input:focus,.post-comment-field textarea:focus,.post-comment-field input:focus-visible,.post-comment-field textarea:focus-visible{border-color:var(--border);box-shadow:none;outline:none}.post-comment-field input:disabled{background:color-mix(in oklab, var(--muted) 74%, transparent);color:var(--muted-foreground);cursor:not-allowed}.post-comment-message-field{position:relative}.post-comment-message-field small{color:color-mix(in oklab, var(--muted-foreground) 64%, transparent);pointer-events:none;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.5rem;position:absolute;bottom:.45rem;right:.6rem}.post-comment-identity{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:.75rem;display:grid}.post-comment-saved-identity{background:color-mix(in oklab, var(--foreground) 4%, transparent);min-height:2.25rem;color:var(--muted-foreground);border-radius:.18rem;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .65rem;font-size:.6875rem;display:flex}.post-comment-saved-identity strong{color:var(--foreground);font-weight:500}.post-comment-saved-identity button{color:var(--muted-foreground);cursor:pointer;font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 32%, transparent);text-decoration-color:color-mix(in oklab, currentColor 32%, transparent);text-underline-offset:.22em;background:0 0;border:0;flex:none;padding:0;transition:color .15s}.post-comment-saved-identity button:hover{color:var(--foreground)}.post-comment-compose-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.post-comment-anonymous{min-width:0;color:var(--foreground);cursor:pointer;align-items:center;gap:.45rem;font-size:.6875rem;display:inline-flex}.post-comment-anonymous input{width:.85rem;height:.85rem;accent-color:var(--foreground);margin:0}.post-comment-submit{background:var(--foreground);min-width:7rem;min-height:2.5rem;color:var(--background);cursor:pointer;border-radius:.2rem;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.75rem;font-weight:500;transition:opacity .15s,transform .1s ease-out;display:inline-flex}.post-comment-submit svg{stroke-width:1.7px;width:.85rem;height:.85rem}.post-comment-submit:hover{opacity:.86}.post-comment-submit:active{transform:scale(.98)}.post-comment-submit:disabled{opacity:.58;cursor:wait}.post-comment-spinner{animation:.72s linear infinite post-comment-spin}@keyframes post-comment-spin{to{transform:rotate(1turn)}}.post-comment-form-error{color:var(--signal);font-size:.6875rem;line-height:1.5}.post-comment-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.post-article-comment-log{border-top:var(--border-hairline) solid var(--border);margin-top:2rem;padding-top:1rem}.post-article-comment-log-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.post-article-comment-log-head h3{font-size:.8125rem;font-weight:500}.post-article-comment-log-head span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem}.post-comment-list{flex-direction:column;gap:.55rem;display:flex}.post-comment-list>li{background:color-mix(in oklab, var(--surface) 78%, var(--background));border-radius:.18rem;padding:.75rem .8rem}.post-comment-time{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;margin-top:.28rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem;display:block}.post-comment-list>li>p{min-width:0;color:color-mix(in oklab, var(--foreground) 82%, var(--muted-foreground));overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8125rem;line-height:1.75}.post-comment-attribution{color:var(--foreground);white-space:nowrap;margin-left:.65rem;font-size:.75rem;font-weight:500;display:inline-block}.post-comment-empty{color:var(--muted-foreground);padding:1rem 0;font-size:.75rem;line-height:1.7}.post-comment-loading{min-height:5rem;color:var(--muted-foreground);justify-content:center;align-items:center;gap:.45rem;font-size:.6875rem;display:flex}.post-comment-loading svg{width:.9rem;height:.9rem;animation:.72s linear infinite post-comment-spin}.post-comment-more{border:var(--border-hairline) solid var(--border);min-height:2.25rem;color:var(--muted-foreground);cursor:pointer;border-radius:.2rem;align-items:center;margin-top:1.25rem;padding:.35rem .75rem;font-size:.6875rem;display:inline-flex}.post-comment-more:hover{border-color:color-mix(in oklab, var(--foreground) 34%, var(--border));color:var(--foreground)}.post-comment-more:disabled{opacity:.55;cursor:wait}.post-comment-load-error{min-height:5rem;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:flex-start;gap:.65rem;font-size:.6875rem;display:flex}.post-comment-load-error button{border:var(--border-hairline) solid var(--border);min-height:2.25rem;color:var(--foreground);cursor:pointer;border-radius:.2rem;padding:.35rem .75rem}.post-comment-inline-host{width:100%;animation:post-comment-inline-in .22s var(--ease-swift) both;margin:.9rem 0 1.65rem}.post-comment-inline-host+p{margin-top:1.25em}.post-comment-panel{background:color-mix(in oklab, var(--foreground) 4%, var(--background));width:100%;scroll-margin-top:calc(var(--top-nav-clearance) + 1rem);transition:opacity .22s ease-out, transform .22s var(--ease-swift);border:0;border-radius:.22rem;margin:0;padding:.55rem .7rem .7rem}.post-comment-panel.is-closing{opacity:0;pointer-events:none;transform:translateY(-.25rem)}.post-comment-panel:focus-visible{outline:none}.post-comment-panel>header{justify-content:flex-end;align-items:center;padding:0 0 .25rem;display:flex}.post-comment-panel>header button{width:2.35rem;height:2.35rem;color:var(--muted-foreground);cursor:pointer;transition:color .15s ease, transform .15s var(--ease-swift);background:0 0;border:0;flex:none;place-items:center;display:grid}.post-comment-panel>header button:hover{color:var(--foreground);transform:rotate(4deg)}.post-comment-panel>header svg{width:.85rem;height:.85rem}.post-comment-panel-scroll{overscroll-behavior:contain;scrollbar-width:none;max-height:min(36rem,68dvh);padding:0 0 .25rem;overflow:hidden auto}.post-comment-panel-scroll::-webkit-scrollbar{display:none}@keyframes post-comment-inline-in{0%{opacity:0;transform:translateY(-.35rem)}}@media (max-width:39.99rem){.post-article-comments{margin-top:3.5rem}.post-comment-composer{padding:.9rem}.post-comment-identity{grid-template-columns:1fr}.post-comment-compose-actions{flex-direction:column;align-items:stretch}.post-comment-submit{width:100%}.post-comment-field input,.post-comment-field textarea{font-size:1rem}.post-comment-panel-scroll{max-height:min(32rem,70dvh)}}@media (prefers-reduced-transparency:reduce){.post-comment-panel{background:var(--muted)}}.post-related{width:100%;max-width:none;margin:4rem auto 0 0;padding-top:1rem}.post-related-label{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.6875rem;font-weight:400}.post-related-list{flex-direction:column;margin-top:.75rem;display:flex}@media (min-width:28rem){.post-spec-plate{grid-template-columns:repeat(6,minmax(0,1fr))}}@keyframes vt-defocus{to{opacity:0;filter:blur(2px)}}@keyframes vt-focus{0%{opacity:0;filter:blur(2px)}}::view-transition-group(root){animation:none}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-old(.route-content){animation:vt-defocus .25s var(--ease-swift) both}::view-transition-new(.route-content){animation:vt-focus .3s var(--ease-swift) both}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-swift)}html[data-route-motion=none]::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}html[data-route-motion=none]::view-transition-image-pair(*){animation-duration:0s!important;animation-delay:0s!important}html[data-route-motion=none]::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}html[data-route-motion=none]::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}.post-title-meta{animation:enter-develop .26s var(--ease-swift) .32s backwards}.post-loading-shell{min-height:calc(100svh - 3.5rem)}.post-loading-cover{view-transition-name:var(--post-cover-transition-name,none)}.post-loading-title{background:color-mix(in oklab, var(--muted) 72%, transparent);width:min(80%,28rem);height:2rem;view-transition-name:var(--post-title-transition-name,none)}.post-loading-photo{background:linear-gradient(115deg, transparent 22%, #ffffff29 45%, transparent 68%) 100% 0 / 220% 100%, color-mix(in oklab, var(--surface) 78%, var(--muted));animation:1.35s ease-in-out infinite image-glass-drift}.post-loading-photo:before{background:color-mix(in oklab, var(--surface) 42%, transparent);-webkit-backdrop-filter:blur(18px)saturate(.72);content:"";position:absolute;inset:0}.post-loading-caption{background:color-mix(in oklab, var(--paper-ink) 15%, transparent);width:6rem;height:.5rem;display:block}.post-loading-meta{border-block:var(--border-hairline) solid var(--border);background:linear-gradient(90deg, transparent 24%, var(--border) 24% 24.2%, transparent 24.2% 49%, var(--border) 49% 49.2%, transparent 49.2% 74%, var(--border) 74% 74.2%, transparent 74.2%);height:3.4rem;margin-top:1.5rem}.post-loading-body{flex-direction:column;gap:.75rem;margin-top:2.5rem;display:flex}.post-loading-body span{background:color-mix(in oklab, var(--muted) 55%, transparent);height:.6rem;display:block}.post-loading-body span:nth-child(2){width:91%}.post-loading-body span:nth-child(3){width:72%}.post-toc{z-index:10;top:var(--top-nav-clearance);width:100%;height:calc(100svh - var(--top-nav-clearance) - 4rem);min-width:0;min-height:0;color:var(--muted-foreground);flex-direction:column;grid-area:1/2;padding:.25rem 0 1rem;font-size:.8125rem;display:flex;position:sticky;overflow:hidden}.post-toc-badge{width:1.25rem;height:1.25rem;color:color-mix(in oklab, var(--muted-foreground) 70%, transparent);place-items:center;display:grid}.post-toc-badge svg{fill:none;stroke:currentColor;stroke-width:.75px;width:100%;height:100%}.post-toc-kicker{color:color-mix(in oklab, var(--muted-foreground) 72%, transparent);letter-spacing:.08em;text-transform:uppercase;margin-top:.7rem;font-family:ui-monospace,monospace;font-size:.625rem;display:block}.post-toc-scroll{flex:1;min-width:0;min-height:0;margin-top:1.35rem;position:relative;overflow:hidden}.post-toc-map{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;gap:.45rem;width:100%;min-width:0;min-height:0;max-height:100%;padding:.5rem .5rem 1.25rem 0;display:flex;overflow:hidden auto}.post-toc-map::-webkit-scrollbar{display:none}.post-toc-node{flex:none;align-items:center;height:1px;min-height:1px;display:flex}.post-toc-node[data-kind=landmark]{align-items:flex-start;height:auto;min-height:1rem}.post-toc-node>a{width:100%;min-width:0;max-width:100%;height:auto;min-height:1rem;color:color-mix(in oklab, var(--muted-foreground) 76%, transparent);outline:none;align-items:flex-start;gap:.5rem;font-weight:400;line-height:1rem;transition:color .15s;display:flex;position:relative}.post-toc-node>a:after{content:"";border-radius:.375rem;position:absolute;inset:-.25rem 0}.post-toc-node>a:focus-visible:after{outline:1px solid var(--foreground);outline-offset:-2px}.post-toc-tick{background:color-mix(in oklab, var(--muted-foreground) 55%, transparent);transform-origin:0;flex:none;width:1.25rem;height:1px;transition:background-color .15s,transform .15s;display:block}.post-toc-node>.post-toc-tick{opacity:.55}.post-toc-node>a>.post-toc-tick{margin-top:.5rem}.post-toc-label{overflow-wrap:anywhere;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:9.75rem;max-height:2rem;line-height:1rem;transition:transform .15s;display:-webkit-box;position:relative;overflow:hidden;transform:translate(0)}.post-toc-node>a[data-variant=title]{font-weight:500}.post-toc-node>a[aria-current=location],.post-toc-node>a:focus-visible{color:var(--foreground)}.post-toc-node>a[aria-current=location] .post-toc-tick,.post-toc-node>a:focus-visible .post-toc-tick{background:var(--foreground);transform:scaleX(1.6)}.post-toc-node>a[aria-current=location] .post-toc-label,.post-toc-node>a:focus-visible .post-toc-label{transform:translate(.5rem)}.post-toc-top{min-width:2.75rem;min-height:2.75rem;color:color-mix(in oklab, var(--muted-foreground) 82%, transparent);cursor:pointer;font:inherit;opacity:0;pointer-events:none;visibility:hidden;background:0 0;border:0;outline:none;flex:none;align-self:flex-start;align-items:center;gap:.375rem;margin-top:1rem;transition:color .15s,opacity .15s;display:inline-flex}.post-toc-top[data-visible]{opacity:1;pointer-events:auto;visibility:visible}.post-toc-top svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:.75rem;height:.75rem}.post-toc-top:focus-visible{outline:1px solid var(--foreground);outline-offset:2px}@media (hover:hover) and (pointer:fine){.post-toc-node>a:hover,.post-toc-top:hover{color:var(--foreground)}.post-toc-node>a:hover .post-toc-tick{background:var(--foreground);transform:scaleX(1.6)}.post-toc-node>a:hover .post-toc-label{transform:translate(.5rem)}}@media (max-width:79.99rem){.post-layout{max-width:72rem;display:block}.post-article{width:min(100%, var(--content-stage-width))}.post-toc{display:none}body:has(.post-layout) .ambient-background__guide-frame{width:min(72rem,100vw - 3rem)}}.database-photo{object-fit:cover;filter:saturate(.86)contrast(.96);width:100%;height:100%;display:block}.print-thumb,.archive-thumb,.photo-tile,.project-preview,.lightbox-database-photo{position:relative}.lightbox-database-photo{aspect-ratio:1;background:var(--paper);width:100%;display:block;overflow:hidden}.ama-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.ama-note input{border:var(--border-hairline) solid var(--border);background:var(--background);width:100%;min-height:2.75rem;color:var(--foreground);margin-top:.45rem;padding:.65rem .75rem}@media (max-width:40rem){.ama-contact-grid{grid-template-columns:1fr}}.ama-intro-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3.5rem;display:grid}.ama-intro-grid p{color:var(--muted-foreground);margin-top:.8rem}.ama-panel{border:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--surface) 70%, transparent);flex-direction:column;gap:2rem;padding:1.5rem;display:flex;box-shadow:0 12px 34px #0000000d}.ama-panel fieldset{border:0;min-width:0;margin:0;padding:0}.ama-panel legend,.ama-note>span{margin-bottom:.75rem;font-size:.8125rem;font-weight:500}.choice-list{border-top:var(--border-hairline) solid var(--border)}.choice-row{border-bottom:var(--border-hairline) solid var(--border);color:var(--muted-foreground);cursor:pointer;grid-template-columns:1rem 2rem 1fr;align-items:center;gap:.6rem;padding-block:.72rem;transition:color .15s;display:grid}.choice-row[data-selected]{color:var(--foreground)}.choice-row input{width:.8rem;height:.8rem;accent-color:var(--foreground)}.choice-index{font-family:ui-monospace,monospace;font-size:.625rem}.slot-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.slot-grid button{border:var(--border-hairline) solid var(--border);min-height:2.75rem;color:var(--muted-foreground);cursor:pointer;padding:.45rem;font-size:.75rem}.slot-grid button[data-selected]{background:var(--foreground);color:var(--background)}.ama-note{flex-direction:column;display:flex}.ama-note textarea{resize:vertical;border:var(--border-hairline) solid var(--border);background:var(--background);border-radius:0;width:100%;padding:.75rem;font-size:1rem;line-height:1.5}.primary-button,.text-button{cursor:pointer;justify-content:center;align-items:center;min-height:2.75rem;padding:.55rem 1rem;font-size:.8125rem;display:inline-flex}.primary-button{background:var(--foreground);color:var(--background);align-self:flex-start}.text-button{color:var(--muted-foreground);border-bottom:1px dotted;padding-inline:0}.ama-confirmation{border:var(--border-hairline) solid var(--border);flex-direction:column;justify-content:center;align-items:flex-start;min-height:22rem;padding:2rem;display:flex}.confirmation-stamp{color:var(--muted-foreground);letter-spacing:.08em;border:1px solid;align-items:center;gap:.45rem;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:.625rem;display:inline-flex}.confirmation-stamp span{background:var(--signal);width:5px;height:5px}.ama-confirmation h2{margin-top:1.25rem;font-size:1.5rem;font-weight:600}.ama-confirmation p{max-width:28rem;color:var(--muted-foreground);margin-top:.75rem}.ama-confirmation .text-button{margin-top:1.5rem}.not-found{min-height:60vh;padding-top:5rem}.not-found>p:not(.page-eyebrow){max-width:26rem;color:var(--muted-foreground);margin-top:1rem}.not-found .primary-button{margin-top:2rem}.dock-shell{z-index:var(--z-nav);pointer-events:none;width:100%;position:fixed;top:0;left:0;right:0}.dock{width:100%;min-height:var(--dock-height);padding-top:env(safe-area-inset-top,0px);border-bottom:var(--border-hairline) solid var(--border);background:color-mix(in oklab, var(--background) 82%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.28);backdrop-filter:blur(20px)saturate(1.28);pointer-events:auto;transition:background-color .22s var(--ease-swift), box-shadow .22s var(--ease-swift);border-radius:0;display:block;position:relative;box-shadow:0 10px 28px #0000000f,inset 0 -1px #ffffff1f}.dock-inner{width:100%;max-width:72rem;min-height:var(--dock-height);justify-content:space-between;align-items:center;gap:2rem;margin-inline:auto;padding-inline:1.5rem;display:flex}.dock-brand{color:var(--foreground);flex:none;align-items:center;transition:opacity .15s,transform .1s ease-out;display:flex}.dock-brand-logo{width:6.9rem;height:auto;display:block}.admin-shell{--radius:.45rem;background:color-mix(in oklab, var(--background) 97%, var(--muted))}.admin-shell [data-slot=card]{box-shadow:inset 0 0 0 .5px color-mix(in oklab, var(--foreground) 16%, transparent);--tw-ring-shadow:0 0 #0000;border-radius:.5rem}.admin-shell [data-slot=card-header],.admin-shell [data-slot=card-footer]{border-color:color-mix(in oklab, var(--foreground) 11%, transparent)}.admin-shell [data-slot=accordion-item]{border-color:color-mix(in oklab, var(--foreground) 12%, transparent)}.admin-shell [data-slot=input],.admin-shell [data-slot=textarea],.admin-shell [data-slot=native-select]{border-color:color-mix(in oklab, var(--foreground) 16%, transparent);box-shadow:none;border-radius:.375rem}.admin-shell [data-slot=input]:focus-visible,.admin-shell [data-slot=textarea]:focus-visible{border-color:color-mix(in oklab, var(--foreground) 16%, transparent);box-shadow:none;outline:none}.admin-shell [data-slot=input-group]:has([data-slot=input-group-control]:focus-visible){border-color:color-mix(in oklab, var(--foreground) 16%, transparent);box-shadow:none;outline:none}.admin-shell [data-slot=button]{border-radius:.375rem}.admin-root [data-slot=button][data-variant=default]{background:var(--primary);color:var(--primary-foreground)}.admin-root [data-slot=button][data-variant=outline]{border-color:var(--border);background:var(--background);color:var(--foreground)}.admin-root [data-slot=button][data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}.admin-root [data-slot=button][data-variant=destructive]{background:color-mix(in oklab, var(--destructive) 12%, transparent);color:var(--destructive)}.admin-shell .admin-panel-card{gap:0;padding-block:0}.admin-shell .admin-panel-card>[data-slot=card-header]{padding-block:1rem}.admin-shell .admin-panel-card>[data-slot=card-content]{padding-bottom:1rem}.brand-logo-light-ray{--brand-logo-ray-core:#fffaf0;--brand-logo-ray-edge:#fff0d8;mix-blend-mode:screen;opacity:0;transform-origin:50%;will-change:opacity, transform;animation:5.2s cubic-bezier(.45,0,.55,1) infinite brand-light-sweep;transform:translate(-64px,54px)}.brand-logo-light-ray-aura{opacity:.16;filter:blur(24px)}.brand-logo-light-ray-surface{opacity:.76;filter:blur(8px)}.brand-logo-light-ray-core{opacity:1;filter:blur(2.5px)}html[data-theme=dark] .brand-logo-light-ray{--brand-logo-ray-core:#bdb7ae;--brand-logo-ray-edge:#7c766e;mix-blend-mode:normal}html[data-theme=dark] .brand-logo-light-ray-aura{opacity:.22}html[data-theme=dark] .brand-logo-light-ray-surface{opacity:.82}html[data-theme=dark] .brand-logo-light-ray-core{opacity:1}@keyframes brand-light-sweep{0%,8%{opacity:0;transform:translate(-64px,54px)}16%{opacity:.2}26%,62%{opacity:.94}72%{opacity:.28}80%{opacity:0;transform:translate(474px,-54px)}to{opacity:0;transform:translate(474px,-54px)}}@media (prefers-reduced-motion:reduce){.brand-logo-light-ray{animation:none;display:none}.post-like-button[aria-pressed=true] .post-like-visual svg,.post-like-button[aria-pressed=true] .post-like-halo,.post-like-button[aria-pressed=true] .post-like-spark,.post-like-button[aria-pressed=true] .post-like-count{animation:none}}.dock-brand:active{transform:translateY(1px)}.dock-primary{align-items:center;gap:clamp(1.5rem,3vw,2.75rem);min-width:0;display:flex}.dock-actions{align-items:center;gap:.5rem;min-width:0;display:flex}.site-search{flex:none;place-items:center;display:grid}.header-search-toggle,.header-theme-toggle,.dock-menu-toggle{width:2.75rem;height:2.75rem;color:var(--muted-foreground);cursor:pointer;border-radius:999px;flex:none;place-items:center;transition:color .16s,background-color .18s,transform .12s ease-out;display:grid;position:relative}.header-search-toggle:before,.header-theme-toggle:before,.dock-menu-toggle:before{border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 15%, transparent);border-radius:inherit;background:color-mix(in oklab, var(--surface) 72%, transparent);content:"";position:absolute;inset:.38rem}.header-search-toggle svg{z-index:1;width:1.05rem;height:1.05rem;position:relative}.header-search-toggle:active,.header-theme-toggle:active,.dock-menu-toggle:active{transform:scale(.94)}.dock-menu-toggle{display:none}.dock-menu-toggle>span{z-index:1;place-items:center;display:grid;position:relative}.dock-menu-toggle svg{stroke-width:1.7px;width:1.05rem;height:1.05rem}.dock-mobile-scrim{display:none}.site-search-layer{z-index:10;padding:calc(var(--top-nav-clearance) + .75rem) 1rem 1rem;background:color-mix(in oklab, var(--background) 58%, transparent);-webkit-backdrop-filter:blur(8px)saturate(.82);backdrop-filter:blur(8px)saturate(.82);place-items:start center;animation:.18s both search-layer-in;display:grid;position:fixed;inset:0}.site-search-dialog{width:min(42rem,100vw - 2rem);max-height:calc(100dvh - var(--top-nav-clearance) - 2rem);border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 18%, var(--border));background:linear-gradient(color-mix(in oklab, var(--surface) 88%, transparent), color-mix(in oklab, var(--background) 94%, transparent));box-shadow:0 24px 64px color-mix(in oklab, var(--foreground) 16%, transparent), inset 0 1px #ffffff2e;animation:search-dialog-in .28s var(--ease-swift) both;border-radius:2px;flex-direction:column;display:flex;overflow:hidden}.site-search-field{border-bottom:var(--border-hairline) solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:3.75rem;padding:0 1rem;display:grid}.site-search-field>svg{width:1.1rem;height:1.1rem;color:var(--muted-foreground)}.site-search-field input{width:100%;min-width:0;color:var(--foreground);letter-spacing:-.02em;background:0 0;border:0;outline:0;padding:0;font-size:1rem}.site-search-field input::placeholder{color:color-mix(in oklab, var(--muted-foreground) 72%, transparent)}.site-search-field input::-webkit-search-cancel-button{display:none}.site-search-close{border:var(--border-hairline) solid var(--border);color:var(--muted-foreground);cursor:pointer;letter-spacing:.08em;padding:.2rem .35rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.575rem;line-height:1.2}.site-search-status{color:var(--muted-foreground);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem;display:flex}.site-search-results{overscroll-behavior:contain;border-top:var(--border-hairline) solid var(--border);scrollbar-width:thin;overflow-y:auto}.site-search-result{border-bottom:var(--border-hairline) solid var(--border);grid-template-columns:3.75rem minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:4.35rem;padding:.65rem 1rem;transition:background-color .15s,color .15s;display:grid;position:relative}.site-search-result:before{background:var(--signal);content:"";opacity:0;width:2px;transition:opacity .15s ease, transform .22s var(--ease-swift);position:absolute;top:.6rem;bottom:.6rem;left:0;transform:scaleY(.4)}.site-search-result[data-active]{background:color-mix(in oklab, var(--foreground) 4.5%, transparent)}.site-search-result[data-active]:before{opacity:1;transform:scaleY(1)}.site-search-kind,.site-search-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.625rem}.site-search-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.site-search-copy strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;line-height:1.4;overflow:hidden}.site-search-copy small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.45;overflow:hidden}.site-search-empty{border-top:var(--border-hairline) solid var(--border);min-height:12rem;color:var(--muted-foreground);text-align:center;align-content:center;place-items:center;gap:.25rem;padding:2rem;display:grid}.site-search-empty>span{font-family:ui-monospace,monospace;font-size:1.2rem}.site-search-empty p{color:var(--foreground);font-size:.8125rem}.site-search-empty small{font-size:.6875rem}.site-search-loading>span{letter-spacing:.2em;animation:.9s ease-in-out infinite alternate search-loading-pulse}@keyframes search-layer-in{0%{opacity:0}}@keyframes search-dialog-in{0%{opacity:0;transform:translateY(-.65rem)scale(.985)}}@keyframes search-loading-pulse{0%{opacity:.25}to{opacity:.85}}.dock-links{align-items:center;gap:clamp(1.25rem,3vw,2.5rem);min-width:0;display:flex}.dock-item{min-width:0;height:var(--dock-height);color:var(--muted-foreground);cursor:pointer;letter-spacing:.045em;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:400;transition:color .15s,background-color .18s,transform .1s ease-out;display:flex;position:relative}.dock-item:active{transform:scale(.97)}.dock-item[data-active]{color:var(--foreground);font-weight:500}.dock-item-label{text-overflow:ellipsis;white-space:nowrap;line-height:1;display:block;overflow:hidden}.dock-item[data-active] .dock-item-label{text-underline-offset:.32rem;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.dock-brand:hover{opacity:.68}.dock-item:hover{color:var(--foreground)}}.header-theme-toggle{margin-right:0}.theme-toggle-icon{transition:opacity .22s ease, transform .32s var(--ease-swift);place-items:center;display:grid;position:absolute;inset:0}.theme-toggle-icon svg{width:1.05rem;height:1.05rem}.theme-toggle-sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle-moon{opacity:0;transform:rotate(-35deg)scale(.72)}html[data-theme=dark] .theme-toggle-sun{opacity:0;transform:rotate(35deg)scale(.72)}html[data-theme=dark] .theme-toggle-moon{opacity:1;transform:rotate(0)scale(1)}@media (max-width:55.99rem){.about-page .home-hero{padding-inline:clamp(.75rem,4vw,2rem)}}@media (max-width:39.99rem){:root{--column-width:100%}.ambient-background__guide-frame{width:calc(100vw - 2.5rem);left:50%}body:has(.post-layout) .ambient-background__guide-frame{width:calc(100vw - 2.5rem);left:50%}.site-main{padding-top:var(--top-nav-clearance)}.page-column,.post-layout{padding-inline:1.25rem}.post-layout>.post-article{padding-inline:0}.column-guide:first-child,.column-guide-v:first-child,.guide-line:first-child{left:1rem}.column-guide:last-child,.column-guide-v:last-child,.guide-line:last-child{right:1rem}.home-hero{flex-direction:column-reverse;gap:2.5rem}.home-copy{width:100%}.home-portrait{flex-basis:auto;width:9.35rem;margin-left:.45rem}.home-introduction{line-height:1.78}.about-page .home-hero{margin-inline:0;padding-inline:0}.about-page .nav-cards{margin-top:2.25rem}.nav-cards{margin-inline:-1.25rem}.nav-card{gap:.125rem;padding:1.25rem .35rem 1rem}.nav-vignette{height:3.25rem;margin-bottom:.25rem}.nav-card-label{font-size:.8125rem;line-height:1.25}.nav-card-meta{white-space:nowrap;font-size:.75rem;line-height:1.25}.home-section{margin-top:4rem}.post-row{grid-template-columns:4rem minmax(0,auto) minmax(.75rem,1fr) max-content;gap:.55rem}.print-pile{width:4rem;height:2.75rem}.post-row-title{-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-wrap:balance;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box}.post-row-date{font-size:.8125rem}.post-row-stats{display:none}.vinyl-viewport{margin-inline:-1.25rem}.vinyl-track{justify-content:flex-start;padding-inline:1.25rem}.vinyl{flex-basis:4.65rem;width:4.65rem;height:6.6rem}.shelf-plank{margin-inline:-.4rem}.bookshelf{scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.bookshelf::-webkit-scrollbar{display:none}.book{flex-basis:1.42rem;width:1.42rem}.book[data-active]{flex-basis:6rem;width:6rem}.book-cover{width:6rem}.site-footer{max-width:100%;margin-top:4rem;padding:0 1.25rem}.page-header{padding-bottom:2.75rem}.page-title-row h1{font-size:1.75rem}.photo-wall{columns:2;column-gap:.75rem}.photo-tile{margin-bottom:.9rem}.photo-tile:nth-child(3n+2),.photo-tile:nth-child(2n){transform:rotate(.7deg)}.lightbox{padding-inline:.75rem}.lightbox-sheet{width:min(100%,100svh - 10rem)}.lightbox-sheet>.photo-sprite{aspect-ratio:1}.lightbox-plate{grid-template-columns:1fr}.lightbox-plate>span+span{border-top:var(--border-hairline) solid var(--border);border-left:0}.project-row-link{grid-template-columns:2rem minmax(0,1fr);gap:.65rem;padding-bottom:3rem}.project-meta{flex-direction:row;grid-column:2;align-items:flex-start;gap:.75rem;font-size:.6875rem}.project-github-link{left:2.65rem;right:auto}.project-preview{display:none}.project-detail-title-row{flex-direction:column;gap:1rem}.project-detail-meta{flex-direction:row;align-items:flex-start;gap:.75rem}.project-readme{padding-top:2rem}.guestbook-layout{grid-template-columns:1fr;gap:2.5rem}.guestbook-composer{position:static}.guestbook-list{grid-template-columns:1fr;gap:1rem}.guestbook-entry,.guestbook-entry:nth-child(n){margin-top:0;transform:none}.guestbook-entry>article{padding:1.1rem}.archive-ledger>div{padding-inline:.65rem}.archive-ledger>div:first-child{padding-left:0}.archive-ledger dt{font-size:.625rem}.archive-ledger dd{font-size:.6875rem}.archive-timeline{margin-top:2.5rem}.archive-year{grid-template-columns:1fr;gap:.75rem}.archive-year+.archive-year{margin-top:3rem}.archive-year-label{align-items:baseline;gap:.75rem;min-height:2.5rem;display:flex;position:relative;top:auto}.archive-year-label>span{font-size:4rem;top:-.75rem;left:auto;right:0}.archive-year-list{margin-left:.2rem}.archive-entry{grid-template-columns:3.15rem 3.75rem minmax(0,1fr);gap:.65rem;min-height:5.6rem;padding-left:1rem}.archive-thumb{width:3.75rem}.archive-entry-copy>span,.archive-entry-meta{display:none}.archive-entry-copy h3{white-space:normal;text-wrap:balance}.article-prose{font-size:.9rem}.post-title-heading h1{font-size:1.75rem}.ama-intro-grid{grid-template-columns:1fr;gap:2rem}.ama-panel{margin-inline:-.25rem;padding:1rem}.slot-grid{grid-template-columns:1fr}.dock-shell{width:100%;max-width:none}.dock{width:100%}.dock-inner{padding-right:max(1rem, env(safe-area-inset-right,0px));padding-left:max(1rem, env(safe-area-inset-left,0px));gap:.5rem}.dock-brand-logo{width:6.25rem}.dock-primary{gap:clamp(1rem,4vw,1.5rem)}.dock-actions{gap:.25rem}.dock-links{gap:clamp(.75rem,3vw,1rem)}.dock-item{min-width:0;height:var(--dock-height);padding:0}.site-search-layer{padding:calc(var(--top-nav-clearance) + .45rem) .5rem .5rem}.site-search-dialog{width:100%;max-height:calc(100dvh - var(--top-nav-clearance) - 1rem)}.site-search-field{gap:.65rem;min-height:3.4rem;padding-inline:.8rem}.site-search-status{padding-inline:.8rem}.site-search-result{grid-template-columns:2.6rem minmax(0,1fr);gap:.65rem;min-height:4.2rem;padding-inline:.8rem}.site-search-meta{display:none}}@media (max-width:32rem){:root{--top-nav-clearance:calc(var(--dock-height) + var(--dock-edge-gap) * 2 + env(safe-area-inset-top,0px))}}@media (max-width:39.99rem){.dock{z-index:2}.dock-inner{min-height:var(--dock-height)}.dock-primary{flex:1;min-width:0}.dock-brand-logo{width:5.9rem}.dock-actions{flex:none}.dock-menu-toggle{display:grid}.dock-links{top:calc(100% + .5rem);right:max(1rem, env(safe-area-inset-right,0px));left:max(1rem, env(safe-area-inset-left,0px));border:var(--border-hairline) solid color-mix(in oklab, var(--foreground) 16%, var(--border));background:color-mix(in oklab, var(--background) 94%, transparent);height:auto;box-shadow:0 18px 48px color-mix(in oklab, var(--foreground) 12%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.15);backdrop-filter:blur(20px)saturate(1.15);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .16s ease, transform .22s var(--ease-swift), visibility 0s linear .22s;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:.35rem;display:grid;position:absolute;overflow:hidden;transform:translateY(-.4rem)}.dock[data-mobile-open] .dock-links{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translateY(0)}.dock-item{background:color-mix(in oklab, var(--foreground) 2.5%, transparent);justify-content:flex-start;height:2.75rem;padding-inline:.75rem}.dock-item:last-child{grid-column:1/-1}.dock-item[data-active]{background:color-mix(in oklab, var(--foreground) 7%, transparent)}.dock-item[data-active]:before{background:var(--signal);content:"";width:4px;height:4px;margin-right:.5rem}.dock-mobile-scrim{z-index:1;background:color-mix(in oklab, var(--background) 18%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);pointer-events:auto;border:0;display:block;position:fixed;inset:0}.post-title-heading h1,.article-prose h2{text-wrap:wrap}.post-engagement{z-index:80;right:max(12px, env(safe-area-inset-right,0px));bottom:max(12px, env(safe-area-inset-bottom,0px));margin-top:0;position:fixed;left:auto}.post-content>.post-media-figure,.post-content>.article-link-card,.post-content>.article-quote,.post-content>.article-code-block{margin-block:1.5rem 1.9rem}.article-code-block pre{padding:1rem}.article-code-block code{font-size:.72rem}.article-image-trigger{padding:.35rem}.article-video-plate,.article-audio-header{padding-inline:.6rem}.article-audio-main{grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding:.85rem}.article-audio-wave{grid-column:1/-1;height:2.15rem}.article-audio-scrubber{grid-template-columns:2.6rem 1fr 2.6rem;gap:.45rem;padding-inline:.7rem}.article-link-card{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem;min-height:5rem}.article-link-preview{display:none}.article-link-card--with-media{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem}.article-link-copy{padding:.72rem .75rem}.article-link-copy strong{font-size:.82rem}.article-link-description{font-size:.7rem}.article-gallery-grid{columns:2;column-gap:.6rem}.article-gallery-item{margin-bottom:.6rem}.article-lightbox{padding:3.5rem .75rem 5rem}.article-lightbox-sheet{width:100%}.article-lightbox-sheet>.photo-sprite,.article-lightbox-sheet>img{aspect-ratio:1.15;max-height:calc(100vh - 10rem)}.article-lightbox-caption{flex-direction:column;align-items:flex-start;gap:.25rem}.article-gallery-step{top:auto;bottom:.85rem;transform:none}.article-gallery-step-prev{left:calc(50% - 3.2rem)}.article-gallery-step-next{right:calc(50% - 3.2rem)}}@media (max-width:25rem){.dock-item{letter-spacing:.03em;font-size:.6875rem}}@media (max-width:22rem){.dock-inner{gap:0 .5rem;padding-inline:.75rem}.dock-links{gap:.65rem}.dock-item{letter-spacing:.015em}}@media (prefers-reduced-transparency:reduce){.dock{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){.dock{box-shadow:0 0 0 1px var(--foreground)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.portrait-contours{display:none}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-image-pair(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}
