:root { font-family: system-ui, Arial, sans-serif; }
body { margin: 0; background: #0b0b0c; color: #f3f3f3; }
.container { max-width: 980px; margin: 0 auto; padding: 16px; }
h1 { margin: 0 0 6px; }
.muted { color: rgba(255,255,255,.7); }

.row { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
input, select, button {
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 10px 12px;
}
button { cursor: pointer; }
button.secondary { background: rgba(255,255,255,.03); }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.card { text-align: left; padding: 0; overflow: hidden; }
.thumb {
  height: 210px;
  background: rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.thumb img { width: 100%; height: 100%; object-fit: cover; display:block; }
.ph { font-size: 12px; opacity: .7; }

.card-body { padding: 10px; }
.card-title { font-weight: 700; font-size: 14px; line-height: 1.25; }
.card-sub { font-size: 12px; margin-top: 6px; }

.detail {
  margin-top: 18px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.hidden { display: none; }
.detail-head { display:flex; align-items:center; justify-content:space-between; gap: 8px; }

.pre {
  white-space: pre-wrap;
  word-break: break-word;
  background: rgba(0,0,0,.35);
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  overflow:auto;
}

.eps { display:flex; flex-wrap:wrap; gap: 8px; margin: 10px 0; }
.ep { font-size: 12px; padding: 8px 10px; }
.chip { text-align:center; }

.player video {
  width: 100%;
  max-height: 480px;
  background: #000;
  border-radius: 12px;
}

.hr { border: none; border-top: 1px solid rgba(255,255,255,.12); margin: 14px 0; }
.small { font-size: 12px; }

.tokenbox {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 10px;
}
#token { flex: 1; min-width: 200px; }