/* AQELYN — visual identity taken from Project_AQELYN_Architecture_Atlas_v1
   navy #073b6f · blue #0b74c8 · teal #00a7a5 · green #28a745 · amber #f5a623 · purple #7b61ff */

:root{
  --navy:#073b6f; --navy-2:#0a2a4d; --blue:#0b74c8; --blue-d:#075a9c;
  --teal:#00a7a5; --green:#28a745; --amber:#f5a623; --purple:#7b61ff;
  --blue-t:#eaf6ff; --green-t:#e9fff1; --amber-t:#fff6e6; --purple-t:#f4edff;
  --crit:#c02626; --crit-t:#fdeceb;
  --ground:#f6f9fd; --surface:#ffffff; --surface-2:#f1f6fc; --line:#dbe4ef;
  --ink:#0f172a; --ink-2:#475569; --ink-3:#6b7280; --ink-4:#94a3b8;
  --sans:system-ui,-apple-system,"Segoe UI",Arial,Helvetica,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --shadow:0 1px 2px rgba(7,59,111,.06), 0 10px 30px -20px rgba(7,59,111,.45);
  --r:6px;
}
@media (prefers-color-scheme:dark){
  :root{
    --navy:#0a2748; --navy-2:#071c34; --blue:#4aa3e8; --blue-d:#2b86cf;
    --teal:#2fc7c5; --green:#4cc76a; --amber:#f0b34a; --purple:#9a86ff;
    --blue-t:#0d2740; --green-t:#0e2a1a; --amber-t:#2d2411; --purple-t:#221c3d;
    --crit:#ff8a80; --crit-t:#331615;
    --ground:#080f1c; --surface:#101b2e; --surface-2:#16243b; --line:#20334f;
    --ink:#e9eff8; --ink-2:#b6c5da; --ink-3:#8da0bb; --ink-4:#6b809d;
    --shadow:0 1px 2px rgba(0,0,0,.5), 0 10px 30px -20px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --navy:#0a2748; --navy-2:#071c34; --blue:#4aa3e8; --blue-d:#2b86cf;
  --teal:#2fc7c5; --green:#4cc76a; --amber:#f0b34a; --purple:#9a86ff;
  --blue-t:#0d2740; --green-t:#0e2a1a; --amber-t:#2d2411; --purple-t:#221c3d;
  --crit:#ff8a80; --crit-t:#331615;
  --ground:#080f1c; --surface:#101b2e; --surface-2:#16243b; --line:#20334f;
  --ink:#e9eff8; --ink-2:#b6c5da; --ink-3:#8da0bb; --ink-4:#6b809d;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 10px 30px -20px rgba(0,0,0,.9);
}
:root[data-theme="light"]{
  --navy:#073b6f; --navy-2:#0a2a4d; --blue:#0b74c8; --blue-d:#075a9c;
  --teal:#00a7a5; --green:#28a745; --amber:#f5a623; --purple:#7b61ff;
  --blue-t:#eaf6ff; --green-t:#e9fff1; --amber-t:#fff6e6; --purple-t:#f4edff;
  --crit:#c02626; --crit-t:#fdeceb;
  --ground:#f6f9fd; --surface:#ffffff; --surface-2:#f1f6fc; --line:#dbe4ef;
  --ink:#0f172a; --ink-2:#475569; --ink-3:#6b7280; --ink-4:#94a3b8;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);
     font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* ---------- shared chrome ---------- */
.shield{flex:none}
.wordmark{font-weight:700;letter-spacing:.11em;font-size:19px;line-height:1}
.tagline{font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin-top:3px;opacity:.75}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:3px;
      font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.c-blue{background:var(--blue-t);color:var(--blue-d)}
.c-green{background:var(--green-t);color:var(--green)}
.c-amber{background:var(--amber-t);color:#8a5a00}
.c-purple{background:var(--purple-t);color:var(--purple)}
.c-crit{background:var(--crit-t);color:var(--crit)}
.c-grey{background:var(--surface-2);color:var(--ink-3)}
.c-out{border:1px solid rgba(255,255,255,.32);color:#cfe3f5}
:root[data-theme="dark"] .c-amber{color:var(--amber)}
@media (prefers-color-scheme:dark){.c-amber{color:var(--amber)}}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel > h2, .panel > h3{margin:0;font-size:12px;letter-spacing:.09em;text-transform:uppercase;
   font-weight:700;color:var(--ink-2);padding:12px 15px;border-bottom:1px solid var(--line);
   display:flex;align-items:center;gap:10px}
.panel .body{padding:15px}
.n{width:19px;height:19px;border-radius:3px;background:var(--blue);color:#fff;font-size:11px;
   display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.hint{font-size:12px;color:var(--ink-3);margin:0}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
th{text-align:left;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);
   padding:0 12px 8px;font-weight:700;white-space:nowrap}
td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
tbody tr:hover td{background:var(--surface-2)}
