.blog-prose{color:#334155;overflow-wrap:break-word;font-size:17px;line-height:1.75}.dark .blog-prose{color:#cbd5e1}.blog-prose>*+*{margin-top:1.15em}.blog-prose h2{letter-spacing:-.01em;color:#0f172a;margin-top:2.2em;font-size:1.5em;font-weight:700;line-height:1.3}.blog-prose h3{color:#0f172a;margin-top:1.8em;font-size:1.2em;font-weight:700;line-height:1.4}.dark .blog-prose h2,.dark .blog-prose h3{color:#f1f5f9}.blog-prose h2+*,.blog-prose h3+*{margin-top:.6em}.blog-prose strong{color:#0f172a;font-weight:650}.dark .blog-prose strong{color:#f1f5f9}.blog-prose a{color:var(--color-brand-deep);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.blog-prose a:hover{text-decoration-thickness:2px}.dark .blog-prose a{color:#fdba74}.blog-prose ul,.blog-prose ol{padding-left:1.4em}.blog-prose ul{list-style:outside}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.4em}.blog-prose li::marker{color:#94a3b8}.blog-prose blockquote{border-left:3px solid var(--color-brand);color:#475569;padding:.2em 0 .2em 1em;font-style:italic}.dark .blog-prose blockquote{color:#94a3b8}.blog-prose code{color:#0f172a;overflow-wrap:anywhere;background:#f1f5f9;border-radius:6px;padding:.12em .38em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.dark .blog-prose code{color:#e2e8f0;background:#1d2027}.blog-prose pre{color:#e2e8f0;background:#0f172a;border-radius:12px;padding:1em 1.1em;font-size:.88em;line-height:1.6;overflow-x:auto}.blog-prose pre code{color:inherit;overflow-wrap:normal;background:0 0;padding:0}.blog-prose hr{border:0;border-top:1px solid #e2e8f0;margin:2.4em 0}.dark .blog-prose hr{border-top-color:#262a32}.blog-prose table{border-collapse:collapse;max-width:100%;font-size:.92em;display:block;overflow-x:auto}.blog-prose th,.blog-prose td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:.5em .75em}.blog-prose th{color:#0f172a;background:#f8fafc;font-weight:600}.dark .blog-prose th,.dark .blog-prose td{border-color:#262a32}.dark .blog-prose th{color:#f1f5f9;background:#16191f}.blog-prose img{border-radius:12px;max-width:100%;height:auto}.blog-prose .blog-chunk>*+*{margin-top:1.15em}.blog-prose .blog-chunk>:first-child:not(h2,h3){margin-top:0}.blog-prose figure{margin:2em 0}.blog-prose .blog-chunk>figure:first-child{margin-top:0}.blog-prose figure img{background:#fff;border:1px solid #e2e8f0;width:100%;display:block;box-shadow:0 10px 30px -18px #0f172a59}.dark .blog-prose figure img{border-color:#262a32;box-shadow:0 10px 30px -18px #000c}.blog-prose figure.is-portrait img{max-width:420px;margin:0 auto}.blog-prose figcaption{color:#64748b;text-align:center;margin-top:.7em;font-size:14px;line-height:1.55}.dark .blog-prose figcaption{color:#94a3b8}.blog-prose img[data-zoomable]{cursor:zoom-in}.blog-prose img[data-zoomable]:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}.blog-lightbox{z-index:100;color:#f1f5f9;background:#0f172af5;outline:none;flex-direction:column;height:100dvh;animation:.16s ease-out blog-lightbox-in;display:flex;position:fixed;inset:0}.dark .blog-lightbox{background:#050608f5}.blog-lightbox-bar{padding:max(10px, env(safe-area-inset-top)) 12px 10px;align-items:center;gap:12px;display:flex}.blog-lightbox-count{font-variant-numeric:tabular-nums;color:#cbd5e1;padding-left:6px;font-size:14px}.blog-lightbox-tools{gap:8px;margin-left:auto;display:flex}.blog-lightbox button{color:#fff;background:#334155;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;line-height:1;transition:background .15s;display:inline-flex;box-shadow:0 0 0 1px #ffffff1f}.blog-lightbox button:hover{background:#475569}.blog-lightbox button[aria-disabled=true]{opacity:.4;cursor:default}.blog-lightbox button:focus-visible{outline-offset:2px;outline:2px solid #fdba74}.blog-lightbox-nav{z-index:1;position:absolute;top:50%;transform:translateY(-50%)}.blog-lightbox-nav.is-prev{left:12px}.blog-lightbox-nav.is-next{right:12px}.blog-lightbox-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.blog-lightbox-stage img{cursor:zoom-in;background:#fff;border-radius:8px;flex:none;max-width:none;transition:transform .18s ease-out;box-shadow:0 20px 60px -20px #0009}.blog-lightbox-stage img.is-zoomed{cursor:grab}.blog-lightbox-stage.is-dragging img{cursor:grabbing;transition:none}.blog-lightbox-caption{max-width:760px;max-height:30vh;padding:8px 16px max(14px, env(safe-area-inset-bottom));color:#cbd5e1;text-align:center;margin:0 auto;font-size:14px;line-height:1.5;overflow-y:auto}@keyframes blog-lightbox-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.blog-lightbox{animation:none}.blog-lightbox-stage img{transition:none}}.blog-viz{--viz-card:#fff;--viz-soft:#f8fafc;--viz-line:#e2e8f0;--viz-ink:#0f172a;--viz-muted:#64748b;--viz-orange:#f5842b;--viz-orange-soft:#fef3ea;--viz-green:#10b981;--viz-green-soft:#ecfdf5;--viz-blue:#3b82f6;--viz-blue-soft:#eff6ff;--viz-yellow:#ca8a04;--viz-yellow-soft:#fefce8;--viz-violet:#8b5cf6;--viz-violet-soft:#f5f3ff;font-size:15px;line-height:1.5}.dark .blog-viz{--viz-card:#16191f;--viz-soft:#1d2027;--viz-line:#262a32;--viz-ink:#f1f5f9;--viz-muted:#94a3b8;--viz-orange:#fb923c;--viz-orange-soft:#f5842b24;--viz-green:#34d399;--viz-green-soft:#10b98121;--viz-blue:#60a5fa;--viz-blue-soft:#3b82f624;--viz-yellow:#facc15;--viz-yellow-soft:#eab3081f;--viz-violet:#a78bfa;--viz-violet-soft:#8b5cf624}.blog-viz-card{background:var(--viz-card);border:1px solid var(--viz-line);color:var(--viz-ink);border-radius:16px;padding:18px}@media (min-width:640px){.blog-viz-card{padding:22px 24px}}.blog-viz-title{letter-spacing:-.01em;justify-content:space-between;align-items:baseline;gap:12px;font-size:16px;font-weight:700;display:flex}.blog-viz-title+*{margin-top:12px}*+.blog-viz-title{margin-top:22px}.blog-viz-note{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-orange);flex:none;font-size:11.5px;font-weight:600}.blog-prose .blog-viz code{background:var(--viz-soft);color:var(--viz-ink)}.blog-viz p{margin:0}.tone-yellow{--tone:var(--viz-yellow);--tone-soft:var(--viz-yellow-soft)}.tone-violet{--tone:var(--viz-violet);--tone-soft:var(--viz-violet-soft)}.tone-blue{--tone:var(--viz-blue);--tone-soft:var(--viz-blue-soft)}.tone-green{--tone:var(--viz-green);--tone-soft:var(--viz-green-soft)}.tone-orange{--tone:var(--viz-orange);--tone-soft:var(--viz-orange-soft)}.viz-ops{gap:10px;display:grid}@media (min-width:640px){.viz-ops{grid-template-columns:1fr 1fr}}.viz-op{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;min-width:0;padding:12px 14px}.viz-op-head{align-items:center;gap:10px;display:flex}.blog-prose .viz-op-key{background:var(--viz-orange);color:#fff;padding:.1em .5em;font-weight:700}.viz-op-name{font-weight:650}.blog-prose .viz-op-example{background:var(--viz-card);border:1px solid var(--viz-line);margin-top:8px;padding:6px 8px;font-size:13px;display:block}.viz-op-effect{color:var(--viz-muted);font-size:13.5px;margin-top:6px!important}.viz-windows{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (min-width:640px){.viz-windows{grid-template-columns:repeat(4,minmax(0,1fr))}}.viz-window{border:1px solid var(--viz-line);background:var(--viz-soft);color:var(--viz-muted);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;font-size:13.5px;display:flex}.blog-prose .viz-window code{color:var(--viz-ink);background:0 0;padding:0;font-size:14.5px;font-weight:700}.viz-window.is-key{border-color:var(--viz-orange);background:var(--viz-orange-soft)}.blog-prose .viz-flow{counter-reset:none;gap:10px;padding:0;list-style:none;display:grid}@media (min-width:700px){.blog-prose .viz-flow{grid-template-columns:repeat(4,minmax(0,1fr))}}.blog-prose .viz-flow-step{background:var(--tone-soft);border:1px solid color-mix(in srgb, var(--tone) 35%, transparent);border-radius:12px;flex-direction:column;gap:3px;margin:0;padding:14px;display:flex;position:relative}.viz-flow-icon{border:2px solid var(--tone);width:30px;height:30px;color:var(--tone);border-radius:999px;justify-content:center;align-items:center;margin-bottom:6px;font-size:15px;font-weight:700;display:inline-flex}.viz-flow-num{letter-spacing:.06em;text-transform:uppercase;color:var(--tone);font-size:11.5px;font-weight:600}.viz-flow-body{color:var(--viz-muted);font-size:13.5px}@media (min-width:700px){.blog-prose .viz-flow-step:not(:last-child):after{content:"→";z-index:1;text-align:center;width:14px;color:var(--viz-muted);font-weight:700;position:absolute;top:22px;right:-11px}}.viz-stats{gap:10px;display:grid}@media (min-width:640px){.viz-stats{grid-template-columns:1fr 1fr}}.viz-stat{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.viz-stat-label{color:var(--viz-muted);font-size:13.5px;font-weight:600}.viz-stat-values{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.viz-stat-from,.viz-stat-to{flex-direction:column;font-weight:800;line-height:1.1;display:flex}.viz-stat-from{color:var(--viz-muted);font-size:20px}.viz-stat-to{color:var(--viz-orange);font-size:28px}.viz-stat-values small{color:var(--viz-muted);margin-top:3px;font-size:11.5px;font-weight:500}.viz-stat-arrow{color:var(--viz-muted);padding-bottom:16px;font-size:20px}.viz-stat-source{color:var(--viz-muted);font-size:12px}.viz-chart{width:100%;height:auto;display:block}.viz-chart .viz-grid{stroke:var(--viz-line);stroke-width:1px;stroke-dasharray:4 5}.viz-chart .viz-axis{stroke:var(--viz-muted);stroke-width:1.5px}.viz-chart .viz-band-strong{fill:var(--viz-orange-soft)}.viz-chart .viz-band-soft{fill:var(--viz-orange-soft);opacity:.45}.viz-chart .viz-area{fill:var(--viz-orange);opacity:.12}.viz-chart .viz-line{fill:none;stroke:var(--viz-orange);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.viz-chart .viz-dot{fill:var(--viz-card);stroke:var(--viz-orange);stroke-width:4px}.viz-chart text{fill:var(--viz-muted);font-family:inherit}.viz-chart .viz-tick{font-size:22px}.viz-chart .viz-axis-label{font-size:20px;font-weight:600}.viz-chart .viz-band-label{fill:var(--viz-orange);font-size:23px;font-weight:700}.viz-chart .viz-band-label.is-soft{fill:var(--viz-muted)}.viz-chart .viz-callout{fill:var(--viz-ink);font-size:23px;font-weight:700}.viz-matrix{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;gap:8px;display:grid}.viz-matrix-y{writing-mode:vertical-rl;text-align:center;color:var(--viz-muted);font-size:12.5px;font-weight:600;transform:rotate(180deg)}.viz-matrix-x{text-align:center;color:var(--viz-muted);grid-column:2;font-size:12.5px;font-weight:600}.viz-matrix-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.viz-quad{border:1px solid var(--viz-line);background:var(--viz-soft);border-radius:12px;flex-direction:column;gap:4px;min-height:104px;padding:12px;font-size:13.5px;display:flex}.viz-quad span{color:var(--viz-muted)}.viz-quad.tone-target{background:var(--viz-green-soft);border-color:var(--viz-green)}.viz-quad.tone-target strong{color:var(--viz-green)}.viz-quad.tone-muted{opacity:.75}@media (min-width:640px){.viz-quad{min-height:120px;padding:16px;font-size:14.5px}}.blog-prose .viz-timeline{padding:0;list-style:none}.blog-prose .viz-tl-item{grid-template-columns:44px 18px 1fr;gap:10px;margin:0;padding-bottom:16px;display:grid;position:relative}.blog-prose .viz-tl-item:last-child{padding-bottom:0}.viz-tl-time{font-variant-numeric:tabular-nums;color:var(--viz-muted);text-align:right;padding-top:1px;font-size:13.5px;font-weight:700}.viz-tl-dot{background:var(--viz-card);border:3px solid var(--tone);z-index:1;border-radius:999px;width:14px;height:14px;margin:4px 2px 0;position:relative}.viz-tl-item:not(:last-child):before{content:"";background:var(--viz-line);width:2px;position:absolute;top:20px;bottom:0;left:62px}.viz-tl-text{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.viz-tl-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--tone);background:var(--tone-soft);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.viz-tl-body{color:var(--viz-muted);flex-basis:100%;font-size:13.5px}.viz-setup{align-items:stretch;gap:10px;display:grid}@media (min-width:720px){.viz-setup{grid-template-columns:1.25fr auto 1fr auto 1fr}}.viz-setup-col{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.viz-setup-step{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-orange);font-size:11.5px;font-weight:700}.viz-setup-arrow{color:var(--viz-muted);place-self:center;font-weight:700}@media (max-width:719px){.viz-setup-arrow{transform:rotate(90deg)}}.blog-prose .viz-setup ul{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.blog-prose .viz-setup li{color:var(--viz-muted);flex-direction:column;margin:0;font-size:12.5px;display:flex}.blog-prose .viz-setup li code{background:var(--viz-card);border:1px solid var(--viz-line);align-self:flex-start;max-width:100%;margin-top:1px;font-size:12.5px}.viz-setup li strong{color:var(--viz-ink);font-size:14px}.viz-mock-results{flex-direction:column;gap:6px;display:flex}.viz-mock-card{background:var(--viz-card);border:1px solid var(--viz-line);border-radius:8px;height:26px}.viz-mock-toggle{border:2px dashed var(--viz-orange);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;padding:8px 10px;font-size:13.5px;font-weight:700;display:flex}.viz-mock-toggle em{color:var(--viz-muted);flex-basis:100%;font-size:12px;font-style:normal;font-weight:500}.viz-mock-switch{background:var(--viz-green);border-radius:999px;width:30px;height:17px;position:relative}.viz-mock-switch:after{content:"";background:#fff;border-radius:999px;width:13px;height:13px;position:absolute;top:2px;right:2px}.viz-vs{gap:12px;display:grid}@media (min-width:680px){.viz-vs{grid-template-columns:1fr 1fr}}.viz-vs-col{border:1px solid var(--viz-line);background:var(--viz-soft);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.viz-vs-col.is-jw{border-color:color-mix(in srgb, var(--viz-green) 45%, transparent);background:var(--viz-green-soft)}.viz-vs-head{flex-direction:column;gap:2px;display:flex}.viz-vs-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-muted);font-size:11.5px;font-weight:700}.is-jw .viz-vs-kicker{color:var(--viz-green)}.blog-prose .viz-vs-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.blog-prose .viz-vs-list li{background:var(--viz-card);border:1px solid var(--viz-line);border-radius:10px;flex-direction:column;gap:4px;margin:0;padding:8px 10px;display:flex}.viz-vs-job{flex-direction:column;font-size:13.5px;line-height:1.35;display:flex}.viz-vs-job span{color:var(--viz-muted);font-size:12.5px}.viz-vs-tag{border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11.5px;font-weight:700}.viz-vs-tag.is-meh{color:var(--viz-yellow);background:var(--viz-yellow-soft)}.viz-vs-tag.is-good{color:var(--viz-green);background:var(--viz-card);border:1px solid color-mix(in srgb, var(--viz-green) 45%, transparent)}.viz-vs-foot{color:var(--viz-muted);font-size:12.5px}.blog-prose .viz-map{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.blog-prose .viz-map li{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:10px;align-items:center;gap:4px 10px;margin:0;padding:8px 10px;display:grid}@media (min-width:640px){.blog-prose .viz-map li{grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr)}}.blog-prose .viz-map code{background:var(--viz-card);border:1px solid var(--viz-line);justify-self:start;max-width:100%;font-size:12.5px}.viz-map-arrow{color:var(--viz-orange);font-weight:700}@media (max-width:639px){.viz-map-arrow{display:none}}.viz-map-field{flex-direction:column;font-size:13.5px;line-height:1.35;display:flex}.viz-map-field span{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-orange);font-size:11px;font-weight:700}.viz-map li.is-muted{opacity:.7}.viz-map li.is-muted .viz-map-field span{color:var(--viz-muted)}.blog-prose .viz-calc{gap:8px;padding:0;list-style:none;display:grid}@media (min-width:700px){.blog-prose .viz-calc{grid-template-columns:repeat(4,minmax(0,1fr))}}.blog-prose .viz-calc li{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;flex-direction:column;gap:2px;margin:0;padding:12px;display:flex}.blog-prose .viz-calc li.is-total{background:var(--viz-orange-soft);border-color:var(--viz-orange)}.viz-calc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-muted);font-size:11.5px;font-weight:700}.is-total .viz-calc-label{color:var(--viz-orange)}.viz-calc-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.2}.viz-calc-note{color:var(--viz-muted);font-size:12.5px;line-height:1.4}.viz-money{flex-direction:column;gap:6px;display:flex}.viz-money-row{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:10px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid}.viz-money-row.is-head{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-muted);background:0 0;border-color:#0000;padding-top:0;padding-bottom:0;font-size:11.5px;font-weight:700}.viz-money-row.is-head span:not(:first-child){text-align:right}.viz-money-rate{flex-direction:column;min-width:0;line-height:1.3;display:flex}.viz-money-rate small{color:var(--viz-muted);font-size:12px}.viz-money-val{text-align:right;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.viz-money-val.is-year{color:var(--viz-green)}.blog-prose .viz-instead{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none;display:grid}@media (min-width:700px){.blog-prose .viz-instead{grid-template-columns:repeat(3,minmax(0,1fr))}}.blog-prose .viz-instead li{background:var(--viz-yellow-soft);border:1px solid color-mix(in srgb, var(--viz-yellow) 30%, transparent);border-radius:12px;flex-direction:column;gap:2px;margin:0;padding:12px;display:flex}.viz-instead-n{color:var(--viz-orange);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.viz-instead-what{font-size:14.5px;font-weight:700}.viz-instead-note{color:var(--viz-muted);font-size:12.5px;line-height:1.4}.blog-prose .viz-hunt{gap:8px;padding:0;list-style:none;display:grid}.blog-prose .viz-hunt li{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;margin:0;padding:10px 12px;transition:background .2s,border-color .2s}.blog-prose .viz-hunt li.is-found{background:var(--viz-green-soft);border-color:color-mix(in srgb, var(--viz-green) 45%, transparent)}.viz-hunt-main{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.viz-hunt-main input{width:16px;height:16px;accent-color:var(--viz-green);flex:none;margin-top:5px}.viz-hunt-egg{flex:none;font-size:20px;line-height:1.3}.viz-hunt-text{flex-direction:column;font-weight:600;line-height:1.45;display:flex}.viz-hunt-num{letter-spacing:.06em;text-transform:uppercase;color:var(--viz-orange);font-size:11px;font-weight:700}.is-found .viz-hunt-num{color:var(--viz-green)}.viz-hunt-hintbtn{color:var(--viz-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:4px 0 0 56px;padding:0;font-size:13px;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.viz-hunt-hintbtn:hover{color:var(--viz-ink)}.blog-viz .viz-hunt-hint{color:var(--viz-muted);margin:4px 0 0 56px;font-size:13.5px}.blog-viz .viz-hunt-done{background:var(--viz-yellow-soft);text-align:center;border-radius:12px;margin-top:12px;padding:10px 12px;font-weight:600}.viz-teasers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.blog-prose .viz-teasers figure{margin:0}.viz-teasers .is-wide{grid-column:1/-1}.blog-prose .viz-teasers img,.blog-prose .viz-spoil img{border:1px solid var(--viz-line);width:100%;height:auto;box-shadow:none;background:#fff;border-radius:10px;display:block}.blog-prose .viz-teasers figcaption{color:var(--viz-muted);margin-top:.4em;font-size:13px;font-weight:600}.viz-spoil summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font-size:16px;font-weight:700;list-style:none;display:flex}.viz-spoil summary::-webkit-details-marker{display:none}.viz-spoil summary:before{content:"▸";color:var(--viz-orange);margin-right:8px;transition:transform .2s;display:inline-block}.viz-spoil[open] summary:before{transform:rotate(90deg)}.viz-spoil summary>span:first-child{flex:1}.viz-spoil-warn{color:var(--viz-muted);font-size:12.5px;font-weight:600}.viz-spoil-body{gap:22px;margin-top:14px;display:grid}.blog-prose .viz-spoil h3{color:var(--viz-ink);margin:0 0 6px;font-size:16px}.blog-viz .viz-spoil p{margin:0 0 10px}.blog-prose .viz-spoil ul{margin:0}.viz-spoil-strips{gap:6px;display:grid}.blog-viz figcaption{color:#64748b;text-align:center;margin-top:.7em;font-size:14px;line-height:1.55}.dark .blog-viz figcaption{color:#94a3b8}.viz-arch{margin-top:8px}.viz-arch .arch-frame{fill:var(--viz-soft);stroke:var(--viz-line);stroke-width:1.5px}.viz-arch .arch-frame-label{fill:var(--viz-muted);letter-spacing:.04em;text-transform:uppercase;font-family:inherit;font-size:13px;font-weight:700}.viz-arch .arch-box{stroke-width:1.5px}.viz-arch .arch-sw{fill:var(--viz-orange-soft);stroke:var(--viz-orange)}.viz-arch .arch-pages{fill:var(--viz-blue-soft);stroke:var(--viz-blue)}.viz-arch .arch-storage{fill:var(--viz-green-soft);stroke:var(--viz-green)}.viz-arch .arch-tab{fill:var(--viz-card);stroke:var(--viz-line)}.viz-arch .arch-iso{fill:var(--viz-violet-soft);stroke:var(--viz-violet)}.viz-arch .arch-main{fill:var(--viz-soft);stroke:var(--viz-line)}.viz-arch .arch-api{fill:var(--viz-orange-soft);stroke:var(--viz-orange)}.viz-arch .arch-box-title{fill:var(--viz-ink);font-family:inherit;font-size:14px;font-weight:700}.viz-arch .arch-box-sub{fill:var(--viz-muted);font-family:inherit;font-size:12px}.viz-arch .arch-box-body{fill:var(--viz-ink);opacity:.88;font-family:inherit;font-size:12.5px}.viz-arch .arch-arrow{fill:none;stroke:var(--viz-muted);stroke-width:1.75px}.viz-arch .arch-arrow-dom{stroke:var(--viz-muted);stroke-width:1.5px;stroke-dasharray:4 3}.viz-arch .arch-arrow-head{fill:var(--viz-muted)}.viz-arch .arch-arrow-label{fill:var(--viz-muted);font-family:inherit;font-size:11px;font-weight:600}.viz-arch .arch-callout circle{fill:var(--viz-orange);stroke:var(--viz-card);stroke-width:2px}.viz-arch .arch-callout text{fill:#fff;font-family:inherit;font-size:12px;font-weight:800}.blog-prose .viz-arch-legend{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.blog-prose .viz-arch-legend li{color:var(--viz-muted);grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;margin:0;font-size:13.5px;line-height:1.45;display:grid}.blog-prose .viz-arch-legend-n{background:var(--viz-orange);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:inline-flex}.blog-prose .viz-arch-legend-text{overflow-wrap:anywhere;min-width:0}.blog-prose .viz-arch-legend-text code{white-space:break-spaces;border-radius:6px;padding:.12em .38em;font-size:.92em;display:inline}.viz-venn{width:100%;max-width:560px;height:auto;margin:0 auto;display:block}.viz-venn .viz-venn-a{fill:var(--viz-orange-soft);stroke:var(--viz-orange);stroke-width:2px}.viz-venn .viz-venn-b{fill:var(--viz-blue-soft);stroke:var(--viz-blue);stroke-width:2px;fill-opacity:.8}.viz-venn text{fill:var(--viz-ink);font-family:inherit}.viz-venn .viz-venn-kicker{letter-spacing:.08em;fill:var(--viz-orange);font-size:12px;font-weight:800}.viz-venn .viz-venn-name{font-size:16px;font-weight:700}.viz-venn .viz-venn-count{fill:var(--viz-muted);font-size:14px}.viz-venn .viz-venn-mid{font-size:15px;font-weight:800}.viz-venn .viz-venn-small{fill:var(--viz-muted);font-size:12.5px}.viz-venn-rows{gap:6px;margin-top:12px;display:grid}.viz-venn-row{background:var(--viz-soft);border:1px solid var(--viz-line);color:var(--viz-muted);border-radius:10px;padding:8px 10px;font-size:13.5px;display:block}.viz-venn-row strong{color:var(--viz-ink);margin-right:6px}.viz-venn-row.is-primary{border-color:color-mix(in srgb, var(--viz-orange) 45%, transparent);background:var(--viz-orange-soft)}.viz-venn-row em{color:var(--viz-blue);font-style:normal;font-weight:650}.viz-venn-row u{text-underline-offset:3px;color:var(--viz-ink)}.blog-prose .viz-mq{background:var(--viz-soft);border:1px solid var(--viz-line);border-radius:12px;flex-wrap:wrap;gap:5px 6px;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;line-height:1.5;display:flex}.viz-mq span,.viz-mq-legend span{border-radius:6px;padding:0 4px}.viz-mq-word{color:var(--viz-ink)}.viz-mq-op{color:var(--viz-orange);background:var(--viz-orange-soft);font-weight:800}.viz-mq-not{color:#fff;background:#dc2626;font-weight:800}.dark .viz-mq-not{background:#b91c1c}.viz-mq-phrase{color:var(--viz-blue);background:var(--viz-blue-soft)}.viz-mq-paren{font-weight:800}.viz-mq-paren.is-d0{color:var(--viz-violet);background:var(--viz-violet-soft)}.viz-mq-paren.is-d1{color:var(--viz-green);background:var(--viz-green-soft)}.viz-mq-paren.is-d2{color:var(--viz-yellow);background:var(--viz-yellow-soft)}.viz-mq-legend{flex-wrap:wrap;gap:8px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;display:flex}.viz-stele,.viz-argue{width:100%;max-width:720px;height:auto;margin:0 auto;display:block}.viz-stele{--stone:#ecd9ae;--stone-edge:#b98f4f;--carve:#6b4a1f;--carve-hi:#fff6df}.dark .viz-stele{--stone:#4a3d29;--stone-edge:#8a7148;--carve:#f6e3b8;--carve-hi:#221b10}.viz-stele .viz-stele-stone{fill:var(--stone);stroke:var(--stone-edge);stroke-width:3px}.viz-stele .viz-stele-crack,.viz-stele .viz-stele-rule{fill:none;stroke:var(--stone-edge);stroke-width:2px;stroke-linecap:round}.viz-stele .viz-stele-glyph{fill:none;stroke:var(--carve);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.viz-stele .viz-stele-glyph .is-fill{fill:var(--carve);stroke:none}.viz-stele .viz-stele-cartouche rect,.viz-stele .viz-stele-cartouche line{fill:none;stroke:var(--carve);stroke-width:3px}.viz-stele .viz-stele-cartouche text{letter-spacing:.12em;fill:var(--carve);font:800 26px ui-monospace,SFMono-Regular,Menlo,monospace}.viz-stele .viz-stele-text text{fill:var(--carve);paint-order:stroke;stroke:var(--carve-hi);stroke-width:1.2px;white-space:pre;font:700 15.5px ui-monospace,SFMono-Regular,Menlo,monospace}.viz-stele .viz-stele-text.is-url text{font-size:14.5px}.viz-stele .viz-stele-person{fill:none;stroke:var(--viz-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.viz-stele .viz-stele-helmet{fill:#e8d7a0}.viz-stele .viz-stele-skin,.viz-argue .viz-argue-skin{fill:#e3b48c}.viz-stele .viz-stele-shirt{fill:var(--viz-green-soft)}.viz-stele .viz-stele-lens{fill:var(--viz-blue-soft);fill-opacity:.7}.viz-argue text{font-family:inherit}.viz-argue .viz-argue-bubble rect,.viz-argue .viz-argue-bubble path{fill:var(--viz-card);stroke-width:2.5px;stroke-linejoin:round}.viz-argue .viz-argue-bubble.is-a rect,.viz-argue .viz-argue-bubble.is-a path{stroke:var(--viz-blue);fill:var(--viz-blue-soft)}.viz-argue .viz-argue-bubble.is-b rect,.viz-argue .viz-argue-bubble.is-b path{stroke:var(--viz-orange);fill:var(--viz-orange-soft)}.viz-argue .viz-argue-bubble text{fill:var(--viz-ink);font-size:19px;font-weight:700}.viz-argue .viz-argue-paper rect{fill:var(--viz-soft);stroke:var(--viz-line);stroke-width:2px}.viz-argue .viz-argue-paper text{fill:var(--viz-muted);font:600 11.5px ui-monospace,SFMono-Regular,Menlo,monospace}.viz-argue .viz-argue-huh{fill:var(--viz-orange);font-size:30px;font-weight:800}.viz-argue .viz-argue-person{fill:none;stroke:var(--viz-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.viz-argue .viz-argue-person .is-ink,.viz-stele .viz-stele-person .is-ink{fill:#1e293b;stroke:none}.viz-argue .viz-argue-person .is-face,.viz-stele .viz-stele-person .is-face{stroke:#1e293b}.viz-argue .viz-argue-hair{fill:#3b2a1d;stroke:#3b2a1d}.viz-argue .viz-argue-shirt.is-a{fill:var(--viz-blue-soft);stroke:var(--viz-blue)}.viz-argue .viz-argue-shirt.is-b{fill:var(--viz-orange-soft);stroke:var(--viz-orange)}
