.hgevn-app { width:100%; box-sizing:border-box; }
.hgevn-app *, .hgevn-app *::before, .hgevn-app *::after { box-sizing:border-box; }
.hgevn-tabs { display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 1.25rem; border-bottom:1px solid rgba(127,127,127,.35); padding-bottom:.6rem; }
.hgevn-tab, .hgevn-button, .hgevn-alpha-btn, .hgevn-tag-item, .hgevn-chip { font:inherit; color:inherit; }
.hgevn-tab { border:1px solid rgba(127,127,127,.4); background:transparent; padding:.55rem .95rem; cursor:pointer; border-radius:4px; }
.hgevn-tab.is-active { font-weight:700; border-color:currentColor; }
.hgevn-view[hidden] { display:none !important; }
.hgevn-heading { margin-top:0; }
.hgevn-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.hgevn-card { margin:0; min-width:0; border:1px solid rgba(127,127,127,.25); background:rgba(255,255,255,.02); overflow:hidden; }
.hgevn-media, .hgevn-card iframe { width:100%; aspect-ratio:16/9; border:0; display:block; }
.hgevn-media { position:relative; padding:0; background:#000; cursor:pointer; overflow:hidden; }
.hgevn-media img { width:100%; height:100%; object-fit:cover; display:block; }
.hgevn-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:3.4rem; height:2.4rem; border-radius:.55rem; background:rgba(0,0,0,.78); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; padding-left:.15rem; }
.hgevn-card-body { padding:.75rem .85rem .9rem; }
.hgevn-title { font-size:1rem; line-height:1.35; margin:0 0 .45rem; }
.hgevn-meta { font-size:.86rem; opacity:.75; }
.hgevn-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.75rem; margin:1.4rem 0 .25rem; }
.hgevn-pagination > :first-child { justify-self:start; }
.hgevn-pagination > :last-child { justify-self:end; }
.hgevn-page-label { font-size:.9rem; opacity:.8; }
.hgevn-button { border:1px solid rgba(127,127,127,.5); background:transparent; padding:.55rem .85rem; cursor:pointer; border-radius:4px; }
.hgevn-primary { font-weight:700; border-color:currentColor; }
.hgevn-field { margin-bottom:1rem; }
.hgevn-label { display:block; font-weight:700; margin-bottom:.35rem; }
.hgevn-input { width:100%; max-width:560px; font:inherit; padding:.6rem .7rem; border:1px solid rgba(127,127,127,.5); background:transparent; color:inherit; border-radius:4px; }
.hgevn-search-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin:.5rem 0 1.2rem; }
.hgevn-tag-picker { position:relative; max-width:720px; }
.hgevn-suggestions { position:absolute; z-index:30; left:0; top:calc(100% - .9rem); width:min(560px,100%); max-height:260px; overflow:auto; background:#fff; color:#111; border:1px solid #bbb; box-shadow:0 4px 16px rgba(0,0,0,.18); }
.hgevn-suggestions button { display:block; width:100%; text-align:left; border:0; border-bottom:1px solid #eee; background:#fff; color:#111; padding:.55rem .7rem; cursor:pointer; }
.hgevn-suggestions button:hover, .hgevn-suggestions button:focus { background:#f4f4f4; }
.hgevn-selected-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.hgevn-chip { border:1px solid currentColor; background:transparent; border-radius:999px; padding:.3rem .6rem; cursor:pointer; }
.hgevn-summary { margin:.5rem 0 1rem; font-weight:700; }
.hgevn-tag-tools { margin-bottom:1rem; }
.hgevn-alpha { display:flex; gap:.3rem; flex-wrap:wrap; margin-top:.8rem; }
.hgevn-alpha-btn { min-width:2rem; border:1px solid rgba(127,127,127,.4); background:transparent; padding:.3rem .45rem; cursor:pointer; border-radius:3px; }
.hgevn-alpha-btn.is-active { font-weight:700; border-color:currentColor; }
.hgevn-tag-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.hgevn-tag-item { display:flex; justify-content:space-between; gap:.75rem; align-items:center; text-align:left; border:1px solid rgba(127,127,127,.3); background:transparent; padding:.6rem .7rem; cursor:pointer; }
.hgevn-tag-item small { opacity:.7; }
.hgevn-loading, .hgevn-empty { grid-column:1/-1; padding:1.5rem 0; opacity:.75; }
@media (max-width: 900px) {
  .hgevn-results, .hgevn-tag-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .hgevn-results, .hgevn-tag-list { grid-template-columns:1fr; }
  .hgevn-pagination { grid-template-columns:1fr 1fr; }
  .hgevn-page-label { grid-row:2; grid-column:1/-1; justify-self:center; }
}
