:root{--ink:#77604e;--muted:#a5907e;--cream:#fffaf2;--pink:#efd2d5;--blue:#d5e5ee;--line:#dfcbb5;--shadow:0 12px 30px #8b695310}*{box-sizing:border-box}body{margin:0;background:#faf2e7;color:var(--ink);font:15px/1.7 ui-rounded,'PingFang SC','Microsoft YaHei',sans-serif;background-image:radial-gradient(#decab166 .8px,transparent .8px);background-size:20px 20px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line);background:var(--cream);border-radius:16px;padding:10px 18px;cursor:pointer;transition:transform .2s,background .2s}button:hover{background:#f9e7de;transform:translateY(-2px)}button:disabled{cursor:default;opacity:.55;transform:none}button:focus-visible,a:focus-visible{outline:3px solid #c3a478;outline-offset:4px}.shell{max-width:1020px;margin:auto;padding:0 30px}header{display:flex;align-items:center;justify-content:space-between;height:94px}.brand{color:var(--ink);text-decoration:none;letter-spacing:3px;font-weight:bold}h1{font-size:clamp(30px,5vw,49px);line-height:1.35;letter-spacing:3px;font-weight:600;margin:16px 0}h2{font-size:25px;letter-spacing:2px}h3{margin:10px 0 3px}p{margin:12px 0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--muted)}.hero{text-align:center;padding:26px 0 20px}.progress{display:flex;justify-content:center;gap:10px;margin:24px 0;flex-wrap:wrap}.progress span{background:#fffaf2;border:1px solid #e8d9c8;border-radius:30px;padding:6px 17px;font-size:12px}.primary{background:#eac8c5;border-color:#d7b1a9;min-width:180px}.panel{background:#fffaf0c9;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:32px;text-align:center;margin:10px 0 25px;position:relative}.gift{width:180px;height:155px;background:linear-gradient(120deg,#e6c6ce,#cbdfe9);border:2px solid #c0a99e;border-radius:17px;margin:50px auto 40px;position:relative;box-shadow:9px 10px 0 #e6d9c966}.gift:before{content:' ';position:absolute;width:28px;height:100%;background:#fff5e6;left:74px}.gift:after{content:'୨୧';font-size:80px;position:absolute;left:33px;top:-65px;color:#caa6a6}.seal{display:inline-flex;align-items:center;justify-content:center;border:2px solid #c6b8a5;border-radius:50% 50% 44% 44%;background:#fffdf6;width:84px;height:53px;color:#8e7b65;box-shadow:0 6px 0 #e9dfd0;font-size:18px;letter-spacing:3px;margin:12px}.npc{font-size:13px;margin-top:20px}.boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin:32px 0}.box{height:196px;padding:0;border-radius:8px 8px 15px 15px;background:linear-gradient(145deg,#efd3dc,#cedfea);box-shadow:7px 7px 0 #d8c9b438;position:relative;overflow:hidden}.box:before{content:'';position:absolute;top:18px;left:0;right:0;height:1px;background:#ffffff99}.box .question{font-size:60px;color:white;font-weight:300}.box small{display:block;font-size:11px;letter-spacing:1px}.box.opened{background:#ede5d8}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card{padding:15px 10px;min-height:206px;background:#fffaf4;border:1px solid #d5bda8;border-radius:18px;box-shadow:3px 5px 0 #e5d9c666;display:flex;flex-direction:column;align-items:center;justify-content:center}.card.back{background:repeating-linear-gradient(45deg,#dce7ea,#dce7ea 10px,#e6eef0 10px,#e6eef0 20px);color:#8c9ea6}.card.back strong{font-size:36px}.card small{font-size:10px;letter-spacing:2px;color:var(--muted)}.card h3{font-size:14px}.card .symbol{font-size:42px;margin:8px}.card.locked{opacity:.6;min-height:180px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pack{display:flex;align-items:center;justify-content:center;flex-direction:column;width:210px;height:265px;background:linear-gradient(130deg,#e7cad4,#d6e7ef);border:2px solid #cab4aa;border-radius:12px;margin:28px auto;touch-action:pan-y;user-select:none;box-shadow:7px 8px 0 #e2d6c5}.pack span{font-size:50px;color:#fff}.pack small{letter-spacing:4px}.illustration{width:170px;height:155px;display:flex;align-items:center;justify-content:center;margin:20px auto;background:#f3e5cc;border:2px dashed #c6ac90;border-radius:45% 47% 42% 40%;position:relative;font-size:45px}.illustration:before,.illustration:after{content:'';position:absolute;width:28px;height:53px;top:-22px;background:#b79274;border:2px solid #987d64;border-radius:80% 20% 50% 30%;transform:rotate(-25deg);left:30px}.illustration:after{left:auto;right:30px;transform:rotate(25deg)}.illustration .face{font-size:27px;background:#bd9876;color:#fff4dc;padding:8px 17px;border-radius:45%;z-index:1}.illustration .prop{position:absolute;bottom:5px;font-size:34px;z-index:2}.placeholder{font-size:10px;color:var(--muted)}.cake{margin:28px auto;background:#d7e5ea;border:2px dashed #a5bbc2;border-radius:50% 48% 35% 35%;width:225px;height:150px;position:relative;font-size:28px;display:flex;align-items:center;justify-content:center}.cake:before{content:'26';position:absolute;top:-35px;font-size:32px;color:#b49571}.cake:after{content:'❀ 🎀 ❀';position:absolute;bottom:8px;font-size:25px;color:#8ba684}.cauldron{font-size:78px;line-height:1.5;margin:20px}.ingredients{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.ingredients span{border-radius:20px;background:#f2e5d6;padding:5px 12px;font-size:12px}.tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs button.active{background:#e1e9e9}.subtle{font-size:12px}footer{text-align:center;padding:25px 0 36px;color:var(--muted);font-size:11px;letter-spacing:1px}footer span{display:block}footer button{margin-top:14px;font-size:11px;padding:5px 12px}dialog{width:min(480px,90vw);border:1px solid var(--line);border-radius:26px;background:var(--cream);padding:36px;text-align:center;color:var(--ink)}dialog::backdrop{background:#66554555;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:12px;border:0;padding:0 10px;font-size:24px}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#77604e;color:#fff8eb;border-radius:16px;padding:10px 18px;display:none;font-size:12px;max-width:90vw}img{max-width:100%;max-height:180px;object-fit:contain}.appear{animation:appear .35s ease-out}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.shell{padding:0 18px}header{height:76px}.hero{padding:12px 0}.panel{padding:22px 16px;border-radius:24px}.boxes{grid-template-columns:repeat(3,1fr);gap:18px 14px}.box{height:167px}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.progress{gap:6px}.progress span{padding:6px 10px;font-size:11px}.card{min-height:190px}h1{letter-spacing:1px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.cake-art{position:relative;max-width:370px;margin:38px auto 24px}.cake-art img{display:block;width:100%;max-height:300px;border-radius:24px;mix-blend-mode:multiply}.candles{display:block;font-size:35px;color:#bd957c;font-weight:bold;line-height:1;text-shadow:2px 2px #fff4d8}.cake-art small{display:block}.secret-grid{max-width:450px;margin:25px auto;grid-template-columns:repeat(2,1fr)}.eevee-grid{grid-template-columns:repeat(3,1fr)}.eevee-grid .illustration{width:115px;height:110px}.eevee-grid .illustration .face{font-size:20px;padding:5px 10px}.eevee-grid .illustration:before,.eevee-grid .illustration:after{height:35px;width:20px;left:15px;top:-12px}.eevee-grid .illustration:after{left:auto;right:15px}@media(max-width:700px){.eevee-grid{grid-template-columns:repeat(2,1fr)}}

/* Interactive pack opening */
.pack-panel{overflow:hidden}.pack-stage{height:330px;display:grid;place-items:center;position:relative;perspective:900px}.pack{--tear:0;width:220px;height:275px;margin:0;position:relative;overflow:hidden;touch-action:none;cursor:grab;isolation:isolate;transform-origin:center;background:linear-gradient(145deg,#efced9 0 48%,#d4e6ee 52% 100%);border:2px solid #c8b0a8;box-shadow:8px 10px 0 #e0d3c4;animation:pack-arrive .5s cubic-bezier(.2,.8,.2,1) both}.pack:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 28% 20%,#fff9 0 3px,transparent 4px),radial-gradient(circle at 72% 70%,#fff8 0 2px,transparent 3px);background-size:38px 44px;z-index:-1}.pack.dragging{cursor:grabbing}.pack-label{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;pointer-events:none}.pack-label span{font-size:54px;color:#fff}.pack-label small{letter-spacing:3px}.pack-rip{position:absolute;left:0;top:0;height:76px;width:calc(var(--tear)*1px);max-width:100%;background:linear-gradient(145deg,#f8e5eb,#e1eef3);border-bottom:2px dashed #bda9a0;z-index:4;filter:drop-shadow(2px 4px 2px #8b695322);clip-path:polygon(0 0,100% 0,96% 78%,88% 70%,82% 88%,74% 72%,66% 91%,58% 70%,50% 88%,42% 72%,34% 92%,26% 70%,18% 88%,10% 72%,0 92%);transform:translateX(calc(var(--tear)*.06px))}.tear-handle{position:absolute;left:clamp(4px,calc(var(--tear)*1px - 24px),calc(100% - 48px));top:11px;width:48px;height:48px;border-radius:50%;background:#fff9;display:grid;place-items:center;z-index:5;box-shadow:0 3px 12px #7b61552b}.tear-handle small{position:absolute;top:52px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:1px}.snapping-back .pack-rip,.snapping-back .tear-handle{transition:width .25s,left .25s,transform .25s}.pack-card-peek{position:absolute;top:50px;width:130px;height:190px}.pack-card-peek i{position:absolute;inset:0;border:2px solid #bed0d5;border-radius:14px;background:repeating-linear-gradient(45deg,#dce7ea,#dce7ea 9px,#edf3f3 9px,#edf3f3 18px);box-shadow:0 4px 8px #80685722}.pack-card-peek i:nth-child(2){transform:rotate(3deg)}.pack-card-peek i:nth-child(3){transform:rotate(-3deg)}.pack.opening{animation:pack-open .72s ease-in forwards}.drag-hint{font-size:12px;margin-top:-12px}@keyframes pack-arrive{from{opacity:0;transform:translate(-90px,-75px) rotate(-12deg) scale(.72)}70%{transform:translate(0,4px) rotate(2deg) scale(1.04)}to{opacity:1;transform:none}}@keyframes pack-open{0%{transform:none}45%{transform:scale(1.04)}100%{transform:translateY(130px) scale(.92);opacity:0}}

/* Fan and free card flipping */
.cards-panel{min-height:560px;overflow:hidden}.card-fan{display:flex;justify-content:center;align-items:flex-end;gap:clamp(5px,1.3vw,14px);width:100%;min-height:300px;padding:52px 6px 28px;perspective:1000px}.memory-card{width:clamp(112px,18vw,168px);aspect-ratio:2/3;padding:0;border:0;background:transparent;border-radius:17px;position:relative;flex:0 1 168px;min-width:0;perspective:1000px;transition:transform .25s ease,opacity .5s ease}.card-fan[data-count="4"]{--count:4}.card-fan[data-count="5"]{--count:5}.memory-card:hover{background:transparent;transform:translateY(-8px) scale(1.025)}.card-inner{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.75,.25,1);border-radius:17px;box-shadow:4px 7px 0 #ddcfbd66}.memory-card.is-revealed .card-inner{transform:rotateY(180deg)}.card-side{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #d5bda8;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:12px 8px}.card-back{background:repeating-linear-gradient(45deg,#dce7ea,#dce7ea 10px,#edf3f3 10px,#edf3f3 20px);color:#8499a0}.card-back:before{content:'';position:absolute;inset:9px;border:1px solid #fff9;border-radius:12px}.card-back strong{font-size:38px}.card-back small{font-size:8px;letter-spacing:1.5px;z-index:1}.card-front{transform:rotateY(180deg);background:#fffaf4}.card-front .symbol{font-size:38px;margin:7px}.card-front h3{font-size:13px;line-height:1.35;margin:4px}.card-front small{font-size:9px;letter-spacing:1px}.card-art{width:100%;height:100%;max-height:none;object-fit:contain;background:#fff}.is-dealing .memory-card{animation:deal-card .85s cubic-bezier(.18,.75,.2,1.15) both;animation-delay:calc(var(--i)*90ms)}@keyframes deal-card{0%{opacity:0;transform:translateY(210px) scale(.55) rotate(0)}65%{opacity:1;transform:translateY(-13px) scale(1.04) rotate(calc((var(--i) - (var(--count) - 1)/2)*3deg))}100%{opacity:1;transform:rotate(calc((var(--i) - (var(--count) - 1)/2)*2deg))}}
.flip-focus{position:fixed!important;left:50%;top:50%;z-index:1000;width:var(--from-w)!important;transform:translate(calc(-50% + var(--from-x)),calc(-50% + var(--from-y)))!important;pointer-events:none;transition:transform .3s ease,width .3s ease!important}.flip-focus:before{content:'';position:fixed;inset:-100vh -100vw;background:#6c584733;opacity:0;transition:opacity .25s;z-index:-2}.flip-focus.is-flipping{width:min(250px,68vw)!important;transform:translate(-50%,-50%) scale(1.03)!important}.flip-focus.is-flipping:before{opacity:1}.flip-focus.is-flipping .card-inner{transform:rotateY(180deg)}
.collection-scene{position:absolute;inset:auto 0 25px;z-index:8;pointer-events:none}.mini-cauldron{font-size:60px;line-height:1}.stirring .seal{animation:seal-stir .45s ease-in-out infinite alternate}.stirring-pot{animation:pot-bob .45s ease-in-out infinite alternate}.collecting .pack-actions,.collecting>.npc,.collecting .pack-count{opacity:0}.to-album{animation:to-album .85s ease-in forwards}.to-cauldron{animation:to-cauldron .9s ease-in forwards}.to-secrets{animation:to-secrets .9s ease-in forwards}@keyframes to-album{to{transform:translate(var(--collect-x),240px) scale(.25);opacity:0}}@keyframes to-cauldron{to{transform:translate(0,300px) rotate(25deg) scale(.18);opacity:0}}@keyframes to-secrets{to{transform:translate(var(--collect-x),260px) scale(.28);filter:sepia(.3);opacity:0}}@keyframes seal-stir{to{transform:rotate(8deg) translateX(4px)}}@keyframes pot-bob{to{transform:translateY(-5px) rotate(-2deg)}}.sealed-mark{font-size:54px;margin:14px}

@media(max-width:700px){.pack-stage{height:315px}.cards-panel{padding-left:8px;padding-right:8px;min-height:515px}.card-fan{gap:5px;min-height:270px;padding-left:0;padding-right:0}.memory-card{width:auto;flex-basis:calc((100vw - 66px)/4);max-width:132px}.card-fan[data-count="5"] .memory-card{flex-basis:calc((100vw - 70px)/5)}.card-front h3{font-size:11px}.card-front .symbol{font-size:30px}.card-front small{font-size:7px}.card-back small{font-size:6px;letter-spacing:.7px}.card-back strong{font-size:30px}.collection-grid .memory-card,.secret-grid .memory-card{width:100%;min-height:190px;aspect-ratio:2/3}.flip-focus.is-flipping{width:min(238px,66vw)!important}}
@media(max-width:390px){.card-fan{gap:3px}.memory-card{flex-basis:calc((100vw - 52px)/4)}.card-fan[data-count="5"] .memory-card{flex-basis:calc((100vw - 56px)/5)}.card-side{padding:8px 4px}.card-front h3{font-size:10px}.card-back small{display:none}}
@media(prefers-reduced-motion:reduce){.pack,.pack.opening,.is-dealing .memory-card,.to-album,.to-cauldron,.to-secrets,.stirring .seal,.stirring-pot{animation-duration:.01ms!important}.card-inner,.flip-focus{transition-duration:.01ms!important}}
