/* GovThatWorks.org V47 tokens + global shell bundle. */

/* ===== merged from /assets/css/tokens.css ===== */
/* GovThatWorks.org Design Tokens — Phase 1 / V42 */
:root {
  color-scheme: light;

  /* Institutional palette */
  --gtw-navy-950: #0f1e36;
  --gtw-navy-900: #14243f;
  --gtw-navy-800: #1d3557;
  --gtw-slate-900: #1e293b;
  --gtw-slate-700: #334155;
  --gtw-slate-600: #475569;
  --gtw-slate-500: #64748b;
  --gtw-slate-300: #cbd5e1;
  --gtw-slate-200: #e2e8f0;
  --gtw-slate-100: #f1f5f9;
  --gtw-surface-base: #f8f9fa;
  --gtw-surface-raised: #ffffff;
  --gtw-surface-subtle: #f4f5f7;
  --gtw-border-subtle: #dde3ea;
  --gtw-border-strong: #c7d0db;
  --gtw-teal: #0d9488;
  --gtw-teal-dark: #0f766e;
  --gtw-amber: #d97706;
  --gtw-amber-dark: #b45309;
  --gtw-burgundy: #5b2028;
  --gtw-focus: #0d9488;

  /* Semantic aliases */
  --gtw-ink: var(--gtw-navy-950);
  --gtw-text: var(--gtw-slate-700);
  --gtw-muted: var(--gtw-slate-500);
  --gtw-action: var(--gtw-teal);
  --gtw-action-hover: var(--gtw-teal-dark);
  --gtw-action-secondary: var(--gtw-amber);

  /* Typography */
  --gtw-font-sans: Inter, "Public Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --gtw-font-serif: "Source Serif 4", Merriweather, Georgia, "Times New Roman", serif;
  --gtw-text-xs: .75rem;
  --gtw-text-sm: .875rem;
  --gtw-text-base: 1rem;
  --gtw-text-lg: 1.125rem;
  --gtw-text-xl: 1.25rem;
  --gtw-text-2xl: 1.5rem;

  /* Spacing */
  --gtw-space-1: .25rem;
  --gtw-space-2: .5rem;
  --gtw-space-3: .75rem;
  --gtw-space-4: 1rem;
  --gtw-space-5: 1.25rem;
  --gtw-space-6: 1.5rem;
  --gtw-space-8: 2rem;
  --gtw-space-10: 2.5rem;
  --gtw-space-12: 3rem;
  --gtw-space-16: 4rem;
  --gtw-space-20: 5rem;

  /* Shape & elevation */
  --gtw-radius-sm: 6px;
  --gtw-radius-md: 10px;
  --gtw-radius-lg: 16px;
  --gtw-radius-xl: 22px;
  --gtw-radius-pill: 999px;
  --gtw-shadow-1: 0 1px 2px rgba(15, 30, 54, .08), 0 6px 18px rgba(15, 30, 54, .05);
  --gtw-shadow-2: 0 18px 50px rgba(15, 30, 54, .14);
  --gtw-shadow-3: 0 28px 80px rgba(15, 30, 54, .22);

  /* Layout */
  --gtw-shell-max: 1440px;
  --gtw-content-max: 1180px;
  --gtw-reader-max: 720px;
  --gtw-header-height: 78px;
  --gtw-breadcrumb-height: 42px;
  --gtw-touch: 48px;
  --gtw-z-header: 800;
  --gtw-z-menu: 900;
  --gtw-z-dialog: 1200;
}

.gtw-tabular,
.gtw-command-palette,
.gtw-header,
.gtw-breadcrumbs {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 980px) {
  :root { --gtw-header-height: 68px; }
}

/* ===== merged from /assets/css/shell-v42.css ===== */
/* GovThatWorks.org Global Shell — Phase 1 / V42 */
html { scroll-padding-top: calc(var(--gtw-header-height) + var(--gtw-breadcrumb-height) + 18px); }
body { background: var(--gtw-surface-base); }

/* Accessible focus treatment */
.gtw-header a:focus-visible,
.gtw-header button:focus-visible,
.gtw-header summary:focus-visible,
.gtw-breadcrumbs a:focus-visible,
.gtw-command-palette button:focus-visible,
.gtw-command-palette input:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--gtw-focus) 68%, white);
  outline-offset: 3px;
}

/* ---------- Global header ---------- */
.gtw-header {
  position: sticky;
  top: 0;
  z-index: var(--gtw-z-header);
  height: var(--gtw-header-height);
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--gtw-border-subtle);
  font-family: var(--gtw-font-sans);
  color: var(--gtw-ink);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.gtw-header__inner {
  width: min(var(--gtw-shell-max), calc(100% - 40px));
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 22px;
}
.gtw-brand {
  flex: 0 0 auto;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--gtw-ink);
  text-decoration: none;
  min-height: var(--gtw-touch);
}
.gtw-brand img { width: 46px; height: 46px; display: block; }
.gtw-brand__copy { min-width: 0; align-self: center; }
.gtw-brand__copy { display: grid; line-height: 1.02; }
.gtw-brand__title {
  font-family: var(--gtw-font-serif);
  font-size: .96rem;
  font-weight: 750;
  letter-spacing: -.015em;
  white-space: nowrap;
}
.gtw-brand__tag {
  margin-top: 5px;
  color: var(--gtw-slate-600);
  font-size: .58rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 800;
}
.gtw-primary-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
}
.gtw-nav-group { position: relative; }
.gtw-nav-group > summary {
  list-style: none;
  cursor: pointer;
  min-height: var(--gtw-touch);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border-radius: var(--gtw-radius-md);
  color: var(--gtw-ink);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
  user-select: none;
}
.gtw-nav-group > summary::-webkit-details-marker { display: none; }
.gtw-nav-group > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
.gtw-nav-group[open] > summary,
.gtw-nav-group > summary:hover {
  background: var(--gtw-slate-100);
  color: var(--gtw-navy-950);
}
.gtw-nav-group[open] > summary::after { transform: rotate(225deg) translate(-1px,-1px); }
.gtw-nav-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(920px, calc(100vw - 48px));
  padding: 18px;
  background: var(--gtw-surface-raised);
  border: 1px solid var(--gtw-border-subtle);
  border-radius: var(--gtw-radius-lg);
  box-shadow: var(--gtw-shadow-3);
  z-index: var(--gtw-z-menu);
}
.gtw-nav-panel--labs { width: min(650px, calc(100vw - 48px)); }
.gtw-nav-panel--book { width: min(720px, calc(100vw - 48px)); }
.gtw-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.gtw-nav-cluster {
  min-width: 0;
  padding: 12px;
  border-radius: var(--gtw-radius-md);
  background: var(--gtw-surface-base);
}
.gtw-nav-cluster h3 {
  margin: 0 0 8px;
  color: var(--gtw-slate-600);
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 850;
}
.gtw-nav-links { display: grid; gap: 4px; }
.gtw-nav-links a {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--gtw-ink);
  text-decoration: none;
  font-size: .82rem;
  line-height: 1.25;
  font-weight: 720;
}
.gtw-nav-links a small {
  color: var(--gtw-muted);
  font-size: .68rem;
  line-height: 1.32;
  font-weight: 500;
}
.gtw-nav-links a:hover,
.gtw-nav-links a[aria-current="page"] {
  background: color-mix(in srgb, var(--gtw-teal) 10%, white);
  color: var(--gtw-teal-dark);
}
.gtw-nav-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 5px; }
.gtw-nav-list a {
  min-height: var(--gtw-touch);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: var(--gtw-radius-md);
  text-decoration: none;
  color: var(--gtw-ink);
  font-size: .82rem;
  font-weight: 760;
}
.gtw-nav-list a span { color: var(--gtw-muted); font-size: .68rem; font-weight: 600; }
.gtw-nav-list a:hover,
.gtw-nav-list a[aria-current="page"] {
  border-color: var(--gtw-border-subtle);
  background: var(--gtw-surface-base);
}
.gtw-command-trigger,
.gtw-mobile-toggle,
.gtw-drawer-close {
  appearance: none;
  min-height: var(--gtw-touch);
  border-radius: var(--gtw-radius-pill);
  border: 1px solid var(--gtw-border-strong);
  background: #fff;
  color: var(--gtw-ink);
  font-family: var(--gtw-font-sans);
  font-weight: 760;
  cursor: pointer;
}
.gtw-command-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  font-size: .76rem;
  white-space: nowrap;
}
.gtw-command-trigger kbd {
  padding: 3px 6px;
  border-radius: 5px;
  background: var(--gtw-slate-100);
  color: var(--gtw-slate-600);
  font: 650 .67rem/1 var(--gtw-font-sans);
}
.gtw-mobile-toggle { display: none; padding: 0 14px; }
.gtw-drawer-close { display: none; width: 100%; margin-bottom: 10px; }
.gtw-nav-backdrop { display: none; }
.gtw-header__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: transparent;
  pointer-events: none;
}
.gtw-header__progress > span { display: block; width: 0; height: 100%; background: var(--gtw-teal); }

/* ---------- Sticky breadcrumbs ---------- */
.gtw-breadcrumbs {
  position: sticky;
  top: var(--gtw-header-height);
  z-index: calc(var(--gtw-z-header) - 5);
  min-height: var(--gtw-breadcrumb-height);
  background: rgba(248,249,250,.96);
  border-bottom: 1px solid var(--gtw-border-subtle);
  font-family: var(--gtw-font-sans);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.gtw-breadcrumbs__inner {
  width: min(var(--gtw-content-max), calc(100% - 40px));
  min-height: var(--gtw-breadcrumb-height);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
.gtw-breadcrumbs__inner::-webkit-scrollbar { display: none; }
.gtw-breadcrumbs a,
.gtw-breadcrumbs span {
  font-size: .72rem;
  line-height: 1;
  font-weight: 680;
  color: var(--gtw-slate-600);
  text-decoration: none;
}
.gtw-breadcrumbs a:hover { color: var(--gtw-teal-dark); text-decoration: underline; text-underline-offset: 3px; }
.gtw-breadcrumbs__sep { color: var(--gtw-slate-300) !important; font-weight: 500 !important; }
.gtw-breadcrumbs [aria-current="page"] { color: var(--gtw-ink); font-weight: 780; }

/* ---------- Command palette ---------- */
.gtw-command-palette {
  width: min(780px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 64px));
  margin: auto;
  padding: 0;
  border: 1px solid var(--gtw-border-strong);
  border-radius: var(--gtw-radius-xl);
  background: var(--gtw-surface-raised);
  color: var(--gtw-ink);
  box-shadow: var(--gtw-shadow-3);
  overflow: hidden;
  font-family: var(--gtw-font-sans);
  z-index: var(--gtw-z-dialog);
}
.gtw-command-palette::backdrop { background: rgba(5,15,28,.60); backdrop-filter: blur(3px); }
.gtw-command-palette__top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 14px 14px 18px;
  border-bottom: 1px solid var(--gtw-border-subtle);
}
.gtw-command-palette__icon { color: var(--gtw-slate-500); font-size: 1.15rem; }
.gtw-command-palette input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--gtw-ink);
  font: 650 1rem/1.35 var(--gtw-font-sans);
}
.gtw-command-palette input::placeholder { color: var(--gtw-slate-500); font-weight: 520; }
.gtw-command-palette__close {
  appearance: none;
  border: 0;
  background: var(--gtw-slate-100);
  color: var(--gtw-slate-600);
  border-radius: var(--gtw-radius-sm);
  padding: 6px 8px;
  font: 700 .68rem/1 var(--gtw-font-sans);
  cursor: pointer;
}
.gtw-command-palette__meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 18px;
  color: var(--gtw-muted);
  background: var(--gtw-surface-base);
  border-bottom: 1px solid var(--gtw-border-subtle);
  font-size: .68rem;
}
.gtw-command-results {
  max-height: min(620px, calc(100vh - 190px));
  overflow-y: auto;
  padding: 10px;
}
.gtw-command-group { margin: 0 0 8px; }
.gtw-command-group__title {
  margin: 12px 10px 6px;
  color: var(--gtw-slate-500);
  font-size: .63rem;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 850;
}
.gtw-command-item {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 9px 11px;
  border: 0;
  border-radius: var(--gtw-radius-md);
  background: transparent;
  color: var(--gtw-ink);
  text-align: left;
  cursor: pointer;
  font-family: var(--gtw-font-sans);
}
.gtw-command-item:hover,
.gtw-command-item[data-active="true"] {
  background: color-mix(in srgb, var(--gtw-teal) 10%, white);
}
.gtw-command-item__text { min-width: 0; display: grid; gap: 3px; }
.gtw-command-item__title { font-size: .86rem; font-weight: 780; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gtw-command-item__desc { color: var(--gtw-muted); font-size: .7rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gtw-command-item__kind {
  padding: 5px 7px;
  border-radius: var(--gtw-radius-pill);
  background: var(--gtw-slate-100);
  color: var(--gtw-slate-600);
  font-size: .61rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.gtw-command-empty { padding: 38px 24px; color: var(--gtw-muted); text-align: center; font-size: .84rem; }

/* Utility for future lab/data migrations */
.gtw-ui,
.gtw-data,
.gtw-data table,
.gtw-data input,
.gtw-data select,
.gtw-data button {
  font-family: var(--gtw-font-sans);
  font-variant-numeric: tabular-nums;
}
.gtw-editorial { font-family: var(--gtw-font-serif); }

@media (max-width: 1160px) {
  .gtw-brand__tag { display: none; }
  .gtw-brand__title { font-size: .88rem; }
  .gtw-nav-group > summary { padding: 0 10px; font-size: .68rem; }
  .gtw-command-trigger { padding: 0 11px; }
}

@media (max-width: 980px) {
  .gtw-header__inner { width: calc(100% - 28px); gap: 10px; }
  .gtw-brand { gap: 9px; }
  .gtw-brand img { width: 40px; height: 40px; }
  .gtw-brand__title { font-size: .82rem; }
  .gtw-command-trigger { margin-left: auto; }
  .gtw-command-trigger .gtw-command-label { display: none; }
  .gtw-command-trigger kbd { display: none; }
  .gtw-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .gtw-primary-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: calc(var(--gtw-z-menu) + 5);
    width: min(420px, 92vw);
    height: 100dvh;
    margin: 0;
    padding: 18px;
    display: block;
    overflow-y: auto;
    background: var(--gtw-surface-raised);
    border-left: 1px solid var(--gtw-border-subtle);
    box-shadow: var(--gtw-shadow-3);
    transform: translateX(105%);
    transition: transform .22s ease;
  }
  .gtw-primary-nav[data-open="true"] { transform: translateX(0); }
  .gtw-drawer-close { display: block; }
  .gtw-nav-group { border-bottom: 1px solid var(--gtw-border-subtle); }
  .gtw-nav-group > summary {
    width: 100%;
    box-sizing: border-box;
    justify-content: space-between;
    padding: 7px 6px;
    border-radius: 0;
    font-size: .78rem;
  }
  .gtw-nav-panel,
  .gtw-nav-panel--labs,
  .gtw-nav-panel--book {
    position: static;
    width: auto;
    padding: 4px 0 14px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .gtw-platform-grid,
  .gtw-nav-list { grid-template-columns: 1fr; }
  .gtw-nav-cluster { padding: 8px 4px; background: transparent; }
  .gtw-nav-backdrop {
    appearance: none;
    position: fixed;
    inset: 0;
    z-index: var(--gtw-z-menu);
    border: 0;
    background: rgba(5,15,28,.52);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }
  .gtw-nav-backdrop[data-open="true"] { display: block; opacity: 1; pointer-events: auto; }
  html.gtw-drawer-open { overflow: hidden; }
  .gtw-breadcrumbs__inner { width: calc(100% - 28px); }
}

@media (max-width: 560px) {
  .gtw-brand__title { display: none; }
  .gtw-brand img { width: 42px; height: 42px; }
  .gtw-command-palette { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: var(--gtw-radius-lg); }
  .gtw-command-palette__top { padding-left: 14px; }
  .gtw-command-palette__meta { display: none; }
  .gtw-command-results { max-height: calc(100dvh - 90px); }
  .gtw-breadcrumbs a,
  .gtw-breadcrumbs span { font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
  .gtw-primary-nav,
  .gtw-nav-group > summary::after { transition: none !important; }
}

/* ---------- Unified footer ---------- */
.gtw-footer {
  margin-top: 0;
  background: var(--gtw-navy-950);
  color: #e8eef5;
  font-family: var(--gtw-font-sans);
}
.gtw-footer__grid {
  width: min(var(--gtw-content-max), calc(100% - 40px));
  margin: 0 auto;
  padding: 48px 0 34px;
  display: grid;
  grid-template-columns: 1.3fr repeat(3, minmax(0,1fr));
  gap: 34px;
}
.gtw-footer__brand { display: grid; align-content: start; gap: 14px; }
.gtw-footer__brand a:first-child { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.gtw-footer__brand img { width: 42px; height: 42px; }
.gtw-footer__brand strong { font-family: var(--gtw-font-serif); font-size: 1rem; line-height: 1.08; }
.gtw-footer__brand p { margin: 0; max-width: 330px; color: #bdc8d6; font-size: .77rem; line-height: 1.55; }
.gtw-footer__brand .gtw-footer__book { color: #fff; font-size: .75rem; font-weight: 800; text-underline-offset: 3px; }
.gtw-footer__col h2 { margin: 0 0 12px; color: #92a6bd; font-size: .65rem; text-transform: uppercase; letter-spacing: .12em; }
.gtw-footer__col { display: grid; align-content: start; gap: 8px; }
.gtw-footer__col a { color: #e8eef5; text-decoration: none; font-size: .76rem; line-height: 1.3; }
.gtw-footer__col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.gtw-footer__bottom {
  width: min(var(--gtw-content-max), calc(100% - 40px));
  margin: 0 auto;
  padding: 18px 0 28px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: grid;
  gap: 8px;
  color: #9eafc1;
  font-size: .66rem;
  line-height: 1.5;
}
.gtw-footer__bottom p { margin: 0; }
.gtw-footer__bottom a { color: #d8e2ed; }
.gtw-build { display: inline-block; margin-left: 6px; padding: 2px 6px; border: 1px solid rgba(255,255,255,.2); border-radius: var(--gtw-radius-pill); font-weight: 800; color: #fff; }

.gtw-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 900px) {
  .gtw-footer__grid { grid-template-columns: 1fr 1fr; }
  .gtw-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .gtw-footer__grid { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 26px; padding-top: 38px; }
  .gtw-footer__brand { grid-column: auto; }
  .gtw-footer__bottom { width: calc(100% - 32px); }
}

@media (min-width: 981px) {
  .gtw-primary-nav > .gtw-nav-group:first-of-type > .gtw-nav-panel {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

/* Existing reader sidebar compatibility with the new sticky shell. */
.v28-reader-toc {
  top: calc(var(--gtw-header-height) + var(--gtw-breadcrumb-height) + 14px) !important;
  max-height: calc(100vh - var(--gtw-header-height) - var(--gtw-breadcrumb-height) - 32px) !important;
}

/* ===== Phase 5 components ===== */
/* GovThatWorks.org V46 Phase 5 components: offline status, downloads, agent inspector. */

.gtw-offline-status{
  position:fixed;left:14px;bottom:14px;z-index:760;
  display:inline-flex;align-items:center;gap:7px;min-height:36px;
  padding:8px 11px;border:1px solid var(--gtw-border-subtle);
  border-radius:var(--gtw-radius-pill);background:rgba(255,255,255,.96);
  color:var(--gtw-slate-700);box-shadow:var(--gtw-shadow-1);
  font:700 .72rem/1 var(--gtw-font-sans);letter-spacing:.01em;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.gtw-offline-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gtw-teal)}
.gtw-offline-status[data-state="offline"]::before{background:var(--gtw-amber)}
.gtw-offline-status[data-state="installing"]::before{background:var(--gtw-slate-500)}
.gtw-offline-status[hidden]{display:none!important}

.gtw-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.gtw-download-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:24px;border:1px solid var(--gtw-border-subtle);border-radius:var(--gtw-radius-lg);background:var(--gtw-surface-raised);box-shadow:var(--gtw-shadow-1)}
.gtw-download-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.gtw-download-card__type{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 9px;border-radius:var(--gtw-radius-pill);background:var(--gtw-surface-subtle);color:var(--gtw-slate-700);font:800 .7rem/1 var(--gtw-font-sans);letter-spacing:.035em;text-transform:uppercase}
.gtw-download-card__size{font:800 .74rem/1 var(--gtw-font-sans);color:var(--gtw-slate-500);font-variant-numeric:tabular-nums;white-space:nowrap}
.gtw-download-card h3{margin:0;font:700 clamp(1.3rem,2vw,1.65rem)/1.1 var(--gtw-font-serif);color:var(--gtw-ink)}
.gtw-download-card p{margin:0;color:var(--gtw-text);line-height:1.6}
.gtw-download-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}
.gtw-download-card__meta span{padding:5px 8px;border:1px solid var(--gtw-border-subtle);border-radius:var(--gtw-radius-pill);font:700 .69rem/1 var(--gtw-font-sans);color:var(--gtw-muted);background:var(--gtw-surface-base)}
.gtw-download-card__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:4px}
.gtw-download-card__actions a,.gtw-download-card__actions button,.gtw-download-inline a,.gtw-download-inline button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--gtw-touch);padding:10px 14px;border-radius:var(--gtw-radius-md);border:1px solid var(--gtw-border-strong);background:#fff;color:var(--gtw-ink);font:800 .78rem/1.2 var(--gtw-font-sans);text-decoration:none;cursor:pointer}
.gtw-download-card__actions a:first-child{background:var(--gtw-action);border-color:var(--gtw-action);color:#fff}
.gtw-download-card__actions button:hover,.gtw-download-inline button:hover{border-color:var(--gtw-action);color:var(--gtw-action-hover)}
.gtw-download-card__actions a:hover{filter:brightness(.96)}
.gtw-download-inline{margin:26px 0;padding:18px 20px;border:1px solid var(--gtw-border-subtle);border-left:4px solid var(--gtw-action);border-radius:var(--gtw-radius-md);background:var(--gtw-surface-base);display:grid;gap:12px}
.gtw-download-inline__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.gtw-download-inline__head strong{font:700 1.08rem/1.25 var(--gtw-font-serif);color:var(--gtw-ink)}
.gtw-download-inline__badge{font:800 .69rem/1 var(--gtw-font-sans);color:var(--gtw-muted);font-variant-numeric:tabular-nums}
.gtw-download-inline__actions{display:flex;gap:8px;flex-wrap:wrap}

.gtw-schema-dialog{width:min(720px,calc(100vw - 28px));max-height:min(80vh,720px);padding:0;border:0;border-radius:var(--gtw-radius-lg);box-shadow:var(--gtw-shadow-3);background:#fff;color:var(--gtw-text)}
.gtw-schema-dialog::backdrop{background:rgba(15,30,54,.58);backdrop-filter:blur(2px)}
.gtw-schema-dialog__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--gtw-border-subtle)}
.gtw-schema-dialog__head h2{margin:0;font:700 1.45rem/1.15 var(--gtw-font-serif);color:var(--gtw-ink)}
.gtw-schema-dialog__close{appearance:none;border:1px solid var(--gtw-border-subtle);background:#fff;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:1.25rem;color:var(--gtw-ink)}
.gtw-schema-dialog__body{padding:20px 22px;overflow:auto;max-height:60vh}
.gtw-schema-dialog pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;border-radius:var(--gtw-radius-md);background:#0f172a;color:#e2e8f0;font:500 .78rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

.gtw-agent-inspector{position:fixed;left:0;right:0;bottom:0;z-index:1100;pointer-events:none;font-family:var(--gtw-font-sans)}
.gtw-agent-inspector__toggle{pointer-events:auto;position:absolute;right:14px;bottom:14px;min-height:42px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:var(--gtw-radius-pill);background:var(--gtw-navy-950);color:#fff;box-shadow:var(--gtw-shadow-2);font:800 .73rem/1 var(--gtw-font-sans);cursor:pointer}
.gtw-agent-inspector[data-open="true"] .gtw-agent-inspector__toggle{bottom:min(62vh,520px)}
.gtw-agent-inspector__panel{pointer-events:auto;position:absolute;left:0;right:0;bottom:0;height:min(60vh,500px);transform:translateY(calc(100% + 8px));transition:transform .22s ease;background:#081525;color:#dbe7f1;border-top:1px solid rgba(255,255,255,.13);box-shadow:0 -24px 70px rgba(8,21,37,.34);display:grid;grid-template-rows:auto 1fr}
.gtw-agent-inspector[data-open="true"] .gtw-agent-inspector__panel{transform:translateY(0)}
.gtw-agent-inspector__bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.12);background:#0f1e36}
.gtw-agent-inspector__bar strong{font-size:.83rem}.gtw-agent-inspector__bar small{color:#9fb0bf}.gtw-agent-inspector__bar button{margin-left:auto;appearance:none;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;border-radius:8px;min-height:36px;padding:6px 10px;cursor:pointer}
.gtw-agent-inspector__workspace{min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr)}
.gtw-agent-inspector__tabs{padding:10px;border-right:1px solid rgba(255,255,255,.12);display:grid;align-content:start;gap:7px;background:#0b1929}
.gtw-agent-inspector__tabs button{appearance:none;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:#bdd0df;min-height:40px;padding:9px 10px;font:700 .74rem/1.2 var(--gtw-font-sans);cursor:pointer}
.gtw-agent-inspector__tabs button[aria-selected="true"]{background:#17304a;border-color:#2d4c67;color:#fff}
.gtw-agent-inspector__content{min-width:0;min-height:0;overflow:auto;padding:14px 16px;background:#081525}
.gtw-agent-inspector__pane[hidden]{display:none!important}
.gtw-agent-inspector__content h3{margin:0 0 10px;color:#fff;font:700 1rem/1.2 var(--gtw-font-serif)}
.gtw-agent-inspector__content p{color:#adbecd;line-height:1.55;font-size:.78rem}
.gtw-agent-inspector__actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.gtw-agent-inspector__actions button{appearance:none;min-height:38px;padding:7px 10px;border:1px solid #35536d;border-radius:8px;background:#122a40;color:#fff;font:700 .72rem/1.2 var(--gtw-font-sans);cursor:pointer}
.gtw-agent-inspector pre{margin:0 0 12px;padding:12px;border:1px solid #203b52;border-radius:8px;background:#06111d;color:#d4e2ed;white-space:pre-wrap;word-break:break-word;font:500 .72rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.gtw-agent-inspector__log{display:grid;gap:10px}
.gtw-agent-inspector__log article{border:1px solid #203b52;border-radius:8px;padding:10px;background:#0b1929}
.gtw-agent-inspector__log time{color:#77c8c0;font-size:.68rem;font-variant-numeric:tabular-nums}
.gtw-agent-inspector__empty{color:#8fa5b7;font-size:.76rem}
.gtw-agent-inspector__calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.gtw-agent-inspector__calc-grid article{padding:10px;border:1px solid #203b52;border-radius:8px;background:#0b1929}
.gtw-agent-inspector__calc-grid strong{display:block;color:#fff;font-size:.74rem}.gtw-agent-inspector__calc-grid span{display:block;margin-top:4px;color:#9fb3c3;font-size:.69rem;line-height:1.4}

@media(max-width:760px){
  .gtw-download-grid{grid-template-columns:1fr}
  .gtw-agent-inspector__workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .gtw-agent-inspector__tabs{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .gtw-agent-inspector__tabs button{flex:0 0 auto}
  .gtw-agent-inspector__calc-grid{grid-template-columns:1fr}
  .gtw-agent-inspector[data-open="true"] .gtw-agent-inspector__toggle{bottom:min(67vh,560px)}
  .gtw-agent-inspector__panel{height:min(65vh,540px)}
}
@media(prefers-reduced-motion:reduce){.gtw-agent-inspector__panel{transition:none}}
@media print{.gtw-offline-status,.gtw-agent-inspector{display:none!important}}
