.container.narrow{max-width: 820px}.blog-hero .hero-ctas{margin-top: 1.2rem;display: flex;gap: .8rem;flex-wrap: wrap}.blog-list{padding-top: 2.5rem;padding-bottom: 4rem}.section-h{font-size: 1.15rem;font-weight: 900;letter-spacing: -.01em;margin: 2.2rem 0 1rem}.section-h:first-child{margin-top: 0}.crumbs{font-size: .8rem;color: hsl(var(--muted-foreground));margin-bottom: 1rem;display: flex;flex-wrap: wrap;gap: .35rem}.crumbs a{color: inherit}.crumbs a:hover{color: hsl(var(--foreground))}.crumbs .sep{opacity: .5}.chips{display: flex;flex-wrap: wrap;gap: .4rem;margin: .4rem 0 .9rem}.chip{display: inline-block;font-size: .72rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase;background: hsl(var(--card));border: 2px solid hsl(var(--border));border-radius: var(--radius-pill);padding: .18rem .7rem;color: hsl(var(--foreground));text-decoration: none;cursor: default}a.chip:hover,button.chip:hover{background: hsl(var(--card-tint))}.chip-boost{background: hsl(var(--sun))}.filters{display: flex;flex-wrap: wrap;gap: .5rem;margin-bottom: 1.6rem}button.chip.filter{cursor: pointer;font: inherit;font-size: .74rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase}button.chip.filter.on{background: hsl(var(--foreground));color: hsl(var(--background))}.post-card{display: block;padding: 1.3rem 1.4rem;text-decoration: none;color: inherit}.post-card:hover{transform: translate(-2px,-2px);box-shadow: var(--shadow-lg)}.post-card h3{font-size: 1.08rem;font-weight: 900;letter-spacing: -.01em;margin: .35rem 0 .45rem}.post-card p{font-size: .88rem;color: hsl(var(--muted-foreground))}.post-card-meta{font-size: .74rem;font-weight: 700;color: hsl(var(--muted-foreground));letter-spacing: .02em}.post-card .chips{margin: .8rem 0 0}.post-card.hidden{display: none}.lang-badge{display: inline-block;font-size: .64rem;font-weight: 900;border: 2px solid hsl(var(--border));border-radius: var(--radius-pill);padding: 0 .45rem;margin-left: .3rem}.mini-card{display: flex;flex-direction: column;gap: .5rem;padding: 1rem 1.1rem;text-decoration: none;color: inherit;font-size: .95rem}.mini-card:hover{transform: translate(-2px,-2px);box-shadow: var(--shadow-lg)}.mini-card .chip{align-self: flex-start}.blog-teaser{margin-top: .5rem}.post-hero{padding: 3rem 0 1.5rem}.post-hero h1{font-family: 'Inter Tight',sans-serif;font-size: clamp(1.9rem,4vw,3rem);font-weight: 900;letter-spacing: -.03em;line-height: 1.08;margin: .3rem 0 .8rem}.post-hero .lede{font-size: 1.1rem;color: hsl(var(--muted-foreground));max-width: 720px}.post-meta{display: flex;flex-wrap: wrap;gap: .4rem 1.2rem;font-size: .8rem;color: hsl(var(--muted-foreground));margin-top: 1rem}.post-meta strong{color: hsl(var(--foreground))}.post-byline{display: inline-flex;align-items: center;gap: .55rem}.author-faces{display: inline-flex;align-items: center}.author-face{width: 32px;height: 32px;border-radius: 50%;object-fit: cover;display: block;border: 2px solid hsl(var(--border));background: hsl(var(--card))}.author-face + .author-face{margin-left: -12px}.author-names{display: inline-flex;flex-direction: column;line-height: 1.25}.author-role{font-size: .72rem;color: hsl(var(--muted-foreground))}.also-in{margin-top: .8rem;font-size: .82rem;font-weight: 700}.also-in a{text-decoration: underline;text-decoration-color: hsl(var(--primary));text-underline-offset: 3px}.post-layout{padding-bottom: 4rem}.toc{padding: 1rem 1.2rem;margin: 0 0 1.6rem;font-size: .86rem}.toc:hover{transform: none;box-shadow: var(--shadow)}.toc strong{display: block;font-size: .74rem;letter-spacing: .12em;text-transform: uppercase;margin-bottom: .5rem}.toc ol{list-style: none;margin: 0;padding: 0;display: grid;gap: .25rem}.toc li.lvl3{padding-left: 1rem;font-size: .8rem}.toc a{color: hsl(var(--muted-foreground))}.toc a:hover{color: hsl(var(--foreground))}.prose{font-size: 1.02rem;line-height: 1.7}.prose >* + *{margin-top: 1rem}.prose h2{font-family: 'Inter Tight',sans-serif;font-size: 1.55rem;font-weight: 900;letter-spacing: -.02em;margin-top: 2.4rem;scroll-margin-top: calc(var(--stick-top,92px) + 18px)}.prose h3{font-size: 1.15rem;font-weight: 800;margin-top: 1.8rem;scroll-margin-top: 110px}.prose h4{font-size: 1rem;font-weight: 800;margin-top: 1.4rem}.prose a{font-weight: 700;text-decoration: underline;text-decoration-color: hsl(var(--primary));text-decoration-thickness: 2px;text-underline-offset: 3px}.prose a:hover{background: hsl(var(--primary) / .18)}.prose ul,.prose ol{padding-left: 1.4rem;display: grid;gap: .35rem}.prose li::marker{font-weight: 800}.prose blockquote{border-left: 4px solid hsl(var(--primary));background: hsl(var(--card-tint) / .5);padding: .9rem 1.1rem;border-radius: 0 var(--radius) var(--radius) 0}.prose blockquote p{margin: 0}.prose code{font-family: ui-monospace,SFMono-Regular,Menlo,monospace;font-size: .9em;background: hsl(var(--secondary));padding: .1em .35em;border-radius: .35em}.prose pre{background: hsl(var(--foreground));color: hsl(var(--background));padding: 1rem 1.2rem;border-radius: var(--radius);overflow-x: auto;font-size: .88rem}.prose pre code{background: none;padding: 0;color: inherit}.prose hr{border: 0;border-top: 2px solid hsl(var(--border));margin: 2rem 0}.prose img{max-width: 100%;border: 2px solid hsl(var(--border));border-radius: var(--radius);box-shadow: var(--shadow-sm)}.prose .note-muted{text-align: left;margin-top: .6rem}.prose .btn{text-decoration: none}.prose .grid-3{margin-top: 1rem}.table-wrap{overflow-x: auto}.prose table.compare{font-size: .9rem}.prose table.compare th,.prose table.compare td{vertical-align: middle}.prose table.compare td:first-child,.prose table.compare th:first-child{font-weight: 800;white-space: nowrap}.prose table.compare tr.win td{background: hsl(var(--primary) / .13);font-weight: 600;color: hsl(var(--foreground))}.dark .prose table.compare tr.win td{background: hsl(var(--primary) / .22)}.prose table.compare tr.win td:first-child{background: hsl(var(--primary));color: hsl(var(--primary-foreground));font-weight: 900}.prose table.compare tr.win td .yes{font-weight: 900}@media (max-width: 700px){.prose table.compare,.prose table.compare tbody,.prose table.compare tr,.prose table.compare td{display: block;width: 100%}.prose table.compare thead{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.prose table.compare{border: 0;background: none}.prose table.compare tr{border: 2px solid hsl(var(--border));border-radius: var(--radius);background: hsl(var(--card));margin-bottom: .7rem;overflow: hidden}.prose table.compare tr.win{box-shadow: var(--shadow-sm)}.prose table.compare td{border: 0;border-bottom: 1px solid hsl(var(--border) / .2);display: flex;gap: .8rem;align-items: baseline;padding: .5rem .8rem}.prose table.compare td:last-child{border-bottom: 0}.prose table.compare td::before{content: attr(data-label);flex: 0 0 42%;font-weight: 700;font-size: .78rem;color: hsl(var(--muted-foreground))}.prose table.compare td:first-child{display: block;font-size: 1.02rem;padding: .55rem .8rem}.prose table.compare td:first-child::before{content: none}}.yes{font-weight: 900}.no{color: hsl(var(--muted-foreground))}.prose table,.facts{width: 100%;border-collapse: separate;border-spacing: 0;font-size: .92rem;border: 2px solid hsl(var(--border));border-radius: var(--radius);overflow: hidden;background: hsl(var(--card))}.prose th,.prose td{padding: .6rem .8rem;text-align: left;vertical-align: top;border-bottom: 1px solid hsl(var(--border) / .25)}.prose thead th{background: hsl(var(--card-tint));font-weight: 800}.prose tr:last-child td,.prose tr:last-child th{border-bottom: 0}.facts th{width: 38%;font-weight: 800;background: hsl(var(--secondary) / .6)}.tl .usd{color: hsl(var(--muted-foreground));font-weight: 600;margin-left: .25rem}details.card{padding: 0;overflow: hidden}details.card:hover{transform: none;box-shadow: var(--shadow)}details.card summary{cursor: pointer;padding: .9rem 1.1rem;font-weight: 800;list-style: none;display: flex;justify-content: space-between;align-items: center;gap: 1rem}details.card summary::-webkit-details-marker{display: none}details.card summary::after{content: "+";font-weight: 900;font-size: 1.1rem}details.card[open] summary::after{content: "−"}details.card[open]{background: hsl(var(--card-tint))}details.card p{padding: 0 1.1rem 1rem;font-size: .92rem;color: hsl(var(--foreground));margin: 0}.post-faq details,.prose details{margin-top: .6rem}.cta-card{display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;flex-wrap: wrap;margin: 2.5rem 0 1rem;padding: 1.4rem 1.6rem;background: hsl(var(--card-tint-2));transform: rotate(-.4deg)}.cta-card:hover{transform: rotate(0)}.cta-card h3{font-size: 1.15rem;font-weight: 900;margin-bottom: .25rem}.cta-card p{font-size: .9rem;color: hsl(0 0% 20%)}.cta-actions{display: flex;gap: .7rem;flex-wrap: wrap}.related{margin-top: 2.5rem}.related h2,.post-faq h2,.sources h2{font-size: 1.2rem;font-weight: 900;margin-bottom: .9rem}.sources{margin-top: 2rem;font-size: .85rem}.sources ul{padding-left: 1.2rem;display: grid;gap: .3rem;word-break: break-all}.post-nav{display: flex;justify-content: space-between;gap: 1rem;margin-top: 2.5rem;font-size: .88rem;font-weight: 700;flex-wrap: wrap}.post-nav a{text-decoration: underline;text-decoration-color: hsl(var(--primary));text-underline-offset: 3px}.dark .cta-card p{color: hsl(var(--foreground) / .8)}.dark .chip-boost{color: hsl(0 0% 5%)}.dark .prose pre{background: hsl(var(--card));color: hsl(var(--foreground));border: 2px solid hsl(var(--border))}@media (max-width: 640px){.post-hero{padding-top: 2rem}.cta-card{flex-direction: column;align-items: flex-start}}.topic-nav{margin-top: 1.2rem}.topic-nav .chip{font-size: .7rem}.blog-top{display: grid;grid-template-columns: 2fr 1fr;gap: 1.6rem;align-items: start;padding-bottom: 1rem}@media (max-width: 900px){.blog-top{grid-template-columns: 1fr}}.start-here .grid-3{grid-template-columns: repeat(3,1fr)}@media (max-width: 1100px){.start-here .grid-3{grid-template-columns: 1fr 1fr}}@media (max-width: 640px){.start-here .grid-3{grid-template-columns: 1fr}}.post-card.feature{background: hsl(var(--card-tint) / .55)}.post-card.feature h3{font-size: 1.15rem;margin-top: .6rem}.post-card.feature .post-card-meta{margin-top: .8rem}.latest{padding: 1.2rem 1.3rem;position: sticky;top: 110px}.latest:hover{transform: none;box-shadow: var(--shadow)}.latest .section-h{margin: 0 0 .8rem;font-size: 1rem}.latest-list{list-style: none;margin: 0;padding: 0;display: grid;gap: .7rem}.latest-list li{display: grid;gap: .15rem;font-size: .88rem}.latest-list a{font-weight: 700;text-decoration: underline;text-decoration-color: hsl(var(--primary));text-underline-offset: 3px}.latest-list time{font-size: .72rem;color: hsl(var(--muted-foreground));font-weight: 700}.topics{padding-top: 0}.topic-block{padding: 1.4rem 0 .4rem;border-top: 2px solid hsl(var(--border) / .25);scroll-margin-top: 110px}.topic-block:first-child{border-top: 0}.topic-head{display: flex;flex-wrap: wrap;align-items: baseline;gap: .4rem 1.2rem;margin-bottom: 1rem}.topic-head h2{font-family: 'Inter Tight',sans-serif;font-size: 1.45rem;font-weight: 900;letter-spacing: -.02em}.topic-head p{color: hsl(var(--muted-foreground));font-size: .9rem;max-width: 60ch}.topic-more{margin: .9rem 0 0;font-size: .88rem}.coming-soon{padding: 1.1rem 1.3rem;background: hsl(var(--secondary) / .6);border-style: dashed}.coming-soon:hover{transform: none;box-shadow: var(--shadow-sm)}.coming-soon .planned{margin-top: .6rem;font-size: .84rem;color: hsl(var(--muted-foreground))}.chip-topic{background: hsl(var(--card-tint))}.chip-draft{background: hsl(var(--coral-soft))}.other-topics{margin-top: 2rem;align-items: center}.other-topics .muted{font-size: .78rem;font-weight: 800;color: hsl(var(--muted-foreground));text-transform: uppercase;letter-spacing: .06em;margin-right: .3rem}.guides-promo{display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;flex-wrap: wrap;padding: 1.4rem 1.6rem;background: hsl(var(--mint-soft))}.guides-promo:hover{transform: none;box-shadow: var(--shadow)}.guides-promo h3{font-size: 1.1rem;font-weight: 900;margin-bottom: .25rem}.guides-promo p{font-size: .9rem;color: hsl(var(--muted-foreground));max-width: 62ch}.in-short{padding: 1rem 1.2rem;margin-bottom: 1.4rem;background: hsl(var(--sun-soft))}.in-short:hover{transform: none;box-shadow: var(--shadow)}.in-short strong{display: block;font-size: .74rem;letter-spacing: .12em;text-transform: uppercase;margin-bottom: .5rem}.in-short ul{margin: 0;padding-left: 1.1rem;display: grid;gap: .3rem;font-size: .92rem}.dark .in-short{color: hsl(var(--foreground))}.lang-notice{margin: 0 0 1.4rem;padding: .8rem 1.1rem;font-size: .86rem;background: hsl(var(--card-tint) / .5);border: 2px solid hsl(var(--border));border-radius: var(--radius)}.lang-notice a{font-weight: 700;text-decoration: underline;text-decoration-color: hsl(var(--primary));text-underline-offset: 3px}:root{--lavender: 262 70% 72%;--lavender-soft: 262 60% 88%;--peach: 24 95% 72%;--peach-soft: 26 90% 88%;--grape: 320 65% 68%;--grape-soft: 320 60% 89%;--olive: 96 45% 58%;--olive-soft: 96 45% 87%}.dark{--lavender-soft: 262 30% 22%;--peach-soft: 24 40% 22%;--grape-soft: 320 32% 21%;--olive-soft: 96 28% 20%}.tone-cyan{--tone: var(--card-tint-2);--tone-soft: var(--card-tint);--tone-ink: 0 0% 5%}.tone-sun{--tone: var(--sun);--tone-soft: var(--sun-soft);--tone-ink: 0 0% 5%}.tone-mint{--tone: var(--mint);--tone-soft: var(--mint-soft);--tone-ink: 0 0% 5%}.tone-coral{--tone: var(--coral);--tone-soft: var(--coral-soft);--tone-ink: 0 0% 5%}.tone-lavender{--tone: var(--lavender);--tone-soft: var(--lavender-soft);--tone-ink: 0 0% 5%}.tone-peach{--tone: var(--peach);--tone-soft: var(--peach-soft);--tone-ink: 0 0% 5%}.tone-grape{--tone: var(--grape);--tone-soft: var(--grape-soft);--tone-ink: 0 0% 5%}.tone-olive{--tone: var(--olive);--tone-soft: var(--olive-soft);--tone-ink: 0 0% 5%}.chip.tone-cyan,.chip.tone-sun,.chip.tone-mint,.chip.tone-coral,.chip.tone-lavender,.chip.tone-peach,.chip.tone-grape,.chip.tone-olive{background: hsl(var(--tone));color: hsl(var(--tone-ink))}.chip-topic{background: hsl(var(--tone,var(--card-tint)));color: hsl(var(--tone-ink,var(--foreground)))}.blog-hero-main{position: relative;overflow: hidden}.blog-hero-grid{display: grid;grid-template-columns: 1.2fr 1fr;gap: 2rem;align-items: center}@media (max-width: 900px){.blog-hero-grid{grid-template-columns: 1fr}.hero-stack{display: none}}.blog-hero-main h1{font-size: clamp(3.4rem,8vw,6.5rem);line-height: .95;letter-spacing: -.04em}.blog-hero-main .hero-subtitle{max-width: 520px}.hero-stack{position: relative;height: 300px}.hero-sticker{position: absolute;width: 190px;padding: .9rem 1rem .8rem;background: hsl(var(--tone));color: hsl(var(--tone-ink));border: var(--bw) solid hsl(var(--border));border-radius: var(--radius);box-shadow: var(--shadow);font-weight: 900;font-size: .9rem;letter-spacing: -.01em;display: grid;gap: .3rem}.hero-sticker svg{width: 100%;height: 70px}.hero-sticker:nth-child(1){left: 0;top: 10px;transform: rotate(-6deg)}.hero-sticker:nth-child(2){left: 45%;top: 40px;transform: rotate(4deg);z-index: 2}.hero-sticker:nth-child(3){left: 18%;top: 165px;transform: rotate(-2deg);z-index: 3}.hero-sticker:hover{transform: rotate(0) translateY(-4px);z-index: 5}.blog-hero-main::after{content: "";position: absolute;right: -6%;top: -30%;width: 46%;aspect-ratio: 1;border-radius: 50%;background: radial-gradient(circle at 30% 30%,hsl(var(--sun-soft)) 0 40%,transparent 41%),radial-gradient(circle at 70% 70%,hsl(var(--card-tint)) 0 45%,transparent 46%);opacity: .55;pointer-events: none;z-index: 0}.blog-hero-main .container{position: relative;z-index: 1}.post-cover{position: relative;overflow: hidden;aspect-ratio: 16 / 9;background: hsl(var(--tone,var(--card-tint)));color: hsl(var(--tone-ink,var(--foreground)));border-bottom: var(--bw) solid hsl(var(--border));display: grid;place-items: center}.post-cover.has-photo.is-plain img{width: 100%;height: 100%;object-fit: cover;display: block}.cover-photo{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block;filter: grayscale(1) contrast(1.05) brightness(1.22);transform: scale(1.02);transition: transform .35s ease}.cover-veil{position: absolute;inset: 0;background: hsl(var(--tone) / .5);mix-blend-mode: multiply}.dark .cover-veil{background: hsl(var(--tone) / .45)}.is-duotone .cover-dots{opacity: .45}.is-duotone .cover-doodle{position: absolute;right: 4.5%;bottom: 7%;width: 20%;filter: drop-shadow(2px 2px 0 hsl(var(--tone-ink) / .3))}.cover-banner.is-duotone .cover-doodle{width: 11%;right: 2.5%;bottom: 9%}.cover-lg.is-duotone .cover-doodle{width: 17%}.post-card:hover .cover-photo,.post-card:hover .is-plain img{transform: scale(1.06)}.is-plain img{transition: transform .35s ease}.cover-dots{position: absolute;inset: 0;background-image: radial-gradient(hsl(var(--tone-ink) / .18) 1.6px,transparent 1.7px);background-size: 14px 14px;opacity: .8}.cover-doodle{position: relative;width: 62%;height: auto;transition: transform .25s ease;filter: drop-shadow(3px 3px 0 hsl(var(--tone-ink) / .18))}.post-card:hover .cover-doodle{transform: rotate(0) scale(1.06) !important}.cover-label{position: absolute;left: .7rem;bottom: .6rem;font-size: .62rem;font-weight: 900;letter-spacing: .12em;text-transform: uppercase;background: hsl(var(--card));color: hsl(var(--foreground));border: 2px solid hsl(var(--border));border-radius: var(--radius-pill);padding: .15rem .55rem}.cover-lg{aspect-ratio: 16 / 8}.cover-banner{aspect-ratio: 21 / 7;border: var(--bw) solid hsl(var(--border));border-radius: var(--radius);box-shadow: var(--shadow);margin: .4rem 0 2rem}.cover-banner .cover-doodle{width: 34%}.cover-banner .cover-label{display: none}.dark .cover-dots{opacity: .5}.post-card{padding: 0;overflow: hidden}.post-card-body{padding: 1.1rem 1.3rem 1.3rem}.post-card h3{margin-top: .4rem}.post-card.feature{background: hsl(var(--card))}.post-card.feature h3{font-size: 1.2rem}.post-card.tilt-a{transform: rotate(-.8deg)}.post-card.tilt-b{transform: rotate(.7deg)}@media (max-width: 700px){.post-card.tilt-a,.post-card.tilt-b{transform: none}.post-card.tilt-a:hover,.post-card.tilt-b:hover{transform: translate(-2px,-2px)}}.post-card.tilt-a:hover,.post-card.tilt-b:hover{transform: rotate(0) translate(-2px,-2px)}.blog-teaser .post-card{text-align: left}.topic-block{border-top: 0;padding-top: 2.2rem}.topic-head{align-items: flex-start}.topic-num{flex: none;display: inline-grid;place-items: center;width: 3rem;height: 3rem;font-family: 'Inter Tight',sans-serif;font-size: 1.05rem;font-weight: 900;background: hsl(var(--tone));color: hsl(var(--tone-ink));border: var(--bw) solid hsl(var(--border));border-radius: .9rem;box-shadow: var(--shadow-sm);transform: rotate(-4deg)}.topic-block:nth-child(even) .topic-num{transform: rotate(3deg)}.topic-head h2{position: relative;display: inline-block}.topic-head h2::after{content: "";position: absolute;left: 0;right: 0;bottom: .1em;height: .35em;background: hsl(var(--tone) / .55);z-index: -1;border-radius: 3px}.coming-soon{background: hsl(var(--tone-soft))}.coming-soon .chip{background: hsl(var(--tone))}.start-here .grid-3{gap: 1.4rem}.latest{background: hsl(var(--sun-soft))}.latest .section-h::before{content: "●";color: hsl(var(--primary));margin-right: .4rem}article.post .in-short{background: hsl(var(--tone-soft))}article.post .toc strong{color: hsl(var(--foreground))}article.post details.card[open]{background: hsl(var(--tone-soft))}article.post .prose h2::before{content: "";display: inline-block;width: .55em;height: .55em;margin-right: .45em;border-radius: 50%;background: hsl(var(--tone));border: 2px solid hsl(var(--border));vertical-align: middle;transform: translateY(-.1em)}.post-card .cover-label{display: none}.post-card h3{font-size: 1.18rem;font-weight: 800;letter-spacing: -.01em}.post-card.feature h3{font-size: 1.28rem;font-weight: 800}.post-card p{font-size: .96rem}.section-h{font-family: 'Inter Tight',sans-serif;font-size: 1.5rem;font-weight: 900;letter-spacing: -.03em}.latest .section-h{font-size: 1.15rem}.topic-head h2{font-size: clamp(1.7rem,3vw,2.4rem);font-weight: 900;letter-spacing: -.04em;line-height: 1.05}.topic-head p{font-size: 1.02rem}.post-hero h1{letter-spacing: -.04em}.mini-card strong{font-weight: 800}.guides-promo h3,.cta-card h3{font-weight: 800}.hero-sticker{font-weight: 800}.post-cover{background: hsl(var(--tone-soft,var(--card-tint)))}.cover-dots{background-image: radial-gradient(hsl(var(--tone-ink) / .14) 1.6px,transparent 1.7px)}.cover-doodle{filter: drop-shadow(3px 3px 0 hsl(var(--tone-ink) / .14))}.hero-sticker{background: hsl(var(--tone-soft))}.hero-sticker.tone-cyan{background: hsl(var(--card-tint-2))}.chip.tone-cyan,.chip.tone-sun,.chip.tone-mint,.chip.tone-coral,.chip.tone-lavender,.chip.tone-peach,.chip.tone-grape,.chip.tone-olive{background: hsl(var(--tone-soft))}.chip-topic{background: hsl(var(--tone-soft,var(--card-tint)))}.topic-num{background: hsl(var(--tone-soft))}.topic-head h2::after{background: hsl(var(--tone) / .45)}.coming-soon .chip{background: hsl(var(--tone-soft))}.blog-hero-main::after{opacity: .4}.dark .hero-sticker.tone-cyan{color: hsl(0 0% 5%)}.blog-hero-cta{margin: 1.1rem 0 0}.btn.ap-open svg{width: 1.05em;height: 1.05em}.ap-backdrop{position: fixed;inset: 0;z-index: 90;background: hsl(var(--ink) / .45);backdrop-filter: blur(2px)}.ap{display: none;position: fixed;inset: 0;z-index: 95;overflow-y: auto;background: hsl(var(--background));border-top: var(--bw) solid hsl(var(--border))}.ap:target,.ap.open{display: block}body.ap-lock{overflow: hidden}.ap-inner{padding: 1.6rem 0 3.5rem}.ap-head{display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem;padding-bottom: 1.1rem;border-bottom: var(--bw) solid hsl(var(--border))}.ap-head h2{margin: 0;font-size: clamp(1.5rem,4vw,2.1rem);line-height: 1.1}.ap-head p{margin: .35rem 0 0;color: hsl(var(--muted-foreground));font-size: .93rem}.ap-close{flex: none;display: inline-flex;align-items: center;justify-content: center;width: 2.6rem;height: 2.6rem;font-size: 1.7rem;line-height: 1;text-decoration: none;color: hsl(var(--foreground));background: hsl(var(--card));border: var(--bw) solid hsl(var(--border));border-radius: var(--radius-pill);box-shadow: var(--shadow-sm);transition: transform .12s ease,box-shadow .12s ease}.ap-close:hover{transform: translate(-2px,-2px);box-shadow: var(--shadow)}.ap-close:active{transform: translate(2px,2px);box-shadow: none}.ap-controls{display: grid;gap: .9rem;margin: 1.3rem 0 .6rem}.ap-search{display: flex;align-items: center;gap: .6rem;padding: .7rem 1.1rem;background: hsl(var(--card));border: var(--bw) solid hsl(var(--border));border-radius: var(--radius-pill);box-shadow: var(--shadow-sm)}.ap-search svg{width: 1.15rem;height: 1.15rem;flex: none;opacity: .65}.ap-search input{flex: 1;min-width: 0;border: 0;background: none;outline: none;font: inherit;font-size: 1rem;color: hsl(var(--foreground))}.ap-search input::placeholder{color: hsl(var(--muted-foreground))}.ap-search:focus-within{box-shadow: var(--shadow)}.ap-filters{display: flex;flex-wrap: wrap;gap: .45rem}.ap-sortrow{display: flex;align-items: center;gap: .6rem;flex-wrap: wrap}.ap-sortlabel{font-size: .74rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase;color: hsl(var(--muted-foreground))}button.chip.sort{cursor: pointer;font: inherit;font-size: .74rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase}button.chip.sort.on{background: hsl(var(--foreground));color: hsl(var(--background))}.ap-count{margin: .9rem 0 .7rem;font-size: .82rem;font-weight: 700;letter-spacing: .03em;text-transform: uppercase;color: hsl(var(--muted-foreground))}.ap-count b{color: hsl(var(--foreground))}.ap-list{display: grid;gap: .55rem}.ap-row{display: flex;align-items: center;justify-content: space-between;gap: 1.2rem;padding: .85rem 1.15rem;text-decoration: none;color: inherit;background: hsl(var(--card));border: var(--bw) solid hsl(var(--border));border-radius: var(--radius);transition: transform .12s ease,box-shadow .12s ease}.ap-row:hover{transform: translate(-2px,-2px);box-shadow: var(--shadow-sm)}.ap-row[hidden]{display: none}.ap-main{min-width: 0;display: block}.ap-title{display: block;font-weight: 800;font-size: 1.02rem;line-height: 1.3}.ap-desc{display: block;margin-top: .2rem;font-size: .86rem;line-height: 1.45;color: hsl(var(--muted-foreground));display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.ap-meta{flex: none;display: flex;align-items: center;gap: .7rem}.ap-meta time,.ap-read{font-size: .78rem;font-weight: 700;color: hsl(var(--muted-foreground));white-space: nowrap}.ap-meta .chip{font-size: .68rem}.ap-empty{margin: 2rem 0;padding: 1.4rem;text-align: center;font-size: .95rem;background: hsl(var(--card-tint));border: var(--bw) dashed hsl(var(--border));border-radius: var(--radius)}.ap-reset{cursor: pointer;font: inherit;font-weight: 800;margin-left: .4rem;background: none;border: 0;color: hsl(var(--foreground));text-decoration: underline;text-underline-offset: 3px}@media (max-width: 720px){.ap-row{flex-direction: column;align-items: flex-start;gap: .55rem}.ap-desc{-webkit-line-clamp: 3}.ap-meta{display: grid;grid-template-columns: auto auto;gap: .35rem .7rem;justify-content: start;align-items: center}.ap-meta .chip{grid-column: 1 / -1;justify-self: start}}@media (prefers-reduced-motion: reduce){.ap-row,.ap-close,.btn.ap-open{transition: none}}.dark .chip.tone-cyan:not(.on),.dark .chip.tone-sun:not(.on),.dark .chip.tone-mint:not(.on),.dark .chip.tone-coral:not(.on),.dark .chip.tone-lavender:not(.on),.dark .chip.tone-peach:not(.on),.dark .chip.tone-grape:not(.on),.dark .chip.tone-olive:not(.on),.dark .chip-topic{color: hsl(var(--foreground))}.blog-hero:not(.blog-hero-main){padding-bottom: 1.6rem}.blog-hero:not(.blog-hero-main) + .blog-list{padding-top: 1.4rem}@media (max-width: 700px){.blog-hero:not(.blog-hero-main){padding-bottom: 1.2rem}.blog-hero:not(.blog-hero-main) + .blog-list{padding-top: 1.1rem}}.share{margin-top: 2.4rem;padding-top: 1.4rem;border-top: 2px dashed hsl(var(--border) / .45)}.share-title{font-size: .82rem;font-weight: 900;text-transform: uppercase;letter-spacing: .06em;margin: 0 0 .8rem;opacity: .75}.share-row{display: flex;flex-wrap: wrap;gap: .5rem;align-items: center}.share-btn{display: inline-flex;align-items: center;gap: .45rem;cursor: pointer;font: inherit;font-size: .82rem;font-weight: 800;line-height: 1;padding: .55rem .7rem;color: hsl(var(--foreground));text-decoration: none;background: hsl(var(--card));border: var(--bw) solid hsl(var(--border));border-radius: var(--radius-pill);box-shadow: 2px 2px 0 hsl(var(--border));transition: transform .12s ease,box-shadow .12s ease,background .12s ease}.share-btn svg{width: 17px;height: 17px;flex: none}.share-btn:hover{transform: translate(-1px,-1px);box-shadow: 3px 3px 0 hsl(var(--border));background: hsl(var(--card-tint) / .6)}.share-btn:active{transform: translate(1px,1px);box-shadow: 1px 1px 0 hsl(var(--border))}.share-btn:focus-visible{outline: 3px solid hsl(var(--primary));outline-offset: 2px}.share-row >a.share-btn{padding: .55rem}.share-copy.is-copied{background: hsl(var(--primary) / .18)}@media (max-width: 480px){.share-row{gap: .4rem}.share-btn{font-size: .78rem}}@media print{.share{display: none}}.read-progress{position: fixed;top: 0;left: 0;right: 0;height: 4px;z-index: 60;pointer-events: none}.read-progress span{display: block;height: 100%;background: hsl(var(--primary));border-bottom: 1px solid hsl(var(--border));transform: scaleX(0);transform-origin: 0 50%}@media (prefers-reduced-motion: no-preference){.read-progress span{transition: transform .08s linear}}.prose h2,.prose h3{position: relative}.heading-anchor{display: inline-flex;align-items: center;justify-content: center;width: 1.1em;height: 1.1em;margin-left: .35em;vertical-align: middle;color: hsl(var(--muted-foreground));opacity: 0;transition: opacity .12s ease,color .12s ease}.heading-anchor svg{width: .78em;height: .78em}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus-visible,.heading-anchor.copied{opacity: 1}.heading-anchor:hover,.heading-anchor.copied{color: hsl(var(--primary))}@media (hover: none){.heading-anchor{opacity: .45}}.toc{position: sticky;top: var(--stick-top,92px);z-index: 6}@media (max-width: 640px){:root{--stick-top: 76px}}@media (hover: none){.toc a{display: block;padding: .3rem 0}.breadcrumbs a{padding: .2rem 0;display: inline-block}}.toc-head{display: flex;align-items: center;gap: .5rem;width: 100%;font: inherit;text-align: left;background: none;border: 0;padding: 0;color: inherit;cursor: default}.toc-head strong{margin: 0;flex: none}.toc-now{flex: 1;min-width: 0;font-size: .8rem;font-weight: 700;display: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.toc-chev{flex: none;width: 14px;height: 14px;display: none;transition: transform .15s ease}.toc ol{margin-top: .5rem}.toc a.active{color: hsl(var(--foreground));font-weight: 800}.toc a.active::before{content: "";display: inline-block;width: .4em;height: .4em;margin-right: .4em;border-radius: 50%;background: hsl(var(--primary));vertical-align: middle}.toc{--toc-ease: cubic-bezier(.32,.72,0,1);--toc-time: .34s}.toc.is-measuring,.toc.is-measuring >ol{transition: none !important}.toc.is-measured{transition: padding var(--toc-time) var(--toc-ease),margin-bottom var(--toc-time) var(--toc-ease)}.toc.is-measured >ol{height: var(--toc-ol-h,auto);overflow: hidden;transition: height var(--toc-time) var(--toc-ease),margin-top var(--toc-time) var(--toc-ease),opacity calc(var(--toc-time) * .55) var(--toc-ease),visibility 0s linear 0s}.toc.stuck{padding: .55rem 1.2rem;cursor: pointer}.toc.stuck .toc-head{cursor: pointer}.toc.stuck .toc-now,.toc.stuck .toc-chev{display: block}.toc.stuck >ol{display: none}.toc.is-measured.stuck{margin-bottom: calc(1.6rem + var(--toc-delta,0px))}.toc.is-measured.stuck >ol{display: grid;height: 0;margin-top: 0;opacity: 0;visibility: hidden;transition: height var(--toc-time) var(--toc-ease),margin-top var(--toc-time) var(--toc-ease),opacity calc(var(--toc-time) * .55) var(--toc-ease),visibility 0s linear var(--toc-time)}.toc.stuck.open >ol{display: grid;max-height: min(48vh,380px);overflow-y: auto;padding-top: .3rem}.toc.is-measured.stuck.open >ol{position: absolute;left: 0;right: 0;top: 100%;z-index: 1;height: auto;max-height: min(48vh,380px);overflow-y: auto;opacity: 1;visibility: visible;margin: 0;padding: .5rem 1.2rem 1rem;background: hsl(var(--card));border: 3px solid hsl(var(--border));border-top: 0;border-radius: 0 0 var(--radius) var(--radius);box-shadow: var(--shadow)}.toc.stuck.open .toc-chev{transform: rotate(180deg)}@media (prefers-reduced-motion: reduce){.toc.is-measured,.toc.is-measured >ol,.toc.is-measured.stuck >ol{transition: none}}@media print{.read-progress,.heading-anchor,.toc{display: none !important}}.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.nl-inline{display: grid;gap: 1rem;margin: 2.4rem 0;padding: 1.4rem 1.5rem;border: 3px solid hsl(var(--border));border-radius: var(--radius);background: hsl(var(--card-tint));box-shadow: var(--shadow)}.nl-inline-copy strong{display: block;font-family: 'Inter Tight',sans-serif;font-size: 1.12rem;font-weight: 900;letter-spacing: -.02em;margin-bottom: .3rem}.nl-inline-copy p{margin: 0;font-size: .95rem;color: hsl(var(--muted-foreground))}.nl-inline-form{display: grid;grid-template-columns: 1fr auto;gap: .6rem}.nl-inline-form input{min-width: 0;padding: .7rem .9rem;font: inherit;font-size: .95rem;border: 2px solid hsl(var(--border));border-radius: var(--radius-pill);background: hsl(var(--card));color: hsl(var(--foreground))}.nl-inline-form .btn{white-space: nowrap}.nl-inline-status{grid-column: 1 / -1;margin: 0;font-size: .85rem;min-height: 1.1em}.nl-inline-status.error{color: hsl(var(--destructive));font-weight: 700}.nl-inline-done{margin: 2.4rem 0;padding: 1.1rem 1.3rem;font-weight: 700;border: 3px solid hsl(var(--border));border-radius: var(--radius);background: hsl(var(--mint-soft))}@media (max-width: 560px){.nl-inline-form{grid-template-columns: 1fr}}.nl-slide{position: fixed;z-index: 40;right: 1.4rem;bottom: 1.4rem;width: max-content;max-width: min(420px,calc(100vw - 2.8rem));padding: .95rem 1.1rem .9rem;background: hsl(var(--card));border: 3px solid hsl(var(--border));border-radius: var(--radius);box-shadow: 6px 6px 0 hsl(var(--border));transform: translateY(130%) rotate(-1.4deg);opacity: 0;transition: transform .38s cubic-bezier(.32,.72,0,1),opacity .26s ease,box-shadow .18s ease}.nl-slide.is-open{transform: translateY(0) rotate(-1.4deg);opacity: 1}.nl-slide:hover,.nl-slide:focus-within{transform: translateY(0) rotate(0deg);box-shadow: 8px 8px 0 hsl(var(--border))}.nl-slide .tape{top: -13px;left: 22%;width: 74px}.nl-slide-head{display: flex;align-items: center;gap: .55rem;margin-bottom: .7rem;padding-right: 1.5rem}.nl-slide-mark{flex: none;width: 1.85rem;height: 1.85rem;display: grid;place-items: center;background: hsl(var(--primary));color: hsl(var(--ink));border: 2px solid hsl(var(--border));border-radius: 50%}.nl-slide-mark svg{width: 15px;height: 15px}.nl-slide strong{font-family: 'Inter Tight',sans-serif;font-size: 1.02rem;font-weight: 900;letter-spacing: -.025em;line-height: 1.1;white-space: nowrap}.nl-slide-form{display: flex;gap: .45rem;align-items: center;flex-wrap: wrap}.nl-slide-form input{flex: 1 1 11rem;min-width: 0;padding: .5rem .85rem;font: inherit;font-size: .9rem;border: 2px solid hsl(var(--border));border-radius: var(--radius-pill);background: hsl(var(--background));color: hsl(var(--foreground))}.nl-slide-form .btn{flex: none;padding: .5rem 1.05rem;font-size: .88rem;white-space: nowrap}.nl-slide-form .nl-inline-status{flex: 1 0 100%;margin: .35rem 0 0;font-size: .8rem;min-height: 0}.nl-slide-form .nl-inline-status:empty{display: none}.nl-slide-close{position: absolute;top: .45rem;right: .45rem;width: 1.7rem;height: 1.7rem;display: grid;place-items: center;cursor: pointer;background: none;border: 0;color: hsl(var(--muted-foreground));border-radius: 50%}.nl-slide-close svg{width: 13px;height: 13px}.nl-slide-close:hover{background: hsl(var(--secondary));color: hsl(var(--foreground))}@media (max-width: 640px){.nl-slide{right: 0;bottom: 0;left: 0;width: auto;max-width: none;padding: .6rem .85rem calc(.6rem + env(safe-area-inset-bottom));border-width: 3px 0 0;border-radius: 0;box-shadow: 0 -6px 18px hsl(var(--ink) / .12);transform: translateY(110%)}.nl-slide.is-open,.nl-slide:hover,.nl-slide:focus-within{transform: translateY(0);box-shadow: 0 -6px 18px hsl(var(--ink) / .12)}.nl-slide .tape{display: none}.nl-slide-head{margin-bottom: .45rem}.nl-slide-mark{width: 1.5rem;height: 1.5rem}.nl-slide-mark svg{width: 12px;height: 12px}.nl-slide strong{font-size: .92rem}.nl-slide-form input{flex: 1 1 8rem}}@media (prefers-reduced-motion: reduce){.nl-slide{transition: none}}@media print{.nl-slide{display: none !important}}.post-fig{margin: 2rem 0;padding: 1.15rem 1.25rem 1.35rem;border: var(--bw) solid hsl(var(--ink));border-radius: 14px;background: hsl(var(--card-tint) / .55);box-shadow: 5px 5px 0 hsl(var(--ink))}.post-fig svg{display:block;width:100%;height:auto;overflow:visible}.post-fig-cap{font-family: var(--font-display,inherit);font-weight: 700;font-size: .95rem;line-height: 1.35;margin: 0 0 1.1rem;display: flex;align-items: center;gap: .55rem;flex-wrap: wrap}.post-fig-tag{display:inline-block;padding: .12em .6em;border: 2px solid hsl(var(--ink));border-radius: var(--radius-pill,999px);background: hsl(var(--sun));color: hsl(var(--ink));font-size: .72rem;letter-spacing: .04em;text-transform: uppercase}.post-fig .fig-bar{stroke: hsl(var(--ink));stroke-width: 2.5}.post-fig .fig-coral{fill: hsl(var(--coral))}.post-fig .fig-sun{fill: hsl(var(--sun))}.post-fig .fig-mint{fill: hsl(var(--mint))}.post-fig .fig-ghost{fill: hsl(var(--ink) / .10)}@media (max-width: 620px){.post-fig{padding: 1rem .85rem 1.15rem}.post-fig svg{font-size: 19px}}.post-fig .fig-grid line{stroke: hsl(var(--ink) / .18);stroke-width: 1.5}.post-fig .fig-axis{fill: hsl(var(--muted-fg))}