.shop-page{max-width:1000px;margin:0 auto;padding:24px 16px 60px}.shop-head{margin-bottom:20px}.shop-title{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.shop-sub{font-size:14px;color:var(--text-muted);margin:0;line-height:1.7}.shop-bal{display:inline-block;margin-top:12px;padding:7px 12px;font-size:13px;color:var(--text-second);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:2px}.shop-bal b{color:var(--color-accent);font-size:15px}.shop-tabs{display:flex;gap:6px;margin-bottom:16px}.shop-tab{padding:9px 18px;font-size:14px;font-weight:700;font-family:inherit;color:var(--text-second);background:var(--bg-elevated);border:1px solid var(--border);border-radius:2px;cursor:pointer}.shop-tab.is-on{color:var(--color-accent-text,#0a0a0a);background:var(--color-accent-gradient);border-color:transparent}.shop-msg{margin-bottom:14px;padding:11px 13px;font-size:13.5px;border-radius:2px}.shop-msg.is-ok{color:var(--color-green);background:rgba(60,140,92,.12);border:1px solid rgba(60,140,92,.35)}.shop-msg.is-err{color:var(--color-red);background:rgba(196,60,60,.12);border:1px solid rgba(196,60,60,.35)}.shop-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.shop-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;padding:0;text-align:left;font-family:inherit;color:inherit;cursor:pointer}.shop-card:hover{border-color:var(--border-strong)}.shop-card:active,.shop-card__thumb{background:var(--bg-elevated)}.shop-card__thumb{width:100%;aspect-ratio:1/1;overflow:hidden}.shop-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}.shop-card__noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted)}.shop-card__body{padding:13px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1 1}.shop-card__name{font-size:15px;font-weight:700;color:var(--text-primary)}.shop-card__desc{font-size:12.5px;line-height:1.6;color:var(--text-muted);flex:1 1}.shop-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.shop-card__price{font-size:15px;font-weight:800;color:var(--color-accent)}.shop-card__cta{padding:7px 13px;font-size:12.5px;font-weight:700;color:var(--color-accent-text,#0a0a0a);background:var(--color-accent-gradient);border-radius:2px;white-space:nowrap}.shop-modal{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.85)}.shop-modal__box{width:100%;max-width:400px;max-height:86vh;overflow-y:auto;padding:24px;background:var(--bg-surface);border:1px solid var(--border-strong);border-top:2px solid var(--color-accent);border-radius:2px}.shop-modal__title{font-size:19px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.shop-modal__price{font-size:14px;font-weight:700;color:var(--color-accent);margin-bottom:14px}.shop-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-muted);margin:12px 0 5px}.shop-input{width:100%;box-sizing:border-box;padding:10px 11px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:2px;color:var(--text-primary);font-size:14px;font-family:inherit}.shop-input:focus{outline:none;border-color:var(--color-accent-border)}.shop-modal__acts{display:flex;gap:8px;margin-top:20px}.shop-modal__cancel{flex:1 1;font-weight:600;color:var(--text-second);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:2px}.shop-modal__cancel,.shop-modal__ok{padding:12px;font-size:14px;font-family:inherit;cursor:pointer}.shop-modal__ok{flex:2 1;font-weight:700;color:var(--color-accent-text,#0a0a0a);background:var(--color-accent-gradient);border:0;border-radius:2px}.shop-modal__ok:disabled{opacity:.6;cursor:default}.shop-banners{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.shop-banner{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;background:linear-gradient(180deg,#16130b,#0e0e0e);border:1px solid var(--border-strong);border-radius:2px;color:var(--text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.shop-banner:hover{background:var(--bg-hover);border-color:var(--color-accent-border)}.shop-banner__thumb{width:64px;height:64px;flex:0 0 64px;border-radius:2px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.shop-banner__thumb img{width:100%;height:100%;object-fit:cover;display:block}.shop-banner__body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1}.shop-banner__name{font-size:16px;font-weight:700;color:var(--text-primary)}.shop-banner__desc,.shop-banner__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-banner__desc{font-size:13px;color:var(--text-muted)}.shop-banner__price{flex:0 0 auto;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700;color:var(--color-accent)}.shop-banner__go{flex:0 0 auto;color:var(--text-muted);font-size:20px;line-height:1}.shop-card.is-hot{border:5px solid transparent;background:linear-gradient(var(--bg-surface),var(--bg-surface)) padding-box,var(--color-accent-gradient) border-box;box-shadow:none}.shop-card.is-hot:active,.shop-card.is-hot:hover{border-color:transparent;background:linear-gradient(var(--bg-elevated),var(--bg-elevated)) padding-box,var(--color-accent-gradient) border-box}.shop-banner.is-hot{border:3px solid transparent;background:linear-gradient(180deg,#1e1808 0,#100e09 100%) padding-box,var(--color-accent-gradient) border-box;box-shadow:none}.shop-banner.is-hot:hover{border-color:transparent;background:linear-gradient(var(--bg-hover),var(--bg-hover)) padding-box,var(--color-accent-gradient) border-box}.shop-banner.is-hot .shop-banner__go{color:var(--color-accent)}@media (max-width:640px){.shop-banner{gap:10px;padding:10px 11px}.shop-banner__thumb{width:52px;height:52px;flex-basis:52px}.shop-banner__name{font-size:14px}.shop-banner__desc{display:none}.shop-banner__price{font-size:13px}}