/* Item shop, inventory and shared card selection states */
.nav-item-shop { display:flex !important; align-items:center; }
.item-shop-page { min-height:100vh; color:var(--text); background:var(--bg); }
.item-shop-content { min-width:0; padding:0; overflow:visible; }
.item-shop-workspace { display:block; }
.item-shop-workspace header small { color:var(--primary); font:500 12px/1 var(--font-en); letter-spacing:.14em; }
.item-shop-balance { min-width:142px; padding:13px 15px; border:1px solid rgba(127,132,145,.2); border-radius:9px; background:var(--panel); }
.item-shop-balance small { display:block; margin-bottom:7px; color:var(--muted); font-size:12px; }
.item-shop-balance strong { display:flex; align-items:center; gap:7px; font-size:18px; }.item-shop-balance img { width:18px; height:18px; }
.item-shop-inventory-panel,.item-shop-list-panel { min-width:0; }
.item-shop-list-head { display:flex; align-items:flex-end; justify-content:space-between; min-height:42px; margin-bottom:16px; }
.item-shop-list-head h2 { margin-top:5px; font-size:20px; }.item-shop-list-head > span { color:var(--muted); font:400 12px/1 var(--font-en); letter-spacing:.08em; }
.item-shop-inventory-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.item-shop-inventory-slot { display:block; width:100%; aspect-ratio:1/1; border-radius:9px; background:var(--panel); }
.shop-inventory-item { position:relative; display:block; min-width:0; aspect-ratio:1/1; padding:0; overflow:hidden; border:0; border-radius:9px; color:var(--text); background:var(--panel); }
.shop-list-image { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.shop-inventory-item em { position:absolute; top:10px; right:10px; display:flex; min-width:24px; min-height:24px; padding:3px 5px; align-items:center; justify-content:center; border-radius:5px; color:#fff; text-align:center; font:600 12px/1 var(--font-en); font-style:normal; background:var(--primary); }
.item-shop-inventory-empty { margin-top:12px; color:var(--muted); text-align:center; font-size:12px; }.item-shop-inventory-empty[hidden] { display:none; }
body.experience-day .item-shop-inventory-slot { background:#e7ebef; }
.item-shop-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(180px,calc((100% - 16px)/2)),1fr)); gap:16px; align-items:start; }
.shop-item-card { position:relative; display:flex; width:100%; min-height:0; padding:0; overflow:hidden; border:0; border-radius:var(--radius-sm); flex-direction:column; color:#fff; text-align:left; background:#17171d; font:inherit; cursor:pointer; }
.shop-item-card:hover { filter:brightness(1.05); }.shop-item-card:disabled { opacity:.55; cursor:wait; }.shop-item-image { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.shop-item-event-badge { position:absolute; top:12px; right:12px; z-index:2; padding:6px 8px; border-radius:999px; color:#fff; background:var(--primary); font:700 12px/1 var(--font-en); font-style:normal; letter-spacing:.08em; }
.shop-item-copy { position:relative; height:165px; flex:0 0 165px; padding:20px 20px 50px; }.shop-item-copy small { color:var(--primary); font:500 12px/1 var(--font-en); letter-spacing:.13em; }.shop-item-copy h3 { margin:6px 0 7px; color:#fff; font-size:15px; }.shop-item-copy p { display:-webkit-box; overflow:hidden; color:#92929e; font-size:12px; line-height:1.45; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
body.experience-night .shop-item-copy { background:#000; }
.shop-item-price { position:absolute; right:20px; bottom:16px; left:20px; display:flex; align-items:center; justify-content:space-between; padding-top:11px; border-top:1px solid rgba(127,132,145,.16); }.shop-item-price > span { color:rgba(146,146,158,.58); font-size:12px; }.shop-item-price strong { display:flex; align-items:center; gap:5px; font-size:15px; }.shop-item-price img { width:17px; height:17px; }
.shop-item-buy { display:grid; grid-template-columns:105px 1fr; gap:8px; margin-top:auto; }
.shop-quantity { display:grid; grid-template-columns:30px 1fr 30px; min-height:44px; border:1px solid rgba(127,132,145,.25); border-radius:8px; overflow:hidden; background:var(--bg); }
.shop-quantity button,.shop-quantity input { min-width:0; border:0; color:var(--text); text-align:center; background:transparent; }.shop-quantity button:hover { background:rgba(127,132,145,.13); }
.shop-quantity input { width:100%; font-weight:600; -moz-appearance:textfield; }.shop-quantity input::-webkit-inner-spin-button { display:none; }
.shop-buy-button { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 14px; border:0; border-radius:8px; color:#fff; background:var(--primary); font-weight:600; }
.shop-buy-button:hover { filter:brightness(1.08); }.shop-buy-button strong { display:flex; align-items:center; gap:5px; }.shop-buy-button img { width:17px; height:17px; }.shop-buy-button:disabled { opacity:.5; }
.item-shop-empty { grid-column:1/-1; padding:54px; border:1px solid rgba(127,132,145,.18); border-radius:9px; color:var(--muted); text-align:center; background:var(--panel); }
body.inventory-open { overflow:hidden; }
.inventory-root { z-index:20500; }.inventory-root.is-open { display:grid; }.inventory-root[aria-hidden="true"] { display:none; }
.inventory-modal { width:min(720px,calc(100vw - 28px)); max-height:min(760px,calc(100vh - 28px)); padding:0; overflow:auto; border:1px solid rgba(127,132,145,.25); border-radius:12px; color:var(--text); background:var(--bg); box-shadow:none; }
.inventory-modal .modal-close { z-index:3; }
.inventory-head { padding:26px 28px 21px; border-bottom:1px solid rgba(127,132,145,.18); background:var(--panel); }
.inventory-head > span,.inventory-model-select small { color:var(--primary); font-size:12px; font-weight:600; letter-spacing:.14em; }.inventory-head h2 { margin:4px 0; font-size:30px; letter-spacing:-.04em; }.inventory-head p { color:var(--muted); font-size:12px; }
.inventory-loading,.inventory-empty { padding:64px 28px; text-align:center; color:var(--muted); }.inventory-empty strong { display:block; opacity:.35; font-size:27px; letter-spacing:.12em; }.inventory-empty a { display:inline-block; margin-top:17px; padding:9px 14px; border-radius:7px; color:#fff; background:var(--primary); }
.inventory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:16px; }
.inventory-item-card { position:relative; display:block; width:100%; aspect-ratio:1/1; padding:0; overflow:hidden; border:0; border-radius:9px; color:var(--text); background:var(--panel); }
.inventory-item-image { display:block; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.inventory-item-copy { align-self:center; min-width:0; }.inventory-item-copy small { display:block; color:var(--primary); font-size:8px; letter-spacing:.13em; }.inventory-item-copy strong { display:block; margin:5px 0; font-size:17px; }.inventory-item-copy em { display:-webkit-box; overflow:hidden; color:var(--muted); font-size:12px; font-style:normal; line-height:1.45; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.inventory-item-quantity { position:absolute; top:9px; right:9px; min-width:29px; padding:3px 6px; border-radius:5px; color:#fff; text-align:center; font-size:12px; font-weight:700; background:var(--primary); }
.item-use-root { z-index:20900; }
.item-use-modal > p { min-height:0; }
.inventory-model-slider { position:relative; margin:24px 0 0; }
.inventory-model-slider.has-overflow { padding:0 32px; }
.inventory-model-grid { display:flex; gap:8px; min-width:0; margin:0; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.inventory-model-grid::-webkit-scrollbar { display:none; }
.inventory-model-card { position:relative; display:flex; width:104px; min-width:104px; flex:0 0 104px; padding:4px; overflow:hidden; border:1px solid rgba(127,132,145,.2); border-radius:8px; flex-direction:column; color:#fff; text-align:left; background:#1f1f27; scroll-snap-align:start; }.inventory-model-card:hover { border-color:var(--primary); }.inventory-model-card.is-selected { border-color:transparent; }.inventory-model-card img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top center; border-radius:5px; }.inventory-model-card span { min-width:0; padding:7px 3px 4px; text-align:center; }.inventory-model-card strong { display:block; overflow:hidden; font-size:13px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }.inventory-model-empty { width:100%; flex:0 0 100%; padding:38px 0; color:var(--muted); text-align:center; }
.inventory-model-slide-prev,.inventory-model-slide-next { position:absolute; top:50%; z-index:8; display:grid; width:26px; height:44px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#fff; background:#1f1f27; font:300 24px/1 var(--font-en); transform:translateY(-50%); }.inventory-model-slide-prev { left:0; }.inventory-model-slide-next { right:0; }.inventory-model-slide-prev:disabled,.inventory-model-slide-next:disabled { opacity:.28; cursor:default; }
.inventory-model-slide-prev[hidden],.inventory-model-slide-next[hidden] { display:none; }
.style-preset-swiper span::before,.movie-pictorial-option > span::before,.style-grid span::before,.chat-archive-item::before,.chat-model-item::before,.model-voice-preset-card::before,.mp-payment-option > span::before,.inventory-model-card::before,.shop-inventory-item::before,.inventory-item-card::before,.model-list-section .model-card::after { content:""; position:absolute; inset:0; z-index:6; box-sizing:border-box; border:2px solid transparent; border-radius:inherit; pointer-events:none; }
.style-preset-swiper input:checked + span::before,.movie-pictorial-option > input:checked + span::before,.style-grid input:checked + span::before,.chat-archive-item.is-selected::before,.model-voice-preset-card:has(input:checked)::before,.mp-payment-option > input:checked + span::before,.inventory-model-card.is-selected::before,.model-list-section .model-card.is-casted::after,.model-list-section .model-card.is-active::after { border-color:var(--primary); }
.chat-model-item.is-active::before { border-color:rgba(var(--primary-rgb),.72); }
.shop-inventory-item:hover::before,.inventory-item-card:hover::before { border-color:var(--primary); }
body.experience-day .movie-narration-voice-builder .model-voice-preset-card:has(input:checked)::before { border-color:#17181d; }
.item-use-modal .btn-primary:disabled { opacity:.38; }
@media (max-width:1000px) { .item-shop-inventory-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) { .item-shop-content { padding:0; }.item-shop-inventory-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.inventory-grid { grid-template-columns:repeat(4,minmax(0,1fr)); padding:11px; }.inventory-model-grid { gap:7px; }.inventory-model-card { width:92px; min-width:92px; flex-basis:92px; }.inventory-head { padding:23px 20px 18px; } }
@media (max-width:430px) { .item-shop-list { gap:10px; } }
