:root{
  --bg:#0f0f0f;--bg-elev:#1a1a1a;--bg-elev-2:#222;--border:#2a2a2a;
  --text:#fff;--text-dim:#aaa;--text-faint:#717171;
  --blue:#4f7cff;--blue-dark:#2d4fd6;--radius:14px;--radius-sm:10px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none}

.navbar{position:sticky;top:0;z-index:1000;background:rgb(15 15 15 / 96%);border-bottom:1px solid var(--border);padding:.7rem .5rem}
.nav-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:1.5rem}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.25rem;letter-spacing:-.5px}
.logo-icon{width:36px;height:36px;background:linear-gradient(145deg,var(--blue),var(--blue-dark));border-radius:11px;display:flex;align-items:center;justify-content:center}
.logo-icon i{font-size:16px;color:#fff}
.nav-menu{display:flex;align-items:center;gap:.25rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;padding:.3rem}
.nav-menu a{color:var(--text-dim);padding:.45rem 1rem;border-radius:100px;font-size:.83rem;font-weight:600;display:flex;align-items:center;gap:.4rem}
.nav-menu a.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark))}
.search-form{flex:1;max-width:420px;margin-left:auto;position:relative;display:flex}
.search-input{width:100%;background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;padding:.6rem 2.9rem .6rem 1.15rem;color:var(--text);font-size:.85rem;outline:none}
.search-input:focus{border-color:var(--blue);background:var(--bg-elev-2)}
.search-btn{position:absolute;right:4px;top:4px;bottom:4px;width:36px;background:transparent;border:none;border-radius:100px;color:var(--text-dim);cursor:pointer}
.search-btn:hover{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff}

.main-content{max-width:1400px;margin:0 auto;padding:1.75rem 1.25rem}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;flex-wrap:wrap;gap:.5rem}
.section-title{display:flex;align-items:center;gap:.65rem;font-size:1.15rem;font-weight:800}
.section-title .icon-wrap{width:30px;height:30px;border-radius:9px;background:var(--bg-elev);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.section-title .icon-wrap img{width:18px;height:12px;border-radius:2px}
.section-title .badge{font-size:.65rem;background:var(--bg-elev);border:1px solid var(--border);padding:.2rem .65rem;border-radius:100px;color:var(--text-faint);font-weight:600}
.view-all{font-size:.78rem;color:var(--text-dim)}
.view-all:hover{color:var(--blue)}

.slider-wrapper{position:relative;border-radius:var(--radius);margin-bottom:2rem}
.slider-container{overflow-x:hidden;overflow-y:hidden;padding:1px}
.slider-track{display:flex;gap:5px;width:max-content}
.slider-item{position:relative;flex:0 0 175px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elev-2);border:1px solid var(--border);display:block}
.slider-item img{width:100%;aspect-ratio:6/9;object-fit:cover;display:block}
.slider-item .overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem .6rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.slider-item .card-title{font-size:.72rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:34px;height:34px;border-radius:50%;background:rgba(11,13,18,.9);border:1px solid var(--border);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem}
.slider-btn.prev{left:10px}.slider-btn.next{right:10px}

.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.card{position:relative;background:var(--bg-elev);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);display:block}
.card .thumb-wrap{position:relative;width:100%;aspect-ratio:6/9;overflow:hidden;background:var(--bg)}
.card .thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.card-body{padding:.6rem .7rem .7rem}
.card-title{font-size:.76rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.pages-pill{position:absolute;bottom:6px;left:6px;background:rgba(0,0,0,.75);color:#fff;font-size:.6rem;padding:.1rem .4rem;border-radius:4px;display:flex;align-items:center;gap:.25rem}
.flag-badge{position:absolute;top:8px;right:8px;z-index:3;width:23px;height:16px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:rgba(11,13,18,.85);display:flex;align-items:center;justify-content:center}
.flag-badge img{width:100%;height:100%;object-fit:cover;display:block}
.flag-badge span{font-size:.6rem;font-weight:700;color:#fff}

.cosplay-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-elev-2);color:var(--text-faint);font-size:2rem}

.pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:2.5rem 0 1rem;flex-wrap:wrap}
.pagination-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem 1rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;font-size:.78rem;font-weight:600;color:var(--text)}
.pagination-btn.active{background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-color:var(--blue)}
.pagination-btn.disabled{opacity:.3;pointer-events:none}
.pagination-btn:hover{border-color:var(--blue)}

.search-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}
.search-header-icon{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--blue),var(--blue-dark));display:flex;align-items:center;justify-content:center;color:#fff}
.search-header h1{font-size:1rem;font-weight:700}
.query-highlight{color:var(--blue)}
.search-header-sub{margin-top:.15rem;font-size:.72rem;color:var(--text-faint)}
.count-badge{background:var(--bg-elev);border:1px solid var(--border);padding:.1rem .5rem;border-radius:100px;font-size:.62rem;font-weight:600}

.state{text-align:center;padding:4rem 1rem;color:var(--text-faint)}
.state i{font-size:3rem;display:block;margin-bottom:1rem;color:var(--bg-elev-2)}

.footer{background:var(--bg-elev);padding:2rem 1.25rem;text-align:center;border-top:1px solid var(--border);margin-top:2rem;font-size:.8rem;color:var(--text-faint)}
.footer-links{margin-bottom:.75rem}
.footer-links a{color:var(--text-dim);margin:0 .4rem}
.footer-links a:hover{color:var(--blue)}
.footer-divider{color:var(--border)}

.menu-bottom{display:none;justify-content:center;gap:.5rem;padding:.5rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;margin-bottom:1.75rem;width:fit-content;margin-left:auto;margin-right:auto}
.menu-bottom a{color:var(--text-dim);padding:.55rem 1.1rem;border-radius:100px;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:.4rem}
.menu-bottom a.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark))}

.cosplay{margin-top:2.5rem}

@media(max-width:1024px){
  .grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:768px){
  .search-form{max-width:100%;order:3;flex-basis:100%;margin-left:0}
  .grid{grid-template-columns:repeat(2,1fr);gap:5px}
  .card-title{font-size:.68rem}
  .main-content{padding:.5rem}
  .nav-menu{display:none}
  .menu-bottom{display:flex}
}
@media(max-width:480px){
  .grid{grid-template-columns:repeat(2,1fr)}
}
.search-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}
.search-filter .search-input{flex:1;min-width:180px}
.filter-select{background:var(--bg-elev);border:1px solid var(--border);border-radius:100px;padding:.55rem 1rem;color:var(--text);font-size:.82rem;cursor:pointer}
.filter-select:focus{outline:none;border-color:var(--blue)}
.filter-btn{background:linear-gradient(135deg,var(--blue),var(--blue-dark));border:none;border-radius:100px;padding:.55rem 1.1rem;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.35rem;text-decoration:none}
.filter-btn:hover{opacity:.9}

.tag-filter{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem}
.tag-filter-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}
.tag-filter-header .label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}
.tag-type-tabs{display:flex;flex-wrap:wrap;gap:.35rem}
.tag-type-tab{font-size:.72rem;font-weight:600;color:var(--text-dim);padding:.3rem .7rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elev-2);text-decoration:none;cursor:pointer}
.tag-type-tab:hover{color:var(--text);border-color:var(--blue)}
.tag-type-tab.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-color:var(--blue)}
.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}
.tag-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:100px;color:var(--text);font-size:.75rem;font-weight:500;text-decoration:none}
.tag-chip:hover{border-color:var(--blue);background:var(--bg-elev)}
.tag-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
.tag-chip small{color:var(--text-faint);font-size:.65rem;font-weight:600}
.tag-chip.active small{color:rgba(255,255,255,.8)}
.tag-empty{font-size:.78rem;color:var(--text-faint)}
@media(max-width:768px){
  .search-filter .search-input{flex-basis:100%}
  .filter-select,.filter-btn{flex:1}
  .tag-filter{padding:.75rem}
}
.search-layout{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}
.search-results{min-width:0}

.tag-sidebar{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;position:sticky;top:80px;display:flex;flex-direction:column}
.tag-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.tag-sidebar-head .label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}
.tag-sidebar-head .count{font-size:.7rem;color:var(--text-faint);font-weight:600}

.tag-type-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}
.tag-type-tab{font-size:.7rem;font-weight:600;color:var(--text-dim);padding:.28rem .6rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elev-2);text-decoration:none}
.tag-type-tab:hover{color:var(--text);border-color:var(--blue)}
.tag-type-tab.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-color:var(--blue)}

.tag-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:calc(100vh - 220px);scrollbar-width:none;-ms-overflow-style:none}
.tag-list::-webkit-scrollbar{display:none}
.tag-row{display:flex;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:8px;font-size:.78rem;color:var(--text);text-decoration:none;border:1px solid transparent}
.tag-row:hover{background:var(--bg-elev-2);border-color:var(--border)}
.tag-row.active{background:rgba(79,124,255,.12);border-color:var(--blue)}
.tag-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-row .cnt{flex-shrink:0;font-size:.66rem;color:var(--text-faint);font-weight:600}
.tag-row.active .name{color:#fff;font-weight:600}
.tag-empty{font-size:.75rem;color:var(--text-faint);padding:.5rem}

.tag-pager{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border)}
.tag-pager-btn{font-size:.72rem;font-weight:600;color:var(--text-dim);padding:.3rem .65rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-elev-2);text-decoration:none}
.tag-pager-btn:hover{color:#fff;border-color:var(--blue)}
.tag-pager-info{font-size:.68rem;color:var(--text-faint);font-weight:600}

@media (max-width: 900px) {
  .search-layout{grid-template-columns:1fr}
  .tag-sidebar{position:static;max-height:360px}
}
/* ===== search filter form ===== */
.search-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}
.search-filter .search-input{flex:1;min-width:200px}
.filter-select{
  appearance:none;-webkit-appearance:none;
  background:var(--bg-elev);border:1px solid var(--border);
  border-radius:10px;padding:.6rem 2rem .6rem 1rem;
  color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.filter-select:hover{border-color:var(--blue)}
.filter-select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(79,124,255,.2)}
.filter-btn{background:linear-gradient(135deg,var(--blue),var(--blue-dark));border:none;border-radius:10px;padding:.6rem 1.1rem;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.35rem;text-decoration:none}
.filter-btn:hover{opacity:.92}
.filter-btn-ghost{background:var(--bg-elev);color:var(--text);border:1px solid var(--border)}

/* ===== selected tags ===== */
.selected-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.75rem 0 1rem;padding:.65rem .9rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}
.selected-tags .label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-right:.25rem}
.tag-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:100px;color:var(--text);font-size:.75rem;font-weight:500;text-decoration:none}
.tag-chip.active{background:rgba(79,124,255,.15);border-color:var(--blue)}
.tag-chip small{color:var(--text-faint);font-size:.65rem;font-weight:600}
.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:.25rem;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:.85rem;line-height:1;text-decoration:none}
.tag-remove:hover{background:#ef4444}

/* ===== layout sidebar + results ===== */
.search-layout{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}
.search-results{min-width:0}

/* ===== tag sidebar ===== */
.tag-sidebar{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;position:sticky;top:80px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}
.tag-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.tag-sidebar-head .label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}
.tag-sidebar-head .count{font-size:.7rem;color:var(--text-faint);font-weight:600}

.tag-type-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}
.tag-type-tab{font-size:.7rem;font-weight:600;color:var(--text-dim);padding:.3rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elev-2);text-decoration:none;cursor:pointer}
.tag-type-tab:hover{color:var(--text);border-color:var(--blue)}
.tag-type-tab.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-color:var(--blue)}

.tag-search{position:relative;margin-bottom:.5rem}
.tag-search i{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--text-faint);pointer-events:none}
.tag-search input{width:100%;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem .5rem 2rem;color:var(--text);font-size:.78rem;outline:none}
.tag-search input:focus{border-color:var(--blue)}

.tag-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:2px;min-height:100px;max-height:520px}
.tag-row{display:flex;align-items:center;gap:.55rem;padding:.4rem .55rem;border-radius:8px;font-size:.78rem;color:var(--text);text-decoration:none;border:1px solid transparent;cursor:pointer}
.tag-row:hover{background:var(--bg-elev-2);border-color:var(--border)}
.tag-row.active{background:rgba(79,124,255,.12);border-color:var(--blue)}
.tag-row .num{width:22px;flex-shrink:0;text-align:right;font-size:.68rem;color:var(--text-faint);font-variant-numeric:tabular-nums}
.tag-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-row .cnt{flex-shrink:0;font-size:.66rem;color:var(--text-faint);font-weight:600}
.tag-row.active .name{color:#fff;font-weight:600}
.tag-empty{font-size:.75rem;color:var(--text-faint);padding:.5rem}

@media (max-width:900px){
  .search-layout{grid-template-columns:1fr}
  .tag-sidebar{position:static;max-height:none}
  .tag-list{max-height:320px}
}
.navbar.nav-auto-hide{transition:transform .28s ease, opacity .28s ease}
.navbar.nav-auto-hide.nav-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}
a,button,img,.card,.slider-item,.card .thumb-wrap,.slider-item img{
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
}
a:active,.card:active,.slider-item:active{outline:none;background:inherit}
.card img,.slider-item img{user-select:none;-webkit-user-drag:none}
.card,.slider-item{
  transition:transform .12s ease, border-color .15s ease;
  will-change:transform;
  -webkit-tap-highlight-color:transparent;
}
.card:active,.slider-item:active{
  transform:scale(.97);
  border-color:var(--blue);
}
.card img,.slider-item img{
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
a:active,.card:active,.slider-item:active{outline:none}