@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-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:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/inter-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:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-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:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-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}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-tight-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:"Inter Tight";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-tight-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}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/jetbrains-mono-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:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/jetbrains-mono-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:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/jetbrains-mono-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}
:root{
--py-bg:#0F1218; --py-surface:#161A22; --py-surface-2:#1D222C; --py-row-hover:#1A1F28;
--py-border:#2A303C; --py-border-strong:#3A4252;
--py-field-border:#5E697C;
--py-text:#E8ECF2; --py-text-muted:#A3ACBA; --py-text-faint:#7D8798;
--py-accent:#FF6B4A; --py-accent-hover:#FF8467; --py-on-accent:#1A0B06;
--py-link:#8FB8FF;
--py-ok:#3DD68C; --py-ok-bg:rgba(61,214,140,.12);
--py-warn:#F2B13C; --py-warn-bg:rgba(242,177,60,.12);
--py-unk:#9AA3B2; --py-unk-bg:rgba(154,163,178,.10);
--py-diff-add:#3DD68C; --py-diff-add-bg:rgba(61,214,140,.10);
--py-diff-del:#FF7A7A; --py-diff-del-bg:rgba(255,122,122,.10);
--py-v-cursor:#9AA7FF; --py-v-anthropic:#E8A87C; --py-v-openai:#7ED6C0; --py-v-github:#C3A6FF; --py-v-cognition:#7FC4F5; --py-v-windsurf:#9AA3B2; --py-v-google:#B9DB7E; --py-v-aws:#F2A1C8;
--py-font-sans:"Inter","Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
--py-font-display:"Inter Tight","Inter",system-ui,sans-serif;
--py-font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;
--py-fs-xs:12px; --py-fs-sm:13px; --py-fs-base:15px; --py-fs-md:17px; --py-fs-lg:20px; --py-fs-xl:28px; --py-fs-2xl:40px; --py-fs-3xl:56px;
--py-lh-tight:1.1; --py-lh:1.5;
--py-s1:4px; --py-s2:8px; --py-s3:12px; --py-s4:16px; --py-s5:24px; --py-s6:32px; --py-s7:48px; --py-s8:64px;
--py-r-sm:4px; --py-r:8px; --py-r-lg:14px; --py-r-pill:999px;
--py-shadow-1:0 1px 0 rgba(255,255,255,.03) inset,0 1px 2px rgba(0,0,0,.4);
--py-shadow-2:0 8px 24px rgba(0,0,0,.45);
--py-focus:0 0 0 2px var(--py-bg),0 0 0 4px var(--py-link);
--py-max:1200px;
}
[data-theme=light]{
--py-bg:#F6F7F9; --py-surface:#FFFFFF; --py-surface-2:#EEF1F5; --py-row-hover:#F2F4F8;
--py-border:#DCE1E8; --py-border-strong:#C2C9D4; --py-field-border:#7A8494;
--py-text:#11151C; --py-text-muted:#4A5363; --py-text-faint:#5F6878;
--py-accent:#C23B1A; --py-accent-hover:#A83215; --py-on-accent:#FFFFFF; --py-link:#1F5FD1;
--py-ok:#137A48; --py-ok-bg:#E3F6EC; --py-warn:#8A5A00; --py-warn-bg:#FDF1D8; --py-unk:#5B6473; --py-unk-bg:#EDF0F4;
--py-diff-add:#137A48; --py-diff-del:#B42318;
--py-v-cursor:#4453C9; --py-v-anthropic:#A2552A; --py-v-openai:#1B7F68; --py-v-github:#6E45C9; --py-v-cognition:#1F6FA8; --py-v-windsurf:#5B6473; --py-v-google:#4F7A1C; --py-v-aws:#A83A75;
--py-shadow-1:0 1px 2px rgba(16,24,40,.06); --py-shadow-2:0 8px 24px rgba(16,24,40,.12);
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:dark;scroll-padding-top:76px;scroll-padding-bottom:88px}
body{margin:0;background:var(--py-bg);color:var(--py-text);font:400 var(--py-fs-base)/var(--py-lh) var(--py-font-sans);font-feature-settings:"cv11","ss01"}
a{color:var(--py-link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--py-focus);border-radius:var(--py-r-sm)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;z-index:99;background:var(--py-surface);padding:8px 12px}
.wrap{max-width:var(--py-max);margin:0 auto;padding:0 var(--py-s5)}.narrow{max-width:760px}
.mono,.price,time,.stamp{font-family:var(--py-font-mono);font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--py-font-display);letter-spacing:-.02em;line-height:var(--py-lh-tight);margin:0 0 var(--py-s3);text-wrap:balance}
h1{font-size:var(--py-fs-2xl);font-weight:750}h2{font-size:var(--py-fs-xl);font-weight:700}h3{font-size:var(--py-fs-md)}
.lede{color:var(--py-text-muted);font-size:var(--py-fs-md);max-width:60ch}
.eyebrow{font:500 var(--py-fs-sm) var(--py-font-mono);color:var(--py-text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 var(--py-s4)}.eyebrow time{white-space:nowrap}
.live{width:8px;height:8px;border-radius:50%;background:var(--py-ok);box-shadow:0 0 0 4px var(--py-ok-bg)}
.top{border-bottom:1px solid var(--py-border);background:rgba(15,18,24,.92);background:color-mix(in srgb,var(--py-bg) 88%,transparent);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.top__in{display:flex;align-items:center;gap:var(--py-s5);height:60px}
.wm{display:flex;align-items:center;gap:10px;color:var(--py-text);text-decoration:none;font:700 19px var(--py-font-display);letter-spacing:-.02em}.wm b{color:var(--py-accent)}
.top nav{display:flex;gap:var(--py-s5);flex:1}.top nav a{color:var(--py-text-muted);text-decoration:none;font-weight:500;font-size:var(--py-fs-sm)}
.top nav a[aria-current]{color:var(--py-text);box-shadow:inset 0 -2px 0 var(--py-accent);padding-bottom:19px;margin-bottom:-19px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--py-r);padding:11px 18px;font:600 var(--py-fs-base) var(--py-font-sans);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn--sm{padding:7px 12px;font-size:var(--py-fs-sm)}
.btn--accent{background:var(--py-accent);color:var(--py-on-accent)}.btn--accent:hover{background:var(--py-accent-hover)}
.btn--primary{background:var(--py-text);color:var(--py-bg)}.btn--ghost{border-color:var(--py-border-strong);color:var(--py-text);background:transparent}
.vchip{--c:var(--py-v-windsurf);display:inline-flex;align-items:center;gap:6px;font:600 var(--py-fs-xs) var(--py-font-sans);letter-spacing:.02em;color:var(--c);background:rgba(154,163,178,.12);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid rgba(154,163,178,.3);border-color:color-mix(in srgb,var(--c) 30%,transparent);padding:2px 8px;border-radius:var(--py-r-pill);white-space:nowrap}
.vchip i{width:6px;height:6px;border-radius:2px;background:var(--c)}
.vchip--cursor{--c:var(--py-v-cursor)}.vchip--anthropic{--c:var(--py-v-anthropic)}.vchip--openai{--c:var(--py-v-openai)}.vchip--github{--c:var(--py-v-github)}.vchip--cognition{--c:var(--py-v-cognition)}.vchip--google{--c:var(--py-v-google)}.vchip--aws{--c:var(--py-v-aws)}
.badge{display:inline-flex;align-items:center;gap:5px;font:600 var(--py-fs-xs) var(--py-font-sans);padding:2px 8px;border-radius:var(--py-r-sm);white-space:normal;max-width:100%;border:1px solid}.sb .badge{white-space:nowrap}
.badge--ok{color:var(--py-ok);background:var(--py-ok-bg);border-color:rgba(61,214,140,.35);border-color:color-mix(in srgb,var(--py-ok) 35%,transparent)}
.badge--warn{color:var(--py-warn);background:transparent;border-style:dashed;border-color:var(--py-warn)}
.badge--unk{color:var(--py-unk);background:var(--py-unk-bg);border-style:dotted;border-color:var(--py-unk)}
.lchip{display:inline-block;font:500 var(--py-fs-xs) var(--py-font-mono);color:var(--py-text);background:var(--py-surface-2);border:1px solid var(--py-border);padding:1px 6px;border-radius:var(--py-r-sm);margin:0 4px 4px 0;white-space:nowrap}
.lchip--na{color:var(--py-text-faint);border-style:dashed;background:none}
.src{font-size:var(--py-fs-xs);color:var(--py-link);overflow-wrap:break-word}.stamp{font-size:var(--py-fs-xs);color:var(--py-text-faint);display:block}
.empty-val{font-size:var(--py-fs-xs);color:var(--py-text-faint);font-style:italic}
.hero{border-bottom:1px solid var(--py-border);background:radial-gradient(900px 400px at 85% -10%,rgba(255,107,74,.1),transparent),linear-gradient(var(--py-bg),var(--py-bg));background:radial-gradient(900px 400px at 85% -10%,color-mix(in srgb,var(--py-accent) 10%,transparent),transparent),linear-gradient(var(--py-bg),var(--py-bg))}
.hero__in{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--py-s7);padding-top:var(--py-s8);padding-bottom:var(--py-s7);align-items:end}
.hero h1{font-size:var(--py-fs-3xl);max-width:14ch}.hero h1 em{font-style:normal;color:var(--py-accent)}
.hero__stats{display:flex;gap:var(--py-s6);margin-top:var(--py-s5);flex-wrap:wrap}.hero__stats div{display:flex;flex-direction:column}
.hero__stats b{font-size:var(--py-fs-xl);font-weight:600}.hero__stats span{font-size:var(--py-fs-xs);color:var(--py-text-muted)}
.sub{background:var(--py-surface);border:1px solid var(--py-border);border-radius:var(--py-r-lg);padding:var(--py-s5);box-shadow:var(--py-shadow-1)}
.sub__h{font-size:var(--py-fs-lg)}.sub__p{color:var(--py-text-muted);margin:0 0 var(--py-s4);font-size:var(--py-fs-sm)}
.sub__f{display:flex;gap:8px}.sub__f input{flex:1;min-width:0}
.sub__fine{font-size:var(--py-fs-xs);color:var(--py-text-faint);margin:var(--py-s2) 0 0}
.sub--hero{border-color:#7A3F33;border-color:color-mix(in srgb,var(--py-accent) 40%,var(--py-border))}
.sub--footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--py-s5);align-items:center;margin:var(--py-s7) 0}
.sticky-sub{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:16px;align-items:center;background:var(--py-surface-2);border:1px solid var(--py-border-strong);border-radius:var(--py-r-pill);padding:6px 6px 6px 18px;box-shadow:var(--py-shadow-2);font-size:var(--py-fs-sm);z-index:30;max-width:calc(100% - 24px)}
input,select,textarea{font:inherit;color:var(--py-text);background:var(--py-bg);border:1px solid var(--py-field-border);border-radius:var(--py-r);padding:10px 12px;width:100%}
input::placeholder,textarea::placeholder{color:var(--py-text-faint)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--py-link)}
.board{padding-top:var(--py-s7)}.board__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.asof{font:var(--py-fs-sm) var(--py-font-mono);color:var(--py-text-muted);margin:0}
.fbar{display:flex;flex-wrap:wrap;gap:var(--py-s3) var(--py-s5);align-items:center;padding:var(--py-s3) 0;margin:var(--py-s3) 0;border-top:1px solid var(--py-border);border-bottom:1px solid var(--py-border)}
.seg{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.fbar__l{font:600 var(--py-fs-xs) var(--py-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--py-text-faint);margin-right:6px}
.seg button{font:500 var(--py-fs-sm) var(--py-font-sans);color:var(--py-text-muted);background:transparent;border:1px solid var(--py-border);border-radius:var(--py-r-pill);padding:5px 12px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--py-text);color:var(--py-bg);border-color:var(--py-text)}
.sort{margin-left:auto;font-size:var(--py-fs-sm);color:var(--py-text-muted);display:flex;gap:8px;align-items:center}.sort select{width:auto;padding:5px 10px}
.legend{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:var(--py-fs-xs);color:var(--py-text-muted);margin-bottom:var(--py-s4)}.legend span{display:flex;gap:8px;align-items:center}
.tablewrap{border:1px solid var(--py-border);border-radius:var(--py-r-lg);overflow-x:auto;background:var(--py-surface)}
.sb{width:100%;border-collapse:collapse;font-size:var(--py-fs-sm)}
.sb thead th{background:var(--py-surface-2);text-align:left;font:600 var(--py-fs-xs) var(--py-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--py-text-muted);padding:10px 12px;border-bottom:1px solid var(--py-border)}
.th-sort{all:unset;cursor:pointer;color:var(--py-text)}.th-sort:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--py-focus);border-radius:var(--py-r-sm)}
.sb td,.sb tbody th{padding:14px 12px;border-bottom:1px solid var(--py-border);vertical-align:top;text-align:left;font-weight:400;overflow-wrap:break-word}
.sb tbody tr:hover{background:var(--py-row-hover)}
.c-plan{width:17%}.c-plan .vchip{margin-bottom:6px}.plan-name{display:block;color:var(--py-text);font-weight:600;font-size:var(--py-fs-base);text-decoration:none;line-height:1.3}.plan-name:hover{text-decoration:underline}
.c-price{width:10%;white-space:nowrap}.price{font-size:22px;font-weight:600;letter-spacing:-.02em}.cur{font-size:.6em;color:var(--py-text-muted);vertical-align:.45em;margin-right:1px}
.per{font:var(--py-fs-xs) var(--py-font-mono);color:var(--py-text-faint);margin-left:2px}.price-note{display:block;font:var(--py-fs-xs)/1.35 var(--py-font-mono);color:var(--py-text-muted);white-space:normal;max-width:16ch;margin-top:2px}
.price--na{color:var(--py-text-faint)}
.c-lim{width:25%}.c-mech{width:12%}.c-over{width:15%;color:var(--py-text-muted)}.c-rep{width:8%}.c-st{width:13%}.srcline{margin-top:6px}
.row--warn .c-lim,.row--warn .price{color:var(--py-text-muted)}.row--unk td,.row--unk .plan-name{color:var(--py-text-faint)}
.row--unk{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(154,163,178,.04) 10px 20px)}
.board__foot{font-size:var(--py-fs-sm);color:var(--py-text-muted)}
.latest{padding-top:var(--py-s7)}.latest__l{list-style:none;padding:0;margin:var(--py-s3) 0 0;border:1px solid var(--py-border);border-radius:var(--py-r-lg);background:var(--py-surface)}
.latest__l li{display:grid;grid-template-columns:100px 110px 1fr auto;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--py-border);font-size:var(--py-fs-sm)}.latest__l li:last-child{border:0}.latest__l li>*{justify-self:start}.latest__l li>.badge{justify-self:end}
.latest__l time{color:var(--py-text-muted);font-size:var(--py-fs-xs)}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--py-s5);padding-top:var(--py-s7)}
.trust>div{border-top:2px solid var(--py-border-strong);padding-top:var(--py-s4)}.trust p{color:var(--py-text-muted);font-size:var(--py-fs-sm)}.trust a{font-size:var(--py-fs-sm);font-weight:600}
.foot{border-top:1px solid var(--py-border);margin-top:var(--py-s8);padding:var(--py-s6) 0 96px;font-size:var(--py-fs-sm);color:var(--py-text-muted)}
.foot__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.foot nav{display:flex;gap:20px;flex-wrap:wrap}.foot nav a{color:var(--py-text-muted)}
.crumbs{padding-top:var(--py-s5);font-size:var(--py-fs-sm);color:var(--py-text-faint)}.crumbs a{color:var(--py-text-muted)}
.pd>*,.tl li>*,.clist>*{min-width:0}.pd{display:grid;grid-template-columns:1fr 340px;gap:var(--py-s7);padding-top:var(--py-s5)}.pd__title{display:flex;gap:8px;margin-bottom:var(--py-s3)}
.pd__price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:var(--py-s4) 0 var(--py-s6)}.pd__price .price{font-size:56px}.pd__price .stamp{display:inline}
.facts{margin:0 0 var(--py-s7);border:1px solid var(--py-border);border-radius:var(--py-r-lg);background:var(--py-surface)}
.facts>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px 20px;border-bottom:1px solid var(--py-border)}.facts>div:last-child{border:0}
.facts dt{font:600 var(--py-fs-xs) var(--py-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--py-text-muted);padding-top:3px}.facts dd{margin:0}.facts dd p{margin:6px 0 0;color:var(--py-text-muted);font-size:var(--py-fs-sm)}
.empty{display:flex;gap:16px;border:1px dashed var(--py-border-strong);border-radius:var(--py-r-lg);padding:var(--py-s5);margin-bottom:var(--py-s7)}
.empty__ic{font:600 28px var(--py-font-mono);color:var(--py-text-faint)}.empty p{color:var(--py-text-muted);font-size:var(--py-fs-sm)}
.metrics{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0 16px}.metrics div{display:flex;flex-direction:column}.metrics span{font-size:var(--py-fs-xs);color:var(--py-text-faint)}.metrics b{font-size:var(--py-fs-lg);color:var(--py-text-faint)}
.tl{list-style:none;padding:0;margin:0;border-left:2px solid var(--py-border);margin-left:6px}.tl li{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:0 0 20px 18px;position:relative}
.tl li:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--py-bg);border:2px solid var(--py-border-strong)}
.tl time{font-size:var(--py-fs-xs);color:var(--py-text-muted);padding-top:2px}.tl p{margin:0 0 6px}
.card{background:var(--py-surface);border:1px solid var(--py-border);border-radius:var(--py-r-lg);padding:var(--py-s5);margin-bottom:var(--py-s5)}
.cmp{list-style:none;padding:0;margin:0}.cmp li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--py-border);font-size:var(--py-fs-sm)}.cmp li:last-child{border:0}
.cmp a{display:flex;flex-direction:column;gap:4px;color:var(--py-text);text-decoration:none;align-items:flex-start}
.pd__side .sub__f{flex-direction:column}
.page-h{padding-top:var(--py-s7)}.clist{display:grid;gap:12px}
.ce{background:var(--py-surface);border:1px solid var(--py-border);border-left:3px solid var(--py-border-strong);border-radius:var(--py-r);padding:16px 20px}
.ce__h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ce__h time{font-size:var(--py-fs-sm);color:var(--py-text-muted)}.ce__t{margin:10px 0 8px;font-size:var(--py-fs-md)}
.ce--diff{border-left-color:var(--py-accent)}.tag-example{font:700 11px var(--py-font-mono);letter-spacing:.06em;background:var(--py-accent);color:var(--py-on-accent);padding:2px 8px;border-radius:var(--py-r-sm)}
.diff{font:var(--py-fs-sm)/1.5 var(--py-font-mono);border:1px solid var(--py-border);border-radius:var(--py-r);overflow:hidden;margin-bottom:10px}
.diff__r{display:grid;grid-template-columns:80px 1fr 1fr;border-bottom:1px solid var(--py-border)}.diff__r:last-child{border:0}.diff__r>*{padding:8px 12px}
.diff__k{color:var(--py-text-faint)}del{background:var(--py-diff-del-bg);color:var(--py-diff-del);text-decoration:line-through}del:before{content:"− "}ins{background:var(--py-diff-add-bg);color:var(--py-diff-add);text-decoration:none}ins:before{content:"+ "}
.note{font-size:var(--py-fs-xs);color:var(--py-text-faint);margin:0}
.form fieldset{border:1px solid var(--py-border);border-radius:var(--py-r-lg);padding:var(--py-s5);margin:0 0 var(--py-s5);background:var(--py-surface)}
.form legend{font:600 var(--py-fs-xs) var(--py-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--py-text-muted);padding:0 8px}
.field{margin-bottom:var(--py-s4)}.field label,.lab{display:block;font-weight:600;font-size:var(--py-fs-sm);margin-bottom:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--py-s4)}
.hint{font-size:var(--py-fs-xs);color:var(--py-text-faint);margin:6px 0 0}abbr{color:var(--py-accent);text-decoration:none}
.is-error input{border-color:var(--py-diff-del);box-shadow:0 0 0 1px var(--py-diff-del)}.is-error .hint{color:var(--py-diff-del)}.is-error .hint:before{content:"✕ "}
.is-ok input{border-color:var(--py-ok)}.is-ok .hint{color:var(--py-ok)}.is-ok .hint:before{content:"✓ "}
.radios{display:flex;flex-wrap:wrap;gap:8px}.radios label{display:flex;gap:8px;align-items:center;border:1px solid var(--py-border-strong);border-radius:var(--py-r);padding:8px 12px;font-weight:500;margin:0}.radios input,.check input{width:auto;accent-color:var(--py-accent)}
.check{display:flex;gap:10px;font-size:var(--py-fs-sm);align-items:flex-start}
.form__act{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.status--ok{color:var(--py-ok);font-size:var(--py-fs-sm);margin:0}
.subpage{display:grid;grid-template-columns:1fr 1fr;gap:var(--py-s8);padding-top:var(--py-s8);align-items:start}.subpage h1{font-size:var(--py-fs-3xl)}
.ticks{list-style:none;padding:0;margin:var(--py-s5) 0}.ticks li{padding:6px 0 6px 28px;position:relative}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--py-ok);font-weight:700}
.sub__f--lg input,.sub__f--lg .btn{padding:14px 18px;font-size:var(--py-fs-md)}
.preview{background:var(--py-surface);border:1px solid var(--py-border);border-radius:var(--py-r-lg);padding:var(--py-s5);box-shadow:var(--py-shadow-2)}
.preview__bar{display:flex;justify-content:space-between;font-size:var(--py-fs-xs);color:var(--py-text-faint);border-bottom:1px solid var(--py-border);padding-bottom:12px;margin-bottom:16px;gap:8px}
.pv{padding:12px 0;border-bottom:1px solid var(--py-border)}.pv p{margin:8px 0;font-size:var(--py-fs-sm)}
@media (max-width:1024px){.hero__in,.pd,.subpage{grid-template-columns:1fr;gap:var(--py-s6)}.top .nav-desk{display:none}}
@media (max-width:900px){
.tablewrap:has(.sb){border:0;background:none;border-radius:0;overflow:visible}.sb,.sb tbody,.sb tr,.sb td,.sb tbody th{display:block;width:auto}.sb thead{display:none}
.sb tbody tr{background:var(--py-surface);border:1px solid var(--py-border);border-radius:var(--py-r-lg);margin-bottom:12px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:4px 12px}
.sb td,.sb tbody th{border:0;padding:0}.c-plan{grid-column:1}.c-price{grid-column:2;grid-row:1;text-align:right}.c-price .price-note{margin-left:auto;text-align:right}
.c-lim,.c-mech,.c-over,.c-rep,.c-st{grid-column:1/-1;display:grid!important;grid-template-columns:76px 1fr;gap:8px;padding-top:8px!important;border-top:1px solid var(--py-border)!important;margin-top:6px}
.sb td[data-label]:not(.c-price):before{content:attr(data-label);font:600 var(--py-fs-xs)/1.7 var(--py-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--py-text-faint)}
.c-st .srcline{grid-column:2;margin:0}.c-mech{align-items:start}
}
@media (max-width:760px){
.wrap{padding-left:var(--py-s4);padding-right:var(--py-s4)}.page-h{padding-top:var(--py-s6)}.subpage{padding-top:var(--py-s6)}h1,.hero h1,.subpage h1{font-size:34px}.hero__in{padding-top:var(--py-s6)}.hero__stats{gap:20px}
.sort{margin-left:0}.seg{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px}.seg button{flex:none}
.tablewrap{border:0;background:none;border-radius:0;overflow:visible}
.latest__l li{grid-template-columns:1fr auto;gap:6px 10px}.latest__l li>span:nth-of-type(2){grid-column:1/-1}.latest__l li>.badge{justify-self:start}
input,select,textarea,.sort select{font-size:16px}
.trust{grid-template-columns:1fr}.sub--footer{grid-template-columns:1fr}.sub__f{flex-direction:column}
.sticky-sub{left:12px;right:12px;transform:none;border-radius:var(--py-r-lg);font-size:12px;bottom:12px}
.top__in{gap:12px}.top .btn--sm{margin-left:auto}
.facts>div{grid-template-columns:1fr;gap:4px}.pd__price .price{font-size:44px}.grid2{grid-template-columns:1fr}.tl li{grid-template-columns:1fr;gap:2px}
.diff__r{grid-template-columns:1fr}.diff__k{padding-bottom:0!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media (max-width:900px){.sb td>*{justify-self:start}.chips{display:flex;flex-wrap:wrap}.sb .hero{} }
.hero{margin-bottom:0}.board{padding-top:var(--py-s7)}
body{font-variant-numeric:tabular-nums}
.nav-menu{display:none}
.dates{font:12px/1.5 var(--py-font-mono);color:var(--py-text-faint);margin:0 0 var(--py-s4)}
.answer{border-left:3px solid var(--py-link);padding:2px 0 2px 16px;margin:0 0 var(--py-s5)}
.answer p{margin:0;font-size:var(--py-fs-md);color:var(--py-text);max-width:68ch}
.prose{max-width:72ch}
.prose p,.prose li{color:var(--py-text-muted)}
.prose h2{margin-top:var(--py-s6)}
.keynums{padding-left:1.2em;max-width:72ch}
.keynums li{margin:8px 0}
.faq h3{font-size:var(--py-fs-md);margin-top:var(--py-s5)}
.faq p{max-width:72ch}
.cite{font:600 var(--py-fs-xs) var(--py-font-mono);background:none;border:0;padding:0;color:var(--py-link);cursor:pointer;text-decoration:underline;min-height:0}
.cite-line{font-size:var(--py-fs-xs);color:var(--py-text-faint);margin:8px 0 0}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--py-s5)}
.split>*{min-width:0}
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--py-s5);padding-top:var(--py-s6)}
.guides section h2{font-size:var(--py-fs-md)}
.guides ul{list-style:none;padding:0;margin:0}
.guides li{margin:6px 0}
.links{font-size:var(--py-fs-sm)}
.aka{color:var(--py-text-muted);font-size:var(--py-fs-sm);margin:0 0 var(--py-s4)}
.badge--stale{color:var(--py-warn);background:transparent;border-style:dashed;border-color:var(--py-warn)}
.sb tbody tr[hidden]{display:none !important}
.sticky-sub[hidden]{display:none !important}
.sticky-x{background:transparent;border:0;color:var(--py-text-muted);width:36px;height:36px;border-radius:var(--py-r-pill);cursor:pointer;font-size:18px}
.nav-menu summary{min-height:36px;display:flex;align-items:center;cursor:pointer;color:var(--py-text);font-weight:600;font-size:var(--py-fs-sm);list-style:none}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu__panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--py-surface);border:1px solid var(--py-border-strong);border-radius:var(--py-r);min-width:220px;padding:8px;box-shadow:var(--py-shadow-2);z-index:40;display:flex;flex-direction:column}
.nav-menu__panel a{color:var(--py-text);text-decoration:none;padding:10px 12px;min-height:36px;display:flex;align-items:center;border-radius:var(--py-r-sm)}
.nav-menu__panel a:hover{background:var(--py-surface-2)}
.top .nav-menu__panel{gap:0;flex:none}
.top .nav-menu__panel a{color:var(--py-text);font-size:var(--py-fs-base);font-weight:400}
.top .nav-menu__panel a[aria-current]{font-weight:600;padding-bottom:10px;margin-bottom:0;box-shadow:inset 3px 0 0 var(--py-accent)}
.lchip a{color:inherit;text-decoration:none}
.foot__in nav{max-width:640px}
.foot .links{margin-top:20px}
@media (max-width:1024px){
.top__in{position:relative}
.nav-menu{display:block;position:static;margin-left:auto}
.nav-menu__panel{right:var(--py-s5);max-width:calc(100vw - 2*var(--py-s4))}
}
@media (max-width:760px){
.guides{grid-template-columns:1fr}
.btn,.seg button,summary.menu-sum{min-height:36px}
.nav-menu__panel{right:var(--py-s4)}
}
@media (max-width:400px){
.top__in{gap:8px}
.top .btn--sm{padding:7px 10px;font-size:var(--py-fs-xs)}
}
@media (max-width:359px){
.top .btn--sm{display:none}
}
@media (max-height:500px){
html{scroll-padding-top:16px}
.top{position:static}
.sticky-sub{display:none !important}
}
@media (prefers-reduced-motion:reduce){
.live{box-shadow:none}
}
.recheck{color:var(--py-warn);font-weight:600}
.hp{display:none}
.wrap--flush{padding:0}
.field__err{color:var(--py-diff-del);font-size:var(--py-fs-sm);margin:6px 0 0}
[aria-invalid=true]{border-color:var(--py-diff-del)}
.cite{display:inline-flex;align-items:center;min-height:24px;min-width:24px;padding:0 4px}
.foot nav a,.foot .links a{display:inline-flex;align-items:center;min-height:24px}
.sub__f{flex-wrap:wrap}
.sub__f [role=status]{flex:0 0 100%;margin:0}
.sub__f{position:relative}
.sub__f [role=status]:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sub__f [role=status]:focus{outline:none;box-shadow:none}
.sub__f .btn:disabled{opacity:.6;cursor:default}
.sub__f.is-done input,.sub__f.is-done .btn,.sub__f.is-done .check{display:none}
.sub__f .check{flex:1 0 100%;margin:0}
.sub__f .check input{flex:none;width:auto;margin-top:3px}
.sub__f.is-done [role=status]{font-size:var(--py-fs-base);color:var(--py-text)}
#confirm-msg.is-done,#alert-confirm-msg.is-done,#alert-unsub-msg.is-done{font-size:var(--py-fs-base);color:var(--py-text)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.mlist{padding-left:1.2em;max-width:72ch}
.mlist li{margin:10px 0}
.mcharts{display:grid;grid-template-columns:1fr 1fr;gap:var(--py-s5);align-items:start;margin-bottom:var(--py-s6)}
.mfig{margin:0}
.mfig figcaption{font-size:var(--py-fs-sm);color:var(--py-text-muted);margin:0 0 8px}
.mchart{width:100%;height:auto;display:block;background:var(--py-surface);border:1px solid var(--py-border);border-radius:var(--py-r)}
.mchart__bg{fill:var(--py-surface)}
.mchart__grid{stroke:var(--py-border);stroke-width:1}
.mchart__label{fill:var(--py-text-muted);font-family:var(--py-font-mono);font-size:14px}
.mchart__value{fill:var(--py-text);font-family:var(--py-font-mono);font-size:15px;font-weight:600}
.mchart a:focus{outline:none;box-shadow:none}
.mchart a:focus-visible .mchart__dot{stroke:var(--py-text);stroke-width:3}
.mchart__bar--cursor,.mchart__dot--cursor{fill:var(--py-v-cursor)}
.mchart__bar--anthropic,.mchart__dot--anthropic{fill:var(--py-v-anthropic)}
.mchart__bar--openai,.mchart__dot--openai{fill:var(--py-v-openai)}
.mchart__bar--github,.mchart__dot--github{fill:var(--py-v-github)}
.mchart__bar--cognition,.mchart__dot--cognition{fill:var(--py-v-cognition)}
.mchart__bar--windsurf,.mchart__dot--windsurf{fill:var(--py-v-windsurf)}
.mchart__bar--google,.mchart__dot--google{fill:var(--py-v-google)}
.mchart__bar--aws,.mchart__dot--aws{fill:var(--py-v-aws)}
.mtable{width:100%;border-collapse:collapse}
.mtable caption{caption-side:bottom;text-align:left;padding:12px;color:var(--py-text-faint);font-size:var(--py-fs-sm)}
.mtable th,.mtable td{text-align:left;padding:12px;border-bottom:1px solid var(--py-border);vertical-align:top}
.mtable th{font-size:var(--py-fs-xs);color:var(--py-text-faint);font-weight:600}
.mflag{font:600 var(--py-fs-xs) var(--py-font-mono);margin-left:8px}
.mtable .vchip{margin-right:8px}
.mflag--increase{color:var(--py-diff-add)}
.mflag--cut{color:var(--py-diff-del)}
.mflag--other{color:var(--py-text-faint)}
.mnote{color:var(--py-text-faint);font-size:var(--py-fs-sm);max-width:72ch}
@media (max-width:1100px){
.mcharts{grid-template-columns:1fr}
.mfig{max-width:720px}
}
@media (max-width:760px){
.mchart__label{font-size:22px}
.mchart__value{font-size:24px}
.mchart__dot{r:8px}
.mtable,.mtable tbody,.mtable tr,.mtable td{display:block;width:auto}
.mtable thead{display:none}
.mtable{display:flex;flex-direction:column}
.mtable caption{display:block;order:1}
.mtable tr{padding:12px 16px;border-bottom:1px solid var(--py-border)}
.mtable td{padding:2px 0;border:0}
.mtable td[data-label]:before{content:attr(data-label);display:block;font:600 var(--py-fs-xs)/1.7 var(--py-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--py-text-faint)}
.tablewrap:has(.mtable){border:1px solid var(--py-border);border-radius:var(--py-r-lg);background:var(--py-surface)}
}
main :is(p,li,dd){overflow-wrap:anywhere}
main :is(p,ul,ol,dl,div,table,figure,article)+h2{margin-top:var(--py-s6)}
.preview h2{margin-top:0}
.tl{margin-bottom:var(--py-s6)}
.tl h3{font:600 var(--py-fs-base)/var(--py-lh) var(--py-font-sans);letter-spacing:0;margin:0 0 6px}
.card__h{font-size:var(--py-fs-md)}
.pd__side>*+*{margin-top:var(--py-s5)}
.ce__t{font:500 var(--py-fs-md)/1.35 var(--py-font-sans);letter-spacing:0}
@media (forced-colors:active){
.seg button[aria-pressed=true]{background:Highlight;color:HighlightText;border-color:Highlight}
}
.nowrap{white-space:nowrap}
#main:focus{outline:none;box-shadow:none}
.srcline .cite{padding:0;margin-top:2px}
.badge--info{color:var(--py-link);background:transparent;border-color:color-mix(in srgb,var(--py-link) 45%,transparent)}
.status-note{display:block;color:var(--py-text-muted);white-space:normal}
.legacy{width:100%;border-collapse:collapse;font-size:var(--py-fs-sm)}
.legacy th,.legacy td{text-align:left;vertical-align:top;padding:8px;border-bottom:1px solid var(--py-border)}
.upcoming ul{padding-left:1.2em}
.upcoming li{margin:8px 0}
@media (max-width:600px){.legacy thead{display:none}.legacy tr{display:block;padding:8px 0;border-bottom:1px solid var(--py-border)}.legacy th,.legacy td{display:block;border:0;padding:2px 0}.legacy td::before{content:attr(data-label) ": ";color:var(--py-text-faint)}}
.hero--home .hero__in{padding-top:var(--py-s5);padding-bottom:var(--py-s4);align-items:center}
.hero--home h1{font-size:44px;max-width:20ch;text-wrap:balance}
.hero--home .lede{font-size:var(--py-fs-base);margin:0}
.hero--home .eyebrow{margin-bottom:var(--py-s3)}
.hero--home .hero__stats{margin-top:var(--py-s4);gap:var(--py-s5)}
.hero--home .hero__stats b{font-size:var(--py-fs-lg)}
.hero--home .sub--hero{padding:var(--py-s4) var(--py-s5)}
.pulse{display:grid;gap:var(--py-s3);padding-top:var(--py-s4)}
.pulse--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wk__l .vchip{flex:none}
@media (min-width:1025px){.pulse--two .wk{position:relative}.pulse--two .wk__more{position:absolute;top:10px;right:16px}}
.wk{border:1px solid var(--py-border);border-radius:var(--py-r-lg);background:var(--py-surface);padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0}
.wk__h{font:600 11px var(--py-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--py-text-faint);margin:0}
.wk__span{text-transform:none;letter-spacing:0;color:var(--py-text-muted);margin-left:4px}
.wk__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:var(--py-fs-sm);min-width:0}
.wk__l li{display:flex;align-items:center;gap:8px;min-width:0}
.wk__l time{font-size:var(--py-fs-xs);color:var(--py-text-muted)}
.wk__note{margin:0;font-size:var(--py-fs-xs);color:var(--py-text-muted);width:100%}
.wk__none{margin:0;font-size:var(--py-fs-sm);color:var(--py-text-muted)}
.wk__more{display:none;font-size:var(--py-fs-sm)}
.wk--many .wk__l li:nth-child(n+4){display:none}
.wk--many .wk__more{display:inline}
.wk time{white-space:nowrap}
.pulse--two .wk{align-content:start}
.pulse--two .wk__l{flex-direction:column;gap:4px;width:100%}
.pulse--two .wk__l li{align-items:baseline}
.wk--page{margin:0 0 var(--py-s4)}
.dir{font:600 12px var(--py-font-mono)}
.dir--increase{color:var(--py-diff-add)}
.dir--cut{color:var(--py-diff-del)}
.dir--other{color:var(--py-text-faint)}
.hero--home + .pulse + .board,.pulse + .board{padding-top:var(--py-s5)}
.board__head h2{margin:0}
.fbar{margin:var(--py-s2) 0 var(--py-s3);padding:var(--py-s2) 0}
#count{white-space:nowrap}
.tablewrap--board{overflow:hidden;overflow:clip}
.sb{table-layout:fixed}
.sb thead th{position:sticky;top:61px;z-index:2}
.sb .c-plan{width:18%}
.sb .c-price{width:11%}
.sb .c-lim{width:27%}
.sb .c-mech{width:12%}
.sb .c-over{width:17%}
.sb .c-st{width:15%}
.sb td,.sb tbody th{padding:10px 12px;overflow-wrap:anywhere}
.sb .c-plan .vchip{margin-bottom:4px}
.sb .src{word-break:normal;overflow-wrap:anywhere}
.sb .srcline{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline;margin-top:4px}
.sb .srcline .stamp{display:inline}
.chg{display:inline-flex;align-items:center;gap:5px;margin-top:3px;font:500 11px var(--py-font-mono);color:var(--py-link);text-decoration:none}
.chg::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.chg:hover{text-decoration:underline}
.chg--old{display:none}
.sb.by-change .chg--old{display:inline-flex;color:var(--py-text-muted)}
.sb-note{font-size:var(--py-fs-sm);color:var(--py-text-muted);margin:var(--py-s2) 0 var(--py-s3)}
.empty-row td{padding:var(--py-s5) var(--py-s4);text-align:center;color:var(--py-text-muted)}
.empty-row .btn{margin-left:8px}
.th-arrow{margin-left:2px}
.latest__note{font-size:var(--py-fs-sm);color:var(--py-text-muted);margin:0}
.mvals{display:inline-block}
.mname{color:var(--py-text-muted)}
#plan-other-field[hidden]{display:none}
@media (min-width:761px) and (max-width:900px){
.sb .c-plan,.sb .c-price,.sb .c-lim,.sb .c-mech,.sb .c-over,.sb .c-st{width:auto}
.sb td,.sb tbody th{padding:0}
.sb .chg{display:flex;width:max-content}
.sb .chg--old{display:none}
.sb.by-change .chg--old{display:flex}
.empty-row td{display:block;grid-column:1/-1}
}
@media (max-width:1024px){
.pulse--two{grid-template-columns:1fr}
.sb .badge,.sb .c-price,.sb .lchip{white-space:normal}
.sb .price{font-size:19px}
}
@media (min-width:900px) and (max-width:1024px){
.hero--home .hero__in{grid-template-columns:1.3fr 1fr}
}
@media (min-width:761px) and (max-width:899px){
.hero--home .sub--hero .sub__p{display:none}
}
@media (max-width:760px){
.hero--home .hero__in{padding-top:var(--py-s3);padding-bottom:var(--py-s4);gap:0}
.hero--home .eyebrow,.asof__sort{display:none}
.hero--home h1{font-size:30px;max-width:none}
.hero--home .lede{display:none}
.hero--home .hero__stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px;margin-top:var(--py-s3)}
.hero--home .hero__stats span{font-size:11px;line-height:1.3}
.hero--home .hero__stats b{font-size:var(--py-fs-md)}
.hero--home .sub--hero{display:none}
.pulse{padding-top:var(--py-s3)}
.wk{padding:8px 12px;gap:4px 12px}
.wk__l{flex-direction:column;gap:4px;width:100%}
.wk__l li{width:100%}
.wk__l li a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.wk:not(.wk--page) .wk__l li:nth-child(n+2){display:none}
.wk--up:not(.wk--page) .wk__l li{align-items:baseline}
.wk--up:not(.wk--page) .wk__l li>span:not(.vchip){flex:1 1 auto;min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.wk--up:not(.wk--page) .wk__l li>span:not(.vchip) .src{display:block;width:max-content;max-width:100%}
.wk__more{display:inline;order:1;margin-left:auto;font-size:var(--py-fs-xs)}
.wk__l{order:2}
.pulse + .board{padding-top:var(--py-s4)}
.fbar{gap:8px 12px;margin:var(--py-s2) 0}
.seg{flex-wrap:wrap;overflow-x:visible;gap:4px;width:100%}
.seg button{padding:4px 7px;font-size:var(--py-fs-xs)}
.fbar__l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.board__head h2{font-size:24px}
.asof{font-size:var(--py-fs-xs)}
.sb .c-plan,.sb .c-price,.sb .c-lim,.sb .c-mech,.sb .c-over,.sb .c-st{width:auto}
.sb tbody tr{padding:12px 14px;gap:2px 12px}
.sb td,.sb tbody th{padding:0;overflow-wrap:anywhere}
.c-lim,.c-mech,.c-over,.c-st{display:block!important;padding-top:6px!important;border-top:0!important;margin-top:2px}
.sb td.c-lim[data-label]:before,.sb td.c-mech[data-label]:before,.sb td.c-st[data-label]:before{display:none}
.sb .c-over{font-size:var(--py-fs-xs)}
.sb td.c-over[data-label]:before{content:"Overage: ";font:inherit;text-transform:none;letter-spacing:0;color:var(--py-text-faint)}
.sb .c-plan .vchip{margin:0 6px 2px 0;vertical-align:1px}
.sb .plan-name{display:inline}
.sb .chg{display:flex;width:max-content}
.sb .c-st{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 8px;border-top:1px solid var(--py-border)!important;padding-top:8px!important;margin-top:6px}
.sb .c-st .srcline{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin:0}
.sb .c-st .stamp{display:inline}
.sb .chg--old{display:none}
.sb.by-change .chg--old{display:flex}
.empty-row td{display:block;grid-column:1/-1}
.sb td.c-price:has(.price-note){display:contents}
.sb td.c-price:has(.price-note) .price{grid-column:2;grid-row:1;justify-self:end;align-self:start}
.sb td.c-price:has(.price-note) .price-note{grid-column:1/-1;grid-row:2;max-width:none;margin:0 0 4px;text-align:left}
}
.cite-text--shown{display:block;margin-top:4px;font:12px/1.4 var(--py-font-mono);color:var(--py-text-muted);user-select:all;overflow-wrap:anywhere}
.calc fieldset{min-width:0}
.calc .radios label{flex:0 1 auto;min-width:0}
.calc .check{margin-top:var(--py-s2)}
.calc-out{margin:var(--py-s6) 0}
.calc-why{max-width:72ch}
.calc-best{font-weight:600}
.calc-list{list-style:none;padding:0;margin:0 0 var(--py-s5);display:grid;gap:12px}
.calc-card{border:1px solid var(--py-border);border-radius:var(--py-r-lg);background:var(--py-surface);padding:16px;min-width:0}
.calc-card--best{border-color:var(--py-accent)}
.calc-card__top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 4px}
.calc-tag{font:600 var(--py-fs-xs) var(--py-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--py-text-faint)}
.calc-pill{font:600 var(--py-fs-xs) var(--py-font-mono);background:var(--py-accent);color:var(--py-on-accent);padding:2px 8px;border-radius:var(--py-r-sm)}
.calc-card__h{margin:0 0 4px;font-size:var(--py-fs-md)}
.calc-price{margin:0 0 8px;font-weight:600}
.calc-dl{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:6px 12px;margin:0;font-size:var(--py-fs-sm)}
.calc-dl dt{color:var(--py-text-faint);font-weight:600}
.calc-dl dd{margin:0;overflow-wrap:anywhere;min-width:0}
.calc-dl .mnote{display:block;margin-top:2px}
.calc-undone{color:var(--py-diff-del)}
.calc-flags{margin:8px 0 0;padding-left:18px;font-size:var(--py-fs-sm);color:var(--py-text-muted)}
.calc-left summary{cursor:pointer;font-weight:600}
.hero__cta{margin:12px 0 0}
@media (max-width:560px){
.calc-dl{grid-template-columns:minmax(0,1fr)}
.calc-dl dd{margin-bottom:6px}
}
