:root{--u:clamp(1px, calc(1px + (100vw - 1440px) * .000196), 1.22px);--paper:#fbf2ed;--paper-2:#f7ece5;--paper-3:#f2e4da;--ink-900:#23100d;--ink-700:#3a2e24;--ink-600:#4a3a31;--ink-500:#5c443d;--ink-400:#6f5b49;--ink-300:#8b7663;--ochre:#ae674e;--ochre-deep:#8a4531;--ochre-hover:#6f3a0c;--ochre-light:#c9803a;--rule:rgb(var(--ink-rgb) / .12);--rule-soft:rgb(var(--ink-rgb) / .08);--rule-strong:rgb(var(--ink-rgb) / .22);--rule-invert:rgb(var(--paper-rgb) / .14);--shadow-soft:0 calc(18 * var(--u)) calc(22 * var(--u)) rgb(var(--shadow-rgb) / .16);--shadow-deep:0 calc(30 * var(--u)) calc(60 * var(--u)) calc(-30 * var(--u)) rgb(var(--shadow-rgb) / .35);--shadow-land:0 calc(10 * var(--u)) calc(14 * var(--u)) rgb(var(--shadow-rgb) / .2);--serif:var(--font-serif-cjk), "Songti SC", "SimSun", "Source Han Serif SC", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--t-micro:calc(11 * var(--u));--t-xs:calc(11.5 * var(--u));--t-sm:calc(13 * var(--u));--t-base:calc(17 * var(--u));--t-lg:calc(20 * var(--u));--t-xl:calc(24 * var(--u));--t-2xl:calc(34 * var(--u));--t-3xl:calc(44 * var(--u));--t-hero:clamp(calc(40 * var(--u)), 5.2vw, calc(72 * var(--u)));--pad:clamp(calc(24 * var(--u)), 7.2vw, calc(104 * var(--u)));--pad-top:clamp(calc(96 * var(--u)), 12vw, calc(176 * var(--u)));--measure:34em;--hero-h:clamp(calc(620 * var(--u)), max(42.7vw, 70svh), min(calc(1040 * var(--u)), 92svh));--ease-spring:linear(0, .06 2.4%, .23 5.2%, .5 9.4%, .78 14.6%, .95 19.8%, 1.03 25%, 1.045 29.5%, 1.04 33.5%, 1.02 40%, 1.003 48%, .997 58%, 1 75%, 1);--bar-h:calc(56 * var(--u));--bar-inset:calc(12 * var(--u));--nav-h:calc(68 * var(--u));--ease-out:cubic-bezier(.16,.8,.24,1);--ease-soft:cubic-bezier(.2,.6,.2,1);--dur-fast:.16s;--dur-base:.24s;--dur-slow:.3s;--dur-hero:2.05s;--paper-rgb:251 242 237;--ink-rgb:35 16 13;--ochre-rgb:174 103 78;--gold-rgb:201 128 58;--ochre-deep-rgb:138 69 49;--shadow-rgb:90 58 26;--light-rgb:255 244 232;--scene-filter:saturate(.94) contrast(1.01);--figure-filter:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#1a1311;--paper-2:#221916;--paper-3:#2a1f1b;--ink-900:#f3e7de;--ink-700:#e6d6ca;--ink-600:#d6c2b4;--ink-500:#c9b3a5;--ink-400:#a8907f;--ink-300:#8c7566;--ochre:#d98e6c;--ochre-deep:#e3a182;--ochre-hover:#f0bfa4;--ochre-light:#e7a879;--rule:rgb(var(--ink-rgb) / .14);--rule-soft:rgb(var(--ink-rgb) / .08);--rule-strong:rgb(var(--ink-rgb) / .24);--rule-invert:#1a13114d;--paper-rgb:26 19 17;--ink-rgb:243 231 222;--ochre-rgb:217 142 108;--gold-rgb:226 170 96;--ochre-deep-rgb:227 161 130;--shadow-rgb:0 0 0;--light-rgb:255 196 140;--scene-filter:saturate(.96);--figure-filter:brightness(.9) saturate(.95);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .grain{opacity:.03}[data-theme=dark] .hero-glow{opacity:.35}[data-theme=dark] .about-fig img,[data-theme=dark] .study-fig img,[data-theme=dark] .post-end img{filter:var(--figure-filter) drop-shadow(0 calc(10 * var(--u)) calc(14 * var(--u)) #00000073)}html.vt-theme::view-transition-old(root){mix-blend-mode:normal}html.vt-theme::view-transition-new(root){mix-blend-mode:normal}html.theme-anim,html.theme-anim *{transition:background-color .42s var(--ease-soft), color .42s var(--ease-soft), border-color .42s var(--ease-soft), fill .42s var(--ease-soft)!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:rgb(var(--ink-rgb) / .22) transparent;scrollbar-width:thin}body{background:var(--paper);color:var(--ink-500);font-family:var(--sans);font-weight:400;font-size:var(--t-base);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.8}a{color:var(--ochre-deep);text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit}::selection{background:rgb(var(--ochre-rgb) / .16);color:var(--ink-900)}::selection{background:rgb(var(--ochre-rgb) / .16);color:var(--ink-900)}:where(a,button):focus-visible{outline:2px solid var(--ink-900);outline-offset:calc(3 * var(--u));box-shadow:0 0 0 calc(6 * var(--u)) var(--paper);border-radius:0}.skip{top:calc(12 * var(--u));left:calc(12 * var(--u));z-index:200;padding:calc(8 * var(--u)) calc(14 * var(--u));background:var(--ink-900);color:var(--paper);font-size:var(--t-sm);letter-spacing:.08em;position:fixed;transform:translateY(-200%)}.skip:focus-visible{outline-color:var(--ochre);transform:none}::-webkit-scrollbar{width:calc(10 * var(--u));height:calc(10 * var(--u))}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgb(var(--ink-rgb) / .18);border:calc(3 * var(--u)) solid var(--paper);border-radius:calc(99 * var(--u))}::-webkit-scrollbar-thumb:hover{background:rgb(var(--ink-rgb) / .3)}.grain{z-index:96;pointer-events:none;opacity:.036;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='192' height='192' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:192px 192px;position:fixed;inset:0}.wrap{padding-inline:var(--pad);max-width:calc(1440 * var(--u));margin-inline:auto}.masthead{z-index:60;padding:var(--bar-inset) max(calc(8 * var(--u)), calc(var(--pad) - calc(18 * var(--u)))) 0;pointer-events:none;transition:transform .68s var(--ease-spring);position:fixed;top:0;left:0;right:0}.masthead:before{content:"";height:calc(var(--nav-h) + calc(110 * var(--u)));background:linear-gradient(to bottom, rgb(var(--paper-rgb) / .8) 0%, rgb(var(--paper-rgb) / .52) 38%, rgb(var(--paper-rgb) / .18) 72%, rgb(var(--paper-rgb) / 0) 100%);opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease-soft);position:absolute;inset:0 0 auto}.masthead.is-over-scene:before{opacity:1}.masthead-bar{isolation:isolate;height:var(--bar-h);max-width:calc(1440 * var(--u) - 2 * var(--pad) + 36 * var(--u));padding-inline:min(calc(18 * var(--u)), calc(var(--pad) - calc(8 * var(--u))));justify-content:space-between;align-items:center;gap:calc(20 * var(--u));pointer-events:auto;margin-inline:auto;display:flex;position:relative}.masthead-bar:before{content:"";z-index:-1;background:linear-gradient(to bottom, rgb(var(--light-rgb) / .34) 0%, rgb(var(--light-rgb) / 0) 55%), rgb(var(--paper-rgb) / .78);-webkit-backdrop-filter:blur(calc(24 * var(--u))) saturate(1.5);backdrop-filter:blur(calc(24 * var(--u))) saturate(1.5);border:1px solid rgb(var(--ink-rgb) / .07);box-shadow:inset 0 1px 0 rgb(var(--light-rgb) / .65), 0 1px calc(2 * var(--u)) rgb(var(--shadow-rgb) / .06), 0 calc(14 * var(--u)) calc(34 * var(--u)) calc(-16 * var(--u)) rgb(var(--shadow-rgb) / .34);transition:opacity var(--dur-slow) var(--ease-soft), transform var(--dur-slow) var(--ease-out);position:absolute;inset:0}.masthead-bar:before,.masthead-bar:after{border-radius:calc(4 * var(--u))}.masthead-bar:after{content:"";inset:calc(3 * var(--u));z-index:-1;border:1px solid rgb(var(--ochre-rgb) / .16);box-shadow:inset 0 1px 0 rgb(var(--light-rgb) / .9);pointer-events:none;transition:opacity var(--dur-slow) var(--ease-soft), transform var(--dur-slow) var(--ease-out);position:absolute}@supports (corner-shape:bevel){.masthead-bar:before{border-radius:calc(4 * var(--u)) calc(4 * var(--u)) calc(16 * var(--u)) calc(4 * var(--u));corner-shape:round round bevel round}.masthead-bar:after{border-radius:calc(2 * var(--u)) calc(2 * var(--u)) calc(14 * var(--u)) calc(2 * var(--u));corner-shape:round round bevel round}}.masthead.is-over-scene .masthead-bar:before,.masthead.is-over-scene .masthead-bar:after{opacity:0;transform:translateY(calc(-6 * var(--u))) scale(.985)}.masthead.is-over-scene .wordmark-text,.masthead.is-over-scene .nav a{white-space:nowrap;text-shadow:0 0 calc(16 * var(--u)) rgb(var(--paper-rgb) / .8), 0 0 calc(2 * var(--u)) rgb(var(--paper-rgb) / .55)}.masthead.is-hidden{transform:translateY(calc(-100% - calc(6 * var(--u))));transition:transform .3s cubic-bezier(.5,0,.8,.3)}.masthead.is-hidden:focus-within{transform:none}.masthead.is-instant,.masthead.is-instant:before,.masthead.is-instant .masthead-bar:before,.masthead.is-instant .masthead-bar:after{transition:none}[data-theme=dark] .masthead:before{background:linear-gradient(to bottom, rgb(var(--paper-rgb) / .82) 0%, rgb(var(--paper-rgb) / .5) 40%, rgb(var(--paper-rgb) / 0) 100%)}[data-theme=dark] .masthead-bar:before{background:linear-gradient(to bottom, rgb(var(--light-rgb) / .07) 0%, rgb(var(--light-rgb) / 0) 55%), rgb(var(--paper-rgb) / .78);-webkit-backdrop-filter:blur(calc(24 * var(--u))) saturate(1.3) brightness(.9);backdrop-filter:blur(calc(24 * var(--u))) saturate(1.3) brightness(.9);border-color:rgb(var(--light-rgb) / .08);box-shadow:inset 0 1px 0 rgb(var(--light-rgb) / .1), 0 calc(14 * var(--u)) calc(34 * var(--u)) calc(-16 * var(--u)) #0009}[data-theme=dark] .masthead-bar:after{border-color:rgb(var(--light-rgb) / .08)}.wordmark{--wm:calc(26 * var(--u));align-items:baseline;gap:calc(var(--wm) * .382);font-size:var(--wm);color:var(--ink-900);transition:color var(--dur-fast) var(--ease-soft);display:inline-flex}.wordmark-mark{width:calc(var(--wm) * .786);height:calc(var(--wm) * .786);color:var(--ochre);transition:color var(--dur-fast) var(--ease-soft);flex:none;align-self:center;overflow:visible}.wordmark-mark .petal{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:bottom;animation:4.8s ease-in-out infinite petal-breathe;animation-delay:calc(var(--i) * -.6s);animation-play-state:paused}.wordmark-mark .petal-core{fill:none;stroke:currentColor;stroke-width:1.2px;vector-effect:non-scaling-stroke}@keyframes petal-breathe{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1.16)}}.wordmark:hover .wordmark-mark,.wordmark:focus-visible .wordmark-mark{color:var(--ochre-deep)}.wordmark:hover .petal,.wordmark:focus-visible .petal{animation-play-state:running}.wordmark-text{font-family:var(--serif);letter-spacing:.01em;white-space:nowrap;font-size:1em;font-weight:600;line-height:1}@media (max-width:900px){.wordmark{--wm:clamp(calc(18 * var(--u)), 2.9vw, calc(26 * var(--u)))}}.nav{align-items:center;gap:clamp(calc(18 * var(--u)), 2.6vw, calc(34 * var(--u)));font-size:calc(14 * var(--u));letter-spacing:.12em;font-weight:500;display:flex}.nav a{white-space:nowrap;padding:calc(8 * var(--u)) 0;color:var(--ink-900);transition:color var(--dur-fast) var(--ease-soft);position:relative}.nav a span{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.nav a:after{content:"";left:0;right:0;bottom:calc(3 * var(--u));background:var(--ink-900);transform-origin:100%;height:1px;transition:transform var(--dur-base) var(--ease-soft);position:absolute;transform:scaleX(0)}.nav a:hover span{transform:translateY(-1px)}.nav a:hover:after,.nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.nav a[aria-current]:after{background:var(--ochre);view-transition-name:nav-current;transform:scaleX(1)}.theme-toggle,.bgm-toggle{width:calc(34 * var(--u));height:calc(34 * var(--u));margin-left:calc(2 * var(--u));color:var(--ink-900);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft);background:0 0;border:0;place-items:center;display:grid;position:relative}.bgm-toggle{color:var(--ink-400)}.bgm-toggle:hover{color:var(--ink-900)}.bgm-toggle.on{color:var(--ochre)}.bgm-wave{transform-origin:0;animation:bgm-pulse 1.6s var(--ease-soft) infinite}.bgm-wave-2{animation-delay:.2s}@keyframes bgm-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.bgm-wave{animation:none}}.theme-toggle:before{content:"";inset:calc(3 * var(--u));background:radial-gradient(circle, rgb(var(--ochre-rgb) / .18) 0%, rgb(var(--ochre-rgb) / 0) 70%);opacity:0;transition:opacity var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-out);position:absolute;transform:scale(.6)}.theme-toggle:hover{color:var(--ochre-deep)}.theme-toggle:hover:before{opacity:1;transform:scale(1)}.theme-toggle svg{transition:transform .52s var(--ease-out);position:relative}.theme-toggle:hover svg{transform:rotate(-18deg)}.theme-toggle .icon-swap{animation:icon-swap .52s var(--ease-out)}@keyframes icon-swap{0%{opacity:0;transform:rotate(-90deg)scale(.6)}to{opacity:1;transform:none}}.page-frame>.sheet:first-child{margin-top:var(--nav-h)}@media (max-width:380px){.wordmark-text{display:none}}.hero{height:var(--hero-h);isolation:isolate;position:relative;overflow:hidden}.hero-scene{z-index:0;width:76%;-webkit-mask-image:linear-gradient(to right, transparent 0, #000 calc(240 * var(--u)));-webkit-mask-image:linear-gradient(to right, transparent 0, #000 calc(240 * var(--u)));mask-image:linear-gradient(to right, transparent 0, #000 calc(240 * var(--u)));position:absolute;inset:0 0 0 auto;overflow:clip}.hero-scene img{object-fit:cover;object-position:74% 28%;transform-origin:70%;width:100%;height:100%;filter:var(--scene-filter);animation:hero-settle var(--dur-hero) var(--ease-out) forwards;transform:scale(1.04)}@keyframes hero-settle{to{transform:scale(1)}}.hero-veil{z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--paper) 0, rgb(var(--paper-rgb) / .98) max(18%, calc(50% - 720 * var(--u) + 360 * var(--u))), rgb(var(--paper-rgb) / .9) max(30%, calc(50% - 720 * var(--u) + 520 * var(--u))), rgb(var(--paper-rgb) / .6) max(44%, calc(50% - 720 * var(--u) + 700 * var(--u))), rgb(var(--paper-rgb) / .16) max(56%, calc(50% - 720 * var(--u) + 860 * var(--u))), rgb(var(--paper-rgb) / 0) max(66%, calc(50% - 720 * var(--u) + 980 * var(--u)))), linear-gradient(to bottom, rgb(var(--paper-rgb) / 0) 58%, rgb(var(--paper-rgb) / .34) 76%, rgb(var(--paper-rgb) / .72) 86%, rgb(var(--paper-rgb) / .94) 93%, var(--paper) 97%);position:absolute;inset:0}.hero-glow{z-index:1;pointer-events:none;background:linear-gradient(104deg, rgb(var(--light-rgb) / 0) 4%, rgb(var(--light-rgb) / .58) 20%, rgb(var(--light-rgb) / .24) 36%, rgb(var(--light-rgb) / 0) 48%), linear-gradient(104deg, rgb(var(--ink-rgb) / .03) 0 9%, rgb(var(--ink-rgb) / 0) 9.4% 13.6%, rgb(var(--ink-rgb) / .024) 14% 15.2%, rgb(var(--ink-rgb) / 0) 15.6% 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 50%,#0000 86%);mask-image:linear-gradient(#000 50%,#0000 86%)}.hero-stage{z-index:10;height:100%;max-width:calc(1440 * var(--u));padding:calc(var(--nav-h) + 40 * var(--u)) var(--pad) calc(64 * var(--u));grid-template-columns:minmax(0, calc(500 * var(--u))) 1fr;column-gap:calc(48 * var(--u));pointer-events:none;grid-template-rows:1fr auto;margin-inline:auto;display:grid;position:relative}.hero-stage>*{pointer-events:auto}.hero-copy{flex-direction:column;grid-area:1/1;align-self:center;display:flex}.hero-spine{--spine-ls:.42em;max-height:100%;margin:0 0 0 calc(12 * var(--u));writing-mode:vertical-rl;white-space:nowrap;font-family:var(--serif);font-size:var(--t-sm);letter-spacing:var(--spine-ls);color:var(--ink-400);padding:var(--spine-ls) 0 0 calc(14 * var(--u));border:0;border-left:1px solid var(--rule-strong);pointer-events:none;grid-area:1/2;place-self:center start;line-height:1}.hero-note{left:calc(var(--pad) + 680 * var(--u));width:calc(240 * var(--u));gap:calc(6 * var(--u));padding:calc(2 * var(--u)) 0 calc(2 * var(--u)) calc(16 * var(--u));border-left:1px solid rgb(var(--ochre-rgb) / .75);color:inherit;text-shadow:0 0 18px rgb(var(--paper-rgb) / .9), 0 0 3px rgb(var(--paper-rgb) / .7);transition:border-color var(--dur-base) var(--ease-soft), transform var(--dur-slow) var(--ease-out);flex-direction:column;display:flex;position:absolute;bottom:25%}.hero-note:hover{border-left-color:var(--ochre-deep);transform:translateX(calc(3 * var(--u)))}.hero-note .k{font-size:var(--t-xs);letter-spacing:.16em;color:var(--ochre-deep)}.hero-note .t{font-family:var(--serif);font-size:var(--t-lg);color:var(--ink-900);text-wrap:balance;background-image:linear-gradient(var(--ochre-deep), var(--ochre-deep));max-width:6.5em;transition:background-size var(--dur-slow) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;align-self:flex-start;font-weight:600;line-height:1.4}.hero-note:hover .t,.hero-note:focus-visible .t{background-size:100% 1px}.hero-note .m{font-size:var(--t-xs);letter-spacing:.06em;color:var(--ink-600);font-variant-numeric:tabular-nums}.hero-floor{padding-top:calc(16 * var(--u));border-top:1px solid var(--rule-strong);font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink-600);font-variant-numeric:tabular-nums;pointer-events:none;grid-area:2/1/auto/-1;align-items:center;gap:0;animation:1.6s cubic-bezier(.55,.1,.3,1) .45s both floor-draw;display:flex}@keyframes floor-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.hero-floor span+span:before{content:"";width:calc(3 * var(--u));height:calc(3 * var(--u));margin-inline:calc(22 * var(--u));vertical-align:middle;background:var(--ochre);display:inline-block;transform:translateY(-1px)rotate(45deg)}.hero-floor .folio{color:var(--ink-900);margin-left:auto}.hero-floor .folio:before{display:none!important}.hero-title{font-family:var(--serif);font-weight:600;font-size:var(--t-hero);letter-spacing:.02em;color:var(--ink-900);margin:0;line-height:1.18}.hero-title span{display:block}.hero-title .accent{color:var(--ochre)}.hero-deck{margin:calc(30 * var(--u)) 0 0;max-width:23em;font-size:var(--t-base);color:var(--ink-500);font-weight:300;line-height:1.85}.hero-act{margin-top:calc(34 * var(--u));font-size:calc(14 * var(--u));letter-spacing:.06em;color:var(--ochre-deep);padding-bottom:calc(5 * var(--u));border-bottom:1px solid rgb(var(--ochre-deep-rgb) / .42);transition:color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);align-self:flex-start;align-items:center;gap:.5em;display:inline-flex}.hero-close{margin-top:calc(34 * var(--u));max-width:calc(var(--t-base) * 23);display:flex;position:relative}.hero-close .hero-act{margin-top:0}.hero-sign{--sw:clamp(calc(132 * var(--u)), 12vw, calc(176 * var(--u)));right:calc(-8 * var(--u));width:var(--sw);aspect-ratio:2660/868;height:auto;color:var(--ochre-deep);pointer-events:auto;display:block;position:absolute;bottom:0;overflow:visible}.hero-sign:not(.is-written) path{stroke-dashoffset:1000px}.hero-act:hover,.hero-act:focus-visible{color:var(--ink-900);border-bottom-color:var(--ink-900)}.hero-act svg{transition:transform var(--dur-base) var(--ease-soft)}.hero-act:hover svg{animation:dip 1.4s var(--ease-soft) infinite}@keyframes dip{0%,to{transform:translateY(0)}50%{transform:translateY(calc(3 * var(--u)))}}.reveal{animation:reveal-up .9s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.reveal{animation:vt-fade-in .9s var(--ease-soft) both}}.reveal-1{animation-delay:.12s}.reveal-2{animation-delay:.24s}.reveal-3{animation-delay:.36s}.reveal-4{animation-delay:.48s}@keyframes reveal-up{0%{opacity:.001;transform:translateY(calc(14 * var(--u)))}to{opacity:1;transform:none}}.index{padding-top:var(--pad-top);padding-bottom:clamp(calc(72 * var(--u)),8vw,calc(112 * var(--u)));position:relative}.sec-head{margin-bottom:calc(22 * var(--u));justify-content:space-between;align-items:baseline;display:flex}.sec-head h2{font-family:var(--serif);font-weight:600;font-size:var(--t-2xl);letter-spacing:.08em;color:var(--ink-900);margin:0;line-height:1.2}.sec-head .issue{font-size:var(--t-xs);letter-spacing:.18em;color:var(--ink-400);font-variant-numeric:tabular-nums}.rule-strong{background:var(--ink-900);height:2px;margin:0 0 calc(4 * var(--u));border:0}.lead{grid-template-columns:calc(112 * var(--u)) minmax(0,1fr) calc(224 * var(--u));column-gap:calc(40 * var(--u));padding:calc(44 * var(--u)) 0 calc(46 * var(--u));border-bottom:1px solid var(--rule);align-items:start;display:grid;position:relative}.lead-date{font-size:var(--t-xs);letter-spacing:.06em;color:var(--ink-400);font-variant-numeric:tabular-nums;padding-top:calc(10 * var(--u));line-height:1.5}.lead-date b{margin-top:calc(6 * var(--u));font-weight:500;font-size:var(--t-micro);letter-spacing:.14em;color:var(--ochre-deep);display:block}.lead h3{font-family:var(--serif);font-weight:600;font-size:var(--t-2xl);letter-spacing:.015em;color:var(--ink-900);margin:0;line-height:1.34}.lead h3 a{color:inherit;background-image:linear-gradient(var(--ochre-deep),var(--ochre-deep));transition:background-size var(--dur-slow) var(--ease-soft);background-position:0 96%;background-repeat:no-repeat;background-size:0% 1px}.lead:hover h3 a,.lead h3 a:focus-visible{background-size:100% 1px}.lead p{margin:calc(16 * var(--u)) 0 0;max-width:34em;font-size:calc(16 * var(--u));color:var(--ink-500);font-weight:300;line-height:1.85}.lead-meta{margin-top:calc(18 * var(--u));font-size:calc(12 * var(--u));letter-spacing:.04em;color:var(--ink-400)}.lead-meta .tag{color:var(--ochre-deep);letter-spacing:.08em}.lead-meta .dot{color:rgb(var(--ink-rgb) / .28);margin:0 .65em}.lead-fig{padding-top:calc(6 * var(--u));margin:0;overflow:hidden}.lead-fig img{transition:filter var(--dur-slow) var(--ease-soft), transform 1.6s var(--ease-out);width:100%;height:calc(150 * var(--u));object-fit:cover;object-position:32% 62%;filter:var(--scene-filter) saturate(.98);transition:filter var(--dur-slow) var(--ease-soft);transform:scale(1.001)}.lead:hover .lead-fig img{filter:saturate();transform:scale(1.035)}.lead-fig figcaption{margin-top:calc(10 * var(--u));font-size:var(--t-xs);letter-spacing:.05em;color:var(--ink-400);line-height:1.6}.group{margin-top:calc(64 * var(--u));padding-bottom:calc(12 * var(--u));border-bottom:2px solid var(--ink-900);font-size:var(--t-micro);letter-spacing:.24em;color:var(--ink-600);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.group span:last-child{color:var(--ink-400);letter-spacing:.14em}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--rule)}.rows a{grid-template-columns:calc(112 * var(--u)) minmax(0,1fr) auto;column-gap:calc(40 * var(--u));padding:calc(27 * var(--u)) 0 calc(27 * var(--u)) 0;color:inherit;isolation:isolate;align-items:baseline;display:grid;position:relative}.rows a:before{content:"";inset:0 calc(-16 * var(--u));z-index:-1;background:radial-gradient(calc(420 * var(--u)) calc(120 * var(--u)) at var(--mx,30%) var(--my,50%), rgb(var(--ochre-rgb) / .1), rgb(var(--ochre-rgb) / 0) 70%), rgb(var(--ochre-rgb) / .035);opacity:0;transition:opacity var(--dur-base) var(--ease-soft);position:absolute}.rows a:hover:before,.rows a:focus-visible:before{opacity:1}.rows time{font-size:var(--t-xs);letter-spacing:.05em;color:var(--ink-400);font-variant-numeric:tabular-nums;transition:color var(--dur-base) var(--ease-soft)}.rows a:hover time{color:var(--ochre-deep)}.rows .title{font-family:var(--serif);font-size:var(--t-xl);letter-spacing:.01em;color:var(--ink-900);background-image:linear-gradient(var(--ochre-deep),var(--ochre-deep));transition:background-size var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;font-weight:500;line-height:1.45;display:inline}.rows a:hover .title{transform:translateX(calc(4 * var(--u)))}.rows a:hover .title,.rows a:focus-visible .title{background-size:100% 1px}.rows .meta{font-size:calc(12 * var(--u));letter-spacing:.04em;color:var(--ink-400);white-space:nowrap;text-align:right;padding-left:calc(24 * var(--u))}.rows .meta .tag{color:var(--ochre-deep);letter-spacing:.08em;margin-left:.9em}.more{margin-top:calc(34 * var(--u));justify-content:flex-end;display:flex}.more a{font-size:var(--t-sm);letter-spacing:.1em;padding-bottom:calc(4 * var(--u));border-bottom:1px solid rgb(var(--ochre-deep-rgb) / .4);transition:color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft)}.more a:hover,.more a:focus-visible{color:var(--ink-900);border-bottom-color:var(--ink-900)}.about{background:var(--paper-2);border-top:1px solid var(--rule);padding-top:clamp(calc(64 * var(--u)),7vw,calc(104 * var(--u)));padding-bottom:clamp(calc(48 * var(--u)),5vw,calc(80 * var(--u)))}.about-inner{grid-template-columns:minmax(0,1fr) calc(280 * var(--u));column-gap:calc(80 * var(--u));max-width:calc(1440 * var(--u));padding-inline:var(--pad);align-items:end;margin-inline:auto;display:grid}.about h2{margin:0 0 calc(24 * var(--u));font-family:var(--serif);font-weight:600;font-size:clamp(calc(30 * var(--u)),3.4vw,calc(44 * var(--u)));letter-spacing:.02em;max-width:16em;color:var(--ink-900);text-wrap:balance;line-height:1.34}.about p{max-width:34em;font-size:var(--t-base);color:var(--ink-500);margin:0 0 1.1em;font-weight:300;line-height:1.85}.about p strong{color:var(--ink-900);font-weight:500}.about-sign{margin-top:calc(32 * var(--u));font-family:var(--serif);font-size:calc(15 * var(--u));letter-spacing:.12em;color:var(--ink-400)}.about-fig{align-self:end;margin:0;position:relative}.about-fig img{width:100%;max-height:calc(440 * var(--u));object-fit:contain;object-position:bottom center;filter:drop-shadow(0 calc(10 * var(--u)) calc(14 * var(--u)) rgb(var(--shadow-rgb) / .2));margin-bottom:calc(-2 * var(--u))}.about-fig:before{content:"";height:calc(14 * var(--u));background:radial-gradient(ellipse at center, rgb(var(--shadow-rgb) / .26) 0%, rgb(var(--shadow-rgb) / .1) 45%, rgb(var(--shadow-rgb) / 0) 78%);filter:blur(calc(3 * var(--u)));z-index:-1;border-radius:50%;position:absolute;bottom:0;left:18%;right:18%}.site-footer{border-top:1px solid var(--rule-strong);padding-top:calc(56 * var(--u));padding-bottom:calc(44 * var(--u))}.foot-line{margin:0 0 calc(42 * var(--u));font-family:var(--serif);font-size:clamp(calc(26 * var(--u)),3vw,calc(36 * var(--u)));letter-spacing:.06em;color:var(--ink-900);font-weight:500;line-height:1.3}.foot-line em{color:var(--ochre);font-style:normal}.foot-row{justify-content:space-between;align-items:baseline;gap:calc(20 * var(--u)) calc(40 * var(--u));font-size:var(--t-xs);letter-spacing:.1em;color:var(--ink-400);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.foot-row nav{gap:calc(28 * var(--u));display:flex}.foot-row nav a{color:var(--ink-600);transition:color var(--dur-fast) var(--ease-soft)}.foot-row nav a:hover,.foot-row nav a:focus-visible{color:var(--ochre-deep)}.foot-fine{margin-top:calc(22 * var(--u));font-size:var(--t-micro);letter-spacing:.02em;color:var(--ink-400)}.foot-beian{margin-top:calc(10 * var(--u));justify-content:center;gap:calc(4 * var(--u)) calc(16 * var(--u));font-size:var(--t-micro);letter-spacing:.02em;color:var(--ink-300);flex-wrap:wrap;display:flex}.foot-beian a{color:inherit;transition:color var(--dur-fast) var(--ease-soft)}.foot-beian a:hover,.foot-beian a:focus-visible{color:var(--ink-500)}@media (max-width:1100px){.lead{grid-template-columns:calc(96 * var(--u)) minmax(0,1fr)}.lead-fig{display:none}}@media (max-width:900px){:root{--nav-h:calc(60 * var(--u));--bar-h:calc(52 * var(--u));--bar-inset:calc(8 * var(--u))}.hero{flex-direction:column;height:auto;display:flex;overflow:visible}.motes{display:none}.hero-scene{width:100%;height:56svh;min-height:calc(320 * var(--u));position:relative;inset:auto;-webkit-mask-image:none;mask-image:none}.hero-scene img{object-position:68% 40%}.hero-veil{height:56svh;min-height:calc(320 * var(--u));background:linear-gradient(to bottom, rgb(var(--paper-rgb) / 0) 46%, rgb(var(--paper-rgb) / .34) 66%, rgb(var(--paper-rgb) / .72) 80%, rgb(var(--paper-rgb) / .94) 90%, var(--paper) 96%);top:0}.hero-glow{display:none}.hero-title{font-size:clamp(calc(34 * var(--u)),9vw,calc(48 * var(--u)));line-height:1.26}.hero-deck{font-size:calc(16 * var(--u));margin-top:calc(20 * var(--u))}.index{padding-top:calc(72 * var(--u))}.sec-head h2{font-size:calc(26 * var(--u))}.lead{row-gap:calc(18 * var(--u));padding:calc(32 * var(--u)) 0 calc(36 * var(--u));grid-template-columns:1fr}.lead-date{gap:calc(14 * var(--u));padding-top:0;display:flex}.lead-date b{margin-top:0}.lead h3{font-size:calc(26 * var(--u))}.rows a{row-gap:calc(8 * var(--u));padding:calc(22 * var(--u)) calc(8 * var(--u)) calc(22 * var(--u)) calc(4 * var(--u));grid-template-columns:1fr;margin-inline:0}.rows time{order:-1}.rows .meta{text-align:left;padding-left:0}.rows .title{font-size:var(--t-lg)}.group{margin-top:calc(44 * var(--u))}.about-inner{row-gap:calc(12 * var(--u));grid-template-columns:1fr}.about-fig{max-width:calc(220 * var(--u));margin-left:auto}.about-fig img{max-height:calc(320 * var(--u))}.about p{font-size:calc(16 * var(--u))}}@media (max-width:520px){.nav{gap:calc(16 * var(--u));font-size:calc(12 * var(--u));letter-spacing:.06em}.wordmark-text i{display:none}.foot-row{gap:calc(16 * var(--u));flex-direction:column}}@media (max-width:430px){.nav{gap:calc(12 * var(--u));letter-spacing:.02em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scene img{animation:none;transform:none}.wordmark:hover .wordmark-mark,.theme-toggle:hover svg,.rows a:hover .title,.drawer a:hover .count,.lead:hover .lead-fig img,.nav a:hover span{transform:none}.wordmark-mark .petal{transform:scaleY(var(--s));animation:none}.hero-act:hover svg{animation:none}.masthead{transition:none}}.scene-night,[data-theme=dark] .scene-day{display:none}[data-theme=dark] .scene-night{display:block}::view-transition-group(*){animation-duration:var(--dur-vt,.36s);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:vt-fade-out .38s var(--ease-soft) both}::view-transition-new(root){animation:vt-fade-in .38s var(--ease-soft) both}::view-transition-old(.page-exit){animation:.2s cubic-bezier(.4,0,1,1) both vt-page-out}::view-transition-new(.page-enter){animation:vt-page-in .44s var(--ease-out) .17s both}@keyframes vt-page-out{to{opacity:0;transform:translateY(calc(-10 * var(--u)))}}@keyframes vt-page-in{0%{opacity:0;transform:translateY(calc(14 * var(--u)))}}::view-transition-old(.room-exit){animation:.22s cubic-bezier(.4,0,1,1) both vt-room-out}::view-transition-new(.room-enter){animation:vt-room-in .42s var(--ease-out) .12s both}@keyframes vt-room-out{to{opacity:0;filter:blur(calc(2 * var(--u)));transform:scale(.992)}}@keyframes vt-room-in{0%{opacity:0;transform:translateY(calc(8 * var(--u)))}}::view-transition-group(scene){animation-duration:.56s}::view-transition-old(scene){object-fit:cover;object-position:72% 42%;height:100%}::view-transition-new(scene){object-fit:cover;object-position:72% 42%;height:100%}::view-transition-old(.scene-morph){animation:vt-scene-out .56s var(--ease-out) both}::view-transition-new(.scene-morph){animation:vt-scene-in .56s var(--ease-out) both}@keyframes vt-scene-out{to{opacity:0}}@keyframes vt-scene-in{0%{opacity:0}}.masthead{view-transition-name:masthead}::view-transition-group(masthead){z-index:50;animation:none}::view-transition-old(masthead){display:none}::view-transition-new(masthead){animation:none}::view-transition-group(nav-current){z-index:51;animation-duration:.42s}html.vt-theme::view-transition-group(*){animation:none!important}html.vt-theme::view-transition-old(*){animation:none!important}html.vt-theme::view-transition-new(*){animation:none!important}@media (prefers-reduced-motion:reduce){::view-transition-old(.page-exit){animation:vt-fade-out .2s var(--ease-soft) both}::view-transition-old(.room-exit){animation:vt-fade-out .2s var(--ease-soft) both}::view-transition-new(.page-enter){animation:vt-fade-in .3s var(--ease-soft) 80ms both}::view-transition-new(.room-enter){animation:vt-fade-in .3s var(--ease-soft) 80ms both}::view-transition-group(scene){animation-duration:0s}::view-transition-group(nav-current){animation-duration:0s}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}.motes{z-index:2;pointer-events:none;width:76%;position:absolute;inset:0 0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(104deg,#0000 20%,#000 46% 70%,#0000 92%);mask-image:linear-gradient(104deg,#0000 20%,#000 46% 70%,#0000 92%)}.motes i{width:var(--s,2px);height:var(--s,2px);background:radial-gradient(circle, rgb(var(--light-rgb) / 1) 0%, rgb(var(--light-rgb) / .5) 45%, rgb(var(--light-rgb) / 0) 75%);opacity:0;animation:mote var(--d,14s) linear var(--delay,0s) infinite;position:absolute}@keyframes mote{0%{opacity:0;transform:translate(0,0)}15%{opacity:var(--o,.8)}85%{opacity:var(--o,.8)}to{opacity:0;transform:translate3d(var(--dx,calc(-18 * var(--u))), var(--dy,calc(60 * var(--u))), 0)}}.adust{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.adust i{width:var(--s,2px);height:var(--s,2px);background:radial-gradient(circle, rgb(var(--ink-rgb) / .34) 0%, rgb(var(--ink-rgb) / .14) 45%, transparent 72%);opacity:0;animation:mote var(--d,18s) linear var(--delay,0s) infinite;position:absolute}[data-theme=dark] .adust i{background:radial-gradient(circle, rgb(var(--light-rgb) / 1) 0%, rgb(var(--light-rgb) / .5) 45%, transparent 75%)}@media (prefers-reduced-motion:reduce){.adust{display:none}}[data-theme=dark] .motes{-webkit-mask-image:radial-gradient(26% 34% at 36% 64%,#000 0%,#0000 100%);mask-image:radial-gradient(26% 34% at 36% 64%,#000 0%,#0000 100%)}.breath{animation:breathe 4.2s var(--ease-soft) infinite alternate;transform-origin:50% 100%}@keyframes breathe{0%{transform:translateY(0)scaleY(1)}to{transform:translateY(-1.5px)scaleY(1.004)}}.nav a:active,.hero-act:active,.back:active,.more a:active,.pager a:active,.chip:active,.theme-toggle:active{opacity:.72;transition-duration:60ms}.rows a:active:before,.drawer a:active:before{opacity:1;background:rgb(var(--ochre-rgb) / .1)}@media (prefers-reduced-motion:reduce){.motes{display:none}.breath{animation:none}}.lead-fig figcaption .scene-night,[data-theme=dark] .lead-fig figcaption .scene-day{display:none}[data-theme=dark] .lead-fig figcaption .scene-night{display:inline}.more a{align-items:center;gap:.5em;display:inline-flex}.more a .arr{transition:transform var(--dur-base) var(--ease-soft)}.more a:hover .arr{transform:translateX(calc(3 * var(--u)))}.hero-title ::selection{background:rgb(var(--ochre-rgb) / .26)}.prose a:active{text-decoration-thickness:calc(2 * var(--u))}.hero-act:focus-visible,.back:focus-visible,.more a:focus-visible{background:rgb(var(--paper-rgb) / .8)}html:active-view-transition{pointer-events:none}#writing{scroll-margin-top:calc(-1 * var(--pad-top) + calc(40 * var(--u)))}#about{scroll-margin-top:calc(-1 * clamp(calc(64 * var(--u)),7vw,calc(104 * var(--u))) + calc(40 * var(--u)))}#writing:focus,#about:focus{outline:none}@media (max-width:1599px){.hero-spine{--spine-ls:.3em}}@media (max-width:1279px){.hero-spine{display:none}}@media (max-width:1099px){.hero-note{display:none}}@media (max-width:900px){.hero-stage{height:auto;padding:calc(36 * var(--u)) var(--pad) calc(8 * var(--u));margin-top:calc(-8 * var(--u));flex-direction:column;display:flex}.hero-floor{margin-top:calc(32 * var(--u));row-gap:calc(10 * var(--u));flex-wrap:wrap}.hero-floor span+span:before{margin-inline:calc(14 * var(--u))}.hero-floor .folio{display:none}}@media (prefers-reduced-motion:reduce){.hero-note,.hero-note:hover{transform:none}.masthead{transition:opacity .24s var(--ease-soft)}.masthead.is-hidden{opacity:0;transition:opacity .2s var(--ease-soft);transform:none}.masthead.is-hidden .masthead-bar{pointer-events:none}.masthead.is-hidden:focus-within{opacity:1}.masthead.is-hidden:focus-within .masthead-bar{pointer-events:auto}}[data-theme=light][data-season=spring]{--light-rgb:255 248 236;--scene-filter:saturate(.92) contrast(.99) brightness(1.02)}[data-theme=light][data-season=spring] .hero-glow{filter:hue-rotate(-6deg)}[data-season=spring] .motes i{background:radial-gradient(circle, rgb(var(--light-rgb) / 1) 0%, rgb(var(--ochre-rgb) / .35) 45%, rgb(var(--ochre-rgb) / 0) 75%)}[data-theme=light][data-season=summer]{--light-rgb:255 241 218;--scene-filter:saturate(1.02) contrast(1.05) brightness(1.01)}[data-theme=light][data-season=summer] .hero-glow{opacity:1.12}[data-season=summer] .motes i{--o:.95}[data-theme=light][data-season=autumn]{--light-rgb:255 240 224;--scene-filter:saturate(.96) contrast(1.02)}[data-theme=light][data-season=winter]{--light-rgb:246 240 234;--scene-filter:saturate(.88) contrast(.97) brightness(.99)}[data-theme=light][data-season=winter] .hero-glow{opacity:.82}[data-theme=dark][data-season=spring]{--light-rgb:255 198 146}[data-theme=dark][data-season=summer]{--light-rgb:255 192 132}[data-theme=dark][data-season=autumn]{--light-rgb:255 196 140}[data-theme=dark][data-season=winter]{--light-rgb:250 200 158}.hero-spine .s-spring,.hero-spine .s-summer,.hero-spine .s-winter{display:none}[data-season=spring] .hero-spine .s-spring{display:inline}[data-season=spring] .hero-spine .s-autumn{display:none}[data-season=summer] .hero-spine .s-summer{display:inline}[data-season=summer] .hero-spine .s-autumn{display:none}[data-season=winter] .hero-spine .s-winter{display:inline}[data-season=winter] .hero-spine .s-autumn,.lead-fig figcaption .s-spring,[data-season=spring] .lead-fig figcaption span.scene-day:not(.s-spring){display:none}[data-season=spring] .lead-fig figcaption .s-spring{display:inline}[data-theme=dark] .lead-fig figcaption .s-spring,[data-theme=dark] [data-season=spring] .lead-fig figcaption .s-spring{display:none}[data-season=spring] .motes i{border-radius:60% 40% 62% 38%/46% 62% 38% 54%;animation-name:mote-sway}@keyframes mote-sway{0%{opacity:0;transform:translate(0,0)rotate(0)}15%{opacity:var(--o,.8)}50%{transform:translate3d(calc(var(--dx,calc(-18 * var(--u))) * .55), calc(var(--dy,calc(60 * var(--u))) * .5), 0) rotate(38deg)}85%{opacity:var(--o,.8)}to{opacity:0;transform:translate3d(var(--dx,calc(-18 * var(--u))), var(--dy,calc(60 * var(--u))), 0) rotate(96deg)}}[data-season=summer] .motes i:nth-child(n+9){display:none}[data-season=summer] .motes i{animation-duration:calc(var(--d,14s) * .72)}[data-season=winter] .motes i{background:radial-gradient(circle, rgb(var(--paper-rgb) / .98) 0%, rgb(var(--paper-rgb) / .6) 45%, rgb(var(--paper-rgb) / 0) 75%);animation-name:mote-snow}@keyframes mote-snow{0%{opacity:0;transform:translate(0,0)}20%{opacity:var(--o,.7)}50%{transform:translate3d(calc(var(--dx,calc(-18 * var(--u))) * .3), calc(var(--dy,calc(60 * var(--u))) * .5), 0)}80%{opacity:var(--o,.7)}to{opacity:0;transform:translate3d(var(--dx,calc(-18 * var(--u))), calc(var(--dy,calc(60 * var(--u))) * 1.3), 0)}}@media (prefers-reduced-motion:reduce){[data-season=spring] .motes,[data-season=summer] .motes,[data-season=winter] .motes{display:none}}.season-scene .scene-day.s-summer,.season-scene .scene-day.s-autumn,.season-scene .scene-day.s-winter{display:none}[data-theme=light][data-season=summer] .season-scene .scene-day.s-summer{display:block}[data-theme=light][data-season=summer] .season-scene .scene-day.s-spring{display:none}[data-theme=light][data-season=autumn] .season-scene .scene-day.s-autumn{display:block}[data-theme=light][data-season=autumn] .season-scene .scene-day.s-spring{display:none}[data-theme=light][data-season=winter] .season-scene .scene-day.s-winter{display:block}[data-theme=light][data-season=winter] .season-scene .scene-day.s-spring{display:none}[data-theme=dark] .season-scene .scene-day,[data-theme=dark] .season-scene .scene-day.s-spring,[data-theme=dark] .season-scene .scene-day.s-summer,[data-theme=dark] .season-scene .scene-day.s-autumn,[data-theme=dark] .season-scene .scene-day.s-winter{display:none!important}[data-theme=dark] .season-scene .scene-night{display:block}.season-scene .scene-night.s-summer,.season-scene .scene-night.s-autumn,.season-scene .scene-night.s-winter,[data-theme=dark][data-season=summer] .season-scene .scene-night.s-spring,[data-theme=dark][data-season=autumn] .season-scene .scene-night.s-spring,[data-theme=dark][data-season=winter] .season-scene .scene-night.s-spring{display:none}[data-theme=dark][data-season=summer] .season-scene .scene-night.s-summer,[data-theme=dark][data-season=autumn] .season-scene .scene-night.s-autumn,[data-theme=dark][data-season=winter] .season-scene .scene-night.s-winter{display:block}
.progress{background:var(--ink-900);transform-origin:0;opacity:0;z-index:120;pointer-events:none;height:1px;transition:opacity var(--dur-slow) var(--ease-soft);will-change:transform;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.progress.is-on{opacity:.3}.room{height:clamp(calc(132 * var(--u)),17vh,calc(208 * var(--u)));isolation:isolate;background:var(--paper-2);position:relative;overflow:hidden}.room img{object-fit:cover;object-position:72% 42%;width:100%;height:100%;filter:var(--scene-filter) saturate(.82);opacity:.94;animation:room-settle 1.2s var(--ease-out) forwards;transform:scale(1.025)}@keyframes room-settle{to{transform:scale(1)}}.room:after{content:"";pointer-events:none;background:linear-gradient(180deg, rgb(var(--paper-rgb) / .48) 0%, rgb(var(--paper-rgb) / .3) 34%, rgb(var(--paper-rgb) / .82) 73%, var(--paper) 100%), linear-gradient(90deg, var(--paper) 0%, rgb(var(--paper-rgb) / .9) 6%, rgb(var(--paper-rgb) / .52) 20%, rgb(var(--paper-rgb) / 0) 42%);position:absolute;inset:0}.sheet{max-width:calc(1180 * var(--u));padding-inline:var(--pad);margin-inline:auto}.post-head{padding-top:clamp(calc(44 * var(--u)),5vw,calc(74 * var(--u)))}.back{font-size:var(--t-sm);letter-spacing:.12em;color:var(--ink-400);padding:calc(2 * var(--u)) 0 calc(4 * var(--u));transition:color var(--dur-fast) var(--ease-soft);align-items:center;gap:.55em;display:inline-flex}.back:hover,.back:focus-visible{color:var(--ochre-deep)}.back .arr{transition:transform var(--dur-base) var(--ease-soft);display:inline-block}.back:hover .arr{transform:translateX(calc(-4 * var(--u)))}.post-title{margin:calc(22 * var(--u)) 0 0;font-family:var(--serif);font-size:var(--t-3xl);letter-spacing:.015em;color:var(--ink-900);text-wrap:balance;max-width:14em;font-weight:600;line-height:1.34}.post-meta{margin:calc(20 * var(--u)) 0 0;font-size:var(--t-sm);letter-spacing:.04em;color:var(--ink-400);font-variant-numeric:tabular-nums;align-items:center;gap:calc(6 * var(--u)) 0;flex-wrap:wrap;line-height:1.6;display:flex}.post-meta .sep{color:var(--ink-300);margin:0 .8em}.post-meta .tag{color:var(--ochre-deep);transition:color var(--dur-fast) var(--ease-soft)}.post-meta .tag:hover{color:var(--ochre-hover)}.post-head-rule{width:calc(48 * var(--u));height:1px;margin:calc(34 * var(--u)) 0 clamp(calc(40 * var(--u)),5vw,calc(56 * var(--u)));background:var(--rule-strong);border:0}.prose{grid-template-columns:minmax(0,var(--measure)) minmax(0,1fr);column-gap:clamp(calc(36 * var(--u)),6vw,calc(88 * var(--u)));counter-reset:chapter;align-items:start;display:grid}.prose>*{grid-column:1}.prose>pre,.prose>table{grid-column:1/-1}.prose p{max-width:var(--measure);font-size:var(--t-base);color:var(--ink-500);margin:0 0 1.1em;font-weight:300;line-height:1.85}.prose strong{color:var(--ink-900);font-weight:500}.prose em{color:var(--ink-700);border-bottom:1px solid var(--rule-strong);font-style:normal}.prose a{color:var(--ochre-deep);text-decoration:underline;-webkit-text-decoration-color:rgb(var(--ochre-deep-rgb) / .38);text-decoration-color:rgb(var(--ochre-deep-rgb) / .38);text-underline-offset:calc(3 * var(--u));transition:text-decoration-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);text-decoration-thickness:1px}.prose a:hover{color:var(--ochre-hover);text-decoration-color:currentColor}.prose h2{margin:clamp(calc(52 * var(--u)),6vw,calc(76 * var(--u))) 0 calc(16 * var(--u));font-family:var(--serif);font-size:var(--t-xl);letter-spacing:.01em;color:var(--ink-900);scroll-margin-top:calc(96 * var(--u));counter-increment:chapter;font-weight:600;line-height:1.45;position:relative}.prose h2:before{content:counter(chapter, cjk-ideographic);left:calc(-58 * var(--u));font-family:var(--serif);font-size:var(--t-sm);letter-spacing:.2em;color:var(--ink-400);font-weight:500;position:absolute;top:.3em}.prose h3{margin:calc(44 * var(--u)) 0 calc(12 * var(--u));font-family:var(--serif);font-size:var(--t-lg);color:var(--ink-900);scroll-margin-top:calc(96 * var(--u));font-weight:600;line-height:1.5}.prose ul,.prose ol{max-width:var(--measure);color:var(--ink-500);margin:0 0 1.1em;padding-left:1.4em;font-weight:300}.prose li{margin-bottom:.4em;line-height:1.85}.prose li::marker{color:var(--ochre)}.prose blockquote{margin:calc(34 * var(--u)) 0 calc(40 * var(--u));padding-left:calc(20 * var(--u));border-left:2px solid var(--ochre);font-family:var(--serif);font-size:var(--t-lg);letter-spacing:.015em;color:var(--ink-500);line-height:1.75}.prose blockquote p{font-family:inherit;font-size:inherit;color:inherit;margin:0;font-weight:500}.prose code{color:var(--ochre-deep);background:rgb(var(--ochre-rgb) / .09);padding:1px calc(5 * var(--u));font-family:Maple Mono NF CN,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.prose pre{margin:calc(36 * var(--u)) 0 calc(42 * var(--u));padding:calc(20 * var(--u)) calc(24 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u));background:var(--paper-2);border:1px solid var(--rule);overscroll-behavior-x:contain;scrollbar-width:thin;font-family:Maple Mono NF CN,IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);color:var(--ink-700);tab-size:2;line-height:1.75;overflow-x:auto}.prose pre code{color:inherit;white-space:pre;background:0 0;padding:0;font-size:1em;display:block}.prose table{width:100%;margin:calc(28 * var(--u)) 0 calc(36 * var(--u));border-collapse:collapse;font-size:calc(15 * var(--u));font-variant-numeric:tabular-nums}.prose th,.prose td{padding:calc(11 * var(--u)) calc(14 * var(--u)) calc(11 * var(--u)) 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:baseline}.prose th{color:var(--ink-900);border-bottom-color:var(--rule-strong);font-weight:500}.prose td{color:var(--ink-500);font-weight:300}.prose hr{margin:calc(56 * var(--u)) 0 calc(44 * var(--u));text-align:center;border:0;height:auto;overflow:visible}.prose hr:after{content:"· · ·";font-size:var(--t-xs);color:var(--ink-400)}.prose img{width:100%;margin:calc(40 * var(--u)) 0 calc(10 * var(--u))}.post-end{align-items:flex-end;gap:clamp(calc(16 * var(--u)),3vw,calc(28 * var(--u)));max-width:var(--measure);margin-top:calc(48 * var(--u));padding-top:calc(32 * var(--u));border-top:1px solid var(--rule);display:flex}.post-end p{font-size:var(--t-sm);color:var(--ink-500);margin:0;font-weight:300;line-height:1.85}.post-end .sign{margin-top:calc(12 * var(--u));font-family:var(--serif);letter-spacing:.12em;color:var(--ink-400);display:block}.post-end figure{width:calc(118 * var(--u));flex:none;margin:0;position:relative}.post-end img{width:100%;filter:drop-shadow(0 calc(10 * var(--u)) calc(14 * var(--u)) rgb(var(--shadow-rgb) / .2));margin-bottom:-1px}.pager{justify-content:space-between;align-items:flex-start;gap:calc(32 * var(--u));margin-top:clamp(calc(64 * var(--u)),8vw,calc(96 * var(--u)));padding-top:calc(26 * var(--u));border-top:1px solid var(--rule-strong);display:flex}.pager a{max-width:18em}.pager .k{margin-bottom:calc(8 * var(--u));font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink-400);align-items:center;gap:.4em;display:flex}.pager .t{font-family:var(--serif);font-size:var(--t-base);letter-spacing:.01em;color:var(--ink-900);transition:color var(--dur-fast) var(--ease-soft);font-weight:500;line-height:1.5}.pager a:hover .t,.pager a:focus-visible .t{color:var(--ochre-deep)}.pager .k .arr{transition:transform var(--dur-base) var(--ease-out)}.pager .prev:hover .k .arr{transform:translateX(calc(-4 * var(--u)))}.pager .next:hover .k .arr{transform:translateX(calc(4 * var(--u)))}.pager .next{text-align:right;margin-left:auto}.pager .next .k{justify-content:flex-end}.rise{animation:rise .76s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.rise{animation:vt-fade-in .52s var(--ease-soft) both}}.rise-1{animation-delay:90ms}.rise-2{animation-delay:.19s}.rise-3{animation-delay:.3s}@keyframes rise{0%{opacity:.001;transform:translateY(calc(10 * var(--u)))}to{opacity:1;transform:none}}@media (max-width:1080px){.prose{grid-template-columns:minmax(0,1fr);column-gap:0}.prose>pre,.prose>table{grid-column:1}.prose h2:before{margin-right:.9em;position:static}}@media (max-width:760px){.room{height:calc(126 * var(--u))}.post-title{font-size:calc(34 * var(--u));line-height:1.36}.post-meta{font-size:calc(12 * var(--u))}.post-end figure{width:calc(92 * var(--u))}.pager{gap:calc(28 * var(--u));flex-direction:column}.pager .next{text-align:left;margin-left:0}.pager .next .k{justify-content:flex-start}}@media (max-width:430px){.post-title{font-size:calc(30 * var(--u))}}@media (prefers-reduced-motion:reduce){.room img{animation:none;transform:none}}.post-head{padding-left:calc(var(--rail-w) + var(--rail-gap))}:root{--rail-w:calc(168 * var(--u));--rail-gap:clamp(calc(36 * var(--u)),5vw,calc(72 * var(--u)))}.standfirst{margin:calc(20 * var(--u)) 0 0;max-width:28em;font-size:var(--t-lg);color:var(--ink-600);font-weight:300;line-height:1.7}.post-body{grid-template-columns:var(--rail-w) minmax(0,1fr);column-gap:var(--rail-gap);align-items:start;display:grid}.post-end,.pager{margin-left:calc(var(--rail-w) + var(--rail-gap))}.rail{top:calc(var(--nav-h) + calc(28 * var(--u)));padding-top:calc(6 * var(--u));font-size:var(--t-sm);color:var(--ink-400);position:sticky}.facts{gap:calc(6 * var(--u)) calc(14 * var(--u));font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;margin:0;display:grid}.facts dt{letter-spacing:.14em;color:var(--ink-400)}.facts dd{color:var(--ink-600);margin:0}.rail-tags{gap:calc(6 * var(--u));margin-top:calc(18 * var(--u));padding-top:calc(18 * var(--u));border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.toc{margin-top:calc(28 * var(--u));padding-top:calc(18 * var(--u));border-top:1px solid var(--rule)}.toc .k{margin-bottom:calc(10 * var(--u));letter-spacing:.2em;color:var(--ink-400);display:block}.toc ol{margin:0;padding:0;list-style:none}.toc a{gap:calc(10 * var(--u));padding:calc(5 * var(--u)) calc(12 * var(--u)) calc(5 * var(--u)) 0;color:var(--ink-500);transition:color var(--dur-fast) var(--ease-soft);line-height:1.5;display:flex;position:relative}.toc a .no{font-family:var(--serif);color:var(--ink-400);flex:none}.toc a:after{content:"";right:0;top:calc(7 * var(--u));bottom:calc(7 * var(--u));background:var(--ochre);width:1px;transition:transform var(--dur-base) var(--ease-soft);position:absolute;transform:scaleY(0)}.toc a:hover,.toc a[aria-current]{color:var(--ink-900)}.toc a[aria-current]:after{transform:scaleY(1)}.post-body .prose{grid-template-columns:minmax(0,var(--measure)) minmax(0,1fr)}.post-body .prose h2:before{left:calc(-40 * var(--u))}.hljs-comment,.hljs-quote{color:var(--ink-400);font-style:normal}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-literal{color:var(--ink-900);font-weight:600}.hljs-string,.hljs-attr,.hljs-template-tag,.hljs-regexp{color:var(--ochre-deep)}.hljs-number,.hljs-meta,.hljs-variable,.hljs-symbol{color:var(--ochre-deep);font-weight:500}.hljs-title,.hljs-function .hljs-title,.hljs-selector-class,.hljs-selector-id,.hljs-property,.hljs-attribute{color:var(--ink-700);font-weight:500}.hljs-punctuation,.hljs-operator{color:var(--ink-500)}.hljs-addition{color:var(--ink-900);background:rgb(var(--ochre-rgb) / .12)}.hljs-deletion{color:var(--ink-400);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.prose pre{position:relative}.prose pre:has(code[class*=language-]):before{top:calc(8 * var(--u));right:calc(12 * var(--u));font-family:var(--sans);font-size:var(--t-micro);letter-spacing:.14em;color:var(--ink-400);text-transform:uppercase;position:absolute}.prose pre:has(code.language-css):before{content:"css"}.prose pre:has(code.language-ts):before{content:"ts"}.prose pre:has(code.language-typescript):before{content:"ts"}.prose pre:has(code.language-js):before{content:"js"}.prose pre:has(code.language-javascript):before{content:"js"}.prose pre:has(code.language-bash):before{content:"shell"}.prose pre:has(code.language-sh):before{content:"shell"}.prose pre:has(code.language-json):before{content:"json"}.prose pre:has(code.language-tsx):before{content:"tsx"}.prose pre:has(code.language-python):before{content:"python"}.prose pre:has(code.language-py):before{content:"python"}@media (max-width:1080px){:root{--rail-w:0px;--rail-gap:0px}.post-body{grid-template-columns:minmax(0,1fr)}.rail{align-items:center;gap:calc(12 * var(--u)) calc(24 * var(--u));padding:0 0 calc(28 * var(--u));margin-bottom:calc(8 * var(--u));border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex;position:static}.facts{gap:calc(4 * var(--u)) calc(10 * var(--u));display:flex}.rail-tags{border:0;margin:0;padding:0}.toc{display:none}.post-body .prose h2:before{margin-right:.9em;position:static}}.prose h2:target:after,.prose h3:target:after{content:"";left:0;bottom:calc(-6 * var(--u));background:var(--ochre);transform-origin:0;width:100%;height:1px;animation:target-sweep 1.4s var(--ease-out) both;position:absolute}.prose h3{position:relative}@keyframes target-sweep{0%{opacity:1;transform:scaleX(0)}45%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}html{scroll-padding-top:calc(var(--nav-h) + calc(24 * var(--u)))}.copy-code{top:calc(6 * var(--u));right:calc(8 * var(--u));padding:calc(4 * var(--u)) calc(8 * var(--u));background:var(--paper-2);font-family:var(--sans);font-size:var(--t-micro);letter-spacing:.12em;color:var(--ink-400);cursor:pointer;opacity:0;transform:translateY(calc(-2 * var(--u)));transition:opacity var(--dur-fast) var(--ease-soft), transform var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-soft);border:0;position:absolute}.prose pre:hover .copy-code,.copy-code:focus-visible{opacity:1;transform:none}.copy-code:hover{color:var(--ochre-deep)}.copy-code.is-done{color:var(--ochre-deep);opacity:1}.prose pre:hover:before{opacity:0}.prose pre:before{transition:opacity var(--dur-fast) var(--ease-soft)}@media (hover:none){.copy-code{opacity:1;transform:none}}
.page-head{padding-top:clamp(calc(44 * var(--u)),5vw,calc(74 * var(--u)));padding-bottom:clamp(calc(32 * var(--u)),4vw,calc(48 * var(--u)))}.page-title{margin:calc(22 * var(--u)) 0 0;font-family:var(--serif);font-size:var(--t-3xl);letter-spacing:.015em;color:var(--ink-900);text-wrap:balance;font-weight:600;line-height:1.34}.page-intro{margin:calc(18 * var(--u)) 0 0;max-width:30em;font-size:var(--t-base);color:var(--ink-500);font-weight:300;line-height:1.85}.inline-link:hover,.page-intro a:hover{color:var(--ochre-hover);text-decoration-color:currentColor}.inline-link,.page-intro a{transition:color var(--dur-fast) var(--ease-soft), text-decoration-color var(--dur-fast) var(--ease-soft);color:var(--ochre-deep);text-decoration:underline;-webkit-text-decoration-color:rgb(var(--ochre-deep-rgb) / .38);text-decoration-color:rgb(var(--ochre-deep-rgb) / .38);text-underline-offset:calc(3 * var(--u))}.volume{margin-top:clamp(calc(40 * var(--u)),5vw,calc(64 * var(--u)))}.volume:first-of-type{margin-top:0}.volume .group{align-items:flex-end;margin-top:0}.drawer{grid-template-columns:repeat(auto-fill, minmax(calc(220 * var(--u)), 1fr));border-top:2px solid var(--ink-900);background-image:linear-gradient(to bottom, transparent calc(78 * var(--u)), var(--rule) calc(78 * var(--u)));background-size:100% calc(79 * var(--u));display:grid}.drawer a{justify-content:space-between;align-items:baseline;gap:calc(16 * var(--u));height:calc(79 * var(--u));padding:0 calc(20 * var(--u)) 0 calc(4 * var(--u));color:inherit;isolation:isolate;align-items:center;display:flex;position:relative}.drawer a:before{content:"";z-index:-1;background:radial-gradient(calc(260 * var(--u)) calc(100 * var(--u)) at var(--mx,30%) var(--my,50%), rgb(var(--ochre-rgb) / .12), rgb(var(--ochre-rgb) / 0) 70%), rgb(var(--ochre-rgb) / .035);opacity:0;transition:opacity var(--dur-base) var(--ease-soft);position:absolute;inset:0}.drawer a:hover:before,.drawer a:focus-visible:before{opacity:1}.drawer .name{font-family:var(--serif);font-size:var(--t-lg);letter-spacing:.02em;color:var(--ink-900);background-image:linear-gradient(var(--ochre-deep),var(--ochre-deep));transition:background-size var(--dur-base) var(--ease-soft);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;font-weight:500}.drawer a:hover .name,.drawer a:focus-visible .name{background-size:100% 1px}.drawer .count{font-size:var(--t-xs);letter-spacing:.06em;color:var(--ink-400);font-variant-numeric:tabular-nums}.chip{padding:calc(2 * var(--u)) calc(8 * var(--u));font-size:calc(12 * var(--u));letter-spacing:.06em;color:var(--ink-600);border:1px solid var(--rule);clip-path:polygon(calc(5 * var(--u)) 0,100% 0,100% calc(100% - calc(5 * var(--u))),calc(100% - calc(5 * var(--u))) 100%,0 100%,0 calc(5 * var(--u)));transition:color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);display:inline-block}.chip:hover,.chip:focus-visible{color:var(--ochre-deep);border-color:var(--ochre)}.chip:focus-visible{box-shadow:none;background:rgb(var(--ochre-rgb) / .14);border-color:var(--ink-900);color:var(--ink-900);outline:none}.empty{align-items:flex-end;gap:calc(28 * var(--u));padding:calc(48 * var(--u)) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex}.empty p{font-family:var(--serif);font-size:var(--t-lg);color:var(--ink-500);margin:0;line-height:1.6}.empty small{margin-top:calc(8 * var(--u));font-family:var(--sans);font-size:var(--t-sm);color:var(--ink-400);display:block}.study{grid-template-columns:minmax(0,1fr) minmax(calc(240 * var(--u)),calc(340 * var(--u)));column-gap:clamp(calc(40 * var(--u)),7vw,calc(104 * var(--u)));padding-top:clamp(calc(44 * var(--u)),5vw,calc(74 * var(--u)));padding-bottom:clamp(calc(36 * var(--u)),4vw,calc(56 * var(--u)));align-items:end;display:grid}.study-copy p{max-width:var(--measure);font-size:var(--t-base);color:var(--ink-500);margin:0 0 1.1em;font-weight:300;line-height:1.85}.study-copy p strong{color:var(--ink-900);font-weight:500}.study-copy .page-title{margin-bottom:calc(28 * var(--u))}.study-fig{align-self:end;margin:0;position:relative}.study-fig img{width:100%;max-height:calc(560 * var(--u));object-fit:contain;object-position:bottom center;filter:drop-shadow(0 calc(10 * var(--u)) calc(14 * var(--u)) rgb(var(--shadow-rgb) / .2));margin-bottom:calc(-2 * var(--u))}.study-fig:before{content:"";height:calc(16 * var(--u));background:radial-gradient(ellipse at center, rgb(var(--shadow-rgb) / .26) 0%, rgb(var(--shadow-rgb) / .1) 45%, rgb(var(--shadow-rgb) / 0) 78%);filter:blur(calc(3 * var(--u)));z-index:-1;border-radius:50%;position:absolute;bottom:0;left:16%;right:16%}.study-fig figcaption{margin-top:calc(14 * var(--u));font-size:var(--t-xs);letter-spacing:.05em;color:var(--ink-400);line-height:1.6}.study-floor{background:var(--rule-strong);height:1px}.colophon{margin:clamp(calc(56 * var(--u)),7vw,calc(88 * var(--u))) 0 0;grid-template-columns:calc(120 * var(--u)) minmax(0,1fr);border-top:1px solid var(--rule);max-width:40em;display:grid}.colophon dt,.colophon dd{padding:calc(14 * var(--u)) 0;border-bottom:1px solid var(--rule);font-size:var(--t-sm);margin:0;line-height:1.7}.colophon dt{color:var(--ink-400);letter-spacing:.14em}.colophon dd{color:var(--ink-600);font-weight:300}@media (max-width:900px){.study{row-gap:calc(32 * var(--u));grid-template-columns:1fr}.study-fig{max-width:calc(240 * var(--u));margin-left:auto}.colophon{grid-template-columns:calc(92 * var(--u)) minmax(0,1fr)}}@media (max-width:760px){.page-title{font-size:calc(34 * var(--u))}.drawer{grid-template-columns:1fr}.empty{flex-direction:column;align-items:flex-start}}.drawer .count{transition:color var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-out)}.drawer a:hover .count{color:var(--ochre-deep);transform:translateX(calc(-3 * var(--u)))}.shelf-head{align-items:baseline;column-gap:calc(36 * var(--u));grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"back back back""title find.""intro intro intro";display:grid}.shelf-head>.back{grid-area:back;justify-self:start}.shelf-head>.page-title{grid-area:title}.shelf-head>.page-intro{grid-area:intro}.finder{align-items:center;gap:calc(10 * var(--u));width:calc(200 * var(--u));padding-bottom:calc(7 * var(--u));border-bottom:1px solid var(--rule-strong);transition:width .62s var(--ease-out);grid-area:find;display:flex;position:relative}.finder:focus-within,.finder.has-q{width:calc(260 * var(--u))}.finder:after{content:"";background:var(--ochre-deep);transform-origin:0;height:1px;transition:transform .62s var(--ease-out);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.finder:focus-within:after{transform:scaleX(1)}.finder-label{color:var(--ink-400);cursor:text;transition:color var(--dur-fast) var(--ease-soft);display:inline-flex}.finder:focus-within .finder-label{color:var(--ochre-deep)}.finder-icon{width:calc(15 * var(--u));height:calc(15 * var(--u));fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;flex:none}.finder-input{flex:1;min-width:0;display:flex;position:relative}.finder input{width:100%;min-width:0;font-family:var(--serif);font-size:var(--t-base);letter-spacing:.02em;color:var(--ink-900);caret-color:#0000;appearance:none;background:0 0;border:0;outline:none;flex:1;padding:0;font-weight:500;line-height:1.6}.finder input::placeholder{color:var(--ink-400);opacity:.7}.spring-caret{width:calc(1.5 * var(--u));border-radius:calc(1 * var(--u));background:var(--ochre-deep);height:1.15em;font-size:var(--t-base);opacity:0;pointer-events:none;will-change:transform;margin-top:-.6em;position:absolute;top:50%;left:0}.spring-caret.is-on{opacity:1}.spring-caret.is-on.is-idle{animation:1.06s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.spring-caret-mirror{visibility:hidden;white-space:pre;pointer-events:none;position:absolute;top:0;left:0}.finder input::-webkit-search-cancel-button{display:none}.finder input:focus-visible{outline:none}.finder-key{min-width:calc(20 * var(--u));padding:0 calc(5 * var(--u));border:1px solid var(--rule-strong);border-radius:calc(3 * var(--u));font-family:var(--sans);font-size:var(--t-micro);line-height:calc(18 * var(--u));text-align:center;color:var(--ink-400);transition:opacity var(--dur-fast) var(--ease-soft);flex:none}.finder:focus-within .finder-key{opacity:0}.finder-clear{padding:calc(2 * var(--u)) 0;font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink-400);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft);background:0 0;border:0;flex:none}.finder-clear:hover,.finder-clear:focus-visible{color:var(--ochre-deep)}.rows-found a{row-gap:calc(10 * var(--u))}.rows-found .snip{max-width:42em;font-size:var(--t-sm);color:var(--ink-500);grid-column:2/-1;font-weight:300;line-height:1.8}.rows-found mark{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--ochre);text-decoration-color:var(--ochre);text-decoration-thickness:calc(2 * var(--u));text-underline-offset:calc(4 * var(--u));text-decoration-skip-ink:none;background:0 0}.rows-found .title mark{color:var(--ochre-deep)}.rows-found .meta .tag mark{text-decoration-thickness:1px}.finder-empty{margin-top:0}@media (max-width:900px){.rows-found .snip{grid-column:1}.finder-key{display:none}}@media (max-width:640px){.shelf-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""title""intro""find"}.finder,.finder:focus-within,.finder.has-q{width:auto;margin-top:calc(26 * var(--u))}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.was-hidden{-webkit-text-decoration:underline dotted rgb(var(--ochre-rgb) / .7);text-decoration:underline dotted rgb(var(--ochre-rgb) / .7);text-decoration-thickness:calc(1.5 * var(--u));text-underline-offset:.34em}.pencil{font:inherit;line-height:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:inline}.pencil:focus-visible{outline:2px solid var(--ochre-deep);outline-offset:3px}.pencil .txt{color:rgb(var(--ink-rgb) / .18);transition:color .18s var(--ease-soft)}.pencil.peek .txt,.pencil.is-erased .txt{color:var(--ink-700);transition:color .32s var(--ease-soft)}.pencil.is-erased{cursor:text}.hatch{pointer-events:none;color:var(--ochre-deep);transition:opacity .18s var(--ease-soft);position:absolute;overflow:visible}.hatch.peek{opacity:.18;transition:opacity .32s var(--ease-soft)}.hatch path{stroke:none}.hatch .crumb{fill:var(--paper);stroke:rgb(var(--ink-rgb) / .22);stroke-width:.5px;transform-box:fill-box;transform-origin:50%}.strip{font:inherit;line-height:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:inline}.strip:focus-visible{outline:2px solid var(--ochre-deep);outline-offset:5px}.strip .txt{color:#0000}.strip.is-open .txt{color:var(--ink-700);transition:color .26s var(--ease-soft) .12s}.paper{pointer-events:none;transform:rotate(var(--tilt,-.6deg));filter:drop-shadow(0 calc(.6 * var(--u)) calc(.6 * var(--u)) rgb(var(--shadow-rgb) / .22)) drop-shadow(0 calc(3 * var(--u)) calc(4 * var(--u)) rgb(var(--shadow-rgb) / .16));transition:transform .2s var(--ease-soft), filter .2s var(--ease-soft);position:absolute;overflow:visible}.paper .sheet-p{fill:#fffaf6;stroke:rgb(var(--ink-rgb) / .1);stroke-width:.6px}.paper .tape{fill:rgb(var(--ochre-rgb) / .2)}.paper .tape-edge{fill:none;stroke:rgb(var(--ochre-rgb) / .35);stroke-width:.5px}.paper .char{fill:none;stroke:rgb(var(--ink-rgb) / .62);stroke-width:2.6px;stroke-linejoin:round}.paper .ember{fill:none;stroke:var(--ochre);stroke-width:1.3px;stroke-linejoin:round}.paper .ember-glow{fill:none;stroke:rgb(var(--light-rgb) / .9);stroke-width:3.2px;stroke-linejoin:round;filter:blur(1.2px)}.paper.hov{transform:rotate(calc(var(--tilt,-.6deg) * .4)) translateY(calc(-1.5 * var(--u)));filter:drop-shadow(0 calc(1 * var(--u)) calc(1 * var(--u)) rgb(var(--shadow-rgb) / .2)) drop-shadow(0 calc(5 * var(--u)) calc(7 * var(--u)) rgb(var(--shadow-rgb) / .22))}.ash{width:calc(2.5 * var(--u));height:calc(2.5 * var(--u));background:rgb(var(--ink-rgb) / .45);pointer-events:none;animation:ash .9s var(--ease-out) forwards;border-radius:50%;position:absolute}.ash.glow{background:var(--ochre)}.spark{width:calc(1.6 * var(--u));height:calc(1.6 * var(--u));margin:calc(-.8 * var(--u)) 0 0 calc(-.8 * var(--u));box-shadow:0 0 calc(2.2 * var(--u)) calc(.7 * var(--u)) #ff9234b3;pointer-events:none;animation:spark var(--sd,.6s) cubic-bezier(.15,.6,.35,1) forwards;background:#ffe7b8;border-radius:50%;position:absolute}@keyframes spark{60%{opacity:.95}to{transform:translate(var(--dx), var(--dy)) scale(.25);opacity:0;background:#e8893a}}.tape-mark{pointer-events:none;transform:rotate(var(--tilt,-.6deg));position:absolute;overflow:visible}.tape-mark .tb{fill:color-mix(in srgb, var(--ochre-deep) 40%, transparent)}.tape-mark .ts{fill:none;stroke:#4628188c;stroke-width:1.3px;stroke-linecap:round}.tape-mark.is-new{animation:fade-in .42s var(--ease-soft) both}[data-theme=dark] .tape-mark .tb{fill:color-mix(in srgb, var(--ochre) 34%, transparent)}[data-theme=dark] .tape-mark .ts{stroke:#120a06b3}@keyframes ash{to{transform:translate(var(--dx), var(--dy)) scale(.4);opacity:0}}.paper.is-pasting{animation:.42s cubic-bezier(.2,.9,.3,1.15) both paste}@keyframes paste{0%{transform:rotate(calc(var(--tilt) * 3)) translateY(calc(-10 * var(--u))) scale(1.04);opacity:0}60%{opacity:1}}.seal{margin:calc(34 * var(--u)) 0 calc(40 * var(--u));max-width:var(--measure);position:relative}.seal-body{padding:calc(22 * var(--u)) 0 calc(6 * var(--u))}.seal-body p:last-child{margin-bottom:0}.seal:not(.is-open) .seal-body{visibility:hidden}.seal.is-open .seal-body{animation:seal-text .46s var(--ease-out) .56s both}@keyframes seal-text{0%{opacity:0}}.envelope{z-index:2;cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;perspective:calc(900 * var(--u));-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.envelope:focus-visible{outline:2px solid var(--ochre-deep);outline-offset:4px}.envelope .sheet{background:linear-gradient(180deg, rgb(var(--light-rgb) / .5), transparent 40%), var(--paper-2);border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);box-shadow:0 calc(10 * var(--u)) calc(24 * var(--u)) calc(-18 * var(--u)) rgb(var(--shadow-rgb) / .28);transition:opacity .32s var(--ease-soft) .56s, transform .52s var(--ease-out) .52s;position:absolute;inset:0}.envelope .flap{transform-origin:50% 0;height:58%;transform-style:preserve-3d;transition:transform .56s cubic-bezier(.3,.7,.2,1) .18s;position:absolute;top:0;left:0;right:0}.envelope .flap:before{content:"";background:linear-gradient(180deg, var(--paper-3), var(--paper-2));clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 calc(2 * var(--u)) calc(3 * var(--u)) rgb(var(--shadow-rgb) / .18));position:absolute;inset:0}.envelope .flap:after{content:"";background:linear-gradient(to top right, transparent calc(50% - .5px), var(--rule-strong) 50%, transparent calc(50% + .5px)) left / 50% 100% no-repeat, linear-gradient(to top left, transparent calc(50% - .5px), var(--rule-strong) 50%, transparent calc(50% + .5px)) right / 50% 100% no-repeat;position:absolute;inset:0}.envelope .corner{width:calc(22 * var(--u));height:calc(22 * var(--u));background:linear-gradient(135deg, transparent 50%, var(--paper-3) 50%);box-shadow:calc(-2 * var(--u)) calc(-2 * var(--u)) calc(4 * var(--u)) rgb(var(--shadow-rgb) / .14);clip-path:polygon(100% 0,100% 100%,0 100%);transform-origin:100% 100%;transition:transform .22s var(--ease-out);position:absolute;bottom:0;right:0;transform:scale(0)}.envelope:is(:hover,:focus-visible) .corner{transform:scale(1)}.envelope .label{left:0;right:0;bottom:calc(14 * var(--u));align-items:baseline;gap:calc(14 * var(--u));padding:0 calc(2 * var(--u));transition:opacity .2s var(--ease-soft);display:flex;position:absolute}.envelope .label .k{font-size:var(--t-micro);letter-spacing:.24em;color:var(--ochre-deep)}.envelope .label .w{font-family:var(--serif);font-size:var(--t-base);color:var(--ink-900);font-weight:500}.envelope .label .act{font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink-400);transition:color var(--dur-fast);margin-left:auto}.envelope:hover .label .act{color:var(--ochre-deep)}.wax,.residue{--w-hi:#fff4e8;--w-top:#f6b08e;--w-lite:#e07e5e;--w-base:#c4513e;--w-deep:#8e2b34;--w-wine:#5e1a2c;--w-rim:#ffb89a;--w-shc:#6e2a1e;--w-sha:.26;--w-sha2:.18;width:calc(54 * var(--u));height:calc(54 * var(--u));margin:calc(-27 * var(--u)) 0 0 calc(-27 * var(--u));transition:transform .26s var(--ease-out);position:absolute;top:58%;left:50%}.envelope:is(:hover,:focus-visible) .wax{transform:rotate(-7deg) translateY(calc(-1 * var(--u)))}.wax svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wax .aura{transition:opacity .42s var(--ease-soft) .62s}.seal.is-open .wax .aura{opacity:0;transition:opacity .48s var(--ease-soft)}.wax.is-dust .whole{opacity:0}.wax canvas.dust{pointer-events:none;position:absolute}.residue{pointer-events:none;transition:opacity .36s var(--ease-soft)}.residue svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.seal.is-open .residue{opacity:0}.seal:not(.is-open) .residue{transition-delay:.7s}.seal.is-open .envelope .flap{opacity:0;transition:transform .52s cubic-bezier(.3,.7,.2,1) .32s, opacity .22s var(--ease-soft) .54s;transform:rotateX(96deg)}.seal.is-open .envelope .sheet{opacity:0;transform:translateY(calc(-8 * var(--u)))}.seal.is-open .envelope .label{opacity:0}.seal.is-open .envelope{pointer-events:none}.reseal{right:0;top:calc(-26 * var(--u));font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink-400);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-soft), color var(--dur-fast);background:0 0;border:0;padding:0;position:absolute}.seal.is-open .reseal{opacity:1;pointer-events:auto;transition-delay:1s}.reseal:hover,.reseal:focus-visible{color:var(--ochre-deep)}.seal.is-open:before{content:"";border-top:1px dotted rgb(var(--ochre-rgb) / .6);position:absolute;top:0;left:0;right:0}.seal:not(.is-open) .envelope .flap{transition:transform .38s var(--ease-out), opacity .16s var(--ease-soft)}.seal:not(.is-open) .envelope .sheet{transition-duration:.26s;transition-delay:0s}[data-theme=dark] .paper .sheet-p{fill:#3a2c26;stroke:rgb(var(--ink-rgb) / .14)}[data-theme=dark] .paper{filter:drop-shadow(0 calc(2 * var(--u)) calc(4 * var(--u)) #0009)}[data-theme=dark] .envelope .sheet{background:linear-gradient(180deg, rgb(var(--ink-rgb) / .03), transparent 40%), var(--paper-2)}[data-theme=dark] :is(.wax,.residue){--w-hi:#fce3d2;--w-top:#e39577;--w-lite:#c9664c;--w-base:#a8402f;--w-deep:#74202b;--w-wine:#420f1f;--w-rim:#f09a7c;--w-shc:#000;--w-sha:.55;--w-sha2:.38}@media (prefers-reduced-motion:reduce){.paper.is-pasting{animation:paste-soft .3s var(--ease-out) both}}@keyframes paste-soft{0%{opacity:0;transform:rotate(var(--tilt)) scale(1.02)}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}.call{margin:calc(30 * var(--u)) 0 calc(36 * var(--u));max-width:var(--measure);padding:calc(2 * var(--u)) 0 calc(2 * var(--u)) calc(20 * var(--u));border-left:1px solid var(--rule-strong);position:relative}.call:before{content:attr(data-k);left:calc(-58 * var(--u));font-family:var(--serif);font-size:var(--t-sm);letter-spacing:.2em;color:var(--ink-400);font-weight:500;position:absolute;top:.2em}.call p{font-size:calc(16 * var(--u));margin:0 0 .6em}.call p:last-child{margin:0}.call .call-t{font-family:var(--serif);color:var(--ink-900);margin-right:.4em;font-weight:600}.call.tip{border-left-color:var(--ochre)}.call.tip:before{color:var(--ochre-deep)}.call.warn{border-left:2px solid var(--ochre)}.call.warn:before,.call.warn .call-t{color:var(--ochre-deep)}@media (max-width:1080px){.call:before{margin-bottom:calc(4 * var(--u));display:block;position:static}}@property --side-x{syntax:"<length>";inherits:true;initial-value:0}.prose{--prose-gap:clamp(calc(36 * var(--u)),6vw,calc(88 * var(--u)));--side-x:calc(var(--measure) + var(--prose-gap));position:relative}.prose .fn-ref{font-family:var(--serif);vertical-align:.6em;color:var(--ochre-deep);cursor:pointer;transition:background-color var(--dur-base) var(--ease-soft);border-radius:.2em;margin:0 .1em 0 .05em;padding:0 .12em;font-size:.66em;font-weight:600;line-height:0;text-decoration:none}.prose .fn-ref.is-lit{background:rgb(var(--ochre-rgb) / .16)}.prose .nb{white-space:nowrap}.prose>.side{margin:calc(-6 * var(--u)) 0 calc(20 * var(--u));padding-left:calc(12 * var(--u));border-left:1px solid var(--rule);font-size:var(--t-sm);color:var(--ink-400);transition:border-color var(--dur-base) var(--ease-soft), color var(--dur-base);font-weight:300;line-height:1.75}.prose .side b,.prose .side-inline>b{font-family:var(--serif);color:var(--ochre-deep);margin-right:.5em;font-weight:600}.prose>.side.is-lit{border-left-color:var(--ochre);color:var(--ink-600)}.prose.has-sidenotes>.side{left:var(--side-x);width:min(calc(220 * var(--u)), var(--side-room,calc(220 * var(--u))));margin:0;position:absolute}.prose .side-inline{margin:calc(-4 * var(--u)) 0 calc(18 * var(--u));padding:calc(10 * var(--u)) calc(14 * var(--u));max-width:var(--measure);border-left:1px solid var(--ochre);background:rgb(var(--ochre-rgb) / .05);font-size:var(--t-sm);color:var(--ink-500);animation:side-in .26s var(--ease-out) both;font-weight:300;line-height:1.75;display:block}@keyframes side-in{0%{opacity:0;transform:translateY(calc(-4 * var(--u)))}}@media (max-width:1080px){.prose.has-sidenotes>.side{display:none}.prose:not(.has-sidenotes)>.side{max-width:var(--measure)}}.prose em.dot{color:var(--ink-900);-webkit-text-emphasis:filled dot var(--ochre);text-emphasis:filled dot var(--ochre);border:0;font-weight:400;text-emphasis-position:under}.prose ruby{ruby-position:over}.prose rt{line-height:1;font-family:var(--sans);letter-spacing:.04em;color:var(--ink-400);font-size:.5em;font-weight:400}.prose mark{color:var(--ink-900);background:linear-gradient(rgb(var(--ochre-rgb) / .24), rgb(var(--ochre-rgb) / .24)) no-repeat 0 50% / 100% 88%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .12em}.mark-host{isolation:isolate;position:relative}.prose mark.inked{background:0 0;padding:0}.mk{z-index:-1;pointer-events:none;mix-blend-mode:multiply;position:absolute;overflow:visible}.mk path{fill:var(--ochre)}.mk .p1{fill-opacity:.2}.mk .p2{fill-opacity:.12}.mk .p3{fill-opacity:.14}[data-theme=dark] .mk{mix-blend-mode:screen}[data-theme=dark] .mk .p1{fill-opacity:.34}[data-theme=dark] .mk .p2{fill-opacity:.18}[data-theme=dark] .mk .p3{fill-opacity:.22}.mk.go{animation:mk-draw var(--mk-dur,.52s) cubic-bezier(.55,.1,.35,1) var(--mk-delay,0s) both}@keyframes mk-draw{0%{clip-path:inset(-20% 100% -20% -2%)}to{clip-path:inset(-20% -4% -20% -2%)}}.mk.wait{clip-path:inset(-20% 100% -20% -2%)}.prose .pull{margin:calc(48 * var(--u)) 0;max-width:var(--measure);padding:calc(26 * var(--u)) 0;border-top:1px solid var(--ink-900);border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:var(--t-2xl);letter-spacing:.01em;color:var(--ink-900);text-wrap:balance;font-weight:600;line-height:1.42}.prose .pull .accent{color:var(--ochre)}.prose .pull strong{font-weight:inherit;color:var(--ochre)}.prose a.ext:after{content:"↗";vertical-align:.18em;color:var(--ochre);margin-left:.12em;font-size:.72em;text-decoration:none;display:inline-block}.card{z-index:60;width:min(calc(320 * var(--u)), calc(100vw - 24px));padding:calc(16 * var(--u)) calc(18 * var(--u));background:var(--paper);border-top:2px solid var(--ochre);box-shadow:0 0 0 1px var(--rule), 0 calc(16 * var(--u)) calc(36 * var(--u)) calc(-12 * var(--u)) rgb(var(--shadow-rgb) / .32);font-family:var(--sans);position:fixed}.card[hidden]{display:none}.card.in{animation:.22s cubic-bezier(0,0,.38,.9) both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(calc(-4 * var(--u)))}}.card .k{font-size:var(--t-micro);letter-spacing:.2em;color:var(--ink-400);justify-content:space-between;display:flex}.card .t{margin-top:calc(8 * var(--u));font-family:var(--serif);font-size:var(--t-lg);color:var(--ink-900);font-weight:600;line-height:1.4;display:block}.card .x{margin-top:calc(8 * var(--u));font-size:var(--t-sm);color:var(--ink-500);font-weight:300;line-height:1.75;display:block}.card .m{margin-top:calc(12 * var(--u));padding-top:calc(10 * var(--u));border-top:1px solid var(--rule);font-size:var(--t-xs);color:var(--ink-400);gap:.9em;display:flex}.card .m .tag{color:var(--ochre-deep)}.prose h2 .sect{left:calc(-58 * var(--u));font-family:var(--serif);font-size:var(--t-base);color:var(--ochre-deep);opacity:0;transition:opacity var(--dur-fast) var(--ease-soft);font-weight:500;text-decoration:none;position:absolute;top:.12em}.post-body .prose h2 .sect{left:calc(-40 * var(--u))}.prose h2:before{transition:opacity var(--dur-fast) var(--ease-soft)}.prose h2:is(:hover,:focus-within):before{opacity:0}.prose h2:is(:hover,:focus-within) .sect{opacity:1}.prose h2 .sect:focus-visible{outline:2px solid var(--ochre-deep);outline-offset:3px}.prose h2 .copied{margin-left:calc(14 * var(--u));font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.14em;color:var(--ochre-deep);vertical-align:.2em;opacity:0;transition:opacity var(--dur-base) var(--ease-soft);font-weight:400;display:inline-block}.prose h2.is-copied .copied{opacity:1}@media (max-width:1080px){.prose h2 .sect,.post-body .prose h2 .sect{top:.1em;left:0}}.selbar{z-index:60;white-space:nowrap;background:var(--ink-900);box-shadow:var(--shadow-soft);display:flex;position:fixed}.selbar[hidden]{display:none}.selbar button{padding:calc(7 * var(--u)) calc(12 * var(--u));font:inherit;font-size:var(--t-xs);letter-spacing:.1em;color:var(--paper);cursor:pointer;background:0 0;border:0}.selbar button+button{border-left:1px solid var(--rule-invert)}.selbar button:hover,.selbar button:focus-visible{text-underline-offset:.3em;text-decoration:underline}.selbar:after{content:"";left:50%;bottom:calc(-5 * var(--u));margin-left:calc(-5 * var(--u));border:calc(5 * var(--u)) solid transparent;border-bottom:0;border-top-color:var(--ink-900);position:absolute}::target-text{background:rgb(var(--gold-rgb) / .28);color:var(--ink-900)}html{scrollbar-gutter:stable}html:has(.zd[open]){overflow:hidden}.zf{margin:calc(36 * var(--u)) 0 calc(32 * var(--u));max-width:var(--measure)}.zf .pic{width:100%;color:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.prose .zf img{width:100%;height:auto;filter:var(--scene-filter);margin:0;display:block}.zf .pic:focus-visible{outline:1.5px solid var(--ochre);outline-offset:calc(5 * var(--u))}.zf figcaption{align-items:baseline;gap:calc(14 * var(--u));margin-top:calc(12 * var(--u));font-size:var(--t-xs);color:var(--ink-400);line-height:1.7;display:flex}.zf figcaption b{font-family:var(--serif);letter-spacing:.14em;color:var(--ink-600);white-space:nowrap;font-weight:600}.zf .hint{white-space:nowrap;letter-spacing:.12em;color:var(--ochre-deep);opacity:0;transform:translateX(calc(-4 * var(--u)));transition:opacity .22s var(--ease-soft), transform .26s var(--ease-out);margin-left:auto}.zf:has(.pic:is(:hover,:focus-visible)) .hint{opacity:1;transform:none}@media (hover:none){.zf .hint{display:none}}.zd{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink-600);cursor:zoom-out;--w:94vw;--h:calc(100dvh - 120px);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.zd::backdrop{background:0 0}.zd:focus{outline:none}.zd .bg{background:color-mix(in srgb, var(--paper) 55%, #fff);position:absolute;inset:0}.zd .stage{place-items:center;display:grid;position:absolute;inset:0}.zd .piece{position:relative}.zd img{width:auto;height:auto;max-width:var(--w);max-height:var(--h);filter:var(--scene-filter);margin:0;display:block}.zd .label{margin:calc(10 * var(--u)) 0 0;padding-left:calc(12 * var(--u));border-left:1.5px solid rgb(var(--ochre-rgb) / .7);white-space:nowrap;font-size:var(--t-xs);color:var(--ink-400);line-height:1.7;position:absolute;top:100%;right:0}.zd .label b{font-family:var(--serif);letter-spacing:.14em;color:var(--ink-600);margin-right:1em;font-weight:600}.zd .x{top:calc(22 * var(--u));right:calc(28 * var(--u));font:inherit;font-size:var(--t-xs);letter-spacing:.16em;color:var(--ink-400);padding:calc(6 * var(--u)) calc(8 * var(--u));cursor:pointer;background:0 0;border:0;position:absolute}.zd .x:focus-visible{outline:1.5px solid var(--ochre)}@media (hover:none){.zd .x .esc{display:none}}[data-theme=dark] .zd{--w:76vw;--h:calc(100dvh - 200px)}[data-theme=dark] .zd .bg{background:radial-gradient(ellipse 62% 58% at 50% 47%, rgb(var(--light-rgb) / .13), rgb(var(--light-rgb) / .04) 48%, transparent 72%), #080504}[data-theme=dark] .zd img{filter:var(--scene-filter) brightness(1.05);box-shadow:0 0 calc(90 * var(--u)) calc(6 * var(--u)) rgb(var(--light-rgb) / .1)}[data-theme=dark] .zd .label{margin-top:calc(16 * var(--u));text-align:center;white-space:normal;color:rgb(var(--light-rgb) / .62);border-left:0;padding-left:0;position:static}[data-theme=dark] .zd .label b{color:rgb(var(--light-rgb) / .86)}[data-theme=dark] .zd .x{color:rgb(var(--light-rgb) / .62)}::view-transition-group(zoom){animation-duration:.46s!important;animation-timing-function:var(--ease-out)!important}::view-transition-old(zoom){height:100%;animation-duration:.46s!important}::view-transition-new(zoom){height:100%;animation-duration:.46s!important}html.zooming::view-transition-old(root){animation:zd-out .3s var(--ease-soft) both!important}html.zooming::view-transition-new(root){animation:zd-in .36s var(--ease-soft) both!important}@keyframes zd-out{to{opacity:0}}@keyframes zd-in{0%{opacity:0}}@media (max-width:640px){.zd{--w:100vw}.zd .label{right:calc(16 * var(--u))}[data-theme=dark] .zd{--w:calc(100vw - 32px)}.zd .x{top:calc(14 * var(--u));right:calc(12 * var(--u))}}.post-head{position:relative}.ribbon{right:calc(24 * var(--u));align-items:flex-end;gap:calc(10 * var(--u));flex-direction:column;display:flex;position:absolute;top:0}.ribbon .tail{width:calc(14 * var(--u));height:calc(64 * var(--u));background:var(--ochre);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);transform-origin:top;animation:ribbon-drop .9s var(--ease-out) .3s both}@keyframes ribbon-drop{0%{transform:scaleY(0)}}@keyframes ribbon-say{0%{opacity:0}}.ribbon .say{font-size:var(--t-xs);letter-spacing:.06em;color:var(--ink-400);text-align:right;animation:ribbon-say .42s var(--ease-soft) .7s both;line-height:1.6}.ribbon .say b{font-family:var(--serif);font-size:var(--t-sm);letter-spacing:.02em;color:var(--ochre-deep);font-weight:500;display:block}.ribbon button{font:inherit;letter-spacing:inherit;color:var(--ink-600);cursor:pointer;background:0 0;border:0;padding:0}.ribbon button:hover,.ribbon button:focus-visible{color:var(--ochre-deep)}.ribbon .no{color:var(--ink-400);margin-left:.8em}.series-k{margin:calc(18 * var(--u)) 0 0;font-size:var(--t-xs);letter-spacing:.16em;color:var(--ink-400)}.series-k+.post-title{margin-top:calc(10 * var(--u))}.series-k a{color:var(--ochre-deep);font-family:var(--serif);letter-spacing:.06em}.series{max-width:var(--measure);margin:calc(56 * var(--u)) 0 0 calc(var(--rail-w) + var(--rail-gap));border-top:1px solid var(--ink-900);scroll-margin-top:calc(96 * var(--u))}.series .hd{padding:calc(14 * var(--u)) 0 calc(10 * var(--u));font-size:var(--t-micro);letter-spacing:.24em;color:var(--ink-600);justify-content:space-between;display:flex}.series ol{counter-reset:s;margin:0;padding:0;list-style:none}.series li{counter-increment:s;border-top:1px solid var(--rule)}.series .row{grid-template-columns:calc(40 * var(--u)) 1fr auto;padding:calc(13 * var(--u)) 0;align-items:baseline;text-decoration:none;display:grid}.series .row:before{content:counter(s, cjk-ideographic);font-family:var(--serif);font-size:var(--t-sm);color:var(--ochre)}.series .t{font-family:var(--serif);font-size:var(--t-base);color:var(--ink-400);transition:color var(--dur-fast) var(--ease-soft);font-weight:500}.series a.row:hover .t,.series a.row:focus-visible .t{color:var(--ochre-deep)}.series .s{font-size:var(--t-xs);color:var(--ink-400);letter-spacing:.06em}.series .read{display:none}.series .done .t{color:var(--ink-600)}.series .done .read{display:inline}.series .done .read:before{content:"✓ ";color:var(--ochre)}.series .done .len{display:none}.series .cur .t{color:var(--ink-900);font-weight:600}.series .cur .s{color:var(--ochre-deep)}.related{margin:calc(28 * var(--u)) 0 clamp(calc(56 * var(--u)),7vw,calc(88 * var(--u))) calc(var(--rail-w) + var(--rail-gap));max-width:var(--measure);font-size:var(--t-sm);color:var(--ink-400);line-height:1.9}.related a{color:var(--ochre-deep);-webkit-text-decoration:underline 1px rgb(var(--ochre-rgb) / .35);text-decoration:underline 1px rgb(var(--ochre-rgb) / .35);text-underline-offset:.3em;transition:text-decoration-color var(--dur-fast) var(--ease-soft)}.related a:hover{text-decoration-color:currentColor}@media (max-width:640px){.card,.selbar{display:none!important}.post-title{padding-right:calc(30 * var(--u))}.ribbon{margin-top:calc(14 * var(--u));display:block;position:static}.ribbon .tail{height:calc(52 * var(--u));position:absolute;top:0;right:0}.ribbon .say{text-align:left}.ribbon .say b{margin:0 .4em;display:inline}}
