.tcg-tile-wrap{position:relative;display:flex;flex-direction:column}.tcg-tile-link{display:block;color:inherit}.tcg-tile-link,.tcg-tile-link:hover{text-decoration:none}.tcg-tile{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border-radius:1rem;background:#fff;border:1px solid #f1f2f5;transition:transform .12s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),border-color .22s cubic-bezier(.2,.8,.2,1)}.tcg-tile.is-in-deck{border-color:rgba(51,172,255,.55);box-shadow:0 0 0 2px rgba(51,172,255,.15)}.tcg-tile-link:hover .tcg-tile{transform:translateY(-3px);box-shadow:0 24px 48px -16px rgba(15,16,20,.22),0 4px 12px rgba(15,16,20,.08);border-color:#e7e8ec}.tcg-tile__art{position:relative;aspect-ratio:245/342;border-radius:.75rem;overflow:hidden;background:#f6f6f1;display:flex;align-items:center;justify-content:center}.tcg-tile__art img{width:100%;height:100%;object-fit:cover}.tcg-tile__placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#f6f6f1,#ecedf0);font-family:var(--font-display),"Bricolage Grotesque",Georgia,serif;font-size:2.5rem;color:#aab0bb}.tcg-tile__count{position:absolute;top:.5rem;right:.5rem;background:#33acff;color:#fff;font-weight:700;font-size:.75rem;padding:2px 8px;border-radius:9999px;box-shadow:0 2px 6px rgba(15,16,20,.06),0 1px 2px rgba(15,16,20,.04);letter-spacing:.04em}.tcg-tile__meta{display:flex;flex-direction:column;gap:2px;padding:0 .25rem .25rem;min-height:2.6rem}.tcg-tile__name{font-size:.8125rem;font-weight:600;color:#0e0f12}.tcg-tile__name,.tcg-tile__set{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.tcg-tile__set{font-size:.6875rem;color:#6b7280;font-family:var(--font-mono),"JetBrains Mono",ui-monospace,"SF Mono",monospace;letter-spacing:.02em}.tcg-tile__controls{position:absolute;bottom:.5rem;right:.5rem;display:flex;gap:4px;opacity:0;transform:translateY(4px);transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1)}.tcg-tile-wrap:focus-within .tcg-tile__controls,.tcg-tile-wrap:hover .tcg-tile__controls{opacity:1;transform:translateY(0)}.tcg-tile.is-in-deck~.tcg-tile__controls{opacity:1;transform:translateY(0)}.tcg-tile__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;width:32px;height:32px;border-radius:50%;font-size:1.0625rem;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:0 8px 24px -8px rgba(15,16,20,.14),0 2px 6px rgba(15,16,20,.06);transition:background .12s cubic-bezier(.2,.8,.2,1),transform .12s cubic-bezier(.2,.8,.2,1)}.tcg-tile__btn:active{transform:scale(.92)}.tcg-tile__btn:disabled{opacity:.35;cursor:not-allowed}.tcg-tile__btn--add{background:#33acff;color:#fff}.tcg-tile__btn--add:hover:not(:disabled){background:#2477b8}.tcg-tile__btn--remove{background:#fff;color:#0e0f12;border:1px solid #e7e8ec}.tcg-tile__btn--remove:hover:not(:disabled){background:#e3350d;color:#fff;border-color:#e3350d}.tcg-tile--sm .tcg-tile__name{font-size:.75rem}.tcg-tile--sm .tcg-tile__set{display:none}.tcg-tile--lg .tcg-tile__name{font-size:.9375rem}.cb{display:flex;flex-direction:column;gap:1.5rem}.cb__filters{display:grid;grid-template-columns:minmax(0,420px) 1fr;grid-gap:.75rem 1rem;gap:.75rem 1rem;align-items:center}@media(max-width:800px){.cb__filters{grid-template-columns:1fr}}.cb__meta{display:flex;justify-content:flex-end;align-items:center}.cb__meta-text{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,"SF Mono",monospace;font-size:.8125rem;color:#0e0f12;letter-spacing:.04em}.cb__meta-faint{color:#6b7280}.cb__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1rem;gap:1rem}.cb__empty{grid-column:1/-1;padding:3rem 0;text-align:center;color:#6b7280;font-size:.9375rem}.cb__error{padding:.75rem 1rem;background:#fde4dd;color:#b8260a;border-radius:.75rem;font-size:.8125rem}.cb__pager{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid #f1f2f5}.cb__page-label{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,"SF Mono",monospace;font-size:.8125rem;color:#6b7280;min-width:120px;text-align:center}