/* Dense, single-row cartridge shelf. Full Community and Store cards are untouched. */
.saved-library { margin:28px 0; }
.saved-library-heading { margin-bottom:12px;flex-wrap:wrap;gap:10px 20px; }
.saved-library-heading h2,.lobby-community .community-lobby-copy h2 { font-size:23px;line-height:1.2;margin:0; }
.saved-library-heading p { margin-top:5px; }
.saved-shelf-tools { display:flex;align-items:center;gap:12px; }
.saved-shelf-nav { display:flex;gap:8px; }
.saved-shelf-arrow { width:44px;height:44px;display:grid;place-items:center;background:#ffde76;color:#203653;border:2px solid #203653;border-radius:12px;box-shadow:0 3px 0 #203653;padding:9px; }
.saved-shelf-arrow:active:not(:disabled) { transform:translateY(2px);box-shadow:0 1px 0 #203653; }
.saved-shelf-arrow:disabled { background:#e1e8f2;color:#6c7d95;border-color:#a6b7cd;box-shadow:0 2px 0 #c6d2e3;cursor:default; }
.lobby-action-icon { width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.saved-shelf-arrow .lobby-action-icon { width:24px;height:24px; }
.saved-library .saved-grid { display:grid;grid-auto-flow:column;grid-auto-columns:208px;grid-template-columns:none;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;padding:4px 4px 10px;scrollbar-width:thin;scrollbar-color:#9aacc7 transparent; }
.saved-library .saved-card { position:relative;padding:30px 9px 9px;border:0;border-radius:0;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);scroll-snap-align:start;gap:7px;background:#203653;color:#fff;box-shadow:none;filter:drop-shadow(0 4px 0 #9aacc7); }
.saved-library .saved-card::before { content:'';position:absolute;top:0;left:42px;width:78px;height:21px;border:2px solid #203653;border-top:0;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#aab7c5 0 58%,#e2e8ee 58% 78%,#8c9aa9 78%); }
.saved-library .saved-card::after { content:'';position:absolute;top:9px;right:18px;width:11px;height:9px;border-radius:2px;background:#edf3ff;box-shadow:inset 0 0 0 2px #52647e; }
.saved-library .saved-card[data-mode="racing"] { background:#263c67; }
.saved-library .saved-card[data-mode="tanks"] { background:#654a2f; }
.saved-library .saved-card h3 { color:#fff;font-size:15px;line-height:1.35;min-height:40px;margin:1px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.saved-library .game-cover { padding:6px 7px;border-radius:9px 9px 13px 9px; }
.saved-library .game-cover-top { padding-bottom:5px; }
.saved-library .game-cover-brand { font-size:11px; }
.saved-library .game-cover .saved-mode { font-size:9px;padding:2px 5px; }
.saved-library .game-cover-window { height:70px;aspect-ratio:auto;border-width:1px; }
.saved-library .game-cover-bottom { padding-top:5px;font-size:8px; }
.saved-library .saved-play { display:flex;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:6px;font-size:14px; }
.saved-card-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }
.saved-card-actions .saved-slot-action { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;min-width:0;min-height:49px;font-size:12px;font-weight:650;color:#203653;background:#eef3fc;border:1px solid #bdcde2;border-radius:8px;box-shadow:0 2px 0 #cfdaea; }
.saved-card-actions .saved-share { background:#e5f2e9;border-color:#9cbda8; }
.saved-card-actions .saved-slot-action--delete { color:#9f2828;background:#fff3f1;border-color:#e2b7b2; }
.saved-card-actions .saved-slot-action:hover:not(:disabled) { border-color:currentColor; }
.saved-card-actions .saved-slot-action:disabled { opacity:.5;cursor:default;box-shadow:none; }
.saved-card-actions .saved-slot-action:active:not(:disabled) { transform:translateY(1px);box-shadow:none; }
.saved-library .saved-edit-panel { position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:31px 17px 14px;background:rgba(13,29,50,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff; }
.saved-library .saved-edit-panel[hidden] { display:none; }
.saved-edit-panel>strong { text-align:center;font-size:16px;line-height:1.2;margin-bottom:2px; }
.saved-edit-panel .saved-edit-close { position:absolute;top:26px;right:12px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #e3ecff;border-radius:10px;background:#203653;color:#fff; }
.saved-edit-panel .saved-edit-close .lobby-action-icon { width:20px;height:20px; }
.saved-edit-panel .saved-edit-choice { display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:7px 10px;border:1px solid #a9c2e1;border-radius:9px;background:#f3f7ff;color:#203653;font-size:14px;font-weight:700; }
.saved-edit-panel .saved-edit-choice--danger { border-color:#e1b7b7;background:#fff0ed;color:#8e2222; }
.saved-edit-panel .saved-edit-choice:hover:not(:disabled) { border-color:#ffde76;background:#fffae9; }
.saved-edit-panel .saved-edit-choice:disabled { opacity:.55;cursor:default; }
.saved-edit-panel .saved-edit-choice:focus-visible,.saved-edit-panel .saved-edit-close:focus-visible { outline:3px solid #ffde76;outline-offset:2px; }
.saved-library .saved-card--empty { min-height:270px;padding:30px 12px 12px;background:#d9e5f3;color:#203653;filter:drop-shadow(0 4px 0 #b4c3d6); }
.saved-library .saved-card--empty::before { border-color:#8094ae;background:linear-gradient(90deg,#afbdca 0 58%,#eef3f7 58% 78%,#98a8b8 78%); }
.saved-library .saved-card--empty h3 { color:#203653; }
.saved-library .saved-card--empty h3 { min-height:0;margin:4px 0; }
.saved-library .saved-card--empty p { margin:0 0 8px; }
.saved-library .empty-slot-art { width:76px;height:70px;margin:2px 0; }
.saved-grid:focus-visible,.saved-shelf-arrow:focus-visible,.saved-slot-action:focus-visible { outline:3px solid #2559ce;outline-offset:2px; }
.lobby-community { margin:24px 0;padding:18px;background:#e8eff9;border:1px solid #c5d3e7;border-radius:16px; }
.lobby-community .community-lobby-copy { gap:8px 16px;justify-content:space-between; }
.lobby-community .community-lobby-copy h2 { flex-basis:auto; }
.community-lobby-copy>a { display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700; }
.lobby-community .community-lobby-explore { gap:9px;min-height:48px;padding:10px 16px;border:2px solid #203653;border-radius:13px 16px 12px 15px;background:#ffde76;color:#203653;text-decoration:none;box-shadow:0 4px 0 #203653;transition:transform .15s,box-shadow .15s; }
.community-lobby-explore .lobby-action-icon { width:22px;height:22px;flex:none; }
.community-lobby-explore .lobby-action-icon:last-child { width:16px;height:16px;margin-left:4px; }
.lobby-community .community-lobby-explore:hover { background:#ffe89e;transform:translateY(-2px);box-shadow:0 6px 0 #203653; }
.lobby-community .community-lobby-explore:active { transform:translateY(2px);box-shadow:0 2px 0 #203653; }
.community-lobby-explore:focus-visible { outline:3px solid var(--app-accent,#2559ce);outline-offset:5px; }
.lobby-community .community-preview-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px; }
.lobby-community .community-preview-grid:empty { display:none; }
.community-mini-card { position:relative;min-width:0;overflow:hidden;background:#fff;border:1px solid #aebfd6;border-radius:16px;box-shadow:0 4px 0 #ced9e8;isolation:isolate; }
.community-mini-content { min-width:0;transition:filter .18s ease,transform .18s ease; }
.community-mini-preview { position:relative;min-width:0;display:grid;place-items:center;overflow:hidden;aspect-ratio:10/7;border-bottom:1px solid #c5d3e7;background:#f0f6f2; }
.community-mini-preview[data-mode="racing"] { background:#eef3fc; }
.community-mini-preview[data-mode="tanks"] { background:#fff6e6; }
.community-mini-preview img { display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover; }
.community-mini-fallback { padding:20px;font-size:14px;line-height:1.4;color:#52647e;text-align:center; }
.community-mini-mode { position:absolute;z-index:1;top:10px;left:10px;padding:5px 9px;border:1px solid rgba(32,54,83,.28);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 2px 0 rgba(32,54,83,.16);color:#203653;font-size:11px;line-height:1;font-weight:750;letter-spacing:.04em;text-transform:uppercase; }
.community-mini-detail { min-width:0;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 13px; }
.community-mini-copy { min-width:0; }
.community-mini-detail h3 { margin:0;font-size:17px;line-height:22px;font-weight:800;overflow-wrap:anywhere;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.community-mini-detail .creator-link { display:block;width:100%;min-width:0;min-height:30px;font-size:13px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 0 3px;color:#52647e;text-align:left;text-decoration:none;border:0;background:transparent;border-radius:0;box-shadow:none; }
.community-mini-detail .creator-link:hover { color:#2559ce;text-decoration:underline;text-underline-offset:3px; }
.community-mini-likes { display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-width:54px;min-height:44px;padding:6px 8px;border-radius:12px;background:#fff0f1;color:#9f2630;font-variant-numeric:tabular-nums; }
.community-mini-likes .lobby-action-icon { width:21px;height:21px;fill:#e5484d;stroke:#9f2630;stroke-width:1.6; }
.community-mini-likes strong { font-size:15px;line-height:1; }
.community-mini-play { position:absolute;z-index:3;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:108px;padding:10px 18px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:999px;background:#2559ce;color:#fff;box-shadow:0 5px 0 #132f70,0 0 0 999px rgba(15,31,51,.16);font-size:16px; }
.community-mini-play .lobby-action-icon { width:20px;height:20px; }
.community-mini-play:active { transform:translate(-50%,calc(-50% + 2px));box-shadow:0 3px 0 #132f70,0 0 0 999px rgba(15,31,51,.2); }
.community-mini-card:hover .community-mini-content,.community-mini-card:has(.community-mini-play:focus-visible) .community-mini-content { filter:blur(4px) brightness(.58) saturate(.72);transform:scale(1.015); }
.community-mini-card button:focus-visible { outline:3px solid #2559ce;outline-offset:2px; }
.community-mini-card .community-mini-play:focus-visible { outline-color:#ffde76;outline-offset:4px; }
.community-preview-status { margin:10px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.5;color:#52647e; }
.community-preview-status:empty { display:none; }
.community-preview-grid[aria-busy="true"]:has(.community-mini-skeleton)+.community-preview-status { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.community-mini-skeleton .community-mini-preview { background:linear-gradient(100deg,#e6edf5 20%,#f4f7fb 42%,#e6edf5 64%);background-size:220% 100%;animation:community-skeleton 1.2s ease-in-out infinite; }
.community-mini-skeleton .community-mini-detail { background:linear-gradient(#e8eff5,#e8eff5) 14px 17px/58% 15px no-repeat,linear-gradient(#eef3f8,#eef3f8) 14px 45px/40% 11px no-repeat,linear-gradient(#f5e3e5,#f5e3e5) calc(100% - 14px) center/54px 44px no-repeat; }
@keyframes community-skeleton { to { background-position:-120% 0; } }
@media(hover:hover) and (pointer:fine) { .community-mini-play { opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease; }.community-mini-card:hover .community-mini-play,.community-mini-play:focus-visible { opacity:1;pointer-events:auto; } }
@media(max-width:900px) { .lobby-community .community-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .lobby-community .community-preview-grid { grid-template-columns:1fr; }.community-mini-detail h3{font-size:16px;} }
@media(max-width:520px) { .saved-library-heading { align-items:center; }.saved-library-heading p{max-width:none;}.saved-shelf-tools{width:100%;justify-content:space-between;}.lobby-community{padding:12px;}.lobby-community .community-lobby-copy h2{font-size:21px;} }
@media(prefers-reduced-motion:reduce) { .saved-library *,.community-mini-card * { scroll-behavior:auto!important;transition:none!important;animation:none!important; } }
