.series-page{max-width:72rem;margin:0 auto;padding:var(--space-8) var(--space-4)}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.page-title{font:var(--md-sys-typescale-headline-medium);margin:0}.error-banner{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border-radius:var(--md-sys-shape-corner-small);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);font:var(--md-sys-typescale-body-medium)}.filter-bar{margin-bottom:var(--space-6)}.filter-form{display:flex;flex-direction:column;gap:var(--space-3)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip{font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);padding:var(--space-2) var(--space-4);cursor:pointer;text-decoration:none;transition:background var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.filter-chip:hover{background:var(--md-sys-color-surface-container-high)}.filter-chip--active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.results-meta{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant);margin:0 0 var(--space-4) 0}.series-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.series-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.series-grid{grid-template-columns:repeat(3,1fr)}}.series-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);padding:var(--space-4) var(--space-6);text-decoration:none;color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.series-card:hover{border-color:var(--md-sys-color-outline);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.series-card-header{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.series-card-title{font:var(--md-sys-typescale-title-large);color:var(--md-sys-color-primary);margin:0;font-size:1.1rem}.status-badge{font:var(--md-sys-typescale-body-small);border-radius:var(--md-sys-shape-corner-full);padding:2px 10px;flex-shrink:0}.status-badge--complete{color:#2e7d32;background:#e8f5e9}.status-badge--wip{color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-highest)}.series-card-desc{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.series-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font:var(--md-sys-typescale-body-small);color:var(--md-sys-color-on-surface-variant);margin-top:auto}.empty-msg{color:var(--md-sys-color-on-surface-variant);font:var(--md-sys-typescale-body-large)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-8)}.page-link{font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-primary);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--md-sys-shape-corner-small);transition:background var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.page-link:hover{background:var(--md-sys-color-surface-container)}.page-info{font:var(--md-sys-typescale-body-medium);color:var(--md-sys-color-on-surface-variant)}.btn-filled{display:inline-flex;align-items:center;justify-content:center;font:var(--md-sys-typescale-label-large);color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary);border:none;border-radius:var(--md-sys-shape-corner-full);padding:var(--space-3) var(--space-8);cursor:pointer;text-decoration:none;transition:opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.btn-filled:hover{opacity:.88}
