:root{color-scheme:dark;--c-bg: #0B0B12;--c-surface: #13131C;--c-surface-2: #1A1A26;--c-surface-3: #232334;--c-code-bg: #0F0F18;--c-line-subtle: #262636;--c-line: #3A3A52;--c-line-strong: #757590;--c-text: #F2F2F7;--c-text-body: #D9D9E3;--c-text-2: #B8B8CA;--c-text-3: #9393AA;--c-disabled-text: #8A8AA0;--c-accent: #FF5C9E;--c-accent-hover: #FF7DB2;--c-on-accent: #0B0B12;--c-link: #F9A8D4;--c-link-hover: #FFD0E7;--c-focus: #F9A8D4;--c-ok: #4ADE80;--c-ok-bg: #10261A;--c-warn: #FBBF24;--c-warn-bg: #2A2110;--c-bad: #F87171;--c-bad-bg: #2C1416;--c-info: #7DD3FC;--c-info-bg: #0F2130;--c-col-free: #2DD4BF;--c-col-reviews: #4E9BFF;--c-col-lab: #C4B5FD;--c-col-ops: #F97316;--c-code-text: #E4E4EE;--c-code-comment: #8C8CA6;--c-code-key: #F9A8D4;--c-code-str: #86EFAC;--c-code-num: #FDBA74;--grad-brand: linear-gradient(120deg, #FF7A1A 0%, #FF2E88 55%, #7B5CFF 100%);--c-bg-rgb: 11 11 18;--c-surface-rgb: 19 19 28;--c-surface-2-rgb: 26 26 38;--c-surface-3-rgb: 35 35 52;--c-code-bg-rgb: 15 15 24;--c-line-subtle-rgb: 38 38 54;--c-line-rgb: 58 58 82;--c-line-strong-rgb: 117 117 144;--c-text-rgb: 242 242 247;--c-text-body-rgb: 217 217 227;--c-text-2-rgb: 184 184 202;--c-text-3-rgb: 147 147 170;--c-disabled-text-rgb: 138 138 160;--c-accent-rgb: 255 92 158;--c-accent-hover-rgb: 255 125 178;--c-on-accent-rgb: 11 11 18;--c-link-rgb: 249 168 212;--c-link-hover-rgb: 255 208 231;--c-focus-rgb: 249 168 212;--c-ok-rgb: 74 222 128;--c-ok-bg-rgb: 16 38 26;--c-warn-rgb: 251 191 36;--c-warn-bg-rgb: 42 33 16;--c-bad-rgb: 248 113 113;--c-bad-bg-rgb: 44 20 22;--c-info-rgb: 125 211 252;--c-info-bg-rgb: 15 33 48;--c-col-free-rgb: 45 212 191;--c-col-reviews-rgb: 78 155 255;--c-col-lab-rgb: 196 181 253;--c-col-ops-rgb: 249 115 22;--c-code-text-rgb: 228 228 238;--c-code-comment-rgb: 140 140 166;--c-code-key-rgb: 249 168 212;--c-code-str-rgb: 134 239 172;--c-code-num-rgb: 253 186 116;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "WenQuanYi Micro Hei", sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", "Noto Sans Mono CJK SC", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--fs-display: 52px;--lh-display: 1.2;--fs-h1: 40px;--lh-h1: 1.25;--fs-h2: 28px;--lh-h2: 1.35;--fs-h3: 20px;--lh-h3: 1.5;--fs-h4: 17px;--lh-h4: 1.55;--fs-lead: 19px;--lh-lead: 1.7;--fs-body: 17px;--lh-body: 1.85;--fs-ui: 15px;--lh-ui: 1.6;--fs-sm: 14px;--lh-sm: 1.65;--fs-xs: 13px;--lh-xs: 1.5;--fs-2xs: 12px;--lh-2xs: 1.4;--fs-code: .9em;--fs-code-block: 14px;--lh-code: 1.7;--ls-tight: -.01em;--ls-kicker: .08em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--w-page: 1200px;--w-wide: 960px;--w-prose: 720px;--gutter: 24px;--nav-h: 64px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--bw: 1px;--bw-strong: 2px;--bd-subtle: var(--bw) solid var(--c-line-subtle);--bd: var(--bw) solid var(--c-line);--bd-ui: var(--bw) solid var(--c-line-strong);--shadow-pop: 0 12px 32px -12px rgb(0 0 0 / .7);--glow-accent: 0 0 0 1px rgb(var(--c-accent-rgb) / .55), 0 8px 28px -10px rgb(var(--c-accent-rgb) / .45);--glow-col: 0 0 0 1px currentColor;--ring-focus: 0 0 0 2px var(--c-bg), 0 0 0 4px var(--c-focus);--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--ease: cubic-bezier(.2, .8, .2, 1);--z-nav: 40;--z-pop: 50}@media (max-width: 640px){:root{--fs-display: 34px;--fs-h1: 30px;--fs-h2: 22px;--fs-h3: 18px;--fs-lead: 16px;--fs-body: 16px;--lh-body: 1.8;--fs-code-block: 13px;--gutter: 20px;--nav-h: 56px}}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}:root{--col-tint-a: .12;--col-border-a: .6;--col-bar-w: 4px;--col-card-bar-w: 3px;--fs-col-title: 48px;--lh-col-title: 1.15;--fs-eyebrow: 13px;--btn-h: 44px;--btn-px: 20px;--link-muted-h: 44px;--fs-aff-note: 13px;--header-h: 65px;--subnav-h: 48px;--scroll-offset: calc(var(--header-h) + var(--subnav-h) + 16px)}@media (max-width: 640px){:root{--fs-col-title: 34px;--lh-col-title: 1.2;--btn-h: 48px;--header-h: 101px;--subnav-h: 45px}}[data-col=free-resources]{--col: var(--c-col-free);--col-rgb: var(--c-col-free-rgb)}[data-col=reviews]{--col: var(--c-col-reviews);--col-rgb: var(--c-col-reviews-rgb)}[data-col=deploy-lab]{--col: var(--c-col-lab);--col-rgb: var(--c-col-lab-rgb)}[data-col=overseas-ops]{--col: var(--c-col-ops);--col-rgb: var(--c-col-ops-rgb)}html{background:var(--c-bg)}html body{margin:0;background:var(--c-bg);color:var(--c-text-body);font-family:var(--font-sans);font-size:var(--fs-ui);line-height:var(--lh-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--r-xs)}::-moz-selection{background:rgb(var(--c-accent-rgb) / .35);color:var(--c-text)}::selection{background:rgb(var(--c-accent-rgb) / .35);color:var(--c-text)}:root{--bg: var(--c-bg);--bg-glass: rgb(var(--c-bg-rgb) / .88);--surface: var(--c-surface);--surface-2: var(--c-surface-2);--surface-3: var(--c-surface-3);--border: var(--c-line);--border-strong: var(--c-line-strong);--text: var(--c-text);--text-body: var(--c-text-body);--text-2: var(--c-text-2);--text-3: var(--c-text-3);--accent: var(--c-accent);--accent-soft: rgb(var(--c-accent-rgb) / .55);--link: var(--c-link);--link-hover: var(--c-link-hover);--term: var(--c-ok);--ok: var(--c-ok);--warn: var(--c-warn);--bad: var(--c-bad);--grad: var(--grad-brand);--radius-card: var(--r-lg)}.wrap{max-width:calc(var(--w-page) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.sec{padding:var(--sp-16) 0;border-top:var(--bd-subtle)}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.sec-h h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-h2);color:var(--c-text);font-weight:var(--fw-bold)}.kicker{margin:0 0 var(--sp-3);font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono);letter-spacing:var(--ls-kicker);color:var(--c-ok)}.kicker:before{content:"$ ";color:var(--c-text-3)}.meta{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--c-text-3)}.mono{font-family:var(--font-mono)}.nav{position:sticky;top:0;z-index:var(--z-nav);background:rgb(var(--c-bg-rgb) / .88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--bd-subtle)}.nav__in{display:flex;align-items:center;gap:var(--sp-8);height:var(--nav-h)}.nav__logo{display:flex;align-items:center;gap:10px;color:var(--c-text);font-weight:var(--fw-heavy);font-size:20px;letter-spacing:-.02em;text-decoration:none}.nav__logo b{font-weight:inherit}.nav__logo i{font-style:normal;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.nav__links{display:flex;gap:var(--sp-1)}.nav__links a{padding:6px 10px;border-radius:var(--r-md);font-size:var(--fs-ui);color:var(--c-text-2);text-decoration:none;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.nav__links a:hover{color:var(--c-text);background:var(--c-surface-2)}.nav__links a[aria-current=page]{color:var(--c-text);box-shadow:inset 0 -2px 0 var(--col, var(--c-accent));border-radius:var(--r-md) var(--r-md) 0 0}.nav__r{margin-left:auto;display:flex;gap:var(--sp-2)}@media (max-width: 1023px){.nav__in{gap:var(--sp-4)}.nav__links{order:3;position:absolute;left:0;right:0;top:var(--nav-h);padding:0 var(--gutter) var(--sp-2);overflow-x:auto;white-space:nowrap;background:rgb(var(--c-bg-rgb) / .95);border-bottom:var(--bd-subtle);scrollbar-width:none}.nav{margin-bottom:44px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-5);border-radius:var(--r-md);border:var(--bw) solid transparent;font:var(--fw-semibold) var(--fs-ui)/1 var(--font-sans);text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}.btn--primary{background:var(--c-accent);color:var(--c-on-accent)}.btn--primary:hover{background:var(--c-accent-hover)}.btn--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-line-strong)}.btn--secondary:hover{background:var(--c-surface-2);border-color:var(--c-text-3)}.btn--sm{height:36px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn:disabled,.btn[aria-disabled=true]{background:var(--c-surface);color:var(--c-disabled-text);border:var(--bw) dashed var(--c-line);cursor:not-allowed}.link{color:var(--c-link);text-decoration:underline;text-decoration-color:rgb(var(--c-link-rgb) / .45);text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease)}.link:hover{color:var(--c-link-hover);text-decoration-color:currentColor}.link--quiet{text-decoration:none;font-weight:var(--fw-semibold)}.link--quiet:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-sm);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-sans);white-space:nowrap;vertical-align:2px;border:var(--bw) solid}.badge svg{width:12px;height:12px;flex:none}.badge--ok{color:var(--c-ok);background:var(--c-ok-bg);border-style:solid}.badge--warn{color:var(--c-warn);background:var(--c-warn-bg);border-style:dashed}.badge--bad{color:var(--c-bad);background:var(--c-bad-bg);border-width:var(--bw-strong);font-weight:var(--fw-bold)}.badge--neutral{color:var(--c-text-2);background:var(--c-surface-2);border-color:var(--c-line);font-weight:var(--fw-medium)}.tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r-full);border:var(--bd);font-size:var(--fs-xs);color:var(--c-text-2);text-decoration:none}.tag:hover{color:var(--c-text);border-color:var(--c-line-strong)}.col-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.col-card{position:relative;display:flex;flex-direction:column;padding:var(--sp-5);background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);color:inherit;text-decoration:none;overflow:hidden;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.col-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--col)}.col-card:hover{border-color:rgb(var(--col-rgb) / .7);transform:translateY(-2px)}.col-card:focus-visible{outline:none;box-shadow:var(--ring-focus)}.col-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.col-card__icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--col);background:rgb(var(--col-rgb) / .1);border:var(--bw) solid rgb(var(--col-rgb) / .35)}.col-card__count{font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--col)}.col-card h3{margin:0 0 var(--sp-2);font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--c-text)}.col-card p{margin:0 0 var(--sp-4);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--c-text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(var(--lh-sm) * 3em);flex:none}.col-card__foot{margin-top:auto;padding-top:var(--sp-3);border-top:var(--bd-subtle);font-size:var(--fs-xs);line-height:1.55;color:var(--c-text-body)}.col-card__foot .meta{display:block;margin-bottom:2px}.post-list{display:grid;gap:0;border-top:var(--bd)}.post-item{display:grid;grid-template-columns:1fr auto;gap:var(--sp-2) var(--sp-6);padding:var(--sp-5) 0;border-bottom:var(--bd);color:inherit;text-decoration:none}.post-item__col{font:var(--fw-medium) var(--fs-xs)/1 var(--font-mono);color:var(--col)}.post-item h3{margin:var(--sp-2) 0 var(--sp-1);font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--c-text);transition:color var(--dur-fast) var(--ease)}.post-item:hover h3{color:var(--c-link)}.post-item p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--c-text-2);max-width:68ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-item__date{font:var(--fs-xs)/1 var(--font-mono);color:var(--c-text-3);white-space:nowrap;padding-top:2px}.rtable-wrap{background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);overflow:hidden}.rtable-wrap:before{content:"";display:block;height:2px;background:var(--grad-brand)}.rtable-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2) var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:var(--bd)}.rtable-head h3{margin:0;font-weight:var(--fw-bold);font-size:var(--fs-h3);color:var(--c-text)}.rtable-scroll{overflow-x:auto}.rtable{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--c-text-body)}.rtable th,.rtable td{padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:top;border-bottom:var(--bd)}.rtable thead th{position:sticky;top:0;background:var(--c-surface-2);color:var(--c-text-2);font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-bottom:var(--bw) solid var(--c-line-strong)}.rtable tbody th{color:var(--c-text);font-weight:var(--fw-semibold);white-space:nowrap}.rtable td+td,.rtable th+td{border-left:var(--bd)}.rtable tbody tr:hover>*{background:rgb(var(--c-surface-2-rgb) / .6)}.rtable tbody tr:last-child>*{border-bottom:0}.rtable .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.rtable a{color:var(--c-text);text-decoration:none}.rtable a:hover{color:var(--c-link);text-decoration:underline}.rtable-foot{padding:var(--sp-3) var(--sp-5);border-top:var(--bd);font-size:var(--fs-xs);color:var(--c-text-3)}.rtable-foot b{font-family:var(--font-mono);color:var(--c-ok);font-weight:var(--fw-medium);margin-right:6px}@media (max-width: 640px){.rtable thead{display:none}.rtable,.rtable tbody,.rtable tr,.rtable th,.rtable td{display:block;width:auto}.rtable tr{padding:var(--sp-4) var(--sp-4);border-bottom:var(--bd)}.rtable tbody tr:last-child{border-bottom:0}.rtable th,.rtable td{padding:0;border:0!important;white-space:normal}.rtable tbody th{font-size:var(--fs-h4);margin-bottom:var(--sp-2)}.rtable td{display:grid;grid-template-columns:76px 1fr;gap:var(--sp-3);padding:4px 0}.rtable td:before{content:attr(data-label);font:var(--fs-2xs)/1.9 var(--font-mono);color:var(--c-text-3)}.rtable .num{text-align:left}.rtable tbody tr:hover>*{background:none}}.callout{display:grid;grid-template-columns:20px 1fr;gap:var(--sp-3);margin:var(--sp-6) 0;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);border:var(--bw) solid;border-left-width:4px;font-size:var(--fs-ui);line-height:1.75;color:var(--c-text-body)}.callout>svg{width:20px;height:20px;margin-top:3px}.callout__title{display:block;margin-bottom:2px;font-weight:var(--fw-bold);color:var(--c-text)}.callout p{margin:0!important;color:inherit!important}.callout--verify{background:var(--c-ok-bg);border-color:rgb(var(--c-ok-rgb) / .5);color:var(--c-text-body)}.callout--verify>svg{color:var(--c-ok)}.callout--note{background:var(--c-info-bg);border-color:rgb(var(--c-info-rgb) / .5)}.callout--note>svg{color:var(--c-info)}.callout--warn{background:var(--c-warn-bg);border-color:rgb(var(--c-warn-rgb) / .55);border-style:dashed;border-left-style:solid}.callout--warn>svg{color:var(--c-warn)}.callout--risk{background:var(--c-bad-bg);border-color:rgb(var(--c-bad-rgb) / .6)}.callout--risk>svg{color:var(--c-bad)}.steps{list-style:none;counter-reset:step;margin:var(--sp-6) 0;padding:0}.steps>li{counter-increment:step;position:relative;padding:0 0 var(--sp-6) 52px}.steps>li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--c-surface-2);border:var(--bw) solid var(--col, var(--c-col-ops));color:var(--col, var(--c-col-ops));font:var(--fw-bold) var(--fs-sm)/1 var(--font-mono)}.steps>li:after{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:var(--c-line)}.steps>li:last-child{padding-bottom:0}.steps>li:last-child:after{display:none}.steps__title{display:block;padding-top:5px;margin-bottom:var(--sp-1);font-size:var(--fs-h4);font-weight:var(--fw-bold);color:var(--c-text)}.steps__meta{display:inline-block;margin-left:var(--sp-2);font:var(--fs-2xs)/1 var(--font-mono);color:var(--c-text-3)}.steps>li p{margin:0;color:var(--c-text-body);font-size:var(--fs-ui);line-height:1.75}.checklist{list-style:none;margin:var(--sp-4) 0;padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.checklist li{position:relative;padding:6px 0 6px 30px;color:var(--c-text-body)}.checklist li:before{content:"";position:absolute;left:0;top:10px;width:16px;height:16px;border:var(--bw-strong) solid var(--c-line-strong);border-radius:var(--r-xs)}.checklist li+li{border-top:var(--bd-subtle)}.cost{width:100%;border-collapse:collapse;margin:var(--sp-4) 0;font-size:var(--fs-sm);background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);overflow:hidden}.cost th,.cost td{padding:10px var(--sp-4);border-bottom:var(--bd);text-align:left;color:var(--c-text-body)}.cost thead th{background:var(--c-surface-2);color:var(--c-text-2);font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono)}.cost .amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--c-text)}.cost tfoot td{font-weight:var(--fw-bold);color:var(--c-text);border-bottom:0;border-top:var(--bw) solid var(--c-line-strong)}.cost-note{margin:calc(-1 * var(--sp-2)) 0 var(--sp-4)!important;font-size:var(--fs-xs)!important;line-height:var(--lh-xs)!important;color:var(--c-text-3)!important}.post table.cost{display:table;width:100%;max-width:none;border-collapse:separate;border-spacing:0}.post table.cost tbody tr:nth-child(2n) td{background:none}.cost td .badge,.rtable td .badge{margin-right:6px}.plan-card{display:flex;flex-direction:column;padding:var(--sp-5);background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.plan-card__prov{font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono);color:var(--col, var(--c-col-ops))}.plan-card h3{margin:var(--sp-1) 0 var(--sp-3);font-weight:var(--fw-bold);font-size:var(--fs-h3);color:var(--c-text)}.plan-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px var(--sp-3);margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.plan-card dt{color:var(--c-text-3)}.plan-card dd{margin:0;color:var(--c-text-body)}.plan-card dl.sim-facts{display:grid;grid-template-columns:1fr;gap:var(--sp-2);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--c-surface-2);border-radius:var(--r-md)}@media (min-width: 640px){.plan-card dl.sim-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}}.sim-facts__item{min-width:0}.sim-facts__item dt{font-size:var(--fs-xs)}.sim-facts__item dd{overflow-wrap:anywhere;line-height:1.5}.plan-card dd.amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--c-text)}.plan-card__foot{margin-top:auto;padding-top:var(--sp-3);border-top:var(--bd-subtle);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.plan-card__aff{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--btn-h);padding:0 var(--btn-px);border-radius:var(--r-md);border:var(--bw) solid transparent;background:var(--c-accent);color:var(--c-on-accent);font:var(--fw-semibold) var(--fs-ui)/1 var(--font-sans);text-decoration:none;transition:background-color var(--dur) var(--ease)}.plan-card__aff:hover{background:var(--c-accent-hover);color:var(--c-on-accent)}.plan-card__aff:focus-visible{outline:none;box-shadow:var(--ring-focus)}.post .code-block>.code-copy,.post .code-block>.code-lang{z-index:1}.post{max-width:var(--w-prose);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text-body)}.post>:first-child{margin-top:0}.post h2{margin:var(--sp-12) 0 var(--sp-4);padding-top:var(--sp-6);border-top:var(--bd-subtle);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-bold);color:var(--c-text);scroll-margin-top:calc(var(--nav-h) + 16px)}.post h3{margin:var(--sp-8) 0 var(--sp-3);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-bold);color:var(--c-text);scroll-margin-top:calc(var(--nav-h) + 16px)}.post h4{margin:var(--sp-6) 0 var(--sp-2);font-weight:var(--fw-semibold);font-size:var(--fs-h4);color:var(--c-text)}.post p{margin:var(--sp-4) 0}.post ul,.post ol{margin:var(--sp-4) 0;padding-left:1.5em}.post li{margin:var(--sp-2) 0}.post li::marker{color:var(--c-text-3)}.post strong{color:var(--c-text);font-weight:var(--fw-bold)}.post a{color:var(--c-link);text-decoration:underline;text-decoration-color:rgb(var(--c-link-rgb) / .45);text-underline-offset:3px}.post a:hover{color:var(--c-link-hover);text-decoration-color:currentColor}.post blockquote{margin:var(--sp-6) 0;padding:var(--sp-3) var(--sp-5);background:var(--c-surface);border:var(--bd);border-left:4px solid var(--c-line-strong);border-radius:0 var(--r-lg) var(--r-lg) 0;color:var(--c-text-body)}.post blockquote p{margin:var(--sp-2) 0}.post hr{margin:var(--sp-10) 0;border:0;border-top:var(--bd)}.post img{display:block;max-width:100%;height:auto;margin:var(--sp-6) 0;border-radius:var(--r-lg);border:var(--bd)}.post code{padding:.12em .4em;border-radius:var(--r-xs);background:var(--c-surface-2);border:var(--bw) solid var(--c-line);color:var(--c-code-text);font:var(--fs-code)/1.5 var(--font-mono);overflow-wrap:anywhere}.post pre{position:relative;margin:var(--sp-6) 0;padding:var(--sp-4) var(--sp-5);background:var(--c-code-bg);border:var(--bd);border-radius:var(--r-md);overflow-x:auto;font:var(--fs-code-block)/var(--lh-code) var(--font-mono);color:var(--c-code-text);-moz-tab-size:2;-o-tab-size:2;tab-size:2}.post pre code{padding:0;background:none;border:0;font:inherit;overflow-wrap:normal}.post pre[data-lang]:before{content:attr(data-lang);position:absolute;top:8px;right:12px;font:var(--fs-2xs)/1 var(--font-mono);color:var(--c-text-3);text-transform:lowercase}.post .tok-c{color:var(--c-code-comment)}.post .tok-k{color:var(--c-code-key)}.post .tok-s{color:var(--c-code-str)}.post .tok-n{color:var(--c-code-num)}.post table{display:block;width:-moz-max-content;width:max-content;max-width:100%;overflow-x:auto;margin:var(--sp-6) 0;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);line-height:var(--lh-sm);border:var(--bd);border-radius:var(--r-lg)}.post th,.post td{padding:10px var(--sp-4);text-align:left;vertical-align:top;border-bottom:var(--bd)}.post td+td,.post th+th{border-left:var(--bd)}.post thead th{background:var(--c-surface-2);color:var(--c-text);font-weight:var(--fw-semibold);border-bottom-color:var(--c-line-strong);white-space:nowrap}.post tbody tr:last-child td{border-bottom:0}.post tbody tr:nth-child(2n) td{background:rgb(var(--c-surface-rgb) / .7)}.footer{margin-top:var(--sp-16);border-top:var(--bd-subtle);padding:var(--sp-12) 0 var(--sp-10);font-size:var(--fs-sm);color:var(--c-text-2)}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-10)}.footer h4{margin:0 0 var(--sp-3);font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-3);letter-spacing:.04em}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.footer a{color:var(--c-text-2);text-decoration:none}.footer a:hover{color:var(--c-text);text-decoration:underline}.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-10);padding-top:var(--sp-5);border-top:var(--bd-subtle);font-size:var(--fs-xs);color:var(--c-text-3)}@media (max-width: 1023px){.col-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.sec{padding:var(--sp-10) 0}.col-grid{grid-template-columns:1fr;gap:var(--sp-3)}.col-card{padding:var(--sp-4)}.col-card p{margin-bottom:var(--sp-3)}.post-item{grid-template-columns:1fr}.post-item__date{order:-1}.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>:first-child{grid-column:1 / -1}.btn{height:48px}.btn--sm{height:40px}.steps>li{padding-left:46px}.steps>li:before{width:32px;height:32px}.steps>li:after{left:15px;top:36px}}.nav__links a{display:inline-flex;align-items:center;gap:6px}.nav__links a>svg{width:16px;height:16px;flex:none;color:var(--col, var(--c-text-3))}.nav__links a[aria-current=page]{color:var(--c-text);background:rgb(var(--col-rgb, var(--c-accent-rgb)) / var(--col-tint-a));box-shadow:inset 0 -2px 0 var(--col, var(--c-accent))}.col-head{position:relative;padding-left:calc(var(--col-bar-w) + 20px)}.col-head:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:var(--col-bar-w);border-radius:2px;background:var(--col)}.col-eyebrow{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px 0 10px;border-radius:var(--r-full);background:rgb(var(--col-rgb) / var(--col-tint-a));border:var(--bw) solid rgb(var(--col-rgb) / var(--col-border-a));color:var(--col);font:var(--fw-semibold) var(--fs-eyebrow)/1 var(--font-sans)}.col-eyebrow>svg{width:16px;height:16px;flex:none}.col-eyebrow code{font:var(--fw-medium) var(--fs-2xs)/1 var(--font-mono);color:inherit;opacity:1}.col-head__title{display:flex;align-items:center;gap:var(--sp-4);margin:var(--sp-4) 0 var(--sp-3);font-size:var(--fs-col-title);line-height:var(--lh-col-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight);color:var(--c-text)}.col-head__icon{display:inline-flex;flex:none;width:56px;height:56px;align-items:center;justify-content:center;border-radius:var(--r-lg);color:var(--col);background:rgb(var(--col-rgb) / var(--col-tint-a));border:var(--bw) solid rgb(var(--col-rgb) / var(--col-border-a))}.col-head__icon>svg{width:28px;height:28px}.col-head__lead{max-width:var(--w-prose);margin:0 0 var(--sp-3);font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--c-text-2)}.col-tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px 0 6px;border-radius:var(--r-sm);background:rgb(var(--col-rgb) / var(--col-tint-a));border:var(--bw) solid rgb(var(--col-rgb) / var(--col-border-a));color:var(--col);font:var(--fw-semibold) var(--fs-2xs)/1 var(--font-sans);white-space:nowrap;text-decoration:none}.col-tag>svg{width:14px;height:14px;flex:none}.post-item[data-col]{padding-left:var(--sp-4);box-shadow:inset var(--col-card-bar-w) 0 0 var(--col)}.col-card:before{height:var(--col-card-bar-w)}.btn{height:var(--btn-h);padding:0 var(--btn-px)}.btn--aff{box-shadow:none;animation:none;transform:none;transition:background-color var(--dur) var(--ease)}.btn--aff:focus-visible{box-shadow:var(--ring-focus)}.btn--aff .ext{font-weight:var(--fw-regular)}.link-muted{display:inline-flex;align-items:center;min-height:var(--link-muted-h);padding:0 var(--sp-1);margin:0 calc(-1 * var(--sp-1));border-radius:var(--r-xs);color:var(--c-text-3);font:var(--fw-regular) var(--fs-xs)/1.4 var(--font-sans);text-decoration:none}.link-muted:hover{color:var(--c-text-2);text-decoration:underline;text-underline-offset:3px}.link-muted:focus-visible{outline:2px solid var(--c-focus);outline-offset:0;color:var(--c-text-2);text-decoration:underline;text-underline-offset:3px}.aff-note{margin:0 0 var(--sp-2);font-size:var(--fs-aff-note);line-height:1.5;color:var(--c-text-2)}.aff-note b{color:var(--c-text-body);font-weight:var(--fw-semibold)}.aff-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.plan-card__foot{display:block}.subnav{position:sticky;top:var(--header-h);z-index:calc(var(--z-nav) - 1);height:var(--subnav-h);background:rgb(var(--c-bg-rgb) / .95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--bd)}.subnav__in{display:flex;align-items:stretch;gap:var(--sp-1);height:100%;overflow-x:auto;scrollbar-width:none}.subnav__in::-webkit-scrollbar{display:none}.subnav a{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);white-space:nowrap;color:var(--c-text-2);font:var(--fw-semibold) var(--fs-ui)/1 var(--font-sans);text-decoration:none;box-shadow:inset 0 -3px 0 transparent}.subnav a>svg{width:16px;height:16px;flex:none;color:var(--c-text-3)}.subnav a .subnav__n{font:var(--fw-regular) var(--fs-2xs)/1 var(--font-mono);color:var(--c-text-3)}.subnav a:hover{color:var(--c-text);background:var(--c-surface)}.subnav a[aria-current=true]{color:var(--c-text);box-shadow:inset 0 -3px 0 var(--col, var(--c-col-ops))}.subnav a[aria-current=true]>svg{color:var(--col, var(--c-col-ops))}.subnav a:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px;border-radius:var(--r-sm)}.subnav__meta{margin-left:auto;align-self:center;padding-left:var(--sp-4);font:var(--fs-2xs)/1 var(--font-mono);color:var(--c-text-3);white-space:nowrap}.ops-sec{padding:var(--sp-12) 0;border-top:var(--bd-subtle);scroll-margin-top:calc(var(--header-h) + var(--subnav-h))}.ops-sec:first-of-type{border-top:0}.ops-sec [id],.ops-sec__h{scroll-margin-top:var(--scroll-offset)}.ops-sec__h{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-2);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-bold);color:var(--c-text)}.ops-sec__icon{display:inline-flex;flex:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--col, var(--c-col-ops));background:rgb(var(--col-rgb, var(--c-col-ops-rgb)) / var(--col-tint-a));border:var(--bw) solid rgb(var(--col-rgb, var(--c-col-ops-rgb)) / var(--col-border-a))}.ops-sec__icon>svg{width:20px;height:20px}.ops-sec__intro{max-width:var(--w-prose);margin:0 0 var(--sp-6);font-size:var(--fs-ui);line-height:var(--lh-ui);color:var(--c-text-2)}.ops-sub{margin:var(--sp-10) 0 var(--sp-4);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-bold);color:var(--c-text)}@media (max-width: 640px){.col-head{padding-left:calc(var(--col-bar-w) + 14px)}.col-head__title{gap:var(--sp-3)}.col-head__icon{width:44px;height:44px}.col-head__icon>svg{width:22px;height:22px}.subnav__in{gap:0;padding:0!important}.subnav a{flex:1 0 auto;justify-content:center;padding:0 var(--sp-3);font-size:var(--fs-sm)}.subnav__meta,.subnav a .subnav__n{display:none}.ops-sec{padding:var(--sp-10) 0}}:root{--chip-h: 32px;--chip-h-sm: 28px;--chip-hit: 0px;--chip-px: 16px;--chip-px-sm: 12px;--chip-fs: var(--fs-sm, 14px);--chip-fs-sm: var(--fs-xs, 13px);--chip-gap-x: 8px;--chip-gap-y: 8px;--chip-sm-gap-y: 8px;--chip-min-w: 0px;--chip-icon: 14px;--c-chip-text: var(--c-text-2);--c-chip-border: var(--c-line-strong);--c-chip-bg-hover: var(--c-surface-2);--c-chip-border-hover: var(--c-text-3);--c-chip-bg-active: var(--c-surface-3);--c-chip-sel-bg: rgb(255 92 158 / .15);--c-chip-sel-border: var(--c-accent);--c-chip-sel-text: var(--c-text);--c-chip-count: var(--c-text-3);--c-chip-disabled-text: var(--c-disabled-text);--c-chip-disabled-border: var(--c-line);--label-h: 22px;--label-px: 8px;--label-fs: var(--fs-2xs, 12px);--label-r: var(--r-sm, 6px)}@media (max-width: 640px),(pointer: coarse){:root{--chip-h: 36px;--chip-h-sm: 32px;--chip-hit: 44px;--chip-px: 14px;--chip-gap-y: 8px;--chip-sm-gap-y: 12px;--chip-min-w: 44px}}.chip-row{display:flex;flex-wrap:wrap;-moz-column-gap:var(--chip-gap-x);column-gap:var(--chip-gap-x);row-gap:var(--chip-gap-y);margin:0;padding:0;list-style:none}.chip-row--tags{row-gap:var(--chip-sm-gap-y)}.chip{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--chip-h);min-width:var(--chip-min-w);padding:0 var(--chip-px);border:1px solid var(--c-chip-border);border-radius:var(--r-full,999px);background:transparent;color:var(--c-chip-text);font:400 var(--chip-fs)/1 var(--font-sans);white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s,border-color .15s,color .15s}.chip--tag{height:var(--chip-h-sm);padding:0 var(--chip-px-sm);font-size:var(--chip-fs-sm)}.chip:before{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:max(100% + 2px,var(--chip-hit));transform:translateY(-50%)}.chip__count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--c-chip-count)}.chip__check{display:none;width:var(--chip-icon);height:var(--chip-icon);margin-left:-2px;flex:none}@media (hover:hover){.chip:hover{background:var(--c-chip-bg-hover);border-color:var(--c-chip-border-hover);color:var(--c-text)}}.chip:active{background:var(--c-chip-bg-active)}.chip[aria-pressed=true],.chip[aria-current]:not([aria-current=false]){background:var(--c-chip-sel-bg);border-color:var(--c-chip-sel-border);color:var(--c-chip-sel-text);font-weight:600}.chip[aria-pressed=true] .chip__check{display:block}.chip[aria-pressed=true] .chip__count,.chip[aria-current]:not([aria-current=false]) .chip__count{color:var(--c-text-2)}@media (hover:hover){.chip[aria-pressed=true]:hover,.chip[aria-current]:not([aria-current=false]):hover{border-color:var(--c-accent-hover)}}.chip:focus-visible{outline:none;box-shadow:var(--ring-focus)}.chip:disabled,.chip[aria-disabled=true]{border-style:dashed;border-color:var(--c-chip-disabled-border);background:transparent;color:var(--c-chip-disabled-text);cursor:not-allowed}@media (hover:hover){.chip:disabled:hover,.chip[aria-disabled=true]:hover{background:transparent;color:var(--c-chip-disabled-text);border-color:var(--c-chip-disabled-border)}}.label{box-sizing:border-box;display:inline-flex;align-items:center;height:var(--label-h);padding:0 var(--label-px);border-radius:var(--label-r);background:var(--c-surface-2);color:var(--c-text-2);font:500 var(--label-fs)/1 var(--font-sans);white-space:nowrap;cursor:default}.hit-44{position:relative}@media (max-width:640px),(pointer:coarse){.hit-44:before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}}.chip-scroll{display:flex;flex-wrap:nowrap;gap:var(--chip-gap-x);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:16px;padding-block:max(0px,calc((var(--chip-hit) - var(--chip-h)) / 2 + 1px));scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}.chip-scroll::-webkit-scrollbar{display:none}.chip-scroll>.chip{scroll-snap-align:start;flex:none}@media (prefers-reduced-motion:reduce){.chip{transition:none}}@media (min-width: 641px) and (pointer: fine){:root{--chip-h: 36px}}.chip-row>[hidden]{display:none!important}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}*,: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:var(--font-sans);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:var(--font-mono);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]{display:none}*{--tw-border-opacity: 1;border-color:rgb(var(--c-line-rgb) / var(--tw-border-opacity))}body{--tw-bg-opacity: 1;background-color:rgb(var(--c-bg-rgb) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(var(--c-text-rgb) / var(--tw-text-opacity))}*,: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: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:20px;padding-left:20px}@media (min-width: 1248px){.container{max-width:1248px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.z-nav{z-index:40}.\!mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.\!h-auto{height:auto!important}.h-11{height:2.75rem}.h-full{height:100%}.h-nav{height:var(--nav-h)}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[32em\]{max-width:32em}.max-w-full{max-width:100%}.max-w-prose{max-width:var(--w-prose)}.max-w-wide{max-width:var(--w-wide)}.shrink-0{flex-shrink:0}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!whitespace-normal{white-space:normal!important}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-lg{border-radius:var(--r-lg)}.rounded-md{border-radius:var(--r-md)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-line{--tw-border-opacity: 1;border-color:rgb(var(--c-line-rgb) / var(--tw-border-opacity))}.border-line-strong{--tw-border-opacity: 1;border-color:rgb(var(--c-line-strong-rgb) / var(--tw-border-opacity))}.border-line-subtle{--tw-border-opacity: 1;border-color:rgb(var(--c-line-subtle-rgb) / var(--tw-border-opacity))}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(var(--c-bg-rgb) / var(--tw-bg-opacity))}.bg-bg\/90{background-color:rgb(var(--c-bg-rgb) / .9)}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--c-surface-rgb) / var(--tw-bg-opacity))}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pl-5{padding-left:1.25rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-tight);font-weight:800}.text-h4{font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:600}.text-lead{font-size:var(--fs-lead);line-height:var(--lh-lead)}.text-sm{font-size:var(--fs-sm);line-height:var(--lh-sm)}.text-ui{font-size:var(--fs-ui);line-height:var(--lh-ui)}.text-xs{font-size:var(--fs-xs);line-height:var(--lh-xs)}.font-extrabold{font-weight:800}.font-normal{font-weight:400}.font-semibold{font-weight:600}.\!leading-snug{line-height:1.375!important}.text-fg{--tw-text-opacity: 1;color:rgb(var(--c-text-rgb) / var(--tw-text-opacity))}.text-fg-2{--tw-text-opacity: 1;color:rgb(var(--c-text-2-rgb) / var(--tw-text-opacity))}.text-fg-3{--tw-text-opacity: 1;color:rgb(var(--c-text-3-rgb) / var(--tw-text-opacity))}.text-fg-body{--tw-text-opacity: 1;color:rgb(var(--c-text-body-rgb) / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.grad-text{background-image:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.post ul{list-style:disc}.post ol{list-style:decimal}.post ol.steps,.post ul.checklist{list-style:none;padding-left:0}.post ul.checklist{padding:var(--sp-4) var(--sp-5)}.post ul.checklist li input{display:none}.post .callout ul{margin:var(--sp-2) 0 0}.post .callout li{margin:4px 0}.post a.invite-link .badge{margin-left:6px;text-decoration:none}.nav-scroll.nav__links{position:static;background:none;border:0;padding-top:0}.nav-scroll{scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}.nav-scroll::-webkit-scrollbar{display:none}.nav-scroll[data-end]{-webkit-mask-image:none;mask-image:none}@media (prefers-reduced-motion: reduce){.col-card:hover{transform:none}}@media (hover: none){.col-card:hover{transform:none}}@media (max-width: 639px){.post table:not(.cost){display:block;width:100%;border:0;background:none;overflow:visible}.post table:not(.cost) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.post table:not(.cost) tbody{display:block}.post table:not(.cost) tr{display:block;margin:0 0 var(--sp-3);border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}.post table:not(.cost) td{display:grid;grid-template-columns:6.5em 1fr;gap:var(--sp-3);border:0!important;border-bottom:var(--bd-subtle)!important;padding:8px var(--sp-4);background:none!important}.post table:not(.cost) td:before{content:attr(data-label);color:var(--c-text-3);font:var(--fs-xs)/1.6 var(--font-mono)}.post table:not(.cost) td:first-child{display:block;background:var(--c-surface-2)!important;color:var(--c-text);font-weight:var(--fw-semibold)}.post table:not(.cost) td:first-child:before{content:none}.post table:not(.cost) td:last-child{border-bottom:0!important}}.post .code-block{position:relative;margin:var(--sp-5) 0}.post .code-block pre{margin:0;padding-top:2rem}.code-lang{position:absolute;z-index:2;top:8px;left:14px;font:12px/1.4 var(--font-mono);color:var(--c-text-3);text-transform:lowercase}.code-copy{position:absolute;z-index:2;top:6px;right:6px;min-height:32px;min-width:56px;padding:4px 10px;border-radius:var(--r-md);border:var(--bd);background:var(--c-surface-2);color:var(--c-text-2);font:var(--fs-xs)/1.4 var(--font-sans);cursor:pointer}.code-copy:hover{color:var(--c-text);border-color:var(--c-line-strong)}.code-copy[data-state=ok]{color:var(--c-ok);border-color:var(--c-ok)}.code-copy[data-state=fail]{color:var(--c-bad);border-color:var(--c-bad)}.hljs{color:var(--c-code-text);background:none}.hljs-comment,.hljs-quote{color:var(--c-code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-meta .hljs-keyword,.hljs-title,.hljs-section,.hljs-function .hljs-title,.hljs-title.function_,.hljs-attr,.hljs-attribute,.hljs-property,.hljs-type,.hljs-class .hljs-title,.hljs-name,.hljs-selector-class,.hljs-selector-id{color:var(--c-code-key)}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-meta .hljs-string{color:var(--c-code-str)}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:var(--c-code-num)}.hljs-variable,.hljs-template-variable,.hljs-params,.hljs-meta,.hljs-deletion,.hljs-subst,.hljs-punctuation{color:var(--c-code-text)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.post-layout{display:grid;grid-template-columns:minmax(0,var(--w-prose)) 240px;gap:var(--sp-12, 48px);align-items:start}.toc__title{font:var(--fw-semibold) var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-3);margin-bottom:var(--sp-3)}.toc__list{list-style:none;margin:0;padding:0;border-left:var(--bd)}.toc__list li a{display:block;padding:5px 0 5px 12px;margin-left:-1px;border-left:2px solid transparent;font-size:var(--fs-sm);line-height:1.45;color:var(--c-text-2);text-decoration:none}.toc__list li.toc__sub a{padding-left:24px;font-size:var(--fs-xs)}.toc__list li a:hover{color:var(--c-text)}.toc__list li a.is-active{color:var(--c-text);font-weight:var(--fw-semibold, 600);border-left-color:var(--col, var(--c-accent))}.toc--desk{position:sticky;top:calc(var(--nav-h) + 24px);max-height:calc(100vh - var(--nav-h) - 48px);overflow-y:auto}.toc--mobile{display:none}@media (max-width: 1023px){.post-layout{grid-template-columns:minmax(0,1fr)}.toc--desk{display:none}.toc--mobile{display:block;margin-bottom:var(--sp-6);border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface)}.toc--mobile summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--sp-4);cursor:pointer;color:var(--c-text);font-weight:var(--fw-semibold)}.toc--mobile .toc__list{margin:0 var(--sp-4) var(--sp-4)}}.post h2[id],.post h3[id]{scroll-margin-top:calc(var(--nav-h) + 56px)}.post-layout>*{min-width:0}.post p,.post li,.post td,.post a{overflow-wrap:anywhere}.dlegend{display:grid;gap:6px 16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));font-size:var(--fs-xs, 12px);color:var(--c-text-2)}.dlegend>div{display:flex;gap:8px;align-items:flex-start}.dlegend dt{flex:none}.dlegend dd{margin:0;line-height:1.6}.dnote-ref{display:inline-flex;align-items:center;min-height:28px;padding:0 8px;border-radius:var(--r-sm, 6px);border:var(--bd);font:var(--fs-xs, 12px)/1 var(--font-mono);color:var(--c-text-2);text-decoration:none}.dnote-ref:hover,.dnote-ref:focus-visible{color:var(--c-text);border-color:var(--c-line-strong)}.dnotes{list-style:none;margin:0;padding:12px 20px;border-top:var(--bd);font-size:var(--fs-xs, 12px);line-height:1.7;color:var(--c-text-3)}.dnotes li{padding:4px 0;overflow-wrap:anywhere;scroll-margin-top:96px}.dnotes li:target,.dnotes li:focus{color:var(--c-text-2);outline:none;background:rgb(var(--c-surface-2-rgb, 30 30 40) / .6)}.dnotes b{color:var(--c-text-2);margin-right:4px}.badge--read{color:var(--c-text);background:var(--c-surface-2);border-color:var(--c-line-strong);border-style:solid}.vps-group,.vps-vendors{scroll-margin-top:96px}.vps-group__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:var(--sp-3)}.vps-group__head h3{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--col, var(--c-col-ops))}.plan-card__title{margin:0 0 var(--sp-3);font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--c-text);overflow-wrap:anywhere}@media (max-width: 639px){.vps-group .plan-card{padding:10px 12px;border-radius:var(--r-md)}.plan-row{display:flex;flex-direction:column;gap:4px;min-width:0}.plan-row__name{white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-sm);line-height:1.45;font-weight:var(--fw-semibold);color:var(--c-text)}.plan-row__line2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;min-width:0}.plan-row__price{min-width:0;white-space:normal;overflow-wrap:anywhere;font:var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-2)}.plan-row__more{margin-top:6px;font-size:var(--fs-xs)}.plan-row__more summary{cursor:pointer;color:var(--c-text-2);min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}.plan-row__more summary::-webkit-details-marker{display:none}.plan-row__chev{flex:none;transition:transform .15s ease}.plan-row__more[open] .plan-row__chev{transform:rotate(180deg)}.plan-row__more dl{margin-top:6px}.plan-row__more .plan-card__foot{display:flex}}.vps-group ul>li{min-width:0}.dicann{margin:0;padding:10px 20px;border-top:var(--bd);font-size:var(--fs-xs, 12px);line-height:1.7;color:var(--c-text-2)}.dicann b{color:var(--c-text);margin-right:8px}.plan-tiers{margin:0;padding:0;list-style:none}.plan-tiers li+li{margin-top:2px}.rtable-scroll{position:relative}.rtable-scroll.is-scrollable:not(.at-end),.post table.is-scrollable:not(.at-end){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}@media (prefers-reduced-motion: reduce){.plan-row__chev{transition:none}}.rtable td .dcell-note{display:block;min-width:9rem;max-width:16rem;white-space:normal;overflow-wrap:anywhere;font:var(--fs-xs)/1.5 var(--font-sans);color:var(--c-text-3);text-align:left}.post details{margin:var(--sp-3) 0;border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface)}.post details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px var(--sp-4);cursor:pointer;list-style:none;font-weight:var(--fw-semibold);color:var(--c-text);border-radius:var(--r-lg)}.post details>summary::-webkit-details-marker{display:none}.post details>summary:after{content:"";flex:none;width:16px;height:16px;background:var(--c-text-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .15s ease}.post details[open]>summary:after{transform:rotate(180deg)}.post details[open]>summary{border-bottom:var(--bd-subtle);border-bottom-left-radius:0;border-bottom-right-radius:0}.post details>summary:hover{background:var(--c-surface-2)}.post details>summary:focus-visible{outline:2px solid var(--c-focus, #F9A8D4);outline-offset:2px}.post details>:not(summary){margin-left:var(--sp-4);margin-right:var(--sp-4)}.post details>:last-child{margin-bottom:var(--sp-4)}@media (max-width: 639px){.post details>:not(summary){margin-left:var(--sp-3);margin-right:var(--sp-3)}}@media (prefers-reduced-motion: reduce){.post details>summary:after{transition:none}}.subnav a[aria-current=page]{color:var(--c-text);box-shadow:inset 0 -3px 0 var(--col, var(--c-col-ops))}.subnav a[aria-current=page]>svg{color:var(--col, var(--c-col-ops))}.subnav__in{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding-inline:var(--sp-4)}.subnav a{scroll-snap-align:start;flex-shrink:0}.tab-nav{scroll-margin-top:calc(var(--header-h) + 16px)}.ops-sec .tab-nav,.ops-sec .vps-vendors{scroll-margin-top:var(--scroll-offset)}.plan-note{padding:6px 10px;border-left:3px solid rgb(var(--c-warn-rgb) / .7);background:var(--c-warn-bg);border-radius:4px;line-height:1.6}.placeholder\:text-fg-3::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--c-text-3-rgb) / var(--tw-text-opacity))}.placeholder\:text-fg-3::placeholder{--tw-text-opacity: 1;color:rgb(var(--c-text-3-rgb) / var(--tw-text-opacity))}.hover\:text-fg:hover{--tw-text-opacity: 1;color:rgb(var(--c-text-rgb) / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-pop:focus{z-index:50}.focus-visible\:shadow-focus:focus-visible{--tw-shadow: var(--ring-focus);--tw-shadow-colored: var(--ring-focus);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--c-focus-rgb) / 1);--tw-shadow: var(--tw-shadow-colored)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:text-link{--tw-text-opacity: 1;color:rgb(var(--c-link-rgb) / var(--tw-text-opacity))}@media not all and (min-width: 640px){.max-sm\:hidden{display:none}.max-sm\:gap-2{gap:.5rem}.max-sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.max-sm\:text-\[16px\]{font-size:16px}}@media (min-width: 640px){.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.crumb14{display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;margin:0 0 12px;font-size:13px;line-height:1.4;color:var(--c-text-3)}.crumb14 a{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 6px;margin:0 -6px;color:var(--c-text-2);text-decoration:none;border-radius:var(--r-sm)}.crumb14 a:hover{color:var(--c-text);text-decoration:underline}.crumb14 a:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}.crumb14 .sep{padding:0 8px;color:var(--c-text-3)}.crumb14 [aria-current]{color:var(--c-text-body)}.crumb14 svg{width:16px;height:16px}@media (max-width:639px){.crumb14{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;margin-bottom:4px}.crumb14 .home-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.crumb14 a.home{min-width:44px;justify-content:center}.crumb14 .crumb14__col{min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb14--post .crumb14__cur,.crumb14--post .crumb14__cur-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}.colband{position:relative;display:flex;align-items:center;gap:16px;padding:14px 16px 14px 20px;margin:0;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);overflow:hidden}.colband:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--col)}.colband__icon{display:inline-flex;flex:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--col);background:rgb(var(--col-rgb)/.1);border:1px solid rgb(var(--col-rgb)/.35)}.colband__icon svg{width:22px;height:22px}.colband__txt{min-width:0;flex:1}.colband__name{margin:0;font-weight:700;font-size:18px;line-height:1.3;color:var(--c-text)}.colband__desc{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--c-text-2)}.colband__meta{margin:0;flex:none;font:12px/1.4 var(--font-mono,monospace);color:var(--c-text-3);text-align:right}@media (max-width:639px){.colband{align-items:flex-start;gap:12px;padding:12px 12px 12px 16px}.colband__icon{width:32px;height:32px}.colband__icon svg{width:18px;height:18px}.colband__name{font-size:16px}.colband__desc{font-size:13px}.colband__meta{display:none}}.colwrap{padding-top:20px;padding-bottom:16px}@media (max-width:639px){.colwrap{padding-top:8px;padding-bottom:12px}}.subnav14 a{min-height:44px}.subnav14 .subnav__soon{display:inline-flex;align-items:center;gap:8px;padding:0 16px;white-space:nowrap;color:var(--c-text-3);font-size:14px;cursor:default}.subnav14 .subnav__soon .badge{font-size:11px}@media (max-width:639px){.subnav14 .subnav__soon{flex:0 0 auto;padding:0 12px;scroll-snap-align:start}}.subnav14 .subnav__in{position:relative}@media (max-width:639px){.subnav14[data-scroll]:not([data-end]) .subnav__in{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}}.subhead14{margin:28px 0 20px}.subhead14 h1{margin:0;font-weight:800;font-size:32px;line-height:1.25;color:var(--c-text);display:flex;align-items:center;gap:12px}.subhead14 h1 svg{width:26px;height:26px;color:var(--col);flex:none}.subhead14 p{margin:8px 0 0;max-width:46em;font-size:15px;line-height:1.6;color:var(--c-text-2)}@media (max-width:639px){.subhead14{margin:18px 0 14px}.subhead14 h1{font-size:24px}.subhead14 h1 svg{width:22px;height:22px}}.rel14{margin:40px 0 8px;font-weight:700;font-size:20px;color:var(--c-text)}.home14{padding-top:56px;padding-bottom:24px}.home14 h1{margin:8px 0 12px;font-size:44px;line-height:1.15;font-weight:800;color:var(--c-text)}.home14 .lead14{margin:0;font-size:17px;line-height:1.6;color:var(--c-text-2)}@media (max-width:639px){.home14{padding-top:24px;padding-bottom:8px}.home14 h1{font-size:30px}.home14 .lead14{font-size:15px}}.entries{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (max-width:767px){.entries{grid-template-columns:1fr;gap:12px;margin-top:16px}}.entry{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding:24px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);color:inherit;text-decoration:none;overflow:hidden}.entry:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--col)}.entry:hover{border-color:rgb(var(--col-rgb)/.7)}.entry:focus-visible{outline:none;box-shadow:0 0 0 2px var(--c-bg),0 0 0 4px var(--c-focus)}.entry__top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.entry__icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--col);background:rgb(var(--col-rgb)/.1);border:1px solid rgb(var(--col-rgb)/.35)}.entry__icon svg{width:24px;height:24px}.entry h3{margin:0;font-size:22px;line-height:1.3;font-weight:700;color:var(--c-text)}.entry__one{margin:0 0 16px;font-size:15px;line-height:1.6;color:var(--c-text-body)}.entry__subs{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 6px}.entry__subs li{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border:1px solid var(--c-line);border-radius:4px;font-size:13px;color:var(--c-text-2);background:var(--c-bg)}.entry__subs li .n{font:11px/1 var(--font-mono,monospace);color:var(--c-text-3)}.entry__subs li .badge{height:18px;font-size:11px;padding:0 6px}.entry__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:var(--bd-subtle);font:12px/1.4 var(--font-mono,monospace);color:var(--c-text-3)}.entry__go{font:600 14px/1 var(--font-sans);color:var(--col)}@media (max-width:639px){.entry{padding:16px}.entry h3{font-size:19px}.entry__icon{width:36px;height:36px}.entry__icon svg{width:20px;height:20px}.entry__one{font-size:14px;margin-bottom:12px}.entry__subs{margin-bottom:12px}}.legend14{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:24px 0 48px;padding:12px 16px;border:1px dashed var(--c-line);border-radius:var(--r-md);font-size:13px;color:var(--c-text-2)}.legend14 .k{font:12px/1 var(--font-mono,monospace);color:var(--c-text-3)}@media (max-width:639px){.legend14{margin:16px 0 32px}}.unfold14-title{margin:12px 0 4px;font-weight:600;font-size:13px;color:var(--c-text-2)}.toc14{margin:0 0 24px;padding:12px 16px;border:var(--bd);border-radius:var(--r-md);background:var(--c-surface)}.toc14 .toc__title{margin:0 0 4px;font-weight:600;font-size:13px;color:var(--c-text-2)}.toc14 ol,.toc14 ul{margin:0;padding-left:1.2em}.toc14 a{display:inline-block;min-height:44px;line-height:44px;color:var(--c-link)}@media (max-width:639px){.subnav14 .subnav__in{overflow-x:auto;scroll-padding-inline:12px}.subnav14 .subnav__in>a,.subnav14 .subnav__in>.subnav__soon{flex:0 0 auto!important;padding:0 12px!important;min-width:44px}.subnav14 .subnav__in>:first-child{margin-left:4px}.subnav14 .subnav__in>:last-child{margin-right:12px}}.subnav14 a[aria-current=true]{color:var(--c-text);box-shadow:inset 0 -3px 0 var(--col)}.nav__links a{min-height:44px}.nav__logo{min-height:44px;display:inline-flex;align-items:center}@media (max-width:767px){html:root{--header-h:109px!important}}.draft14{display:inline-flex;align-items:center;height:18px;margin-left:8px;padding:0 6px;border:1px solid #6E6E86;border-radius:4px;font:500 11px/1 var(--font-mono,monospace);color:#b8b8ca;vertical-align:2px;white-space:nowrap;letter-spacing:0}.subnav14 .draft14{margin-left:6px;vertical-align:0}.subnav__n .u{margin-left:2px;font-size:10px}.ph14{display:inline-flex;align-items:center;height:22px;margin-left:12px;padding:0 8px;border:1px solid #6E6E86;border-radius:4px;font:500 12px/1 var(--font-mono,monospace);color:#b8b8ca;vertical-align:middle;white-space:nowrap}@media (max-width:639px){.ph14{height:20px;font-size:11px;margin-left:8px}}.xrel14{margin-top:48px}.xrel14__k{margin-left:8px;font:500 12px/1 var(--font-mono,monospace);color:var(--c-text-3);vertical-align:3px}.xrel14__list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width:767px){.xrel14__list{grid-template-columns:1fr;gap:12px}}.xrel14__item{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:16px 16px 16px 20px;min-height:44px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-md);color:inherit;text-decoration:none}.xrel14__item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--col);border-radius:var(--r-md) 0 0 var(--r-md)}.xrel14__item:hover{border-color:rgb(var(--col-rgb)/.7)}.xrel14__item:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.xrel14__src{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:24px;padding:0 8px;border:1px solid rgb(var(--col-rgb)/.45);border-radius:4px;background:rgb(var(--col-rgb)/.08);font-size:12px;color:var(--col)}.xrel14__src svg{width:14px;height:14px}.xrel14__t{font-weight:700;font-size:16px;line-height:1.4;color:var(--c-text)}.xrel14__d{font-size:14px;line-height:1.55;color:var(--c-text-2)}.xrel14__m{margin-top:auto;font:12px/1.4 var(--font-mono,monospace);color:var(--c-text-3)}.subhead14+.legend14,.legend14--sub{margin:0 0 20px}.soon14{margin:40px 0 0;padding:20px;border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface)}.soon14 h2{margin:0 0 8px;font-size:20px;line-height:1.35;font-weight:700;color:var(--c-text)}.soon14 h2 .badge{margin-left:8px;vertical-align:3px}.soon14 p{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--c-text-2)}.sec14h{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--c-text)}.ph14p{margin:-4px 0 12px}.ph14p .ph14{margin-left:0}.liv{--ring-focus:0 0 0 2px var(--c-bg),0 0 0 4px var(--c-focus);--fold-h:44px}.liv .crumb a:hover{color:var(--c-text-2);text-decoration:underline}.liv .head-meta{font:var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-3)}.liv .dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.liv .dir-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);text-decoration:none;min-height:44px}.liv .dir-card:hover{border-color:rgb(var(--col-rgb)/.7)}.liv .dir-card:focus-visible{outline:none;box-shadow:var(--ring-focus)}.liv .dir-card__top{display:flex;align-items:center;gap:12px}.liv .dir-card__icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--col);background:rgb(var(--col-rgb)/.1);border:1px solid rgb(var(--col-rgb)/.35)}.liv .dir-card__icon svg{width:20px;height:20px}.liv .dir-card h3{margin:0;font-size:17px;line-height:1.35;color:var(--c-text)}.liv .dir-card p{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--c-text-2)}.liv .dir-card .ex{font-size:var(--fs-xs);line-height:1.55;color:var(--c-text-3);border-top:var(--bd-subtle);padding-top:10px;margin-top:auto}.liv .dir-card .ex b{color:var(--c-text-2);font-weight:500}.liv .dir-card .go{position:absolute;right:16px;top:20px;color:var(--c-text-3)}.liv .dir-card .go svg{width:18px;height:18px}.liv .feed{list-style:none;margin:0;padding:0;border-top:var(--bd)}.liv .feed li{display:grid;grid-template-columns:110px 1fr auto;gap:6px 16px;align-items:baseline;padding:14px 0;border-bottom:var(--bd)}.liv .feed .d{font:var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-3)}.liv .feed .t{color:var(--c-text);font-weight:600;font-size:15px;word-break:break-word}.liv .feed .t a{text-decoration:none}.liv .feed .t a:hover{color:var(--c-link);text-decoration:underline}.liv .feed .s{font-size:var(--fs-sm);color:var(--c-text-2);grid-column:2/3}.liv .feed .k{grid-row:1/3;grid-column:3}.liv .dir-intro{margin:28px 0 8px}.liv .dir-intro h2{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:var(--fs-h2);color:var(--c-text)}.liv .dir-intro p{margin:0;max-width:var(--w-prose);color:var(--c-text-2);font-size:var(--fs-ui);line-height:1.7}.liv .filter{margin:24px 0 8px;padding:16px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.liv .filter__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 0 12px}.liv .filter__h h3{margin:0;font-size:15px;color:var(--c-text)}.liv .filter__hint{margin:12px 0 0;font-size:var(--fs-sm);color:var(--c-text-2)}.liv .filter__hint b{color:var(--c-text);font-weight:600}.liv .results-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin:28px 0 12px}.liv .results-h h3{margin:0;font-size:var(--fs-h3);color:var(--c-text)}.liv .sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.liv .sol{position:relative;display:flex;flex-direction:column;padding:20px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.liv .sol:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--col)}.liv .sol__eyebrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.liv .sol h4{margin:0 0 4px;font-size:18px;line-height:1.35;color:var(--c-text);word-break:break-word}.liv .sol .sub{margin:0 0 14px;font-size:var(--fs-sm);color:var(--c-text-2)}.liv .sol dl{display:grid;grid-template-columns:88px 1fr;gap:10px 12px;margin:0 0 14px;font-size:var(--fs-sm);line-height:1.55}.liv .sol dt{color:var(--c-text-3);display:flex;align-items:center;gap:6px}.liv .sol dt svg{width:14px;height:14px;flex:none}.liv .sol dd{margin:0;color:var(--c-text-body);word-break:break-word}.liv .sol dd .v{color:var(--c-text);font-family:var(--font-mono);font-size:13px}.liv .sol dd .badge{margin-left:2px}.liv .sol__foot{margin-top:auto;padding-top:12px;border-top:var(--bd-subtle);display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:var(--fs-xs);color:var(--c-text-3)}.liv .sol__foot a{color:var(--c-link)}.liv .label--third{background:var(--c-surface-2);color:var(--c-text-2)}.liv .empty{padding:20px;border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);color:var(--c-text-2);font-size:var(--fs-sm);line-height:1.7}.liv .empty b{color:var(--c-text)}.liv .legend3{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:var(--fs-xs);color:var(--c-text-2)}.liv .post .gpu-table{display:table;width:100%;max-width:100%}.liv .gpu-wrap{margin:24px 0;border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}.liv .gpu-wrap__h{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;align-items:baseline;padding:14px 16px;border-bottom:var(--bd)}.liv .gpu-wrap__h h3{margin:0!important;padding:0!important;border:0!important;font-size:17px}.liv table.gpu{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.55;color:var(--c-text-body)}.liv table.gpu th,.liv table.gpu td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:var(--bd)}.liv table.gpu td+td,.liv table.gpu th+th{border-left:var(--bd)}.liv table.gpu thead th{background:var(--c-surface-2);color:var(--c-text-2);font:500 12px/1.4 var(--font-mono);white-space:nowrap;border-bottom:1px solid var(--c-line-strong)}.liv table.gpu tbody th{color:var(--c-text);font-weight:600;white-space:nowrap}.liv table.gpu tr.is-sel>*{background:rgb(var(--c-accent-rgb)/.1)}.liv table.gpu tr.is-sel>th{box-shadow:inset 3px 0 0 var(--c-accent)}.liv table.gpu .you{display:inline-block;margin-left:6px;font:600 11px/1 var(--font-sans);color:var(--c-text);background:rgb(var(--c-accent-rgb)/.2);border:1px solid var(--c-accent);border-radius:999px;padding:3px 6px;vertical-align:1px}.liv .gpu-wrap__foot{padding:12px 16px;font-size:var(--fs-xs);line-height:1.6;color:var(--c-text-3)}.liv .gpu-wrap__foot b{color:var(--c-text-2)}@media (max-width:640px){.liv .dir-grid{grid-template-columns:1fr;gap:12px}.liv .dir-card{padding:16px}.liv .feed li{grid-template-columns:1fr;gap:4px}.liv .feed .k{grid-row:auto;grid-column:auto;justify-self:start}.liv .feed .s{grid-column:auto}.liv .sol-grid{grid-template-columns:1fr}.liv .sol{padding:16px}.liv .sol dl{grid-template-columns:1fr;gap:4px}.liv .sol dd{margin-bottom:10px}.liv table.gpu thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.liv table.gpu,.liv table.gpu tbody,.liv table.gpu tr,.liv table.gpu th,.liv table.gpu td{display:block;width:auto}.liv table.gpu tr{border-bottom:var(--bd);padding:4px 0 8px}.liv table.gpu tbody th{padding:12px 14px 6px;border:0;font-size:15px}.liv table.gpu td{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:5px 14px;border:0!important}.liv table.gpu td:before{content:attr(data-label);color:var(--c-text-3);font-size:12px;line-height:1.7}.liv table.gpu tr.is-sel{box-shadow:inset 3px 0 0 var(--c-accent)}.liv table.gpu tr.is-sel>th{box-shadow:none}}.liv .src{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:var(--r-xs,4px);font:600 11px/1 var(--font-sans);white-space:nowrap;border:1px solid;vertical-align:1px}.liv .src svg{width:12px;height:12px;flex:none}.liv .src--off{color:var(--c-info);background:var(--c-info-bg);border-color:rgb(var(--c-info-rgb)/.55)}.liv .src--com{color:var(--c-text-2);background:var(--c-surface-2);border-color:var(--c-line-strong)}.liv .chk{font:12px/1.4 var(--font-mono);color:var(--c-text-3);white-space:nowrap}.liv .chk a{color:var(--c-link)}.liv .mv{display:block}.liv .mv+.mv{margin-top:6px}.liv .mv__v{color:var(--c-text)}.liv .mv__line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.liv .badge--np{color:var(--c-text-2);background:var(--c-surface-2);border-color:var(--c-line);font-weight:500}.liv .src-note{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:var(--r-md);background:var(--c-info-bg);border:1px solid rgb(var(--c-info-rgb)/.45);color:var(--c-text);font-size:15px;line-height:1.6;max-width:var(--w-prose)}.liv .src-note svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--c-info)}.liv .src-note b{font-weight:700}.liv .src-note small{display:block;color:var(--c-text-2);font-size:13px}.liv .src-note--slim{margin:16px 0 0;padding:8px 12px;font-size:14px}.liv table.gpu tbody.tier>tr.tier__h>th{background:var(--c-surface-2);font-size:14px;border-bottom:var(--bd)}.liv table.gpu tbody.tier>tr.tier__h .cards{font-weight:400;color:var(--c-text-2);font-size:13px;margin-left:8px}.liv table.gpu td.srccell{white-space:nowrap}.liv table.gpu tbody.tier.is-sel>tr>*{background:rgb(var(--c-accent-rgb)/.08)}.liv table.gpu tbody.tier.is-sel>tr.tier__h>th{background:rgb(var(--c-accent-rgb)/.16);box-shadow:inset 3px 0 0 var(--c-accent)}.liv table.gpu td .mv__v{font-size:13.5px}.liv .post-wide{max-width:1200px}@media (max-width:640px){.liv table.gpu tbody.tier{display:block;margin:0 0 12px;border:var(--bd);border-radius:var(--r-md);overflow:hidden}.liv table.gpu tbody.tier.is-sel{border-color:var(--c-accent)}.liv table.gpu tbody.tier>tr.tier__h>th{display:block;padding:10px 14px}.liv table.gpu tbody.tier>tr.tier__h .cards{display:block;margin:2px 0 0}.liv table.gpu td.srccell{padding:12px 14px 4px;grid-template-columns:1fr}.liv table.gpu td.srccell:before{display:none}.liv table.gpu tbody.tier>tr+tr+tr td.srccell{border-top:1px solid var(--c-line-subtle)!important}.liv table.gpu tbody.tier.is-sel>tr>*{box-shadow:none}.liv .gpu-wrap{border:0;background:none}.liv .gpu-wrap__h{padding:0 0 12px;border:0}.liv .gpu-wrap__foot{padding:4px 0 0}}.liv .dir-switch .chip{white-space:normal;height:auto;min-height:44px;padding:8px 12px;line-height:1.3;text-align:left;justify-content:flex-start;gap:8px}.liv .dir-switch .chip svg{width:16px;height:16px;flex:none}.liv .nav-m>.wrap{width:100%}.liv .nav-m .btn svg{width:20px;height:20px}.liv .sol__np{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 14px;padding:8px 10px;border-radius:var(--r-sm);background:var(--c-bg);border:1px solid var(--c-line)}.liv .sol__sec{margin:4px 0 8px;font:500 12px/1.4 var(--font-mono);color:var(--c-text-3)}.liv .post table.gpu{display:table;width:100%;max-width:100%;margin:0;border:0;border-radius:0;font-size:var(--fs-sm)}.liv .post table.gpu tbody tr:nth-child(2n) td{background:transparent}.liv .post table.gpu tbody.tier.is-sel>tr>*{background:rgb(var(--c-accent-rgb)/.08)}.liv .post table.gpu tbody.tier.is-sel>tr.tier__h>th{background:rgb(var(--c-accent-rgb)/.16)}.liv .np-both{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}@media (max-width:640px){.liv .post table.gpu,.liv .post table.gpu td.srccell{display:block}.liv .post table.gpu td{border-left:0}.liv table.gpu td[data-label=全部指标]{grid-template-columns:1fr}.liv table.gpu td[data-label=全部指标]:before{display:none}}.liv .nav__r .btn{white-space:nowrap;gap:6px}.liv .nav__r .btn svg{width:16px;height:16px}.liv .dir-switch .chip{border-radius:12px}.liv .src--3p{color:var(--c-text-body);background:transparent;border-color:var(--c-text-3);border-radius:999px}.liv .st{display:inline-flex;align-items:center;gap:4px;font:500 12px/1.4 var(--font-sans);color:var(--c-text-2)}.liv .cell-pend{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.liv .row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px}.liv .srclinks{display:flex;flex-direction:column;gap:2px}.liv .srclinks a{color:var(--c-link);font-size:12.5px;word-break:break-all}.liv table.gpu tr.is-com>td{background:rgb(var(--c-surface-rgb)/1)}.liv table.gpu tr.is-com>td:first-child{box-shadow:inset 3px 0 0 var(--c-text-3)}.liv table.gpu tr.is-com .mv__v{font-style:normal}.liv .sol--com{border-style:solid;border-color:var(--c-line-strong)}.liv .sol--com:before{background:repeating-linear-gradient(90deg,var(--c-text-3) 0 8px,transparent 8px 12px)}.liv .sol dd .pv{color:var(--c-text)}@media (max-width:640px){.liv table.gpu tbody.tier>tr.row{display:block;padding:10px 0 8px;border-top:1px solid var(--c-line-subtle)}.liv table.gpu tr.is-com>td:first-child{box-shadow:none}.liv table.gpu tr.is-com{box-shadow:inset 3px 0 0 var(--c-text-3)}}.liv .sol dl{grid-template-columns:108px 1fr}@media (max-width:640px){.liv .sol dl{grid-template-columns:1fr}.liv table.gpu tbody.tier>tr.row{display:flex;flex-direction:column}.liv table.gpu td[data-label=来源类型]{order:-2;padding-top:6px}.liv table.gpu td[data-label=核实日期]{order:-1}}.liv .sec-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin:32px 0 12px}.liv .sec-h h2,.liv .sec-h h3{margin:0;color:var(--c-text);font-size:var(--fs-h3,20px)}.liv .sec-h .chk{white-space:normal}.liv .muted{color:var(--c-text-2)}.liv .tiny{font-size:12px;color:var(--c-text-3)}.liv .crumb span{display:inline-flex;align-items:center;min-height:28px}.liv .crumb .sep{color:var(--c-text-3)}.liv .subcol{position:relative;display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:center;margin:28px 0 8px;padding:20px 20px 20px 24px;background:var(--c-surface);border:1px solid rgb(var(--col-rgb)/.45);border-radius:var(--r-lg)}.liv .subcol:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 3px 3px 0;background:var(--col)}.liv .subcol__k{display:inline-flex;align-items:center;gap:6px;font:600 12px/1.4 var(--font-mono);color:var(--col)}.liv .subcol__k svg{width:14px;height:14px}.liv .subcol h2{margin:6px 0;font-size:22px;line-height:1.3;color:var(--c-text)}.liv .subcol h2 a{text-decoration:none}.liv .subcol h2 a:hover{text-decoration:underline}.liv .subcol p{margin:0;color:var(--c-text-2);font-size:var(--fs-sm);line-height:1.65;max-width:62ch}.liv .subcol__dirs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.liv .subcol__dirs a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--c-line-strong);border-radius:999px;color:var(--c-text);font-size:14px;text-decoration:none;background:var(--c-bg)}.liv .subcol__dirs a svg{width:15px;height:15px;color:var(--col)}.liv .subcol__dirs a:hover{border-color:var(--col)}.liv .subcol__dirs a:focus-visible,.liv .subcol .btn:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:2px}.liv .subcol .src-note{grid-column:1/-1;margin:0}.liv .post-list{list-style:none;margin:0;padding:0;border-left:2px solid rgb(var(--col-rgb)/.6)}.liv .post-list li{padding:16px 0 16px 12px;border-bottom:var(--bd)}.liv .post-list .t{margin:6px 0 4px;font-size:17px;font-weight:700;color:var(--c-text)}.liv .post-list .d{font:12px/1 var(--font-mono);color:var(--c-text-3);float:right}.liv .post-list p{margin:0;font-size:var(--fs-sm);color:var(--c-text-2)}.liv .lab-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:4px;font:600 11px/1 var(--font-sans);color:var(--col);border:1px solid rgb(var(--col-rgb)/.55);background:rgb(var(--col-rgb)/.08)}.liv .col-eyebrow{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font:600 12px/1 var(--font-mono);color:var(--col);background:rgb(var(--col-rgb)/.12);border:1px solid rgb(var(--col-rgb)/.4)}.liv .col-eyebrow svg{width:14px;height:14px}.liv .col-head__title{font-size:36px!important;line-height:1.2!important}.liv .dtabs{border-bottom:var(--bd);margin-top:20px}.liv .dtabs__in{display:flex;gap:4px}.liv .dtabs a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;color:var(--c-text-2);font:600 15px/1 var(--font-sans);text-decoration:none;white-space:nowrap;box-shadow:inset 0 -3px 0 transparent}.liv .dtabs a svg{width:16px;height:16px;flex:none;color:var(--c-text-3)}.liv .dtabs a .n{font:400 12px/1 var(--font-mono);color:var(--c-text-3)}.liv .dtabs a:hover{color:var(--c-text);background:var(--c-surface)}.liv .dtabs a[aria-current=page]{color:var(--c-text);box-shadow:inset 0 -3px 0 var(--col)}.liv .dtabs a[aria-current=page] svg{color:var(--col)}.liv .dtabs a:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:-2px;border-radius:6px}.liv .seg{display:inline-flex;gap:4px;margin:16px 0 0;padding:4px;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:12px}.liv .seg a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:8px;color:var(--c-text-2);font:600 14px/1 var(--font-sans);text-decoration:none}.liv .seg a svg{width:15px;height:15px}.liv .seg a .n{font:400 12px/1 var(--font-mono);color:var(--c-text-3)}.liv .seg a[aria-current=page]{background:var(--c-surface-2);color:var(--c-text);box-shadow:inset 0 0 0 1px var(--col)}.liv .seg a[aria-current=page] svg{color:var(--col)}.liv .seg a:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:1px}.liv .filter{margin:20px 0 8px}.liv .filter__h h3{font-size:15px}.liv .acards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.liv .acard{display:grid;grid-template-columns:132px 1fr;gap:16px;padding:16px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg);text-decoration:none;color:inherit}.liv .acard:hover{border-color:rgb(var(--col-rgb)/.7)}.liv .acard:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:2px}.liv .cover{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--c-surface-2);border:1px solid var(--c-line)}.liv .cover svg.geo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.liv .cover .ci{position:absolute;right:8px;bottom:8px;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgb(var(--c-bg-rgb)/.8);color:var(--col)}.liv .cover .ci svg{width:16px;height:16px}.liv .acard h3{margin:4px 0 6px;font-size:16px;line-height:1.45;color:var(--c-text)}.liv .acard p{margin:0 0 8px;font-size:13.5px;line-height:1.6;color:var(--c-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.liv .acard .meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--c-text-3)}.liv .tiers-mini{display:inline-flex;gap:3px}.liv .tiers-mini i{display:inline-grid;place-items:center;min-width:28px;height:18px;padding:0 4px;border-radius:4px;font:600 10.5px/1 var(--font-mono);font-style:normal;color:var(--c-text-2);border:1px solid var(--c-line-strong)}.liv .tiers-mini i.on{color:var(--c-text);border-color:var(--col);background:rgb(var(--col-rgb)/.12)}.liv .draft{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font:600 11px/1 var(--font-sans);color:var(--c-text-2);border:1px dashed var(--c-text-3)}.liv .src{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;font:600 12px/1 var(--font-sans);white-space:nowrap;border:1px solid;vertical-align:1px}.liv .src svg{width:13px;height:13px;flex:none}.liv .src--off{color:var(--c-info);background:var(--c-info-bg);border-color:var(--c-info);border-radius:4px}.liv .src--doc{color:var(--c-info);background:transparent;border-color:rgb(var(--c-info-rgb)/.75);border-radius:4px;box-shadow:inset 3px 0 0 var(--c-info)}.liv .src--com{color:var(--c-text-2);background:var(--c-surface-2);border-color:var(--c-line-strong);border-radius:999px}.liv .tp{display:inline-flex;align-items:center;gap:3px;font:500 12px/1 var(--font-sans);color:var(--c-text-2);white-space:nowrap}.liv .tp svg{width:13px;height:13px}.liv .pend{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:1px dashed var(--c-warn);border-radius:4px;background:var(--c-warn-bg);color:var(--c-warn);font:600 12px/1 var(--font-sans);white-space:nowrap}.liv .pend:before{content:"?";display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;border:1.5px solid currentColor;font:800 9px/1 var(--font-sans)}.liv .nrec{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:1px solid rgb(var(--c-bad-rgb)/.7);border-radius:4px;background:transparent;color:var(--c-bad);font:500 12px/1 var(--font-sans);white-space:nowrap}.liv .nrec svg{width:13px;height:13px}.liv .risk{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:2px solid var(--c-bad);border-radius:4px;background:var(--c-bad-bg);color:var(--c-bad);font:700 12px/1 var(--font-sans);white-space:nowrap}.liv .risk svg{width:13px;height:13px}.liv .flag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:4px;font:500 12px/1 var(--font-sans);white-space:nowrap;color:var(--c-text);background:var(--c-surface-2);border:1px solid var(--c-line-strong)}.liv .flag svg{width:13px;height:13px;color:var(--c-text-2)}.liv .okv{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:4px;font:500 12px/1 var(--font-sans);color:var(--c-ok);background:var(--c-ok-bg);border:1px solid rgb(var(--c-ok-rgb)/.5);white-space:nowrap}.liv .okv svg{width:13px;height:13px}.liv .badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.liv .chk{font:12px/1.4 var(--font-mono);color:var(--c-text-3)}.liv code.tw{font:13px/1.5 var(--font-mono);color:var(--c-text);background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:4px;padding:1px 5px;word-break:break-word}.liv .rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.liv .rc{position:relative;display:flex;flex-direction:column;padding:18px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.liv .rc--com{box-shadow:inset 3px 0 0 var(--c-text-3)}.liv .rc--nrec{border-color:rgb(var(--c-bad-rgb)/.6)}.liv .rc__top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px}.liv .rc h4{margin:0 0 4px;font-size:17px;line-height:1.4;color:var(--c-text);word-break:break-word}.liv .rc h4 a{text-decoration:none}.liv .rc h4 a:hover{text-decoration:underline;color:var(--c-link)}.liv .rc .by{margin:0 0 12px;font-size:13px;color:var(--c-text-2)}.liv .rc dl{display:grid;grid-template-columns:96px 1fr;gap:9px 12px;margin:0;font-size:14px;line-height:1.6}.liv .rc dt{color:var(--c-text-3);font-size:13px}.liv .rc dd{margin:0;color:var(--c-text-body);word-break:break-word;min-width:0}.liv .rc dd .v{color:var(--c-text);font-weight:600}.liv .rc .more{margin-top:10px;padding-top:10px;border-top:1px dashed var(--c-line)}.liv .rc .more h5{margin:6px 0;font:600 12px/1.4 var(--font-mono);color:var(--c-text-3)}.liv .srcl{display:flex;flex-direction:column;gap:2px}.liv .srcl a{color:var(--c-link);font-size:13px;word-break:break-all}.liv .quant{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5}.liv .quant td{padding:6px 0;border-top:1px solid var(--c-line-subtle,#22222f);vertical-align:top}.liv .quant td:first-child{width:96px;padding-right:8px}.liv .rc__foot{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:auto;padding-top:12px;font-size:12px;color:var(--c-text-3)}.liv .fold-btn{display:none;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:var(--fold-h);margin-top:10px;padding:0 12px;border:1px solid var(--c-line-strong);border-radius:10px;background:var(--c-surface-2);color:var(--c-text);font:600 14px/1 var(--font-sans);cursor:pointer}.liv .fold-btn svg{width:18px;height:18px;transition:transform .15s;color:var(--c-text-2)}.liv .fold-btn[aria-expanded=true] svg{transform:rotate(180deg)}.liv .fold-btn:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:2px}.liv .fold-btn .cnt{font:400 12px/1 var(--font-mono);color:var(--c-text-2);margin-left:auto;margin-right:4px}.liv .fold-btn--always{display:flex}.liv .fold-btn--always[aria-expanded=false]+.more{display:none}.liv .grp{margin:28px 0 0}.liv .grp__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--c-surface-2);border:1px solid var(--c-line)}.liv .grp__h h3{margin:0;font-size:16px;color:var(--c-text)}.liv .grp__h .lic{font-size:13px;color:var(--c-text-2)}.liv .grp__h .n{margin-left:auto;font:12px/1 var(--font-mono);color:var(--c-text-3)}.liv .cmp-wrap{border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface)}.liv .cmp-scroll{overflow-x:auto;border-radius:var(--r-lg)}.liv .cmp-scroll:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:2px}.liv table.cmp{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;line-height:1.55;color:var(--c-text-body)}.liv table.cmp th,.liv table.cmp td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--c-line);word-break:break-word}.liv table.cmp thead th{position:sticky;top:0;background:var(--c-surface-2);color:var(--c-text);font-size:14px;border-bottom:1px solid var(--c-line-strong);min-width:220px}.liv table.cmp tbody th{position:sticky;left:0;z-index:1;background:var(--c-surface);color:var(--c-text-2);font:500 12.5px/1.5 var(--font-sans);width:96px;min-width:96px;border-right:1px solid var(--c-line)}.liv table.cmp thead th:first-child{left:0;z-index:2;min-width:96px;width:96px}.liv table.cmp td+td{border-left:1px solid var(--c-line-subtle,#22222f)}.liv .scroll-hint{display:none;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;color:var(--c-text-2);border-bottom:var(--bd)}.liv .scroll-hint svg{width:14px;height:14px}.liv .variant{margin:32px 0 0;padding:14px 16px;border:1px dashed var(--c-line-strong);border-radius:12px}.liv .variant>h3{margin:0 0 4px;font-size:16px;color:var(--c-text)}.liv .variant>p{margin:0 0 12px;font-size:13px;color:var(--c-text-2)}.liv .reco{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font:700 12px/1 var(--font-sans);color:var(--c-on-accent,#0B0B12);background:var(--c-accent)}.liv .spec{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.liv .spec .box{padding:16px;background:var(--c-surface);border:var(--bd);border-radius:12px}.liv .spec .box h3{margin:0 0 10px;font-size:15px;color:var(--c-text)}.liv .spec .row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0;font-size:13px;color:var(--c-text-2)}.liv .spec .row>span:last-child{flex:1 1 180px}.liv .cmpbar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.liv .sim-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:start}.liv .sim{display:flex;flex-direction:column;padding:20px;background:var(--c-surface);border:var(--bd);border-radius:var(--r-lg)}.liv .sim h4{margin:0;font-size:20px;color:var(--c-text)}.liv .sim .sub{margin:4px 0 14px;font-size:13.5px;color:var(--c-text-2)}.liv .kf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}.liv .kf div{padding:10px 12px;border-radius:10px;background:var(--c-bg);border:1px solid var(--c-line)}.liv .kf b{display:block;font:500 12px/1.4 var(--font-sans);color:var(--c-text-3);margin-bottom:4px}.liv .kf span{display:block;font:600 14.5px/1.45 var(--font-sans);color:var(--c-text)}.liv .kf small{display:block;margin-top:2px;font-size:12px;color:var(--c-text-2)}.liv .sim dl{display:grid;grid-template-columns:84px 1fr;gap:12px 14px;margin:0;font-size:14.5px;line-height:1.7}.liv .sim dt{color:var(--c-text-3);font-size:13.5px}.liv .sim dd{margin:0;color:var(--c-text-body)}.liv .sim dd ul{margin:0;padding-left:1.1em}.liv .sim dd li+li{margin-top:2px}.liv .sim .more dl,.liv .sim .extra dl{font-size:14px}.liv .sim__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center;margin-top:16px;padding-top:12px;border-top:var(--bd-subtle);font-size:13px;color:var(--c-text-3)}.liv .sim__foot a{color:var(--c-link)}.liv .ann{font:600 11px/1.3 var(--font-sans);color:var(--c-text-2);border:1px dashed var(--c-text-3);border-radius:4px;padding:2px 6px}.liv .compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.liv .compare figure{margin:0}.liv .compare figcaption{margin:0 0 8px;font:600 14px/1.4 var(--font-sans);color:var(--c-text)}.liv .compare img{width:100%;border:1px solid var(--c-line);border-radius:12px;display:block}@media (max-width:640px){.liv .col-head__title{font-size:26px!important}.liv .col-head__icon{width:44px!important;height:44px!important}.liv .crumb span[aria-current]{min-height:44px}.liv .subcol{grid-template-columns:1fr;padding:16px 16px 16px 20px}.liv .subcol h2{font-size:19px}.liv .subcol__dirs a{min-height:44px}.liv .subcol .btn{min-height:44px;width:100%;justify-content:center}.liv .dtabs{margin:16px -16px 0}.liv .dtabs__in{gap:0;padding:0 4px}.liv .dtabs a{flex:1 1 auto;min-width:0;padding:0 6px;gap:5px;font-size:15px}.liv .dtabs a .n{display:none}.liv .dtabs--noicon a svg{display:none}.liv .seg{display:flex;width:100%}.liv .seg a{flex:1 1 0;justify-content:center;min-height:44px;padding:0 6px}.liv .acards{grid-template-columns:1fr}.liv .acard{grid-template-columns:88px 1fr;gap:12px;padding:14px}.liv .acard h3{font-size:15.5px}.liv .rgrid{grid-template-columns:1fr;gap:12px}.liv .rc{padding:14px}.liv .rc dl{grid-template-columns:76px 1fr;gap:6px 10px;font-size:14px}.liv .rc .more{display:none}.liv .rc.is-open .more{display:block}.liv .fold-btn{display:flex}.liv .rc .desk-only{display:none}.liv .spec,.liv .cmpbar{grid-template-columns:1fr}.liv .scroll-hint{display:flex}.liv .grp__h .n{margin-left:0}.liv .sim-grid,.liv .compare,.liv .kf{grid-template-columns:1fr}.liv .sim dl{grid-template-columns:1fr;gap:2px}.liv .sim dd{margin-bottom:10px}}@media (min-width:641px){.liv .rc .mob-only{display:none}}.liv .fold-btn--always[aria-expanded=false]+.extra{display:none}.liv .extra{margin-top:8px}@media (min-width:641px){.liv .rc .more{border-top:0;padding-top:0;margin-top:9px}}@media (max-width:640px){.liv .col-eyebrow code{display:none}.liv .legend3{display:grid!important;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;font-size:13px}.liv .legend3>span:not([class]){color:var(--c-text-2)}}.liv .sim__foot a{display:inline-flex;align-items:center;gap:4px;min-height:44px}.liv .sim__foot a svg{width:14px;height:14px;flex:none}.liv .lab-chip{white-space:nowrap}.liv .lab-chip svg{width:12px;height:12px;flex:none}.liv .subcol .btn{white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.liv .subcol .btn svg{width:16px;height:16px;flex:none}.liv .rc--compact .fold-btn{display:flex}.liv .rc--compact .more{display:none}.liv .rc--compact.is-open .more{display:block;border-top:1px dashed var(--c-line-strong);padding-top:10px;margin-top:10px}.liv .rgrid--3{grid-template-columns:repeat(3,1fr);align-items:start}.liv .rgrid{align-items:start}@media (max-width:1000px){.liv .rgrid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.liv .rgrid--3{grid-template-columns:1fr}}.liv .cmp-link{margin:16px 0 0}.liv .cmp-link a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:1px solid var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-text-2);font-size:14px;text-decoration:none}.liv .cmp-link a b{color:var(--c-text)}.liv .cmp-link a svg{width:16px;height:16px;flex:none;color:var(--col)}.liv .cmp-link a svg:last-child{margin-left:auto;color:var(--c-text-2)}.liv .cmp-link a:hover{border-color:var(--col)}.liv .cmp-link a:focus-visible{outline:2px solid var(--c-focus,#F9A8D4);outline-offset:2px}.liv .sim__foot--aff{display:block}.liv .sim__foot--aff .aff-note{margin:0 0 8px;font-size:13px;color:var(--c-text-2)}.liv .sim__foot--aff .aff-note b{color:var(--c-text)}.liv .sim__meta{margin:10px 0 0;font-size:12.5px;color:var(--c-text-3)}.liv .sim-sec .callout{margin:0 0 16px}@media (max-width:640px){.liv section.desk-only{display:none}}@media (min-width:641px){.liv section.mob-only{display:none}}.liv .sim .extra{margin-top:10px}@media (max-width:640px){.liv .kf{gap:6px}.liv .kf div{display:grid;grid-template-columns:64px 1fr;-moz-column-gap:10px;column-gap:10px;align-items:baseline;padding:8px 12px}.liv .kf b{grid-row:span 2;margin:0}.liv .kf small{margin-top:0}}.liv .sim__foot--aff .link-muted{color:var(--c-text-3);min-height:44px}.liv .sim__foot--aff .link-muted:hover{color:var(--c-text-2)}.liv .sim__foot a.btn--primary{color:var(--c-on-accent)}.liv .cond{position:relative;border:1px dashed var(--c-text-3);border-radius:10px;padding:22px 12px 12px;margin:4px 0 0}.liv .cond__tag{position:absolute;top:-10px;left:10px;background:var(--c-surface)}.liv main>.cond{margin:0 0 16px}.liv main>.cond .callout{margin:0}.liv main>.cond .cond__tag{background:var(--c-bg)}.liv .btn--aff[aria-disabled=true]{cursor:default}.liv .cond .btn--aff[aria-disabled=true]{opacity:1!important;background:var(--c-accent)!important;color:var(--c-on-accent)!important;border-color:transparent!important;filter:none!important}.liv .sim__foot a.btn--secondary{color:var(--c-text)}.liv .rgrid--2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media (max-width:760px){.liv .rgrid--2{grid-template-columns:1fr}}.liv .sico{width:16px;height:16px;flex:none}.liv .st{display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 6px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;border:1.5px solid}.liv .st--sm{font-size:12px;padding:1px 8px 1px 5px}.liv .st--ok{color:var(--c-ok);background:var(--c-ok-bg);border-color:var(--c-ok)}.liv .st--meh{color:var(--c-ok);background:transparent;border-color:var(--c-ok)}.liv .st--no{color:var(--c-text-2);border-color:var(--c-line-strong);background:repeating-linear-gradient(135deg,var(--c-surface-2) 0 5px,#232332 5px 10px)}.liv .st--tbd{color:var(--c-warn);background:var(--c-warn-bg);border-color:var(--c-warn);border-style:dashed}.liv .slegend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:8px 0 6px;font-size:13px;color:var(--c-text-2)}.liv .slp{display:inline-flex;align-items:center;gap:6px;margin-right:12px}.liv .slegend__k{color:var(--c-text-3);font-size:12px;margin-right:4px}.liv .tstrip{margin:12px 0 4px}.liv .tstrip__k{margin:12px 0 -4px;font-size:13px;color:var(--c-text-3)}.liv .tstrip__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.liv .tstrip__row--1{grid-template-columns:1fr}.liv .tb{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:56px;min-width:0;padding:6px 8px;border-radius:8px;border:1.5px solid;font:inherit;text-align:left;cursor:pointer;color:var(--c-text);background:none}.liv .tb__t{font-size:13px;font-weight:600;color:var(--c-text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.liv .tb__s{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap}.liv .tb .ts{display:none}.liv .tb--ok{background:var(--c-ok-bg);border-color:var(--c-ok)}.liv .tb--ok .tb__s{color:var(--c-ok)}.liv .tb--meh{background:var(--c-surface);border-color:var(--c-ok)}.liv .tb--meh .tb__s{color:var(--c-ok)}.liv .tb--no{border-color:var(--c-line-strong);background:repeating-linear-gradient(135deg,var(--c-surface-2) 0 6px,#232332 6px 12px)}.liv .tb--no .tb__s{color:var(--c-text-2)}.liv .tb--tbd{background:var(--c-warn-bg);border-color:var(--c-warn);border-style:dashed}.liv .tb--tbd .tb__s{color:var(--c-warn)}.liv .tb:hover{filter:brightness(1.12)}.liv .tb[aria-expanded=true]{border-width:2px;border-color:var(--c-text);border-style:solid}.liv .tb[aria-expanded=true]:after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:var(--c-text)}.liv .tb:focus-visible{outline:none;box-shadow:var(--ring-focus)}.liv .tpanel{margin-top:10px;padding:10px 12px 12px;border-radius:8px;background:var(--c-surface-2);border:1px solid var(--c-line);border-top:2px solid var(--c-text)}.liv .tpanel h5{margin:0 0 8px;font-size:14px;color:var(--c-text)}.liv .tpanel dl{grid-template-columns:52px 1fr!important;gap:6px 10px!important;font-size:13px!important}.liv .tpanel dd{margin:0;color:var(--c-text-2);min-width:0;overflow-wrap:anywhere}.liv .tpanel a{color:var(--c-link)}.liv .pc h4,.liv .lc h4{margin-bottom:2px}.liv .pc .by{font-size:13px}.liv .hidden-note{display:flex;align-items:center;gap:6px;margin:14px 0 0;font-size:14px;color:var(--c-text-2)}.liv .hidden-note a{color:var(--c-link);min-height:44px;display:inline-flex;align-items:center}.liv .cmpgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.liv .cmpcell{padding:12px;background:var(--c-surface);border-radius:10px;border:1px solid var(--c-line)}.liv .cmpcell p{margin:8px 0 0;font-size:13px;color:var(--c-text-2)}.liv .cmpvs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.liv .cmpvs>div{padding:12px;background:var(--c-surface);border-radius:10px;border:1px solid var(--c-line)}.liv .cmpvs p{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:13px;color:var(--c-text-2)}.liv .k{color:var(--c-text-3);font-size:12px}.liv .stx{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.liv .stx>div{padding:12px;background:var(--c-surface);border-radius:10px;border:1px solid var(--c-line)}@media (max-width:560px){.liv .tb .tl{display:none}.liv .tb .ts{display:inline}.liv .tb{padding:6px;min-height:52px}.liv .tb__t,.liv .tb__s{font-size:12px}.liv .tstrip__row{gap:5px}.liv .cmpgrid{grid-template-columns:1fr 1fr}.liv .cmpvs,.liv .stx{grid-template-columns:1fr}.liv .slp{display:flex;width:100%;margin-right:0;align-items:flex-start}.liv .slp .st{flex:none}}.liv .tpanel dl{display:grid;margin:0}.liv .tpanel dt{color:var(--c-text-3)}.liv .stx .tb .tl{display:none}.liv .stx .tb .ts{display:inline}.liv .routes{margin:0;padding-left:1.1em}.liv .routes li{margin:0 0 4px}.liv .routes b,.liv .nolora{color:var(--c-text);font-weight:600}.liv .plist{padding-bottom:2px}.liv .st--inf{color:var(--c-ok);background:var(--c-ok-bg);border:3px double var(--c-ok);padding:1px 8px 1px 5px}.liv .st--inf.st--sm{padding:0 7px 0 4px}.liv .tb--inf{background:var(--c-ok-bg);border:5px double var(--c-ok);padding:3px 5px}.liv .tb--inf .tb__s{color:var(--c-ok)}.liv .tb--inf[aria-expanded=true]{padding:6px 8px}.liv .tb .ss{display:none}.liv .stx{grid-template-columns:repeat(2,1fr)}.liv .cmpgrid{grid-template-columns:repeat(5,1fr)}@media (max-width:560px){.liv .tb .sl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.liv .tb .ss{display:inline}.liv .tb--inf{padding:3px}.liv .cmpgrid{grid-template-columns:1fr 1fr}.liv .stx{grid-template-columns:1fr}}.liv .dsec{margin-top:30px}.liv .dsec .sec-h h2{display:flex;align-items:center;gap:8px}.liv .lora-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.liv .lora-links a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:10px;color:var(--c-text);text-decoration:none}.liv .lora-links a span{flex:1}.liv .lora-links a:hover{border-color:var(--c-line-strong)}.liv .lora-links a:focus-visible{outline:none;box-shadow:var(--ring-focus)}.liv .cmpvs--no>div:first-child{border-style:solid}.liv .vsl{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--c-text-2);line-height:1.6}.liv .cmpvs .tstrip{max-width:220px}@media (max-width:560px){.liv .lora-links{grid-template-columns:1fr}}.liv .seg a{min-height:44px}.liv span.tb{display:flex;flex-direction:column;cursor:default}.liv .st--infm{color:var(--c-ok);background:transparent;border:3px double var(--c-ok);padding:1px 8px 1px 5px}.liv .st--infm.st--sm{padding:0 7px 0 4px}.liv .tb--infm{background:var(--c-surface);border:5px double var(--c-ok);padding:3px 5px}.liv .tb--infm .tb__s{color:var(--c-ok)}.liv .tb--infm[aria-expanded=true]{padding:6px 8px}@media (max-width:560px){.liv .tb--infm{padding:3px}}.liv .rc--demo{border:1px dashed var(--c-line-strong);background:repeating-linear-gradient(135deg,var(--c-surface) 0 14px,var(--c-bg) 14px 28px)}.liv .demo-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:4px;background:var(--c-text);color:var(--c-bg);font:700 12px/1 var(--font-sans)}.liv .cmpgrid{grid-template-columns:repeat(6,1fr)}@media (max-width:560px){.liv .cmpgrid{grid-template-columns:1fr 1fr}.liv .tb--infm .tb__s,.liv .tb--inf .tb__s{gap:3px}}.liv .nrec-why{margin:8px 0 10px;padding:8px 10px;border-left:3px solid rgb(var(--c-bad-rgb)/.7);background:var(--c-surface-2);color:var(--c-text-2);font-size:14px;line-height:1.6;border-radius:0 4px 4px 0}.liv .nrec-why b{color:var(--c-text);font-weight:600}.liv .nrec-why__src{display:block;margin-top:2px;color:var(--c-text-3);font-size:12.5px}.liv .cfg{list-style:none;margin:0;padding:0}.liv .cfg li{margin:0 0 3px}.liv .cfg b{display:inline-block;min-width:4.2em;margin-right:6px;color:var(--c-text);font-weight:600}.liv .evl{margin:0;padding-left:1.1em}.liv .evl li{margin:0 0 7px}.liv .evl .src,.liv .evl .tp,.liv .evl .pend{vertical-align:middle;margin-right:4px}.liv .evl b{color:var(--c-text);font-weight:600}.liv .ver{margin:6px 0 0;font:12.5px/1.5 var(--font-mono);color:var(--c-text-3)}.liv .stage{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid var(--c-line-strong);border-radius:4px;color:var(--c-text-2);font:600 12px/1 var(--font-sans)}.liv .snap{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px dashed var(--c-warn);border-radius:4px;background:var(--c-warn-bg);color:var(--c-warn);font:600 12px/1 var(--font-sans)}.liv .rc dl.meta{margin-top:12px;padding-top:10px;border-top:1px dashed var(--c-line);font-size:13.5px}.liv .rc dl.meta dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--c-text-2)}.liv .rc .nrec-why+.by{margin-top:6px}.liv .rc__top{flex-wrap:wrap}.liv .okv,.liv .pend{max-width:100%;height:auto;min-height:22px;white-space:normal;line-height:1.35}.liv .evl .chk,.liv .tpanel .chk{white-space:normal;overflow-wrap:anywhere}.liv .grp+.grp{margin-top:22px}.liv .grp__art{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--c-line);border-radius:10px;background:var(--c-surface);font-size:14px;line-height:1.6;color:var(--c-text-2)}.liv .grp__art svg{flex:none;width:16px;height:16px;margin-top:4px;color:var(--c-text-3)}.liv .grp__art a{color:var(--c-link);text-decoration:underline;text-underline-offset:3px}.liv .grp__art .draft{margin-left:6px}.liv .rc h3{margin:0 0 4px;font-size:17px;line-height:1.4;color:var(--c-text);word-break:break-word}.liv .rc h3 a{text-decoration:none}.liv .rc h3 a:hover{text-decoration:underline;color:var(--c-link)}.liv .pc h3,.liv .lc h3{margin-bottom:2px}.liv .tpanel h4,.liv .tpanel h3{margin:0 0 8px;font-size:14px;color:var(--c-text)}.liv .style-intro{max-width:46em;margin:0 0 16px;font-size:15px;line-height:1.75;color:var(--c-text-2)}@media (max-width:639px){.liv .style-intro{font-size:14px}}.liv .rgrid--1{grid-template-columns:minmax(0,720px);align-items:start}.liv .lkrow{display:flex;flex-wrap:wrap;align-items:center;-moz-column-gap:2px;column-gap:2px;row-gap:0;margin:-10px 0}.liv .lk{color:var(--c-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;position:relative;word-break:normal;white-space:nowrap}.liv .lk:hover{color:var(--c-link-hover);text-decoration-thickness:2px}.liv .lk:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:3px}.liv .lk--row{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 4px;font-size:13px}.liv .lk:not(.lk--row):after{content:"";position:absolute;left:50%;top:50%;width:max(calc(100% + 8px),44px);height:44px;transform:translate(-50%,-50%)}.liv .lk-sep{color:var(--c-text-2);padding:0 2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.liv .lkin .lk-sep{padding:0 4px}.liv .lkrow--in{display:flex;margin:-6px 0 -10px}.liv.ttable{margin:28px 0;max-width:100%;min-width:0}.liv .ttable__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 4px}.liv .ttable__h h2,.liv .ttable__h h3{margin:0;font-size:20px;line-height:1.35;font-weight:700;color:var(--c-text)}.liv .ttable__basis{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--c-text-2);max-width:var(--w-prose)}.liv .ttable__basis b{color:var(--c-text);font-weight:600}.liv .ttable__wrap{margin:12px 0 0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:var(--bd);border-radius:var(--r-lg);background:var(--c-surface)}.liv .ttable__wrap:focus-visible{outline:none;box-shadow:var(--ring-focus)}.liv .ttable__t{width:100%;min-width:720px;border-collapse:collapse;margin:0;font-size:13px;line-height:1.5;display:table}.liv .ttable__t th,.liv .ttable__t td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:var(--bd-subtle);background:none}.liv .ttable__t thead th{font:600 12px/1.4 var(--font-mono);color:var(--c-text-3);background:var(--c-surface-2);white-space:nowrap}.liv .ttable__t tbody tr:last-child>*{border-bottom:0}.liv .ttable__t td .st{margin-bottom:4px}.liv .ttable__c0{width:30%;min-width:180px}.liv .ttable__n{display:block;font-weight:600;color:var(--c-text);font-size:14px}.liv .ttable__tags{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 0}.liv .ttable__by{display:block;margin-top:2px;font-weight:400;color:var(--c-text-3);font-size:12px}.liv .ttable__why{display:block;font-weight:400;color:var(--c-text-2);font-size:12px;line-height:1.5}.liv .ttable__t tr.is-nrec th{box-shadow:inset 3px 0 rgb(var(--c-bad-rgb)/.7)}.liv .ttable__hint{margin:8px 0 0;font-size:12px;color:var(--c-text-3)}.liv .ttable__src{margin:10px 0 0;padding:0;list-style:none;font-size:13px;color:var(--c-text-2);display:grid;gap:4px}.liv .ttable__src li{min-width:0;overflow-wrap:anywhere}.liv .ttable__src b{font-weight:600;color:var(--c-text);margin-right:6px}@media (min-width:761px){.liv .ttable__hint{display:none}}@media (max-width:640px){.post .liv .ttable__t{display:table}.post .liv .ttable__t thead{position:static;width:auto;height:auto;overflow:visible;clip:auto}.post .liv .ttable__t tbody{display:table-row-group}.post .liv .ttable__t tr{display:table-row;margin:0;border:0;border-radius:0;background:none}.post .liv .ttable__t td,.post .liv .ttable__t th{display:table-cell}.post .liv .ttable__t td:before{content:none}}.rtable-head h2{margin:0;font-weight:var(--fw-bold);font-size:var(--fs-h3);color:var(--c-text)}.post-item h2{margin:var(--sp-2) 0 var(--sp-1);font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--c-text);transition:color var(--dur-fast) var(--ease)}.vps-group__head h2{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--col, var(--c-col-ops))}.plan-card h3.plan-card__title{margin:0 0 var(--sp-3)}h2.ops-sub{margin:var(--sp-10) 0 var(--sp-4)}.plan-row__more.unfold14{margin-top:6px;font-size:var(--fs-xs)}.plan-row__more.unfold14 dl{margin-top:6px}.quote14{display:inline-flex;align-items:center;margin-right:6px;padding:0 6px;border:1px solid var(--c-line);border-radius:4px;font-size:12px;line-height:18px;color:var(--c-text-2);white-space:nowrap;vertical-align:1px}a.quote14{text-decoration:none}a.quote14:hover{color:var(--c-text);border-color:var(--c-text-3)}.post-item:hover h2{color:var(--c-link)}.footer .footer__h{margin:0 0 var(--sp-3);font:var(--fw-medium) var(--fs-xs)/1.4 var(--font-mono);color:var(--c-text-3);letter-spacing:.04em}.sub14,.sub14 [id]{scroll-margin-top:var(--scroll-offset, 120px)}
