/* Matches entity/web/index.css: Vellum & Oxide. Scoped to these two surfaces. */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&display=swap');
.bridge-catalog,.kai-workbench {
  --linen:#ebe7dd; --paper:#f4f4f0; --ink:#111111; --graphite:#4a4a4a;
  --oxide:#c83727; --rule:#bfbfbf; --pressed:#ded8cb;
  --line:var(--rule); --muted:var(--graphite); --accent:var(--oxide);
  color-scheme:light; background:var(--linen); color:var(--ink);
  font-family:'Source Sans 3',system-ui,sans-serif; font-variant-numeric:tabular-nums;
}
.bridge-catalog *, .kai-workbench * { border-radius:0; }
.bridge-catalog a:focus-visible,.kai-workbench :is(a,button,select,input,summary):focus-visible { outline:2px solid var(--oxide); outline-offset:3px; }
.bridge-catalog .landing { max-width:1200px; padding:64px 32px; }
.catalog-kicker { font:11px 'JetBrains Mono',monospace; letter-spacing:.05em; color:var(--graphite); padding-bottom:20px; border-bottom:1px solid var(--rule); margin-bottom:32px; }
.bridge-catalog .landing h1 { font-size:38px; line-height:1.15; font-weight:600; letter-spacing:-.025em; }
.bridge-catalog .sub { color:var(--graphite); font-size:16px; margin:12px 0 36px; }
.bridge-catalog .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.bridge-catalog .card { background:var(--paper); border:1px solid var(--rule); padding:28px; display:flex; flex-direction:column; transition:border-color .15s; }
.bridge-catalog .card:hover { border-color:var(--oxide); transform:none; }
.bridge-catalog .card h2 { color:var(--ink); font-size:23px; font-weight:600; letter-spacing:-.015em; }
.bridge-catalog .card .meta { color:var(--graphite); font:11px/1.7 'JetBrains Mono',monospace; margin:8px 0 20px; }
.bridge-catalog .card p { color:var(--graphite); font-size:15px; line-height:1.6; }
.bridge-catalog .card .go { color:var(--oxide); border-top:1px solid var(--rule); padding-top:16px; margin-top:24px; font-size:14px; font-weight:600; }
.bridge-catalog footer { color:var(--graphite); border-top:1px solid var(--rule); padding-top:20px; font-size:12px; }
.kai-workbench .back { color:var(--ink); }
.kai-workbench .workbench-header { height:76px; }
.kai-workbench .workbench-layout { height:calc(100dvh - 104px); }
.kai-workbench .workbench-header h1 { font-size:18px; }
.kai-workbench .workbench-header p { font-size:12px; }
.kai-workbench :is(button,select,input) { font-family:inherit; }
.kai-workbench #bridge-navigation label { color:var(--graphite); }
.kai-workbench #bridge-navigation select { background:var(--paper); color:var(--ink); border-color:var(--rule); font-family:inherit; }
.kai-workbench .tree-element[aria-current=true] { box-shadow:inset 2px 0 var(--oxide); }
.kai-workbench :is(.source-crop,dialog) { border-color:var(--rule); box-shadow:none; }
.kai-workbench #sheet-badge { background:var(--linen); color:var(--ink); border:1px solid var(--rule); }
.kai-workbench dialog::backdrop { background:rgb(17 17 17 / 45%); }
.kai-workbench .source-crop { background:var(--paper); }
.kai-workbench .scene-note { color:var(--graphite); }
.kai-workbench button[aria-pressed=true] { border-color:var(--oxide); }
@media(max-width:760px) {
 .bridge-catalog .landing { padding:32px 20px; }
 .bridge-catalog .grid { grid-template-columns:1fr; }
 .bridge-catalog .landing h1 { font-size:30px; }
 .kai-workbench .workbench-header { height:auto; }
 .kai-workbench .workbench-layout { height:auto; }
}
@media(prefers-reduced-motion:reduce) { .bridge-catalog .card { transition:none; } }

/* Entity's neutral dark surfaces retain oxide as the sole accent. */
[data-theme=dark] :is(.bridge-catalog,.kai-workbench) {
 --linen:#171717; --paper:#1f1f1f; --ink:#f4f4f0; --graphite:#b8b8b2;
 --oxide:#e45a49; --rule:#454545; --pressed:#30302e; color-scheme:dark;
}
.theme-toggle { background:var(--paper); color:var(--ink); border:1px solid var(--rule); padding:7px 12px; font:12px 'Source Sans 3',sans-serif; cursor:pointer; white-space:nowrap; }
.theme-toggle:hover { border-color:var(--oxide); }
.bridge-catalog .theme-toggle { float:right; }
.kai-workbench .theme-toggle { margin-left:auto; }
@media(max-width:760px) { .kai-workbench .workbench-header { flex-wrap:wrap; } }
