@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/geist-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/geist-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/geist-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/geist-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F7F6F2; --card:#FFFFFF; --ink:#15171C; --ink-2:#4A505C; --ink-3:#5F6570;
  --line:#E4E2DC; --line-strong:#D6D3CB; --dot:#8A909B;
  --buy:#1F5ED6; --buy-ink:#1B4FB8; --buy-hover:#1B4FB8; --buy-stroke:#1F5ED6; --buy-tint:#EAF1FD; --buy-line:#C9DAF8;
  --caution:#A5520E; --caution-ink:#8C4509; --caution-fill:#A5520E; --caution-tint:#FBF1E6; --caution-line:#F0DCC4;
  --neutral:#4A505C; --neutral-tint:#EFEEEA;
  --scale-a:#EBCDAA; --scale-b:#E6E3DC; --scale-c:#BFD3F7;
  color-scheme:light;
  --font:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --r-card:16px; --r-chip:999px; --r-well:12px;
  --page-max:680px;
  --page-x:16px; --card-pad:20px; --stack:20px;
}
@media (min-width:600px){ :root{ --page-x:24px; --card-pad:28px; --stack:20px; } }
/* The dark set is repeated so an explicit Dark choice and a System choice on a dark device stay in step. */
:root[data-theme="dark"]{--paper:#1C1B18;--card:#26241F;--ink:#F4F1EA;--ink-2:#C9C3B6;--ink-3:#A9A396;--line:#3E3B35;--line-strong:#585348;--dot:#8F8A80;--buy:#2F6FE0;--buy-ink:#A9C4FF;--buy-hover:#245FDB;--buy-stroke:#9BB6F5;--buy-tint:#182743;--buy-line:#6E92D6;--caution:#E7B56D;--caution-ink:#F3D7A8;--caution-fill:#B15E12;--caution-tint:#3A2C1C;--caution-line:#6E5432;--neutral:#6A7180;--neutral-tint:#322F2A;--scale-a:#6E4C32;--scale-b:#3E3B36;--scale-c:#2C4A80;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#1C1B18;--card:#26241F;--ink:#F4F1EA;--ink-2:#C9C3B6;--ink-3:#A9A396;--line:#3E3B35;--line-strong:#585348;--dot:#8F8A80;--buy:#2F6FE0;--buy-ink:#A9C4FF;--buy-hover:#245FDB;--buy-stroke:#9BB6F5;--buy-tint:#182743;--buy-line:#6E92D6;--caution:#E7B56D;--caution-ink:#F3D7A8;--caution-fill:#B15E12;--caution-tint:#3A2C1C;--caution-line:#6E5432;--neutral:#6A7180;--neutral-tint:#322F2A;--scale-a:#6E4C32;--scale-b:#3E3B36;--scale-c:#2C4A80;color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
svg,img,table{max-width:100%}
a{color:var(--buy-ink);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--buy);outline-offset:2px;border-radius:6px}
h1,h2,h3{overflow-wrap:anywhere}
.sr-only{position:absolute;left:0;top:0;width:1px;height:1px;min-width:0;max-width:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;contain:paint}
.num{font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;max-width:100%;padding:4px 12px;border-radius:var(--r-chip);font-size:14px;font-weight:600;overflow-wrap:anywhere}
.chip svg{flex:none}
.price-row{min-width:0;max-width:100%;overflow-wrap:anywhere}

.site{border-bottom:1px solid var(--line);background:var(--paper)}
.site-inner{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-x);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand gear" "tabs tabs";align-items:center;min-width:0}
.brand{grid-area:brand;display:inline-flex;align-items:center;gap:10px;height:56px;min-width:max-content;color:var(--ink);text-decoration:none;font-weight:700;font-size:19px;letter-spacing:-.01em;justify-self:start;white-space:nowrap}
.brand-mark{width:22px;height:22px;border-radius:7px;background:var(--buy);position:relative;flex:none}
.brand-mark::after{content:"";position:absolute;left:6px;top:6px;width:10px;height:10px;border-radius:50%;background:#fff}
.tabs{grid-area:tabs;display:flex;flex-wrap:wrap;gap:4px;margin:0 -4px;padding:0;list-style:none;min-width:0}
.tabs a{display:inline-flex;align-items:center;flex:none;height:44px;padding:0 12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-size:16px;font-weight:500;position:relative;white-space:nowrap}
.tabs a:hover{color:var(--ink);background:var(--neutral-tint)}
.tabs a[aria-current="page"]{color:var(--ink);font-weight:600}
.tabs a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--ink)}
.site-tools{grid-area:gear;display:flex;align-items:center;gap:4px}
.gear{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-width:44px;height:44px;padding:0 10px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-size:16px;font-weight:500;white-space:nowrap}
.gear:hover,.gear[aria-current="page"]{color:var(--ink);background:var(--neutral-tint)}
.gear-label{display:none}
.theme{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;max-width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-2);cursor:pointer}
.theme:hover{color:var(--ink);background:var(--neutral-tint)}
.theme-icon{display:none}
:root[data-color-mode="light"] .theme-icon--light,:root[data-color-mode="dark"] .theme-icon--dark,:root[data-color-mode="system"] .theme-icon--system,:root:not([data-color-mode]) .theme-icon--system{display:block}
@media (min-width:600px){
  .site-inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand tabs gear";height:auto;min-height:64px}
  .tabs{margin:0;padding-left:20px;width:100%;align-self:center;align-items:center}
  .tabs a{height:auto;border-radius:0}
  .tabs a:hover{background:transparent}
  .gear-label{display:inline}
}

.page{max-width:var(--page-max);margin:0 auto;padding:18px var(--page-x) 48px;display:flex;flex-direction:column;gap:var(--stack);min-width:0}
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--card-pad);min-width:0}
.card h2,.panel h2{margin:0;font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.card-head,.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;min-width:0}
.foot{border-top:1px solid var(--line);margin-top:8px}
.foot-inner{max-width:var(--page-max);margin:0 auto;padding:22px var(--page-x) 40px;font-size:14px;line-height:1.55;color:var(--ink-3);min-width:0}
.foot-inner p{margin:0 0 10px}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.foot-links .repo{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.foot-links .repo span{text-decoration:underline;text-underline-offset:3px}
.foot-links .repo svg{display:block;flex:none}
.layout-probe{position:fixed;z-index:70;right:8px;bottom:8px;max-width:min(260px,calc(100% - 16px));margin:0;padding:8px;background:var(--card);color:var(--ink);border:1px solid #c00;border-radius:8px;font:500 11px/1.35 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}
.layout-probe-hit{outline:2px solid #c00;outline-offset:-2px}
.layout-probe-sample{position:fixed;left:0;top:0;margin:0;font-size:16px;line-height:1;visibility:hidden;pointer-events:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
