/* Collection page */
.cwrap { max-width: 1240px; }
.c-head { padding: 40px 0 22px; }
.c-head h1 { font: 400 clamp(44px, 5vw, 60px)/1 var(--serif); }
.c-head p { margin-top: 10px; max-width: 640px; color: var(--muted); font-size: 16px; }
.c-head b { color: var(--text); font-weight: 600; }

.c-bar { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 0; background: linear-gradient(var(--bg, #0b2628) 75%, transparent); }
.c-bar input, .c-bar select, .c-bar button { height: 40px; padding: 0 14px; border: 1px solid var(--line2); border-radius: 12px; background: rgba(0, 0, 0, .25); color: var(--text); font: 500 14px var(--sans); }
.c-bar input { width: 130px; }
.c-bar button { cursor: pointer; }
.c-fbtn { display: none; }
.c-fbtn i { font-style: normal; color: var(--mint); }
.c-clear { color: var(--muted) !important; }

.c-body { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 26px; align-items: start; margin-top: 6px; }
.c-filters { position: sticky; top: 72px; max-height: calc(100vh - 90px); overflow: auto; padding-right: 6px; }
.c-filters details { border-bottom: 1px solid var(--line); padding: 10px 0; }
.c-filters summary { cursor: pointer; font: 600 13px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text); }
.c-filters summary i { font-style: normal; color: var(--mint); }
.c-filters details > div { display: grid; gap: 2px; margin-top: 8px; }
.c-filters label { display: grid; grid-template-columns: auto auto 1fr auto; gap: 8px; align-items: center; padding: 5px 4px; border-radius: 8px; cursor: pointer; font-size: 14px; color: var(--muted); }
.c-filters label:hover { background: rgba(151, 252, 228, .05); color: var(--text); }
.c-filters label > span:not(.c-dot) { grid-column: 3; }
.c-filters label:not(:has(.c-dot)) > span { grid-column: 2 / 4; }
.c-filters em { font: 500 12px var(--mono); font-style: normal; color: var(--dim); }
.c-filters input { accent-color: var(--mint); }
.c-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px var(--c); }

.c-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; }
.c-card { display: block; padding: 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: rgba(0, 0, 0, .2); cursor: pointer; text-align: left; transition: transform .15s, border-color .15s; }
.c-card:hover { transform: translateY(-2px); border-color: var(--c); }
.c-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; background: #10302f; }
.c-card span { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 10px; }
.c-card b { font: 600 14px var(--mono); color: var(--text); }
.c-card i { font: 500 11px var(--mono); font-style: normal; color: var(--dim); }
.c-more { padding: 30px 0 10px; text-align: center; color: var(--dim); font: 500 13px var(--mono); }

.c-modal { margin: auto; width: min(760px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--line2); border-radius: 20px; background: #0d2223; color: var(--text); }
.c-modal::backdrop { background: rgba(3, 12, 12, .72); backdrop-filter: blur(4px); }
.c-x { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .35); color: var(--text); font-size: 22px; cursor: pointer; }
.c-mbody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; padding: 22px; }
.c-mbody img { width: 100%; height: auto; border-radius: 14px; }
.c-mbody .kick { display: flex; align-items: center; gap: 8px; font: 600 12px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.c-mbody h2 { margin-top: 4px; font: 400 40px/1.05 var(--serif); }
.c-rank { margin-top: 4px; font: 500 13px var(--mono); color: var(--mint); }
.c-traits { list-style: none; padding: 0; margin-top: 14px; display: grid; gap: 6px; }
.c-traits li { display: grid; grid-template-columns: 96px 1fr auto; gap: 8px; align-items: baseline; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; }
.c-traits span { font: 500 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--dim); }
.c-traits em { font: 500 12px var(--mono); font-style: normal; color: var(--muted); }

@media (max-width: 860px) {
  .c-body { grid-template-columns: 1fr; }
  .c-fbtn { display: inline-block; }
  .c-filters { display: none; position: static; max-height: none; }
  body.c-open .c-filters { display: block; }
  .c-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
  .c-mbody { grid-template-columns: 1fr; }
}
.c-filters label.off { opacity: .55; cursor: default; }
.c-filters label.off:hover { background: none; color: var(--muted); }
.c-head .c-warn { display: flex; gap: 10px; align-items: center; margin-top: 16px; padding: 12px 16px; max-width: 640px; border: 1px solid rgba(255, 122, 84, .45); border-radius: 12px; background: rgba(255, 122, 84, .08); color: #ffb39c; font-size: 15px; }
.c-head .c-warn b { color: #fff; }
.c-warn i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #ff7a54; box-shadow: 0 0 10px #ff7a54; }
.c-mine { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 1px solid var(--line2); border-radius: 12px; background: rgba(0, 0, 0, .25); color: var(--text); font: 500 14px var(--sans); cursor: pointer; }
.c-mine input { accent-color: var(--mint); }
.c-mine i { font: 500 12px var(--mono); font-style: normal; color: var(--mint); }
.c-bar .c-mine input { width: 16px; height: 16px; padding: 0; margin: 0; border: 0; background: none; }
