/* Cohesive archive frames, matching the rounded panels on game pages. */
.design-hybrid .catalog-group{padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 10px 30px #00000008;margin-bottom:28px}
.design-hybrid .catalog-group[data-catalog-group] .group-heading{background:none;border:0;border-radius:0;padding:0;margin:0 0 24px;gap:20px;align-items:center}
.design-hybrid .catalog-group .group-heading>div{flex:1;min-width:0}
.design-hybrid .catalog-group[data-catalog-group] .group-heading h3{font:700 32px/1.2 Arial,sans-serif;letter-spacing:-.8px;color:var(--ink);margin:0;text-wrap:balance}
html[data-theme=dark] .design-hybrid .catalog-group[data-catalog-group] .group-heading{background:none}
html[data-theme=dark] .design-hybrid .catalog-group[data-catalog-group] .group-heading h3{color:var(--ink)}
.design-hybrid .catalog-filter[hidden]{display:none}
.catalog-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-left:auto;padding:13px 20px;min-height:50px;background:var(--ink);color:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:16px;font-weight:650;cursor:pointer}
.catalog-filter-toggle[aria-expanded=true]{background:#51674b;color:#fff}
.catalog-filter-toggle>span:first-child{font-size:22px;line-height:1}
.catalog-active-count{padding:3px 7px;border-radius:99px;background:#efb36c;color:#20251e;font-size:13px}
.catalog-active-count[hidden]{display:none}
.catalog-sort{display:grid;gap:8px;font-size:15px;font-weight:600;min-width:0}
.catalog-sort select{min-height:50px;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--bg);color:var(--ink);font-size:15px}
.catalog-filter-toggle:focus-visible,#catalog-sort:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.design-hybrid .section-heading{justify-content:flex-start;align-items:center;gap:16px}
.design-hybrid .section-heading h2{margin:0}
.design-hybrid .small-count{font-size:19px;font-weight:600;color:var(--ink);background:var(--panel);padding:8px 16px;border-radius:999px}
.catalog-filter{padding:26px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:20px;background:var(--panel);box-shadow:0 8px 25px #00000006;margin-bottom:28px}
.catalog-filter-top{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr);align-items:end;gap:20px}
.design-hybrid .catalog-filter-top .catalog-tabs{grid-column:1/-1}
.design-hybrid .catalog-search{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600}
.design-hybrid .catalog-search input{width:100%;max-width:100%;min-height:50px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:12px 15px;font-size:16px}
.design-hybrid .catalog-tabs{gap:8px}
.design-hybrid .catalog-tabs button{min-height:50px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:15px;font-weight:600}
.design-hybrid .catalog-tabs button[aria-pressed=true]{background:#51674b;color:#fff;border-color:#51674b;box-shadow:0 4px 10px #33472c25}
.design-hybrid .catalog-tabs button:hover:not([aria-pressed=true]){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}
.catalog-filter-bottom{display:flex;align-items:start;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap}
.catalog-tag-picker{flex:1;min-width:230px}
.catalog-tag-picker summary{display:flex;gap:12px;align-items:center;width:fit-content;min-height:48px;padding:10px 16px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;list-style:none}
.catalog-tag-picker summary::-webkit-details-marker{display:none}
.catalog-tag-picker summary:after{content:'⌄';margin-left:10px}
.catalog-tag-picker[open] summary:after{content:'⌃'}
#catalog-tag-count,#catalog-exclude-count{border-radius:50%;background:var(--accent);color:var(--accent-ink);min-width:25px;text-align:center;font-size:13px;padding:2px}
.catalog-tag-picker fieldset{border:0;padding:18px 0 0;margin:0}
.catalog-tag-picker legend{font-size:13px;color:var(--muted);padding:15px 0 0}
.catalog-tag-options{display:flex;flex-wrap:wrap;gap:8px}
.catalog-tag-options label{cursor:pointer;position:relative}
.catalog-tag-options input{position:absolute;opacity:0;width:1px;height:1px}
.catalog-tag-options span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid var(--line);background:var(--bg);border-radius:8px;font-size:14px}
.catalog-tag-options span:before{content:'+';font-size:17px}
.catalog-tag-options input:checked+span{background:#51674b;border-color:#51674b;color:#fff}
.catalog-tag-options input:checked+span:before{content:'✓'}
.catalog-tag-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
#catalog-reset{min-height:48px;padding:11px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:14px;font-weight:600}
#catalog-result{font-size:16px;white-space:nowrap;padding:10px 0;color:var(--muted)}
#catalog-result strong{color:var(--ink);font-size:21px}
#catalog-selected-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.catalog-selected-tag{display:flex;align-items:center;gap:14px;border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--ink);font-size:14px;min-height:44px;padding:10px 12px}
.catalog-selected-tag>span:last-child{font-size:19px}
.design-hybrid .group-count{display:flex;align-items:center;gap:9px;padding:7px 14px;background:#ffffff80;border-radius:10px;color:#424d3b;font-size:18px;font-weight:600}
.group-count strong{font-size:27px}
/* High-contrast count capsules share the title's baseline, not a full-width stripe. */
.design-hybrid .catalog-group[data-catalog-group] .group-count{flex-shrink:0;gap:10px;min-height:56px;padding:10px 16px;border:1px solid #b09bc7;border-radius:14px;background:#d9cbe8;color:#272032;font:600 16px/1.2 Arial,sans-serif;box-shadow:0 3px 10px #0000000a}
.design-hybrid .catalog-group[data-catalog-group=completed] .group-count{background:#c4e2cc;border-color:#9bc7a8;color:#173d29}
.design-hybrid .catalog-group[data-catalog-group] .group-count strong{font:800 32px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:inherit}
@media(max-width:700px),(max-width:1000px) and (pointer:coarse){.design-hybrid .catalog-group[data-catalog-group] .group-heading{gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:2px 0}.design-hybrid .catalog-group[data-catalog-group] .group-heading h3{font-size:25px;letter-spacing:-.5px}.design-hybrid .catalog-group[data-catalog-group] .group-count{min-height:48px;padding:8px 12px;gap:7px;font-size:14px;border-radius:12px}.design-hybrid .catalog-group[data-catalog-group] .group-count strong{font-size:28px}}
@media(max-width:700px){.design-hybrid .catalog-group{padding:14px;border-radius:16px}.design-hybrid .catalog-group .group-heading{padding:4px 0 17px;margin-bottom:18px}.design-hybrid .catalog-group .group-heading h3{font-size:25px}.catalog-filter-top{grid-template-columns:minmax(0,1fr)}.catalog-filter-toggle{width:100%;margin-left:0}.design-hybrid .section-heading{flex-wrap:wrap}.design-hybrid .catalog-group .group-count{padding:7px 10px}.design-hybrid .catalog-group .catalog-grid{gap:18px}.design-hybrid .catalog-group .catalog-copy{padding:18px}.design-hybrid .catalog-group .catalog-copy h3{font-size:24px}}
.project-build{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.project-chapter{display:inline-flex;gap:7px;align-items:center;min-height:42px;padding:9px 11px;border:1px solid #ffffff35;border-radius:8px;color:#fff;background:#ffffff0b;font-size:14px;white-space:nowrap}
.project-chapter strong{font-size:18px}
.design-hybrid .themed-card .catalog-copy p{font-size:15px;line-height:1.6;color:#ffffffd4;margin:0 0 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.design-hybrid .themed-card .text-link{align-self:flex-end;margin-left:auto;font-size:16px;min-height:50px;padding:13px 18px;box-shadow:0 4px 10px #0002}
.showcase .project-chapter{min-height:33px;padding:6px 10px;font-size:13px;background:#0002}
/* One quiet metadata strip, not two competing button-like badges. */
.design-hybrid .themed-card .project-build{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;min-height:52px;padding:10px 12px;border:1px solid #ffffff1c;border-radius:10px;background:#10111530;color:#fff}
.design-hybrid .themed-card .project-build .project-status{display:flex;align-items:center;gap:9px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#f3f3f5;font:600 13px/1.4 Arial,sans-serif;letter-spacing:0}
.design-hybrid .themed-card .project-status.active>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 8px;font-size:0}
.design-hybrid .themed-card .project-status.active>span:before{content:"";width:7px;height:7px;border-radius:50%;background:#bfcbea;box-shadow:0 0 0 3px #bfcbea14}
.design-hybrid .themed-card .project-build:has(.project-status.completed){padding:6px 8px;gap:8px}
.design-hybrid .themed-card .project-build .project-status.completed{padding:6px 8px;gap:6px;min-height:34px;border-radius:7px;background:#c9e9d4;color:#194a30;box-shadow:inset 0 0 0 1px #ffffff35}
.design-hybrid .themed-card .project-status.completed>span{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border-radius:50%;background:#287b4c1a;color:#21613e;font:700 13px/1 Arial,sans-serif}
.design-hybrid .themed-card .project-chapter{flex-shrink:0;gap:8px;min-height:28px;padding:0 0 0 12px;border:0;border-left:1px solid #ffffff24;border-radius:0;background:none;color:#e0e2e8;font:500 13px/1.4 Arial,sans-serif}
.design-hybrid .themed-card .project-chapter strong{font:700 23px/1 Arial,sans-serif;letter-spacing:-.6px;color:#fff;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.catalog-filter-top{align-items:stretch;flex-direction:column}.design-hybrid .catalog-search input{width:100%}}
@media(max-width:700px){.catalog-filter{padding:18px}.catalog-filter-top{gap:16px}.design-hybrid .catalog-tabs{display:grid;grid-template-columns:1fr;gap:7px;width:100%}.design-hybrid .catalog-tabs button{font-size:15px;min-height:48px}.catalog-filter-bottom{gap:10px}.catalog-tag-picker{flex-basis:100%;min-width:0}#catalog-result{margin-left:auto;font-size:14px}.design-hybrid .small-count{font-size:16px;padding:7px 12px}.design-hybrid .group-heading{gap:10px;flex-wrap:wrap}.design-hybrid .group-count{font-size:16px}.group-count strong{font-size:24px}.design-hybrid .themed-card .project-status{font-size:14px;padding:9px 11px}.project-chapter{font-size:13px;min-height:39px}}
/* Light page, dark collection islands: the same palette as Latest updates. */
html[data-theme=light] .design-hybrid .catalog-group,
html[data-theme=light] .design-hybrid .catalog-filter{
 --bg:#18191f;--ink:#f6f4ef;--muted:#a19eaa;--panel:#18191f;
 --line:#303038;--accent:#efb36c;--accent-ink:#202126;
 background:#101115;color:var(--ink);border:1px solid var(--line);
 color-scheme:dark;
}
html[data-theme=light] .design-hybrid .catalog-group[data-catalog-group] .group-heading h3{color:#f6f4ef}
html[data-theme=light] .design-hybrid .catalog-filter input::placeholder{color:#aaa8b3;opacity:1}
html[data-theme=light] .design-hybrid .catalog-tabs button[aria-pressed=true],
html[data-theme=light] .design-hybrid .catalog-tag-options input:checked+span{
 background:#f2eee6;color:#202126;border-color:#f2eee6;
}
html[data-theme=light] .design-hybrid .catalog-filter .catalog-selected-tag{
 background:#efb36c1c;border-color:#efb36c80;color:#f6f4ef;
}
/* Exclusions have a minus as well as a distinct colour: never colour-only. */
.catalog-exclude-picker summary{border-color:#db9a9a70}
#catalog-exclude-count{background:#f0b4b4;color:#452128}
.design-hybrid .catalog-exclude-picker input:checked+span{background:#713e48;border-color:#bd7b88;color:#fff}
html[data-theme=light] .design-hybrid .catalog-exclude-picker .catalog-tag-options input:checked+span{background:#713e48;border-color:#bd7b88;color:#fff}
.catalog-exclude-picker .catalog-tag-options span:before{content:'−'}
.catalog-exclude-picker .catalog-tag-options input:checked+span:before{content:'−'}
.design-hybrid .catalog-filter .catalog-selected-tag.is-excluded{background:#713e483d;border-color:#bd7b88;color:#ffe0e5}
.catalog-tag-sign{font-weight:800;font-size:19px}
.catalog-filter-bottom>.catalog-tag-picker{min-width:0;flex:1 1 270px}
.catalog-filter-bottom>#catalog-result{margin-left:auto}
@media(max-width:700px){.catalog-filter-bottom>.catalog-tag-picker{flex:1 1 100%}.catalog-filter-bottom>.catalog-tag-picker summary{width:100%;box-sizing:border-box}.catalog-filter-bottom>.catalog-tag-picker summary:after{margin-left:auto}}
