.tabs-browser{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start;min-width:0}
.tab-rail{display:flex;flex-direction:column;gap:12px;min-width:0}
[role="tablist"]{min-width:0}
.tab-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:12px 20px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--panel);color:var(--text);font-weight:var(--weight-semibold);text-align:left;line-height:1.4;box-shadow:inset 0 1px 0 var(--white);transition:background-color var(--duration-fast),color var(--duration-fast)}
.tab-button:hover{background:var(--panel-2)}
.tab-button[aria-selected="true"]{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--white);box-shadow:var(--shadow-soft)}
.tab-button:focus-visible{outline-offset:4px}
.tab-panel{min-width:0;padding:40px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-hero);box-shadow:var(--shadow-soft)}
.tab-panel p{line-height:1.85;color:var(--muted)}
.tab-panel p+p{margin-top:16px}
.tab-strip{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:4px;scrollbar-width:thin}
.tab-strip .tab-button{white-space:nowrap;flex-shrink:0}
.fact-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.badge,.fact-chip,.article-tag{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--ac-08);color:var(--accent-dark);font-size:var(--size-caption);font-weight:var(--weight-semibold);line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.badge-success{background:var(--panel);color:var(--success);border-color:var(--success)}
.badge-warn{background:var(--panel);color:var(--warn);border-color:var(--warn)}
.badge-error{background:var(--panel);color:var(--error);border-color:var(--error)}
.badge-dark{background:var(--accent-dark);color:var(--white);border-color:var(--accent-dark)}
.diagram-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--panel-2);border-radius:var(--r-card);padding:24px;margin-top:24px}
.diagram-node{padding:10px 16px;background:var(--panel);border-radius:var(--r-pill);font-size:var(--size-small);font-weight:var(--weight-semibold)}
.diagram-arrow{color:var(--accent);flex-shrink:0}
.toc-tabs{position:sticky;top:0;z-index:10;display:flex;gap:8px;align-items:center;overflow-x:auto;max-width:100%;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-soft);scrollbar-width:thin;margin-bottom:40px;overscroll-behavior-x:contain}
.toc-tabs.toc-static{position:static}
.toc-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;flex-shrink:0;white-space:nowrap;border-radius:var(--r-pill);color:var(--text);font-weight:var(--weight-medium);text-decoration:none}
.toc-tabs a:hover{background:var(--ac-08)}
.toc-tabs a.is-current{color:var(--white);background:var(--accent-dark)}
body:has(.toc-tabs) section[id]{scroll-margin-top:var(--toc-offset)}
.faq-list{display:grid;gap:12px}
.faq-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-soft)}
.faq-item summary{position:relative;cursor:pointer;padding:20px 56px 20px 24px;min-height:56px;font-weight:var(--weight-semibold);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:24px;top:20px;font-family:var(--font-mono);font-size:20px;color:var(--accent)}
.faq-item[open] summary::after{content:"−"}
.faq-answer{padding:0 24px 24px;color:var(--muted);line-height:1.8}
.faq-answer p+p{margin-top:16px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-hero);padding:32px;box-shadow:var(--shadow-soft)}
.plan-card.is-current{border:2px solid var(--accent);padding:31px;background:linear-gradient(180deg,var(--white),var(--panel));box-shadow:0 26px 60px -22px var(--ac-18)}
.plan-badge{align-self:flex-start;display:inline-flex;padding:5px 14px;background:var(--accent-dark);color:var(--white);border-radius:var(--r-pill);font-size:var(--size-caption);font-weight:var(--weight-semibold);margin-bottom:20px}
.plan-card h3{font-size:var(--size-h3)}
.plan-price{margin:8px 0 24px;font-family:var(--font-display);font-size:40px;font-weight:var(--weight-display);line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan-price small{font-size:var(--size-small);font-weight:var(--weight-medium);color:var(--muted);letter-spacing:0}
.plan-facts{display:grid;gap:12px;color:var(--muted);padding-bottom:28px}
.plan-facts li{display:flex;gap:10px;align-items:baseline}
.plan-facts li::before{content:"✓";color:var(--accent);flex-shrink:0}
.plan-card .btn{margin-top:auto;align-self:flex-start}
.plan-note{margin-top:24px;color:var(--muted);font-size:var(--size-small);line-height:1.8}
.table-scroll{overflow-x:auto;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--r-window);background:var(--panel);box-shadow:var(--shadow-soft)}
.data-table,.route-table{width:100%;border-collapse:collapse;min-width:620px;font-size:var(--size-small)}
.data-table caption,.route-table caption{text-align:left;padding:20px 24px;font-weight:var(--weight-bold);color:var(--text)}
.table-scroll th,.table-scroll td,.data-table th,.data-table td,.route-table th,.route-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--border);word-break:keep-all;color:var(--text)}
.table-scroll th,.data-table th,.route-table th{white-space:nowrap;background:var(--panel-2);font-weight:var(--weight-semibold)}
.data-table tr:last-child td,.route-table tr:last-child td{border-bottom:0}
.route-table .region-heading th{background:var(--accent-dark);color:var(--white);padding-block:12px}
.prose>.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}
.route-preview{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start}
.route-preview>*{min-width:0}
.region-panel{background:var(--accent-dark);color:var(--white);border-radius:var(--r-hero);padding:40px;box-shadow:var(--shadow-hero);min-width:0}
.region-stack{display:grid;gap:16px}
.region-card{padding:24px;border:1px solid var(--od-22);border-radius:var(--r-window);background:var(--od-06)}
.region-card h3{font-size:var(--size-h3);margin-bottom:10px}
.region-card p{color:var(--od-78)}
.coverage-pair{display:flex;flex-wrap:wrap;gap:32px;margin-top:28px}
.coverage-pair strong{display:block;font-size:40px;line-height:1.2;font-family:var(--font-display);font-weight:var(--weight-display)}
.coverage-pair p{margin-top:8px;color:var(--muted);font-size:var(--size-small)}
.platform-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.platform-card{display:flex;flex-direction:column;align-items:flex-start;gap:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-window);box-shadow:var(--shadow-soft);padding:24px;min-width:0}
.platform-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--r-card);background:var(--ac-08);color:var(--accent)}
.platform-card h3{font-size:var(--size-body);margin:0}
.platform-card .btn{font-size:var(--size-caption);padding-inline:16px;margin-top:auto}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-card{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-window);padding:28px;box-shadow:var(--shadow-soft)}
.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:var(--size-caption);color:var(--muted);margin-bottom:20px}
.article-card h3{font-size:var(--size-h3)}
.article-card h3 a{color:var(--text);text-decoration:none}
.article-card h3 a:hover{color:var(--accent)}
.article-card p{color:var(--muted);font-size:var(--size-small);line-height:1.8}
.article-link{display:inline-flex;align-items:center;min-height:32px;margin-top:20px;font-size:var(--size-small);font-weight:var(--weight-semibold)}
.blog-hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:32px;align-items:start}
.blog-hero>*{min-width:0}
.blog-hero h1{font-size:clamp(36px,4vw,52px);line-height:1.2}
.blog-meta{padding:24px;border:1px solid var(--border);border-radius:var(--r-window);background:var(--panel);display:grid;gap:16px;font-size:var(--size-small)}
.callout{margin:24px 0;padding:24px 28px;border-left:4px solid var(--accent);border-radius:0 var(--r-card) var(--r-card) 0;background:var(--panel-2);color:var(--text);line-height:1.8}
.callout p+p{margin-top:12px}
.promo-block{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:40px;padding:32px;background:var(--accent-dark);color:var(--white);border-radius:var(--r-hero);box-shadow:var(--shadow-hero)}
.promo-block strong{font-family:var(--font-display);font-size:var(--size-h3);font-weight:var(--weight-display)}
.promo-block p{margin-top:8px;color:var(--od-78)}
.promo-block .btn{flex-shrink:0;white-space:nowrap}
.float-cta{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:var(--r-pill);background:var(--accent);color:var(--white);text-decoration:none;font:var(--weight-semibold) 15px/1 var(--font-body);box-shadow:0 18px 36px -14px var(--ac-glow),inset 0 1px 0 var(--od-22);transition:transform var(--duration-fast),background-color var(--duration-fast)}
.float-cta:hover{transform:translateY(-1px);background:var(--accent-dark)}
body:has(.float-cta)::after{content:"";display:block;height:calc(88px + env(safe-area-inset-bottom,0px))}
.preview-block{padding-top:56px;padding-bottom:56px}
.preview-heading{margin-bottom:28px}
.preview-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.swatch{min-width:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}
.swatch-sample{height:72px;border-bottom:1px solid var(--border)}
.swatch code{display:block;background:var(--clear);padding:12px;font-size:var(--size-caption)}
.sw-bg{background:var(--bg)}
.sw-top{background:var(--bg-top)}
.sw-bottom{background:var(--bg-bottom)}
.sw-panel{background:var(--panel)}
.sw-panel2{background:var(--panel-2)}
.sw-border{background:var(--border)}
.sw-accent{background:var(--accent)}
.sw-dark{background:var(--accent-dark)}
.sw-apricot{background:var(--apricot)}
.sw-text{background:var(--text)}
.sw-muted{background:var(--muted)}
.sw-success{background:var(--success)}
.sw-warn{background:var(--warn)}
.sw-error{background:var(--error)}
.sw-white{background:var(--white)}
.sw-chrome{background:var(--chrome)}
.sw-slab{background:var(--slab)}
.sw-arch1{background:linear-gradient(var(--arch-1),var(--arch-1-deep))}
.sw-arch2{background:linear-gradient(var(--arch-2),var(--arch-2-deep))}
.sw-arch3{background:linear-gradient(var(--arch-3),var(--arch-3-deep))}
.sw-od{background:linear-gradient(90deg,var(--od-92),var(--od-78),var(--od-62),var(--od-48),var(--od-36),var(--od-22),var(--od-14),var(--od-08),var(--od-06),var(--od-04)),var(--accent-dark)}
.sw-shadow{background:linear-gradient(90deg,var(--shade-24),var(--shade-40),var(--ink-shadow)),var(--panel)}
.sw-ac{background:linear-gradient(90deg,var(--ac-06),var(--ac-08),var(--ac-10),var(--ac-12),var(--ac-18),var(--ac-glow)),var(--panel)}
.sw-lines{background:linear-gradient(90deg,var(--line-soft),var(--line-2),var(--flag-ring)),var(--panel)}
.sw-flags{background:linear-gradient(90deg,var(--flag-red) 0% 33%,var(--flag-white) 33% 66%,var(--flag-blue) 66% 100%)}
.sw-glow{background:var(--arch-glow)}
.preview-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.preview-dark{padding:24px;border-radius:var(--r-window);background:var(--accent-dark);color:var(--white)}
.type-display{font-family:var(--font-display);font-size:40px;font-weight:var(--weight-display);line-height:1.2}
.type-caption{font-family:var(--font-mono);font-size:var(--size-caption);letter-spacing:.08em;color:var(--muted)}
.preview-symbols{position:absolute;width:0;height:0;overflow:hidden}
.preview-dropdown{position:relative;list-style:none}
.preview-dropdown>summary{list-style:none}
.preview-dropdown>summary::-webkit-details-marker{display:none}
.preview-dropdown[open] .more-menu{display:block}
.preview-stack{display:grid;gap:24px}
@media(max-width:1080px){
  .platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .platform-card:last-child{grid-column:auto}
}
@media(max-width:768px){
  .tabs-browser{grid-template-columns:minmax(0,1fr);gap:24px}
  .tab-rail{flex-direction:row;overflow-x:auto;max-width:100%;padding:4px}
  .tab-rail .tab-button{white-space:nowrap;flex-shrink:0}
  .tab-panel{padding:24px}
  .route-preview{grid-template-columns:minmax(0,1fr);gap:32px}
  .region-panel{padding:24px}
  .plan-grid,.article-grid{grid-template-columns:minmax(0,1fr)}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .preview-colors{grid-template-columns:repeat(3,minmax(0,1fr))}
  .promo-block{flex-direction:column;align-items:flex-start;padding:24px}
  .blog-hero{grid-template-columns:minmax(0,1fr)}
  .blog-meta{grid-row:1;display:flex;flex-wrap:wrap}
  .blog-hero h1{font-size:32px}
}
@media(max-width:640px){
  .preview-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-card{padding:16px;gap:16px}
  .platform-card .btn{padding-inline:12px;font-size:11px}
  .float-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .toc-tabs{border-radius:var(--r-card)}
  .plan-card{padding:24px}
  .plan-card.is-current{padding:23px}
  .callout{padding:20px}
  .preview-block{padding-top:40px;padding-bottom:40px}
}