/* Three finishes, shared geometry. Overrides are scoped to the face, never the common back. */
.album-card{aspect-ratio:5/7}.album-card img{aspect-ratio:5/7;object-fit:contain}
@media(max-width:560px){#collection .reveal-flash{inset:-8%}}
.tier-normal .front{background:linear-gradient(145deg,#e6d8f8,#75668c,#cabce0);border-color:#c8b6de}.tier-normal .card-inner .foil,.tier-normal .card-inner .aurora,.tier-normal .card-inner .foil-grain,.tier-normal .card-inner .diffraction{display:none}.tier-normal .glare{opacity:.12}.tier-normal .card-bg{background:radial-gradient(ellipse at 70% 25%,#d4a14233,transparent 55%),linear-gradient(150deg,#613687,#342344 60%,#1e142a)}.tier-normal .court-lines{opacity:.18}.tier-normal .finish-badge{color:#d1c4e2;border-color:#a98bca70;background:#ffffff05}
.tier-gold .front{background:linear-gradient(125deg,#f3e5ff,#9981bc 23%,#f0e0ff 48%,#a08abb 73%,#eedfff);border-color:#e8d0ff;box-shadow:0 20px 42px -18px #000b,0 0 22px #b889ef30}.tier-gold .card-inner{border-color:#d6b0efaa}.tier-gold .card-bg,.tier-rainbow .card-bg{background:radial-gradient(ellipse at 70% 25%,#d4a14233,transparent 55%),linear-gradient(150deg,#613687,#342344 60%,#1e142a)}.tier-gold .edge{border-color:#f3dfff9c}.tier-gold .finish-badge{border-color:#dfb5f5;color:#f5dcff;background:#ae75d52a}.tier-gold .is-revealing .card-tilt{filter:drop-shadow(0 0 24px #b78fe7)}
.tier-rainbow .front{background:conic-gradient(from 30deg at var(--mx,35%) var(--my,35%),#ff7cc8,#9870ff,#59eeff,#7affba,#ffe79a,#ff87cb,#a786ff,#ff7cc8);box-shadow:0 20px 42px -18px #000b,0 0 25px #b989ff44}.tier-gold .diffraction,.tier-rainbow .diffraction{position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;background:repeating-linear-gradient(112deg,#ff4fc629 0%,#7b50ff50 9%,#39ddff42 18%,#8affae38 27%,#ffd97230 36%,#ff50b63d 45%);background-size:260% 260%;background-position:var(--mx,30%) var(--my,35%);opacity:.75;mask-image:linear-gradient(#000,#000 60%,transparent 86%)}.tier-rainbow .finish-badge{background:linear-gradient(105deg,#f8b9ef33,#8dffdc33);color:#fff4fd;border-color:#f0b8ff}.tier-rainbow .is-revealing .card-tilt{filter:drop-shadow(0 0 32px #e7a3ff)}.foil-off .diffraction{opacity:0}
.masthead{gap:12px}.view-nav{display:flex;gap:7px}.view-nav button{font:12px 'Microsoft YaHei',Arial;color:#b6a0cb;background:transparent;border:1px solid transparent;border-radius:5px;padding:10px 13px;white-space:nowrap}.view-nav button[aria-current]{color:#f2dcff;border-color:#c68eff4a;background:#c58bff0d}.view-nav span{font:9px Arial;margin-left:7px;color:#cba5f0}.odds{display:flex;align-items:center;gap:24px;border-top:1px solid #b488da20;border-bottom:1px solid #b488da20;padding:15px 0;margin-top:25px;font-size:11px;color:#c5add7}.odds span{display:flex;align-items:center;gap:8px;white-space:nowrap}.odds b{font:11px Arial;color:#f1dfff}.odds small{margin-left:auto;font-size:10px;color:#9d83b3}.dot{display:inline-block;width:6px;height:6px;border-radius:50%}.normal-dot{background:#c7bbd5}.gold-dot{background:linear-gradient(120deg,#c9acff,#f9b7ef,#a4e6ff)}.rainbow-dot{background:linear-gradient(120deg,#ff8dd5,#a58bff,#6affd7)}
.pack-lobby{display:flex;align-items:center;justify-content:center;gap:90px;padding:42px 20px 20px}.foil-pack{position:relative;isolation:isolate;overflow:hidden;width:225px;height:315px;padding:38px 20px 27px;display:flex;flex-direction:column;align-items:center;color:white;background:linear-gradient(120deg,#391169,#8430d9 35%,#621fa6 65%,#351353);border:1px solid #c290ff9c;box-shadow:0 15px 55px #0008,0 0 30px #8735d52c;transform:rotate(-5deg);transition:transform .25s;border-radius:3px}.foil-pack:hover{transform:rotate(0) translateY(-5px)}.foil-pack:before{content:'';position:absolute;inset:0;z-index:-1;background:conic-gradient(from 60deg at 20% 20%,transparent,#a9fbff42,transparent 30%,#ffaaf433,transparent 70%)}.foil-pack img{width:150px;height:145px;object-fit:contain;margin:12px 0}.pack-overline{font:6px Arial;letter-spacing:2px;color:#e3c4fd}.pack-title{font-size:18px;letter-spacing:6px;margin-bottom:13px}.pack-sub{font:7px Arial;letter-spacing:1.8px;color:#dac4ee}.pack-open-label{font-size:10px;margin-top:18px;color:#f2dcff}.crimp{position:absolute;left:0;right:0;height:19px;background:repeating-linear-gradient(90deg,#280d4b77 0px,#c68cff55 2px,#4b187d99 4px);border:1px solid #dfb9ff33}.crimp.top{top:0}.crimp.bottom{bottom:0}.lobby-copy>span{font:9px Arial;letter-spacing:2.5px;color:#b48dd4}.lobby-copy h2{font-weight:500;font-size:35px;line-height:1.5;margin:16px 0}.lobby-copy p{font-size:12px;line-height:2;color:#ad94c0}.pack-summary{margin:28px 0 0;text-align:center;padding:18px;border:1px solid #b181df40;border-radius:6px;background:#9962da0a;color:#d4b2ee;font-size:12px}.storage-warning{padding:14px;color:#ffe3a4;background:#694b252e;border:1px solid #c9954e66;line-height:1.8;font-size:12px}.album-intro,.local-note{font-size:12px;color:#b69acb;line-height:1.9}.album-stats{display:flex;gap:50px;padding:30px 0;border-bottom:1px solid #a475cc33;align-items:center}.album-stats>div{display:flex;flex-direction:column;gap:10px}.album-stats strong{font:28px Arial;color:#f4ddff}.album-stats span{font-size:10px;color:#b095c4}.backup-button{margin-left:auto;border:1px solid #8760aa;color:#d8bae9;background:transparent;padding:11px 14px;border-radius:5px;font-size:11px}.album-filters{display:flex;align-items:center;gap:9px;padding:24px 0}.album-filters button{color:#baa0cc;border:1px solid #71518866;background:transparent;border-radius:4px;padding:9px 18px;font-size:11px}.album-filters button[aria-pressed=true]{color:#f1d9ff;border-color:#bb81ed;background:#a15ee521}.album-filters label{margin-left:auto;font-size:11px;color:#bda2cf;white-space:nowrap;display:flex;gap:6px;align-items:center}.album-filters input{accent-color:#a967f1}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:930px;margin:0 auto}.album-item{min-width:0}.album-card{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;border-radius:14px}.album-card img{display:block;width:100%;border-radius:14px}.album-card:focus-visible{outline:2px solid #d1a0ff;outline-offset:5px}.quantity{position:absolute;right:10px;bottom:12px;border:1px solid #dfb7ff80;background:#190c2ee6;color:#f7e8ff;border-radius:4px;font:12px Arial;padding:6px 9px}.locked-card{aspect-ratio:5/7;border:1px solid #7d5f965c;border-radius:14px;background:linear-gradient(150deg,#30203d,#1c1229);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#9883ac;font-size:11px;letter-spacing:2px}.locked-card img{width:44%;opacity:.15;filter:grayscale(1)}.album-caption{display:flex;justify-content:space-between;gap:10px;margin:13px 3px 4px;align-items:center}.album-caption strong{font-weight:400;font-size:13px}.album-caption>span{font-size:10px;color:#b5a0c3}.tier-gold .album-caption>span{color:#d2acff}.tier-rainbow .album-caption>span{color:#ecc0ff}.album-empty{font-size:13px;text-align:center;color:#b4a0c3;padding:50px 0}.local-note{font-size:10px;text-align:center;margin:32px 0 36px}dialog{position:fixed;background:#1a1029;color:#f4e9ff;border:1px solid #a173ca7a;border-radius:12px;padding:24px;width:min(420px,92vw);max-height:94vh;overflow:auto}dialog::backdrop{background:#07030ed9;backdrop-filter:blur(6px)}dialog h2{font-size:16px;font-weight:500;margin:0 30px 18px 0}.dialog-close{position:absolute;right:13px;top:12px;border:0;background:transparent;color:#e7cdfb;font-size:18px;padding:5px}#detail-card{width:min(315px,100%);margin:0 auto}#detail-card .card-unit{animation:none}#detail-count{font-size:12px;color:#c5a5dc}dialog .download{display:inline-block;margin-bottom:5px}.preview-heading{padding:30px 0 0;font-size:12px;color:#baa0d0}.preview-shell .collection{padding-top:25px;padding-bottom:35px}.preview-label{text-align:center;color:#ab92bd;font-size:11px;padding:15px}
@media(max-width:800px){.masthead .edition{display:none}.pack-lobby{gap:45px}.odds{gap:18px}.odds small{font-size:8px}.album-stats{gap:30px}.album-grid{gap:19px}}
@media(max-width:560px){.masthead{height:85px}.masthead .wordmark{width:105px}.view-nav button{font-size:10px;padding:9px 8px}.view-nav span{font-size:8px;margin-left:3px}.intro h1{font-size:36px}.odds{flex-wrap:wrap;gap:15px 24px;padding:13px 0}.odds small{width:100%;margin:0;font-size:9px}.pack-lobby{padding:35px 0 12px;gap:0}.foil-pack{width:210px;height:295px}.foil-pack img{width:140px;height:130px}.lobby-copy{display:none}.pack-toolbar .controls button{font-size:10px;padding:10px 6px}.pack-summary{font-size:11px;line-height:1.8}.album-stats{gap:18px;flex-wrap:wrap;padding:25px 0}.album-stats strong{font-size:23px}.album-stats .backup-button{font-size:10px;padding:8px 10px;margin-left:0}.album-filters{flex-wrap:wrap;gap:7px}.album-filters button{padding:8px 12px;font-size:10px}.album-filters label{font-size:10px;margin:5px 0 0;width:100%}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.album-caption strong{font-size:11px}.album-caption>span{font-size:9px}.locked-card{font-size:9px;letter-spacing:1px}.quantity{right:6px;bottom:7px;padding:4px 6px;font-size:10px}.album-intro{font-size:11px}.local-note{text-align:left}.preview-shell .collection{padding-top:20px}}
/* PRISM is etched foil; rainbow adds cracked facets, radial rays and large lower-field glints. */
.tier-normal .card-bg{background:radial-gradient(ellipse at 70% 25%,#edcf9e35,transparent 58%),linear-gradient(150deg,#79539d,#483354 60%,#291c39)}
.radial-foil,.burst-foil,.sparkle-field{display:none;pointer-events:none;position:absolute;inset:0}
.tier-gold .foil{opacity:calc(var(--foil-strength,.7)*.36);filter:saturate(.55)}
.tier-gold .aurora{opacity:calc(var(--aurora-strength,.9)*.45)}
.tier-gold .foil-grain{opacity:calc(var(--grain-strength,.35)*.45)}
.tier-gold .diffraction{background:repeating-linear-gradient(132deg,#d9caff22 0px,#fff6 1px,transparent 2px,transparent 7px);background-size:100% 100%;mix-blend-mode:soft-light;opacity:.48}
.tier-rainbow .foil{opacity:calc(var(--foil-strength,.7)*.68)}
.tier-rainbow .radial-foil{display:block;background:repeating-conic-gradient(from 12deg at 48% 83%,transparent 0deg 9deg,#d2fffc55 10deg 12deg,transparent 13deg 24deg,#ffc4f344 25deg 28deg);mix-blend-mode:color-dodge;opacity:.38;mask-image:linear-gradient(transparent 20%,#000 42%,#000 78%,transparent 95%)}
.tier-rainbow .burst-foil{display:block;background:url('assets/foil-shards.svg') center/100% 100%;mix-blend-mode:screen;opacity:calc(var(--foil-strength,.7)*.85);mask-image:linear-gradient(transparent 18%,#000 43%,#000 77%,transparent 96%)}
.tier-rainbow .sparkle-field{display:block;background:url('assets/foil-stars.svg') center/100% 100%;mix-blend-mode:screen;opacity:calc(var(--foil-strength,.7)*.95);mask-image:radial-gradient(ellipse at var(--mx,40%) var(--my,65%),#000 15%,#000a 60%,#0006 100%)}
.foil-off .card-inner .foil,.foil-off .card-inner .aurora,.foil-off .card-inner .foil-grain,.foil-off .card-inner .diffraction{opacity:0}
.foil-off .radial-foil,.foil-off .burst-foil,.foil-off .sparkle-field{display:none}
