:root{color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--text-display-s:1.44rem;--text-display:1.728rem;--text-section:1.2rem;--text-title:1rem;--text-lead:1rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--color-error:oklch(52% 0.19 27);--color-success:oklch(50% 0.12 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(99.5% 0.003 100);--color-paper-2:oklch(97% 0.004 100);--color-paper-3:oklch(94% 0.006 100);--color-ink:oklch(16% 0 0);--color-ink-2:oklch(28% 0 0);--color-muted:oklch(44% 0 0);--color-rule:oklch(89% 0.004 100);--color-rule-2:oklch(93.5% 0.003 100);--color-accent:oklch(50% 0.095 188);--color-accent-ink:oklch(99.5% 0.003 100);--color-accent-soft:oklch(93% 0.05 190);--color-accent-soft-ink:oklch(27% 0.045 190);--color-focus:oklch(50% 0.095 188);--font-display:"Epilogue",ui-sans-serif,system-ui,sans-serif;--font-body:var(--font-display);--font-outlier:"IBM Plex Mono",ui-monospace,monospace;--radius-card:12px;--radius-pill:999px;--rule-hair:1px;--shadow-card:0 20px 40px oklch(20% 0 0/0.16);--tracking-display:-0.04em;--display-weight:700}*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;-webkit-font-smoothing:antialiased;caret-color:var(--color-accent)}::selection{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);line-height:1.05;overflow-wrap:break-word;min-width:0;text-wrap:balance}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);line-height:1.45;max-width:52ch}p{margin:0;text-wrap:pretty}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto}img,svg,video{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}.figure,.num,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}[data-slot]{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-paper-2,var(--color-paper)),var(--color-paper-3,var(--color-paper)))}[data-slot]>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):after,:not(.keep-motion):before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-slot]>img{filter:saturate(.65) contrast(.97)}body{display:flex;flex-direction:column;min-height:100dvh}main{flex:1 1}.topbar{border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:64px}.wordmark{font-weight:700;letter-spacing:var(--tracking-display);font-size:var(--text-lg);text-decoration:none;color:var(--color-ink)}.nav{display:flex;gap:var(--space-2xs);overflow-x:auto;scrollbar-width:none}.nav a{display:inline-flex;align-items:center;min-height:40px;padding-inline:var(--space-sm);border-radius:10px;font-weight:600;font-size:var(--text-sm);text-decoration:none;color:var(--color-ink-2);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.nav a:hover{background:var(--color-paper-2);color:var(--color-ink)}.nav a[aria-current=page]{background:var(--color-paper-3);color:var(--color-ink)}@media (max-width:40rem){.topbar__inner{flex-direction:column;align-items:stretch;gap:0;padding-block:var(--space-xs)}.nav{margin-inline:calc(var(--space-sm) * -1)}}.pagehead{padding-block:var(--space-xl) var(--space-lg)}.pagehead h1{font-size:var(--text-3xl);line-height:1.02}.pagehead p{margin-top:var(--space-xs);color:var(--color-ink-2);max-width:60ch}.checked{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-muted)}.checked a{color:var(--color-ink-2)}.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);grid-gap:var(--gap-columns);gap:var(--gap-columns);align-items:start;padding-bottom:var(--space-2xl)}@media (max-width:60rem){.tool{grid-template-columns:minmax(0,1fr)}}.form{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-md);gap:var(--space-md);border:0;margin:0;padding:0;min-width:0}.group>legend{grid-column:1/-1;padding:0 0 var(--space-xs);width:100%;font-weight:700;font-size:var(--text-md);border-bottom:var(--rule-hair) solid var(--color-ink);margin-bottom:var(--space-xs)}.group--one{grid-template-columns:minmax(0,1fr)}@media (max-width:40rem){.group{grid-template-columns:minmax(0,1fr)}}.field{display:grid;grid-gap:var(--space-2xs);gap:var(--space-2xs);min-width:0}.field>label,.field__label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.field__help{color:var(--color-muted)}.field__error,.field__help{font-size:var(--text-sm);min-height:1lh}.field__error{color:var(--color-error)}.input{position:relative;display:flex;align-items:center}.input input,.select{width:100%;min-height:44px;padding:0 var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:10px;background:var(--color-paper);color:var(--color-ink);font-size:var(--text-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color var(--dur-micro) var(--ease-out)}.input input:hover,.select:hover{border-color:var(--color-muted)}.input input:focus-visible,.select:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px}.input input[aria-invalid=true]{border-color:var(--color-error)}.input--prefix input{padding-left:calc(var(--space-sm) + 1ch + var(--space-2xs))}.input--suffix input{padding-right:calc(var(--space-sm) + 2ch)}.input__affix{position:absolute;color:var(--color-muted);pointer-events:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input--prefix .input__affix{left:var(--space-sm)}.input--suffix .input__affix{right:var(--space-sm)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-xl);background-image:linear-gradient(45deg,transparent 50%,var(--color-ink-2) 50%),linear-gradient(135deg,var(--color-ink-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.check{display:flex;align-items:flex-start;gap:var(--space-xs);min-height:44px;padding-top:var(--space-xs);cursor:pointer}.check input{width:18px;height:18px;margin:var(--space-3xs) 0 0;accent-color:var(--color-ink);flex:none}.check input:disabled,.input input:disabled,.seg button:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.check input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.check small,.check span{font-size:var(--text-sm)}.check small{display:block;color:var(--color-muted)}.seg{display:inline-flex;padding:var(--space-3xs);gap:var(--space-3xs);border:var(--rule-hair) solid var(--color-rule);border-radius:12px;background:var(--color-paper-2);justify-self:start}.seg button{min-height:36px;padding:0 var(--space-md);border:0;border-radius:10px;background:transparent;color:var(--color-ink-2);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.seg button:hover{color:var(--color-ink)}.seg button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.seg button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.seg button:active{transform:translateY(1px)}.ledger{position:-webkit-sticky;position:sticky;top:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);padding:var(--space-lg)}@media (max-width:60rem){.ledger{position:static}}.ledger__title{font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2)}.ledger__keep{margin-top:var(--space-2xs);font-size:var(--text-3xl);font-weight:700;letter-spacing:var(--tracking-display);line-height:1;color:var(--color-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ledger__keep--neg{color:var(--color-ink)}.ledger__sub{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-2)}.ledger__rows{list-style:none;margin:var(--space-lg) 0 0;padding:0;border-top:var(--rule-hair) solid var(--color-ink)}.ledger__rows li{display:flex;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);font-size:var(--text-sm)}.ledger__rows li span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ledger__rows li.is-total{font-weight:700;border-bottom-color:var(--color-ink)}.ledger__rows li.is-quiet{color:var(--color-muted);border-bottom-color:var(--color-rule-2)}.ledger__empty{color:var(--color-ink-2)}.ledger__empty,.ledger__note{margin-top:var(--space-md);font-size:var(--text-sm)}.ledger__note{color:var(--color-muted)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table caption{text-align:left;font-weight:700;padding-bottom:var(--space-xs)}.table td,.table th{text-align:left;padding:var(--space-xs) var(--space-sm) var(--space-xs) 0;border-bottom:var(--rule-hair) solid var(--color-rule);vertical-align:top}.table thead th{font-weight:600;color:var(--color-ink-2);border-bottom-color:var(--color-ink);white-space:nowrap}.table td.num,.table th.num{text-align:right;padding-right:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.table tr.is-best td{font-weight:700}.tag{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.tag--in{background:var(--color-accent-soft);color:var(--color-accent-soft-ink)}.tag--out{box-shadow:inset 0 0 0 var(--rule-hair) var(--color-rule);color:var(--color-muted)}.prose{padding-block:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-rule)}.prose__inner{max-width:70ch;display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-lg)}.prose h2:first-child{margin-top:0}.prose h3{font-size:var(--text-lg);margin-top:var(--space-sm)}.prose li,.prose p{color:var(--color-ink-2);line-height:1.7}.prose ol,.prose ul{margin:0;padding-left:1.25em;display:grid;grid-gap:var(--space-2xs);gap:var(--space-2xs)}.prose a{color:var(--color-ink)}.prose a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.wide{max-width:none}.example{padding:var(--space-md) var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2)}.platforms{list-style:none;margin:0;padding:0;border-top:var(--rule-hair) solid var(--color-ink)}.platforms li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule)}.platforms a{font-weight:600}.footer{border-top:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-2);padding-block:var(--space-xl);font-size:var(--text-sm);color:var(--color-ink-2)}.footer__inner{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.footer__links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}.footer__links a{font-weight:400;color:var(--color-ink-2);min-height:44px;display:inline-flex;align-items:center}.footer__links a:hover{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}