/* Shared public-site surfaces. Console styles are deliberately separate. */
body.public-glass {
  --ink: #20344e;
  --muted: #596b82;
  --line: rgba(98,127,164,.14);
  --strong: rgba(98,127,164,.24);
  --soft: #f3f5f7;
  --blue: #235e9c;
  --blue-soft: #e7f0fd;
  --glass-surface: rgba(255,255,255,.76);
  --glass-shadow: 0 12px 36px -16px rgba(46,74,116,.24), 0 3px 8px -4px rgba(46,74,116,.09);
  --glass-lift: 0 20px 42px -17px rgba(46,74,116,.3), 0 5px 12px -5px rgba(46,74,116,.12);
  --public-page-gutter: clamp(24px,2.5vw,48px);
  min-height: 100vh;
  background: #f8f9fb;
  color: var(--ink);
}
/* Page-level shells share gutters; controls keep their own sizing. */
.public-glass :is(.shell,.header-inner,.docs-wide,.legal-shell) {
  width: calc(100% - var(--public-page-gutter) - var(--public-page-gutter));
  max-width: none;
  margin-inline: auto;
}
.public-activity :is(.shell,.header-inner) { padding-inline: 0; }
.public-glass :is(.site-header,.docs-header,.legal-header) {
  --ink: #0a0a0a;
  --muted: #737373;
  color: var(--ink);
  border-bottom: 0;
  background: rgba(255,255,255,.8);
  box-shadow: 0 4px 24px rgba(45,70,110,.045);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.public-glass :is(.main-nav,.docs-subnav) { border-color: transparent; }
.public-glass :is(.pill,.login-link,.console-link,.provider-button) {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 5px 14px -5px rgba(46,74,116,.2);
}
.public-glass :is(.pill-dark,.provider-button-primary,.docs-login) { background: #235e9c; color: #fff; }
.public-glass :is(.pill-light,.pill-white,.login-link,.provider-button-secondary) { background: rgba(255,255,255,.86); color: #315579; }
.public-glass :is(button,a,input,select,summary,[tabindex]):focus-visible { outline: 3px solid #3574b5; outline-offset: 3px; }
.public-glass :is(.search,.docs-search-trigger) { border: 0; border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 4px 18px -8px rgba(46,74,116,.2); }
.public-glass .search:focus-within { box-shadow: 0 0 0 3px rgba(53,116,181,.24),var(--glass-shadow); }
.public-glass .pico-language-button { border: 0; border-radius: 12px; background: rgba(255,255,255,.86); color: #315579; box-shadow: 0 4px 14px -5px rgba(46,74,116,.16); }
.public-glass .pico-language-menu { border: 0; border-radius: 16px; background: #f9fbff; box-shadow: 0 20px 48px -14px rgba(28,56,90,.25); }
.public-glass .pico-language-option { border-radius: 10px; }
.public-glass :is(.menu-btn,.docs-menu-button) { border: 0; border-radius: 12px; background: rgba(255,255,255,.86); color: #315579; box-shadow: 0 4px 14px -5px rgba(46,74,116,.16); }
.public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a,.code-example,.docs-table-wrap,.agent-setup-card,.legal-intro) {
  border: 0;
  border-radius: 22px;
  background: var(--glass-surface);
  box-shadow: var(--glass-shadow);
}
.public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a) { transition: transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
.public-glass :is(.provider-card,.provider-model-card) { -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.public-glass :is(.site-footer,.legal-footer) { border-top-color: transparent; background: rgba(255,255,255,.42); }

/* Public providers. */
.public-glass .hero { border-bottom: 0; background: transparent; }
.public-glass .hero::before,.public-glass .hero::after { display: none; }
.public-glass .hero-title h1 { color: #163b66; }
.public-glass :is(.provider-model-body strong,.provider-card-body strong) { color: #20344e; }
.public-glass .provider-hero { padding: 30px; margin-top: 22px; border: 0; border-radius: 24px; background: rgba(255,255,255,.76); box-shadow: var(--glass-shadow); }
.public-glass .provider-title-block h1 { color: #163b66; }
.public-glass .provider-models-section { padding-top: 30px; }

/* Documentation keeps code tabs, scrolling, search, and navigation semantics. */
.public-docs .docs-subnav { border-bottom: 0; }
.public-docs .docs-layout { grid-template-columns: 218px minmax(0,1fr) 190px; gap: 30px; }
.public-docs .docs-sidebar { border-right: 0; }
.public-docs .sidebar-scroll { margin-top: 24px; padding: 18px 12px; border-radius: 20px; background: rgba(255,255,255,.58); box-shadow: var(--glass-shadow); }
.public-docs .docs-content { margin-top: 24px; padding: 30px; border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: var(--glass-shadow); }
.public-docs .doc-section > :is(p,ul,ol) { max-width: 90ch; }
.public-docs .article-heading h1 { color: #163b66; }
.public-docs .docs-sidebar nav a { border-radius: 10px; color: #526780; }
.public-docs .docs-sidebar nav a.active { background: #e5effd; color: #235e9c; }
.public-docs .docs-help { border: 0; border-radius: 18px; background: rgba(255,255,255,.66); box-shadow: var(--glass-shadow); }
.public-docs :is(.quick-links a,.agent-setup-card,.code-example,.docs-table-wrap) { border-radius: 18px; }
.public-docs .quick-links a { background: rgba(236,243,253,.8); box-shadow: 0 6px 18px -10px rgba(46,74,116,.17); }
.public-docs .callout { border: 0; border-radius: 16px; background: rgba(229,239,252,.8); color: #3d5d83; }
.public-docs :is(.code-tabs,.code-title,.agent-setup-toolbar) { border-color: var(--line); background: rgba(229,237,250,.75); }
.public-docs .code-tabs button.active { color: #235e9c; border-color: #235e9c; background: rgba(255,255,255,.55); }
.public-docs .code-example { background: rgba(247,248,250,.92); }
.public-docs .agent-setup-card { background: rgba(244,246,248,.8); }
.public-docs :is(.agent-setup-copy,.docs-base-url button) { border: 0; border-radius: 10px; background: #235e9c; color: #fff; }
.public-docs .docs-base-url { border: 0; border-radius: 14px; background: rgba(232,240,252,.85); }
.public-docs .docs-table th { background: rgba(230,239,252,.7); }
.public-docs .docs-table :is(th,td) { border-color: var(--line); }
.public-docs .doc-pagination a { border: 0; border-radius: 16px; background: rgba(235,242,253,.75); }
.public-docs #docs-search-dialog { border: 0; border-radius: 22px; background: #f9fbff; box-shadow: 0 28px 80px -20px rgba(28,56,90,.34); }
.public-docs #docs-search-dialog::backdrop { background: rgba(26,48,78,.28); }

/* Agreements and activity pages share the same quiet reading surfaces. */
.public-legal .legal-hero { background: transparent; border: 0; }
.public-legal .legal-hero h1 { color: #163b66; }
.public-legal .legal-layout { grid-template-columns: 220px minmax(0,1fr); gap: 36px; }
.public-legal .legal-toc { padding: 22px 16px; border: 0; border-radius: 20px; background: rgba(255,255,255,.58); box-shadow: var(--glass-shadow); }
.public-legal .legal-content { padding: 30px; border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: var(--glass-shadow); }
.public-legal .legal-content :is(p,ul,ol) { max-width: 100ch; }
.public-legal .legal-content :is(p,li) { color: #526780; }
.public-legal .legal-intro { border-radius: 16px; background: rgba(244,246,248,.8); box-shadow: none; }
.public-legal .legal-content section + section { border-color: var(--line); }
.public-activity .activity-card { border-radius: 22px; }
.public-activity .detail-body { max-width: none; margin-block: 32px; padding: 32px; border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: var(--glass-shadow); }
.public-activity .detail-body :is(p,ul,ol) { max-width: 100ch; }
.public-activity .detail-body p { color: #526780; }
.public-activity .detail-cta { border: 0; }

@media (hover:hover) and (pointer:fine) {
  .public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a):hover { transform: translateY(-3px); box-shadow: var(--glass-lift); background-color: rgba(255,255,255,.94); }
  .public-glass :is(.pill-dark,.provider-button-primary,.docs-login):hover { background: #194f88; }
}
@media (max-width:1150px) {
  .public-docs .docs-layout { grid-template-columns: 190px minmax(0,1fr); }
}
@media (max-width:1000px) {
  .public-docs .docs-layout { gap: 22px; }
  .public-docs .docs-content { padding: 24px; }
}
@media (max-width:820px) {
  body.public-glass { --public-page-gutter: 16px; }
}
@media (max-width:760px) {
  .public-docs .docs-sidebar { background: #fafbfc; }
  .public-glass .provider-hero { padding: 22px 18px; border-radius: 20px; }
  .public-docs .docs-content { margin-top: 18px; padding: 24px 18px; border-radius: 20px; }
  .public-docs .sidebar-scroll { margin: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .public-legal .legal-toc { margin-bottom: 24px; }
  .public-legal .legal-content { padding: 24px 20px; border-radius: 20px; }
  .public-activity .detail-body { padding: 24px 20px; }
}
@media (max-width:640px) {
  .public-glass :is(.provider-card,.provider-model-card,.activity-card) { border-radius: 20px; }
  .public-activity .cards-grid { grid-template-columns: minmax(0,1fr); }
}
@media (hover:none) {
  .public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a):hover { transform: none; }
}
@media (max-width:380px) {
  .public-docs .docs-header-inner { gap: 8px; }
  .public-docs .docs-menu-button { flex-shrink: 0; }
  .public-docs .docs-logo { font-size: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(body.public-glass) { scroll-behavior: auto; }
  .public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a,.pill) { transition: none; }
  .public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a,.pill):hover { transform: none; }
  .public-glass .hero::before,.public-glass .hero::after { animation: none; }
}
@media (forced-colors:active) {
  .public-glass :is(.provider-card,.provider-model-card,.activity-card,.quick-links a,.code-example,.docs-content,.legal-content) { outline: 1px solid CanvasText; }
  .public-glass :is(button,a,input,select,summary,[tabindex]):focus-visible { outline: 3px solid Highlight; }
}
