/* Game shell integration; approved component geometry lives in styles-store.css. */
:is(#store-panel,#styles-product-dialog) .styles-store{container:styles-store / inline-size;box-sizing:border-box;min-width:0;width:100%;color:#ecfaff;font:16px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-shadow:none;letter-spacing:normal}
:is(#store-panel,#styles-product-dialog) .styles-store :is(button,h2,h3,b,strong,small,p){font-family:inherit;text-shadow:none;text-transform:none;letter-spacing:normal}
:is(#store-panel,#styles-product-dialog) .styles-store button{touch-action:manipulation;cursor:pointer;line-height:1.2;user-select:none;min-height:44px}
:is(#store-panel,#styles-product-dialog) .styles-store button:disabled{cursor:default;opacity:.65;filter:none;transform:none}
:is(#store-panel,#styles-product-dialog) .styles-store :is(h2,h3){color:#ecfaff;font-weight:850}
:is(#store-panel,#styles-product-dialog) .styles-store .bundle-header{display:block;border:0;gap:0;align-items:initial;justify-content:initial}
:is(#store-panel,#styles-product-dialog) .styles-store .bundle-header h3{color:#ecfaff}
:is(#store-panel,#styles-product-dialog) .styles-store .bundle-header .bundle-count{color:#c8f6ff}
:is(#store-panel,#styles-product-dialog) .styles-store .bundle-header .discount{color:#043143;opacity:1}
:is(#store-panel,#styles-product-dialog) .styles-store .close-button{display:grid;place-items:center;padding:0;flex:none;width:46px;height:46px;font-size:36px}
:is(#store-panel,#styles-product-dialog) .styles-store .rotation-note{color:#90c5d0;display:block;margin-top:9px;font-size:11px}
:is(#store-panel,#styles-product-dialog) .styles-store .owned-state{min-height:64px;display:flex;align-items:center;color:#98efc8;font-weight:750;font-size:14px}
:is(#store-panel,#styles-product-dialog) .styles-store .expedition-copy .price-row{display:flex;justify-content:flex-start;gap:12px;padding:10px 0;border:0;min-height:65px}
:is(#store-panel,#styles-product-dialog) .styles-store .expedition-copy .savings{font-size:12px;padding:6px;white-space:normal}
:is(#store-panel,#styles-product-dialog) .styles-store .expedition-copy .prices{gap:10px}
:is(#store-panel,#styles-product-dialog) .styles-store .expedition-copy .current-price{font-size:27px}
:is(#store-panel,#styles-product-dialog) .styles-store .expedition-copy .prices s{font-size:17px}
:is(#store-panel,#styles-product-dialog) .styles-store .bundle-grid:empty{display:none}
:is(#store-panel,#styles-product-dialog) .styles-store .merch-frame{--frame:#55d5ed;position:absolute;z-index:2;inset:15% 17%;border:3px solid var(--frame);border-radius:12px;background:#06313a;box-shadow:inset 0 0 0 4px #ffffff22,0 0 20px color-mix(in srgb,var(--frame) 35%,transparent)}
:is(#store-panel,#styles-product-dialog) .styles-store .merch-frame[data-frame="frame-sunset"]{--frame:#ff805b}
:is(#store-panel,#styles-product-dialog) .styles-store .merch-frame[data-frame="frame-gold"]{--frame:#ffe05b}
:is(#store-panel,#styles-product-dialog) .styles-store .merch-frame img{width:100%;height:100%;object-fit:contain}
:is(#store-panel,#styles-product-dialog) .styles-store[data-fx-paused=true] .fx,:is(#store-panel,#styles-product-dialog) .styles-store[data-fx-paused=true] .buy-button::after{animation-play-state:paused!important}
#styles-product-dialog{box-sizing:border-box;inset:calc(var(--safe-t,0px) + 12px) calc(var(--safe-r,0px) + 12px) calc(var(--safe-b,0px) + 12px) calc(var(--safe-l,0px) + 12px);position:fixed;margin:auto;width:min(780px,calc(100vw - var(--safe-l,0px) - var(--safe-r,0px) - 24px));max-height:calc(100dvh - var(--safe-t,0px) - var(--safe-b,0px) - 24px);padding:0;border:1px solid #65cbd7;border-radius:18px;background:linear-gradient(135deg,#054656,#012936);color:#ecfaff;box-shadow:0 24px 90px #001016bb;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}
#styles-product-dialog[open]{animation:styles-dialog-enter .18s ease-out}
@keyframes styles-dialog-enter{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
#styles-product-dialog:not([open]){display:none}
#styles-product-dialog::backdrop{background:#001b29c9;backdrop-filter:blur(4px)}
#styles-product-dialog .styles-store .dialog-header{position:sticky;top:0;z-index:5;background:#034253;min-height:80px}
#styles-product-dialog .styles-store .dialog-header h2{font-size:25px;line-height:1.2}
#styles-product-dialog .styles-store .dialog-body{max-height:none;overflow:visible}
#styles-product-dialog .styles-store .dialog-body p{font-size:15px;line-height:1.5;color:#bfdae2;margin:0 0 16px}
#styles-product-dialog .styles-store .dialog-footer{margin:0;border:0;display:block;background:none}
#styles-product-dialog .styles-store .catalog-feedback{font-size:15px;line-height:1.45;color:#b6f4db;margin:0 0 12px;overflow-wrap:anywhere}
#styles-product-dialog .styles-store .catalog-feedback:empty{display:none}
#styles-product-dialog .styles-store .catalog-items article{min-width:0;padding:10px}
#styles-product-dialog .styles-store .catalog-items article>div:last-child{min-width:0;overflow-wrap:anywhere}
#styles-product-dialog .styles-store .catalog-art{border-radius:9px;padding:10px;width:180px;min-height:145px}
#styles-product-dialog .styles-store .catalog-art .merch-frame{position:relative;inset:auto;width:100%;box-sizing:border-box}
#styles-product-dialog .styles-store .catalog-art .item-art{max-width:100%;background-image:url('./assets/ui/store/styles/approved-bundles.jpg')}
#styles-product-dialog .styles-store .catalog-spend{margin-top:20px;font-size:16px}
#styles-product-dialog .styles-store .catalog-spend b{color:#ffe291;white-space:nowrap}
:is(#store-panel,#styles-product-dialog) .styles-store .tone-royal{background:radial-gradient(ellipse at 75% 80%,#674779,#38345a 48%,#112c46)}
:is(#store-panel,#styles-product-dialog) .styles-store .tone-arctic{background:radial-gradient(ellipse at 75% 80%,#376b7e,#204b66 48%,#102e46)}
@media(max-width:600px){#styles-product-dialog .styles-store .catalog-art{width:105px;min-height:110px}#styles-product-dialog .styles-store .catalog-art img{height:110px}#styles-product-dialog .styles-store .dialog-header h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){:is(#store-panel,#styles-product-dialog) .styles-store *,:is(#store-panel,#styles-product-dialog) .styles-store *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
