*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{background:transparent;color:var(--ink);min-height:100vh;display:flex;flex-direction:column;font-family:var(--body);font-optical-sizing:auto;font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-selection{background:var(--accent-soft);color:var(--ink)}::selection{background:var(--accent-soft);color:var(--ink)}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.shell{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}.masthead{border-bottom:1px solid var(--rule);background:var(--paper)}.masthead-inner{display:flex;align-items:center;justify-content:center;height:5.75rem}.wordmark{font-family:var(--display);font-size:1.6rem;letter-spacing:.01em;line-height:1;text-decoration:none;display:inline-flex;align-items:center;transition:opacity .18s ease}.wordmark:hover{opacity:.62}.wordmark img,.wordmark .logo-inline svg{height:2.6rem;width:auto;display:block}.wordmark .logo-inline{display:block;color:var(--ink)}.colophon{margin-top:auto;padding-top:6rem;border-top:1px solid var(--rule);padding-block:2.25rem 3.5rem;font-family:var(--ui);font-size:.8125rem;color:var(--muted)}.colophon a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .16s ease,color .16s ease}.colophon a:hover{color:var(--ink);border-bottom-color:var(--rule-strong)}.kicker{font-family:var(--ui);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-decoration:none}.byline{font-family:var(--ui);font-size:.8125rem;color:var(--muted);letter-spacing:.01em}.byline-dot:before{content:"·";margin-inline:.5rem;color:var(--rule-strong)}.index-head{padding-block:4.5rem 2rem}.index-title{font-family:var(--display);font-size:clamp(2.75rem,8vw,4.25rem);line-height:.98;letter-spacing:-.015em;margin:0}.index-standfirst{margin-top:1.1rem;max-width:34rem;color:var(--muted)}.feed{border-top:1px solid var(--rule)}.entry{border-bottom:1px solid var(--rule);padding-block:2.25rem}.entry-link{display:grid;gap:1.5rem;text-decoration:none;align-items:start}@media(min-width:40rem){.entry-link{grid-template-columns:1fr 11rem}.entry-link--full{grid-template-columns:1fr}}.entry-title{font-family:var(--display);font-size:clamp(1.5rem,3.2vw,1.95rem);line-height:1.15;letter-spacing:-.008em;margin:.4rem 0 0;transition:color .16s ease}.entry-link:hover .entry-title{color:var(--accent)}.entry-excerpt{margin-top:.55rem;color:var(--ink-soft);font-size:.98rem;line-height:1.65}.entry-meta{margin-top:.85rem}.entry-thumb{aspect-ratio:4 / 3;width:100%;-o-object-fit:cover;object-fit:cover;background:var(--paper-sunk);border-radius:2px}.article-head{padding-block:4rem 0}.article-title{font-family:var(--display);font-size:clamp(2.35rem,6.5vw,3.5rem);line-height:1.04;letter-spacing:-.018em;margin:.9rem 0 0}.article-standfirst{margin-top:1.15rem;font-size:1.2rem;line-height:1.6;color:var(--ink-soft)}.article-meta{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--rule)}.article-lede{margin-top:2.5rem;width:100%;border-radius:2px;background:var(--paper-sunk)}.article-body{margin-top:2.75rem;font-size:1.1875rem;line-height:1.78}.article-body>p:first-of-type:first-letter{float:left;font-family:var(--display);font-size:3.9em;line-height:.78;padding:.06em .09em 0 0}.article-body p{margin-block:1.5rem}.article-body h2{font-family:var(--display);font-size:1.9rem;line-height:1.2;letter-spacing:-.01em;margin:3.25rem 0 .9rem}.article-body h3{font-family:var(--display);font-size:1.42rem;line-height:1.25;margin:2.5rem 0 .7rem}.article-body a{color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 1px;background-position:0 calc(100% - .08em);background-repeat:no-repeat;padding-bottom:.06em;transition:background-size .18s ease,color .18s ease}.article-body a:hover{color:var(--accent);background-size:100% 2px}.article-body ul,.article-body ol{margin-block:1.5rem;padding-left:1.35rem}.article-body li{margin-block:.5rem;padding-left:.2rem}.article-body ul{list-style:none}.article-body ul>li:before{content:"—";color:var(--accent);margin-left:-1.35rem;margin-right:.6rem}.article-body ol{list-style:decimal}.article-body blockquote{margin:2.5rem 0;padding-left:1.5rem;border-left:2px solid var(--accent);font-size:1.28rem;line-height:1.5;font-style:italic;color:var(--ink-soft)}.article-body blockquote p{margin-block:.5rem}.article-body img{width:100%;height:auto;margin-block:2.5rem;border-radius:2px}.article-body figcaption{margin-top:-1.75rem;margin-bottom:2.5rem;font-family:var(--ui);font-size:.8125rem;color:var(--muted)}.article-body hr{border:0;height:1px;background:var(--rule);margin-block:3rem}.article-body code{font-size:.875em;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:3px;padding:.1em .35em}.article-body pre{margin-block:2rem;padding:1.15rem 1.25rem;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:3px;overflow-x:auto;font-size:.9rem;line-height:1.6}.article-body pre code{background:none;border:0;padding:0}.article-body table{width:100%;border-collapse:collapse;margin-block:2rem;font-size:.96rem}.article-body th,.article-body td{border-bottom:1px solid var(--rule);padding:.7rem .85rem .7rem 0;text-align:left;vertical-align:top}@media(max-width:40rem){.article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.article-body th{font-family:var(--ui);font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--rule-strong)}.crumbs{font-family:var(--ui);font-size:.8125rem;color:var(--muted)}.crumbs a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .16s ease}.crumbs a:hover{border-bottom-color:var(--rule-strong)}.crumbs span[aria-hidden]{margin-inline:.45rem;color:var(--rule-strong)}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;font-family:var(--ui);font-size:.875rem}.pager a{text-decoration:none;border-bottom:1px solid var(--rule-strong);padding-bottom:2px;transition:color .16s ease,border-color .16s ease}.pager a:hover{color:var(--accent);border-bottom-color:var(--accent)}.cta{margin-top:3.5rem;padding:1.75rem;border:1px solid var(--rule-strong);border-radius:.75rem;background:var(--accent-soft);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 1.5rem}.cta-copy{flex:1 1 18rem;min-width:0}.cta-title{font-family:var(--display);font-size:1.35rem;line-height:1.2;color:var(--ink);margin:0}.cta-body{font-family:var(--body);font-size:.95rem;line-height:1.55;color:var(--ink-soft);margin:.5rem 0 0}.cta-action{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.15rem;border-radius:.5rem;background:var(--accent);color:var(--paper);font-family:var(--ui);font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .16s ease,opacity .16s ease}.cta-action:hover{opacity:.9;transform:translateY(-1px)}.cta-action:hover .cta-arrow{transform:translate(2px)}.cta-arrow{width:1rem;height:1rem;transition:transform .16s ease}@media(prefers-reduced-motion:reduce){.cta-action,.cta-arrow{transition:none}.cta-action:hover,.cta-action:hover .cta-arrow{transform:none}}.related{margin-top:4.5rem;padding-top:2rem;border-top:1px solid var(--rule)}.related-title{font-family:var(--ui);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.25rem}.related ul{list-style:none;margin:0;padding:0}.related li+li{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--rule)}.related a{font-family:var(--display);font-size:1.2rem;line-height:1.25;text-decoration:none;transition:color .16s ease}.related a:hover{color:var(--accent)}.btn{display:inline-block;margin-top:.9rem;background:var(--ink);color:var(--paper);font-family:var(--ui);font-size:.875rem;font-weight:600;text-decoration:none;padding:.65rem 1.15rem;border-radius:2px;transition:background .16s ease}.btn:hover{background:var(--accent)}.split{display:grid;gap:2rem;margin-top:2.25rem}@media(min-width:40rem){.split{grid-template-columns:1fr 1fr}}.spec{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;border-bottom:1px solid var(--rule);font-size:.95rem}.spec dt{color:var(--muted);text-transform:capitalize}.\!empty{padding-block:3rem!important;color:var(--muted)!important;font-style:italic!important}.empty{padding-block:3rem;color:var(--muted);font-style:italic}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.justify-between{justify-content:space-between}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--paper: #fffefc;--paper-sunk: #faf8f4;--ink: #14110f;--ink-soft: #3d3733;--muted: #6e6660;--rule: #e8e2da;--rule-strong: #d6cec3;--accent: #8a5a2b;--accent-soft: #f3ece3;--display: "Instrument Serif", Georgia, "Times New Roman", serif;--body: "Literata", Georgia, "Times New Roman", serif;--ui: "Archivo", ui-sans-serif, system-ui, sans-serif;--measure: 44rem;--gutter: clamp(1.25rem, 5vw, 2rem)}.hover\:text-emerald-300:hover{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}html[data-theme=upgrader]{--paper: #111f2c;--paper-sunk: #162736;--ink: #ffffff;--ink-soft: #cdd6de;--muted: #a2a9af;--rule: rgba(255, 255, 255, .09);--rule-strong: rgba(255, 255, 255, .18);--accent: #82e1ff;--accent-soft: rgba(130, 225, 255, .12);--display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--body: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--ui: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--measure: 46rem;background:radial-gradient(1100px 520px at 50% -8%,rgba(130,225,255,.07),transparent 60%),linear-gradient(180deg,#111f2c,#0e1219);background-attachment:fixed;background-color:#0e1219}html[data-theme=upgrader] body{background:transparent;min-height:100vh;font-size:1rem;line-height:1.7;letter-spacing:-.005em}html[data-theme=upgrader] .masthead{background:#111f2cb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);will-change:backdrop-filter;border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){html[data-theme=upgrader] .masthead{background:#111f2c}}html[data-theme=upgrader] .colophon{border-top:1px solid var(--rule);background:#0e121999}html[data-theme=upgrader] .index-title,html[data-theme=upgrader] .article-title,html[data-theme=upgrader] .entry-title,html[data-theme=upgrader] .related a{font-weight:700;letter-spacing:-.03em}html[data-theme=upgrader] .index-title{font-size:clamp(2.25rem,6vw,3.25rem);line-height:1.05}html[data-theme=upgrader] .article-title{font-size:clamp(2rem,5vw,2.9rem);line-height:1.1}html[data-theme=upgrader] .entry-title{font-size:clamp(1.25rem,2.6vw,1.5rem);line-height:1.25}html[data-theme=upgrader] .article-body{font-size:1.0625rem;line-height:1.75;color:var(--ink-soft)}html[data-theme=upgrader] .article-body h2,html[data-theme=upgrader] .article-body h3{color:#fff;font-weight:700;letter-spacing:-.02em}html[data-theme=upgrader] .article-body>p:first-of-type:first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;font-family:inherit}html[data-theme=upgrader] .kicker{color:var(--accent);letter-spacing:.12em}html[data-theme=upgrader] .feed{border-top:0}html[data-theme=upgrader] .entry{border:1px solid var(--rule);border-radius:12px;background:linear-gradient(180deg,#182c3dbf,#1627368c);padding:1.35rem;margin-bottom:1rem;transition:border-color .18s ease,transform .18s ease}html[data-theme=upgrader] .entry:hover{border-color:#82e1ff66;transform:translateY(-2px)}html[data-theme=upgrader] .entry-thumb{border-radius:8px;aspect-ratio:16 / 10}html[data-theme=upgrader] .article-lede{border-radius:12px;border:1px solid var(--rule)}html[data-theme=upgrader] .article-body pre,html[data-theme=upgrader] .article-body code{background:#0e1219cc;border-color:var(--rule);color:var(--ink-soft)}html[data-theme=upgrader] .article-body blockquote{border-left-color:var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;padding:1rem 1.25rem;font-style:normal;color:#fff}html[data-theme=upgrader] .article-body th{color:var(--accent);border-bottom-color:var(--rule-strong)}html[data-theme=upgrader] .article-body a{color:var(--accent);background-image:linear-gradient(var(--accent),var(--accent))}html[data-theme=upgrader] .article-body ul>li:before{color:var(--accent)}html[data-theme=upgrader] .callout{background:var(--accent-soft);border:1px solid rgba(130,225,255,.28);border-radius:12px}html[data-theme=upgrader] .btn{background:var(--accent);color:#0e1219;border-radius:999px;padding:.7rem 1.35rem}html[data-theme=upgrader] .btn:hover{background:#a5ebff}html[data-theme=upgrader] .review-logo,html[data-theme=upgrader] .spec{border-color:var(--rule)}html[data-theme=upgrader] ::-moz-selection{background:#82e1ff47;color:#fff}html[data-theme=upgrader] ::selection{background:#82e1ff47;color:#fff}
