/* ═══ ALEXANDRIA — scoped styles, built on site tokens (style.css :root) ═══ */

.alx-hero{padding:18px 0 0}
.alx-hero .eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--accent);margin-bottom:10px}
.alx-hero h1{font-family:var(--display);font-style:italic;font-weight:800;
  font-size:clamp(40px,9vw,64px);line-height:.92;letter-spacing:.01em}
.alx-hero .deck{font-size:16px;color:#C9C9CD;margin-top:12px;max-width:640px;line-height:1.55}
.alx-hero .rule{height:3px;background:var(--accent);margin:20px 0 0}

.alx-searchbar{position:sticky;top:0;z-index:30;background:var(--field);
  padding:12px 0 10px;border-bottom:1px solid var(--rule)}
#alx-q{width:100%;background:#000;border:1px solid var(--rule);color:var(--line);
  padding:14px;font-size:17px;font-family:var(--label);font-weight:500;border-radius:0;
  -webkit-appearance:none}
#alx-q:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}
#alx-count{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted);
  display:block;margin-top:8px}
.alx-modes{display:flex;gap:8px;margin-top:10px}
.alx-mode{flex:1;background:#000;border:1px solid var(--rule);color:var(--muted);
  font-family:var(--label);font-weight:700;font-size:12px;letter-spacing:.16em;
  padding:12px 0;cursor:pointer;min-height:44px}
.alx-mode.on{background:var(--accent);border-color:var(--accent);color:#fff}
.alx-mode:focus-visible{outline:2px solid var(--line);outline-offset:2px}

.alx-chips{display:flex;gap:6px;overflow-x:auto;padding:12px 0;-webkit-overflow-scrolling:touch}
.alx-chip{flex:0 0 auto;background:#000;border:1px solid var(--rule);color:var(--muted);
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:9px 13px;
  cursor:pointer;white-space:nowrap;min-height:36px}
.alx-chip.on{border-color:var(--line);color:var(--line);background:#1a1a1e}

.alx-card{border:1px solid var(--rule);background:var(--field-alt);margin-bottom:12px}
.alx-chd{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:9px 13px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.alx-meta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted)}
.alx-badge{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;
  padding:3px 8px;border:1px solid}
.alx-badge.ok{color:var(--ok);border-color:var(--ok)}
.alx-badge.warn{color:var(--warn);border-color:var(--warn)}
.alx-title{font-family:var(--display);font-style:italic;font-weight:800;
  font-size:21px;line-height:1.05;padding:11px 13px 2px;letter-spacing:.01em}
.alx-body{padding:4px 13px 14px}
.alx-txt{font-size:15px;line-height:1.55;color:#D2D2D6;margin:8px 0 0}
.alx-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--muted);
  margin:14px 0 7px}
.alx-pn{font-family:var(--mono);font-size:13px;background:#000;border:1px solid var(--rule);
  padding:4px 9px;margin:0 6px 6px 0;display:inline-block}
.alx-co{display:flex;gap:11px;font-size:14.5px;padding:3px 0;align-items:baseline;color:#D2D2D6}
.alx-co .n{font-family:var(--mono);color:var(--accent);font-weight:700;font-size:12px;min-width:18px}
.alx-fig{font-size:13.5px;font-style:italic;color:#B9B9BE;padding:2px 0}

.alx-offer{display:flex;justify-content:space-between;align-items:center;gap:12px;
  border:1px solid var(--accent);padding:13px;margin-top:8px;background:#000;
  text-decoration:none;color:var(--line);min-height:44px}
.alx-offer.guide{border-color:var(--muted)}
.alx-offer.req{border-color:var(--warn)}
.alx-offer .on{display:block;font-family:var(--label);font-weight:700;font-size:14px;letter-spacing:.02em}
.alx-offer .os{display:block;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:3px}
.alx-offer .ot{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent);white-space:nowrap}
.alx-offer.guide .ot{color:var(--line)}
.alx-offer.req .ot{color:var(--warn)}
.alx-offer:hover{background:#141417}
.alx-offer:focus-visible{outline:2px solid var(--line);outline-offset:2px}

.alx-credit{border-top:1px solid var(--rule);margin-top:14px;padding-top:11px;
  font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.7}
.alx-credit b{color:var(--line);font-weight:600}
.alx-credit a{color:var(--muted)}

.alx-empty{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center;
  padding:40px 14px;line-height:2}
.alx-ex{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--line);
  background:none;border:1px solid var(--rule);padding:9px 13px;margin:4px;cursor:pointer;min-height:40px}
.alx-ex:hover{border-color:var(--accent)}

.alx-contrib{display:flex;justify-content:space-between;align-items:center;width:100%;
  background:none;border:none;border-bottom:1px solid var(--rule);color:var(--line);
  padding:15px 13px;cursor:pointer;text-align:left;min-height:52px}
.alx-contrib:hover{background:#141417}
.alx-contrib .cname{font-family:var(--display);font-style:italic;font-weight:800;font-size:18px}
.alx-contrib .ccount{font-family:var(--mono);font-size:11px;color:var(--accent);white-space:nowrap}
.alx-note{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.8;
  padding:14px 2px}
.alx-note a{color:var(--accent)}

/* published factory figures */
.alx-figimg{margin:8px 0 4px;border:1px solid var(--rule);background:#fff;padding:6px}
.alx-figimg img{width:100%;display:block}
.alx-figimg figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  color:#333;background:#fff;padding:6px 2px 2px;font-style:italic}
