/* The extended registry is launch guidance, never a universal control layer. */
.extended-catalog{margin:30px 0 36px;padding-top:35px;border-top:1px solid var(--line);scroll-margin-top:24px}.extended-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.extended-heading .section-kicker{margin:0;color:#b6cc9a}.extended-heading h2{font-size:32px;letter-spacing:-1px;margin:8px 0 0}.catalog-count{flex-shrink:0;color:#b8c7ae;font-size:12px;padding-bottom:4px;font-variant-numeric:tabular-nums}.extended-intro{max-width:760px;font-size:14px;color:#b6c2c8;line-height:1.75;margin:14px 0 23px}.catalog-tools{padding:20px;border:1px solid #3b4748;border-radius:14px;background:#1b2326}.catalog-search-label{display:block;font-size:12px;color:#d3decc;font-weight:600;margin-bottom:8px}.catalog-search-row{display:flex;gap:10px}.catalog-search-row input{width:100%;min-width:0;min-height:48px;background:#121a1d;border:1px solid #53615f;color:var(--text);border-radius:8px;padding:11px 13px;font-size:16px}.catalog-search-row input::placeholder{color:#98aaa9}.catalog-search-row button{flex-shrink:0;padding:9px 13px;min-height:48px;border:1px solid #59674d;border-radius:8px;background:#263323;font-size:12px;color:#d3e9bc}.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 13px}.catalog-filter{border:1px solid #53605e;border-radius:7px;background:#20292a;color:#c7d1d0;padding:10px 13px;font-size:12px;min-height:44px}.catalog-filter[aria-pressed="true"]{background:#bfe66b;color:#192315;border-color:#bfe66b;font-weight:650}.catalog-files-filter{display:flex;align-items:center;gap:9px;width:fit-content;min-height:44px;font-size:13px;color:#bdc9c5;cursor:pointer}.catalog-files-filter input{accent-color:#bfe66b;width:19px;height:19px;flex-shrink:0}.catalog-meta{display:flex;gap:15px;align-items:flex-start;justify-content:space-between;margin:13px 0 25px}.catalog-meta p{font-size:12px;line-height:1.75;margin:0;color:#a9b8b9}.catalog-meta #catalog-checked{font-size:10px;color:#96a6a7;white-space:nowrap;padding-top:2px}.catalog-meta button{margin-top:10px;min-height:44px;font-size:12px}.catalog-port-group{margin:31px 0}.catalog-group-heading{display:flex;align-items:center;gap:12px}.catalog-group-heading h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0}.catalog-group-count{border:1px solid #505d52;border-radius:6px;font-size:11px;color:#b8c9ac;padding:2px 7px;font-variant-numeric:tabular-nums}.catalog-group-intro{max-width:800px;color:#a8b9b9;font-size:12px;line-height:1.8;margin:10px 0 17px}.catalog-port-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-port{--port-color:#b4d193;display:flex;flex-direction:column;min-width:0;background:linear-gradient(140deg,#26312a,#1a2225 50%);border:1px solid #3e4b43;border-radius:13px;padding:20px;overflow-wrap:anywhere}.catalog-port[data-group="needsverification"]{--port-color:#d8c391;background:linear-gradient(140deg,#302e24,#1a2225 50%);border-color:#4b4b3e}.catalog-port[data-group="notmobile"]{--port-color:#aebecd;background:linear-gradient(140deg,#283039,#1a2225 50%);border-color:#424c54}.catalog-port[data-category="sports"]{--port-color:#a4d8c8}.catalog-port[data-category="rpg"]{--port-color:#e0b1a3}.catalog-port-head{display:flex;align-items:center;gap:10px;min-height:39px;margin-bottom:15px;color:var(--port-color)}.catalog-port-symbol{display:grid;place-items:center;width:39px;height:39px;border:1px solid currentColor;border-radius:10px;font-size:27px;line-height:1;background:#ffffff04;flex-shrink:0}.catalog-category{font-size:9px;font-weight:650;letter-spacing:1.3px;text-transform:uppercase}.catalog-port h4{font-size:21px;font-weight:630;line-height:1.3;margin:0;letter-spacing:-.45px}.catalog-edition{font-size:11px;line-height:1.65;color:#acbcbc;margin:7px 0 13px}.catalog-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.catalog-badge{color:#d0dbce;font-size:10px;line-height:1.55;border:1px solid #65715c;border-radius:5px;padding:4px 6px;background:#c7dc8c08}.catalog-touch-badge{border-color:#4c7269;color:#b8dacf;background:#7fc9b309}.catalog-port-summary{font-size:12px;line-height:1.8;color:#b3c0c2;margin:0 0 17px}.catalog-file-note{font-size:11px;color:#c2cbb7;margin:auto 0 14px;padding-top:11px;border-top:1px solid #ffffff12;line-height:1.7}.catalog-file-note[data-files="yes"]{color:#eed3a4}.catalog-guide-button{display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:44px;background:#ffffff03;border:1px solid #586457;border-radius:7px;color:var(--port-color);font-size:12px;font-weight:600;padding:10px 11px}.catalog-guide-button:hover{border-color:var(--port-color);background:#ffffff08}.catalog-port-grid>.catalog-alternative{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1.1fr;column-gap:28px;background:linear-gradient(115deg,#302727,#1c2425)}.catalog-alternative .catalog-port-head{grid-column:1/-1;margin-bottom:10px}.catalog-alternative h4,.catalog-alternative .catalog-edition,.catalog-alternative .catalog-tags{grid-column:1}.catalog-alternative .catalog-port-summary{grid-column:2;grid-row:2/5}.catalog-alternative .catalog-file-note{grid-column:1}.catalog-alternative .catalog-guide-button{grid-column:2;grid-row:5;align-self:end}.catalog-empty,.catalog-existing-results{padding:23px;border:1px solid #435044;border-radius:12px;background:#1c2523;margin-top:20px}.catalog-empty h3,.catalog-existing-results h3{font-size:18px;margin:0 0 10px}.catalog-empty p{font-size:13px;color:#b3c0b9;margin:0 0 17px}.catalog-empty button{min-height:44px}.catalog-existing-link{display:inline-flex;min-height:44px;align-items:center;color:#c4dda3;font-size:13px;margin-right:20px;text-decoration:underline;text-underline-offset:4px}.catalog-inline-link{color:#c4dda3;text-decoration:underline;text-underline-offset:3px}.catalog-guide{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #59644f;border-radius:16px;background:#182125;color:#edf2e8;box-shadow:0 25px 100px #0009;overflow:auto;overscroll-behavior:contain;position:fixed;inset:0;margin:auto;z-index:100005;font-family:var(--font);line-height:1.65}.catalog-guide::backdrop{background:#080e12cc;backdrop-filter:blur(5px)}.catalog-guide[open]{display:block}.catalog-guide-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 20px 13px 25px;background:#1b2726;border-bottom:1px solid #3e4b42;position:sticky;top:0;z-index:1}.catalog-guide-header .section-kicker{font-size:9px;line-height:1.5;letter-spacing:1.1px;color:#c0d1ad;margin:0}.catalog-guide-close{width:44px;height:44px;flex-shrink:0;border:1px solid #647058;background:#2a342d;color:#e0e9d7;border-radius:9px;font-size:27px;line-height:1;display:grid;place-items:center}.catalog-guide-body{padding:25px 28px 7px}.catalog-guide-body>h2{font-size:30px;line-height:1.22;letter-spacing:-.8px;margin:0 0 8px;overflow-wrap:anywhere}.catalog-guide-body>.catalog-edition{font-size:12px}.catalog-guide-summary{font-size:14px;line-height:1.85;margin:17px 0 22px;color:#c2cecb}.catalog-guide-section{margin:22px 0}.catalog-guide-section h3{font-size:14px;color:#e0ead7;margin:0 0 9px}.catalog-guide-section ul{padding-left:20px;margin:0}.catalog-guide-section li{font-size:13px;line-height:1.85;color:#b9c8c5;margin:7px 0;padding-left:2px;overflow-wrap:anywhere}.catalog-files-guide{padding:17px 19px;border:1px solid #66714c;background:#bfe66b08;border-radius:10px}.catalog-limitations{border-left:2px solid #bda575;padding-left:17px}.catalog-guide-original{font-size:12px;color:#c4b6b0}.catalog-guide-footer{padding:0 28px 25px}.catalog-external-note{font-size:12px;line-height:1.8;color:#b4c1bd;padding-top:17px;border-top:1px solid #445145;margin:12px 0 18px}.catalog-guide-launch{width:100%;justify-content:center;min-height:50px;font-size:14px}.catalog-guide-launch:disabled{cursor:default}.catalog-destination,.catalog-unavailable{font-size:11px;color:#a6b3a4;text-align:center;margin:10px 0 0;overflow-wrap:anywhere}.catalog-unavailable{font-size:12px;line-height:1.8}.catalog-related{padding:12px 0;border-bottom:1px solid #ffffff12}.catalog-related p{font-size:12px;color:#b5c3bf;margin:3px 0}.catalog-external{display:inline-flex;min-height:44px;align-items:center;font-size:13px;color:#c7dda9;text-decoration:underline;text-underline-offset:4px}.catalog-guide:focus-visible{outline:2px solid var(--accent)}
@media(max-width:950px){.catalog-port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-port{padding:19px}.catalog-meta{display:block}.catalog-meta #catalog-checked{margin-top:7px}}@media(max-width:650px){.extended-catalog{margin-top:25px;padding-top:28px}.extended-heading{display:block}.extended-heading h2{font-size:28px}.catalog-count{display:block;margin-top:8px}.extended-intro{font-size:13px}.catalog-tools{padding:15px}.catalog-search-row{flex-wrap:wrap}.catalog-search-row button{width:100%}.catalog-filters{gap:7px}.catalog-filter{flex:1 1 45%;padding:9px 7px;font-size:11px}.catalog-files-filter{font-size:12px}.catalog-group-heading h3{font-size:22px}.catalog-port-grid{grid-template-columns:1fr;gap:12px}.catalog-port{padding:20px}.catalog-port-head{margin-bottom:12px}.catalog-port h4{font-size:23px}.catalog-badge{font-size:11px}.catalog-port-summary{font-size:13px}.catalog-edition,.catalog-file-note{font-size:12px}.catalog-guide-button{font-size:13px;min-height:48px}.catalog-port-grid>.catalog-alternative{display:flex}.catalog-port-group{margin:28px 0}.catalog-guide{width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.catalog-guide-header{padding:10px 13px 10px 20px}.catalog-guide-body{padding:22px 20px 5px}.catalog-guide-body>h2{font-size:27px}.catalog-guide-footer{padding:0 20px 21px}.catalog-guide-section li{font-size:13px}.catalog-files-guide{padding:15px}.catalog-guide-header .section-kicker{max-width:200px}.catalog-meta p{font-size:12px}}@media(max-height:550px) and (orientation:landscape){.catalog-guide{width:min(840px,calc(100vw - 30px));max-height:calc(100dvh - 16px)}.catalog-guide-header{padding-top:5px;padding-bottom:5px}.catalog-guide-body{padding-top:17px}.catalog-guide-body>h2{font-size:25px}.catalog-guide-section{margin:17px 0}}@media(prefers-reduced-motion:reduce){.catalog-guide,.catalog-port{scroll-behavior:auto;transition:none}}

.header-actions{display:flex;align-items:center;gap:22px}.header-support{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #8fa961;border-radius:9px;color:#d9edb9;background:#bfe66b13;font-size:12px;font-weight:650;white-space:nowrap}.header-support>span{font-size:22px;line-height:1}.header-support:hover{background:#bfe66b25;border-color:#bfe66b}@media(max-width:650px){.topbar{height:auto;min-height:92px;gap:15px;padding:18px 0;align-items:flex-start}.header-actions{gap:5px;flex-direction:column;align-items:flex-end}.header-support{font-size:11px;padding:8px 10px;min-height:44px}.header-actions .header-note{min-height:28px;font-size:10px}}@media(max-width:370px){.topbar>.brand{font-size:22px;margin-top:7px}.header-support{font-size:10px;padding:8px}.header-actions{gap:6px}.topbar{gap:10px}}

.catalog-check-summary{font-size:12px;line-height:1.8;color:#bdcbb6;border-left:2px solid #8da767;padding-left:13px;margin:16px 0 20px}.catalog-guide-section>summary{min-height:44px;display:list-item;cursor:pointer;color:#d3dfc8;font-size:14px;font-weight:600;padding:9px 0}.catalog-guide-section[open]>summary{margin-bottom:8px}.catalog-guide-section:not([open])>summary{margin-bottom:0}.catalog-guide details.catalog-guide-section{padding-top:3px;padding-bottom:3px;border-top:1px solid #465342}.catalog-guide details.catalog-limitations{border-left:0;padding-left:0}

/* Wrap instead of clipping header actions at narrow widths or text zoom. */
.topbar{flex-wrap:wrap}.header-actions{min-width:0;max-width:100%}.header-support{white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}
@media(max-width:370px){.topbar>.header-actions{flex-basis:100%;align-items:stretch}.header-support{font-size:12px}.header-actions .header-note{justify-content:center}}

/* One compact, searchable game shelf, equally usable at 320 px and desktop. */
#expanded-catalog{margin:0 0 24px;padding:0;border:0;scroll-margin-top:12px}
#expanded-catalog .catalog-tools{position:sticky;top:0;z-index:10;background:#101314f5;backdrop-filter:blur(16px);border:0;border-radius:0;padding:5px 0 8px;box-shadow:0 8px 13px #10131444}
#expanded-catalog .catalog-search-label{font-size:11px;letter-spacing:.02em;margin:0 0 6px;color:#c3cdbb}
#expanded-catalog .catalog-search-row{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:0}
#expanded-catalog .catalog-search-row input{min-height:54px;height:54px;background:#22292a;border:1px solid #68794c;border-radius:16px;font-size:16px;padding:14px 46px;color:#f1f5eb;box-shadow:0 2px 18px #bfe66b05}
#expanded-catalog .catalog-search-row input:focus{border-color:#d3ef79;background:#262e2b;outline:2px solid #d3ef7970;outline-offset:2px}
#expanded-catalog .catalog-search-row input::-webkit-search-cancel-button{-webkit-appearance:none}
.search-symbol{position:absolute;inset-inline-start:16px;top:6px;line-height:40px;font-size:30px;color:#d3ef79;pointer-events:none}
#expanded-catalog #catalog-clear-search{position:absolute;inset-inline-end:5px;top:5px;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#dce6d3;font-size:26px}
.catalog-chip-row{display:flex;align-items:center;gap:8px;overflow:auto;max-width:100%;padding:9px 2px 3px;scrollbar-width:thin;scrollbar-color:#526141 transparent}
#expanded-catalog .catalog-filters{display:flex;flex-wrap:nowrap;gap:7px;margin:0;flex-shrink:0}
#expanded-catalog .catalog-filter,#expanded-catalog #catalog-reset{min-height:44px;flex:0 0 auto;padding:9px 14px;white-space:nowrap;border-radius:22px;font-size:12px;border:1px solid #3e4944;background:#1d2425;color:#bfc9c3}
#expanded-catalog .catalog-filter[aria-pressed="true"]{color:#233017;background:#d3ef79;border-color:#d3ef79;font-weight:700}
#expanded-catalog #catalog-reset{border-color:#728055;color:#e0e9d5}
#expanded-catalog .catalog-files-filter{flex-shrink:0;white-space:nowrap;min-height:44px;font-size:12px;margin:0;padding:0 12px;border:1px solid #3e4944;border-radius:22px;color:#c5cec1}
#expanded-catalog .catalog-files-filter input{width:18px;height:18px;margin:0}
#expanded-catalog .extended-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 14px}
#expanded-catalog .extended-heading h1{font-size:24px;line-height:1.2;font-weight:650;letter-spacing:-.7px;margin:0}
#expanded-catalog .catalog-count{font-size:12px;margin:0;padding:0;color:#bac6b1;line-height:1.5;text-align:end;max-width:44%}
#game-grid,.catalog-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.catalog-card.catalog-port{display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #343e3b;border-radius:17px;background:#1b2223;overflow:hidden;box-shadow:0 4px 16px #00000013;transition:border-color .15s,transform .15s;text-align:start}
.catalog-card.catalog-port:hover{border-color:#8b9d64;transform:translateY(-2px)}
.catalog-cover{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:#27312c;isolation:isolate}
.catalog-cover img,img.catalog-cover{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.catalog-card-body{display:flex;flex:1;flex-direction:column;padding:13px;min-width:0}
.catalog-card h3,.catalog-card h4{font-size:18px;font-weight:650;line-height:1.25;letter-spacing:-.35px;margin:0 0 8px;overflow-wrap:anywhere;min-height:2.5em}
.catalog-card-badges,.catalog-card .catalog-tags{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.catalog-card .catalog-badge{font-size:10px;line-height:1.35;font-weight:500;border:0;border-radius:5px;padding:4px 6px;color:#c7d6bd;background:#2d392b;overflow-wrap:anywhere}
.catalog-card[data-group="notmobile"] .catalog-badge{background:#31363d;color:#c3cbd6}
.catalog-card .catalog-badge[data-files="yes"],.catalog-card .catalog-files-badge{background:#433c29;color:#efdaab}
.catalog-card .catalog-card-actions{display:flex;align-items:stretch;gap:6px;margin-top:auto}
.catalog-card .catalog-play{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;flex:1;padding:10px 8px;border:0;border-radius:9px;background:#d3ef79;color:#233017;font-size:12px;font-weight:700;text-align:center}
.catalog-card .catalog-play:disabled,.catalog-card .catalog-play[aria-disabled="true"]{background:#30383a;color:#acb8b9;cursor:default}
.catalog-card .catalog-guide-button{min-height:44px;padding:8px 10px;border:1px solid #52604d;border-radius:9px;font-size:12px;background:#242d26;color:#d4dfc9;justify-content:center;gap:6px;text-align:center}
.catalog-card .catalog-card-actions>.catalog-guide-button{flex:0 0 auto;min-width:44px}
#expanded-catalog .catalog-meta{display:flex;justify-content:space-between;gap:18px;margin:20px 0;color:#acb7ac;max-width:900px}
#expanded-catalog .catalog-meta p{font-size:11px;line-height:1.7;color:#9dab9f}
#expanded-catalog .catalog-meta #catalog-checked{white-space:normal;flex-shrink:0;font-size:10px}
.catalog-guide{border-radius:20px}.catalog-guide-header{background:#222c26}.catalog-guide-close{border-radius:12px}.catalog-guide-body>h2{letter-spacing:-.7px}.catalog-limitations{border-inline-start:2px solid #bda575;border-left:0;padding-inline-start:17px}.catalog-guide-section ul{padding-inline-start:20px;padding-inline-end:0}
@media(max-width:1000px){#game-grid,.catalog-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}}
@media(max-width:650px){#expanded-catalog .catalog-tools{padding-top:0;padding-bottom:5px}#expanded-catalog .catalog-search-label{font-size:10px}#expanded-catalog .catalog-search-row input{height:52px;min-height:52px;font-size:16px;border-radius:14px;padding-inline:42px 44px}.search-symbol{inset-inline-start:13px;top:5px}#expanded-catalog #catalog-clear-search{top:4px}.catalog-chip-row{padding-top:8px;gap:6px}#expanded-catalog .catalog-filter,#expanded-catalog #catalog-reset{padding:9px 12px;font-size:11px}#expanded-catalog .catalog-files-filter{font-size:11px}#expanded-catalog .extended-heading{margin:12px 0}#expanded-catalog .extended-heading h1{font-size:21px}#expanded-catalog .catalog-count{font-size:11px}#game-grid,.catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-card.catalog-port{border-radius:13px}.catalog-card-body{padding:10px}.catalog-card h3,.catalog-card h4{font-size:15px;letter-spacing:-.2px;margin-bottom:7px;line-height:1.3;min-height:2.6em}.catalog-card .catalog-badge{font-size:9px;padding:4px 5px;line-height:1.35}.catalog-card-badges,.catalog-card .catalog-tags{gap:4px;margin-bottom:9px}.catalog-card .catalog-play{font-size:11px;padding:8px 5px}.catalog-card .catalog-guide-button{font-size:11px;padding:8px 7px}.catalog-card .catalog-card-actions{gap:5px}#expanded-catalog .catalog-meta{display:block;margin:18px 0}#expanded-catalog .catalog-meta #catalog-checked{margin-top:8px}.catalog-guide{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.catalog-guide-body{padding:19px 18px 5px}.catalog-guide-header{padding:10px 12px 10px 18px}}
@media(max-width:350px){#game-grid,.catalog-card-grid{gap:9px}.catalog-card-body{padding:9px}.catalog-card h3,.catalog-card h4{font-size:14px}.catalog-card .catalog-card-actions{flex-wrap:wrap}.catalog-card .catalog-play{min-width:calc(100% - 50px)}}
html[dir="rtl"] .catalog-card{text-align:right}html[dir="rtl"] .search-symbol{transform:scaleX(-1)}
@media(prefers-reduced-motion:reduce){.catalog-card.catalog-port,.catalog-card.catalog-port:hover{transform:none;transition:none}}
.catalog-cover-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:15px;text-align:center;font-size:18px;font-weight:700;color:#b7cba3;background:radial-gradient(ellipse at top,#3b4a35,#202a27);z-index:-1}.catalog-cover img{position:absolute;inset:0}.catalog-card .catalog-file-note{margin:0;padding:4px 6px;border:0;font-size:10px;line-height:1.35}.catalog-card .catalog-file-note[data-files="yes"],.catalog-card .catalog-file-note[data-files="full-game"]{background:#433c29;color:#efdaab}.catalog-card .catalog-card-actions>.catalog-guide-button{width:44px;font-size:19px;padding:8px;flex:0 0 44px}.catalog-card.catalog-alternative{grid-column:auto;display:flex}.catalog-card.catalog-alternative h3,.catalog-card.catalog-alternative .catalog-tags,.catalog-card.catalog-alternative .catalog-guide-button{grid-area:auto}
@media(max-width:650px){.catalog-card .catalog-file-note{font-size:9px;padding:4px 5px}}

/* Focused mobile shelf refinement: search immediately precedes the artwork.
   Progressive filter disclosure uses native keyboard behavior and reflows at zoom. */
#expanded-catalog .extended-heading{align-items:flex-start;margin:8px 0 4px}
#expanded-catalog .extended-heading h1{min-width:0;overflow-wrap:anywhere;text-wrap:balance}
#expanded-catalog .catalog-count{flex-shrink:0;padding-top:4px}
.catalog-filter-options{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.catalog-filter-disclosure{min-width:0;max-width:100%}
.catalog-filter-disclosure[open]{flex-basis:100%;border-bottom:1px solid var(--line);padding-bottom:8px}
.catalog-filter-disclosure>summary{width:fit-content;max-width:100%;min-height:44px;padding:10px 3px;cursor:pointer;color:#c6d0c4;font-size:12px;line-height:24px;overflow-wrap:anywhere;list-style-position:inside}
.catalog-filter-disclosure[open]>summary{color:var(--accent)}
#expanded-catalog .catalog-chip-row{flex-wrap:wrap;overflow:visible;padding:4px 0;gap:8px}
#expanded-catalog .catalog-filters{flex-wrap:wrap;flex-shrink:1;gap:8px;max-width:100%}
#expanded-catalog .catalog-filter,#expanded-catalog #catalog-reset{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:12px;padding:10px 12px}
#expanded-catalog .catalog-files-filter{white-space:normal;max-width:100%;font-size:12px;padding:8px 12px}
#expanded-catalog .catalog-filter-options>#catalog-reset{margin-inline-start:auto}
#expanded-catalog .catalog-tools{padding:4px 0 14px;top:env(safe-area-inset-top,0px);background:var(--bg);backdrop-filter:none;box-shadow:none}
#expanded-catalog .catalog-search-label{font-size:12px;margin-bottom:8px}
.search-symbol{display:grid;place-items:center;width:22px;height:44px;top:5px;line-height:1}
.search-symbol svg{width:22px;height:22px}
.catalog-card.catalog-port{box-shadow:none}
.catalog-cover{aspect-ratio:4/3}
.catalog-cover img,img.catalog-cover{aspect-ratio:4/3}
.catalog-cover img[hidden]{display:none}
.catalog-card[data-catalog-game="simpsons"] .catalog-cover img{object-position:center top}
.catalog-cover-fallback{font-size:clamp(15px,2vw,23px);line-height:1.35;letter-spacing:-.3px;padding:16px;background:linear-gradient(145deg,#354235,#1e2927);color:#d9e4ce;overflow-wrap:anywhere}
.catalog-card-body{padding:14px}
.catalog-card .catalog-card-actions{gap:8px}
.catalog-card .catalog-play{min-width:0;font-size:13px;overflow-wrap:anywhere}
.catalog-card .catalog-badge,.catalog-card .catalog-file-note{font-size:11px;line-height:1.45;padding:4px 6px}
.catalog-card .catalog-tags{gap:6px;margin-bottom:14px}
.catalog-card :is(button,a):focus-visible{outline-offset:-3px;outline:2px solid #fff}
.catalog-card .catalog-play:focus-visible{outline-color:#233017}
#game-grid.catalog-loading:empty{min-height:350px;background:linear-gradient(110deg,#1b2223,#26312c);border:1px solid #343e3b;border-radius:14px}
@media(hover:hover) and (pointer:fine){.catalog-card.catalog-port:hover{border-color:#8b9d64}}
@media(hover:none){.catalog-card.catalog-port:hover{transform:none}}
@media(max-width:650px){
  #expanded-catalog .extended-heading h1{font-size:23px}
  #expanded-catalog .catalog-count{font-size:12px}
  #expanded-catalog .catalog-search-label{font-size:12px}
  .catalog-card-body{padding:10px}
  .catalog-card h3,.catalog-card h4{font-size:16px;line-height:1.3;min-height:2.6em}
  .catalog-card .catalog-badge,.catalog-card .catalog-file-note{font-size:11px;padding:4px 5px}
  .catalog-card .catalog-card-actions{gap:8px;flex-wrap:nowrap}
  .catalog-card .catalog-play{font-size:12px;min-width:0}
  #game-grid.catalog-loading:empty{min-height:360px}
}
@media(max-height:500px){#expanded-catalog .catalog-tools{position:static}}

/* Player-facing shelf: one obvious action and only essential file conditions. */
#expanded-catalog .catalog-meta{display:none}
#expanded-catalog[data-catalog-notice="error"] .catalog-meta,
#expanded-catalog[data-catalog-notice="recovery"] .catalog-meta{display:block}
#expanded-catalog #catalog-checked{display:none}
#expanded-catalog .catalog-count[hidden],.catalog-filter-disclosure[hidden]{display:none}
.catalog-filter-options:not(:has(#catalog-reset:not([hidden]))){margin:0}
.catalog-card .catalog-tags:empty{display:none}
.catalog-card .catalog-card-actions{padding-top:6px}
#expanded-catalog .catalog-card .catalog-play{min-height:48px;border:1px solid #e4ff9c;background:linear-gradient(135deg,#e0fa91,#bfe861);color:#1b2910;font-weight:750;font-size:14px;box-shadow:0 0 0 1px #d3ef7920,0 4px 16px #bfe66b38;transition:background .15s,box-shadow .15s}
#expanded-catalog .catalog-card .catalog-play:not(:disabled):hover{background:#e1ffa0;box-shadow:0 0 0 1px #d3ef7940,0 5px 22px #bfe66b55}
#expanded-catalog .catalog-card .catalog-play:disabled{background:#30383a;border-color:#495351;color:#acb8b9;box-shadow:none}
@media(prefers-reduced-motion:reduce){#expanded-catalog .catalog-card .catalog-play{transition:none}}
/* The no-JS/network-failure shelf follows the same player-facing hierarchy. */
.legacy-hooks .game-card-foot>span,.legacy-hooks .catalog-note,.legacy-hooks .catalog-intro,.legacy-hooks .game-tags{display:none}
.legacy-hooks .game-cta{min-height:48px;padding:10px 14px;border:1px solid #e4ff9c;border-radius:10px;background:#d3ef79;color:#1b2910;box-shadow:0 4px 16px #bfe66b38;font-weight:750}

/* Personal lists stay local; compact controls leave search next to the games. */
.catalog-library-views{display:flex;gap:6px;margin:0 0 12px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.catalog-library-views button{flex:0 0 auto;min-height:44px;padding:8px 13px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted,#b7c2c7);font:inherit;font-size:13px;font-weight:700;white-space:nowrap}
.catalog-library-views button[aria-pressed="true"]{background:#253139;border-color:#43505a;color:#f5fbff}
.catalog-cover{position:relative}
.catalog-favorite{position:absolute;inset-block-start:7px;inset-inline-end:7px;z-index:1;display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:1px solid #ffffff50;border-radius:14px;background:#101719df;color:#fff;font-size:27px;line-height:1;box-shadow:0 2px 8px #0005}
.catalog-favorite[aria-pressed="true"]{color:#ffe083;border-color:#ffe083aa;background:#332b18eb}
.catalog-favorite:focus-visible,.catalog-library-views button:focus-visible{outline:3px solid #b5ebff;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
  .catalog-play,.catalog-favorite,.catalog-guide-button,.catalog-library-views button{transition:transform 120ms ease,background-color 120ms ease}
  .catalog-play:active,.catalog-favorite:active,.catalog-guide-button:active,.catalog-library-views button:active{transform:scale(.96)}
}

.catalog-library-views button:focus-visible{outline-offset:-4px}

.catalog-library-views[hidden]{display:none!important}

/* Keep artwork nodes across shelf updates; reveal only after decoding. */
.catalog-cover img{opacity:0}
.catalog-cover[data-cover-state="ready"] img{opacity:1}
.catalog-cover-fallback{transition:opacity 280ms ease}
.catalog-cover[data-cover-state="ready"] .catalog-cover-fallback{opacity:0}
.catalog-cover[data-cover-state="loading"]::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#e4f8c815 48%,transparent 66%);pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .catalog-cover img{transform:scale(1.035);transition:opacity 260ms ease,transform 500ms cubic-bezier(.2,.7,.2,1)}
  .catalog-cover[data-cover-state="ready"] img{transform:scale(1)}
  .catalog-cover[data-cover-state="loading"]::after{animation:catalog-cover-shimmer 1.8s ease-in-out infinite}
  .catalog-card[data-card-entrance="true"]{animation:catalog-card-enter 240ms cubic-bezier(.2,.7,.2,1) backwards}
  .catalog-card.catalog-port{transition:border-color 180ms ease,transform 220ms ease,box-shadow 220ms ease}
  .catalog-guide[open]{animation:catalog-card-enter 220ms ease-out}
  @media(hover:hover) and (pointer:fine){
    .catalog-card.catalog-port:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0003}
    .catalog-card.catalog-port:hover .catalog-cover[data-cover-state="ready"] img{transform:scale(1.025)}
  }
}
@keyframes catalog-cover-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes catalog-card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.catalog-cover-fallback{transition:none}}
.catalog-card .catalog-multiplayer{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:9px 8px;border:1px solid #9e8c4d;border-radius:9px;background:#3d3822;color:#f5df98;font-size:12px;font-weight:700;text-align:center;text-decoration:none}.catalog-card .catalog-multiplayer:hover{background:#514829}.catalog-card .catalog-multiplayer:focus-visible{outline:2px solid #eed179;outline-offset:3px}

/* Official hosted NFS link: use the destination's controls and its own origin. */
.catalog-external-link .catalog-card-body{min-width:0}
.catalog-link-destination{margin:6px 0 12px;color:var(--muted,#b7c2c7);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.catalog-external-link .catalog-play{width:100%}
.catalog-external-link h3{overflow-wrap:anywhere}

/* The static/no-JS shelf obeys the same public visibility limit. */
.legacy-hooks [data-game]:not([data-game="simpsons"]):not([data-game="nfs-most-wanted-online"]){display:none!important}

.catalog-external-link .catalog-cover img{object-fit:contain}
.game-nfs .game-cover img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#27312c}
.game-nfs .game-body{min-width:0}
.game-nfs .game-body h3,.game-nfs .game-body p{overflow-wrap:anywhere}
