@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/assets/fonts/bricolage-grotesque.a756882d.woff2) format("woff2")}
*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth}img,svg,video{display: block;max-width: 100%}a{color: inherit;text-decoration: none;-webkit-tap-highlight-color: transparent}button,input{font: inherit;color: inherit}h1,h2,h3,h4,p,ol,ul,figure,blockquote,fieldset{margin: 0}ol,ul{padding: 0;list-style: none}fieldset{border: 0;padding: 0;min-width: 0}summary{list-style: none;cursor: pointer}summary::-webkit-details-marker{display: none}[hidden]{display: none !important}.sr{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}html:not(.js) .needs-js{display: none !important}:root{--bg: #F3EEE7;--tint: #EEDED9;--cherry: #AA0A27;--cherry-deep: #8E0820;--ink: #501627;--ink-2: rgba(80,22,39,.8);--ink-3: rgba(80,22,39,.72);--line: rgba(80,22,39,.14);--line-2: rgba(80,22,39,.3);--on: #F3EEE7;--display: "Bricolage Grotesque",system-ui,sans-serif;--text: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease: cubic-bezier(.22,1,.36,1);--fs: 19px;--gutter: 20px;--bar-h: 60px;color-scheme: light}:root[data-fs="17"]{--fs: 17px}:root[data-fs="21"]{--fs: 21px}:root[data-fs="23"]{--fs: 23px}@media (min-width: 768px){:root{--gutter: 40px}}@media (min-width: 1200px){:root{--gutter: 48px}}body{margin: 0;min-height: 100vh;min-height: 100dvh;display: flex;flex-direction: column;background: var(--bg);color: var(--ink);font-family: var(--text);font-size: 16px;line-height: 1.55;overflow-x: clip}body>main{flex: none}body>.foot{flex: 1 0 auto}:focus-visible{outline: 2px solid var(--cherry);outline-offset: 2px}::selection{background: rgba(170,10,39,.18)}.skip{position: absolute;left: 12px;top: -64px;z-index: 100;padding: 10px 18px;border-radius: 999px;background: var(--ink);color: var(--on);font-weight: 600;transition: top .3s var(--ease)}.skip:focus{top: 12px}.wrap{width: 100%;max-width: 1180px;margin-inline: auto;padding-inline: var(--gutter)}.narrow{max-width: calc(760px + 2 * var(--gutter))}.meta{font-size: 14px;color: var(--ink-3)}.ico{width: 22px;height: 22px;fill: none;stroke: currentColor;stroke-width: 1.7;stroke-linecap: round;stroke-linejoin: round}.num{font-family: var(--display);font-weight: 600;font-variant-numeric: tabular-nums;color: var(--cherry)}.label{font-size: 12px;font-weight: 650;letter-spacing: .12em;text-transform: uppercase;color: var(--ink-3)}.empty{padding: 40px 0;color: var(--ink-3)}@keyframes rise{from{opacity: 0;transform: translateY(16px)}}@keyframes softIn{from{opacity: 0;transform: translateY(8px)}}.logo{display: inline-flex;align-items: baseline;gap: .24em;color: var(--cherry);white-space: nowrap;font-family: var(--display);font-weight: 800;font-stretch: 75%;font-size: 24px;line-height: 1;letter-spacing: -.01em}.bar{position: sticky;top: 0;z-index: 50;height: var(--bar-h);background: color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter: saturate(150%) blur(16px);backdrop-filter: saturate(150%) blur(16px)}.bar-in{display: flex;align-items: center;gap: 2px;height: 100%;max-width: 1180px;margin-inline: auto;padding-inline: var(--gutter) calc(var(--gutter) - 12px)}.bar .logo{margin-right: auto;padding-block: 8px}.nav{display: none}.nav a{position: relative;padding: 12px 14px;font-size: 15px;font-weight: 550;color: var(--ink)}.nav a::after{content: "";position: absolute;left: 14px;right: 14px;bottom: 9px;height: 1.5px;background: var(--cherry);transform: scaleX(0);transform-origin: 0 50%;transition: transform .6s var(--ease)}.nav a:hover::after,.nav a[aria-current="page"]::after{transform: scaleX(1)}.icon-btn{display: inline-grid;place-items: center;width: 44px;height: 44px;border: 0;padding: 0;background: none;border-radius: 999px;color: var(--ink);cursor: pointer;transition: background-color .3s var(--ease),opacity .2s}.icon-btn:hover{background: var(--tint)}.icon-btn:active{opacity: .6}.pop{position: relative}.pop>summary{display: inline-grid;place-items: center;min-width: 44px;height: 44px;padding: 0 10px;border-radius: 999px;color: var(--ink);transition: background-color .3s var(--ease)}.pop>summary:hover,.pop[open]>summary{background: var(--tint)}.aa{font-family: var(--display);font-size: 17px;font-weight: 600;letter-spacing: -.01em}.pop-panel{position: absolute;right: 0;top: calc(100% + 8px);z-index: 60;width: 280px;padding: 18px;border-radius: 18px;background: var(--bg);box-shadow: 0 0 0 1px var(--line),0 24px 50px -22px rgba(80,8,22,.4);animation: softIn .45s var(--ease) both}.menu-panel{width: min(300px,calc(100vw - 32px));padding: 6px 18px}.menu-panel a{display: flex;align-items: center;min-height: 52px;border-bottom: 1px solid var(--line);font-family: var(--display);font-weight: 600;font-size: 19px}.menu-panel a:last-child{border-bottom: 0}.menu-panel a[aria-current="page"]{color: var(--cherry)}@media (min-width: 768px){.nav{display: flex;margin-right: 4px}.menu{display: none}}.fs-head{display: flex;align-items: baseline;justify-content: space-between}.fs-row{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 6px;margin-top: 10px}.fs-opt{display: grid;place-items: center;height: 44px;padding: 0;border: 0;border-radius: 12px;background: none;box-shadow: inset 0 0 0 1px var(--line-2);font-family: var(--display);font-weight: 600;line-height: 1;color: var(--ink);cursor: pointer;transition: background-color .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}.fs-opt[data-fs="17"]{font-size: 14px}.fs-opt[data-fs="19"]{font-size: 17px}.fs-opt[data-fs="21"]{font-size: 20px}.fs-opt[data-fs="23"]{font-size: 23px}.fs-opt:hover{box-shadow: inset 0 0 0 1px var(--ink)}.fs-opt[aria-pressed="true"]{background: var(--ink);color: var(--on);box-shadow: none}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: 50px;padding: 0 24px;border: 0;border-radius: 999px;background: var(--cherry);color: var(--on);font-size: 15.5px;font-weight: 600;cursor: pointer;transition: background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),opacity .2s}.btn:hover{background: var(--cherry-deep)}.btn:active{opacity: .8}.btn .ico{width: 18px;height: 18px;stroke-width: 2;transition: transform .6s var(--ease)}.btn:hover .ico{transform: translateX(4px)}.btn-ghost{background: transparent;color: var(--ink);box-shadow: inset 0 0 0 1px var(--line-2)}.btn-ghost:hover{background: var(--ink);color: var(--on);box-shadow: none}.btn[aria-busy="true"]{opacity: .6;pointer-events: none}.text-link{display: inline-flex;align-items: center;gap: 6px;min-height: 44px;font-size: 15px;font-weight: 600;color: var(--cherry)}.text-link .ico{width: 16px;height: 16px;stroke-width: 2;transition: transform .6s var(--ease)}.text-link:hover .ico{transform: translateX(4px)}.cover{position: relative;display: block;overflow: hidden;aspect-ratio: 4 / 5;border-radius: 14px;background: var(--cv-bg,var(--tint));isolation: isolate}.cover::after{content: "";position: absolute;inset: 24%;background: var(--cv-fg,var(--cherry));-webkit-mask: var(--m) center / contain no-repeat;mask: var(--m) center / contain no-repeat;transition: transform 1.4s var(--ease)}.cover.has-img::after{content: none}.cover img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform 1.4s var(--ease)}a:hover .cover::after,a:hover .cover img{transform: scale(1.04)}.cv-cherry{--cv-bg: var(--cherry);--cv-fg: var(--on)}.cv-cream{--cv-bg: var(--tint);--cv-fg: var(--cherry)}.cv-deep{--cv-bg: var(--ink);--cv-fg: var(--on)}.r169{aspect-ratio: 16 / 9}.m-moon{--m: url(/art/moon.svg)}.m-cherry{--m: url(/art/cherry.svg)}.m-wave{--m: url(/art/wave.svg)}.m-spark{--m: url(/art/spark.svg)}.m-heart{--m: url(/art/heart.svg)}.sec-head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px;padding-bottom: 12px;border-bottom: 1px solid var(--line-2)}.sec-title{font-family: var(--display);font-weight: 650;font-size: 21px;line-height: 1.2;letter-spacing: -.01em;color: var(--ink)}.intro{padding-top: 44px;padding-bottom: 40px}.intro .label{animation: rise 1.1s var(--ease) both}.intro-title{margin-top: 14px;max-width: 13em;font-family: var(--display);font-weight: 650;font-size: clamp(36px,9.6vw,44px);line-height: 1.04;letter-spacing: -.035em;color: var(--ink);animation: rise 1.1s var(--ease) .06s both}.intro-title span{color: var(--cherry)}.intro-sub{margin-top: 16px;max-width: 30em;font-size: calc(var(--fs) - 1px);line-height: 1.55;color: var(--ink-2);animation: rise 1.1s var(--ease) .12s both}.intro .btn{margin-top: 26px;animation: rise 1.1s var(--ease) .18s both}.feat{display: grid;gap: 18px}.feat .cover{aspect-ratio: 16 / 9;border-radius: 0;margin-inline: calc(var(--gutter) * -1)}.feat-meta{display: block;font-size: 14px;color: var(--ink-3)}.feat-title{display: block;margin-top: 8px;font-family: var(--display);font-weight: 650;font-size: 27px;line-height: 1.14;letter-spacing: -.02em;color: var(--ink);transition: color .4s var(--ease)}.feat:hover .feat-title{color: var(--cherry)}.feat-dek{display: block;margin-top: 10px;font-size: calc(var(--fs) - 2px);line-height: 1.55;color: var(--ink-2)}.entries{padding-top: 64px}.entry-list li{border-bottom: 1px solid var(--line)}.entry-list a{display: grid;grid-template-columns: 40px minmax(0,1fr);gap: 0 12px;padding: 18px 0;transition: opacity .25s}.entry-list a:active{opacity: .7}.e-no{padding-top: 3px;font-size: 15px}.e-title{display: block;font-family: var(--display);font-weight: 600;font-size: calc(var(--fs) + 1px);line-height: 1.25;letter-spacing: -.01em;color: var(--ink);transition: color .4s var(--ease)}.entry-list a:hover .e-title{color: var(--cherry)}.e-meta{display: block;margin-top: 6px;font-size: 14px;color: var(--ink-3)}.e-date{display: none}.about{display: flex;align-items: flex-start;gap: 16px;padding-top: 64px}.avatar{flex: none;width: 56px;height: 56px;border-radius: 50%;background: var(--tint);box-shadow: inset 0 0 0 1px var(--line);object-fit: cover}.about-title{font-family: var(--display);font-weight: 650;font-size: 19px;line-height: 1.3;color: var(--ink)}.about p{margin-top: 6px;max-width: 34em;font-size: calc(var(--fs) - 2px);line-height: 1.6;color: var(--ink-2)}.foot{margin-top: 88px;padding: 44px 0 36px;background: var(--cherry);color: var(--on)}.foot .logo{color: var(--on);font-size: 36px}.foot :focus-visible{outline-color: var(--on)}.foot-top{display: grid;gap: 20px}.foot-links{display: flex;flex-wrap: wrap;gap: 0 22px;font-size: 15px}.foot-links a{position: relative;padding: 8px 0;color: var(--on)}.foot-links a::after{content: "";position: absolute;left: 0;right: 0;bottom: 4px;height: 1px;background: currentColor;transform: scaleX(0);transform-origin: 0 50%;transition: transform .6s var(--ease)}.foot-links a:hover::after{transform: scaleX(1)}.foot-bottom{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 6px 24px;margin-top: 24px;padding-top: 18px;border-top: 1px solid rgba(243,238,231,.3);font-size: 13.5px;line-height: 1.5;color: rgba(243,238,231,.85)}.post .foot{padding-bottom: 100px}.page-head{display: grid;gap: 18px;padding-top: 36px}.page-title{margin-top: 10px;font-family: var(--display);font-weight: 650;font-size: clamp(34px,9vw,40px);line-height: 1.05;letter-spacing: -.03em;color: var(--ink)}.page-no{color: var(--ink-3)}.search{display: flex;align-items: center;gap: 10px;height: 50px;padding: 0 18px;border-radius: 999px;background: color-mix(in srgb,var(--bg) 40%,#fff);box-shadow: inset 0 0 0 1px var(--line-2);transition: box-shadow .4s var(--ease)}.search:focus-within{box-shadow: inset 0 0 0 1.5px var(--ink)}.search .ico{flex: none;width: 20px;height: 20px;color: var(--ink-3)}.search input{flex: 1;min-width: 0;height: 100%;border: 0;background: none;outline: none;font-size: 16px;color: var(--ink)}.search input::placeholder{color: var(--ink-3)}.search input::-webkit-search-cancel-button{cursor: pointer}.filters{display: flex;align-items: center;gap: 10px;margin-top: 14px}.chips{flex: 1;min-width: 0;display: flex;gap: 8px;overflow-x: auto;scrollbar-width: none;margin-left: calc(var(--gutter) * -1);padding: 2px 8px 2px var(--gutter);-webkit-mask-image: linear-gradient(90deg,#000 86%,transparent);mask-image: linear-gradient(90deg,#000 86%,transparent)}.chips::-webkit-scrollbar{display: none}.chips a{flex: none;display: inline-flex;align-items: center;height: 40px;padding: 0 16px;border-radius: 999px;box-shadow: inset 0 0 0 1px var(--line-2);font-size: 14.5px;font-weight: 550;transition: background-color .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease)}.chips a:hover{box-shadow: inset 0 0 0 1px var(--ink)}.chips a[aria-current="page"]{background: var(--ink);color: var(--on);box-shadow: none}.view{flex: none;display: inline-flex;padding: 3px;border-radius: 999px;box-shadow: inset 0 0 0 1px var(--line-2)}.view label{display: inline-grid;place-items: center;width: 40px;height: 34px;border-radius: 999px;color: var(--ink-3);cursor: pointer;transition: background-color .45s var(--ease),color .45s var(--ease)}.view .ico{width: 18px;height: 18px}.view input:focus-visible + label{outline: 2px solid var(--cherry);outline-offset: 2px}.view label.as-grid{background: var(--ink);color: var(--on)}:root[data-view="list"] .view label.as-grid,.view:has(#v-list:checked) label.as-grid{background: none;color: var(--ink-3)}:root[data-view="list"] .view label.as-list,.view:has(#v-list:checked) label.as-list{background: var(--ink);color: var(--on)}.story{animation: softIn .8s var(--ease) both}.grid-view{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 28px 12px;margin-top: 24px}.list-view{display: none;max-width: 820px;margin-top: 18px}:root[data-view="list"] .grid-view,.blog:has(#v-list:checked) .grid-view{display: none}:root[data-view="list"] .list-view,.blog:has(#v-list:checked) .list-view{display: block}.card{display: block;transition: opacity .25s}.card:active{opacity: .75}.card-meta{display: block;margin-top: 12px;font-size: 13px;color: var(--ink-3)}.card-meta .num{font-size: 13px}.card-title{display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;min-height: 3.66em;margin-top: 4px;font-family: var(--display);font-weight: 600;font-size: calc(var(--fs) - 1px);line-height: 1.22;letter-spacing: -.01em;color: var(--ink);transition: color .4s var(--ease)}.card:hover .card-title{color: var(--cherry)}.more{display: flex;flex-direction: column;align-items: center;gap: 10px;padding: 40px 0 4px}.results{max-width: 820px;margin-top: 22px}.results-count{padding-bottom: 6px}.progress{position: fixed;left: 0;right: 0;top: 0;z-index: 70;height: 3px;background: var(--cherry);transform-origin: 0 50%;transform: scaleX(0);pointer-events: none}.post-layout{padding-bottom: 24px}.post-main{min-width: 0}.post-aside{display: none}.post-head{padding-top: 30px}.post-kicker{font-size: 14px;color: var(--ink-3)}.post-kicker a:hover{color: var(--cherry)}.post-title{margin-top: 12px;font-family: var(--display);font-weight: 650;font-size: clamp(31px,8.4vw,36px);line-height: 1.1;letter-spacing: -.03em;color: var(--ink);overflow-wrap: break-word}.post-dek{margin-top: 14px;font-size: calc(var(--fs) - 1px);line-height: 1.55;color: var(--ink-2)}.byline{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 14px;margin-top: 16px;font-size: 14px;color: var(--ink-3)}.byline b{color: var(--ink);font-weight: 600}.disclosure{margin-top: 16px;padding: 12px 14px;border-radius: 12px;background: var(--tint);font-size: 14px;line-height: 1.5;color: var(--ink-2)}.disclosure a{color: var(--cherry);text-decoration: underline;text-underline-offset: 2px}.post-hero{margin: 24px calc(var(--gutter) * -1) 0}.post-hero .cover{aspect-ratio: 16 / 9;border-radius: 0}.caption{padding: 8px var(--gutter) 0;font-size: 13px;line-height: 1.45;color: var(--ink-3)}.intoc{margin-top: 28px;border-top: 1px solid var(--line-2);border-bottom: 1px solid var(--line-2)}.intoc>summary{display: flex;align-items: center;gap: 10px;min-height: 54px}.intoc>summary .meta{margin-left: auto}.intoc>summary .ico{width: 18px;height: 18px;color: var(--ink-3);transition: transform .5s var(--ease)}.intoc[open]>summary .ico{transform: rotate(180deg)}.intoc ol{padding-bottom: 8px;counter-reset: t}.intoc li a{display: flex;gap: 12px;padding: 10px 0;border-top: 1px solid var(--line);font-family: var(--display);font-weight: 550;font-size: 17px;line-height: 1.3;transition: color .4s var(--ease)}.intoc li a::before{counter-increment: t;content: counter(t,decimal-leading-zero);min-width: 24px;font-weight: 600;font-size: 14px;padding-top: 2px;color: var(--cherry);font-variant-numeric: tabular-nums}.intoc li a:hover{color: var(--cherry)}.takeaways{margin-top: 28px;padding: 20px 20px 18px;border-radius: 16px;background: var(--tint)}.takeaways ul{margin-top: 10px;padding-left: 1.1em;list-style: disc}.takeaways li{margin: 7px 0;font-size: calc(var(--fs) - 2px);line-height: 1.55}.takeaways li::marker{color: var(--cherry)}.prose{font-size: var(--fs);line-height: 1.72;overflow-wrap: break-word}.part{scroll-margin-top: calc(var(--bar-h) + 18px)}.prose h2{margin-top: 44px;font-family: var(--display);font-weight: 650;font-size: 25px;line-height: 1.2;letter-spacing: -.02em;color: var(--ink)}.prose h3{margin-top: 32px;font-family: var(--display);font-weight: 650;font-size: calc(var(--fs) + 2px);line-height: 1.25;letter-spacing: -.01em;color: var(--ink);scroll-margin-top: calc(var(--bar-h) + 18px)}.prose p{margin-top: 16px}.prose a,.faq-a a,.sources a,.note a,.toggle-body a{color: var(--cherry);text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 3px;transition: text-decoration-thickness .3s}.prose a:hover,.faq-a a:hover,.sources a:hover,.note a:hover{text-decoration-thickness: 2px}.prose strong{font-weight: 650;color: var(--ink)}.prose ul,.prose ol{margin-top: 16px;padding-left: 1.3em}.prose ul{list-style: disc}.prose ol{list-style: decimal}.prose li{margin-top: 8px;padding-left: .2em}.prose li::marker{color: var(--cherry)}.prose li>ul,.prose li>ol{margin-top: 6px}.prose code{padding: .1em .35em;border-radius: 6px;background: var(--tint);font-family: var(--mono);font-size: .86em}.prose pre{margin-top: 20px;padding: 16px 18px;border-radius: 14px;background: var(--ink);color: var(--on);overflow-x: auto;font-size: 14.5px;line-height: 1.6}.prose pre code{padding: 0;background: none;color: inherit;font-size: inherit}.prose hr{margin: 40px 0;border: 0;border-top: 1px solid var(--line-2)}.prose .equation code{font-size: .9em}mark.hl{padding: 0 2px;color: inherit;background-color: transparent;background-image: linear-gradient(rgba(170,10,39,.14),rgba(170,10,39,.14));background-repeat: no-repeat;background-position: 0 88%;background-size: 100% 42%}.pull{margin: 40px 0 6px;padding-left: 18px;border-left: 2px solid var(--cherry);font-family: var(--display);font-weight: 600;font-size: 23px;line-height: 1.3;letter-spacing: -.01em;color: var(--ink)}.pull p{margin: 0}.pull p + p{margin-top: 10px}.note{display: flex;gap: 12px;margin-top: 24px;padding: 18px 20px;border-radius: 16px;background: var(--tint);font-size: calc(var(--fs) - 2px);line-height: 1.6}.note-icon{flex: none;font-size: 1.15em;line-height: 1.4}.note-body>:first-child{margin-top: 0}.figure{margin: 32px calc(var(--gutter) * -1) 0}.figure .cover{aspect-ratio: 16 / 9;border-radius: 0}.fig-img,.fig-video{width: 100%;height: auto;background: var(--tint)}.todo{list-style: none !important;padding-left: 0 !important}.todo li{display: flex;gap: 10px;padding-left: 0}.todo .box{flex: none;width: 18px;height: 18px;margin-top: .32em;border-radius: 5px;box-shadow: inset 0 0 0 1.5px var(--line-2)}.todo .done .box{background: var(--cherry);box-shadow: none}.todo .done>span:last-of-type{color: var(--ink-3);text-decoration: line-through}.toggle{margin-top: 18px;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line)}.toggle>summary{display: flex;align-items: center;justify-content: space-between;gap: 14px;min-height: 52px;padding: 12px 0;font-weight: 600;line-height: 1.4}.toggle>summary::after{content: "+";flex: none;font-size: 24px;font-weight: 300;line-height: 1;color: var(--cherry);transition: transform .5s var(--ease)}.toggle[open]>summary::after{transform: rotate(45deg)}.toggle-body{padding-bottom: 14px}.toggle-body>:first-child{margin-top: 0}.linkcard{display: flex;flex-direction: column;gap: 2px;margin-top: 20px;padding: 16px 18px;border-radius: 14px;box-shadow: inset 0 0 0 1px var(--line-2);text-decoration: none !important;transition: box-shadow .4s var(--ease)}.linkcard:hover{box-shadow: inset 0 0 0 1px var(--ink)}.lc-title{font-weight: 600;line-height: 1.4;color: var(--ink)}.lc-host{display: inline-flex;align-items: center;gap: 4px;font-size: 13.5px;color: var(--ink-3)}.lc-host .ico{width: 15px;height: 15px}.table-wrap{margin-top: 24px;overflow-x: auto;border-radius: 12px;box-shadow: inset 0 0 0 1px var(--line)}.table-wrap table{width: 100%;border-collapse: collapse;font-size: calc(var(--fs) - 3px);line-height: 1.5}.table-wrap th,.table-wrap td{padding: 10px 14px;text-align: left;vertical-align: top;border-bottom: 1px solid var(--line)}.table-wrap thead th{background: var(--tint);font-weight: 650}.table-wrap tr:last-child>*{border-bottom: 0}.columns{display: grid;gap: 0 24px}@media (min-width: 768px){.columns{grid-auto-flow: column;grid-auto-columns: minmax(0,1fr)}}.facade{position: relative;display: block;aspect-ratio: 16 / 9;overflow: hidden;background: var(--ink)}.facade img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover}.facade-blank{position: absolute;inset: 0;background: var(--ink)}.facade-play{position: absolute;left: 50%;top: 50%;display: grid;place-items: center;width: 68px;height: 68px;margin: -34px 0 0 -34px;border-radius: 50%;background: var(--cherry);color: var(--on);box-shadow: 0 14px 34px -12px rgba(0,0,0,.5);transition: transform .5s var(--ease)}.facade-play .play{width: 28px;height: 28px;margin-left: 3px;fill: currentColor}.facade:hover .facade-play{transform: scale(1.06)}.facade-frame{display: block;width: 100%;aspect-ratio: 16 / 9;border: 0;background: var(--ink)}.faq{margin-top: 48px}.faq details{border-bottom: 1px solid var(--line)}.faq summary{display: flex;align-items: center;justify-content: space-between;gap: 14px;min-height: 58px;padding: 14px 0;font-size: calc(var(--fs) - 1px);font-weight: 600;line-height: 1.35;color: var(--ink)}.faq summary::after{content: "+";flex: none;font-size: 26px;font-weight: 300;line-height: 1;color: var(--cherry);transition: transform .5s var(--ease)}.faq details[open] summary::after{transform: rotate(45deg)}.faq-a{padding-bottom: 18px;font-size: calc(var(--fs) - 2px);line-height: 1.6;color: var(--ink-2);animation: softIn .6s var(--ease) both}.faq-a>* + *{margin-top: 10px}.faq-a ul,.faq-a ol{padding-left: 1.2em;list-style: disc}.faq>p,.faq>ul,.faq>ol{margin-top: 16px;font-size: calc(var(--fs) - 2px)}.sources{margin-top: 40px;font-size: 15px;color: var(--ink-2)}.sources ol{margin-top: 10px;padding-left: 1.3em;list-style: decimal}.sources li{margin: 8px 0;overflow-wrap: anywhere}.sources p{margin-top: 10px;overflow-wrap: anywhere}.comments{margin-top: 56px}.comment-slot{margin-top: 16px;padding: 22px 20px;border-radius: 16px;box-shadow: inset 0 0 0 1px var(--line-2)}.comment-slot p{font-size: calc(var(--fs) - 2px);line-height: 1.55;color: var(--ink-2)}.comment-slot .btn{margin-top: 16px}.keep{padding-top: 56px}.guide-len{margin-top: 8px;font-size: 15px;color: var(--ink-2)}.guide-len b{color: var(--ink);font-weight: 600}.pbar{position: relative;height: 4px;margin-top: 10px;border-radius: 999px;background: var(--tint);overflow: hidden}.pbar i{position: absolute;inset: 0;background: var(--cherry);transform-origin: 0 50%;transform: scaleX(0)}.toc{margin-top: 12px}.toc a{display: flex;align-items: flex-start;gap: 10px;padding: 9px 10px;border-radius: 10px;font-size: 15px;line-height: 1.35;color: var(--ink-2);transition: color .35s var(--ease),background-color .35s var(--ease)}.toc a:hover{color: var(--cherry)}.toc a.is-active{background: var(--tint);color: var(--ink)}.toc .t-n{min-width: 20px;padding-top: 1px;font-size: 13px}.toc .t-ok{flex: none;margin-left: auto;width: 16px;height: 16px;margin-top: 2px;opacity: 0;color: var(--cherry);stroke-width: 2.2;transition: opacity .5s var(--ease)}.toc a.is-done .t-ok{opacity: 1}.guide-fs{margin-top: 16px;padding-top: 14px;border-top: 1px solid var(--line)}.sheet{position: fixed;z-index: 66;left: 16px;right: 16px;bottom: max(16px,env(safe-area-inset-bottom))}.sheet>summary{display: flex;align-items: center;gap: 10px;height: 54px;padding: 0 16px 0 20px;border-radius: 999px;background: var(--ink);color: var(--on);box-shadow: 0 14px 34px -14px rgba(80,8,22,.55);font-size: 14.5px;font-weight: 600;transition: background-color .4s var(--ease)}.sheet>summary:focus-visible{outline-color: var(--cherry)}.sheet-prog{margin-left: auto;font-weight: 500;opacity: .9;font-variant-numeric: tabular-nums}.sheet>summary .ico{width: 18px;height: 18px;transition: transform .5s var(--ease)}.sheet[open]>summary .ico{transform: rotate(180deg)}.sheet-panel{position: absolute;left: 0;right: 0;bottom: 64px;max-height: min(70vh,560px);overflow: auto;overscroll-behavior: contain;padding: 18px;border-radius: 22px;background: var(--bg);box-shadow: 0 0 0 1px var(--line),0 28px 60px -24px rgba(80,8,22,.4);animation: softIn .5s var(--ease) both}.sheet-panel .guide-len{margin-top: 0}.page .page-head{padding-top: 36px}.page-body{margin-top: 6px}.page-body .prose:first-child>:first-child{margin-top: 20px}.page-body .part.prose h2{font-size: 23px}.page-updated{margin-top: 40px}.nf-search{max-width: 520px;margin-top: 28px}.nf-links{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 22px}@supports (animation-timeline: scroll()){.bar{animation: barLine linear both;animation-timeline: scroll(root);animation-range: 0px 80px}@keyframes barLine{from{box-shadow: 0 1px 0 transparent}to{box-shadow: 0 1px 0 var(--line)}}}@supports (animation-timeline: view()){.reveal{animation: revealUp linear both;animation-timeline: view();animation-range: entry 0% entry 55%}@keyframes revealUp{from{opacity: 0;transform: translateY(20px)}}mark.hl{animation: marker linear both;animation-timeline: view();animation-range: entry 100% cover 45%}@keyframes marker{from{background-size: 0% 42%}}}@view-transition{navigation: auto}::view-transition-old(root),::view-transition-new(root){animation-duration: .32s;animation-timing-function: var(--ease)}@media (min-width: 768px){.intro{padding-top: 80px;padding-bottom: 56px}.intro-title{font-size: 58px}.feat{grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);align-items: center;gap: 36px}.feat .cover{margin-inline: 0;border-radius: 16px}.feat-title{font-size: 30px}.entries{padding-top: 80px}.entry-list a{grid-template-columns: 56px minmax(0,1fr) 110px;align-items: baseline;padding: 22px 0}.e-title{font-size: calc(var(--fs) + 3px)}.e-meta .m-date{display: none}.e-date{display: block;text-align: right;font-size: 14px;color: var(--ink-3)}.about{padding-top: 80px}.foot-top{grid-template-columns: auto minmax(0,1fr);align-items: center}.foot .logo{font-size: 44px}.foot-links{justify-content: flex-end}.page-head{padding-top: 56px}.page-title{font-size: 48px}.page .page-head{padding-top: 56px}.chips{margin-left: 0;padding-left: 0}.grid-view{grid-template-columns: repeat(3,minmax(0,1fr));gap: 36px 20px}.post-main{max-width: calc(680px + 2 * var(--gutter));margin-inline: auto}.post-head{padding-top: 48px}.post-title{font-size: 44px}.post-hero,.figure{margin-inline: 0}.post-hero .cover,.figure .cover,.fig-img,.fig-video,.facade,.facade-frame{border-radius: 16px}.caption{padding-inline: 0}.prose h2{font-size: 28px}.sheet{left: 50%;right: auto;width: min(520px,calc(100% - 80px));transform: translateX(-50%)}}@media (min-width: 1200px){.intro{padding-top: 112px;padding-bottom: 72px}.intro-title{font-size: 72px}.feat-title{font-size: 34px}.page-head{grid-template-columns: minmax(0,1fr) 400px;align-items: end}.page .page-head{grid-template-columns: 1fr}.grid-view{grid-template-columns: repeat(4,minmax(0,1fr));gap: 44px 24px}.post-layout{display: grid;grid-template-columns: minmax(0,700px) 280px;justify-content: space-between;gap: 64px;align-items: start;max-width: 1180px;margin-inline: auto;padding-inline: var(--gutter);width: 100%}.post-layout>.wrap{padding-inline: 0}.post-main{max-width: none;margin: 0}.post-title{font-size: 50px}.intoc,.sheet{display: none}.post .foot{padding-bottom: 36px}.post-aside{display: block;position: sticky;top: calc(var(--bar-h) + 32px);padding-top: 48px}.guide{padding: 20px 18px 18px;border-radius: 18px;box-shadow: inset 0 0 0 1px var(--line)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{animation: none !important;transition: none !important}@view-transition{navigation: none}}@media print{.bar,.sheet,.progress,.post-aside,.comments,.keep,.foot-links,.skip,.intoc{display: none !important}body{background: #fff}.foot{margin-top: 32px;padding: 16px 0;background: none;color: var(--ink)}.foot .logo{color: var(--cherry);font-size: 20px}}