:root{
  --creator-ink:#11172a;
  --creator-muted:#75809a;
  --creator-line:#e4e8f0;
}

*{box-sizing:border-box}

body.creator-directory-page{
  margin:0;
  background:#f5f7fa;
  color:var(--creator-ink);
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:400;
}

.creator-directory-main{
  width:min(1100px,calc(100% - 48px));
  min-height:62vh;
  margin:0 auto;
  padding:22px 0 72px;
}

.creator-directory-hero{
  padding:8px 0 22px;
}

.creator-directory-hero h1{
  margin:0;
  color:var(--creator-ink);
  font-size:clamp(26px,3vw,38px);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.35;
}

.creator-directory-section{
  overflow:hidden;
  border:1px solid var(--creator-line);
  border-radius:10px;
  background:rgba(255,255,255,.72);
}

.creator-directory-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:62px;
  padding:10px 18px;
  border-bottom:1px solid var(--creator-line);
}

.creator-directory-search{
  display:flex;
  align-items:center;
  width:min(320px,48%);
  height:38px;
  padding:0 11px;
  border:1px solid var(--creator-line);
  border-radius:7px;
  background:#fff;
  color:#263555;
}

.creator-directory-search>.material-symbols-rounded{
  flex:0 0 auto;
  margin-right:7px;
  font-size:18px;
}

.creator-directory-search input{
  min-width:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--creator-ink);
  font:inherit;
  font-size:11px;
  font-weight:500;
}

.creator-directory-search input::placeholder{
  color:#687493;
  opacity:1;
}

.creator-directory-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  min-width:0;
}

.creator-directory-controls select{
  height:34px;
  padding:0 30px 0 10px;
  border:1px solid var(--creator-line);
  border-radius:7px;
  outline:0;
  background:#fff;
  color:#3d4965;
  font-family:inherit;
  font-size:10px;
  font-weight:500;
  line-height:1.2;
}

.creator-directory-controls p{
  margin:0;
  color:var(--creator-muted);
  font-size:11px;
  white-space:nowrap;
}

.creator-directory-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.creator-directory-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:96px;
  padding:18px 21px;
  color:inherit;
  text-decoration:none;
  transition:background-color .2s ease;
}

.creator-directory-card:nth-child(odd){
  border-right:1px solid var(--creator-line);
}

.creator-directory-card:nth-child(n+3){
  border-top:1px solid var(--creator-line);
}

.creator-directory-card img{
  display:block;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#eef1f6;
  object-fit:cover;
}

.creator-directory-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.creator-directory-copy strong,
.creator-directory-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.creator-directory-copy strong{
  color:var(--creator-ink);
  font-size:14px;
  font-weight:600;
}

.creator-directory-copy span{
  color:var(--creator-muted);
  font-size:10px;
}

.creator-directory-metric{
  display:grid;
  justify-items:center;
  gap:2px;
  min-width:96px;
  text-align:center;
}

.creator-directory-metric small{
  color:var(--creator-muted);
  font-size:9px;
}

.creator-directory-metric strong{
  color:#26304a;
  font-size:13px;
  font-weight:600;
}

.creator-directory-profile-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  min-height:26px;
  margin-top:4px;
  padding:0 9px;
  border:1px solid #f0b3d0;
  border-radius:7px;
  background:#fff;
  color:#30384f;
  font-size:9px;
  font-weight:500;
  line-height:1;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}

.creator-directory-loading,
.creator-directory-empty{
  grid-column:1/-1;
  min-height:180px;
  padding:72px 20px;
  color:var(--creator-muted);
  font-size:12px;
  text-align:center;
}

@media (hover:hover) and (pointer:fine){
  .creator-directory-card:hover{
    background:rgba(81,72,223,.055);
  }
  .creator-directory-profile-button:hover{
    border-color:#e69abc;
    background:#fff7fb;
    color:#b23d78;
  }
}

@media (max-width:720px){
  .creator-directory-main{
    width:100%;
    padding:14px 0 48px;
  }
  .creator-directory-hero{
    padding:8px 18px 18px;
  }
  .creator-directory-hero h1{
    font-size:25px;
  }
  .creator-directory-section{
    border-right:0;
    border-left:0;
    border-radius:0;
    background:transparent;
  }
  .creator-directory-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 12px;
    min-height:0;
    padding:12px 18px;
  }
  .creator-directory-search{
    grid-column:1/-1;
    width:100%;
  }
  .creator-directory-controls{
    grid-column:1/-1;
    justify-content:space-between;
  }
  .creator-directory-list{
    grid-template-columns:1fr;
  }
  .creator-directory-card{
    grid-template-columns:50px minmax(0,1fr) auto;
    min-height:82px;
    padding:14px 18px;
  }
  .creator-directory-card:nth-child(odd){
    border-right:0;
  }
  .creator-directory-card:nth-child(n+2){
    border-top:1px solid var(--creator-line);
  }
  .creator-directory-card img{
    width:50px;
    height:50px;
  }
  .creator-directory-copy strong{
    font-size:13px;
  }
  .creator-directory-metric{
    min-width:82px;
  }
  .creator-directory-metric strong{
    font-size:12px;
  }
  .creator-directory-profile-button{
    min-width:70px;
    min-height:24px;
    font-size:8px;
  }
}

@media (prefers-reduced-motion:reduce){
  .creator-directory-card{transition:none}
  .creator-directory-profile-button{transition:none}
}
