/* AISOP.live integration bridge: intentionally small and dark-mode only. */
:root {
  --aisop-bridge-bg: rgba(5, 8, 17, 0.94);
  --aisop-bridge-panel: rgba(15, 23, 42, 0.72);
  --aisop-bridge-border: rgba(148, 163, 184, 0.22);
  --aisop-bridge-text: #e5eefb;
  --aisop-bridge-muted: #9aa9bd;
  --aisop-bridge-accent: #68e1fd;
  --aisop-bridge-accent-2: #b68cff;
}
.aisop-bridge {
  position: sticky;
  top: 0;
  z-index: 10000;
  box-sizing: border-box;
  width: 100%;
  color: var(--aisop-bridge-text);
  background: linear-gradient(90deg, rgba(5,8,17,.97), rgba(10,18,35,.94));
  border-bottom: 1px solid var(--aisop-bridge-border);
  box-shadow: 0 10px 30px rgba(0,0,0,.26);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.aisop-bridge * { box-sizing: border-box; }
.aisop-bridge__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 8px clamp(12px, 2vw, 28px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.aisop-bridge__brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  letter-spacing: .01em;
}
.aisop-bridge__mark {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: radial-gradient(circle at 30% 20%, var(--aisop-bridge-accent), var(--aisop-bridge-accent-2) 58%, #35175f);
  color: #04101d;
  font-weight: 900;
  line-height: 1;
}
.aisop-bridge__brand strong { display: block; font-size: 0.9rem; line-height: 1.05; }
.aisop-bridge__brand span:last-child { display: block; color: var(--aisop-bridge-muted); font-size: 0.72rem; line-height: 1.1; white-space: nowrap; }
.aisop-bridge__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.aisop-bridge__nav a {
  color: var(--aisop-bridge-text);
  text-decoration: none;
  font-weight: 700;
  font-size: .78rem;
  line-height: 1;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255,255,255,.035);
}
.aisop-bridge__nav a:hover,
.aisop-bridge__nav a:focus-visible {
  color: #ffffff;
  border-color: rgba(104,225,253,.42);
  background: rgba(104,225,253,.1);
  outline: none;
}
.aisop-bridge__nav a[aria-current="page"] {
  color: #04101d;
  background: linear-gradient(135deg, var(--aisop-bridge-accent), #d4c1ff);
}
@media (max-width: 760px) {
  .aisop-bridge__inner { align-items: flex-start; flex-direction: column; }
  .aisop-bridge__nav { justify-content: flex-start; }
}


/* 20260521 mobile compatibility patch */
img, video, canvas, svg { max-width: 100%; height: auto; }
a, button, input, select, textarea { touch-action: manipulation; }
button, .button, .choice-button, .small-button, .mode-tab, .guide-chip, .chip-button, .doc-button, .id-pill-button { min-height: 44px; }
input, select, textarea { font-size: 16px; }
pre, code, .event-console, .table-scroll, .data-table { max-width: 100%; overflow-x: auto; }
.github-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.github-grid article { border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.045); }
.fineprint { color: var(--muted, #aab6cb); font-size: .92rem; line-height: 1.55; }
@media (max-width: 860px) {
  body { overflow-x: hidden; }
  .section-shell { width: min(100% - 24px, var(--max-width, 1180px)); padding-left: 0; padding-right: 0; }
  .hero-grid, .footer-grid, .portal-grid, .boundary-card, .contact-grid, .layout, .grid, .workbench-grid, .command-bar, .dashboard-shell, .operator-grid, .retroweb-shell, .retro-grid { grid-template-columns: 1fr !important; }
  .hero, .section-shell, .panel, .portal-card, .hero-card, .boundary-card, .doc-card { border-radius: 18px; }
  .portal-actions, .hero-actions, .button-row, .doc-actions { flex-direction: column; align-items: stretch; }
  .portal-actions .button, .hero-actions .button, .button-row .button, .button-row button, .doc-actions .button { width: 100%; justify-content: center; text-align: center; }
  .site-header, .topbar, .command-bar, .aisop-bridge { position: static !important; }
  .site-nav, .global-nav, .unified-nav, .aisop-bridge__nav, .mode-tabs { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 6px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .site-nav a, .global-nav a, .unified-nav a, .aisop-bridge__nav a { white-space: nowrap; }
  .hero-copy h1, .section-heading h1, .section-heading h2 { overflow-wrap: anywhere; }
  .kpi-row, .service-grid, .persona-grid, .github-grid { grid-template-columns: 1fr !important; }
  .right-rail, aside, .explorer-panel, .reader-panel { min-width: 0; }
  table { display: block; max-width: 100%; overflow-x: auto; white-space: nowrap; }
}
@media (max-width: 560px) {
  .hero-copy h1 { font-size: clamp(2rem, 11vw, 3.2rem); }
  .section-heading h1 { font-size: clamp(1.9rem, 9vw, 2.8rem); }
  .section-heading h2 { font-size: clamp(1.6rem, 8vw, 2.3rem); }
  .hero-lede, .lede { font-size: 1rem; }
  .hero-card, .portal-card, .panel, .boundary-card { padding: 16px !important; }
  .aisop-bridge__inner, .unified-sitebar-inner, .topbar-inner { gap: 10px; }
  .brand-copy span, .aisop-bridge__brand span:last-child { white-space: normal; }
  audio, video { width: 100%; }
}
