.pack-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:8px;letter-spacing:1px;padding:18px 0 0;color:var(--muted)}.pack-stars{font-size:17px;letter-spacing:2px;color:var(--mint)}.pack-rating>b{font-size:12px;color:var(--text)}.guarantee-pill{margin-left:auto;color:var(--mint);border:1px solid #6c8c4d66;background:#20331c;padding:7px 10px;border-radius:5px;font-size:9px;letter-spacing:0}.pack-controls{padding-top:14px}.pack-options small{color:var(--mint);font-size:8px}.pack-odds{margin-top:19px;border:1px solid var(--line);border-radius:7px;background:#101b14;padding:18px 20px}.odds-heading{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1px}.odds-heading>span{color:var(--muted);font-size:9px;letter-spacing:0}.pack-odds table{border-collapse:collapse;width:100%;margin-top:15px;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.pack-odds th{font-size:8px;color:var(--muted);font-weight:400;padding:0 0 10px}.pack-odds td{padding:9px 0;border-top:1px solid #273b2c}.pack-odds th:first-child,.pack-odds td:first-child{text-align:left}.pack-odds p{color:var(--muted);font-size:9px;line-height:1.7;margin:14px 0 0}.collectible:has(.pokemon-art){padding:8px;aspect-ratio:auto;min-height:0;justify-content:flex-start;gap:0;background:linear-gradient(155deg,#223827,#0c1810);border-radius:9px;overflow:visible}.collectible:has(.pokemon-art):before{display:none}.pokemon-art{width:100%;height:auto;aspect-ratio: .716;object-fit:contain;display:block;border-radius:5px;box-shadow:0 5px 15px #0005}.score-badge{position:absolute;right:3px;top:-10px;background:var(--card-color);color:#111e14;border:2px solid #101a14;border-radius:5px;padding:5px 7px;font-size:12px;font-weight:700;z-index:3;box-shadow:0 3px 10px #0006}.score-badge small{font-size:8px;font-weight:400;margin-left:2px}.pokemon-info{width:100%;text-align:left;padding:11px 3px 4px;display:flex;flex-direction:column;gap:5px}.pokemon-info .card-name{font-size:12px;font-weight:700;margin:0;white-space:normal;line-height:1.25}.pokemon-set{font-size:8px;line-height:1.3;color:var(--muted)}.pokemon-info .card-rarity{font-size:8px;letter-spacing:1px}.official-rarity{font-size:7px;color:var(--muted);line-height:1.4}.activity-card-thumb{width:33px;height:46px;border-radius:3px;object-fit:contain}.collection-grid{gap:22px 16px}.collection-grid .collectible:has(.pokemon-art){min-height:0}.reveal-grid .collectible:has(.pokemon-art){min-width:0}.reveal-grid .card-back{min-height:300px}.reveal-actions{margin-top:12px}.reveal-grid{align-items:stretch}.pack-stage .stock{font-size:9px;color:var(--mint)}dialog{max-height:94dvh;overflow-y:auto;overflow-x:hidden}.collection-toolbar{gap:6px}.filter{font-size:10px;padding:8px 12px}
@media(max-width:760px){.pack-rating{gap:6px;letter-spacing:.5px;font-size:7px}.pack-stars{font-size:14px;letter-spacing:1px}.guarantee-pill{font-size:8px;padding:6px 7px}.pack-options small{font-size:6px}.pack-options .tiny-pack{width:19px;min-width:19px}.pack-odds{padding:16px 14px}.pack-odds table{font-size:10px}.pack-odds th{font-size:7px}.reveal-grid .card-back{min-height:190px}.score-badge{font-size:10px;top:-8px;padding:4px 5px}.score-badge small{font-size:6px}.reveal-grid .collectible:has(.pokemon-art){padding:5px}.pokemon-info{padding:9px 1px 3px;gap:4px}.pokemon-info .card-name{font-size:10px}.pokemon-set{font-size:7px}.pokemon-info .card-rarity{font-size:6px}.official-rarity{font-size:6px}.activity-card-thumb{width:26px;height:38px}.reveal-grid{row-gap:20px}.collection-grid{row-gap:22px}}
