:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--app-max-width: 980px;--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 18px;--space-5: 24px;--space-6: 30px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--border-soft: 1px solid color-mix(in srgb, var(--tg-theme-text-color, #111111) 14%, transparent);--surface: var(--tg-theme-secondary-bg-color, #f4f6fa);--surface-muted: color-mix(in srgb, var(--tg-theme-bg-color, #ffffff) 90%, var(--tg-theme-text-color, #111111) 10%);--shadow-1: 0 10px 30px color-mix(in srgb, #061025 10%, transparent);--shadow-2: 0 2px 14px color-mix(in srgb, #061025 8%, transparent);--text-muted: color-mix(in srgb, var(--tg-theme-text-color, #111111) 64%, transparent)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:var(--font-ui);background:radial-gradient(1000px 380px at 50% -200px,color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 10%,transparent),transparent),var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #111111);min-height:100vh;display:flex;justify-content:center;padding:14px 14px calc(88px + env(safe-area-inset-bottom,0px))}.app{width:100%;max-width:var(--app-max-width);display:grid;gap:var(--space-3);align-content:start}.topbar{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);border:var(--border-soft);background:color-mix(in srgb,var(--tg-theme-bg-color, #ffffff) 94%,var(--surface) 6%);box-shadow:var(--shadow-2)}h1{margin:0 0 3px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.2;font-weight:620}.subtitle{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.4}.status{margin:0;min-height:1.35rem;font-size:.78rem;font-weight:560;border-radius:999px;border:var(--border-soft);background:color-mix(in srgb,var(--surface-muted) 82%,transparent);padding:7px 12px;word-break:break-word;max-width:220px;text-align:center}.topbar-controls{display:flex;align-items:center;gap:8px;justify-self:end}.debug-toggle-btn{min-height:30px;padding:5px 10px;border-radius:999px;border:var(--border-soft);background:color-mix(in srgb,var(--surface-muted) 80%,transparent);color:inherit;font-size:.72rem;font-weight:560;line-height:1;cursor:pointer;white-space:nowrap}.debug-toggle-btn:active{transform:translateY(1px)}.status.error{color:#cf3f33;border-color:color-mix(in srgb,#cf3f33 45%,transparent);background:color-mix(in srgb,#cf3f33 12%,transparent)}.store-section{display:grid;gap:var(--space-3)}.empty-state{border:var(--border-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--tg-theme-bg-color, #fff) 92%,var(--surface) 8%);padding:var(--space-5);justify-items:center;gap:var(--space-2);text-align:center;box-shadow:var(--shadow-2)}.empty-state:not([hidden]){display:grid}.empty-title{margin:0;font-size:1.02rem;font-weight:560}.empty-description{margin:0;color:var(--text-muted);max-width:36ch;line-height:1.45}.app.few-products .store-section{gap:var(--space-2)}.app.few-products .product-list{align-items:start;align-content:start}.app.few-products .product-item{align-self:start;height:auto}.product-list,.skeleton-list{list-style:none;margin:0;padding:0;grid-template-columns:1fr;gap:var(--space-3);align-items:start;align-content:start}.product-list{display:grid}.skeleton-list:not([hidden]){display:grid}.skeleton-list,.product-list{transition:opacity .24s ease}.skeleton-list.fade-out,.product-list{opacity:0}.product-list.fade-in,.product-list.is-visible{opacity:1}.product-item{opacity:0;transform:translateY(8px);border:var(--border-soft);background:color-mix(in srgb,var(--tg-theme-bg-color, #fff) 94%,var(--surface) 6%);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;will-change:transform,box-shadow}.product-item.is-selected{border-color:var(--tg-theme-button-color, #2aabee);box-shadow:0 14px 28px color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 18%,transparent);transform:translateY(-2px) scale(1.015);background:color-mix(in srgb,var(--tg-theme-bg-color, #fff) 90%,var(--tg-theme-button-color, #2aabee) 6%)}.product-item.is-visible{opacity:1;transform:translateY(0);transition:opacity .28s ease,transform .28s ease,border-color .22s ease,box-shadow .22s ease}.product-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px color-mix(in srgb,#061025 14%,transparent)}.product-item.is-selected:hover{transform:translateY(-4px) scale(1.015)}.product-item:active{transform:translateY(-1px);box-shadow:0 8px 16px color-mix(in srgb,#061025 12%,transparent)}.product-item.is-selected:active{transform:translateY(-1px) scale(1.015)}.product-cover-wrap{position:relative;border:none;background:transparent;padding:0;margin:0;width:100%;text-align:left;cursor:pointer}.product-cover,.modal-main-image{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:#dcdfe4}.product-cover{transform:scale(1);transition:transform .22s ease;will-change:transform}.product-item:hover .product-cover,.product-item:focus-within .product-cover{transform:scale(1.03)}.product-cover.placeholder,.modal-main-image.placeholder{background:linear-gradient(135deg,#d3d7de,#c7ccd4)}.product-mini-dots{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;min-height:24px}.product-mini-dot{width:7px;height:7px;border-radius:999px;background:color-mix(in srgb,var(--tg-theme-text-color, #111111) 30%,transparent)}.product-mini-dot.active{background:var(--tg-theme-button-color, #2aabee);width:9px;height:9px}.product-label{display:grid;grid-template-columns:1fr auto;align-items:start;gap:10px;width:100%;padding:14px;cursor:pointer}.product-meta{display:grid;gap:7px}.product-name{font-weight:590;font-size:.99rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-weight:540;opacity:.9;font-size:.92rem}.product-description{margin:0;color:var(--text-muted);font-size:.87rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:3.9em}.product-actions{display:flex;gap:8px;align-items:center;margin-top:2px}.details-btn,.diag-copy-btn,.buy-btn,.modal-buy-btn,.modal-close-btn{border-radius:11px;min-height:44px;font-size:.92rem;font-weight:580;padding:12px 14px;cursor:pointer;border:1px solid color-mix(in srgb,var(--tg-theme-text-color, #111111) 16%,transparent);transition:transform .06s ease,filter .15s ease}.details-btn,.diag-copy-btn,.modal-close-btn{background:transparent;color:inherit;font-weight:520}input[type=radio]{accent-color:var(--tg-theme-button-color, #2aabee);width:19px;height:19px;margin-top:3px;flex:0 0 auto}.buy-btn,.modal-buy-btn{background:var(--tg-theme-button-color, #2aabee);color:var(--tg-theme-button-text-color, #ffffff);border-color:transparent;width:100%;transition:transform .22s ease,box-shadow .22s ease,filter .18s ease;will-change:transform}.buy-btn:hover:not(:disabled),.modal-buy-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 8px 22px color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 34%,transparent)}.buy-btn:active:not(:disabled),.modal-buy-btn:active:not(:disabled){transform:scale(.98);box-shadow:0 4px 14px color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 24%,transparent)}.buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;justify-content:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,color-mix(in srgb,var(--tg-theme-bg-color, #fff) 95%,transparent),transparent);transform:translateY(16px) scale(.98);opacity:0;transition:transform .22s ease,opacity .22s ease}.buy-bar.is-visible{transform:translateY(0) scale(1);opacity:1}.buy-bar[hidden]{display:none}.buy-bar-inner{width:min(100%,var(--app-max-width))}.buy-btn:disabled,.modal-buy-btn:disabled{opacity:.52;filter:saturate(.7);cursor:not-allowed}.is-loading{opacity:.7;pointer-events:none}.buy-btn.buy-pulse{animation:buyPulse .6s ease}.buy-sent{background:color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 82%,transparent);color:var(--tg-theme-button-text-color, #ffffff);box-shadow:0 8px 22px color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 28%,transparent)}@keyframes buyPulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.modal-close-btn:active,.details-btn:active,.diag-copy-btn:active{transform:translateY(1px)}.buy-btn:focus-visible,.product-label:focus-visible,.details-btn:focus-visible,.product-cover-wrap:focus-visible,.modal-close-btn:focus-visible,.modal-buy-btn:focus-visible,.modal-thumb:focus-visible,.diag-copy-btn:focus-visible,.diagnostics-panel summary:focus-visible{outline:2px solid color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 70%,white);outline-offset:2px}.payment-card{margin:12px 0 0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0a}.payment-card[hidden]{display:none}.payment-grid{display:grid;gap:8px}.payment-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all}.payment-copy-btn{margin-top:8px}.payment-warning{margin:8px 0 0;font-size:12px;opacity:.85}.diagnostics-panel{border:var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:0;opacity:.82}.diagnostics-panel summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:.9rem;font-weight:600}.diagnostics-panel summary::-webkit-details-marker{display:none}.diagnostics-content{display:grid;gap:10px;padding:0 12px 12px}.diagnostics{margin:0;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--tg-theme-bg-color, #fff) 88%,var(--tg-theme-text-color, #111) 12%);border:var(--border-soft);font-size:.77rem;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.diag-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diag-link{font-size:.82rem;opacity:.85}.skeleton-card{border:var(--border-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--tg-theme-bg-color, #fff) 94%,var(--surface) 6%);overflow:hidden}.skeleton-media,.skeleton-line{background:linear-gradient(110deg,#d8dbe1 30%,#ebeef4 45%,#d8dbe1 62%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-media{aspect-ratio:16 / 10}.skeleton-content{padding:14px;display:grid;gap:10px}.skeleton-line{height:12px;border-radius:999px}.skeleton-line.w-80{width:80%}.skeleton-line.w-60{width:60%}.skeleton-line.w-35{width:35%}@keyframes shimmer{to{background-position:-200% 0}}.product-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:none;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.product-modal.open{display:flex}.product-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#070a1257;padding:0;margin:0;cursor:pointer}.product-modal-dialog{position:relative;width:100%;max-width:920px;max-height:94vh;overflow:auto;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--tg-theme-bg-color, #ffffff) 96%,var(--surface) 4%);border:var(--border-soft);box-shadow:0 12px 38px #00000042;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;padding:16px;-webkit-overflow-scrolling:touch}.modal-gallery,.modal-content{display:grid;gap:10px;align-content:start}.modal-thumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.modal-thumb{width:56px;height:56px;border-radius:10px;border:var(--border-soft);overflow:hidden;background:transparent;padding:0;cursor:pointer;opacity:.85}.modal-thumb.active{border-color:var(--tg-theme-button-color, #2aabee);box-shadow:0 0 0 1px color-mix(in srgb,var(--tg-theme-button-color, #2aabee) 55%,transparent);opacity:1}.modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.modal-title{margin:0;font-size:1.2rem;line-height:1.25;font-weight:600}.modal-price{margin:0;font-size:.98rem;opacity:.92;font-weight:520}.modal-description{margin:0;font-size:.94rem;line-height:1.55;color:var(--text-muted);white-space:pre-wrap}.modal-buttons{display:grid;gap:8px;margin-top:8px}@media (max-width: 760px){body{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.topbar{grid-template-columns:1fr;align-items:start}.topbar-controls{justify-self:start}.status{max-width:100%;justify-self:start}.product-modal-dialog{grid-template-columns:1fr;max-height:96vh}}@media (min-width: 760px){.product-list,.skeleton-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1020px){.product-list,.skeleton-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}.product-item,.product-cover,.buy-btn,.modal-buy-btn,.buy-bar,.product-list,.skeleton-list{transition:none!important;animation:none!important}.buy-bar{transform:none!important;opacity:1!important}}
