@charset "UTF-8";
:root{--ink:#24232b;--muted:#74727d;--paper:#f7f5ee;--line:#dcdbe0;--lime:#ddfa62;--pink:#ff8dbc;--radius:24px;font-family:Inter,"Arial Rounded MT Bold","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#f3f1ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;overflow-x:hidden}button,select{font:inherit}button{border:0;cursor:pointer;color:inherit;background:none;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible,canvas:focus-visible,[tabindex]:focus-visible{outline:3px solid #915df1;outline-offset:5px}img{display:block;max-width:100%;-webkit-user-drag:none}svg{width:22px;height:22px;flex:none}h1,h2,p{margin:0}h1{font-size:clamp(28px,3.3vw,46px);font-weight:900;letter-spacing:-1.5px}h2{font-size:23px}small{font-size:11px}button,select,a{-webkit-tap-highlight-color:transparent}button{transition:transform .18s,background .18s}button:active:not(:disabled){transform:scale(.97)}.scene{position:relative;min-height:calc(100svh - 85px);padding:26px clamp(20px,5vw,80px) 40px}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:1.8px;line-height:1.5}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:14px 25px;border-radius:15px;font-size:15px;font-weight:800}.primary{background:var(--ink);color:white;box-shadow:0 5px 0 #121115}.primary:hover{background:#494454;transform:translateY(-2px)}.secondary{background:#ffffffb8;border:1px solid #d7d4dc}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffff10}.icon-button:hover{background:#ffffff28}.text-button,.detail-button,.motion-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.text-button{padding:15px}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1180px;margin:0 auto 22px}.scene-heading .eyebrow{color:#6d6579;margin-bottom:8px}.scene-heading p{font-size:13px;color:#736d7f;margin-top:10px}.scene-heading.centered{display:block;text-align:center}.small-note{font-size:12px;color:#81798a}#header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) clamp(20px,4vw,65px) 12px;background:var(--ink);color:#faf9f3;position:relative;z-index:20}.header-left,.header-right{display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:12px;padding:0;text-align:left}.brand strong{font-size:23px;font-weight:900;letter-spacing:-1px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:600;margin-top:2px}.brand-mark{position:relative;width:39px;height:41px;display:grid;place-items:center;border-radius:11px;background:var(--lime);color:var(--ink);transform:rotate(-9deg);font-size:28px;font-weight:900;box-shadow:3px 3px 0 #807f90}.brand-mark i{width:12px;height:4px;background:var(--ink);position:absolute;top:-4px;left:14px;border-radius:4px}.brand-mark b{transform:rotate(9deg)}.profile-chip{display:flex;align-items:center;gap:8px;font-size:11px;border:1px solid #ffffff33;padding:7px 11px;border-radius:30px}.profile-chip svg{width:15px;height:15px}
/* The homepage is a toy display, with physical objects as secondary entrances. */
.home-scene{padding-top:14px;max-width:1600px;margin:auto}.drop-meta{display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:1.4px;margin-bottom:14px}.drop-meta i{display:inline-block;width:6px;height:6px;background:#8b9d4d;border-radius:50%;margin-right:6px}.home-stage{position:relative;height:535px;isolation:isolate;border-radius:32px;background:var(--hero-bg);overflow:hidden;border:1px solid #29252b12}.hero-type{position:absolute;left:4%;top:5%;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(66px,10vw,140px);font-weight:900;line-height:.91;letter-spacing:-3px;color:var(--ink);z-index:-1;transform:rotate(-3deg)}.hero-type span{-webkit-text-stroke:1.5px var(--ink);color:transparent;font-size:.62em;letter-spacing:-1px}.hero-disc{position:absolute;width:400px;height:400px;border-radius:50%;background:var(--hero-color);left:50%;top:42%;transform:translate(-50%,-50%);box-shadow:inset -20px -20px 70px #ffffff65}.hero-orbit{position:absolute;left:50%;top:44%;width:590px;height:240px;border:1px solid #544b7040;border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg);z-index:-1}.hero-ground{position:absolute;left:50%;bottom:76px;transform:translateX(-50%);width:480px;height:50px;border-radius:50%;background:radial-gradient(ellipse,#70524635,transparent 68%);z-index:-1}.home-hero{position:absolute;width:405px;height:480px;object-fit:contain;top:-2%;left:50%;transform:translateX(-50%) rotate(-7deg);filter:drop-shadow(15px 20px 13px #46325328);animation:hero-float 6s ease-in-out infinite;pointer-events:none}.home-sidekick{position:absolute;width:230px;height:280px;object-fit:contain;bottom:68px;right:10%;transform:rotate(14deg);filter:drop-shadow(8px 10px 5px #46325320);pointer-events:none}.hero-caption{position:absolute;left:4%;bottom:34px;max-width:270px}.hero-caption>span{font-size:9px;letter-spacing:1px;font-weight:800}.hero-caption h1{font-size:34px;letter-spacing:-1px;margin:7px 0}.hero-caption p{font-size:12px;color:#645d68}.hero-cross{position:absolute;font-size:67px;color:var(--ink);font-family:Arial,sans-serif}.cross-left{left:26%;top:50%}.cross-right{right:5%;top:13%;font-size:90px;font-weight:200}.drop-sticker{position:absolute;right:9%;top:10%;width:122px;height:122px;border-radius:50%;background:var(--lime);transform:rotate(14deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:3px 5px 0 #24232b1c}.drop-sticker>span{font-size:8px;font-weight:800;letter-spacing:.4px}.drop-sticker b{font-size:29px;font-weight:900;line-height:1.03;margin:7px 0}.drop-sticker small{font-size:7px;font-weight:800}.edition-stamp{position:absolute;right:3%;top:46%;font-family:monospace;font-size:10px;line-height:1.5;transform:rotate(90deg);transform-origin:right top}.enter-store{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);min-width:205px;border-radius:40px;background:var(--ink);min-height:58px;font-size:18px;gap:36px;z-index:5}.enter-store:hover{transform:translateX(-50%) translateY(-3px)}.enter-store:active:not(:disabled){transform:translateX(-50%) scale(.97)}.scene-cabinet{position:absolute;left:3.5%;top:44%;width:112px;transform:rotate(-5deg);text-align:center}.cabinet-door{height:70px;padding:10px 5px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border:4px solid #999aa3;border-radius:9px;background:linear-gradient(120deg,#ffffff80,#adb8c93d);box-shadow:5px 5px 0 #525867,inset 2px 2px 0 white}.cabinet-door i{display:grid;place-items:center;width:24px;height:36px;border-radius:45% 45% 6px 6px;background:#fff2b6;font-size:21px;font-style:normal;box-shadow:inset -3px -3px 0 #22222213}.cabinet-door i:nth-child(2){background:#f9a2c8;height:43px}.cabinet-door i:nth-child(3){background:#ab91de}.scene-cabinet b{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;margin-top:10px}.scene-cabinet svg{width:16px;height:16px}.scene-pass{position:absolute;right:3%;bottom:27px;background:var(--ink);color:#eceddf;width:95px;height:130px;border-radius:12px;padding:13px 11px;transform:rotate(8deg);box-shadow:5px 5px 0 #b0a8c0;text-align:left}.scene-pass:before{content:'';display:block;background:#f3ece1;width:28px;height:5px;border-radius:6px;margin:0 auto 9px}.scene-pass>span{font-size:12px;font-weight:900;line-height:1.1}.scene-pass>svg{display:block;width:33px;height:33px;color:var(--lime);margin:5px 0}.scene-pass small{font-size:9px;display:block}.drop-selector{display:flex;gap:12px;margin:16px auto 0;max-width:1000px}.drop-choice{flex:1;min-width:0;display:flex;align-items:center;text-align:left;position:relative;border:1px solid #d7d3d9;border-radius:17px;background:#fffaf5;padding:12px 18px 12px 73px;height:85px;isolation:isolate}.drop-choice.active{border:2px solid var(--ink);background:var(--drop-color);box-shadow:3px 3px 0 var(--ink)}.drop-choice img{position:absolute;left:2px;bottom:0;width:76px;height:93px;object-fit:contain}.drop-number{position:absolute;right:12px;top:8px;font-size:9px;font-family:monospace;opacity:.6}.drop-name b{display:block;font-size:16px;font-weight:900}.drop-name small{display:block;font-size:10px;margin-top:5px;color:#5b5062}.drop-arrow{margin-left:auto;font-size:24px}.store-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#7a7380;padding:21px 0 0}.install-link{display:flex;align-items:center;gap:6px;font-size:11px}.install-link svg{width:15px;height:15px}
/* Six genuine CSS 3D carton faces. */
.package{--bw:95px;--bh:137px;--bd:67px;width:var(--bw);height:var(--bh);position:relative;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(-20deg);flex:none}.box-body{position:absolute;width:100%;height:100%;transform-style:preserve-3d}.box-face{position:absolute;backface-visibility:hidden;overflow:hidden;background:var(--pack);border:1px solid #ffffff38}.box-front,.box-back{width:var(--bw);height:var(--bh);display:flex;flex-direction:column;align-items:center}.box-front{transform:translateZ(calc(var(--bd)/2));background:radial-gradient(ellipse at 50% 35%,#ffffff8a,transparent 60%),var(--pack);color:var(--pack-dark)}.box-back{transform:rotateY(180deg) translateZ(calc(var(--bd)/2));background:color-mix(in srgb,var(--pack),white 28%);padding:8% 9%}.box-right,.box-left{width:var(--bd);height:var(--bh);left:calc((var(--bw) - var(--bd))/2);display:flex;flex-direction:column;align-items:center;justify-content:space-around;color:#fff8ed;background:var(--pack-dark);text-align:center}.box-right{transform:rotateY(90deg) translateZ(calc(var(--bw)/2))}.box-left{transform:rotateY(-90deg) translateZ(calc(var(--bw)/2))}.box-right>b{writing-mode:vertical-rl;font-size:calc(var(--bw)*.12);letter-spacing:2px}.box-right>span,.box-left>span{font-size:calc(var(--bw)*.085);line-height:1.1;font-weight:900}.box-left>strong{font-size:calc(var(--bw)*.5);color:var(--pack)}.box-top,.box-bottom{width:var(--bw);height:var(--bd);top:calc((var(--bh) - var(--bd))/2);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pack);gap:8%}.box-top{transform:rotateX(90deg) translateZ(calc(var(--bh)/2));background:linear-gradient(90deg,transparent 49%,#00000015 50%,transparent 51%),var(--pack)}.box-bottom{transform:rotateX(-90deg) translateZ(calc(var(--bh)/2));background:#f5ebdc}.box-top b{font-size:calc(var(--bw)*.12)}.box-top span,.box-bottom span{font-size:calc(var(--bw)*.053);font-weight:800}.box-bottom small{font-size:calc(var(--bw)*.05);text-align:center;line-height:1.5}.pack-brand{font-size:calc(var(--bw)*.06);font-weight:900;letter-spacing:.3px;margin-top:8%;z-index:2}.pack-portrait{width:100%;height:72%;position:absolute;top:3%;z-index:1}.pack-portrait img{width:100%;height:100%;object-fit:contain}.pack-orbit{position:absolute;top:21%;width:85%;height:34%;border:1px solid #ffffff95;border-radius:50%;transform:rotate(-25deg)}.box-front>strong{font-size:calc(var(--bw)*.14);margin-top:auto;z-index:2;font-weight:900;letter-spacing:-.5px}.box-front>small{font-size:calc(var(--bw)*.041);font-weight:800;margin:3% 0 7%;letter-spacing:.6px}.pack-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6%;font-size:calc(var(--bw)*.052);background:#ffffff55;font-weight:800}.pack-bottom b{font-size:calc(var(--bw)*.12)}.pack-lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:18% 0 10%}.pack-lineup i{height:calc(var(--bw)*.13);border-radius:50% 50% 25% 25%;border:1px solid #ffffffb0;box-shadow:inset -3px -2px 0 #00000018}.box-back>strong{font-size:calc(var(--bw)*.2)}.box-back>small{text-align:center;font-size:calc(var(--bw)*.055);line-height:1.8;margin-top:7%}.barcode{display:block;background:repeating-linear-gradient(90deg,#302837 0 2px,transparent 2px 3px,#302837 3px 4px,transparent 4px 7px);width:65%;height:calc(var(--bw)*.13)}.package-large{--bw:215px;--bh:310px;--bd:155px}
/* Stock reflows to fit the viewport; no horizontal scroll container. */
.shelf-scene{background:var(--scene-bg);overflow:hidden;padding-bottom:20px}.series-tabs{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1100px;margin:0 auto 20px}.series-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:30px;border:1px solid #5c4b782b;font-size:13px;white-space:nowrap;background:#ffffff5c;font-weight:800}.series-tab.active{background:var(--ink);color:#fff}.series-tab i{width:11px;height:11px;border-radius:50%}.series-tab small{font-size:8px;font-weight:400;opacity:.7}.shelf-display{width:100%;overflow:clip;perspective:1100px;touch-action:pan-y;position:relative;padding:22px 0 8px}.shelf-wall{--stock-width:90px;width:100%;min-width:0;max-width:1450px;margin:auto;position:relative;padding-top:6px}.shelf-layer{height:calc(var(--stock-width)*1.44 + 60px);position:relative;perspective:1200px}.front-stock{display:flex;justify-content:space-between;position:absolute;bottom:24px;left:22px;right:22px;gap:4px;z-index:2}.stock-box{position:relative;width:var(--stock-width);height:calc(var(--stock-width)*1.44);flex:none;padding:0;transform:rotate(var(--tilt));transform-origin:bottom center;animation:stock-breathe 6s ease-in-out infinite;animation-delay:var(--delay);filter:drop-shadow(2px 6px 5px #3926472d)}.stock-box:hover{z-index:10;filter:drop-shadow(0 0 7px #ffffff);transform:translateY(-12px) rotate(0);animation:none}.stock-box:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffffff40 49%,transparent 65%);background-size:400% 100%;animation:stock-gloss 8s ease infinite;pointer-events:none}.back-stock{display:flex;justify-content:space-between;gap:4px;position:absolute;bottom:54px;left:36px;right:10px;transform:scale(.89);transform-origin:left bottom;filter:brightness(.82);opacity:.85}.shelf-plank{position:absolute;bottom:0;left:0;right:0;height:31px;background:linear-gradient(#f5f5f5,#c5c4cc 26%,#efeeee 30%,#96939e 90%,#54515e);box-shadow:0 14px 18px #3f324338;border-radius:3px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#47404f;font-family:monospace;font-size:9px}.shelf-plank i{font-size:14px;font-style:normal}.shelf-footer{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:20px auto 0}.price-tag{display:flex;align-items:center;gap:22px;text-align:left;background:#faf8f3;padding:13px 18px;border-radius:12px;border:1px solid #ccc4d2;box-shadow:2px 3px 0 #aba4b850}.price-tag small{font-size:10px;max-width:140px}.price-tag strong{font-size:24px}.price-tag strong i{font-size:10px;font-weight:400;font-style:normal}.price-tag>span{font-size:10px;display:flex;align-items:center;gap:8px}.price-tag svg{width:15px;height:15px}.gesture-hint{font-size:11px;display:flex;align-items:center;gap:8px;color:#766580}.handling-scene{background:var(--scene-bg);text-align:center;isolation:isolate;overflow:hidden;min-height:calc(100svh - 80px)}.handling-backdrop{position:absolute;inset:0;z-index:-2;filter:blur(12px);opacity:.18;pointer-events:none}.handling-scene:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#ffffffbb 5%,transparent 75%);z-index:-1}.handling-area{position:relative;height:385px;max-width:650px;margin:auto;display:grid;place-items:center;perspective:1100px;touch-action:none;cursor:grab}.handling-area:active{cursor:grabbing}.object-shadow{position:absolute;bottom:3px;width:220px;height:40px;background:radial-gradient(ellipse,#30233940,transparent 70%);pointer-events:none}.object-orbit{position:absolute;width:400px;height:110px;border:1px solid #5d52672c;border-radius:50%;bottom:0;z-index:-1;transform:rotate(-10deg)}.object-orbit span{position:absolute;right:20px;bottom:0;font-size:12px;font-weight:800;color:#796d84}.shake-button{display:inline-flex;align-items:center;gap:9px;margin:18px auto;padding:11px 20px;border:1px solid #5d526738;border-radius:30px;background:#ffffffb0;font-size:13px;font-weight:800}.shake-button.shaking{background:var(--lime)}.handling-actions{display:flex;justify-content:center;gap:13px;margin-top:4px}.handling-actions .primary{min-width:200px}.motion-button{margin-top:25px;color:#7e7187}.motion-button svg{width:16px;height:16px}
/* One-click automatic burst, then the interactive real-time model. */
.burst-scene{height:calc(100svh - 80px);min-height:540px;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:var(--burst-color);perspective:1000px}.burst-box{animation:charge .65s ease-in forwards;z-index:3}.burst-word{position:absolute;left:0;right:0;top:34%;text-align:center;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(75px,17vw,240px);font-weight:900;font-style:italic;letter-spacing:-4px;opacity:.16;transform:rotate(-8deg)}.burst-caption{position:absolute;bottom:12%;font-size:16px;font-weight:900}.burst-rings{position:absolute;width:360px;height:360px;border-radius:50%;border:2px solid #fff9;box-shadow:0 0 0 50px #ffffff20,0 0 0 100px #ffffff10}.burst-flash{position:absolute;inset:0;background:#fff9e4;opacity:0;pointer-events:none;z-index:5}.burst-fragment{position:absolute;left:50%;top:50%;width:45px;height:65px;border:2px solid #fff;background:var(--burst-color);opacity:0;transform:rotate(var(--angle)) translateY(0)}.exploded .burst-box{animation:box-vanish .26s forwards}.exploded .burst-flash{animation:flash .4s ease-out forwards}.exploded .burst-fragment{animation:fragments .55s ease-out var(--delay) forwards}.exploded .burst-rings{animation:ring-burst .6s ease-out forwards}.exploded .burst-word{opacity:1;transition:opacity .2s}.gentle .burst-box{animation:none}.gentle .burst-fragment{display:none}.reveal-scene{padding-top:20px;background:var(--scene-bg);text-align:center;overflow:hidden;isolation:isolate;min-height:calc(100svh - 80px)}.reveal-top{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:auto}.rarity-label{font-size:24px;font-family:Impact,"Arial Black",sans-serif;font-weight:900;letter-spacing:1px}.reveal-halo{position:absolute;width:420px;height:420px;left:50%;top:80px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#ffffffc0,var(--glow) 150%);z-index:-1}.reveal-halo:after{content:'';position:absolute;inset:25px;border:1px solid #ffffffa0;border-radius:50%}.reveal-view{height:440px;width:min(760px,100%);margin:-8px auto 0;touch-action:none;cursor:grab;position:relative}.reveal-view:active{cursor:grabbing}.reveal-view canvas{display:block;max-width:100%;touch-action:none}.inspect-tools{display:flex;justify-content:center;gap:24px;margin:-10px 0 18px;position:relative;z-index:2}.detail-button{font-size:11px;color:#6c6078}.detail-button svg{width:15px;height:15px}.reveal-details h1{font-size:38px;margin:6px 0 8px}.reveal-details p{font-size:13px;color:#6e637a}.reveal-details>small{display:block;font-size:10px;color:#877b8e;margin:13px 0 20px}.reveal-actions{display:flex;justify-content:center;gap:12px}.reveal-actions .primary{min-width:200px}.rare .reveal-halo{box-shadow:0 0 80px var(--glow);animation:aura 4s ease-in-out infinite}.rare-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--glow);box-shadow:0 0 6px var(--glow);animation:float-particle 4s infinite;pointer-events:none;z-index:-1}.rare-banner{position:absolute;left:0;right:0;top:36%;font-size:clamp(27px,5vw,70px);font-weight:900;z-index:8;background:var(--lime);color:var(--ink);padding:20px;transform:rotate(-5deg);animation:rare-banner 2.6s forwards;pointer-events:none}.epic:not(.view-only):before{content:'';position:absolute;inset:0;background:#171522;z-index:4;pointer-events:none;animation:epic-dark 1.5s forwards}.epic:not(.view-only) .reveal-view{animation:toy-epic 1.8s both}.fallback-toy{height:100%;width:100%;object-fit:contain}.render-warning{position:absolute;bottom:0;left:0;right:0;font-size:10px;color:#72617e}
/* Glass cabinet and the player's backstage. */
.collection-scene,.book-scene,.paper-scene,.settings-scene{max-width:1300px;margin:auto}.collection-count strong{font-family:Impact,sans-serif;font-size:42px}.collection-count span{font-size:12px;color:var(--muted)}.cabinet-progress-strip,.series-progress{display:flex;gap:32px;flex-wrap:wrap;margin:25px 0}.series-progress-entry{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700}.series-progress-entry small{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:400}.progress-ring{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--pct),#ddd8e2 0);font-style:normal;flex:none}.progress-ring b{display:grid;place-items:center;background:var(--paper);border-radius:50%;width:34px;height:34px;font-size:14px}.collection-filters{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap}.collection-filters label{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}select{padding:10px 30px 10px 13px;border:1px solid #d9d4df;border-radius:10px;background:#fffaf6;color:var(--ink);font-size:12px;max-width:100%}.glass-cabinet{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:15px 15px 24px;border:10px solid #b6b7bf;border-radius:20px;background:linear-gradient(130deg,#fdfcffaa,#afb8cb40),#dfdfe5;box-shadow:inset 0 0 25px #5f607338,0 9px 0 #828490}.cabinet-slot{height:250px;position:relative;border-bottom:6px solid #e8e9ef;border-top:1px solid #ffffff9c;border-right:1px solid #ffffff65;box-shadow:0 8px 8px -6px #31354855;text-align:center;padding:8px;isolation:isolate}.cabinet-figure{position:relative;height:175px}.cabinet-figure img{height:100%;width:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(3px 6px 3px #47425920)}.figure-pedestal{position:absolute;bottom:6px;left:20%;width:60%;height:12px;background:linear-gradient(#faf7ff,#a5a4b8);border-radius:50%;box-shadow:0 4px 0 #aaa8bb}.slot-label b{display:block;font-size:12px}.slot-label small{display:block;font-size:9px;margin-top:5px;color:#767082}.slot-rarity{position:absolute;top:10px;left:10px;font-size:10px;font-weight:800}.duplicate-count{position:absolute;right:10px;top:10px;border-radius:7px;background:var(--ink);color:var(--lime);font-size:10px;padding:4px 6px}.uncollected .cabinet-figure img{filter:brightness(0) opacity(.12)}.uncollected .slot-label{opacity:.4}.collected:hover{background:#ffffff50}.just-collected{animation:collection-light 2s ease 2}.cabinet-footnote{display:flex;justify-content:center;align-items:center;gap:8px;margin:22px 0;font-size:11px;color:var(--muted)}.cabinet-footnote svg{width:16px;height:16px}.journal,.settings-panel,.receipt{border:1px solid #ddd7e2;background:#fffdf8;border-radius:24px;padding:30px}.journal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:6px 0 30px;border-bottom:1px solid #dfdbe4}.journal-summary strong{font-family:Impact,"Arial Black",sans-serif;font-size:39px;display:block;font-weight:900}.journal-summary small{font-size:16px;color:var(--muted)}.journal-summary span{font-size:12px;color:var(--muted)}.journal h2{margin:30px 0 20px;font-size:20px}.journal h2 small{font-size:10px;color:var(--muted);font-weight:400;margin-left:10px}.rarity-chart{display:flex;gap:30px;height:200px;align-items:flex-end;padding:0 5%}.bar-column{flex:1;height:100%;display:flex;align-items:center;flex-direction:column;font-size:12px;gap:6px}.bar-column>div{width:100%;height:130px;position:relative;background:#eeebf0;border-radius:8px 8px 0 0}.bar-column i{position:absolute;bottom:0;width:100%;border-radius:8px 8px 0 0}.bar-column small{color:var(--muted);font-size:9px}.title-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.title-badge{border:1px dashed #d0c9d6;border-radius:16px;text-align:center;padding:20px 8px;opacity:.45}.title-badge i{display:grid;place-items:center;margin:0 auto 12px;width:42px;height:42px;background:#dcd7df;border-radius:50%}.title-badge b{display:block;font-size:14px}.title-badge small{display:block;font-size:10px;margin-top:6px;line-height:1.5}.title-badge.unlocked{opacity:1;border-style:solid}.title-badge.unlocked i{background:var(--lime)}.title-badge.equipped{background:#e8efc9;border-color:#899b58}.timeline-entry{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #e8e2ed;font-size:12px}.timeline-entry>i{width:7px;height:7px;border-radius:50%}.timeline-entry time{color:var(--muted);font-size:10px}.timeline-entry small{margin-left:auto}.duplicate-list{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.duplicate-list span{padding:10px 14px;background:#f0e9f6;border-radius:12px}.empty-note{padding:20px;font-size:13px;color:var(--muted)}.receipt{max-width:780px;margin:auto}.receipt-header{text-align:center;padding:0 0 25px;border-bottom:2px dashed #d7cfdd}.receipt-header>span{font-family:monospace;font-size:11px}.receipt-header h2{font-size:30px;margin:12px}.receipt-header p{font-size:11px;color:var(--muted)}.odds-head,.odds-row{display:grid;grid-template-columns:2.2fr .7fr 1fr 1fr;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #e8e2ed;font-size:12px}.odds-head{font-size:10px;color:var(--muted);padding-top:20px}.odds-row span:not(:first-child),.odds-head span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.odds-row small{margin-left:9px;font-size:9px}.receipt-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px}.receipt-barcode{text-align:center;font-family:monospace;letter-spacing:4px;font-size:25px;margin-top:20px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 0;border-bottom:1px solid #e8e2ed;font-size:13px}.setting-row:first-child{padding-top:0}.setting-row:last-child{border-bottom:0;padding-bottom:0}.setting-row b{display:block;font-size:14px}.setting-row small{display:block;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.6}.setting-row .secondary{font-size:12px;min-height:40px;padding:10px 15px;white-space:nowrap}.toggle{border-radius:30px;background:#e5dde9;padding:9px 18px;white-space:nowrap;font-size:12px}.toggle.on{background:var(--lime)}.danger-button{color:#aa3d59;background:#fff0f1;padding:10px 16px;border-radius:10px;font-size:12px;white-space:nowrap}.settings-footnote{text-align:center;font-size:10px;color:var(--muted);line-height:2;margin:25px auto}.settings-panel{max-width:850px;margin:auto}#dialog{border:1px solid #d6cedc;border-radius:25px;padding:30px;max-width:480px;width:calc(100% - 35px);color:var(--ink);background:#fffaf3;box-shadow:0 30px 100px #0004}#dialog::backdrop{background:#17141e80;backdrop-filter:blur(5px)}#dialog h2{margin:10px 0 20px;font-size:24px}#dialog p{font-size:13px;line-height:1.8;color:#75687c}#dialog>small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin:15px 0}#dialog>.primary{width:100%;margin-top:15px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;font-size:12px}.install-illustration{display:flex;align-items:center;justify-content:center;gap:25px;margin:25px 0}.install-illustration i{display:grid;place-items:center;width:65px;height:65px;border-radius:16px;background:var(--lime)}.install-illustration svg{width:30px;height:30px}#toast{position:fixed;left:50%;bottom:calc(30px + env(safe-area-inset-bottom));transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:100;background:#24232bf0;color:#fff;padding:14px 22px;border-radius:14px;font-size:12px;max-width:calc(100vw - 40px);width:max-content;line-height:1.6;transition:opacity .25s,transform .25s;box-shadow:0 8px 30px #24232b30}#toast.visible{opacity:1;transform:translate(-50%,0)}#celebration{position:fixed;inset:0;pointer-events:none;z-index:90;width:100%;height:100%}#splash{position:fixed;inset:0;z-index:200;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;transition:opacity .5s,visibility .5s}#splash.finished{opacity:0;visibility:hidden}.splash-box{width:75px;height:85px;border-radius:20px;background:var(--lime);color:var(--ink);font-size:58px;font-weight:900;text-align:center;transform:rotate(-10deg);animation:splash-bob 1s ease-in-out infinite}#splash>b{font-size:25px;font-weight:900}#splash>span{font-size:11px;color:#aaa3b4}.boot-error{padding:50px;text-align:center}.boot-error p{margin:20px 0}.boot-error button{padding:16px;background:var(--lime);border-radius:12px}
@keyframes hero-float{0%,100%{transform:translateX(-50%) rotate(-7deg) translateY(0)}50%{transform:translateX(-50%) rotate(-5deg) translateY(-9px)}}@keyframes stock-breathe{0%,100%{transform:translateY(0) rotate(var(--tilt))}50%{transform:translateY(-3px) rotate(calc(var(--tilt) + .8deg))}}@keyframes stock-gloss{0%,60%{background-position:130% 0}100%{background-position:-40% 0}}@keyframes charge{0%{transform:rotateX(-10deg) rotateY(-23deg) scale(1)}40%{transform:rotateX(-10deg) rotateY(-23deg) rotateZ(-7deg) scale(.94)}55%{transform:rotateX(-10deg) rotateY(-23deg) rotateZ(7deg) scale(1)}70%{transform:rotateX(-10deg) rotateY(-23deg) rotateZ(-10deg) scale(.96)}85%{transform:rotateX(-10deg) rotateY(-23deg) rotateZ(10deg) scale(1.03)}100%{transform:rotateX(-10deg) rotateY(-23deg) scale(1.15)}}@keyframes box-vanish{to{transform:scale(1.5);opacity:0}}@keyframes fragments{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0)}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--travel)*-1)) rotate(140deg)}}@keyframes flash{0%{opacity:1}100%{opacity:0}}@keyframes ring-burst{to{transform:scale(2.5);opacity:0}}@keyframes aura{50%{opacity:.6;box-shadow:0 0 40px var(--glow)}}@keyframes float-particle{0%{transform:translateY(30px);opacity:0}50%{opacity:.8}100%{transform:translateY(-35px);opacity:0}}@keyframes rare-banner{0%,32%{opacity:0;transform:translateX(-110%) rotate(-5deg)}45%,75%{opacity:1;transform:translateX(0) rotate(-5deg)}100%{opacity:0;transform:translateX(110%) rotate(-5deg)}}@keyframes epic-dark{0%,50%{opacity:1}100%{opacity:0}}@keyframes toy-epic{0%,40%{filter:brightness(0);transform:scale(.85)}70%{filter:brightness(1.8);transform:scale(1.05)}100%{filter:none;transform:none}}@keyframes collection-light{0%,100%{background:transparent}50%{background:#ddfa6277;box-shadow:inset 0 0 25px #fff}}@keyframes splash-bob{50%{transform:rotate(10deg) translateY(-5px)}}
@media(min-width:1500px){.home-stage{height:600px}.home-hero{height:550px;width:450px}.home-sidekick{width:280px;height:340px}.hero-disc{width:460px;height:460px}.hero-caption{bottom:40px}.home-stage .enter-store{bottom:37px}}
@media(max-width:850px){.home-stage{height:510px}.hero-type{font-size:95px}.home-hero{width:330px;height:415px;top:25px}.home-sidekick{width:190px;height:240px;right:4%;bottom:86px}.hero-disc{width:320px;height:320px}.drop-sticker{right:4%;width:98px;height:98px}.drop-sticker b{font-size:24px}.scene-cabinet{width:90px;top:43%}.cabinet-door{height:59px}.hero-caption{bottom:24px;max-width:180px}.hero-caption h1{font-size:27px}.hero-caption p{max-width:150px;font-size:10px}.hero-caption>span{font-size:7px}.scene-pass{width:70px;height:107px;bottom:22px}.scene-pass>span{font-size:10px}.scene-pass>svg{height:26px;width:26px}.scene-pass small{font-size:8px}.drop-choice{padding:12px 12px 12px 55px;height:78px}.drop-choice img{width:59px;height:80px}.drop-name b{font-size:13px}.drop-name small{font-size:8px}.drop-arrow{font-size:18px}.glass-cabinet{grid-template-columns:repeat(4,minmax(0,1fr))}.title-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){#header{height:72px;padding:calc(env(safe-area-inset-top) + 10px) 17px 10px}.brand{gap:8px}.brand strong{font-size:20px}.brand small{font-size:6px;letter-spacing:1.5px}.brand-mark{width:32px;height:35px;font-size:24px;border-radius:9px}.header-left,.header-right{gap:7px}.icon-button{height:34px;width:34px}.icon-button svg{width:19px;height:19px}.profile-chip{padding:7px}.profile-chip span{display:none}.profile-chip svg{width:13px;height:13px}.scene{padding:23px 18px 30px;min-height:calc(100svh - 72px)}.home-scene{padding:12px 12px 22px}.drop-meta{font-size:7px;letter-spacing:.8px;margin:0 5px 11px}.home-stage{height:495px;border-radius:24px}.hero-type{font-size:78px;left:6%;top:5%;line-height:.88;letter-spacing:-3px}.hero-type span{font-size:.56em;letter-spacing:-1px}.hero-disc{width:275px;height:275px;top:44%;left:50%}.hero-orbit{width:380px;height:170px;top:46%;transform:translate(-50%,-50%) rotate(-29deg)}.home-hero{width:297px;height:350px;top:71px;left:47%;filter:drop-shadow(12px 18px 9px #46325325)}.home-sidekick{width:150px;height:195px;right:-3%;bottom:84px;transform:rotate(16deg)}.hero-ground{width:290px;bottom:84px}.drop-sticker{top:19%;right:4%;width:81px;height:81px;z-index:2}.drop-sticker b{font-size:20px;margin:4px 0}.drop-sticker>span{font-size:5px}.drop-sticker small{font-size:5px}.cross-left{left:4%;top:34%;font-size:35px}.cross-right{top:1%;right:4%;font-size:55px}.edition-stamp{display:none}.hero-caption{left:6%;bottom:73px;z-index:2}.hero-caption>span{font-size:6px}.hero-caption h1{font-size:24px;margin:5px 0}.hero-caption p{display:none}.scene-cabinet{left:4%;top:49%;width:69px}.cabinet-door{height:45px;border-width:3px;padding:4px;gap:2px;border-radius:6px;box-shadow:3px 3px 0 #525867}.cabinet-door i{width:16px;height:26px;font-size:14px}.cabinet-door i:nth-child(2){height:31px}.scene-cabinet b{font-size:9px;gap:2px;margin-top:7px}.scene-cabinet svg{width:12px;height:12px}.scene-pass{right:5%;bottom:28px;width:63px;height:87px;border-radius:9px;padding:7px 9px;box-shadow:3px 3px 0 #b0a8c0}.scene-pass:before{width:19px;height:3px;margin-bottom:6px}.scene-pass>span{font-size:9px}.scene-pass>svg{height:19px;width:19px;margin:3px 0}.scene-pass small{font-size:7px;white-space:nowrap}.enter-store{min-width:173px;min-height:48px;bottom:21px;font-size:15px;gap:28px;padding:11px 22px;left:43%}.drop-selector{gap:7px;margin:13px 3px 0}.drop-choice{height:93px;padding:43px 4px 7px;justify-content:center;align-items:flex-end;border-radius:12px;text-align:center}.drop-choice img{width:55px;height:62px;left:50%;transform:translateX(-50%);bottom:34px}.drop-number{top:6px;right:7px;font-size:7px}.drop-name b{font-size:10px;letter-spacing:-.3px}.drop-name small{font-size:7px;margin-top:3px}.drop-arrow{display:none}.drop-choice.active{box-shadow:2px 2px 0 var(--ink)}.store-footer{font-size:8px;padding:17px 4px 0;gap:6px}.install-link{font-size:9px;gap:4px}.install-link svg{width:12px;height:12px}.scene-heading{margin-bottom:21px}.scene-heading h1{font-size:28px;letter-spacing:-1px}.scene-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.small-note{display:none}.series-tabs{gap:6px;margin-bottom:10px}.series-tab{flex:1;justify-content:center;padding:11px 9px;font-size:11px;gap:6px}.series-tab small{display:none}.series-tab i{width:8px;height:8px}.shelf-footer{display:block;margin-top:14px}.price-tag{width:100%;justify-content:space-between;gap:10px;padding:12px 13px}.price-tag small{font-size:8px;max-width:115px}.price-tag strong{font-size:21px}.price-tag strong i{display:block;font-size:8px;font-weight:400}.price-tag>span{font-size:9px;gap:4px}.gesture-hint{justify-content:center;margin-top:16px;font-size:10px}.gesture-hint svg{width:15px;height:15px}.handling-scene{padding-top:27px}.handling-scene .scene-heading p{font-size:11px}.handling-area{height:345px;margin-top:0}.package-large{--bw:180px;--bh:260px;--bd:128px}.object-orbit{width:290px;height:80px;bottom:13px}.object-shadow{bottom:15px}.shake-button{margin:10px auto 18px;font-size:12px;padding:10px 17px}.handling-actions{gap:10px}.handling-actions .primary{min-width:178px}.handling-actions .secondary{padding:12px 17px}.primary,.secondary{font-size:13px;min-height:48px}.motion-button{font-size:10px;margin-top:23px}.burst-scene{height:calc(100svh - 72px);min-height:500px}.burst-word{font-size:82px;letter-spacing:-1px}.burst-rings{width:270px;height:270px}.reveal-scene{padding-top:23px;padding-bottom:35px}.reveal-top .eyebrow{font-size:8px;letter-spacing:1px}.rarity-label{font-size:20px}.reveal-view{height:373px;margin-top:4px;width:100%}.reveal-halo{top:74px;width:300px;height:300px}.inspect-tools{margin:-8px 0 23px}.reveal-details h1{font-size:30px}.reveal-details .eyebrow{font-size:8px;letter-spacing:1.4px}.reveal-details p{font-size:11px}.reveal-details>small{font-size:9px;margin:13px 0 21px}.reveal-actions{gap:9px}.reveal-actions .primary{min-width:174px}.reveal-actions .secondary{padding:12px 18px}.reveal-actions svg{width:17px;height:17px}.collection-count strong{font-size:28px}.collection-count span{font-size:9px;display:block}.collection-scene .scene-heading{gap:8px}.collection-scene .scene-heading h1{font-size:25px}.collection-scene .scene-heading>.icon-button{display:none}.cabinet-progress-strip{gap:12px;justify-content:space-between;margin:20px 0}.series-progress-entry{gap:6px;font-size:9px}.series-progress-entry small{font-size:8px;margin-top:4px}.progress-ring{width:31px;height:31px}.progress-ring b{width:24px;height:24px;font-size:10px}.collection-filters{gap:7px;flex-wrap:nowrap}.collection-filters label{display:block;flex:1;min-width:0}.collection-filters label>span{display:none}.collection-filters select{font-size:10px;width:100%;padding:10px 20px 10px 7px}.glass-cabinet{grid-template-columns:repeat(3,minmax(0,1fr));padding:5px;border-width:6px;border-radius:14px}.cabinet-slot{height:183px;padding:4px;border-bottom-width:5px}.cabinet-figure{height:133px}.slot-rarity{font-size:8px;left:5px;top:8px}.duplicate-count{font-size:8px;right:5px;top:6px;padding:3px 4px}.slot-label b{font-size:9px}.slot-label small{font-size:7px;margin-top:4px}.figure-pedestal{bottom:7px;height:8px}.cabinet-footnote{font-size:9px}.journal,.settings-panel,.receipt{padding:19px 16px;border-radius:19px}.journal-summary{grid-template-columns:repeat(2,1fr);gap:22px 16px;padding-bottom:22px}.journal-summary strong{font-size:34px}.journal-summary span{font-size:10px}.journal h2{font-size:17px;margin:26px 0 17px}.journal h2 small{font-size:9px}.rarity-chart{padding:0;gap:14px;height:185px}.bar-column{font-size:10px}.bar-column b{font-size:9px}.bar-column small{font-size:8px}.series-progress{gap:17px}.title-grid{gap:9px}.title-badge{padding:17px 5px}.title-badge b{font-size:12px}.title-badge small{font-size:8px}.timeline-entry{gap:9px;font-size:10px}.timeline-entry time{font-size:9px}.receipt-header h2{font-size:26px}.receipt-header>span{font-size:9px}.odds-head,.odds-row{gap:5px;font-size:10px;grid-template-columns:1.65fr .55fr .85fr .85fr}.odds-head{font-size:8px}.odds-row small{display:block;font-size:8px;margin:4px 0 0}.receipt-note{font-size:10px}.receipt-barcode{font-size:18px;letter-spacing:2px}.setting-row{padding:19px 0}.setting-row b{font-size:13px}.setting-row small{font-size:9px;max-width:195px}.setting-row .secondary,.toggle,.danger-button{font-size:10px;padding:9px 12px}.setting-row select{font-size:11px}.settings-footnote{font-size:9px}#dialog{padding:25px}.header-left .back-button{margin-left:-8px}.scene{padding-bottom:calc(30px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.home-hero{transform:translateX(-50%) rotate(-7deg)}.rare-banner{display:none}.epic:not(.view-only):before{display:none}}
.handling-backdrop *{animation:none!important}
.reveal-scene[data-tier="SR"]:not(.view-only):after{content:'';position:absolute;inset:-30%;pointer-events:none;z-index:3;background:linear-gradient(110deg,transparent 40%,#ffe9a080 49%,transparent 58%);transform:translateX(-90%);animation:gold-sweep 1.5s .15s ease-out both}
.burst-scene.exploded{animation:scene-impact .3s linear}
.epic:not(.view-only){animation:scene-impact .35s 1.3s linear}
.epic:not(.view-only):before{position:fixed;z-index:25}
.rare-banner{z-index:28}
@keyframes gold-sweep{0%{transform:translateX(-90%)}100%{transform:translateX(90%)}}
@keyframes scene-impact{0%,100%{translate:0 0}20%{translate:-5px 3px}40%{translate:5px -2px}60%{translate:-3px 1px}80%{translate:2px -1px}}
@media(prefers-reduced-motion:reduce){.reveal-scene[data-tier="SR"]:after{display:none}}

.shelf-display .package{--bw:var(--stock-width);--bh:calc(var(--stock-width)*1.44);--bd:calc(var(--stock-width)*.68)}

/* Series selection is always above the stage, inside the first viewport. */
body[data-route="home"] .home-scene{display:grid;grid-template-rows:auto auto minmax(260px,1fr) auto;gap:12px;height:calc(100svh - 80px);min-height:570px;padding:14px 32px 12px;max-width:1600px}
.home-scene .drop-meta{margin:0}.home-scene .drop-selector{margin:0;align-self:start;width:100%;max-width:1000px;justify-self:center;gap:12px}.home-scene .drop-choice{height:80px;border-radius:16px}.home-scene .drop-choice.active{outline:3px solid var(--drop-color);outline-offset:3px}.home-scene .home-stage{height:100%;min-height:0}.home-scene .store-footer{padding:0 4px;min-height:24px}.home-scene .home-hero{height:95%;max-height:530px;top:0;width:40%;object-fit:contain}.home-scene .home-sidekick{height:57%;width:25%;max-height:330px;bottom:70px;object-fit:contain}.home-scene .home-hero,.home-scene .home-sidekick,.drop-choice img{mix-blend-mode:multiply}.home-scene .hero-caption{bottom:25px}.home-scene .hero-disc{height:min(80%,440px);aspect-ratio:1;width:auto}.home-scene .hero-type{font-size:clamp(64px,8vw,130px)}.home-scene .enter-store{bottom:20px}.home-scene .scene-pass{bottom:25px}.home-scene .drop-sticker{width:90px;height:90px;top:12%}.home-scene .drop-sticker b{font-size:23px}
.series-intro{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;border-radius:inherit}.series-intro img,.series-intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.series-intro video{opacity:0;transition:opacity .2s}.series-intro video.playing{opacity:1}.intro-active .home-hero,.intro-active .home-sidekick,.intro-active .hero-disc,.intro-active .hero-orbit,.intro-active .hero-ground,.intro-active .hero-type{opacity:0;pointer-events:none}.home-stage .hero-caption,.home-stage .enter-store,.home-stage .scene-cabinet,.home-stage .scene-pass{z-index:5}.home-stage .hero-caption{pointer-events:none}.preload-status{text-align:center;font-size:11px;line-height:1.7;color:var(--muted);min-height:19px;margin:12px 0 0}.handling-actions button:disabled{cursor:wait;opacity:.6}.model-loading{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:var(--muted)}.model-loading button{padding:14px 22px;border-radius:18px;background:var(--lime)}
@media(max-width:850px){body[data-route="home"] .home-scene{padding:12px 16px;gap:12px;min-height:550px}.home-scene .home-hero{width:52%;top:12px;height:87%}.home-scene .home-sidekick{width:29%;height:50%}.home-scene .hero-caption{bottom:80px}.home-scene .drop-choice{height:72px}.home-scene .hero-type{font-size:84px}}
@media(max-width:600px){body[data-route="home"] .home-scene{height:calc(100svh - 72px);min-height:470px;padding:8px 12px calc(9px + env(safe-area-inset-bottom));gap:10px;grid-template-rows:14px 76px minmax(250px,1fr) 26px}.home-scene .drop-selector{gap:8px}.home-scene .drop-choice{height:76px;padding:36px 3px 5px;border-radius:12px}.home-scene .drop-choice img{height:54px;width:54px;bottom:24px}.home-scene .drop-choice small{font-size:7px;margin-top:1px}.home-scene .drop-choice.active{outline-width:2px;outline-offset:1px}.home-scene .home-stage{border-radius:23px}.home-scene .home-hero{top:15px;left:50%;height:calc(100% - 95px);width:76%;max-height:450px}.home-scene .home-sidekick{right:-2%;bottom:74px;height:42%;width:38%}.home-scene .hero-caption{left:6%;bottom:72px}.home-scene .hero-caption h1{font-size:23px}.home-scene .hero-type{font-size:67px;top:5%}.home-scene .hero-disc{top:42%;height:65%;max-height:300px}.home-scene .hero-orbit{width:95%;top:44%}.home-scene .hero-ground{bottom:70px;width:80%}.home-scene .drop-sticker{top:13%;right:4%;height:64px;width:64px}.home-scene .drop-sticker b{font-size:16px}.home-scene .drop-sticker span,.home-scene .drop-sticker small{font-size:4px}.home-scene .scene-cabinet{top:45%;width:61px}.home-scene .scene-pass{bottom:19px;right:4%;width:54px;height:76px;padding:6px}.home-scene .enter-store{left:43%;bottom:15px;min-width:162px;min-height:45px;font-size:14px}.home-scene .store-footer{font-size:7px}.home-scene .drop-meta{font-size:6px}.home-scene .hero-cross.cross-left{font-size:30px}}
@media(prefers-reduced-motion:reduce){.series-intro video{display:none}}

/* Extend only the backdrop into letterboxing; the actual 9:16 / 16:9 film stays intact. */
.series-intro:before{content:'';position:absolute;inset:-24px;background-image:var(--intro-poster);background-size:cover;background-position:center;filter:blur(24px);opacity:.8}
.intro-active .hero-cross,.intro-active .drop-sticker,.intro-active .edition-stamp{opacity:0;pointer-events:none}
/* Game HUD: one aligned rail, and full-bleed media with deliberate edge cropping. */
.series-intro{inset:-2px;border-radius:0}.series-intro img,.series-intro video{object-fit:cover}.series-intro:before{display:none}
.game-rail{position:absolute;z-index:8;right:18px;top:18px;display:flex;flex-direction:column;gap:10px;align-items:center}
.rail-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:58px;height:62px;border-radius:17px;background:#fffdf1eb;border:1.5px solid #292632;box-shadow:0 3px 0 #292632;backdrop-filter:blur(12px);font-size:10px;font-weight:800}
.rail-button svg{width:24px;height:24px}.rail-button:hover{background:var(--lime);transform:translateY(-2px)}.rail-button:nth-child(3){background:#e5fab4}
.home-scene .enter-store{left:50%;min-width:185px}.home-scene .hero-caption{left:5%;max-width:calc(100% - 100px)}
.wallet-chip{display:flex;align-items:center;justify-content:center;gap:7px;min-width:65px;height:34px;padding:0 10px;background:#ffdc64;border:1px solid #ffe99e;border-radius:30px;color:#42351d;font-variant-numeric:tabular-nums;box-shadow:0 3px 0 #b57a21}.wallet-chip i{font-style:normal;font-size:22px}.wallet-chip b{font-size:14px}
.home-scene .home-hero,.home-scene .home-sidekick,.drop-choice img{mix-blend-mode:normal}
.invite-counter{padding:14px;background:#f2f6dd;border-radius:14px;font-size:13px;margin:15px 0}.invite-url{width:100%;padding:12px;border:1px solid #c7c3d0;border-radius:10px;font-size:12px;user-select:text}.daily-hint{white-space:nowrap}
.install-page{min-height:100svh;background:radial-gradient(ellipse at 30% 5%,#e2f59f,transparent 45%),#f6f3ed;padding:calc(36px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom));user-select:auto}
.install-card{max-width:780px;margin:auto}.install-card>img{border-radius:24px;margin-bottom:22px}.install-card>h1{font-size:clamp(40px,7vw,64px);margin:14px 0 20px;line-height:1.1}.install-card>p{line-height:1.8;color:#655e70;font-size:14px}.install-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.install-options section{background:#ffffffb8;border:1.5px solid #2b2733;border-radius:22px;padding:24px;box-shadow:0 4px 0 #2b2733}.platform-label{font-size:10px;letter-spacing:1px;font-weight:800}.install-options h2{font-size:22px;margin:12px 0}.install-options p{font-size:12px;line-height:1.9;color:#746c80}.install-steps{padding:15px 0 0;font-weight:700}.install-steps span{padding:0 10px}.coming-soon{display:inline-block;background:#e8e4ed;padding:12px 17px;border-radius:12px;margin-top:14px;font-size:12px}.install-card a{text-decoration:none}.try-link{display:inline-block;background:#24232b;color:#fff;padding:16px 24px;border-radius:30px;margin:18px 0;font-size:14px;font-weight:800}.install-card>small{display:block;color:#83798d;font-size:11px;line-height:1.8}#invite-status{font-size:12px}.install-options [hidden]{display:none}
@media(max-width:600px){.game-rail{right:12px;top:12px;gap:8px}.rail-button{width:46px;height:49px;border-radius:13px;font-size:9px;gap:2px}.rail-button svg{width:20px;height:20px}.home-scene .enter-store{left:50%;bottom:16px;min-width:168px}.home-scene .hero-caption{bottom:79px}.wallet-chip{min-width:54px;height:30px;padding:0 8px;gap:4px}.wallet-chip i{font-size:18px}.wallet-chip b{font-size:12px}#header .header-right{gap:6px}#header .header-right .icon-button{width:30px;height:32px}#header .profile-chip{display:none}.install-options{grid-template-columns:1fr;gap:18px;margin:24px 0}.install-options section{padding:20px}.install-card>img{width:66px;height:66px}}
@media(max-width:360px){#header{padding-left:14px;padding-right:14px}.brand strong{font-size:19px}.brand-mark{width:30px;height:34px}.brand{gap:8px}.game-rail{right:8px;top:8px;gap:6px}.rail-button{width:42px;height:44px}.home-scene .hero-caption h1{font-size:21px}.home-scene .hero-caption{bottom:71px}}
/* Full-height collectible reveal: the figure carries the page, with a compact control strip. */
.reveal-scene{display:grid;grid-template-rows:32px minmax(260px,1fr) 38px auto 56px;gap:10px;height:calc(100svh - 80px);min-height:650px;padding:18px max(24px,calc((100vw - 1160px)/2)) 24px;background:radial-gradient(ellipse at 50% 35%,#ffffffd9 0,transparent 58%),var(--scene-bg)}
.reveal-top{width:100%;position:relative;z-index:3;max-width:1100px}.reveal-top .eyebrow{border:1px solid var(--ink);background:var(--lime);color:var(--ink);border-radius:6px;transform:rotate(-2deg);padding:7px 12px;font-size:9px;box-shadow:2px 2px 0 var(--ink)}.reveal-top .rarity-label{font-size:20px;border:1px solid currentColor;border-radius:25px;padding:5px 15px;transform:rotate(4deg);background:#ffffffab}
.reveal-lettering{position:absolute;left:5%;top:12%;font-family:Impact,'Arial Black',sans-serif;line-height:.82;font-size:clamp(100px,19vw,260px);font-weight:900;letter-spacing:-7px;transform:rotate(-8deg);color:transparent;-webkit-text-stroke:1px #29232c25;z-index:-1;pointer-events:none}
.reveal-view{height:100%;min-height:0;width:min(900px,100%);margin:0 auto;position:relative}.reveal-view:before{content:'';position:absolute;left:15%;right:15%;bottom:3%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#35234030,transparent 70%);z-index:-1}.reveal-halo{top:12%;width:min(82vw,580px);height:55%;border-radius:40%;background:radial-gradient(ellipse,color-mix(in srgb,var(--glow) 30%,transparent),transparent 70%);transform:translateX(-50%) rotate(-14deg)}.reveal-halo:after{inset:5%;border-radius:50%;transform:rotate(-18deg) scaleY(.75);border:1px solid #fff9}
.reveal-scene .inspect-tools{margin:0;gap:9px;align-items:center}.inspect-tools .detail-button{border:1px solid #29212b30;padding:8px 12px;background:#ffffffa8;border-radius:30px;font-size:10px;backdrop-filter:blur(8px)}.inspect-tools .detail-button.active{background:var(--ink);color:var(--lime)}.inspect-tools .detail-button svg{width:15px;height:15px}.reveal-details{align-self:center}.reveal-details h1{font-size:clamp(25px,3vw,37px);line-height:1.12;margin:5px 0}.reveal-details .eyebrow{font-size:8px;letter-spacing:2px}.reveal-details>small{display:block;font-size:9px;margin:7px 0 0;color:#766979}.reveal-actions{margin:0;align-self:end;gap:12px}.reveal-actions .primary{background:var(--lime);color:var(--ink);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);min-width:210px}.reveal-actions .secondary{border:1.5px solid var(--ink);background:#ffffffb0;box-shadow:0 3px 0 #2825301c}.reveal-actions .primary:hover{background:#e9ff93}
.reveal-scene:not(.view-only) .reveal-view{animation:collectible-land .75s cubic-bezier(.18,.7,.2,1) both}.reveal-scene.epic:not(.view-only) .reveal-view{animation:toy-epic 1.7s ease-out both}
@keyframes collectible-land{0%{opacity:0;transform:translateY(-32px) scale(.75);filter:brightness(2)}65%{opacity:1;transform:translateY(7px) scale(1.04);filter:brightness(1.1)}100%{opacity:1;transform:none;filter:none}}
@media(max-width:600px){.reveal-scene{height:calc(100svh - 72px);min-height:575px;padding:17px 16px calc(21px + env(safe-area-inset-bottom));grid-template-rows:28px minmax(240px,1fr) 36px auto 50px;gap:8px}.reveal-view{height:100%;margin:0;width:100%}.reveal-halo{width:100%;height:60%;top:10%}.reveal-top .eyebrow{font-size:7px;padding:6px 8px;letter-spacing:.6px}.reveal-top .rarity-label{font-size:15px;padding:5px 10px}.reveal-lettering{font-size:28vw;left:3%;top:15%;letter-spacing:-3px}.reveal-details h1{font-size:27px}.reveal-actions .primary{min-width:0;flex:1}.reveal-actions .secondary{flex:1;padding:10px}.reveal-actions{width:100%;gap:12px}.inspect-tools .detail-button{font-size:9px;padding:7px 9px;gap:4px}.reveal-details>small{font-size:8px;margin:5px 0 0}}
/* Cinematic anticipation, a single bright impact, then an immediate warm model. */
.cinematic-burst{background:#24232b;isolation:isolate;color:#fff;min-height:540px}.burst-vignette{position:absolute;inset:0;background:radial-gradient(ellipse,var(--burst-color),#24232b 75%);opacity:.32}.burst-spotlight{position:absolute;top:-10%;left:10%;width:80%;height:105%;background:conic-gradient(from 160deg at 50% 0%,transparent,#fff6 8deg,#fff8 20deg,transparent 40deg);filter:blur(10px);opacity:0;transition:opacity .3s}.charged .burst-spotlight{opacity:1}.cinematic-burst .burst-word{top:16%;line-height:.85;letter-spacing:-5px;font-size:clamp(80px,17vw,220px);opacity:.13;transform:rotate(-8deg);color:var(--burst-color)}.cinematic-burst .burst-box{animation:anticipation 1.05s cubic-bezier(.4,0,.6,1) both}.epic-burst .burst-box{animation-duration:1.45s}.cinematic-burst .burst-rings{width:300px;height:300px;border-color:#fff5;box-shadow:0 0 0 24px #ffffff08,0 0 0 90px #ffffff04;opacity:.5;animation:anticipation-ring 1s ease-in both}.cinematic-burst .burst-caption{bottom:9%;font-size:15px;letter-spacing:2px}.burst-rays{position:absolute;inset:0;opacity:0;pointer-events:none}.burst-rays i{position:absolute;left:50%;top:50%;height:150vmax;width:2px;background:linear-gradient(#fff,transparent 45%);transform-origin:top;transform:rotate(var(--angle));box-shadow:0 0 18px #fff8}.exploded .burst-rays{animation:ray-flash .55s ease-out forwards}.cinematic-burst.exploded .burst-box{animation:impact-box .25s ease-in forwards}.cinematic-burst.exploded .burst-rings{animation:ring-burst .6s ease-out forwards;opacity:1}.cinematic-burst .burst-fragment{width:14px;height:24px;background:var(--bit-color);border:0;border-radius:3px}.cinematic-burst.exploded{animation:scene-impact .3s linear}.cinematic-burst.exploded .burst-word{opacity:.85}.cinematic-burst .burst-flash{background:#fffcde}
@keyframes anticipation{0%{transform:rotateX(-10deg) rotateY(-23deg) scale(.75);filter:brightness(.7)}45%{transform:rotateX(-14deg) rotateY(-5deg) scale(.95)}72%{transform:rotateX(-10deg) rotateY(-27deg) rotateZ(-5deg) scale(1)}87%{transform:rotateX(-10deg) rotateY(-23deg) rotateZ(6deg) scale(.96)}100%{transform:rotateX(-10deg) rotateY(-23deg) scale(1.17);filter:brightness(1.5)}}
@keyframes anticipation-ring{from{transform:scale(1.5);opacity:0}to{transform:scale(.85);opacity:.5}}@keyframes impact-box{to{transform:rotateX(-10deg) rotateY(25deg) scale(1.9);opacity:0;filter:brightness(4)}}@keyframes ray-flash{0%{opacity:1;transform:rotate(-12deg) scale(.6)}100%{opacity:0;transform:rotate(5deg) scale(1.4)}}
@media(prefers-reduced-motion:reduce){.cinematic-burst .burst-rays,.cinematic-burst .burst-fragment,.burst-spotlight{display:none}.cinematic-burst .burst-box{animation:none;transform:rotateY(-23deg)}.reveal-scene:not(.view-only) .reveal-view{animation:none}}

/* Series cards: quiet character portraits behind readable type, scalable to many drops. */
.home-scene .drop-selector{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px;gap:10px;max-width:100%;margin:-4px 0;align-items:center}
.drop-selector::-webkit-scrollbar{display:none}
.home-scene .drop-choice{flex:1 0 calc((100% - 20px)/3);min-width:170px;max-width:none;height:72px;padding:14px 20px;text-align:left;justify-content:flex-start;align-items:center;overflow:hidden;isolation:isolate;scroll-snap-align:center;border-radius:15px}
.home-scene .drop-choice img.drop-portrait{position:absolute;z-index:-1;width:190px;height:230px;object-fit:contain;left:auto;right:-18px;top:-18px;bottom:auto;transform:rotate(-9deg);opacity:.2;pointer-events:none;filter:saturate(.65);mix-blend-mode:multiply}
.home-scene .drop-choice:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffaf580,transparent 75%);pointer-events:none}
.home-scene .drop-choice.active:after{background:linear-gradient(90deg,var(--drop-color),transparent 95%)}
.home-scene .drop-name{position:relative;z-index:1;max-width:85%}.home-scene .drop-name b{font-size:18px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-scene .drop-name small{font-size:10px;margin-top:7px;color:#514855}.home-scene .drop-number{z-index:2;font-size:10px}.home-scene .drop-arrow{display:none}
.series-tabs{overflow-x:auto;max-width:100%;scrollbar-width:thin}.series-tab{flex-shrink:0;white-space:nowrap}.cabinet-progress-strip{overflow-x:auto;justify-content:flex-start}.series-progress-entry{flex-shrink:0}
.brand strong{white-space:nowrap;font-size:22px;letter-spacing:-.6px}.brand small{letter-spacing:1.3px}
@media(max-width:600px){.home-scene .drop-choice{flex:1 0 calc((100% - 10px)/2);min-width:135px;height:68px;padding:12px 14px}.home-scene .drop-choice img.drop-portrait{width:165px;height:205px;top:-20px;right:-30px}.home-scene .drop-name b{font-size:16px}.home-scene .drop-name small{font-size:9px}.brand strong{font-size:19px}.brand small{font-size:5px}.series-tab{flex:0 0 auto}.cabinet-progress-strip{justify-content:flex-start}}
@media(max-width:360px){.brand-mark{width:26px;height:29px;font-size:20px}.brand{gap:5px}.brand strong{font-size:16px}.header-left,.header-right{gap:4px}#header{padding-left:12px;padding-right:12px}.icon-button{width:29px;height:31px}.wallet-chip{padding:6px 8px}.home-scene .drop-choice{min-width:125px;padding-left:12px}.home-scene .drop-name b{font-size:14px}}
.music-credits{margin:25px auto;max-width:760px;font-size:11px;color:#776d7d;line-height:1.8}.music-credits summary{cursor:pointer}.music-credits a{text-decoration:underline;text-underline-offset:3px}
.home-scene .drop-choice img.drop-portrait{top:-55px}
/* The shop is interactive while assets download; there is no full-screen resource gate. */
.startup-scene{max-width:1600px;margin:auto}.startup-stage{margin-top:20px;min-height:65svh;border:1px solid #24232b22;border-radius:28px;background:#e5efb4;padding:clamp(28px,7vw,100px);position:relative;overflow:hidden}.startup-stage h1{font-size:clamp(38px,7vw,85px);line-height:1.15;position:relative}.startup-star{position:absolute;right:-25px;top:0;font-size:380px;line-height:1;color:#24232b0b}.startup-status{max-width:340px;position:relative;font-size:12px;line-height:2}.startup-status progress{display:block;width:100%;height:5px;accent-color:#24232b}.startup-status button{margin-top:16px;border:1px solid #24232b;border-radius:12px;padding:8px 18px}.startup-status button[hidden]{display:none}
.asset-progress{border:1px solid #24232b15;background:#fffdf2e8;color:#302b36;border-radius:12px;padding:11px 13px;max-width:480px;margin:10px auto;line-height:1.3}.asset-progress>div{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:11px;font-weight:700}.asset-progress b{font-family:monospace;font-weight:600;white-space:nowrap}.asset-progress progress{display:block;width:100%;height:5px;margin:7px 0 5px;appearance:none;border:none;border-radius:10px;overflow:hidden;background:#e0ddd5;accent-color:#626f2e}.asset-progress progress::-webkit-progress-bar{background:#e0ddd5}.asset-progress progress::-webkit-progress-value{background:#899d40;border-radius:10px}.asset-progress small{display:block;font-size:9px;color:#756f78}.asset-progress button{font-size:10px;text-decoration:underline;white-space:nowrap}.asset-progress button[hidden]{display:none}.asset-progress.is-ready{opacity:.8}.home-stage>.asset-progress{position:absolute;left:15px;top:15px;width:min(250px,calc(100% - 98px));margin:0;z-index:6;pointer-events:auto;backdrop-filter:blur(9px)}.shelf-scene>.asset-progress{margin:0 0 14px;max-width:none}.handling-scene>.asset-progress{width:min(360px,100%);margin:14px auto 0}.home-stage>.asset-progress.is-ready{display:none}
@media(max-width:600px){.home-stage>.asset-progress{left:11px;top:11px;padding:9px 10px}.asset-progress>div{font-size:10px}.asset-progress small{font-size:8px}.asset-progress progress{margin:6px 0 4px}.handling-scene>.asset-progress{margin-top:10px}}
/* Keep every carton ancestor unfiltered and opaque: grouping filters flatten CSS 3D. */
.carton-burst{perspective:1100px;background:#17171f}.carton-burst .burst-vignette{opacity:.6;background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--burst-color),#17171f 68%),#17171f 72%)}
.carton-burst .burst-spotlight{z-index:0;opacity:.3;left:16%;width:68%;filter:blur(20px)}.carton-burst.charged .burst-spotlight{opacity:.7}
.carton-burst .burst-word{top:7%;font-size:clamp(80px,15vw,180px);line-height:.84;opacity:.11;letter-spacing:-6px}.carton-burst .burst-box{--bw:210px;--bh:285px;--bd:175px;filter:none!important;opacity:1!important;transform-style:preserve-3d;animation:carton-arrive .7s cubic-bezier(.16,1,.3,1) both}
.carton-burst .box-body{transform-style:preserve-3d}.carton-burst .box-face{border:1px solid #fff6;box-shadow:inset 0 0 0 2px #0000000d}.carton-burst .box-right{background:linear-gradient(100deg,#0003,transparent),var(--pack-dark)}.carton-burst .box-top{background:linear-gradient(90deg,#fff3 49%,#0003 50%,#fff3 51%),var(--pack)}
.carton-seal{position:absolute;inset:38% 36%;background:#25232d;color:var(--pack);font-style:normal;font-weight:900;font-size:23px;display:grid;place-items:center;transform:rotate(-12deg);border:1px solid #fff8}
.carton-burst.charged .burst-box{animation:carton-charge 1s ease-in both}.carton-burst.epic-burst.charged .burst-box{animation-duration:1.35s}
.burst-floor{position:absolute;width:240px;height:45px;top:calc(50% + 180px);border-radius:50%;background:#0008;filter:blur(13px)}
.burst-core{position:absolute;left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%) scale(.1);border-radius:50%;background:#fffdd6;box-shadow:0 0 60px 24px var(--burst-color),0 0 120px 60px #fff8;opacity:0;z-index:2}
.carton-burst .burst-rings{width:320px;height:320px;border:1px solid #fff3;box-shadow:0 0 0 50px #ffffff04,0 0 0 120px #ffffff03;animation:none;transform:rotateX(65deg);top:calc(50% + 60px)}
.carton-burst .burst-caption{bottom:8%;z-index:7;font-size:12px;letter-spacing:2px}.burst-retry{position:absolute;bottom:14%;z-index:8}.burst-retry[hidden]{display:none}
.carton-burst.exploded .burst-box{animation:none;transform:rotateX(-16deg) rotateY(-34deg) rotateZ(-5deg) scale(1.06);opacity:1;filter:none}
.carton-burst.exploded .box-face{transition:transform .65s cubic-bezier(.12,.75,.22,1),opacity .65s ease-in;opacity:0}
.carton-burst.exploded .box-front{transform:translate3d(-30px,210px,350px) rotateX(-75deg) rotateZ(-24deg)}
.carton-burst.exploded .box-back{transform:translate3d(20px,-60px,-340px) rotateY(205deg)}
.carton-burst.exploded .box-right{transform:translate3d(360px,90px,0) rotateY(135deg) rotateZ(30deg)}
.carton-burst.exploded .box-left{transform:translate3d(-340px,-30px,0) rotateY(-140deg) rotateZ(-25deg)}
.carton-burst.exploded .box-top{transform:translate3d(25px,-410px,90px) rotateX(170deg) rotateZ(35deg)}
.carton-burst.exploded .box-bottom{transform:translate3d(-10px,380px,0) rotateX(-120deg)}
.carton-burst.exploded .burst-core{animation:carton-core .65s ease-out both}.carton-burst.exploded .burst-rings{top:calc(50% - 160px);animation:carton-shock .7s ease-out both;border:8px solid #fff9;box-shadow:0 0 0 20px #ffffff15,0 0 0 55px #ffffff0a}
.carton-burst.exploded .burst-rays{animation:ray-flash .65s ease-out both;z-index:1}.carton-burst .burst-rays i{width:5px;background:linear-gradient(#fff9,transparent 35%)}.carton-burst.exploded .burst-flash{animation:flash .22s ease-out both;background:#fffbe7}
.carton-burst.exploded .burst-fragment{animation-duration:.75s;z-index:4}.carton-burst .impact-type{position:absolute;inset:0;display:grid;align-content:center;text-align:center;font:italic 900 clamp(84px,18vw,190px)/.78 Impact,'Arial Black',sans-serif;letter-spacing:-5px;color:#fffce6;text-shadow:5px 5px 0 #17171f;opacity:0;z-index:6;pointer-events:none}.carton-burst.exploded .impact-type{animation:impact-letter .6s .07s both}.carton-burst.exploded .burst-word{opacity:0}
@keyframes carton-arrive{from{transform:translateY(100px) rotateX(-24deg) rotateY(-85deg) rotateZ(12deg) scale(.5)}to{transform:rotateX(-16deg) rotateY(-34deg) rotateZ(-5deg) scale(1)}}
@keyframes carton-charge{0%{transform:rotateX(-16deg) rotateY(-34deg) rotateZ(-5deg) scale(1)}35%{transform:translateY(-15px) rotateX(-23deg) rotateY(-54deg) rotateZ(5deg) scale(.94)}70%{transform:rotateX(-16deg) rotateY(-26deg) rotateZ(-7deg) scale(.97)}84%{transform:rotateX(-16deg) rotateY(-39deg) rotateZ(5deg) scale(.95)}100%{transform:rotateX(-16deg) rotateY(-34deg) rotateZ(-5deg) scale(1.06)}}
@keyframes carton-core{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}40%{opacity:1;transform:translate(-50%,-50%) scale(2)}100%{opacity:0;transform:translate(-50%,-50%) scale(4)}}
@keyframes carton-shock{from{transform:scale(.3);opacity:1}to{transform:scale(3);opacity:0}}
@keyframes impact-letter{0%{opacity:0;transform:scale(1.9) rotate(-12deg)}28%{opacity:1;transform:scale(1) rotate(-7deg)}70%{opacity:1;transform:scale(1.04) rotate(-7deg)}100%{opacity:0;transform:scale(1.12) rotate(-7deg)}}
@media(max-width:600px){.carton-burst .burst-box{--bw:170px;--bh:242px;--bd:145px}.carton-burst .burst-word{top:9%;font-size:90px}.carton-burst .burst-floor{top:calc(50% + 155px)}}
@media(prefers-reduced-motion:reduce){.carton-burst .burst-box,.carton-burst.charged .burst-box{animation:none;transform:rotateX(-16deg) rotateY(-34deg)}.carton-burst.exploded{animation:none}.carton-burst.exploded .box-face{transition:opacity .3s;transform:revert-layer}.carton-burst.exploded .burst-core,.carton-burst.exploded .burst-flash,.carton-burst.exploded .burst-rings,.carton-burst .impact-type{display:none}}
/* Leave a dedicated label zone on every series carton. */
.pack-portrait{top:12%;left:3%;width:94%;height:55%}
.intro-active.intro-light-caption .hero-caption{color:#fffdf2;text-shadow:0 2px 8px #0009}
/* Put art and the title in separate flex rows; long series names cannot overlap art. */
.box-front>.pack-brand,.box-front>strong,.box-front>small,.box-front>.pack-bottom{flex-shrink:0}
.box-front>.pack-portrait{position:relative;inset:auto;flex:1;min-height:0;height:auto;width:94%;margin:2% auto 0}
.box-front>strong{margin-top:0}
/* Pocket-game loading sticker. No sizes or file counts in the interface. */
.asset-progress{border:2px solid var(--ink);border-radius:14px;background:#fffdf3;box-shadow:3px 4px 0 var(--ink);padding:11px 13px;color:var(--ink)}
.asset-progress[hidden]{display:none!important}.asset-progress>div{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:11px;letter-spacing:1.5px;font-weight:900}.asset-progress>div>b{margin-left:auto;font:900 17px/1 ui-monospace,monospace;letter-spacing:-.6px}.asset-progress progress{display:block;width:100%;height:12px;appearance:none;border:2px solid var(--ink);border-radius:4px;overflow:hidden;background:#e8e5df}.asset-progress progress::-webkit-progress-bar{background:#e8e5df}.asset-progress progress::-webkit-progress-value{background:repeating-linear-gradient(115deg,var(--lime) 0 12px,#c5e741 12px 16px);border-right:2px solid var(--ink);transition:width .18s ease}.asset-progress progress::-moz-progress-bar{background:var(--lime)}.asset-progress button{font-size:10px;background:var(--lime);border:1px solid var(--ink);border-radius:5px;padding:3px 6px;letter-spacing:0}
.home-stage .asset-progress{max-width:340px}.home-stage .asset-progress>div{font-size:10px}
.edition-plate{position:relative;display:grid;justify-items:center;gap:4px;margin:7px auto 11px;width:fit-content;max-width:100%;padding:7px 16px;border:1px dashed #24232b55;border-radius:9px;background:#fff7}.edition-caption{font-size:7px;letter-spacing:1.3px;color:var(--muted);font-weight:800}.edition-plate code{font:600 clamp(9px,2.4vw,12px)/1.5 ui-monospace,monospace;letter-spacing:.5px;overflow-wrap:anywhere;user-select:text}.edition-plate select{padding:3px 20px 3px 9px;font-size:10px;max-width:100%;border:1px solid #24232b33;background:#fff8;border-radius:6px;color:var(--ink)}
/* Light cones remain behind the real 3D model, not over its face or controls. */
.reveal-spotlights{position:absolute;pointer-events:none;inset:30px 0 125px;overflow:hidden;z-index:1;contain:paint}.reveal-view{z-index:2;position:relative}.reveal-spotlights i{position:absolute;top:-12%;left:10%;width:45%;height:88%;transform-origin:50% 0;clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);background:linear-gradient(180deg,#fffdf1 0%,#fff6c86e 45%,#ffedaa00 100%);opacity:.7;transform:rotate(-18deg);animation:spotlight-left 7s ease-in-out infinite alternate}.reveal-spotlights i:nth-child(2){left:47%;background:linear-gradient(180deg,#fff 0%,#b9d9ff88 42%,#c7e0ff00 100%);animation:spotlight-right 8s -2s ease-in-out infinite alternate}.reveal-spotlights i:nth-child(3){left:27%;width:36%;background:linear-gradient(180deg,#fff 0%,#ffd8f266 40%,#ffd8f200 100%);opacity:.45;animation:spotlight-center 9s -4s ease-in-out infinite alternate}.reveal-spotlights b{position:absolute;left:16%;right:16%;bottom:6%;height:15%;border-radius:50%;background:radial-gradient(ellipse,#fff8c6aa,transparent 65%);transform:rotate(-6deg)}
@keyframes spotlight-left{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@keyframes spotlight-right{from{transform:rotate(21deg)}to{transform:rotate(-14deg)}}@keyframes spotlight-center{from{transform:rotate(-9deg)}to{transform:rotate(11deg)}}
@media(prefers-reduced-motion:reduce){.reveal-spotlights i{animation:none!important;opacity:.25}.reveal-spotlights i:nth-child(2){transform:rotate(20deg)}.reveal-spotlights i:nth-child(3){display:none}.asset-progress progress::-webkit-progress-value{transition:none}}
.reveal-view>.reveal-spotlights{inset:-35px -20px 0;z-index:0}.reveal-view>canvas{position:relative;z-index:1}.reveal-spotlights i{left:-12%;width:65%;height:112%}.reveal-spotlights i:nth-child(2){left:46%;width:65%}.reveal-spotlights i:nth-child(3){left:27%;width:36%}.reveal-top,.reveal-details,.reveal-actions,.inspect-tools{position:relative;z-index:3}

/* Let the picked carton fill the stage between the heading and thumb controls. */
.handling-scene{display:flex;flex-direction:column;align-items:center;--picked-width:250px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.handling-scene>.scene-heading{flex:none;margin-bottom:0}
.handling-area{flex:1;width:100%;height:auto;min-height:calc(var(--picked-width)*1.78);margin:0 auto}
.handling-area .package-large{--bw:var(--picked-width);--bh:calc(var(--picked-width)*1.44);--bd:calc(var(--picked-width)*.71)}
.handling-area .object-orbit{width:min(95%,440px);bottom:calc(50% - var(--picked-width)*.85)}
.handling-area .object-shadow{width:calc(var(--picked-width)*1.2);bottom:calc(50% - var(--picked-width)*.85)}
.handling-scene>.shake-button{flex:none;margin:0 auto 17px}
.handling-scene>.handling-actions{flex:none;width:100%;max-width:390px}
.handling-scene>.motion-button{flex:none;margin-top:17px}
.edition-plate{gap:3px;padding:9px 25px 10px;border:1px solid #24232b33;border-radius:12px;background:linear-gradient(120deg,#fffdf1,#fff8);box-shadow:3px 3px 0 #24232b12}
.edition-caption{font-size:8px;letter-spacing:1.4px}
.edition-plate code{font:900 clamp(26px,7vw,34px)/1.15 'Arial Black',Inter,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
@media(max-width:600px){
 .handling-scene{--picked-width:clamp(180px,min(57vw,28svh),255px);min-height:calc(100svh - 72px);padding-top:20px}
 .handling-scene .scene-heading h1{font-size:26px}
 .handling-scene .scene-heading p{margin-top:6px}
 .handling-scene>.handling-actions{max-width:360px}
 .handling-actions .primary{flex:1;min-width:0}
 .handling-actions .secondary{min-width:105px}
 .handling-area .object-orbit{height:80px}
}
@media(max-width:600px) and (max-height:700px){
 .handling-scene{--picked-width:clamp(160px,46vw,195px);padding-top:13px;padding-bottom:calc(15px + env(safe-area-inset-bottom))}
 .handling-scene .scene-heading h1{font-size:23px}
 .handling-scene .scene-heading p{font-size:10px}
 .handling-scene>.shake-button{margin-bottom:12px;padding:8px 15px}
 .handling-scene>.motion-button{margin-top:10px}
 .handling-scene>.preload-status{margin-top:10px;font-size:10px}
}
