.tabs{min-width:0}
.tabs [role="tablist"]{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--groove);box-shadow:inset 0 1px 3px var(--shadow-06);margin-bottom:24px}
[role="tab"]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid var(--clear);border-radius:var(--r-sm);background:var(--clear);color:var(--muted);font-size:var(--fs-nav);text-align:left}
[role="tab"]:hover{color:var(--text)}
[role="tab"][aria-selected="true"]{background:var(--panel);border-color:var(--border);color:var(--text);box-shadow:0 2px 5px var(--shadow-06),inset 0 1px 0 var(--hl-white)}
[role="tabpanel"]{min-width:0}
.ticket-tabs{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.3fr);column-gap:40px;position:relative}
.ticket-item{display:contents}
.ticket-tabs [role="tab"]{grid-column:1;justify-content:flex-start;border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:64px;padding:16px 18px;background:var(--clear);box-shadow:none;color:var(--muted)}
.ticket-tabs [role="tab"][aria-selected="true"]{color:var(--text);background:var(--panel-side)}
.ticket-tabs [role="tab"][aria-selected="true"]::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:var(--r-xs);background:var(--accent)}
.ticket-tabs [role="tabpanel"]{grid-column:2;grid-row:1 / span 6;padding:32px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float),inset 0 1px 0 var(--hl-white)}
.ticket-code{font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;flex:none}
.ticket-status{width:16px;height:16px;border:1px solid var(--muted);border-radius:var(--r-round);display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:var(--fs-tiny)}
.ticket-tabs p{line-height:1.85;color:var(--muted);margin-bottom:24px}
.fact-row{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px}
.badge,.tag{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;overflow-wrap:anywhere;min-height:24px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--r-xs);background:var(--panel-side);color:var(--text-2);font-size:var(--fs-xs);line-height:1.5}
.badge--accent{background:var(--accent-08);border-color:var(--accent-ring);color:var(--accent-dark)}
.badge--mono{font-family:var(--font-mono)}
.toc-tabs{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;min-height:var(--toc-height);max-width:100%;overflow-x:auto;padding:10px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);box-shadow:0 8px 24px -18px var(--shadow-16);scrollbar-width:thin}
.toc-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;white-space:nowrap;border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-nav);flex-shrink:0}
.toc-tabs a.is-current{background:var(--text);color:var(--on-ink)}
.toc-tabs.toc-static{position:static}
body:has(.toc-tabs) section[id]{scroll-margin-top:var(--anchor-offset)}
.faq{border-top:1px solid var(--border)}
.faq details{border-bottom:1px solid var(--border);background:var(--clear)}
.faq summary{position:relative;cursor:pointer;list-style:none;padding:22px 40px 22px 0;min-height:64px;font-weight:var(--weight-semibold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:20px;font-family:var(--font-mono);font-size:var(--fs-lede);color:var(--muted)}
.faq details[open] summary::after{content:"−"}
.faq details[open]{background:var(--panel-side)}
.faq details p{padding:0 24px 24px 0;max-width:800px;color:var(--muted);line-height:1.85}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:inset 0 1px 0 var(--hl-white),0 20px 40px -30px var(--shadow-12)}
.plan-card--current{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text),var(--shadow-float)}
.plan-card--value{background:linear-gradient(180deg,var(--panel-hi),var(--panel))}
.plan-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}
.plan-card__name{font-weight:var(--weight-semibold);font-size:var(--fs-body)}
.plan-card__price{font-family:var(--font-display);font-size:var(--fs-statement);font-weight:var(--weight-display);line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan-card__price small{font-family:var(--font-body);font-size:var(--fs-nav);font-weight:var(--weight-body);color:var(--muted);letter-spacing:0}
.plan-card__traffic{margin-top:12px;font-family:var(--font-mono);font-size:var(--fs-body)}
.plan-card__facts{display:grid;gap:12px;margin:24px 0;color:var(--muted);font-size:var(--fs-nav)}
.plan-card .btn-ghost{margin-top:auto;align-self:flex-start}
.plan-note{margin-top:24px;color:var(--muted);line-height:1.8}
.table-scroll{overflow-x:auto;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);box-shadow:inset 0 1px 0 var(--hl-white)}
.data-table,.route-table{width:100%;min-width:680px;border-collapse:collapse;font-size:var(--fs-nav);text-align:left}
.data-table th,.data-table td,.route-table th,.route-table td{padding:16px 20px;border-bottom:1px solid var(--border-soft);word-break:keep-all;color:var(--text-2)}
.table-scroll th{white-space:nowrap;color:var(--text);background:var(--panel-side);font-weight:var(--weight-semibold)}
.table-scroll td:first-child{color:var(--text);font-weight:var(--weight-medium)}
.data-table tr:last-child td,.route-table tr:last-child td{border-bottom:0}
.route-group th{background:var(--groove);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em}
.prose>.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}
.platform-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.platform-card{padding:24px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:inset 0 1px 0 var(--hl-white),0 10px 24px -20px var(--shadow-12)}
.platform-card__icon{width:28px;height:28px;display:block;color:var(--text-2)}
.platform-card__name{font-weight:var(--weight-semibold)}
.platform-card .btn-ghost{font-size:var(--fs-ui);padding-inline:12px}
.platform-note{color:var(--muted);margin-bottom:24px;line-height:1.8}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-card{display:flex;flex-direction:column;gap:18px;padding:24px;background:var(--panel);border-top:1px solid var(--border);border-radius:var(--r-md);box-shadow:inset 0 1px 0 var(--hl-white)}
.article-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-xs)}
.article-card h3{font-size:var(--fs-brand);margin:0;line-height:1.6}
.article-card p{color:var(--muted);font-size:var(--fs-nav);line-height:1.8}
.article-card__link{margin-top:auto;display:inline-flex;align-items:center;min-height:28px;font-size:var(--fs-nav);font-weight:var(--weight-semibold)}
.article-card__link:hover{text-decoration:underline;text-underline-offset:4px}
.callout{margin:24px 0;padding:20px 24px;background:var(--panel-side);border:1px solid var(--border);border-left:3px solid var(--text);border-radius:var(--r-sm);box-shadow:inset 0 1px 0 var(--hl-white);color:var(--text-2);line-height:1.85}
.callout p{margin:0}
.promo-block{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-float),inset 0 1px 0 var(--hl-white)}
.promo-block__brand{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--weight-display)}
.promo-block p{margin-top:8px;color:var(--muted);line-height:1.8}
.promo-block .btn-primary,.promo-block .btn-ghost{flex-shrink:0;white-space:nowrap}
.float-cta{position:fixed;z-index:40;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 18px;border-radius:var(--r-pill);background:var(--text);color:var(--on-ink);font-size:var(--fs-nav);font-weight:var(--weight-semibold);box-shadow:var(--shadow-pop),inset 0 1px 0 var(--on-ink-hl);white-space:nowrap}
.float-cta:hover{background:var(--ink-hover)}
body:has(.float-cta)::after{content:"";display:block;height:calc(88px + env(safe-area-inset-bottom,0px))}
.fig-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:64px}
.fig-cell{padding:24px 32px 32px;border-right:1px solid var(--border);overflow:hidden}
.fig-cell:last-child{border-right:0}
.fig-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.08em}
.fig-art{display:block;width:100%;height:190px;margin-top:16px}
.fig-top{fill:var(--panel-hi);stroke:var(--hl-white);stroke-width:1}
.fig-left{fill:var(--groove);stroke:var(--hl-white);stroke-width:1}
.fig-right{fill:var(--border);stroke:var(--hl-white);stroke-width:1}
.fig-edge{fill:none;stroke:var(--border);stroke-width:1}
.decor-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--grid-line) 1px,var(--clear) 1px),linear-gradient(to bottom,var(--grid-line) 1px,var(--clear) 1px);background-size:32px 32px}
.preview-section{padding-top:56px;padding-bottom:56px;border-top:1px solid var(--border)}
.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.swatch{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-xs);overflow-wrap:anywhere}
.swatch__color{display:block;height:64px;border:1px solid var(--border);border-radius:var(--r-xs)}
.swatch-bg{background:var(--bg)}.swatch-top{background:var(--bg-top)}.swatch-bottom{background:var(--bg-bottom)}
.swatch-panel{background:var(--panel)}.swatch-hi{background:var(--panel-hi)}.swatch-side{background:var(--panel-side)}
.swatch-side2{background:var(--panel-side-2)}.swatch-groove{background:var(--groove)}.swatch-border{background:var(--border)}
.swatch-accent{background:var(--accent)}.swatch-accent-dark{background:var(--accent-dark)}.swatch-companion{background:var(--accent-2)}
.swatch-text{background:var(--text)}.swatch-text2{background:var(--text-2)}.swatch-muted{background:var(--muted)}
.swatch-success{background:var(--success)}.swatch-warn{background:var(--warn)}.swatch-error{background:var(--error)}
.preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-block:24px}
.type-sample{padding-block:24px;border-bottom:1px solid var(--border)}
.type-sample p{margin-top:12px;color:var(--muted)}
.type-display{font-family:var(--font-display);font-size:var(--fs-statement);font-weight:var(--weight-display);letter-spacing:-.02em;line-height:1.2}
.preview-note{margin-block:16px;color:var(--muted);font-size:var(--fs-nav);line-height:1.8}
.preview-footer{margin-top:48px}
.preview-focus{outline:2px solid var(--text);outline-offset:3px}
@media(max-width:1040px){
  .platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:768px){
  .plan-grid,.article-grid{grid-template-columns:1fr}
  .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticket-tabs{display:block}.ticket-item{display:block}
  .ticket-tabs [role="tab"]{width:100%;min-height:64px}
  .ticket-tabs [role="tabpanel"]{padding:24px 20px;border-radius:0;box-shadow:inset 0 1px 0 var(--hl-white)}
  .fig-band{grid-template-columns:1fr;margin-bottom:32px}
  .fig-cell{border-right:0;border-bottom:1px solid var(--border);padding-inline:16px}
  .promo-block{flex-direction:column;align-items:flex-start;padding:24px}
  .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .float-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .platform-card{padding:20px 14px}.platform-card .btn-ghost{padding-inline:10px;font-size:var(--fs-xs)}
  .plan-card{padding:24px}.preview-section{padding-top:40px;padding-bottom:40px}
  .toc-tabs{border-radius:var(--r-sm)}
}