:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#303c34;background:#f7f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1120px;margin:auto}header{padding:30px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe2d7}.brand{font-family:Georgia,serif;font-size:25px;font-weight:bold;color:inherit;text-decoration:none}.brand span{font-family:sans-serif;font-size:14px;margin-left:16px;letter-spacing:2px}.header-note{font-size:12px;color:#788175}main{padding:58px 24px 0}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:end;margin-bottom:42px}.eyebrow{font-size:10px;letter-spacing:3px;color:#7d8776}h1{font-family:"Songti SC",serif;font-size:39px;font-weight:500;margin:16px 0}.lead{font-size:14px;line-height:1.9;color:#737c6e}form{padding:24px;background:#eeeee5;border-radius:18px;margin-bottom:8px}label{font-size:14px;font-weight:600}.input-row{display:flex;gap:8px;margin-top:14px}input{width:100%;min-width:0;border:1px solid #d6dbce;border-radius:8px;background:#fffef9;padding:13px 12px;font:inherit;font-size:14px}button{white-space:nowrap;border:0;border-radius:8px;background:#4c6450;color:white;padding:0 16px;font:inherit;font-size:13px;cursor:pointer}input:focus{outline:2px solid #91a586;outline-offset:2px}#profile-status{font-size:11px;color:#73806c;min-height:16px;margin:12px 0 0}.games{display:grid;grid-template-columns:1fr 1fr;gap:26px}.game{border:1px solid #e0e3d8;border-radius:22px;overflow:hidden;background:#fffef9}.art{height:240px;position:relative;overflow:hidden;background:#dde5d7;padding:20px}.merge .art{background:#ede0cb}.number{position:relative;z-index:1;font-size:10px;letter-spacing:2px;color:#63715e}.photo-grid{display:flex;gap:18px;justify-content:center;margin-top:20px;transform:rotate(-7deg)}.photo-grid img{width:140px;height:155px;object-fit:cover;border:7px solid #fffef9;border-bottom-width:20px;box-shadow:0 12px 20px #324b3420;border-radius:3px}.photo-grid img:last-child{transform:rotate(13deg) translateY(5px)}.art-label{position:absolute;right:20px;bottom:18px;background:#fffaf2bb;border-radius:30px;padding:6px 12px;font-size:11px}.merge-cat{position:absolute;height:215px;width:280px;object-fit:contain;left:50%;bottom:-4px;transform:translateX(-50%)}.game-copy{padding:28px}.tags{color:#859078;font-size:11px;letter-spacing:1px}h2{font-family:"Songti SC",serif;font-size:30px;font-weight:500;margin:10px 0}.game-copy p{font-size:13px;line-height:1.9;color:#78806f;margin-bottom:22px}.goal{font-size:11px;color:#919685;display:flex;gap:12px;padding:15px 0;border-top:1px solid #eceee5}.goal strong{font-weight:400;color:#53624b}.play{display:flex;justify-content:space-between;padding:15px 18px;border-radius:10px;background:#4b634f;color:#fff;text-decoration:none;font-size:14px;margin-top:8px}.merge .play{background:#87684a}.play:hover{filter:brightness(1.1)}.keepsake{display:flex;gap:22px;padding:34px 26px;margin:32px 0;background:#efeee5;border-radius:16px}.spark{font-size:34px;color:#9d9163}h3{font-size:16px;font-weight:500;margin:0 0 10px}.keepsake p{font-size:13px;line-height:1.9;margin:0;color:#75806e}.keepsake .fine{font-size:11px;color:#969a8a;margin-top:8px}footer{padding:4px 24px 30px;font-size:11px;color:#8f9786;display:flex;justify-content:space-between}@media(max-width:650px){header{padding:22px}.header-note{display:none}main{padding:32px 18px 0}.intro{grid-template-columns:1fr;gap:16px;margin-bottom:24px}h1{font-size:31px}.lead{font-size:13px}.games{grid-template-columns:1fr;gap:20px}.art{height:220px}.game-copy{padding:24px}.keepsake{padding:24px 18px;gap:14px}footer span{display:none}}
[hidden]{display:none!important}.album{background:#fffef9;border:1px solid #e0e3d8;border-radius:20px;padding:26px;margin-bottom:30px}.album-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.album-heading h2{font-size:25px}.album form{max-width:570px;margin:14px 0}.album button{min-height:40px}.album .fine,#album-status{font-size:12px;line-height:1.8;color:#788175}.album-actions{display:flex;gap:10px}.album-actions button,#disconnect,#more-cards{background:#e9eee3;color:#4b634f;padding:8px 14px}#album-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:16px;margin-top:20px}.album-card{color:inherit;text-decoration:none;border:1px solid #e8ecdf;border-radius:12px;padding:10px;display:block}.album-card img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#f2f1e9;border-radius:7px}.album-card strong{display:block;font-size:13px;margin-top:8px}.album-card small{display:block;color:#7e8b74;margin-top:6px}#more-cards{margin-top:20px}@media(max-width:650px){.album{padding:20px}.album form{padding:16px}.album-heading h2{font-size:23px}}
.arcana-collection{margin-top:24px;padding-top:24px;border-top:1px solid #e5e8de}.arcana-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.arcana-title h3{margin:0}.arcana-title strong{font-size:14px;color:#607953;white-space:nowrap}#arcana-progress{width:100%;height:7px;display:block;margin-top:15px;border:0;border-radius:9px;overflow:hidden;accent-color:#607953}#arcana-progress::-webkit-progress-bar{background:#edf0e6}#arcana-progress::-webkit-progress-value{background:#607953;border-radius:9px}#arcana-hint{font-size:12px;line-height:1.8;color:#7b846f;margin:12px 0 20px}#arcana-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.arcana-slot{min-width:0}.arcana-slot .album-card{height:100%}.locked-card{display:flex;aspect-ratio:3/4;align-items:center;justify-content:center;flex-direction:column;background:#202620;border:1px solid #3e483d;outline:1px solid #66745a;outline-offset:-8px;border-radius:10px;color:#a5b295}.locked-card span{font-family:Georgia,serif;font-size:28px}.locked-card small{font-size:10px;letter-spacing:2px;margin-top:8px}.arcana-caption{font-size:10px;text-align:center;color:#8a947e;margin:7px 0}.owned-pending{opacity:.7}.is-complete .arcana-title strong{color:#9b713c}.is-complete #arcana-progress{accent-color:#a38650}#other-cards-heading{margin-top:28px}@media(max-width:650px){#arcana-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.arcana-title{align-items:flex-start}.arcana-title h3{font-size:14px}.arcana-title strong{font-size:12px}.arcana-slot .album-card{padding:6px}.arcana-slot .album-card strong{font-size:11px}.arcana-slot .album-card small{font-size:9px}}
#toggle-deck{display:block;margin:18px auto 0;padding:8px 20px;background:#e9eee3;color:#4b634f;font-size:12px}
@keyframes arcana-complete{0%{transform:scale(.96);opacity:.5}55%{transform:scale(1.03)}100%{transform:scale(1);opacity:1}}.is-complete .arcana-title{animation:arcana-complete .8s ease-out}.is-complete [data-card-id="bc-arcana-21"] .album-card{border-color:#bba66b;background:#fff9e8;animation:arcana-complete .9s ease-out}@media(prefers-reduced-motion:reduce){.is-complete .arcana-title,.is-complete [data-card-id="bc-arcana-21"] .album-card{animation:none}}

.extra-collection{margin-top:26px;padding-top:24px;border-top:1px solid #e5e8de}.extra-collection progress{display:block;width:100%;height:7px;accent-color:#607953;margin:15px 0 20px}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.toggle-collection{display:block;margin:18px auto 0;padding:8px 20px;background:#e9eee3;color:#4b634f}@media(max-width:650px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}}

/* Photo puzzle covers: original cat photos rendered as actual tile layouts. */
.art.puzzle-art{height:310px;background:radial-gradient(ellipse at 50% 60%,#fffaf380,transparent 70%),#ede0cb}
.art.sliding-art{background:radial-gradient(ellipse at 50% 60%,#ffffff70,transparent 70%),#dde5d7}
.puzzle-cover{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:236px;height:236px;margin:17px auto 0;padding:8px;background:#fffaf1;border-radius:13px;box-shadow:0 14px 25px #49452c22;transform:rotate(-4deg)}
.puzzle-piece{position:relative;border-radius:4px;background-size:300% 300%;background-repeat:no-repeat;min-width:0;min-height:0}
.jigsaw-art .puzzle-piece:last-child{transform:translate(5px,5px) rotate(5deg);box-shadow:0 3px 7px #352c292b;outline:3px solid #fffaf1}
.sliding-art .puzzle-cover{transform:rotate(3deg);background:#f5f7ee}
.puzzle-piece small{position:absolute;left:4px;top:4px;width:17px;height:17px;border-radius:3px;background:#fffaf1e8;color:#455a45;font-size:10px;line-height:17px;text-align:center}
.puzzle-empty{display:grid;place-items:center;background:#dce3d3;border:1px dashed #a8b79a;color:#84977a;font-size:26px}
@media(max-width:360px){.art.puzzle-art{height:286px}.puzzle-cover{width:212px;height:212px}}

.puzzle-piece{overflow:hidden}.puzzle-piece>img{position:absolute;width:300%;height:300%;max-width:none;object-fit:cover}.puzzle-piece small{z-index:1}

/* Card sets stay compact until selected; only six cards are created per page. */
#extra-albums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.extra-collection{margin:0;padding:18px;border:1px solid #dce2d3;border-radius:16px;min-width:0}.extra-collection:has([aria-expanded="true"]){grid-column:1/-1}.extra-collection h3{margin:0 0 6px;font-size:16px}.set-count{font-size:13px;color:#63705d}.extra-collection progress{display:block;width:100%;margin:12px 0}.collection-pages{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.collection-pages button:disabled{opacity:.4}.collection-grid[hidden],#arcana-grid[hidden],#album-cards[hidden]{display:none!important}.arcana-collection{margin-bottom:12px}#toggle-deck{margin:4px 0 12px}.toggle-collection{margin:4px 0 12px}#arcana-grid:not([hidden]){margin-bottom:12px}@media(max-width:540px){#extra-albums{grid-template-columns:1fr}.extra-collection{padding:14px}.collection-pages{gap:12px}}

.set-cover{float:left;width:38px;height:50px;margin:0 12px 8px 0;border-radius:5px;background:#e8eddf;color:#667657;display:grid;place-items:center;font-size:25px;overflow:hidden}.set-cover img{width:100%;height:100%;object-fit:cover}.extra-collection progress{clear:both}
