/* GENERATED by tools/build_css.py - edit src/shell.css or css/openrouter_theme.css, then rebuild. */
/* ---- base theme (from openrouter_theme.css) ---- */
/* TokenCenter OpenRouter-Grade Design System
   Exact visual parity with openrouter.ai:
   - Deep obsidian canvas with ambient radial gradients
   - High-contrast typography & tight letter-spacing
   - Frosted glassmorphic navigation
   - Mac-style terminal hero code runner
   - High-density model cards & monospace telemetry tables
*/

:root {
  --bg-canvas: #030712;
  --bg-card: #0b0f19;
  --bg-card-subtle: #0e1526;
  --bg-card-hover: #131c31;
  --bg-card-active: #17223b;
  --border-subtle: rgba(255, 255, 255, 0.07);
  --border-medium: rgba(255, 255, 255, 0.12);
  --border-focus: #3b82f6;
  
  --text-main: #ffffff;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  
  --primary-blue: #3b82f6;
  --primary-indigo: #6366f1;
  --primary-purple: #8b5cf6;
  --emerald: #10b981;
  --emerald-glow: rgba(16, 185, 129, 0.2);
  --amber: #f59e0b;
  --red: #ef4444;

  --grad-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  --grad-text: linear-gradient(135deg, #ffffff 40%, #94a3b8 100%);
  --grad-glow: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(139, 92, 246, 0.15) 100%);

  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: var(--bg-canvas);
  background-image: 
    radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.10) 0%, transparent 50%),
    radial-gradient(circle at 85% 15%, rgba(139, 92, 246, 0.07) 0%, transparent 40%),
    radial-gradient(circle at 15% 25%, rgba(16, 185, 129, 0.05) 0%, transparent 35%);
  background-attachment: fixed;
  color: var(--text-main);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Glassmorphic Navbar */
.nav-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(3, 7, 18, 0.80);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-subtle);
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.brand-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.brand-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--grad-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.4);
}

.brand-title {
  color: #ffffff;
}

.brand-title span {
  background: var(--grad-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 22px;
}

.nav-link {
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.15s ease;
}

.nav-link:hover,
.nav-link.active {
  color: #ffffff;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.search-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 5px 10px;
  color: var(--text-muted);
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

.search-pill:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--border-medium);
  color: var(--text-secondary);
}

.kbd-shortcut {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.7rem;
  font-family: var(--font-mono);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-primary {
  background: #ffffff;
  color: #030712;
}

.btn-primary:hover {
  background: #f1f5f9;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.3);
}

.btn-gradient {
  background: var(--grad-primary);
  color: #ffffff;
  box-shadow: 0 0 16px rgba(59, 130, 246, 0.3);
}

.btn-gradient:hover {
  opacity: 0.95;
  box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-subtle);
  color: #ffffff;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--border-medium);
}

/* Hero Section */
.hero-section {
  padding: 72px 0 48px;
  text-align: center;
  position: relative;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 14px;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: 100px;
  color: #93c5fd;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 24px;
}

.pulse-dot-green {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

.hero-headline {
  font-size: 3.4rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.1;
  margin-bottom: 20px;
  color: #ffffff;
}

.hero-headline .text-gradient {
  background: var(--grad-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-subtitle {
  font-size: 1.15rem;
  color: var(--text-secondary);
  max-width: 680px;
  margin: 0 auto 36px;
  line-height: 1.6;
}

.hero-cta-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 48px;
}

/* Metric Ticker / Social Proof Band */
.metrics-ticker {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  background: rgba(11, 15, 25, 0.6);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 20px 28px;
  margin: 40px auto;
  max-width: 1000px;
}

@media (max-width: 768px) {
  .metrics-ticker { grid-template-columns: 1fr 1fr; }
  .hero-headline { font-size: 2.4rem; }
}

.ticker-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ticker-val {
  font-size: 1.5rem;
  font-weight: 800;
  font-family: var(--font-mono);
  color: #ffffff;
  letter-spacing: -0.02em;
}

.ticker-lbl {
  font-size: 0.78rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
}

/* Interactive Hero Terminal Code Runner */
.terminal-wrapper {
  max-width: 860px;
  margin: 0 auto 60px;
  background: #080c15;
  border: 1px solid var(--border-medium);
  border-radius: 10px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  text-align: left;
}

.terminal-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: #0a0f1d;
  border-bottom: 1px solid var(--border-subtle);
}

.terminal-dots {
  display: flex;
  gap: 6px;
}

.terminal-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.dot-red { background: #ef4444; }
.dot-yellow { background: #f59e0b; }
.dot-green { background: #10b981; }

.terminal-tabs {
  display: flex;
  gap: 4px;
}

.term-tab {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.term-tab.active {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.terminal-code {
  padding: 18px 20px;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  color: #93c5fd;
  line-height: 1.6;
  overflow-x: auto;
}

.code-keyword { color: #f472b6; }
.code-str { color: #34d399; }
.code-comment { color: #64748b; font-style: italic; }

/* OpenRouter-Style Model Card Grid */
.models-section {
  padding: 40px 0 60px;
}

.section-head-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 20px;
  flex-wrap: wrap;
}

.section-title-large {
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ffffff;
}

.section-desc-subtle {
  font-size: 0.95rem;
  color: var(--text-secondary);
  margin-top: 4px;
}

.filter-pills-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.filter-pill-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 5px 14px;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.filter-pill-btn:hover,
.filter-pill-btn.active {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--border-medium);
  color: #ffffff;
}

.or-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 20px;
}

.or-model-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.or-model-card:hover {
  background: var(--bg-card-hover);
  border-color: var(--border-medium);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.5);
}

.or-model-card.spotlight {
  border-color: rgba(59, 130, 246, 0.4);
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.08) 0%, var(--bg-card) 100%);
}

.card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.card-title-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.card-model-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.card-model-slug {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--text-muted);
}

.card-tags {
  display: flex;
  gap: 6px;
}

.tag-badge {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tag-code { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
.tag-free { background: rgba(16, 185, 129, 0.15); color: #6ee7b7; }
.tag-frontier { background: rgba(139, 92, 246, 0.15); color: #c4b5fd; }

.card-desc {
  font-size: 0.86rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.card-specs-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.spec-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.spec-lbl {
  font-size: 0.72rem;
  color: var(--text-muted);
  text-transform: uppercase;
}

.spec-val {
  font-size: 0.88rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: #ffffff;
}

.card-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.footer-speed-tag {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  font-family: var(--font-mono);
  color: #34d399;
}

/* Site Footer */
.main-footer {
  border-top: 1px solid var(--border-subtle);
  background: #02050d;
  padding: 60px 0 36px;
  margin-top: 80px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 48px;
}

@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

.footer-col h4 {
  font-size: 0.85rem;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 14px;
}

.footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-col a {
  color: var(--text-muted);
  font-size: 0.85rem;
  transition: color 0.15s ease;
}

.footer-col a:hover {
  color: #ffffff;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle);
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* ==== TokenCenter shared shell (header / footer / mobile menu) ====
   Source: /workspace/tokenctr_layoutA/src/shell.css. Built into css/shell.css and appended to css/site.css
   by tools/build_css.py. Everything is scoped under #tc-header / #tc-footer / .tc-* so page CSS can't leak in. */
:root{--tc-bg:#030712;--tc-surface:#0b0f19;--tc-line:rgba(255,255,255,.08);--tc-text:#fff;--tc-muted:#94a3b8;
  --tc-grad:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);--tc-ember:linear-gradient(135deg,#fbbf24 0%,#f97316 48%,#ef4444 100%);--tc-max:1200px;
  --tc-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
html{-webkit-text-size-adjust:100%}
body{margin:0}
.tc-skip{position:absolute;left:-9999px;top:0;z-index:1001;background:#fff;color:#030712;padding:8px 14px;border-radius:0 0 8px 0;font:600 14px/1.2 var(--tc-font)}
.tc-skip:focus{left:0}
#tc-header,#tc-header *,#tc-footer,#tc-footer *{box-sizing:border-box}
#tc-header{position:sticky;top:0;z-index:1000;display:block;width:100%;max-width:none;margin:0;padding:0;
  background:rgba(3,7,18,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--tc-line);
  font:500 15px/1.2 var(--tc-font);color:var(--tc-text)}
#tc-header .tc-header__inner{max-width:var(--tc-max);margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;gap:24px;flex-wrap:nowrap}
#tc-header a,#tc-footer a{text-decoration:none}
#tc-header .tc-brand,#tc-footer .tc-brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:#fff;font:700 18px/1 var(--tc-font);letter-spacing:-.02em;white-space:nowrap}
/* brand mark: ember gradient + flame (shared Solaro/COSMOS fire accent; used in header and footer) */
.tc-brand__mark{width:26px;height:26px;border-radius:8px;flex:none;display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12.6 2.2c.5 3-1.6 4.6-1.6 6.9 0 1.3.9 2.3 2.1 2.3 1.5 0 2.4-1.2 2.2-3 2.2 1.7 3.6 4.2 3.6 6.8A6.9 6.9 0 0 1 12 22a6.9 6.9 0 0 1-6.9-6.8c0-4.4 3.4-7 4.9-9.8.6-1.1 1.4-2.2 2.6-3.2z'/%3E%3C/svg%3E") center/15px 15px no-repeat,
  var(--tc-ember);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 0 14px rgba(249,115,22,.35)}
.tc-brand__word{color:#fff}
.tc-brand__word span{background:var(--tc-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#8b5cf6}
/* faint ember hairline under the header */
#tc-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(249,115,22,.0) 15%,rgba(249,115,22,.45) 50%,rgba(239,68,68,.0) 85%,transparent 100%)}
#tc-header .tc-nav{display:block;flex:1 1 auto;min-width:0;margin:0;padding:0;background:none;border:0;position:static}
#tc-header .tc-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
#tc-header .tc-nav__list>li{margin:0;padding:0;position:relative}
#tc-header .tc-nav__list>li.tc-nav__acct{margin-left:auto}
#tc-header .tc-nav__link,#tc-header .tc-dd__btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:0;border-radius:8px;background:none;
  color:var(--tc-muted);font:500 15px/1 var(--tc-font);white-space:nowrap;cursor:pointer;transition:color .15s,background .15s}
#tc-header .tc-nav__link:hover,#tc-header .tc-dd__btn:hover,#tc-header .tc-dd--open>.tc-dd__btn{color:#fff;background:rgba(255,255,255,.05)}
#tc-header .tc-nav__link[aria-current="page"],#tc-header .tc-current>.tc-dd__btn{color:#fff}
#tc-header .tc-nav__link[aria-current="page"]::after,#tc-header .tc-current>.tc-dd__btn::after{content:"";position:absolute;left:12px;right:12px;bottom:-13px;height:2px;border-radius:2px;background:var(--tc-ember)}
#tc-header .tc-dd__chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .15s}
#tc-header .tc-dd--open>.tc-dd__btn .tc-dd__chev{transform:translateY(1px) rotate(225deg)}
/* dropdown panels */
#tc-header .tc-dd__panel{position:absolute;top:calc(100% + 12px);left:-8px;min-width:300px;padding:8px;border-radius:14px;
  background:#0a0f1d;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .14s,transform .14s,visibility 0s linear .14s;z-index:1002}
#tc-header .tc-dd__panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}  /* hover bridge */
#tc-header .tc-dd__panel--wide{min-width:560px}
#tc-header .tc-dd--open>.tc-dd__panel{opacity:1;visibility:visible;transform:none;transition:opacity .14s,transform .14s}
html:not(.tc-js) #tc-header .tc-dd:hover>.tc-dd__panel,html:not(.tc-js) #tc-header .tc-dd:focus-within>.tc-dd__panel{opacity:1;visibility:visible;transform:none}
#tc-header .tc-dd__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
#tc-header .tc-dd__list--2{grid-template-columns:1fr 1fr}
#tc-header .tc-dd__list a{display:block;padding:10px 12px;border-radius:9px;color:var(--tc-muted);white-space:normal}
#tc-header .tc-dd__list a strong{display:block;color:#e5e7eb;font:600 14px/1.3 var(--tc-font)}
#tc-header .tc-dd__list a span{display:block;margin-top:2px;color:#7c8798;font:400 13px/1.35 var(--tc-font)}
#tc-header .tc-dd__list a:hover,#tc-header .tc-dd__list a:focus-visible{background:rgba(255,255,255,.05)}
#tc-header .tc-dd__list a:hover strong{color:#fff}
#tc-header .tc-dd__list a[aria-current="page"]{background:rgba(249,115,22,.08)}
#tc-header .tc-dd__list a[aria-current="page"] strong{color:#fdba74}
#tc-header .tc-cta{flex:none;display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:9px;background:var(--tc-grad);color:#fff;font:600 14px/1 var(--tc-font);white-space:nowrap;box-shadow:0 4px 14px rgba(99,102,241,.35)}
#tc-header .tc-cta:hover{filter:brightness(1.1)}
#tc-header a:focus-visible,#tc-header button:focus-visible,#tc-footer a:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
#tc-header .tc-menu-btn{display:none;flex:none;width:42px;height:42px;margin:0;padding:0;border:1px solid var(--tc-line);border-radius:9px;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;align-items:center;justify-content:center}
.tc-menu-btn__bars,.tc-menu-btn__bars::before,.tc-menu-btn__bars::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .2s,background .2s}
.tc-menu-btn__bars::before,.tc-menu-btn__bars::after{content:"";position:absolute;left:0}
.tc-menu-btn__bars::before{top:-6px}.tc-menu-btn__bars::after{top:6px}
#tc-header .tc-menu-btn[aria-expanded="true"] .tc-menu-btn__bars{background:transparent}
#tc-header .tc-menu-btn[aria-expanded="true"] .tc-menu-btn__bars::before{transform:translateY(6px) rotate(45deg)}
#tc-header .tc-menu-btn[aria-expanded="true"] .tc-menu-btn__bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1000px) and (min-width:861px){
  #tc-header .tc-header__inner{gap:14px}
  #tc-header .tc-nav__link,#tc-header .tc-dd__btn{padding:0 9px;font-size:14.5px}
}
@media (max-width:860px){
  #tc-header .tc-header__inner{gap:10px;padding:0 14px;height:60px}
  #tc-header .tc-brand{margin-right:auto}
  #tc-header .tc-cta{height:36px;padding:0 12px;font-size:13.5px}
  /* drawer (with JS) / static list (without JS) */
  #tc-header .tc-nav{position:absolute;left:0;right:0;top:100%;background:#050a17;box-shadow:0 18px 40px rgba(0,0,0,.6);border-bottom:1px solid var(--tc-line);max-height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain}
  .tc-js #tc-header .tc-menu-btn{display:inline-flex}
  .tc-js #tc-header .tc-nav{display:none}
  .tc-js #tc-header.tc-open .tc-nav{display:block}
  html:not(.tc-js) #tc-header .tc-nav{position:static;display:none}
  #tc-header .tc-nav__list{flex-direction:column;align-items:stretch;gap:0;padding:8px 14px 18px}
  #tc-header .tc-nav__list>li{border-bottom:1px solid rgba(255,255,255,.06)}
  #tc-header .tc-nav__list>li.tc-nav__acct{margin-left:0;border-bottom:0}
  #tc-header .tc-nav__link,#tc-header .tc-dd__btn{width:100%;height:52px;padding:0 6px;font-size:16px;justify-content:space-between;border-radius:0;background:none!important;color:#e5e7eb}
  #tc-header .tc-nav__link[aria-current="page"]::after,#tc-header .tc-current>.tc-dd__btn::after{left:-14px;right:auto;top:14px;bottom:14px;width:3px;height:auto}
  #tc-header .tc-dd__panel{position:static;min-width:0;padding:0 0 10px;border:0;border-radius:0;background:none;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;transition:none}
  #tc-header .tc-dd__panel::before{display:none}
  #tc-header .tc-dd--open>.tc-dd__panel{display:block}
  #tc-header .tc-dd__list--2{grid-template-columns:1fr}
  #tc-header .tc-dd__list a{padding:10px 8px}
  #tc-header .tc-dd__list a span{display:none}
  #tc-header .tc-dd__list a strong{font-weight:500;font-size:15px;color:#cbd5e1}
}
@media (max-width:360px){#tc-header .tc-brand__word{font-size:16px}#tc-header .tc-cta{padding:0 10px}}
#tc-footer{display:block;width:100%;max-width:none;margin:64px 0 0;padding:0;background:#02050d;border-top:1px solid var(--tc-line);color:var(--tc-muted);font:400 14px/1.6 var(--tc-font);text-align:left}
#tc-footer .tc-footer__inner{max-width:var(--tc-max);margin:0 auto;padding:48px 20px 28px;display:grid;grid-template-columns:minmax(200px,1.2fr) 3fr;gap:32px}
#tc-footer .tc-footer__brand p{margin:12px 0 0;max-width:32ch;color:var(--tc-muted);font-size:14px}
#tc-footer .tc-footer__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;background:none}
#tc-footer h2{margin:0 0 12px;padding:0;color:#fff;font:600 13px/1.2 var(--tc-font);letter-spacing:.06em;text-transform:uppercase;background:none;-webkit-text-fill-color:#fff}
#tc-footer ul{list-style:none;margin:0;padding:0}
#tc-footer li{margin:0 0 8px;padding:0}
#tc-footer .tc-footer__col a{color:var(--tc-muted);font-size:14px}
#tc-footer .tc-footer__col a:hover{color:#fff}
#tc-footer .tc-footer__legal{grid-column:1/-1;margin:8px 0 0;padding-top:20px;border-top:1px solid var(--tc-line);font-size:13px;color:#64748b}
@media (max-width:860px){
  #tc-footer .tc-footer__inner{grid-template-columns:1fr;padding:36px 16px 24px;gap:24px}
  #tc-footer .tc-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
main[tabindex="-1"]:focus{outline:none}
/* overflow guards: wide data tables scroll inside themselves instead of widening the page */
table.catalog-table{display:block;max-width:100%;overflow-x:auto}
@media (max-width:860px){
  main table,.container table{display:block;max-width:100%;overflow-x:auto}
  pre{max-width:100%;overflow-x:auto}
  img,video,canvas{max-width:100%}
}
main{overflow-wrap:break-word}
body table.catalog-table{min-width:0}
