:root{--bg:#050a12;--panel:#091426;--gold:#d9b55a;--gold2:#f1d58a;--purple:#a864ff;--text:#f6f7fb;--muted:#aab3c5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 50% 0,#12244a 0,#07101f 34%,#050a12 72%)}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.directory-wrap{width:min(1180px,92vw);margin:auto}
.directory-nav{position:sticky;top:0;z-index:30;background:rgba(5,10,18,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.directory-nav-in{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.directory-brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.08em}
.directory-brand img{width:40px;height:40px;object-fit:contain}
.directory-back{font-size:12px;font-weight:800;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}
.directory-main{padding:34px 0 64px}
.directory-kicker{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.15em}
.directory-title{font-family:Georgia,serif;font-size:clamp(38px,6vw,64px);margin:7px 0 8px}
.directory-intro{max-width:760px;color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 18px}
.directory-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 1px 5px;margin:4px 0 14px;-webkit-overflow-scrolling:touch}
.directory-tabs::-webkit-scrollbar{display:none}
.directory-tabs button{flex:0 0 auto;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#dfe5f0;font-size:11px;font-weight:900;cursor:pointer}
.directory-tabs button:hover{border-color:rgba(168,100,255,.35);background:rgba(168,100,255,.07)}
.directory-tabs button.is-active{border-color:rgba(168,100,255,.55);background:rgba(168,100,255,.16);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.directory-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:9px 0 16px}
.directory-search{flex:1 1 320px;min-height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;padding:0 17px;outline:none}
.directory-search:focus{border-color:rgba(168,100,255,.55);box-shadow:0 0 0 3px rgba(168,100,255,.1)}
.directory-count{font-size:11px;color:var(--muted);font-weight:800}
.directory-letters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.directory-letters[hidden]{display:none}
.directory-letters a{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:31px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);font-size:10px;font-weight:900;color:#dfe5f0}
.directory-letters a:hover{border-color:rgba(168,100,255,.35);background:rgba(168,100,255,.07)}
.directory-results>.directory-grid{margin-top:4px}
.directory-section{margin-top:25px;scroll-margin-top:86px}
.directory-section:first-child{margin-top:4px}
.directory-letter{font-family:Georgia,serif;font-size:29px;margin:0 0 10px;color:var(--gold2)}
.directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.directory-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.075);background:rgba(9,20,38,.76);border-radius:17px;min-width:0;transition:.16s ease}
.directory-card:hover{transform:translateY(-1px);border-color:rgba(168,100,255,.35);background:rgba(168,100,255,.07)}
.directory-card img{width:58px;height:58px;object-fit:cover;border-radius:10px;background:#101827}
.directory-card-copy{min-width:0}
.directory-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
.directory-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.directory-empty{display:none;color:var(--muted);padding:30px 0}
.directory-footer{padding:30px 0 48px;border-top:1px solid rgba(255,255,255,.06);color:#8690a3;font-size:12px}
.directory-footer-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media(max-width:900px){
  .directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .directory-nav-in{min-height:56px}
  .directory-brand span{display:none}
  .directory-brand img{width:36px;height:36px}
  .directory-main{padding-top:22px}
  .directory-title{font-size:40px}
  .directory-intro{font-size:12.5px}
  .directory-tabs{margin-right:-4vw;padding-right:4vw}
  .directory-tabs button{min-height:34px;padding:0 11px;font-size:10px}
  .directory-grid{grid-template-columns:1fr;gap:7px}
  .directory-card{grid-template-columns:52px minmax(0,1fr);padding:8px}
  .directory-card img{width:52px;height:52px}
  .directory-letters{gap:5px}
  .directory-letters a{min-width:29px;height:29px}
  .directory-tools{margin-bottom:14px}
}

/* World marks beside beat cards: visible enough to work as orientation, not tiny badges. */
.directory-card{padding-right:42px!important}
.directory-card .cs-worldmark{width:26px!important;height:26px!important;right:8px!important;top:8px!important;opacity:.62!important}
@media(max-width:620px){
  .directory-card{padding-right:39px!important}
  .directory-card .cs-worldmark{width:23px!important;height:23px!important}
}
