/* Review iteration: compact products, clear chest selection, distinct milestone rewards. */
#shop-content #products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
#shop-content #products .product{display:flex;flex-direction:column;min-height:0;border-radius:14px;overflow:hidden}
#shop-content #products .product-art{min-height:140px;height:140px;border-radius:0;padding:12px 10px 28px}
#shop-content #products .product-art .reward-grid{margin:0;max-height:96px;overflow:auto;width:100%;max-width:220px}
#shop-content #products .product-art .reward-image{width:54px;height:54px}
#shop-content #products .product-art:after{display:none}
#shop-content #products .art-caption{bottom:9px;left:12px;right:12px;font-size:9px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#shop-content #products .product-content{padding:15px 17px 16px;border-left:0;flex:1;justify-content:flex-start}
#shop-content #products .product-content .eyebrow{font-size:8px;margin:0 0 6px}
#shop-content #products .product-content h2{font-size:20px;line-height:1.3;margin:0 0 9px;overflow-wrap:anywhere}
#shop-content #products .price{font-size:22px;margin:0 0 8px}
#shop-content #products .price span{font-size:12px}
#shop-content #products .product-description{font-size:12px;line-height:1.5;margin:0 0 13px}
#shop-content #products .buy-button{min-height:39px;padding:10px 13px;font-size:12px}
#shop-content #products .offline-hint{font-size:9px;line-height:1.5;margin:8px 0 0}
#shop-content #products .stock{width:98px;height:98px;left:-6px;top:-6px}
#shop-content #products .stock::before,#shop-content #products .stock-label{left:-39px;top:23px;width:165px;height:24px;font-size:10px}
#shop-content .page-heading{margin-bottom:18px}
#shop-content .page-heading h1{font-size:34px;margin:5px 0 0}
#shop-content #shop-balances{padding:10px 14px;margin-bottom:15px}
#shop-content .shop-sections{margin-bottom:16px}
#shop-content .gacha-types button{border:2px solid #b57790;background:#fff8fb;box-shadow:none;transition:border-color .15s,box-shadow .15s}
#shop-content .gacha-types button.selected{border:3px solid #a52f59;padding:15px;background:#ffedf4;box-shadow:0 0 0 3px #a52f5917}
#shop-content .gacha-types button.selected strong{color:#892447}
#shop-content .gacha-types button:hover{border-color:#a52f59;box-shadow:0 0 0 3px #a52f5917}
.gacha-pool .gacha-item.is-bonus{--rarity:#087f80;--loot:#d9f5f1;border:2px solid #087f80;border-top-width:5px;outline:1px solid #44b4ae;outline-offset:-6px;background:#d9f5f1!important}
.gacha-pool .gacha-item.is-bonus:before{color:#087f80}
.gacha-pool .gacha-item.is-bonus .gacha-rarity{background:#087f80!important}
#shop-content .gacha-item.is-bonus .bonus-tag,.gacha-item.is-bonus .bonus-tag{color:#076a6e!important}
.bonus-heading h4,.bonus-result h3{color:#076a6e}
@media(max-width:850px){#shop-content #products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#shop-content #products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#shop-content #products .product-content{padding:12px 10px}#shop-content #products .product-content h2{font-size:16px}#shop-content #products .product-art{height:115px;min-height:115px}#shop-content #products .product-description{font-size:11px}#shop-content #products .price{font-size:19px}#shop-content .gacha-types button.selected{padding:11px}}
@media(max-width:350px){#shop-content #products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#shop-content .gacha-types button{transition:none}}
/* Product editor: respect hidden state and keep fields/actions grouped. */
#admin-panel [hidden]{display:none!important}
#admin-product-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}
#admin-product-form>.admin-editor-head,#admin-product-form>.admin-editor-actions{grid-column:1/-1}
#admin-product-form>.admin-preview{grid-column:2;margin:0}
#admin-product-form>.admin-block{min-width:0}
#admin-product-form .mc-editor-preview{margin:6px 0;padding:10px}
#admin-panel .reward-main{grid-template-columns:38px minmax(0,1fr) 65px;gap:8px}
#admin-panel .reward-main .reward-remove{grid-column:2/-1;justify-self:end;min-height:26px}
#admin-panel .admin-editor-actions{position:sticky;bottom:0;background:var(--paper,#fffaf7);padding:12px;border-top:1px solid #dccdce;z-index:4;margin:0}
#admin-panel .admin-message:empty{display:none}
#admin-panel .admin-message{margin:8px 0}
#shop-content #products .product-art{display:flex;justify-content:center;align-items:center;padding:28px 12px}
#shop-content #products .product-art .reward-grid{display:flex;justify-content:center;align-items:center;gap:8px;overflow:visible;max-width:100%;padding:0}
#shop-content #products .product-art .reward-grid:after{display:none}
#shop-content #products .reward-slot{width:48px;height:48px;flex:0 1 48px;aspect-ratio:1;min-width:0}
#shop-content #products .product-art .reward-image{width:90%;height:90%;object-fit:contain}
#shop-content #products .reward-count{font-size:11px}
@media(max-width:700px){#admin-product-form{grid-template-columns:1fr}#admin-product-form>.admin-preview{grid-column:1}#shop-content #products .product-art .reward-grid{gap:4px}#shop-content #products .reward-slot{height:auto}}
#admin-panel .reward-main label.admin-field{display:flex!important;flex-direction:column;align-items:stretch;gap:5px}
#admin-panel .reward-main label.admin-field select{width:100%;min-width:0}
#shop-content #products .product-art[role=button]{cursor:pointer}
#shop-content #products .product-art[role=button]:hover{background:#f5e8ed}
#shop-content #products .product-art[role=button]:focus-visible{outline:3px solid #a52f59;outline-offset:-3px}
#product-contents{width:min(620px,calc(100vw - 32px));max-height:85dvh;padding:24px;border:1px solid #ddcbd1;border-radius:20px;background:#fffaf7;color:#193c42;overflow:auto}
#product-contents::backdrop{background:#14252ab3}
.contents-head{display:flex;align-items:start;justify-content:space-between;gap:16px}
.contents-head h2{font-size:23px;line-height:1.4;margin:0;overflow-wrap:anywhere}
.contents-head button{flex-shrink:0}
.contents-count{font-size:12px;color:#627378;margin:8px 0 18px}
.contents-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.contents-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:#f3eeeb;border:1px solid #e4d9d5;border-radius:10px}
.contents-item img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}
.contents-name{overflow-wrap:anywhere;font-size:14px}.contents-amount{font-size:13px;white-space:nowrap}
#shop-content #products .product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
#shop-content #products .product-actions .button{display:flex;align-items:center;justify-content:center;min-width:0;padding:10px 5px;min-height:40px;font-size:11px;white-space:normal;text-align:center;border-radius:9px}
#shop-content #products .product-view{background:#fff8fb;color:#933457;border:1px solid #c994a7;box-shadow:none}
#shop-content #products .product-view:hover{background:#f8e8ee;border-color:#933457}
#product-contents{width:min(600px,calc(100vw - 32px));padding:22px}
#product-contents .contents-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#product-contents .contents-item{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding:18px 8px 12px;border:1px solid #e6dbd6;border-radius:12px;background:#f6f1ed;min-width:0;text-align:center}
#product-contents .contents-item img{width:48px;height:48px;margin:6px 0}
#product-contents .contents-name{font-size:12px;line-height:1.5}
#product-contents .contents-amount{position:absolute;top:5px;right:7px;font-size:10px;color:#6f535c}
#product-contents .contents-head h2{font-size:21px}
@media(max-width:520px){#product-contents .contents-list{grid-template-columns:repeat(3,minmax(0,1fr))}#shop-content #products .product-actions{grid-template-columns:1fr}#product-contents{padding:16px}}
#shop-content #products .product-actions .product-view{background:#fff8fb!important;color:#933457!important;border:1px solid #c994a7!important}
/* Clear interaction feedback for product actions. */
#shop-content #products .product-actions .button{transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 3px 0 #69203933;cursor:pointer}
#shop-content #products .product-actions .button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 5px 10px #69203926}
#shop-content #products .product-actions .button:active:not(:disabled){transform:translateY(2px) scale(.97);filter:brightness(.92);box-shadow:0 0 0 #69203900}
#shop-content #products .product-actions .button:focus-visible{outline:3px solid #c87092;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#shop-content #products .product-actions .button{transition:none}}
