/* FableGlade public Series + Collections */
.story-group-page{background:var(--cream);color:var(--ink);--border:var(--line)}
.group-list-hero,.group-detail-hero{border-bottom:1px solid var(--border);background:radial-gradient(circle at 82% 14%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 32%),radial-gradient(circle at 8% 76%,color-mix(in srgb,var(--green) 8%,transparent),transparent 34%),var(--surface)}
.group-list-hero .container{padding-block:clamp(48px,6vw,76px);text-align:center}
.group-list-hero h1{margin:6px 0 12px;font-size:clamp(2.5rem,6vw,4.75rem);line-height:.98}
.group-list-hero p{max-width:720px;margin:0 auto;color:var(--muted);font-size:1.05rem;line-height:1.7}
.group-list-shell{padding-block:40px 82px}.group-filters-public{margin-top:0}.group-filter-fields{align-items:end}
.group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:30px}
.group-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:26px;background:var(--surface);box-shadow:0 14px 36px rgba(8,31,48,.07);transition:transform .2s ease,box-shadow .2s ease}
.group-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(8,31,48,.12)}
.group-card-media{position:relative;display:block;aspect-ratio:6/5;overflow:hidden;background:linear-gradient(135deg,#123f57,#786427);text-decoration:none}
.group-card-media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .25s ease}.group-card:hover .group-card-media img{transform:scale(1.025)}
.group-card-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#fff7dc;font-size:4rem}
.group-card-kind{position:absolute;left:14px;bottom:14px;padding:6px 10px;border-radius:999px;background:rgba(7,30,50,.88);color:#fff8e8;font-weight:800;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}
.group-card-body{display:grid;flex:1;gap:13px;padding:26px 28px 28px}.group-card-badges{display:flex;gap:7px;flex-wrap:wrap}.group-card-badges span,.group-detail-facts span{padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:700}
.group-card h2{margin:0;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.1}.group-card h2 a{color:inherit;text-decoration:none}.group-card-description{display:-webkit-box;min-height:3.2em;margin:0;overflow:hidden;color:var(--muted);line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.group-card-meta{margin:0;color:var(--muted);font-size:.88rem}.group-card-link{width:max-content;margin-top:auto;color:var(--green);font-weight:800;text-decoration:none}.group-card-link:hover{text-decoration:underline}
.group-detail-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:390px;padding-block:clamp(52px,7vw,82px)}
.group-detail-hero-inner.has-cover{grid-template-columns:minmax(0,1fr) minmax(200px,270px);gap:clamp(34px,6vw,78px)}
.group-detail-copy h1{max-width:14ch;margin:7px 0 18px;font-size:clamp(2.75rem,6vw,5rem);line-height:.97;text-wrap:balance}.group-detail-description{max-width:68ch;margin:0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.72}
.group-detail-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.group-primary-action{width:max-content;margin-top:24px}.group-progress-summary{margin-top:18px;color:var(--muted);font-size:.9rem}.group-progress-summary strong{color:var(--ink)}
.group-detail-cover{width:min(100%,250px);margin:0 auto;overflow:hidden;aspect-ratio:9/16;border:1px solid color-mix(in srgb,var(--gold) 44%,var(--border));border-radius:26px;background:#143d52;box-shadow:0 24px 58px rgba(2,13,24,.2);transform:rotate(.35deg)}.group-detail-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.group-story-list{padding-block:clamp(44px,6vw,72px) 86px}.group-story-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px}.group-story-heading h2{margin:3px 0 0;font-size:clamp(2rem,4vw,3.1rem)}.group-story-heading p{max-width:42ch;margin:0 0 4px;color:var(--muted);line-height:1.6}
.group-story-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,300px));gap:24px;align-items:stretch;justify-content:start}.group-story-item{position:relative;display:flex;min-width:0}.group-story-item .public-story-card{width:100%;height:100%;max-width:none}.sequence-number{position:absolute;z-index:5;top:12px;left:12px;display:grid;width:38px;height:38px;place-items:center;border:2px solid color-mix(in srgb,var(--gold) 75%,#fff);border-radius:50%;background:#071e32;color:#fff8e8;font-weight:850;box-shadow:0 8px 20px rgba(2,13,24,.28)}
.group-empty-state,.group-list-empty{grid-column:1/-1;width:100%}.story-group-context{margin-top:34px;padding-top:24px;border-top:1px solid var(--border)}.story-group-context nav{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-detail-hero-inner.has-cover{grid-template-columns:minmax(0,1fr) 200px;gap:32px}.group-detail-cover{width:190px;border-radius:22px}}
@media(max-width:760px){.group-detail-hero-inner.has-cover{grid-template-columns:1fr}.group-detail-cover{display:none}.group-story-heading{display:grid;gap:8px}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.group-list-hero .container{padding-block:38px 42px}.group-list-hero h1{font-size:clamp(2.2rem,11vw,3.2rem)}.group-list-shell{padding-block:28px 60px}.group-grid{grid-template-columns:1fr}.group-card{border-radius:20px}.group-detail-hero-inner{min-height:0;padding-block:38px 42px}.group-detail-copy h1{max-width:none;font-size:clamp(2.25rem,12vw,3.35rem)}.group-detail-description{font-size:.96rem}.group-primary-action{width:100%;text-align:center}.group-story-list{padding-block:36px 60px}.group-story-heading{margin-bottom:18px}.group-story-heading p{display:none}.group-story-grid{grid-template-columns:1fr}.group-story-item .public-story-card{max-width:none}}

/* Series / Collections public filter polish.
   Presentation only: no control names, values, JS hooks, or behavior changed. */
.story-group-page .group-filters-public{
  padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--border);
  border-radius:24px;
  background:color-mix(in srgb,var(--surface) 97%,var(--bg));
  box-shadow:0 14px 38px rgba(8,31,48,.08);
}

.story-group-page .group-filters-public .catalog-search{
  border-color:color-mix(in srgb,var(--border) 88%,var(--ink) 12%);
  background:var(--surface);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 18%,transparent);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.story-group-page .group-filters-public .catalog-search:hover{
  border-color:color-mix(in srgb,var(--gold) 42%,var(--border));
}
.story-group-page .group-filters-public .catalog-search:focus-within{
  outline:0;
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent);
}

.story-group-page .group-filters-public .group-filter-fields{
  gap:14px 16px;
  align-items:stretch;
}
.story-group-page .group-filters-public .filter-control{
  min-height:62px;
  padding:9px 14px;
  border:1px solid color-mix(in srgb,var(--border) 90%,var(--ink) 10%);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 1px 0 color-mix(in srgb,#fff 14%,transparent);
}
.story-group-page .group-filters-public .filter-control:hover{
  border-color:color-mix(in srgb,var(--gold) 48%,var(--border));
}
.story-group-page .group-filters-public .filter-control:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent);
}

.story-group-page .group-filters-public .catalog-quality-filters{
  align-items:stretch;
}
.story-group-page .group-filters-public .catalog-quality-filters label{
  min-height:50px;
  border:1px solid color-mix(in srgb,var(--border) 88%,var(--ink) 12%);
  border-radius:14px;
  background:color-mix(in srgb,var(--gold) 8%,var(--surface));
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.story-group-page .group-filters-public .catalog-quality-filters label:hover{
  border-color:color-mix(in srgb,var(--gold) 52%,var(--border));
  background:color-mix(in srgb,var(--gold) 12%,var(--surface));
}
.story-group-page .group-filters-public .catalog-quality-filters label:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent);
}

.story-group-page .group-filters-public .catalog-filter-actions{
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);
}

@media(max-width:600px){
  .story-group-page .group-filters-public{
    padding:14px;
    border-radius:18px;
  }
  .story-group-page .group-filters-public .filter-control{
    min-height:58px;
  }
  .story-group-page .group-filters-public .catalog-filter-actions{
    gap:10px;
  }
}
