:root{--bg: #fff;--text: #242424;--muted: #6b6b6b;--faint: #b3b3b3;--line: #e6e6e6;--accent: #1a8917;--accent-ink: #fff;--bubble: #1f1f1f;--bubble-ink: #f2f2f2;--bubble-on: #7ee07a;--code-bg: #f2f2f2;--sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--title-font: "Source Serif 4 Variable", Georgia, serif;--body-font: "Source Serif 4 Variable", Georgia, serif;--head-font: "Inter Variable", system-ui, sans-serif;--body-size: 21px;--body-lh: 1.62;--title-weight: 700;--title-track: -.022em;--head-weight: 700;--mono: ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--col: 680px}@media(prefers-color-scheme:dark){:root{--bg: #121212;--text: #e8e8e8;--muted: #a0a0a0;--faint: #5e5e5e;--line: #2a2a2a;--bubble: #f2f2f2;--bubble-ink: #1a1a1a;--bubble-on: #1a8917;--code-bg: #1e1e1e}}.muted{color:var(--muted)}.small{font-size:13px}[data-font=book]{--title-font: "Literata Variable", Georgia, serif;--body-font: "Literata Variable", Georgia, serif;--head-font: "Literata Variable", Georgia, serif;--body-size: 19.5px;--body-lh: 1.68;--title-weight: 650}[data-font=editorial]{--title-font: "Newsreader Variable", Georgia, serif;--body-font: "Newsreader Variable", Georgia, serif;--body-size: 22px;--body-lh: 1.55;--title-weight: 600;--title-track: -.028em}[data-font=elegant]{--title-font: "Fraunces Variable", Georgia, serif;--head-font: "Fraunces Variable", Georgia, serif;--title-weight: 600;--title-track: -.02em;--head-weight: 600}[data-font=modern]{--title-font: "Inter Variable", system-ui, sans-serif;--body-font: "Inter Variable", system-ui, sans-serif;--body-size: 19px;--body-lh: 1.65;--title-weight: 750;--title-track: -.03em}[data-font=oldbook]{--title-font: "Cormorant Garamond Variable", "EB Garamond Variable", Garamond, serif;--body-font: "EB Garamond Variable", Garamond, serif;--head-font: "EB Garamond Variable", Garamond, serif;--body-size: 22.5px;--body-lh: 1.55;--title-weight: 600;--title-track: -.01em;--head-weight: 600}[data-font=caslon]{--title-font: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;--body-font: "Libre Caslon Text", Georgia, serif;--head-font: "Libre Caslon Text", Georgia, serif;--body-size: 18.5px;--body-lh: 1.75;--title-weight: 400;--title-track: -.005em;--head-weight: 700}[data-font=crimson]{--title-font: "Crimson Pro Variable", Georgia, serif;--body-font: "Crimson Pro Variable", Georgia, serif;--head-font: "Crimson Pro Variable", Georgia, serif;--body-size: 22px;--body-lh: 1.55;--title-weight: 650;--title-track: -.015em;--head-weight: 650}[data-font=apple]{--title-font: -apple-system, BlinkMacSystemFont, "Inter Variable", sans-serif;--body-font: ui-serif, "New York", "Source Serif 4 Variable", Georgia, serif;--head-font: -apple-system, BlinkMacSystemFont, "Inter Variable", sans-serif;--body-size: 20px;--body-lh: 1.6;--title-weight: 700;--title-track: -.025em}@media(prefers-color-scheme:light){[data-font=oldbook],[data-font=caslon]{--bg: #fbf7ee;--text: #2a251e;--muted: #75695a;--line: #e8dfcd;--code-bg: #f1eadb}}[data-font=oldbook] .prose-body,[data-font=caslon] .prose-body{font-variant-numeric:oldstyle-nums proportional-nums;hyphens:auto;-webkit-hyphens:auto}[data-font=oldbook] .prose-body>p+p,[data-font=caslon] .prose-body>p+p{margin-top:0;text-indent:1.4em}[data-dropcap=on] .prose-body>p:first-child:not(.is-editor-empty):first-letter{float:left;font-family:var(--title-font);font-size:4.25em;line-height:.74;margin-top:.04em;padding:.07em .09em 0 0;font-weight:500}[data-font=oldbook] .prose-body h3,[data-font=caslon] .prose-body h3{font-variant-caps:all-small-caps;letter-spacing:.06em;font-size:1.05em}.prose-body{font-family:var(--body-font);font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:-.003em;word-wrap:break-word;font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility}.prose-body>*+*{margin-top:1.1em}.prose-body p{margin:0}.prose-body p+p{margin-top:1.05em}.prose-body h2{font-family:var(--head-font);font-weight:var(--head-weight);font-size:1.45em;line-height:1.22;letter-spacing:-.018em;margin:1.7em 0 0}.prose-body h3{font-family:var(--head-font);font-weight:var(--head-weight);font-size:1.12em;line-height:1.3;letter-spacing:-.01em;margin:1.5em 0 0}.prose-body h2+*,.prose-body h3+*{margin-top:.5em}.prose-body a{color:inherit;text-decoration:underline;text-underline-offset:3px}.prose-body blockquote{margin-left:0;padding-left:22px;border-left:3px solid var(--text);font-style:italic}.prose-body ul,.prose-body ol{padding-left:1.6em}.prose-body li+li{margin-top:.4em}.prose-body li p{margin:0}.prose-body code{font:15px/1.4 var(--mono);background:var(--code-bg);padding:2px 5px;border-radius:4px}.prose-body pre{background:var(--code-bg);border-radius:4px;padding:18px 20px;overflow-x:auto;font:15px/1.55 var(--mono)}.prose-body pre code{background:none;padding:0;font-size:inherit}.prose-body hr{border:0;text-align:center;margin:2.4em 0;overflow:visible;height:auto}.prose-body hr:before{content:"· · ·";letter-spacing:.9em;font-size:26px;color:var(--muted)}.fig{margin:2em 0}.fig-frame{position:relative;cursor:default}.fig img{display:block;width:100%;height:auto;background:var(--code-bg)}.fig-wide{margin-left:-120px;margin-right:-120px}.fig-full{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}@media(max-width:960px){.fig-wide{margin-left:-20px;margin-right:-20px}}.fig figcaption{font:14px/1.4 var(--sans);color:var(--muted);text-align:center;margin-top:10px;padding:0 20px;min-height:1.4em}.video-frame{position:relative;aspect-ratio:16 / 9;background:#000;overflow:hidden;border-radius:2px}.video-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-play{position:absolute;left:50%;top:50%;width:68px;height:48px;transform:translate(-50%,-50%);border:0;border-radius:14px;background:#141414c7;cursor:pointer;transition:background .15s,transform .15s}.video-play:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-38%,-50%);border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}.video-frame:hover .video-play{background:#e62117;transform:translate(-50%,-50%) scale(1.05)}.video-embed[data-provider=vimeo] .video-frame:hover .video-play{background:#1ab7ea}@media(max-width:600px){.prose-body{font-size:calc(var(--body-size) * .88)}}.prose-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font:15px/1.45 var(--sans);display:block;overflow-x:auto}.prose-body th,.prose-body td{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}.prose-body th{font-weight:600;background:color-mix(in srgb,var(--text) 5%,transparent)}.prose-body caption{caption-side:bottom;color:var(--muted);font-size:13px;padding-top:8px}@media(min-width:1700px){html:not([data-editor]){zoom:1.12}}@media(min-width:1950px){html:not([data-editor]){zoom:1.25}}@media(min-width:2300px){html:not([data-editor]){zoom:1.4}}@media(min-width:2800px){html:not([data-editor]){zoom:1.6}}@view-transition{navigation:auto}@keyframes pp-in{0%{opacity:0;transform:translateY(8px)}}@keyframes pp-fade{0%{opacity:0}}@keyframes pp-out{to{opacity:0}}::view-transition-old(root){animation:pp-out .13s ease-in both}::view-transition-new(root){animation:pp-in .24s 60ms cubic-bezier(.2,.7,.3,1) both}.s-head{view-transition-name:pp-site-header}.pp-homebar{view-transition-name:pp-home-bar}::view-transition-group(pp-site-header),::view-transition-group(pp-home-bar){animation-duration:.2s}html.pp-enter body{animation:pp-fade .26s ease-out both}.pp-appear{animation:pp-in .28s cubic-bezier(.2,.7,.3,1) both}img.pp-img{opacity:0;transition:opacity .35s ease-out}img.pp-img.pp-loaded{opacity:1}a,button{transition:color .15s,background-color .15s,border-color .15s,opacity .15s}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}html.pp-enter body,.pp-appear{animation:none}img.pp-img{opacity:1;transition:none}a,button{transition:none}}:root{--h-wide: 1120px;--h-ink: #1d1b18;--h-ink-ink: #fbf7ee;--h-green: #1a7a17;--h-card: color-mix(in srgb, var(--code-bg) 55%, var(--bg))}@media(prefers-color-scheme:dark){:root{--h-ink: #f1ece2;--h-ink-ink: #151413;--h-green: #6fd36a}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--h-green);outline-offset:3px;border-radius:4px}h1,h2,h3{text-wrap:balance}.h-nav{max-width:var(--h-wide);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,env(safe-area-inset-left,0px))}.h-logo{font:700 28px/1 var(--title-font);text-decoration:none;letter-spacing:-.01em}.h-logo.small{font-size:20px}.h-links{display:flex;align-items:center;gap:24px;font-size:14.5px}.h-links a:not(.h-cta),.h-login{text-decoration:none;color:var(--muted);background:none;border:0;padding:0}.h-links a:not(.h-cta):hover,.h-login:hover{color:var(--text)}.h-cta{display:inline-block;background:var(--h-ink);color:var(--h-ink-ink);text-decoration:none;border:0;font:600 16px var(--sans);padding:14px 26px;border-radius:99px;transition:transform .15s,box-shadow .15s}.h-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000029}.h-cta.small{font-size:14px;padding:9px 18px}.h-cta.wide{width:100%;text-align:center;margin-top:12px}.h-hero{max-width:var(--h-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding:56px max(20px,env(safe-area-inset-left,0px)) 80px}.h-hero-text{min-width:0}.h-hero h1{margin:0;font-family:var(--title-font);font-weight:600;font-size:clamp(40px,5.2vw,66px);line-height:1.02;letter-spacing:-.02em}.h-lede{margin:22px 0 0;font:21px/1.5 var(--body-font);color:var(--muted);max-width:30em}.h-hero-actions{margin-top:32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.h-note{font-size:14px;color:var(--muted)}.h-try{margin:0;min-width:0}.h-page{position:relative;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:26px 34px 20px;box-shadow:0 1px 0 var(--line),0 24px 60px -24px #281e0a59;transform:rotate(.6deg);transition:transform .3s ease}.h-page:focus-within{transform:rotate(0)}.h-page-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.h-page-tools button{border:1px solid var(--line);background:none;border-radius:99px;padding:5px 12px;font:500 12.5px var(--sans);color:var(--muted)}.h-page-tools button[aria-checked=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.h-page-title{margin:0;outline:none;font-family:var(--title-font);font-weight:var(--title-weight);font-size:36px;line-height:1.12;letter-spacing:var(--title-track);font-optical-sizing:auto}.h-page-body{margin-top:16px;outline:none;font-size:calc(var(--body-size) * .92);min-height:7em}.h-page-body:empty:before{content:"Start typing…";color:var(--faint)}.h-page-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:14px;border-top:1px dashed var(--line)}.h-page-hint{font-size:12.5px;color:var(--muted)}.h-keep{font:600 14px var(--sans);color:var(--h-green);text-decoration:none;white-space:nowrap}.h-keep:hover{text-decoration:underline}.h-reasons,.h-themes,.h-read,.h-close{max-width:var(--h-wide);margin:0 auto;padding:72px max(20px,env(safe-area-inset-left,0px))}.h-eyebrow{margin:0 0 28px;font:600 12.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.h-reasons{border-top:1px solid var(--line)}.h-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.h-reason{min-width:0}.h-reason-mark{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--h-card);font:600 22px var(--title-font);color:var(--h-green)}.h-mark-type{font-size:24px;color:var(--text)}.h-mark-url{font:600 15px var(--mono);color:var(--text)}.h-reason h3{margin:18px 0 8px;font:600 24px/1.2 var(--title-font)}.h-reason p{margin:0;font:17px/1.55 var(--body-font);color:var(--muted)}.h-reason strong{color:var(--text);font-weight:600}.h-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:30px}.h-section-head h2{margin:0;font:600 40px/1.1 var(--title-font);letter-spacing:-.015em}.h-section-head p{margin:0;color:var(--muted);font-size:15px}.h-themes{border-top:1px solid var(--line)}.h-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.h-theme{text-decoration:none;min-width:0;display:block}.h-theme h3{margin:16px 0 4px;font:600 22px var(--title-font)}.h-theme p{margin:0;font-size:14.5px;line-height:1.5;color:var(--muted)}.h-theme:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.h-mini{aspect-ratio:4 / 3;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:18px 22px;display:flex;flex-direction:column;gap:7px;overflow:hidden;transition:transform .2s,box-shadow .2s}.h-theme:hover .h-mini{transform:translateY(-3px);box-shadow:0 14px 30px -18px #0006}.h-mini i,.h-mini b{display:block;border-radius:3px}.h-mini .ln{height:6px;background:var(--line);width:100%}.h-mini .w60{width:60%}.h-mini .w80{width:80%}.h-mini-blogger{align-items:center}.h-mini-blogger .av{width:22px;height:22px;border-radius:50%;background:var(--code-bg)}.h-mini-blogger .nm{width:46%;height:11px;background:var(--muted);opacity:.7}.h-mini-blogger .img{width:100%;flex:1;min-height:40px;background:color-mix(in srgb,var(--h-green) 18%,var(--code-bg));margin-top:6px}.h-mini-blogger .hd{width:70%;height:9px;background:var(--text);align-self:flex-start}.h-mini-blogger .ln{align-self:flex-start}.h-mini-writer{align-items:center;padding-top:22px}.h-mini-writer .kick{width:34%;height:4px;background:var(--line)}.h-mini-writer .nm{width:58%;height:14px;background:var(--text);opacity:.85}.h-mini-writer .orn{color:var(--muted);font-size:12px;line-height:1;margin:4px 0}.h-mini-writer .toc{display:flex;align-items:center;gap:6px;width:100%;padding:5px 0;border-top:1px solid var(--line)}.h-mini-writer .toc b{width:42%;height:7px;background:var(--muted);opacity:.8}.h-mini-writer .toc i{flex:1;border-bottom:1.5px dotted var(--line);height:0;border-radius:0}.h-mini-writer .toc em{width:14%;height:5px;background:var(--line);border-radius:3px}.h-mini-magazine .mast{width:60%;height:14px;background:var(--text);align-self:center}.h-mini-magazine .rule{height:3px;border-top:1px solid var(--text);border-bottom:1px solid var(--text);border-radius:0}.h-mini-magazine .lead{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;flex:1}.h-mini-magazine .lead .img{background:color-mix(in srgb,#b3261e 22%,var(--code-bg))}.h-mini-magazine .lead>span{display:flex;flex-direction:column;gap:5px;justify-content:center}.h-mini-magazine .lead b{height:9px;background:var(--text);width:90%}.h-mini-magazine .row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;height:28%}.h-mini-magazine .row i{background:var(--code-bg)}.h-read{border-top:1px solid var(--line)}.h-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.h-topics a{text-decoration:none;font-size:14px;padding:7px 14px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}.h-topics a:hover{color:var(--text);border-color:var(--muted)}.h-stories{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}.h-story{display:flex;flex-direction:column;gap:6px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none;min-width:0}.h-story-topic{font:600 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--h-green)}.h-story strong{font:600 25px/1.2 var(--title-font)}.h-story:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.h-story-sub{font:17px/1.45 var(--body-font);color:var(--muted)}.h-story-by{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:4px}.h-av{width:24px;height:24px;border-radius:50%;background:var(--h-card);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font:600 10px var(--sans)}.h-close{text-align:center;border-top:1px solid var(--line);padding-bottom:96px}.h-close h2{margin:0;font:600 clamp(32px,4.4vw,52px)/1.08 var(--title-font);letter-spacing:-.015em}.h-close p{margin:14px 0 28px;color:var(--muted);font:19px var(--body-font)}.h-foot{max-width:var(--h-wide);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px max(20px,env(safe-area-inset-left,0px)) 40px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}.h-foot nav{display:flex;gap:20px;flex-wrap:wrap}.h-foot a{text-decoration:none}.h-foot a:hover{color:var(--text)}.h-dialog{position:fixed;inset:0;z-index:60;background:#14100a73;display:flex;align-items:center;justify-content:center;padding:16px}.h-dialog[hidden]{display:none}.h-dialog-box{position:relative;width:100%;max-width:400px;background:var(--bg);border-radius:14px;padding:32px 30px 26px;box-shadow:0 30px 80px #00000059}.h-dialog-box h2{margin:0;font:600 28px var(--title-font)}.h-dialog-box>div>p{margin:8px 0 20px;color:var(--muted);font-size:15px}.h-dialog-x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;color:var(--muted)}.h-field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}#login-email{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:16px var(--sans)}#login-email:focus{outline:none;border-color:var(--text)}.h-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:13px}.h-or:before,.h-or:after{content:"";flex:1;height:1px;background:var(--line)}.h-oauth{display:grid;gap:10px}.h-oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px;border-radius:99px;border:1px solid var(--line);background:var(--bg);font:500 15px var(--sans)}.h-oauth-btn:hover{border-color:var(--muted)}.h-oauth-btn .g{font:700 16px var(--sans);color:#4285f4}.h-fine{margin:18px 0 0;text-align:center;font-size:13px;color:var(--muted)}.h-linkbtn{border:0;background:none;padding:0;color:var(--muted);text-decoration:underline;font-size:13px}.h-code{display:flex;gap:8px;justify-content:space-between}.h-code input{width:100%;max-width:48px;aspect-ratio:5 / 6;text-align:center;font:600 24px var(--mono);border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}.h-code input:focus{outline:none;border-color:var(--text)}.h-proto{margin:16px 0 0;padding:10px 12px;border-radius:8px;background:var(--code-bg);font-size:13px;text-align:center}@media(max-width:900px){.h-hero{grid-template-columns:1fr;gap:40px;padding-top:32px}.h-page{transform:none}.h-reason-grid,.h-theme-grid{grid-template-columns:1fr;gap:32px}.h-stories{grid-template-columns:1fr}.h-section-head h2{font-size:32px}}@media(max-width:560px){.h-links a:not(.h-cta){display:none}.h-links{gap:14px}.h-page{padding:20px 20px 16px}.h-page-title{font-size:28px}.h-page-foot{flex-direction:column;align-items:flex-start}.h-reasons,.h-themes,.h-read,.h-close{padding-top:52px;padding-bottom:52px}}@media(prefers-reduced-motion:reduce){.h-page,.h-cta,.h-mini{transition:none}}.h-nowrap{white-space:nowrap}@media(max-width:420px){.h-nowrap{white-space:normal}}.h-seeall{color:var(--h-green);text-decoration:none;font-weight:600;margin-left:6px}.d-wrap{max-width:var(--h-wide);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:28px max(20px,env(safe-area-inset-left,0px)) 72px}.d-main{min-width:0}.d-side{min-width:0;display:flex;flex-direction:column;gap:22px}.d-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.d-head h1{margin:0;font:600 46px/1 var(--title-font);letter-spacing:-.02em}.d-continue{display:flex;flex-direction:column;gap:4px;margin-top:26px;padding:20px 22px;border-radius:14px;text-decoration:none;background:var(--h-card);transition:transform .15s}.d-continue:hover{transform:translateY(-1px)}.d-continue-label{font:700 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--h-green)}.d-continue strong{font:600 28px/1.15 var(--title-font)}.d-continue>span:last-child{font-size:13.5px;color:var(--muted)}.d-tabs{display:flex;gap:26px;margin-top:34px;border-bottom:1px solid var(--line)}.d-tabs button{border:0;background:none;padding:10px 0 12px;font:600 15px var(--sans);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.d-tabs button span{font-weight:500;margin-left:4px;opacity:.7}.d-tabs button[aria-selected=true]{color:var(--text);border-color:var(--text)}.d-list{list-style:none;margin:0;padding:0}.d-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.d-row>a:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-decoration:none}.d-row strong{font:600 22px/1.2 var(--title-font)}.d-row>a:first-child:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.d-ex{font:16px/1.45 var(--body-font);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d-meta{font-size:13px;color:var(--muted)}.d-meta b{color:var(--text)}.d-open{flex:none;text-decoration:none;font:600 13.5px var(--sans);padding:7px 14px;border-radius:99px;background:var(--text);color:var(--bg)}.d-open.ghost{background:none;color:var(--text);border:1px solid var(--line)}.d-empty{padding:24px 0;color:var(--muted)}.d-blogname{display:block;margin-top:8px;font:600 22px var(--title-font);text-decoration:none}.d-url{font:13px var(--mono)!important}.d-look a{color:var(--h-green);text-decoration:none;font-weight:600}.d-stats{display:flex;gap:28px;margin-top:10px}.d-stats p{margin:0;display:flex;flex-direction:column}.d-stats b{font:600 30px/1 var(--title-font)}.d-stats span{font-size:13px;color:var(--muted);margin-top:4px}.d-links{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:14px}.d-links a{text-decoration:none;color:var(--muted)}.d-links a:hover{color:var(--text)}@media(max-width:960px){.d-wrap{grid-template-columns:1fr;gap:32px}}@media(max-width:560px){.d-head h1{font-size:36px}.d-row{flex-wrap:wrap}.d-open{margin-left:auto}}.d-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.d-head-actions .sb-btn{border:1px solid var(--line);border-radius:99px;padding:8px 14px;font:500 14px var(--sans);text-decoration:none}.d-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.d-act{border:0;background:none;padding:4px 2px;font:500 13.5px var(--sans);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.d-act:hover{color:var(--text)}.d-act.bad:hover{color:#b3261e}.d-act:disabled{opacity:.5}.r-wrap{max-width:var(--h-wide);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:24px max(20px,env(safe-area-inset-left,0px)) 72px}.r-main{min-width:0}.r-side{min-width:0;display:flex;flex-direction:column;gap:22px;position:sticky;top:20px;align-self:start}.r-here{color:var(--text)!important}.r-head h1{margin:0;font:600 52px/1 var(--title-font);letter-spacing:-.02em}.r-head p{margin:10px 0 0;color:var(--muted);font:18px/1.5 var(--body-font)}.r-chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 8px}.r-chips.small{margin:10px 0 0;gap:6px}.r-chip{border:1px solid var(--line);background:none;border-radius:99px;padding:7px 14px;font-size:14px;color:var(--muted)}.r-chips.small .r-chip{padding:5px 11px;font-size:13px}.r-chip:hover{color:var(--text);border-color:var(--muted)}.r-chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.r-label{margin:40px 0 6px;font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.r-cover{aspect-ratio:4 / 3;max-width:100%;border-radius:6px;display:flex;align-items:flex-end;padding:10px 12px;background:color-mix(in srgb,hsl(var(--h) 45% 50%) 20%,var(--bg));color:color-mix(in srgb,hsl(var(--h) 55% 30%) 85%,var(--text));font:700 54px/.8 var(--title-font)}@media(prefers-color-scheme:dark){.r-cover{background:color-mix(in srgb,hsl(var(--h) 40% 45%) 26%,var(--bg));color:color-mix(in srgb,hsl(var(--h) 60% 80%) 80%,var(--text))}}.r-cover.big{aspect-ratio:16 / 10;font-size:140px;padding:18px 22px}.r-by{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.r-by b{color:var(--text);font-weight:600}.r-meta{margin:0;font-size:13px;color:var(--muted)}.r-topic{color:var(--h-green);font-weight:600}.r-sub{margin:6px 0 10px;font:17px/1.45 var(--body-font);color:var(--muted)}.r-reason{margin:0 0 8px;font-size:12.5px;color:var(--muted)}.r-reason:before{content:"✦ ";color:var(--h-green)}h3 a{text-decoration:none}h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.r-lead{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding:16px 0 26px;border-bottom:1px solid var(--line)}.r-lead>*{min-width:0}.r-lead-cover{display:block;text-decoration:none}.r-lead h3{margin:12px 0 0;font:600 32px/1.12 var(--title-font);letter-spacing:-.012em}.r-pick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:24px 0 8px}.r-pick{min-width:0;display:flex;flex-direction:column;gap:8px}.r-pick>a{text-decoration:none;display:block;margin-bottom:4px}.r-pick h3{margin:0;font:600 20px/1.2 var(--title-font)}.r-row{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.r-row-text{flex:1;min-width:0}.r-row h3{margin:10px 0 0;font:600 25px/1.18 var(--title-font);letter-spacing:-.01em}.r-row-cover{flex:none;width:150px;align-self:center;text-decoration:none}.r-row-cover .r-cover{font-size:64px}.r-empty{color:var(--muted);padding:20px 0}.r-side-box{border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px}.r-side-box h2{margin:0;font:600 19px var(--title-font)}.r-side-box>p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}.r-side-hint{font-size:12.5px!important}.r-join{background:var(--h-card);border-color:transparent}.r-join-form{display:flex;gap:8px;margin-top:14px}.r-join-form input{flex:1;min-width:0;padding:9px 12px;border-radius:99px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:14px var(--sans)}.r-join-msg{margin-top:10px!important;font-size:13px!important;color:var(--text)!important}.r-flash{animation:r-flash 1.2s ease}@keyframes r-flash{0%,to{box-shadow:0 0 0 0 transparent}30%{box-shadow:0 0 0 4px color-mix(in srgb,var(--h-green) 45%,transparent)}}.r-writers{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:14px}.r-writers li{display:flex;align-items:center;gap:10px}.h-av.big{width:34px;height:34px;font-size:12px;flex:none}.r-writer-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px}.r-writer-text b,.r-writer-text span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r-writer-text span{font-size:12.5px;color:var(--muted)}.r-follow{flex:none;border:1px solid var(--text);background:var(--text);color:var(--bg);border-radius:99px;padding:5px 12px;font:600 12.5px var(--sans)}.r-follow.on{background:none;color:var(--text);border-color:var(--line)}.r-textlink{display:inline-block;margin-top:12px;color:var(--h-green);font-weight:600;font-size:14px;text-decoration:none}.r-textlink:hover{text-decoration:underline}.r-draft{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:12px;text-decoration:none;background:var(--h-card);margin-top:8px;transition:transform .15s}.r-draft:hover{transform:translateY(-1px)}.r-draft>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted)}.r-draft b{font:600 21px/1.2 var(--title-font);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r-draft-label{font:700 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--h-green)!important}.r-draft-icon{flex:none;width:42px;height:42px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text)}.r-draft-go{font-size:20px;color:var(--muted)}.r-tabs{display:flex;gap:26px;margin-top:30px;border-bottom:1px solid var(--line)}.r-tabs button{border:0;background:none;padding:10px 0 12px;font:600 15px var(--sans);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.r-tabs button[aria-selected=true]{color:var(--text);border-color:var(--text)}.r-empty-state{text-align:center;padding:56px 20px}.r-empty-state h3{margin:0;font:600 24px var(--title-font)}.r-empty-state p{margin:8px auto 0;max-width:34em;color:var(--muted);font:16px/1.5 var(--body-font)}.r-myblog-name{display:block;margin-top:8px;font:600 22px var(--title-font);text-decoration:none}.r-myblog-url{font:13px var(--mono)!important}.r-myblog-stat{margin-top:12px!important}.r-myblog-stat b{font:600 22px var(--title-font);color:var(--text);margin-right:4px}@media(max-width:960px){.r-wrap{grid-template-columns:1fr;gap:36px}.r-side{position:static}}@media(max-width:640px){.r-head h1{font-size:40px}.r-lead{grid-template-columns:1fr;gap:14px}.r-pick-row{grid-template-columns:1fr}.r-row{gap:14px}.r-row h3{font-size:21px}.r-row-cover{width:88px}.r-row-cover .r-cover{font-size:40px}.r-sub{font-size:16px}.r-tabsnav a{padding:6px 12px}.r-cover.big{font-size:100px}}.dot{margin:0 .45em;opacity:.6}.r-writers{grid-template-columns:minmax(0,1fr)}.r-writers li{min-width:0}.r-intro{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin:4px 0 26px;background:var(--h-card);border-radius:12px;font-size:14.5px}.r-intro p{margin:0;flex:1;min-width:220px;color:var(--muted)}.r-intro b{color:var(--text)}.r-intro-link{font-weight:600;color:var(--h-green);text-decoration:none;white-space:nowrap}.r-intro-x{border:0;background:none;font-size:20px;color:var(--muted);line-height:1;padding:0 2px}.r-bridge{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:4px 0;border:1px dashed var(--line);border-radius:12px}.r-bridge p{margin:0;flex:1;min-width:0;font-size:14.5px;color:var(--muted);line-height:1.45}.r-bridge b{color:var(--text)}.r-bridge-mark{flex:none;width:36px;height:36px;border-radius:50%;background:var(--h-card);display:flex;align-items:center;justify-content:center}.r-bridge-link{flex:none;font-weight:600;color:var(--h-green);text-decoration:none}.r-cover.r-photo{padding:0;background:var(--code-bg)}.r-cover.r-photo img{width:100%;height:100%;object-fit:cover;display:block}.r-more{display:block;margin:24px auto 8px;padding:10px 22px;border-radius:99px;border:1px solid var(--line);background:none;color:var(--text);font:500 14px var(--sans);cursor:pointer}.r-more:hover{border-color:var(--muted)}.r-more:disabled{opacity:.6;cursor:default}.r-writer-text a{color:inherit;text-decoration:none}.r-writer-text a:hover{text-decoration:underline}.r-shelf{margin:26px 0 8px}.r-shelf-row{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none}.r-shelf-row::-webkit-scrollbar{display:none}.r-shelf-book{flex:0 0 120px;display:grid;gap:3px;text-decoration:none;color:var(--text);font:13px/1.35 var(--sans)}.r-shelf-book b{font:600 14.5px/1.25 var(--title-font);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r-shelf-book>span:not(.r-shelf-cover):not(.r-shelf-bar){color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r-shelf-cover{aspect-ratio:2 / 3;border-radius:3px 7px 7px 3px;background:var(--bc);color:var(--bc-ink);display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;box-shadow:inset 5px 0 #0000002e,0 6px 16px #00000029;font:600 13px/1.2 var(--title-font);transition:transform .15s}.r-shelf-book:hover .r-shelf-cover{transform:translateY(-3px)}.r-shelf-bar{height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}.r-shelf-bar i{display:block;height:100%;background:var(--h-green, #1a7a17)}.r-kind{display:inline-flex;gap:2px;padding:3px;margin:22px 0 8px;border-radius:99px;background:var(--h-card, rgba(127,127,127,.12))}.r-kind button{border:0;background:none;padding:7px 16px;border-radius:99px;font:500 14px var(--sans);color:var(--muted);cursor:pointer}.r-kind button[aria-checked=true]{background:var(--bg);color:var(--text);box-shadow:0 1px 4px #00000026}.r-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.r-row-head .r-textlink{border:0;background:none;cursor:pointer;padding:0;font:inherit}.r-books-row{margin:18px 0 26px;padding:18px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.r-books-row .r-book{flex:0 0 120px}.r-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:24px 18px;margin:18px 0}.r-book{display:grid;gap:3px;align-content:start;min-width:0;text-decoration:none;color:var(--text);font:13px/1.35 var(--sans)}.r-book b{font:600 14.5px/1.25 var(--title-font);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r-book>span:not(.r-shelf-cover){color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-book .r-shelf-cover{flex-direction:column;gap:6px;width:100%}.r-book .r-shelf-cover small{font:11px var(--sans);opacity:.85}.r-book:hover .r-shelf-cover{transform:translateY(-3px)}
