.island-play .collection-sheet{width:min(1120px,95vw);max-width:1120px;background:#fff7df;color:#254e51}
.collection-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-size:23px;border-bottom:2px solid #dbccaa;padding-bottom:12px}
.collection-summary p{flex-basis:100%;margin:0;font-size:20px}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 4px}
.island-play .collection-slot{border:0;background:none;padding:0;cursor:pointer;min-width:0;transition:transform .18s;box-shadow:none}
.collection-slot:hover,.collection-slot:focus-visible{transform:translateY(-5px)}
.collect-card{position:relative;isolation:isolate;aspect-ratio:2/3;overflow:hidden;border:7px solid var(--card-color);border-radius:18px;background:#2b6370;box-shadow:0 5px 0 #6c706044,0 12px 24px #183e5433;color:white;text-align:left}
.collect-card img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.card-topline{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:4px}
.card-topline span{font-size:16px;font-weight:900;color:#173d49;background:#fff8dfed;border-radius:20px;padding:5px 10px}
.card-caption{position:absolute;inset:auto 0 0;padding:42px 15px 16px;background:linear-gradient(transparent,#173a4bee 38%,#173a4b);display:grid;gap:5px}
.card-caption strong{color:#fff5d1;font-size:clamp(20px,2.3vw,28px);line-height:1.2}
.card-caption small,.card-caption span{font-size:16px;color:#e4f6ed}
.card-locked{background:radial-gradient(ellipse,#488c95,#245967);border-color:#b9c8bb}
.card-mystery{position:absolute;inset:22% 0 auto;text-align:center;font-size:100px;color:#d2e4d066}
.card-foil{border-color:#ffdc7c;box-shadow:0 0 0 2px #fff3ce,0 0 25px #eabd5477}
.card-foil:after{content:"";position:absolute;z-index:1;pointer-events:none;inset:-60%;background:linear-gradient(115deg,transparent 33%,#ffe8a040 40%,#abffec88 46%,#fff9b988 50%,#f1b9f766 54%,transparent 63%);mix-blend-mode:screen;transform:translateX(-20%);animation:card-glimmer 7s ease-in-out infinite}
.card-detail{display:grid;grid-template-columns:minmax(190px,320px) minmax(240px,1fr);gap:32px;align-items:center}
.card-detail .collect-card{width:100%;max-height:65vh;max-width:calc(65vh * 2 / 3);justify-self:center}
.card-detail h3{font-size:30px;margin:10px 0}
.card-detail p{font-size:22px;line-height:1.5}
.card-detail .game-button{display:block;margin:12px 0}
.foil-objective{border-block:1px solid #ddcc9b;padding:14px 0}
.island-play .collection-note{font-size:16px;color:#5b7069}
.card-reveal .collect-card{animation:card-unveil .8s cubic-bezier(.2,.8,.2,1) both}
.discovery-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.page-stitch{height:170px;position:relative;display:grid;place-items:center;overflow:hidden;perspective:500px;margin:12px 0}
.stitch-book{width:240px;height:145px;border:6px solid #c39757;border-left:16px solid #678e89;background:#fff1cb;border-radius:5px 16px 16px 5px;box-shadow:7px 7px 0 #dbd6b7;display:grid;place-content:center;gap:18px;text-align:center;font-size:22px;font-weight:900;color:#376d70}
.stitch-piece{position:absolute;width:105px;height:75px;object-fit:cover;border:4px solid #fff5d8;transform:translate(45px,28px) rotate(5deg);opacity:.7}
.piece-new .stitch-piece{animation:page-arrive 1.1s ease-out both}
.piece-new .stitch-book{animation:book-celebrate 1.5s ease-out}
.page-stitch+.reward-picture{display:none}
@keyframes page-arrive{0%{transform:translate(-250px,-80px) rotate(-35deg) scale(1.7);opacity:0}30%{opacity:1}100%{transform:translate(45px,28px) rotate(5deg);opacity:.8}}
@keyframes book-celebrate{0%,65%,100%{filter:brightness(1)}80%{filter:brightness(1.4)}}
@keyframes card-unveil{from{transform:perspective(700px) rotateY(-80deg) scale(.7);opacity:0}to{transform:perspective(700px) rotateY(0) scale(1);opacity:1}}
@keyframes card-glimmer{0%,100%{transform:translateX(-25%) rotate(0)}50%{transform:translateX(25%) rotate(8deg)}}
@media(max-height:600px){.collection-grid{gap:14px}.card-detail{grid-template-columns:minmax(170px,230px) 1fr;gap:20px}.card-detail .collect-card{max-height:70vh;max-width:calc(70vh * 2 / 3)}.card-detail h3{font-size:25px}.card-detail p{font-size:19px;margin:8px 0}.card-detail .game-button{font-size:20px;min-height:48px}.card-caption{padding:32px 10px 12px}.card-caption strong{font-size:21px}.card-topline span{font-size:14px;padding:4px 7px}.play-top .play-name{max-width:180px}.play-tools{gap:4px}}
@media(prefers-reduced-motion:reduce){.card-foil:after,.card-reveal .collect-card,.piece-new .stitch-piece,.piece-new .stitch-book{animation:none}.collection-slot{transition:none}}
