:root{--color-bg: #ffffff;--color-fg: #0f1115;--color-muted: #545968;--color-accent: #2563eb;--color-border: #e5e7eb;--max-width: 72rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Sans", "Noto Sans CJK SC", "Noto Sans CJK JP", sans-serif;--font-mono: "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{--color-bg: #0f1115;--color-fg: #e6e8eb;--color-muted: #9aa3b2;--color-accent: #60a5fa;--color-border: #2a2f3a}}*{box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-fg);min-height:100vh;display:flex;flex-direction:column}main{flex:1;max-width:var(--max-width);margin:0 auto;padding:2rem 1.25rem;width:100%}a{color:var(--color-accent);text-decoration:none}a:hover,a:focus{text-decoration:underline}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-fg);color:var(--color-bg);padding:.5rem 1rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg)}.site-header nav{max-width:var(--max-width);margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.site-header .brand{font-weight:700;font-size:1.125rem;color:var(--color-fg)}.site-header ul{display:flex;list-style:none;margin:0;padding:0;gap:1.25rem;flex-wrap:wrap}.site-header li a{color:var(--color-fg)}.locale-switcher{position:relative;margin-left:auto}.locale-switcher summary{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;font-size:.9rem;color:var(--color-fg);background:var(--color-bg);list-style:none;user-select:none}.locale-switcher summary::-webkit-details-marker{display:none}.locale-switcher summary:after{content:"▾";font-size:.7em;color:var(--color-muted)}.locale-switcher summary:hover,.locale-switcher[open] summary{border-color:var(--color-accent)}.locale-switcher .locale-flag{font-size:1rem;line-height:1}.locale-switcher ul{position:absolute;right:0;top:calc(100% + .25rem);min-width:12rem;padding:.25rem 0;margin:0;list-style:none;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 4px 16px #00000014;display:flex;flex-direction:column;gap:0;z-index:50}.locale-switcher ul a{display:block;padding:.5rem .875rem;color:var(--color-fg);text-decoration:none;font-size:.9rem}.locale-switcher ul a:hover,.locale-switcher ul a:focus{background:var(--color-border);text-decoration:none}.locale-switcher ul a[aria-current=page]{color:var(--color-accent);font-weight:600}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg);margin-top:4rem}.footer-grid{max-width:var(--max-width);margin:0 auto;padding:2rem 1.25rem 1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem}.footer-grid h2{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin:0 0 .75rem}.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.footer-grid a{color:var(--color-fg)}.copyright{max-width:var(--max-width);margin:0 auto;padding:1rem 1.25rem 2rem;color:var(--color-muted);font-size:.875rem}h1{font-size:2.25rem;line-height:1.2;margin-top:0}h2{font-size:1.5rem;line-height:1.3;margin-top:2rem}h3{font-size:1.25rem;line-height:1.4}p,ul,ol{font-size:1rem}code{font-family:var(--font-mono);font-size:.9em;background:#7882961f;padding:.1em .3em;border-radius:3px}pre{background:#78829614;padding:1rem;border-radius:6px;overflow-x:auto}pre code{background:transparent;padding:0}.answer-capsule{background:#2563eb14;border-left:3px solid var(--color-accent);padding:1rem 1.25rem;margin:1.5rem 0;border-radius:4px}button,.button{display:inline-block;padding:.625rem 1.25rem;font-size:1rem;font-weight:600;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;border-radius:6px;cursor:pointer;text-decoration:none}.button.secondary{background:transparent;color:var(--color-accent)}table{border-collapse:collapse;width:100%;margin:1.5rem 0}th,td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left}th{background:#78829614;font-weight:600}.fallback-banner{background:#eab3081f;border-left:3px solid #eab308;padding:.75rem 1rem;margin:0 0 1.5rem;border-radius:4px;font-size:.9375rem}.hub-list{list-style:none;padding:0;margin:2rem 0;display:flex;flex-direction:column;gap:.5rem}.hub-list li{border:1px solid var(--color-border);border-radius:6px;transition:border-color .15s}.hub-list li:hover{border-color:var(--color-accent)}.hub-list a{display:block;padding:1rem 1.25rem;color:var(--color-fg);text-decoration:none}.hub-list strong{display:block;color:var(--color-accent);font-size:1.0625rem;margin-bottom:.25rem}.hub-list-desc{display:block;color:var(--color-muted);font-size:.9375rem}.hub-list-date{display:block;color:var(--color-muted);font-size:.8125rem;margin-top:.25rem;font-variant-numeric:tabular-nums}.article-meta{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.875rem}.article-meta p{margin:.25rem 0}.meta-label{color:var(--color-fg);font-weight:600}.breadcrumb{margin:1rem auto 2rem;max-width:70ch;font-size:.875rem;color:var(--color-muted)}.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem}.breadcrumb li{display:flex;align-items:center}.breadcrumb li:not(:last-child):after{content:"›";margin-left:.5rem;color:var(--color-muted)}.breadcrumb a{color:var(--color-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-accent);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--color-fg);font-weight:500}main:has(.hero){max-width:none;padding:0}.hero,.migration-banner,.features,.pricing-teaser,.final-cta{max-width:var(--max-width);margin:0 auto;padding:4rem 1.5rem}.hero{text-align:center;padding-top:5rem;padding-bottom:3rem}.eyebrow{display:inline-block;margin:0 0 1.25rem;font-size:.8125rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.eyebrow-warning{color:#b45309}@media(prefers-color-scheme:dark){.eyebrow-warning{color:#fbbf24}}.hero-headline{margin:0 auto 1.5rem;max-width:26ch;font-size:clamp(2.25rem,4.5vw + 1rem,4rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--color-fg)}.hero-subheadline{margin:0 auto 2.5rem;max-width:48rem;font-size:clamp(1.0625rem,.5vw + 1rem,1.25rem);color:var(--color-muted);line-height:1.55}.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0 0 3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.25rem;border-radius:.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .05s ease;border:1px solid transparent;white-space:nowrap}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover,.btn-primary:focus{background:var(--color-fg);border-color:var(--color-fg)}.btn-secondary{background:transparent;color:var(--color-fg);border-color:var(--color-border)}.btn-secondary:hover,.btn-secondary:focus{border-color:var(--color-accent);color:var(--color-accent)}.btn-small{padding:.5rem .875rem;font-size:.9rem}.trust-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--color-muted)}.trust-strip li{display:inline-flex;align-items:center;gap:.4rem}.trust-strip li:before{content:"✓";font-weight:700;color:var(--color-accent)}.migration-banner{border-radius:1rem;background:#b453090f;border:1px solid rgba(180,83,9,.15);padding:2rem 1.75rem;max-width:calc(var(--max-width) - 2rem);margin:1.5rem auto;text-align:left}@media(prefers-color-scheme:dark){.migration-banner{background:#fbbf240d;border-color:#fbbf242e}}.migration-banner h2{margin:0 0 .75rem;font-size:clamp(1.4rem,1.5vw + 1rem,1.875rem);font-weight:700;letter-spacing:-.01em}.migration-banner p{margin:0 0 1.25rem;color:var(--color-muted);max-width:56rem}.migration-links{display:flex;flex-wrap:wrap;gap:.5rem 2rem;font-weight:500}.migration-links a{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-accent);text-decoration:none}.migration-links a:hover,.migration-links a:focus{text-decoration:underline}.features h2{text-align:center;font-size:clamp(1.75rem,2vw + 1rem,2.5rem);font-weight:700;letter-spacing:-.015em;margin:0 auto 3rem;max-width:32ch}.feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.feature-grid{grid-template-columns:repeat(4,1fr)}}.feature-card{padding:1.75rem 1.5rem;border:1px solid var(--color-border);border-radius:.875rem;background:var(--color-bg);display:flex;flex-direction:column;transition:border-color .15s ease}.feature-card:hover{border-color:var(--color-accent)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;background:#2563eb1a;color:var(--color-accent);margin-bottom:1.25rem}@media(prefers-color-scheme:dark){.feature-icon{background:#60a5fa1f}}.feature-card h3{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600}.feature-card p{margin:0 0 1.25rem;font-size:.9375rem;color:var(--color-muted);line-height:1.55;flex:1}.feature-link{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;font-size:.875rem;font-weight:500;color:var(--color-accent)}.pricing-teaser{text-align:center}.pricing-teaser h2{margin:0 auto .75rem;font-size:clamp(1.75rem,2vw + 1rem,2.5rem);font-weight:700;letter-spacing:-.015em;max-width:32ch}.pricing-teaser .lede{margin:0 auto 3rem;max-width:48rem;color:var(--color-muted)}.pricing-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:768px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}.pricing-card{padding:2rem 1.5rem;border:1px solid var(--color-border);border-radius:.875rem;background:var(--color-bg);text-align:left;display:flex;flex-direction:column}.pricing-card-featured{border-color:var(--color-accent);position:relative}.pricing-card-featured:before{content:"Pro";position:absolute;top:-.75rem;left:50%;transform:translate(-50%);padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pricing-card h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.pricing-price{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0 0 1rem;color:var(--color-fg)}.pricing-card p{margin:0 0 1.5rem;font-size:.9375rem;color:var(--color-muted);line-height:1.55;flex:1}.final-cta{text-align:center;padding-top:3rem;padding-bottom:5rem}.final-cta h2{margin:0 auto .75rem;font-size:clamp(1.75rem,2vw + 1rem,2.5rem);font-weight:700;letter-spacing:-.015em;max-width:28ch}.final-cta p{margin:0 auto 2rem;max-width:42rem;color:var(--color-muted)}article blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--color-accent);background:#2563eb0a;border-radius:0 .5rem .5rem 0;color:var(--color-fg)}@media(prefers-color-scheme:dark){article blockquote{background:#60a5fa0f}}article blockquote p{margin:0}article blockquote strong:first-child{display:inline-block;margin-right:.25em;color:var(--color-accent);font-weight:700}article table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem;-webkit-overflow-scrolling:touch}article table thead{background:#00000008}@media(prefers-color-scheme:dark){article table thead{background:#ffffff0a}}article table th,article table td{padding:.6rem .875rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}article table th{font-weight:600;color:var(--color-fg)}article table tbody tr:nth-child(2n){background:#00000004}@media(prefers-color-scheme:dark){article table tbody tr:nth-child(2n){background:#ffffff05}}article pre{padding:1rem 1.25rem;border-radius:.5rem;background:#0f172a;color:#e2e8f0;overflow-x:auto;font-size:.875rem;line-height:1.55}article code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:.25em;background:#0000000d}@media(prefers-color-scheme:dark){article code{background:#ffffff0f}}article pre code{background:transparent;padding:0;border-radius:0;font-size:inherit}.content-layout{display:block;max-width:var(--max-width);margin:0 auto}.content-main{min-width:0}@media(min-width:1024px){.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 14rem;gap:3rem;align-items:start}}.toc{display:none}@media(min-width:1024px){.toc{display:block;position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;font-size:.875rem;padding-left:1rem;border-left:1px solid var(--color-border)}}.toc-title{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.toc nav ul{list-style:none;padding:0;margin:0}.toc nav li{margin:0}.toc nav a{display:block;padding:.3rem 0 .3rem .75rem;margin-left:-.75rem;border-left:2px solid transparent;color:var(--color-muted);text-decoration:none;font-weight:500;line-height:1.35;overflow-wrap:anywhere;word-break:normal}.toc nav a:hover,.toc nav a:focus{color:var(--color-accent);border-left-color:var(--color-accent);text-decoration:none}.toc-h3 a{padding-left:1.75rem!important;margin-left:-.75rem;font-size:.8125rem;font-weight:400}article{max-width:70ch;margin-inline:auto}.content-layout article{max-width:none;margin-inline:0}.content-layout>.content-main>.breadcrumb{max-width:none;margin-inline:0}article h2{margin-top:2.5rem;margin-bottom:.75rem;font-size:clamp(1.375rem,1vw + 1rem,1.625rem);letter-spacing:-.01em}article h3{margin-top:2rem;margin-bottom:.5rem;font-size:1.125rem}article>p,article>ul,article>ol{max-width:70ch}article ul,article ol{padding-left:1.5em}article li{margin:.35em 0}article hr{margin:3rem auto;max-width:8rem;border:0;border-top:1px solid var(--color-border)}article sup a{text-decoration:none;padding:0 .15em}article sup a:hover,article sup a:focus{text-decoration:underline}.footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pricing-table-section{margin:0 0 3rem;padding:0}.pricing-table-header{text-align:center;margin-bottom:2rem}.pricing-table-header h2{margin:0 0 .5rem;font-size:clamp(1.5rem,1.5vw + 1rem,2rem);font-weight:700;letter-spacing:-.01em}.pricing-table-lede{margin:0 auto;max-width:42rem;color:var(--color-muted);font-size:.9375rem}.pricing-cards{list-style:none;margin:0 0 3rem;padding:0;display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:720px){.pricing-cards{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.pricing-card{position:relative;display:flex;flex-direction:column;padding:1.75rem 1.5rem;border:1px solid var(--color-border);border-radius:.875rem;background:var(--color-bg)}.pricing-card.is-featured{border-color:var(--color-accent);border-width:2px;padding:1.6875rem 1.4375rem}.featured-badge{position:absolute;top:-.75rem;left:50%;transform:translate(-50%);padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.pricing-card .tier-name{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600}.tier-tagline{margin:0 0 1.25rem;color:var(--color-muted);font-size:.875rem;line-height:1.45}.tier-price{margin-bottom:1.5rem}.tier-price-amount{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--color-fg)}.tier-price-unit{margin-left:.2rem;font-size:.9rem;color:var(--color-muted);font-weight:500}.tier-price-yearly{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0 0;font-size:.85rem;color:var(--color-muted)}.save-badge{display:inline-flex;align-items:center;padding:.1rem .5rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#10b9811f;color:#047857;border-radius:999px}@media(prefers-color-scheme:dark){.save-badge{background:#34d39926;color:#6ee7b7}}.tier-price-local{margin:.35rem 0 0;font-size:.8rem;color:var(--color-muted)}.tier-cta{margin-top:auto;align-self:stretch;text-align:center;justify-content:center}.comparison-heading{margin:2.5rem 0 1rem;font-size:1.125rem;font-weight:600;text-align:center;color:var(--color-fg)}.pricing-matrix-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:.75rem;-webkit-overflow-scrolling:touch}.pricing-matrix{width:100%;border-collapse:collapse;display:table;margin:0;font-size:.9rem;background:var(--color-bg)}.pricing-matrix thead th{background:#00000006;text-align:left;padding:.75rem 1rem;font-weight:600;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border)}@media(prefers-color-scheme:dark){.pricing-matrix thead th{background:#ffffff0a}}.pricing-matrix th.matrix-tier-col{text-align:center;color:var(--color-fg);text-transform:none;font-size:.95rem}.pricing-matrix th.matrix-tier-col.is-featured{color:var(--color-accent)}.pricing-matrix tbody .matrix-cat-row th{padding:1rem 1rem .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:600;background:transparent;border-bottom:1px solid var(--color-border)}.pricing-matrix th.matrix-feature{padding:.6rem 1rem;font-weight:500;text-align:left;color:var(--color-fg);border-bottom:1px solid var(--color-border);background:transparent;text-transform:none;font-size:.9rem;letter-spacing:normal}.pricing-matrix td.matrix-cell{padding:.6rem 1rem;text-align:center;font-size:.9rem;border-bottom:1px solid var(--color-border);color:var(--color-fg)}.pricing-matrix td.matrix-cell.is-bool{font-weight:700}.pricing-matrix td.matrix-cell.is-bool.is-true{color:var(--color-accent)}.pricing-matrix td.matrix-cell.is-bool.is-false{color:var(--color-muted);font-weight:400}.pricing-matrix tbody:last-child tr:last-child th,.pricing-matrix tbody:last-child tr:last-child td{border-bottom:0}.sticky-cta{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:90;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1rem;background:var(--color-fg);color:var(--color-bg);border-radius:999px;box-shadow:0 8px 24px #0003;font-size:.9rem;max-width:calc(100vw - 2rem)}.sticky-cta-btn{color:var(--color-bg);font-weight:600;text-decoration:none;padding:.5rem .875rem;background:var(--color-accent);border-radius:999px;white-space:nowrap}.sticky-cta-btn:hover,.sticky-cta-btn:focus{text-decoration:none;filter:brightness(1.1)}.sticky-cta-dismiss{background:transparent;border:0;color:var(--color-bg);font-size:1.25rem;line-height:1;padding:.35rem .5rem;cursor:pointer;opacity:.7;border-radius:50%}.sticky-cta-dismiss:hover,.sticky-cta-dismiss:focus{opacity:1;background:#ffffff1a}@media(max-width:480px){.sticky-cta{bottom:.5rem;font-size:.85rem}.sticky-cta-btn{padding:.5rem .75rem}}
