/* GENERATED by tools\build_uei_card_list.py - the UEI card list, in the form's own look. Never edit by hand. */
:root { --bg:#F3F8FC; --card:#FFFFFF; --ink:#0F172A; --ink-2:#334155; --muted:#4B5B70; --line:#DCE6F0; --soft:#EEF4FA;
  --accent:#0369A1; --accent-soft:#E0F2FE; --sky-soft:#E0F2FE; --amber-soft:#FEF3C7;
  --ok:#15803D; --ok-soft:#DCFCE7; --path:#92400E; --path-soft:#FEF3C7; --teal:#0F766E; --teal-soft:#CCFBF1;
  --radius:14px; --shadow:0 1px 2px rgba(15,23,42,.05), 0 10px 30px rgba(14,116,144,.08); color-scheme:light; }
@media (prefers-color-scheme: dark) { :root { --bg:#0B1220; --card:#121C2E; --ink:#E6EDF6; --ink-2:#C8D4E3; --muted:#A2B3C8;
  --line:#233250; --soft:#172338; --accent:#38BDF8; --accent-soft:#0C2A3F; --sky-soft:#0C2A3F; --amber-soft:#2D2207;
  --ok:#4ADE80; --ok-soft:#0E2A1B; --path:#FBBF24; --path-soft:#2B2209; --teal:#5EEAD4; --teal-soft:#0B2B28;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.35); color-scheme:dark; } }
* { box-sizing:border-box } [hidden] { display:none !important }
body { margin:0; color:var(--ink); font:16px/1.55 "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  background:radial-gradient(900px 380px at 0% -10%, var(--sky-soft), transparent 70%),
             radial-gradient(700px 320px at 100% 0%, var(--amber-soft), transparent 70%), var(--bg); background-attachment:fixed }
.wrap { max-width:1040px; margin:0 auto; padding-inline:20px }
a { color:var(--accent) } :focus-visible { outline:3px solid var(--accent); outline-offset:2px; border-radius:6px }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.top { background:linear-gradient(90deg, #0369A1, #0E7490); color:#fff }
.top-in { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px }
.brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:800; letter-spacing:.01em }
.logo { width:26px; height:26px } .logo rect { fill:#fff } .logo path { fill:none; stroke:#0369A1; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round }
.top a.lang { color:#fff; font-weight:600; text-decoration:none; padding:8px 12px; border:1.5px solid rgba(255,255,255,.6); border-radius:999px }
.hero { padding:30px 0 10px }
.eyebrow { margin:0 0 6px; font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent) }
h1 { margin:0 0 10px; font-size:clamp(1.65rem, 4.4vw, 2.3rem); font-weight:800; letter-spacing:-.01em; line-height:1.2 }
.lede { margin:0; max-width:760px; font-size:1.08rem; color:var(--ink-2) } .lede b { color:var(--ink) }
.stats { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 6px }
.stat { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:12px 18px; min-width:132px }
.stat b { display:block; font-size:1.7rem; line-height:1.1; color:var(--accent) } .stat span { color:var(--muted); font-size:.9rem }
.panel { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 20px; margin:18px 0 }
.panel h2 { margin:0 0 6px; font-size:1.05rem } .panel p { margin:0 0 12px; color:var(--ink-2) }
.legend { display:flex; flex-wrap:wrap; gap:10px 22px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:.92rem }
.legend li { display:flex; align-items:center; gap:8px }
.tools { position:sticky; top:0; z-index:5; padding:12px 0; background:linear-gradient(var(--bg) 80%, transparent) }
.search { width:100%; font:inherit; font-size:1rem; padding:12px 16px; min-height:48px; border:1.5px solid var(--line); border-radius:999px;
  background:var(--card); color:var(--ink); box-shadow:var(--shadow) }
.search:focus { outline:none; border-color:var(--accent) }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; padding:0; list-style:none }
.chips a { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 12px; border-radius:999px; background:var(--card);
  border:1px solid var(--line); color:var(--ink-2); text-decoration:none; font-size:.9rem; font-weight:600 }
.chips a:hover { border-color:var(--accent); color:var(--accent) } .chips .n { color:var(--muted); font-weight:500 }
.fam { margin:22px 0 6px; scroll-margin-top:150px }
.fam h2 { display:flex; align-items:baseline; gap:10px; margin:0 0 12px; font-size:1.3rem }
.fam h2 .n { font-size:.9rem; font-weight:600; color:var(--muted) }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:12px; margin:0; padding:0; list-style:none }
.tile { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px; display:flex; flex-direction:column; gap:8px }
.tile:hover { border-color:var(--accent) }
.name { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 8px; font-weight:800; font-size:1.12rem; direction:ltr; unicode-bidi:isolate }
[dir=rtl] .name { justify-content:flex-end }
.part { font-size:.78rem; font-weight:700; color:var(--teal); background:var(--teal-soft); padding:2px 8px; border-radius:999px }
.meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:var(--muted); font-size:.92rem }
.badges { display:flex; flex-wrap:wrap; gap:6px }
.badge { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; font-size:.82rem; font-weight:700 }
.badge::before { content:""; width:8px; height:8px; border-radius:50% ; background:currentColor }
.badge.exact { color:var(--ok); background:var(--ok-soft) } .badge.path { color:var(--path); background:var(--path-soft) }
.badge.proven { color:var(--accent); background:var(--accent-soft) }
details.note summary { cursor:pointer; color:var(--muted); font-size:.85rem; min-height:24px }
details.note p { margin:6px 0 0; font-size:.84rem; color:var(--ink-2); direction:ltr; text-align:left; overflow-wrap:anywhere }
.nomatch { color:var(--muted); padding:18px 0 }
details.none { margin:30px 0 10px } details.none > summary { cursor:pointer; font-weight:700; font-size:1.1rem; list-style-position:inside }
details.none ul { margin:12px 0 0; padding:0; list-style:none; display:grid; gap:8px }
details.none li { background:var(--soft); border-radius:10px; padding:10px 14px } details.none li b { direction:ltr; unicode-bidi:isolate }
details.none li span { display:block; color:var(--muted); font-size:.86rem; direction:ltr; text-align:left; overflow-wrap:anywhere }
.foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; color:var(--muted); font-size:.85rem; padding:26px 0 40px;
  border-top:1px solid var(--line); margin-top:30px }
@media (max-width:560px) { .wrap { padding-inline:16px } .grid { grid-template-columns:1fr } .stat { flex:1 1 40%; min-width:0 } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior:smooth } }
