/* langs123 theme — generated from design/tokens.json by scripts/theme.ts */
:root {
  --bg: #f7f6f3;
  --surface: #ffffff;
  --surface-2: #f0eee9;
  --text: #1d1d1f;
  --muted: #6b6b70;
  --border: #e2dfd8;
  --accent: #2f5bd3;
  --accent-soft: #e8eefc;
  --good: #1c7d45;
  --good-soft: #e6f4ec;
  --bad: #c2362f;
  --bad-soft: #fbeceb;
  --warn: #985f00;
  --warn-soft: #fbf1dd;
  --lvl-A0-ink: #b02a2d;
  --lvl-A0-tint: #fbe8e5;
  --lvl-A0-strong: #f7c7c2;
  --lvl-A1-ink: #8e5318;
  --lvl-A1-tint: #fce9db;
  --lvl-A1-strong: #f6caa8;
  --lvl-A2-ink: #79601a;
  --lvl-A2-tint: #fcecc4;
  --lvl-A2-strong: #f2d07d;
  --lvl-B1-ink: #1d763b;
  --lvl-B1-tint: #cffad6;
  --lvl-B1-strong: #9fe9ae;
  --lvl-B2-ink: #1c6b91;
  --lvl-B2-tint: #def0fc;
  --lvl-B2-strong: #afdbf7;
  --lvl-C1-ink: #4b53c2;
  --lvl-C1-tint: #e8ecfc;
  --lvl-C1-strong: #cad2f6;
  --lvl-C2-ink: #863ca4;
  --lvl-C2-tint: #f5e7fc;
  --lvl-C2-strong: #e7c6f6;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 16px rgba(0, 0, 0, 0.04);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #141416;
    --surface: #1c1c1f;
    --surface-2: #26262a;
    --text: #ececef;
    --muted: #9a9aa2;
    --border: #33333a;
    --accent: #7ea2ff;
    --accent-soft: #1f2a48;
    --good: #5cc98a;
    --good-soft: #17301f;
    --bad: #ff7a72;
    --bad-soft: #3a1d1b;
    --warn: #f0b545;
    --warn-soft: #3a2c12;
    --lvl-A0-ink: #f9a9a2;
    --lvl-A0-tint: #461d1a;
    --lvl-A0-strong: #70312e;
    --lvl-A1-ink: #f9ae70;
    --lvl-A1-tint: #3c2512;
    --lvl-A1-strong: #613f21;
    --lvl-A2-ink: #e9ba39;
    --lvl-A2-tint: #342a12;
    --lvl-A2-strong: #544622;
    --lvl-B1-ink: #72dc8c;
    --lvl-B1-tint: #15331c;
    --lvl-B1-strong: #255331;
    --lvl-B2-ink: #7dccf8;
    --lvl-B2-tint: #142f3d;
    --lvl-B2-strong: #254d63;
    --lvl-C1-ink: #b0bdf8;
    --lvl-C1-tint: #22284b;
    --lvl-C1-strong: #3a4278;
    --lvl-C2-ink: #e0a8f9;
    --lvl-C2-tint: #372041;
    --lvl-C2-strong: #5a3769;
    --shadow: none;
  }
}
:root[data-theme="dark"] {
  --bg: #141416;
  --surface: #1c1c1f;
  --surface-2: #26262a;
  --text: #ececef;
  --muted: #9a9aa2;
  --border: #33333a;
  --accent: #7ea2ff;
  --accent-soft: #1f2a48;
  --good: #5cc98a;
  --good-soft: #17301f;
  --bad: #ff7a72;
  --bad-soft: #3a1d1b;
  --warn: #f0b545;
  --warn-soft: #3a2c12;
  --lvl-A0-ink: #f9a9a2;
  --lvl-A0-tint: #461d1a;
  --lvl-A0-strong: #70312e;
  --lvl-A1-ink: #f9ae70;
  --lvl-A1-tint: #3c2512;
  --lvl-A1-strong: #613f21;
  --lvl-A2-ink: #e9ba39;
  --lvl-A2-tint: #342a12;
  --lvl-A2-strong: #544622;
  --lvl-B1-ink: #72dc8c;
  --lvl-B1-tint: #15331c;
  --lvl-B1-strong: #255331;
  --lvl-B2-ink: #7dccf8;
  --lvl-B2-tint: #142f3d;
  --lvl-B2-strong: #254d63;
  --lvl-C1-ink: #b0bdf8;
  --lvl-C1-tint: #22284b;
  --lvl-C1-strong: #3a4278;
  --lvl-C2-ink: #e0a8f9;
  --lvl-C2-tint: #372041;
  --lvl-C2-strong: #5a3769;
  --shadow: none;
}
/* Phones: one up link in place of the breadcrumb; both bars hide on scrolling down */
.up-link { display: none; }
@media (max-width: 860px) {
  .crumbs:has(.up-link) ol { display: none; }
  .up-link {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-height: 44px;
    margin-left: -6px;
    padding-right: 8px;
    color: var(--accent);
    font-size: 17px;
    text-decoration: none;
  }
  .up-link span { max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .bottom-bar { transition: transform 0.25s ease; }
  html.bar-hidden .bottom-bar { transform: translateY(100%); }
}
@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
  .bottom-bar { transition: none; }
}
