
:root{
  --bg:#fbfaf8; --panel:#fff; --ink:#1a1c1f; --muted:#5f6672; --line:#e5e2dc;
  --accent:#1d5c4a; --accent-ink:#fff; --pill:#eef3f0; --ring:#1d5c4a33; --radius:14px;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#14161a; --panel:#1b1e24; --ink:#eceef2; --muted:#a2abb8; --line:#2b3038;
         --accent:#5fbfa2; --accent-ink:#0d1512; --pill:#232a2f; --ring:#5fbfa244; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent);text-underline-offset:2px}
h1{font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1.15;margin:.2em 0 .3em;letter-spacing:-.02em}
h2{font-size:1.02rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
main{max-width:960px;margin:0 auto;padding:1.1rem 1rem 3rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--muted)} .small{font-size:.85rem}
.lede{font-size:1.06rem;color:var(--muted);margin:.2rem 0 1rem;max-width:60ch}

header.site{position:sticky;top:0;z-index:20;display:flex;gap:1rem;align-items:center;
  justify-content:space-between;flex-wrap:wrap;
  padding:.7rem 1rem;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:-.01em}
.brand .mark{color:var(--accent);margin-right:.35rem}
header.site nav{display:flex;gap:.15rem;flex-wrap:wrap}
header.site nav a{padding:.4rem .6rem;border-radius:9px;text-decoration:none;
  color:var(--muted);font-size:.93rem}
header.site nav a:hover{background:var(--pill);color:var(--ink)}
header.site nav a.on{color:var(--ink);background:var(--pill)}

footer.site{border-top:1px solid var(--line);margin-top:2rem;padding:1.4rem 1rem 2.5rem;
  max-width:960px;margin-inline:auto;font-size:.9rem}
footer.site p{margin:.3rem 0}

.hero{padding:1.2rem 0 .3rem}
.stats{color:var(--muted);font-size:.95rem;margin:.4rem 0 0}

.searchwrap{position:sticky;top:52px;z-index:10;padding:.8rem 0 .5rem;
  background:linear-gradient(var(--bg) 78%,transparent)}
.srch input{width:100%;padding:.85rem 1rem;font-size:1.05rem;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);border-radius:12px}
.srch input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
.filters{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.filters select{flex:1 1 46%;min-width:0;padding:.6rem .7rem;font-size:.95rem;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);border-radius:10px}
@media(min-width:640px){.filters select{flex:0 1 auto;min-width:210px}}

.results{display:grid;gap:.6rem;margin-top:.4rem}
.rlist{display:grid;gap:.55rem;margin-top:.8rem}
.rcard,.lcard{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  text-decoration:none;color:inherit}
.rcard:hover,.lcard:hover{border-color:var(--accent);transform:translateY(-1px)}
.rcard{transition:border-color .12s,transform .12s}
.rname,.lname{font-weight:620;letter-spacing:-.01em}
.rmeta,.lcount{color:var(--muted);font-size:.9rem}
.lgrid{display:grid;gap:.55rem;grid-template-columns:1fr;margin-top:.9rem}
@media(min-width:560px){.lgrid{grid-template-columns:1fr 1fr}}
.lcard{flex-direction:row;justify-content:space-between;align-items:center}

.crumb{font-size:.88rem;color:var(--muted);margin:.2rem 0 .4rem}
.crumb a{color:var(--muted)}
.metaline{margin:.1rem 0 .9rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.pill{background:var(--pill);color:var(--ink);padding:.22rem .6rem;border-radius:999px;
  font-size:.83rem;font-weight:600}

.grid{display:grid;gap:.7rem;grid-template-columns:1fr;margin-top:1rem}
@media(min-width:700px){.grid{grid-template-columns:1fr 1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem}
.card p{margin:.2rem 0}
.card.locked{border-style:dashed}
ul.kv{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
ul.kv li{display:grid;grid-template-columns:1fr;gap:.1rem;align-items:start;font-size:.96rem;
  overflow-wrap:anywhere}
@media(min-width:430px){
  ul.kv li{grid-template-columns:5.4rem 1fr;gap:.5rem}
  .lbl{padding-top:.12rem}
}
.lbl{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.eml span{opacity:.75}
.socs{display:flex;gap:.4rem;flex-wrap:wrap}
.soc,.btn{display:inline-block;padding:.45rem .75rem;border-radius:9px;background:var(--pill);
  color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}
.btn{background:var(--accent);color:var(--accent-ink);margin-top:.5rem}
.soc:hover{background:var(--accent);color:var(--accent-ink)}
.clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.note{background:var(--pill);padding:.9rem 1rem;border-radius:var(--radius)}
.pill.warn{background:#fdf0d5;color:#7a4a00}
@media (prefers-color-scheme:dark){.pill.warn{background:#4a3410;color:#ffd591}}
:root[data-theme="light"] .pill.warn{background:#fdf0d5;color:#7a4a00}
:root[data-theme="dark"] .pill.warn{background:#4a3410;color:#ffd591}

.form{margin-top:1.1rem;max-width:640px}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}
.field label{font-size:.85rem;color:var(--muted);font-weight:600}
.req{color:#c0392b}
.field input,.field select,.field textarea{
  width:100%;padding:.7rem .8rem;font:inherit;font-size:1rem;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);border-radius:10px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
.field input[aria-invalid="true"]{border-color:#c0392b}
.row{display:grid;gap:.6rem;grid-template-columns:1fr}
@media(min-width:560px){.row{grid-template-columns:1fr 1fr}}
.fs{border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin:1.2rem 0}
.fs legend{padding:0 .4rem;font-size:.85rem;color:var(--muted);font-weight:700;
  text-transform:uppercase;letter-spacing:.04em}
.form .btn{border:0;cursor:pointer;font:inherit;font-weight:700;padding:.7rem 1.2rem}
.form .btn[disabled]{opacity:.6;cursor:progress}
.formstatus{margin-top:.7rem;font-size:.95rem}
.formstatus.err{color:#c0392b}
.formstatus.ok{color:var(--accent);font-weight:600}
/* Honeypot: off-screen for humans, still filled by naive bots. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:reduce){*{transition:none!important;transform:none!important}}
