/* The catalog map page (templates/catalog.html). Its body is the Catalog Map design, styled inline by the design itself; this file
   holds only what the design's helmet held (its tokens and base rules, verbatim) and the portal's left nav, which the page keeps.
   Dark follows the OS (owner 2026-10-09); there is no toggle. tex.css is not loaded here, so nothing of the dashboard leaks in. */

:root{color-scheme:light;--c0:#0f1430;--c1:#6b7190;--c2:#e3e6ef;--c3:#8a90ab;--c4:#454c6b;--c5:#5b4cff;--c6:#ffffff;--c7:#d5d9e6;--c8:#f7f8fb;--c9:#f1f2f8;--c10:#e9ebf2;--c11:#c3c8d8;--c12:#0f1430;--c13:#ffffff;--c14:#c62a4f;--c15:#a85a00;--c16:#eef0f6;--c17:#5b4cff;--c18:#c62a4f;--c19:#ffffff;--c20:#1f8a5b;--c21:#f6c9d3;--c22:rgba(15,20,48,.12);--c23:#eef0f6;--c24:#b45f06;--c25:#4f6c9e;--c26:#3a5a92;--c27:#2c4a80;--c28:#c3c8d8;--c29:#e88aa0;--c30:rgba(15,20,48,.4);--c31:rgba(15,20,48,.18);--c32:#1f2540;--c33:#f3b5c3;--c34:#a8dcc2;--c35:#1f8a5b;--c36:#eef4ff;--c37:#7d97c9;--c38:#9db6e6;--c39:#c9dafc;--c40:#3a5a92;--c41:#e3edff;--c42:#1d2f55;--c43:#b9b0ff;--c44:#f0a5b6;--c45:#c62a4f;--c46:#c9dafc;--c47:#e6b061;--c48:#24406f;--c49:#4a6fb0;--c50:#5a6080;--c51:#3c4360;--c52:#4a5070;--c53:#7a809c;--c54:#f1f2f8;--c55:#8fd1b0;--c56:#a85a00;--c57:#fff1d6;--c58:#e6b061;--c59:#fff4f6;--c60:#fff7e8;--c61:#d0335e;--c62:rgba(255,255,255,.94);--c63:#fff8ec;--c64:#c9821f;--c65:#ffefd2;--c66:#fff1f3;--c67:#4a3bf0}
@media (prefers-color-scheme: dark){
:root{color-scheme:dark;--c0:#f1efe9;--c1:#8f8b80;--c2:#37362f;--c3:#76736a;--c4:#bdb9ae;--c5:oklch(0.68 0.16 40);--c6:#1f1f1c;--c7:#46443c;--c8:#181815;--c9:#22221e;--c10:#2c2b26;--c11:#5f5c53;--c12:#d9d5ca;--c13:#1b1b18;--c14:oklch(0.76 0.15 32);--c15:oklch(0.82 0.13 75);--c16:#2a2a25;--c17:oklch(0.75 0.15 40);--c18:oklch(0.78 0.14 32);--c19:#161613;--c20:oklch(0.74 0.13 150);--c21:oklch(0.42 0.09 30);--c22:rgba(0,0,0,.45);--c23:#2f2e29;--c24:oklch(0.78 0.13 55);--c25:#7a8c99;--c26:oklch(0.8 0.05 235);--c27:oklch(0.88 0.05 235);--c28:#56544b;--c29:oklch(0.55 0.14 30);--c30:rgba(10,10,8,.72);--c31:rgba(0,0,0,.55);--c32:#e6e2d8;--c33:oklch(0.45 0.12 30);--c34:oklch(0.45 0.08 150);--c35:oklch(0.78 0.12 150);--c36:#0f1e29;--c37:#4f6574;--c38:#425866;--c39:#26394a;--c40:oklch(0.8 0.04 235);--c41:#16303f;--c42:oklch(0.97 0.015 235);--c43:oklch(0.5 0.15 40);--c44:oklch(0.48 0.17 30);--c45:oklch(0.66 0.12 30);--c46:oklch(0.42 0.13 245);--c47:oklch(0.52 0.13 65);--c48:oklch(0.91 0.045 235);--c49:oklch(0.72 0.08 238);--c50:#a9a598;--c51:#c4c0b4;--c52:#b6b2a5;--c53:#7b776d;--c54:#26261f;--c55:oklch(0.55 0.13 150);--c56:oklch(0.86 0.12 75);--c57:oklch(0.3 0.06 75);--c58:oklch(0.6 0.12 75);--c59:#1f1a17;--c60:#2a2620;--c61:oklch(0.6 0.17 30);--c62:rgba(24,24,21,.94);--c63:oklch(0.23 0.02 60);--c64:oklch(0.6 0.12 55);--c65:oklch(0.27 0.04 60);--c66:#241c18;--c67:oklch(0.72 0.16 40)}
}

/* the design's base rules (its helmet), verbatim */
body{margin:0;background:var(--c8);color:var(--c0);font-family:Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--c0)}a:hover{color:var(--c17)}input::placeholder{color:var(--c3)}select,input{font-family:inherit}

/* the portal's nav (tex.css shell rules, in the design's tokens) beside the design's page */
:root { --nav-w: 220px; }
.app { display: grid; grid-template-columns: var(--nav-w) minmax(0, 1fr); min-height: 100vh; }
.main { min-width: 0; }
.nav, .nav * { box-sizing: border-box; }
.nav { position: sticky; top: 0; align-self: start; height: 100vh; z-index: 40;
  background: var(--c6); border-right: 1px solid var(--c2);
  padding: 24px 16px; display: flex; flex-direction: column; gap: 24px; font-size: 15px; }
.brand { display: flex; align-items: center; gap: 8px; }
.brand-mark { width: 28px; height: 28px; border-radius: 4px; background: var(--c12); color: var(--c13);
  display: grid; place-items: center; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.brand-word { font-size: 11px; font-weight: 600; letter-spacing: .10em; text-transform: uppercase; color: var(--c4); line-height: 1.3; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.nav a.item { display: block; padding: 8px 12px; border-radius: 4px; color: var(--c4); text-decoration: none; font-size: 15px; }
.nav a.item:hover { background: var(--c9); color: var(--c0); }
.nav a.item.on { background: var(--c9); color: var(--c0); font-weight: 500; box-shadow: inset 2px 0 0 var(--c5); }
.nav .sec { font-size: 11px; letter-spacing: .10em; text-transform: uppercase; color: var(--c3); margin-top: 16px; }
.nav .who { margin-top: auto; border-top: 1px solid var(--c10); padding-top: 16px; font-size: 13px; color: var(--c1); }
.nav .who strong { display: block; color: var(--c0); font-size: 15px; font-weight: 500; }
@media (max-width: 820px) {
  :root { --nav-w: 0px; }
  .app { grid-template-columns: 1fr; }
  .nav { position: static; height: auto; flex-direction: row; align-items: center; }
}
