.hgebl-app { width:100%; box-sizing:border-box; }
.hgebl-app *, .hgebl-app *::before, .hgebl-app *::after { box-sizing:border-box; }

.hgebl-series-box { margin:0 0 1rem; padding:.85rem 1rem; border:1px solid rgba(127,127,127,.3); }
.hgebl-series-label { display:block; margin-bottom:.55rem; }
.hgebl-series-filter { display:flex; flex-wrap:wrap; gap:.5rem; }
.hgebl-series-btn { font:inherit; color:inherit; border:1px solid rgba(127,127,127,.45); background:transparent; border-radius:999px; padding:.45rem .8rem; cursor:pointer; }
.hgebl-series-btn.is-active { font-weight:700; border-color:currentColor; }

.hgebl-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; }
.hgebl-tab, .hgebl-button, .hgebl-alpha-btn, .hgebl-category-item, .hgebl-chip { font:inherit; color:inherit; }
.hgebl-tab { border:1px solid rgba(127,127,127,.4); background:transparent; padding:.55rem .95rem; cursor:pointer; border-radius:4px; }
.hgebl-tab.is-active { font-weight:700; border-color:currentColor; }
.hgebl-view[hidden] { display:none !important; }
.hgebl-heading { margin-top:0; }
.hgebl-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.hgebl-card { margin:0; min-width:0; border:1px solid rgba(127,127,127,.25); background:rgba(255,255,255,.02); overflow:hidden; }
.hgebl-media { width:100%; aspect-ratio:16/9; display:block; position:relative; background:rgba(127,127,127,.12); overflow:hidden; text-decoration:none; }
.hgebl-media img { width:100%; height:100%; object-fit:cover; display:block; }
.hgebl-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:4rem; line-height:1; opacity:.55; }
.hgebl-card-body { padding:.75rem .85rem .9rem; }
.hgebl-title { font-size:1rem; line-height:1.35; margin:0 0 .45rem; }
.hgebl-title a { color:inherit; text-decoration:none; }
.hgebl-title a:hover, .hgebl-title a:focus { text-decoration:underline; }
.hgebl-meta { font-size:.86rem; opacity:.75; }
.hgebl-category-line { margin-top:.35rem; font-size:.82rem; opacity:.72; line-height:1.35; }
.hgebl-pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.75rem; margin:1.4rem 0 .25rem; }
.hgebl-pagination > :first-child { justify-self:start; }
.hgebl-pagination > :last-child { justify-self:end; }
.hgebl-page-label { font-size:.9rem; opacity:.8; }
.hgebl-button { border:1px solid rgba(127,127,127,.5); background:transparent; padding:.55rem .85rem; cursor:pointer; border-radius:4px; }
.hgebl-primary { font-weight:700; border-color:currentColor; }
.hgebl-field { margin-bottom:1rem; }
.hgebl-label { display:block; font-weight:700; margin-bottom:.35rem; }
.hgebl-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; }
.hgebl-search-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin:.5rem 0 1.2rem; }
.hgebl-category-picker { position:relative; max-width:720px; }
.hgebl-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); }
.hgebl-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; }
.hgebl-suggestions button:hover, .hgebl-suggestions button:focus { background:#f4f4f4; }
.hgebl-selected-categories { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.hgebl-chip { border:1px solid currentColor; background:transparent; border-radius:999px; padding:.3rem .6rem; cursor:pointer; }
.hgebl-summary { margin:.5rem 0 1rem; font-weight:700; }
.hgebl-category-tools { margin-bottom:1rem; }
.hgebl-alpha { display:flex; gap:.3rem; flex-wrap:wrap; margin-top:.8rem; }
.hgebl-alpha-btn { min-width:2rem; border:1px solid rgba(127,127,127,.4); background:transparent; padding:.3rem .45rem; cursor:pointer; border-radius:3px; }
.hgebl-alpha-btn.is-active { font-weight:700; border-color:currentColor; }
.hgebl-category-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.hgebl-category-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; }
.hgebl-category-item small { opacity:.7; }
.hgebl-loading, .hgebl-empty { grid-column:1/-1; padding:1.5rem 0; opacity:.75; }
@media (max-width: 900px) {
  .hgebl-results, .hgebl-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .hgebl-results, .hgebl-category-list { grid-template-columns:1fr; }
  .hgebl-pagination { grid-template-columns:1fr 1fr; }
  .hgebl-page-label { grid-row:2; grid-column:1/-1; justify-self:center; }
}
