.blog-root{--paper:#fff;--paper-deep:#f6f3ec;--cream:#fffcf7;--ink:#0a0c10;--body:#2b2e35;--muted:#5c5f66;--faint:#8a8d94;--hairline:#eae6dc;--hairline-2:#dcd6c9;--jade:#0f6b4f;--jade-soft:#1a8e68;--jade-bg:#0f6b4f0f;--gold:#9a7b2a;--gold-soft:#d4b45c;--clay:#a6532f;--night:#0e1118;--night-2:#181e28;background:var(--paper);color:var(--body);font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;overflow-x:clip}.blog-root *{box-sizing:border-box}.blog-root .serif{font-family:var(--font-newsreader),Georgia,serif;font-optical-sizing:auto;letter-spacing:-.02em;font-weight:400}.blog-root .mono{font-family:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.blog-root .container{max-width:1240px;margin:0 auto;padding:0 32px;position:relative}.blog-root .container-narrow{max-width:760px;margin:0 auto;padding:0 32px}.blog-root .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.blog-root .eyebrow:before{content:"";background:var(--gold);border-radius:999px;width:6px;height:6px}.blog-root a{color:inherit;text-decoration:none}.blog-root .btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:14px 22px;font-size:14px;font-weight:600;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex}.blog-root .btn.primary{background:var(--jade);color:#fff;box-shadow:0 8px 28px #0f6b4f38}.blog-root .btn.primary:hover{background:#0c5942;transform:translateY(-1px)}.blog-root .btn.ghost{color:var(--body);border-color:var(--hairline);background:0 0}.blog-root .btn.ghost:hover{background:var(--cream)}.blog-root .hairline{border-top:1px solid var(--hairline)}.blog-root .cat{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:inline-flex}.blog-root .cat-dot{background:currentColor;border-radius:999px;width:7px;height:7px}.blog-root .pill{border:1px solid var(--hairline);background:var(--paper);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .14s}.blog-root .pill:hover{border-color:var(--hairline-2);color:var(--ink)}.blog-root .pill.active{background:var(--ink);border-color:var(--ink);color:#fff}.blog-root .lift{transition:transform .18s,box-shadow .18s}.blog-root .lift:hover{transform:translateY(-3px)}.blog-root .card-arrow{transition:transform .16s;display:inline-block}.blog-root .post-card:hover .card-arrow{transform:translate(4px)}.blog-root .post-card:hover .post-title{color:var(--jade)}.blog-root .post-title{transition:color .16s}.blog-root .prose{color:var(--body);font-size:19px;line-height:1.72}.blog-root .prose>*+*{margin-top:1.35em}.blog-root .prose h2{font-family:var(--font-newsreader),Georgia,serif;letter-spacing:-.02em;color:var(--ink);margin-top:1.9em;margin-bottom:.1em;scroll-margin-top:90px;font-size:34px;font-weight:500;line-height:1.15}.blog-root .prose h3{font-family:var(--font-newsreader),Georgia,serif;color:var(--ink);margin-top:1.5em;scroll-margin-top:90px;font-size:25px;font-weight:600;line-height:1.2}.blog-root .prose p{margin:0}.blog-root .prose a{color:var(--jade);text-decoration:underline;-webkit-text-decoration-color:var(--gold-soft);text-decoration-color:var(--gold-soft);text-underline-offset:3px}.blog-root .prose strong{color:var(--ink);font-weight:650}.blog-root .prose ul,.blog-root .prose ol{flex-direction:column;gap:.55em;margin:1.2em 0;padding-left:1.3em;display:flex}.blog-root .prose li{padding-left:.3em}.blog-root .prose li::marker{color:var(--jade)}.blog-root .prose blockquote{border-left:3px solid var(--gold-soft);font-family:var(--font-newsreader),Georgia,serif;color:var(--ink);margin:1.8em 0;padding:4px 0 4px 26px;font-size:25px;font-style:italic;line-height:1.4}.blog-root .prose hr{border:none;border-top:1px solid var(--hairline);margin:2.4em 0}.blog-root .prose code{font-family:var(--font-jetbrains-mono),monospace;background:var(--paper-deep);border:1px solid var(--hairline);border-radius:5px;padding:1px 6px;font-size:.86em}.blog-root .prose img{border:1px solid var(--hairline);border-radius:14px;width:100%}.blog-root .prose figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:13px}.blog-root .callout{background:var(--jade-bg);border:1px solid #0f6b4f29;border-radius:16px;padding:24px 26px}.blog-root .callout-title{letter-spacing:.1em;text-transform:uppercase;color:var(--jade);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.blog-root .toc a{color:var(--muted);border-left:2px solid var(--hairline);padding:7px 0 7px 14px;font-size:13.5px;line-height:1.4;transition:all .14s;display:block}.blog-root .toc a:hover{color:var(--ink);border-color:var(--hairline-2)}.blog-root .toc a.active{color:var(--jade);border-color:var(--jade);font-weight:600}.blog-root .field{border:1px solid var(--hairline-2);background:var(--paper);color:var(--ink);border-radius:10px;outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .14s}.blog-root .field:focus{border-color:var(--jade)}.blog-root .field::placeholder{color:var(--faint)}.blog-root .nav-burger{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}@media (max-width:980px){.blog-root .nav-links,.blog-root .nav-signin-inline{display:none!important}.blog-root .nav-burger{display:inline-flex}.blog-root .grid-feature{grid-template-columns:1fr!important}.blog-root .grid-3{grid-template-columns:1fr 1fr!important}.blog-root .article-grid{grid-template-columns:1fr!important}.blog-root .toc-rail{display:none!important}}@media (max-width:640px){.blog-root .grid-3,.blog-root .grid-2-sm{grid-template-columns:1fr!important}.blog-root .container,.blog-root .container-narrow{padding:0 22px}.blog-root .prose{font-size:18px}}.blog-root .prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.blog-root .prose pre{max-width:100%;overflow-x:auto}.learn-cover-fig figure.fig{text-align:center;width:100%;height:100%;margin:0}.learn-cover-fig figure.fig svg{width:100%;height:100%;display:block}.learn-cover-fig figure.fig figcaption{display:none}html.dark .blog-root{--paper:#0f1216;--paper-deep:#12161c;--cream:#161b21;--ink:#f3efe6;--body:#c9c6bd;--muted:#8c897f;--faint:#6b7280;--hairline:#232a31;--hairline-2:#2b333c;--jade:#2ecb9a;--jade-soft:#35d6a6;--jade-bg:#2ecb9a1a;--gold:#d4b45c;--gold-soft:#e2c67e;--clay:#d98a5f}.blog-root .nav-cta{color:#fff}.blog-root .nav-signin-link{color:var(--denaras-jade)}html.dark .blog-root .nav-signin-link{color:var(--denaras-jade-bright,#2ecb9a)}.blog-root.lib-root{--lib-bg:#fff;--lib-ink:#161616;--lib-body:#4a4a47;--lib-muted:#6b6b66;--lib-green:#25674b;--lib-green-deep:#133a2b;--lib-on-green:#fff;--lib-panel:#f5f5f4;--lib-surface:#fff;--lib-on-ink:#fff;--lib-line:#16161624;--lib-line-soft:#1616161a;--lib-track:#16161638;--lib-border:#16161629;--lib-border-strong:#16161652;--lib-error:var(--denaras-down,#c0392f);--lib-serif:var(--font-newsreader),Georgia,serif;--lib-sans:var(--font-inter),system-ui,sans-serif;--lib-mono:var(--font-jetbrains-mono),ui-monospace,monospace;background:var(--lib-bg);color:var(--lib-ink);font-feature-settings:normal}html.dark .blog-root.lib-root{--lib-bg:#0f1216;--lib-ink:#f3efe6;--lib-body:#c9c6bd;--lib-muted:#8c897f;--lib-green:#2ecb9a;--lib-green-deep:#35d6a6;--lib-on-green:#0f1216;--lib-panel:#161b21;--lib-surface:#12161c;--lib-on-ink:#0f1216;--lib-line:#f3efe624;--lib-line-soft:#f3efe61a;--lib-track:#f3efe638;--lib-border:#f3efe629;--lib-border-strong:#f3efe652}.lib-root :is(a,button):focus-visible{outline:2px solid var(--lib-green);outline-offset:2px}.lib-root button{font-family:inherit}.lib-col{max-width:1240px;margin:0 auto;padding-inline:clamp(20px,4vw,32px)}.lib-rule{border-top:1px solid var(--lib-ink);padding-top:clamp(24px,3.2vw,36px)}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;display:flex}.lib-head-l{flex-direction:column;gap:12px;min-width:0;display:flex}.lib-eyebrow{font:500 12px/1 var(--lib-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lib-muted)}.lib-meta{font:400 12px/1.4 var(--lib-mono);color:var(--lib-muted)}.lib-h2{font:400 clamp(30px,3.6vw,44px)/1.05 var(--lib-serif);letter-spacing:-.025em;text-wrap:balance;color:var(--lib-ink);margin:0}.lib-textbtn{cursor:pointer;color:var(--lib-green);font:600 15px/1.4 var(--lib-sans);background:0 0;border:0;align-self:flex-start;padding:4px 0}.lib-textbtn:hover{color:var(--lib-green-deep)}.lib-empty{text-align:center;color:var(--lib-muted);padding:80px 0}.lib-mast{flex-direction:column;gap:20px;padding-top:clamp(32px,4.5vw,64px);padding-bottom:clamp(24px,3vw,40px);display:flex}.lib-h1{font:400 clamp(36px,4.4vw,56px)/1.02 var(--lib-serif);letter-spacing:-.03em;text-wrap:balance;color:var(--lib-ink);margin:0}.lib-mast-start{font:400 15px/1.4 var(--lib-sans);color:var(--lib-muted);flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.lib-mast-start-h{font:inherit;color:var(--lib-ink);flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0;display:flex}.lib-mast-start-h .lib-eyebrow{font:600 15px/1.4 var(--lib-sans);letter-spacing:0;text-transform:none;color:var(--lib-ink)}.lib-mast-start .lib-meta{font:inherit}.lib-path{scroll-margin-top:80px}.lib-rail{height:46px;position:relative}.lib-denara,.lib-marker{transition:left .6s cubic-bezier(.65,0,.35,1);position:absolute}.lib-denara{bottom:0}.lib-track{border-top:1px solid var(--lib-track);gap:16px;display:grid;position:relative}.lib-marker{background:var(--lib-green);height:3px;top:-2px}.lib-stage{text-align:left;cursor:pointer;min-width:0;color:var(--lib-body);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0 4px;display:flex}.lib-stage:hover,.lib-stage[aria-pressed=true]{color:var(--lib-ink)}.lib-stage-num{font:500 12px/1 var(--lib-mono);letter-spacing:.06em;color:var(--lib-muted)}.lib-stage-name{font:400 clamp(17px,1.8vw,22px)/1.15 var(--lib-serif);letter-spacing:-.01em;text-wrap:balance;flex:1}.lib-stage-meta{color:var(--lib-muted);font-size:13px}.lib-stage-n{font:400 26px/1 var(--lib-serif);color:var(--lib-muted);display:none}.lib-stage[aria-pressed=true] :is(.lib-stage-num,.lib-stage-n){color:var(--lib-green)}.lib-detail{align-items:flex-start;gap:64px;margin-top:clamp(36px,5vw,56px);display:flex}.lib-detail-main{flex-direction:column;flex:460px;gap:28px;min-width:0;display:flex}.lib-stage-head{flex-direction:column;gap:12px;display:flex}.lib-h3{font:400 clamp(30px,3.4vw,40px)/1.05 var(--lib-serif);letter-spacing:-.02em;color:var(--lib-ink);margin:0}.lib-blurb{max-width:520px;color:var(--lib-body);text-wrap:pretty;margin:0;font-size:16px;line-height:1.55}.lib-note{flex-direction:column;gap:8px;display:flex}.lib-note-label{font:500 11px/1 var(--lib-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lib-muted)}.lib-note-text{max-width:520px;font:italic 400 21px/1.4 var(--lib-serif);color:var(--lib-ink);text-wrap:pretty;margin:0}.lib-guides{border-top:1px solid var(--lib-line);margin:0;padding:0;list-style:none}.lib-guides li{border-bottom:1px solid var(--lib-line)}.blog-root .lib-guide{color:var(--lib-ink);grid-template-columns:32px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:15px 0;display:grid}.lib-guide-num{font:500 12px/1 var(--lib-mono);color:var(--lib-muted)}.lib-guide-title{font:400 20px/1.3 var(--lib-serif);text-wrap:pretty}.lib-guide-time{font:400 12px/1 var(--lib-mono);color:var(--lib-muted)}.lib-guide[data-current] :is(.lib-guide-num,.lib-guide-title){color:var(--lib-green)}.lib-last{color:var(--lib-body);margin:0;font-size:15px;line-height:1.55}.lib-panel{aspect-ratio:16/10;background:var(--lib-panel);color:var(--lib-ink);border-radius:8px;place-items:center;padding:28px;display:grid;overflow:hidden}.lib-panel-cap{max-width:360px;font:italic 400 24px/1.35 var(--lib-serif);text-align:center;text-wrap:balance;margin:0}.blog-root .lib-startwith{color:var(--lib-ink);flex-direction:column;gap:12px;display:none}.lib-startwith .lib-panel{padding:20px}.lib-startwith .lib-panel-cap{font-size:20px}.lib-startwith-text{flex-direction:column;gap:6px;display:flex}.lib-startwith-title{font:400 22px/1.2 var(--lib-serif);text-wrap:balance}.lib-preview{flex-direction:column;flex:400px;gap:20px;min-width:0;display:flex;position:sticky;top:88px}.lib-preview-text{flex-direction:column;gap:10px;display:flex}.lib-preview-title{font:400 28px/1.15 var(--lib-serif);letter-spacing:-.015em;text-wrap:balance;color:var(--lib-ink);margin:0}.lib-preview-excerpt{color:var(--lib-body);text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.blog-root .lib-readlink{color:var(--lib-green);align-self:flex-start;margin-top:4px;font-size:15px;font-weight:600}.blog-root .lib-readlink:hover{color:var(--lib-green-deep);text-decoration:underline}.lib-index{padding-top:clamp(72px,9vw,112px)}.lib-index-head{flex-direction:column;gap:24px;scroll-margin-top:80px;display:flex}.lib-pills{scrollbar-width:none;gap:8px;margin:-2px -4px;padding:4px;display:flex;overflow-x:auto}.lib-pills::-webkit-scrollbar{display:none}.lib-pill{border:1px solid var(--lib-border);background:var(--lib-surface);height:36px;color:var(--lib-ink);font:500 14px/1 var(--lib-sans);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 16px;display:flex}.lib-pill:hover{border-color:var(--lib-border-strong)}.lib-pill[aria-pressed=true]{background:var(--lib-ink);border-color:var(--lib-ink);color:var(--lib-on-ink)}.lib-pill-count{font:400 11px/1 var(--lib-mono);opacity:.6}.lib-topics{flex-direction:column;margin-top:clamp(24px,3.2vw,36px);display:flex}.lib-topic{border-top:1px solid var(--lib-line);flex-wrap:wrap;gap:16px 48px;padding:28px 0 32px;display:flex}.lib-topic-l{flex-direction:column;flex:0 280px;gap:10px;min-width:0;display:flex}.lib-topic-h{font:400 30px/1.05 var(--lib-serif);letter-spacing:-.02em;color:var(--lib-ink);margin:0}.lib-topic-blurb{color:var(--lib-body);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.lib-topic-r{flex-direction:column;flex:520px;gap:14px;min-width:0;display:flex}.lib-topic-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));column-gap:40px;margin:0;padding:0;list-style:none;display:grid}.lib-topic-list li{border-bottom:1px solid var(--lib-line-soft)}.blog-root .lib-topic-link{color:var(--lib-ink);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font-size:15px;line-height:1.4;display:flex}.blog-root .lib-topic-link:hover{color:var(--lib-green)}.lib-topic-time{font:400 11px/1.4 var(--lib-mono);color:var(--lib-muted);flex:none}.lib-topic-r .lib-textbtn{font-size:14px}.lib-weekly{padding-block:clamp(72px,9vw,112px)}.lib-weekly-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 64px;display:flex}.lib-weekly-l{flex-direction:column;flex:480px;gap:14px;min-width:0;display:flex}.lib-weekly-h{font-size:clamp(30px,4vw,48px)}.lib-weekly-body{max-width:520px;color:var(--lib-body);text-wrap:pretty;margin:0;font-size:16px;line-height:1.6}.lib-weekly-r{flex-direction:column;flex:0 420px;gap:10px;min-width:0;display:flex}.lib-form{background:var(--lib-surface);border:1px solid var(--lib-border);border-radius:999px;gap:8px;padding:6px;display:flex}.lib-form:focus-within{border-color:var(--lib-green)}.lib-input{min-width:0;height:40px;color:var(--lib-ink);font:400 16px var(--lib-sans);background:0 0;border:0;outline:none;flex:1;padding:0 14px}.lib-input::placeholder{color:inherit;opacity:.5}.lib-subscribe{background:var(--lib-green);height:40px;color:var(--lib-on-green);font:600 14px/1 var(--lib-sans);cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 18px}.lib-subscribe:hover{background:var(--lib-green-deep)}.lib-subscribe:disabled,.lib-input:disabled{cursor:default}.lib-weekly-error{color:var(--lib-error);font-size:12.5px}.lib-weekly-done{align-items:flex-end;gap:14px;display:flex}.lib-weekly-done-text{flex-direction:column;gap:4px;min-width:0;display:flex}.lib-weekly-done-h{font:italic 400 22px/1.3 var(--lib-serif);color:var(--lib-green);margin:0}.lib-weekly-done-h.is-ink{color:var(--lib-ink)}.lib-weekly-done-body{color:var(--lib-body);margin:0;font-size:14px;line-height:1.55}.lib-weekly-link{cursor:pointer;color:var(--lib-muted);background:0 0;border:0;align-self:flex-start;margin-top:6px;padding:0;font-size:12.5px;text-decoration:underline}.lib-weekly-disclaimer{color:var(--lib-muted);font-size:12px}@media (max-width:999px){.lib-detail{display:block}.lib-preview{display:none}.blog-root .lib-startwith{display:flex}}@media (max-width:759px){.lib-stage :is(.lib-stage-num,.lib-stage-name,.lib-stage-meta){display:none}.lib-stage-n{display:block}.lib-mast{gap:12px;padding-top:24px;padding-bottom:20px}.lib-h1{font-size:34px;line-height:1.05}.lib-mast-start{margin-top:4px}.lib-rail{height:40px}.lib-denara svg{width:auto;height:34px}}@media (prefers-reduced-motion:reduce){.lib-denara,.lib-marker{transition:none}}
