/* Poster tickets use the supplied paper/grid/ribbon language; item bundles keep their layout. */
.shop-enchanted-art{position:relative;display:block;flex:none;width:82%;height:82%;isolation:isolate}
.shop-enchanted-art>img{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 8px var(--enchant-shadow))!important}
.shop-enchanted-art>.enchant-glint{animation:enchanted-sweep 4s linear infinite}
#shop-content #products .single-item-product .shop-enchanted-art{width:100%;height:100%;transform:rotate(-8deg);transition:transform .25s}
#shop-content #products .single-item-product .shop-enchanted-art>.reward-image{transform:none!important}
#product-contents.single-item-detail .shop-enchanted-art{width:150px;height:150px}
#product-contents .contents-item .shop-enchanted-art{width:48px;height:48px;margin:6px 0}
#product-contents .contents-item .shop-enchanted-art>img{margin:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#shop-content #products .single-item-product .product-art:hover .shop-enchanted-art{transform:rotate(0deg) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.shop-enchanted-art>.enchant-glint{animation:none}.shop-enchanted-art{transition:none!important;transform:none!important}}
#shop-content #products .product-art{position:relative}
#shop-content #products .product-settings{display:none;position:absolute;top:12px;right:12px;z-index:5;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #b68b9b;border-radius:9px;background:#fffaf7;color:#843251;font-size:22px;cursor:pointer;box-shadow:0 2px 4px #32212b22}
body[data-shop-manager="true"] #shop-content #products .product-settings{display:flex}
#shop-content #products .product-settings:focus-visible{outline:3px solid #b23c70;outline-offset:3px}
.product-limit-note{font-size:12px;color:#80425b;margin:8px 0 12px;font-weight:650}
#admin-purchase-limit-field{margin-top:12px}#admin-purchase-limit-field[hidden],#admin-purchase-limit-block[hidden]{display:none!important}
#account-dialog.shop-direct .account-identity,#account-dialog.shop-direct .account-tabs,#account-dialog.shop-direct .account-footer,#account-dialog.shop-direct #admin-back{display:none!important}
#product-contents.single-item-detail{position:fixed;box-sizing:border-box;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px 26px 24px;text-align:center;border:1px solid #decfc9;border-radius:18px;background:#fffaf7;color:#29474d}
#product-contents.single-item-detail .gacha-close{position:absolute;right:12px;top:12px}
#product-contents.single-item-detail .gacha-kicker{margin:0 32px 20px;font-size:11px;letter-spacing:.14em;color:#a4375b}
#product-contents.single-item-detail .single-detail-art{display:flex;justify-content:center;margin:20px auto 24px}
#product-contents.single-item-detail .single-detail-art img{width:150px;height:150px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 8px #9b65bd44)}
#product-contents.single-item-detail h2{font-size:23px;line-height:1.4;margin:0 0 22px;overflow-wrap:anywhere}
#product-contents.single-item-detail .single-detail-lore{border-top:1px solid #e1d5ce;padding-top:16px;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
#product-contents.single-item-detail .single-detail-lore p{margin:4px 0;white-space:pre-wrap}
#product-contents.single-item-detail .gacha-demo-note{margin:24px 0 0;font-size:12px;line-height:1.6;color:#687e83}
#shop-content #products .single-item-product .product-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:440px){#product-contents.single-item-detail{padding:25px 18px 22px}#product-contents.single-item-detail h2{font-size:21px}}
#shop-content #products{align-items:start}
.spin-poster{--ticket-paper:#fdfbf1;--ticket-ink:#242621;--ticket-accent:#ef4b2c;--ticket-shadow:#282824;position:relative;isolation:isolate;container-type:inline-size;width:100%;height:244px;min-height:244px;display:block;overflow:hidden;background:var(--ticket-paper);color:var(--ticket-ink);text-align:left;font-family:ui-monospace,monospace}
.spin-poster.premium{--ticket-paper:#181821;--ticket-ink:#d9f87e;--ticket-accent:#ef448e;--ticket-shadow:#a93868}
.poster-edition{position:absolute;top:16px;left:18px;font-size:9px;letter-spacing:.1em;font-weight:800;z-index:2}
.poster-grain{position:absolute;inset:0;background-image:radial-gradient(var(--ticket-ink) .65px,transparent .65px),linear-gradient(to right,var(--ticket-ink) 1px,transparent 1px),linear-gradient(to bottom,var(--ticket-ink) 1px,transparent 1px);background-size:5px 5px,20% 20%,20% 20%;opacity:.08;pointer-events:none}
.poster-geometry{position:absolute;top:30px;right:-18px;width:115px;height:115px;background:repeating-linear-gradient(-45deg,var(--ticket-ink) 0 2px,transparent 2px 9px);opacity:.19;transform:rotate(12deg)}
.premium .poster-geometry{border-radius:50%;background:radial-gradient(circle,var(--ticket-accent),transparent 72%);opacity:.8;transform:none;animation:ticket-orb-pulse 4s ease-in-out infinite alternate}
.poster-type{position:absolute;left:18px;right:10px;top:42px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.spin-poster .poster-turns{font-family:Impact,'Arial Black',sans-serif;font-size:min(74px,calc((100cqw - 32px) / var(--turn-chars,2) * 1.5));font-weight:900;line-height:.95;letter-spacing:-.03em;color:var(--ticket-ink)!important;text-shadow:none;max-width:100%;overflow-wrap:anywhere}
.poster-unit{font-size:11px;font-weight:900;letter-spacing:.16em;line-height:1.5}
.poster-kind{font:900 clamp(25px,2.4vw,36px)/1.15 'Arial Black',sans-serif;letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1px var(--ticket-ink)}
.poster-ribbon{position:absolute;left:-12%;width:124%;top:174px;z-index:3;padding:7px 0;transform:rotate(-8deg);background:var(--ticket-accent);color:#fffaf3;overflow:hidden;box-shadow:0 4px 9px #0002;pointer-events:none}
.poster-scroll{display:flex;width:max-content;animation:ticket-tape-scroll 18s linear infinite}.poster-scroll>span{display:block;flex:none;padding-right:12px;font:900 10px/1.2 ui-monospace,monospace;letter-spacing:.09em;white-space:nowrap}
.poster-foot{position:absolute;left:18px;right:18px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--ticket-ink);padding-top:8px;font-size:8px;line-height:1.3;font-weight:800;letter-spacing:.03em}
.poster-barcode{flex:none;width:44px;height:15px;background:repeating-linear-gradient(90deg,var(--ticket-ink) 0 2px,transparent 2px 4px,var(--ticket-ink) 4px 5px,transparent 5px 8px,var(--ticket-ink) 8px 11px,transparent 11px 14px)}
#shop-content #products .spin-poster-product{--ticket-paper:#fdfbf1;--ticket-ink:#242621;--ticket-accent:#ef4b2c;background:var(--ticket-paper)!important;border:2px solid var(--ticket-ink)!important;border-radius:3px;box-shadow:5px 5px 0 #2f302b;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
#shop-content #products .spin-poster-product[data-chest=premium]{--ticket-paper:#181821;--ticket-ink:#d9f87e;--ticket-accent:#ef448e;border-color:#d9f87e;box-shadow:5px 5px 0 #a93868}
#shop-content #products .spin-poster-product .product-art{height:244px;min-height:244px;padding:0;background:var(--ticket-paper)!important;border-bottom:0;display:block}
#shop-content #products .spin-poster-product .product-art>.stock,#shop-content #products .spin-poster-product .art-caption{display:none}
#shop-content #products .spin-poster-product .product-art .reward-grid{display:block;padding:0;max-width:none;max-height:none;overflow:hidden}
#shop-content #products .spin-poster-product .product-content{background:var(--ticket-paper);color:var(--ticket-ink);border-top:1px dashed var(--ticket-ink);padding:16px}
#shop-content #products .spin-poster-product :is(h2,.price,.price span){color:var(--ticket-ink)!important}
#shop-content #products .spin-poster-product .eyebrow{color:var(--ticket-accent)!important;font-size:9px;font-weight:900}
#shop-content #products .spin-poster-product .product-description{color:var(--ticket-ink)!important;opacity:.85}
#shop-content #products .spin-poster-product .product-actions .buy-button{background:var(--ticket-accent)!important;color:#111!important;border:1px solid var(--ticket-accent);border-radius:2px;box-shadow:2px 2px 0 var(--ticket-ink)}
#shop-content #products .spin-poster-product .product-actions .product-view{background:transparent!important;color:var(--ticket-ink)!important;border:1px solid var(--ticket-ink)!important;border-radius:2px;box-shadow:none}
#shop-content #products .spin-poster-product .product-actions .button:disabled{opacity:.5}
#shop-content #products .single-item-product{border:1px solid #8daeb8!important;background:#faffff!important;box-shadow:0 5px 15px #26576b1c}
#shop-content #products .single-item-product .product-art{position:relative;height:244px;min-height:244px;padding:34px 16px;background:radial-gradient(ellipse at 50% 47%,#daf3ee,#edf5f6 63%,#e3edef)!important;border-bottom:1px solid #bdcfd5}
#shop-content #products .single-item-product .product-art:hover{background:radial-gradient(ellipse at 50% 47%,#bfe9e7,#edf5f6 63%,#e3edef)!important}
.single-item-art .reward-slot{width:120px;height:120px;background:transparent;border:0;box-shadow:none}
#shop-content #products .single-item-product .reward-slot{flex:0 0 120px;width:120px;height:120px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
#shop-content #products .single-item-product .reward-image{width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(0 10px 6px #284d6930);transform:rotate(-8deg);transition:transform .25s}
#shop-content #products .single-item-product .reward-count{right:0;bottom:0;background:#fff;color:#235360;font-size:13px;border:1px solid #9abdc3;border-radius:6px;padding:2px 6px;text-shadow:none}
#shop-content #products .single-item-product .stock{position:absolute;top:14px;left:14px;right:auto;width:auto;height:auto;transform:none;clip-path:none;background:#fff;border:1px solid #acc8ce;border-radius:20px;box-shadow:none;padding:4px 9px;color:#29545d;font-size:10px}
#shop-content #products .single-item-product .stock:before{display:none}
#shop-content #products .single-item-product .stock-label{display:block;position:static;transform:none;padding:0;width:auto;height:auto;color:inherit;font:inherit}
#shop-content #products .single-item-product .art-caption{bottom:14px;color:#315b66;font-size:10px}
#shop-content #products .single-item-product .product-content{background:#faffff}#shop-content #products .single-item-product .eyebrow{color:#317381!important}#shop-content #products .single-item-product .price{color:#165967!important}
.single-item-art{display:flex;justify-content:center;align-items:center;min-height:140px}
#admin-single-hint{line-height:1.5;color:#37626b}#admin-single-hint[hidden],.reward-add-actions[hidden],.admin-reward-row[hidden],.reward-remove[hidden]{display:none!important}
@keyframes ticket-tape-scroll{to{transform:translateX(-50%)}}@keyframes ticket-orb-pulse{to{transform:scale(1.15) translate(-8px,7px);opacity:.5}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#shop-content #products .spin-poster-product:hover{transform:perspective(900px) rotateY(1.5deg) translateY(-3px);box-shadow:7px 8px 0 #2f302b}#shop-content #products .spin-poster-product[data-chest=premium]:hover{box-shadow:7px 8px 0 #a93868}#shop-content #products .single-item-product .product-art:hover .reward-image{transform:rotate(0deg) translateY(-3px)}}
@media(max-width:520px){#shop-content #products .spin-poster-product .product-art,.spin-poster{height:214px;min-height:214px}.poster-edition{font-size:7px;left:12px;top:12px}.poster-type{left:12px;top:34px}.spin-poster .poster-turns{font-size:min(58px,calc((100cqw - 26px) / var(--turn-chars,2) * 1.5))}.poster-unit{font-size:8px;letter-spacing:.08em}.poster-kind{font-size:22px}.poster-ribbon{top:147px;padding:6px 0}.poster-scroll>span{font-size:8px}.poster-foot{left:12px;right:12px;font-size:6px;gap:5px}.poster-barcode{width:28px;height:12px}#shop-content #products .spin-poster-product .product-content{padding:12px 10px}#shop-content #products .single-item-product .product-art{height:214px;min-height:214px;padding:34px 12px}#shop-content #products .single-item-product .reward-slot{flex-basis:86px;width:86px;height:86px}#shop-content #products .single-item-product .stock{top:10px;left:8px;padding:3px 6px;font-size:9px}}
@media(max-width:350px){.spin-poster .poster-turns{font-size:min(70px,calc((100cqw - 26px) / var(--turn-chars,2) * 1.5))}.poster-kind{font-size:30px}.poster-type{top:29px}.poster-foot{font-size:8px}.poster-edition{font-size:9px}#shop-content #products .single-item-product .reward-slot{flex-basis:110px;width:110px;height:110px}}
@media(prefers-reduced-motion:reduce){.poster-scroll,.premium .poster-geometry{animation:none!important}#shop-content #products .spin-poster-product,#shop-content #products .single-item-product .reward-image{transition:none!important;transform:none!important}}

/* Keep the approved poster artwork; emphasize purchase details below it. */
#shop-content #products .spin-poster-product .product-content h2{font-size:20px;margin:0 0 12px}
#shop-content #products .spin-poster-product .spin-price{display:flex;flex-direction:column;gap:4px;container-type:inline-size;padding:12px;margin:0 0 12px;background:#fff2d8;border:1px solid #dbb986;border-radius:9px;color:#7a2f12!important;line-height:1.2}
#shop-content #products .spin-poster-product[data-chest=premium] .spin-price{background:#eee4ff;border-color:#ba96e0;color:#54238c!important}
#shop-content #products .spin-poster-product .spin-price :is(span,strong,small){color:inherit!important}
.spin-price-label{font-size:11px;font-weight:750}.spin-price-value{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.spin-price-amount{font-size:clamp(15px,calc(100cqw / var(--price-chars,5) * 1.4),30px);font-weight:950;font-variant-numeric:tabular-nums}.spin-price-unit{font-size:15px;font-weight:800}
#shop-content #products .spin-poster-product .spin-sale-info{margin:0 0 12px;gap:6px}
#shop-content #products .spin-poster-product .spin-sale-remaining{display:block;width:100%;box-sizing:border-box;background:#e5f3e9;border:1px solid #97bf9f;color:#175b38!important;padding:9px 10px;font-size:14px;text-align:center;border-radius:8px}
#shop-content #products .spin-poster-product .product-description{font-size:12px;line-height:1.5;margin:0 0 14px}
@media(max-width:520px){#shop-content #products .spin-poster-product .product-content h2{font-size:17px}#shop-content #products .spin-poster-product .spin-price{padding:9px}.spin-price-unit{font-size:12px}#shop-content #products .spin-poster-product .spin-sale-remaining{font-size:12px;padding:8px 5px}}
