/* Public pages only. Console and admin keep their independent theme. */
.model-official-tag { display:inline-flex; align-items:center; align-self:flex-start; flex:none; width:max-content; padding:2px 7px; border:1px solid var(--ok,#15803d); border-radius:5px; color:var(--ok,#15803d); background:var(--ok-dim,#f0fdf4); font-size:10px; line-height:1.5; font-weight:500; vertical-align:middle; }
html.site-public {
  --public-content-max: 1480px;
  --public-content-gutter: 32px;
  color-scheme: light;
  --bg-void: #fafafa;
  --bg-0: #fff;
  --bg-1: #fff;
  --bg-2: #f7f7f9;
  --bg-hover: #f2f2f6;
  --bg-glass: rgba(255, 255, 255, .96);
  --line-1: #e5e7eb;
  --line-2: #f0f0f3;
  --line-glow: #c7d2fe;
  --text-1: #17171c;
  --text-2: #555660;
  --text-3: #6b6d78;
  --text-on-accent: #fff;
  --brand: #4f46e5;
  --brand-strong: #4338ca;
  --brand-dim: #eef2ff;
  --accent: #4f46e5;
  --accent-strong: #4338ca;
  --accent-dim: #eef2ff;
  --violet: #6366f1;
  --grad-aurora: linear-gradient(#4f46e5, #4f46e5);
  --grad-text: linear-gradient(#17171c, #17171c);
  --grad-edge: linear-gradient(90deg, transparent, #e5e7eb, transparent);
  --ok: #15803d;
  --ok-dim: #f0fdf4;
  --warn: #a16207;
  --warn-dim: #fefce8;
  --err: #dc2626;
  --err-dim: #fef2f2;
  --info: #2563eb;
  --info-dim: #eff6ff;
  --shadow-1: 0 1px 3px rgba(16, 24, 40, .04);
  --shadow-2: 0 6px 24px rgba(16, 24, 40, .06);
  --shadow-3: 0 14px 40px rgba(16, 24, 40, .08);
  --edge-top: inset 0 1px 0 transparent;
  --edge-glow: inset 0 1px 0 transparent;
  --glow-brand: none;
  --glow-accent: none;
}
.site-shell .nav { background: var(--bg-glass); border-color: var(--line-1); backdrop-filter: blur(12px); }
.site-shell .nav.scrolled { box-shadow: var(--shadow-1); }
.site-shell .nav-inner { height: 72px; max-width: var(--public-content-max); gap: 24px; padding-inline: var(--public-content-gutter); }
.site-shell .logo { flex: none; gap: 8px; font-family: var(--font-sans); font-size: 21px; font-weight: 700; letter-spacing: -.04em; }
.site-shell .logo svg { flex: none; filter: none; }
.site-shell .nav-search { display: flex; flex: 1; max-width: 260px; min-width: 130px; align-items: center; gap: 9px; height: 38px; padding: 0 12px; border: 1px solid var(--line-1); border-radius: 8px; color: var(--text-3); background: var(--bg-2); }
.site-shell .nav-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; color: var(--text-1); font-size: 13px; }
.site-shell .nav-search input::placeholder { color: var(--text-3); }
.site-shell .nav-search:focus-within { border-color: var(--brand); outline: 2px solid var(--brand-dim); outline-offset: 1px; }
.site-shell .nav-search svg { flex: none; }
.site-shell .nav-links { flex: none; margin-left: auto; gap: 4px; }
.site-shell .nav-links a { padding: 8px 10px; font-size: 14px; font-weight: 500; }
.site-shell .nav-links a::after { display: none; }
.site-shell .nav-links a:hover { color: var(--brand); background: var(--brand-dim); }
.site-shell .nav-links a.on { color: var(--brand); }
.site-shell .nav-mobile-signin { display: none; }
.site-shell .nav-cta { flex: none; margin-left: 0; gap: 12px; }
.site-shell .nav-cta .link { font-size: 14px; white-space: nowrap; }
.site-shell .nav-balance { gap: 5px; }
.site-shell .btn { border-radius: 8px; letter-spacing: 0; }
.site-shell .nav .btn { min-height: 38px; padding-inline: 16px; font-size: 13px; }
.site-shell .btn-primary { background: var(--brand); color: var(--text-on-accent); box-shadow: none; border: 1px solid var(--brand); }
.site-shell .btn-primary::after { display: none; }
.site-shell .btn-primary:hover { background: var(--brand-strong); border-color: var(--brand-strong); transform: none; box-shadow: none; }
.site-shell .btn-ghost { background: var(--bg-1); box-shadow: none; }
.site-shell .btn-ghost:hover { background: var(--bg-2); box-shadow: none; transform: none; border-color: #d1d5db; }
.site-shell .notice { background: var(--brand-dim); color: var(--text-2); border-color: var(--line-1); font-size: 12px; }
.site-shell .notice a { color: var(--brand); }
.site-shell .footer { padding-block: 56px 28px; }
.site-shell .footer-grid { gap: 36px; }
.site-shell .footer h4 { text-transform: none; font-weight: 600; letter-spacing: 0; }
.site-shell .footer ul a, .site-shell .f-brand p { font-size: 13px; }
.site-shell .footer-bar { font-size: 12px; }
.site-shell .footer-bar a:hover { color: var(--brand); }
.site-shell .card::before { background: none; }
.site-shell .card:hover { transform: none; }
@media (max-width: 1300px) {
  html.site-public { --public-content-gutter: 24px; }
  .site-shell .nav-inner { gap: 16px; }
  .site-shell .nav-links .nav-secondary { display: none; }
}
@media (max-width: 1050px) {
  .site-shell .nav-search { display: none; }
  .site-shell .nav-links { margin-left: auto; }
}
@media (max-width: 800px) {
  html.site-public { --public-content-gutter: 20px; }
  .site-shell .nav-inner { gap: 12px; height: 64px; }
  .site-shell .nav-links { position: absolute; inset: 64px 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 20px 20px; background: var(--bg-1); border-bottom: 1px solid var(--line-1); box-shadow: var(--shadow-2); margin: 0; transform: none; opacity: 1; pointer-events: auto; }
  .site-shell #nav-toggle:checked ~ .nav-links { display: flex; }
  .site-shell .nav-links a, .site-shell .nav-links .nav-secondary { display: flex; min-height: 46px; padding: 10px 12px; border-bottom: 0; }
  .site-shell .nav-burger { display: inline-flex; order: 9; width: 36px; height: 36px; border-radius: 7px; }
  .site-shell #nav-toggle { display: block; position: absolute; width: 1px; height: 1px; clip: rect(0, 0, 0, 0); overflow: hidden; }
  .site-shell #nav-toggle:focus-visible ~ .nav-cta .nav-burger { outline: 2px solid var(--brand); outline-offset: 3px; }
  .site-shell .nav-cta { margin-left: auto; gap: 8px; }
  .site-shell .nav-cta .link { display: none; }
}
@media (max-width: 480px) {
  html.site-public { --public-content-gutter: 16px; }
  .site-shell .nav-inner { gap: 8px; }
  .site-shell .nav .logo { font-size: 19px; max-width: 96px; overflow: hidden; white-space: nowrap; }
  .site-shell .nav .logo svg { display: none; }
  .site-shell .nav .btn { padding-inline: 10px; min-height: 36px; font-size: 12px; }
  .site-shell .footer-grid { gap: 24px; }
}
