:root{--leaf: #059669;--leaf-dark: #047857;--leaf-soft: #d1fae5;--rose: #e11d48;--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #18181b);--hint: var(--tg-theme-hint-color, #8a8a8e);--link: var(--tg-theme-link-color, var(--leaf));--card: var(--tg-theme-secondary-bg-color, #f4f4f5);--border: rgba(120, 120, 128, .18);--header-h: 52px;--nav-h: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}#app{min-height:100%}.app-shell{min-height:100vh;padding-top:calc(var(--header-h) + var(--safe-top));padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.app-header{position:fixed;top:0;left:0;right:0;z-index:20;height:calc(var(--header-h) + var(--safe-top));padding-top:var(--safe-top);display:flex;align-items:center;gap:8px;padding-left:16px;padding-right:16px;background:var(--bg);border-bottom:1px solid var(--border)}.app-header .brand{font-size:18px;font-weight:700;letter-spacing:-.02em}.app-header .brand .dot{color:var(--leaf)}.app-header .brand-sub{font-size:11px;color:var(--hint);margin-left:auto}.app-header .auth-btn{margin-left:auto;background:transparent;border:1px solid var(--leaf);color:var(--leaf);font-size:13px;font-weight:600;padding:5px 14px;border-radius:18px;cursor:pointer}.app-header .auth-btn:active{background:var(--leaf-soft)}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;background:var(--bg);border-top:1px solid var(--border)}.tab-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--hint);font-size:11px;position:relative}.tab-bar a.active{color:var(--leaf)}.tab-bar .tab-ico{font-size:20px;line-height:1}.tab-bar .badge{position:absolute;top:6px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.container{padding:12px 16px;max-width:100%}.demo-banner{display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;background:var(--leaf-soft);color:var(--leaf-dark);border-radius:10px;font-size:12px;line-height:1.35}.search-bar{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:15px;margin-bottom:12px;outline:none}.search-bar::placeholder{color:var(--hint)}.category-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:7px 15px;border-radius:20px;background:var(--card);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s}.chip.active{background:var(--leaf);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.product-card{background:var(--card);border-radius:14px;overflow:hidden;cursor:pointer;border:1px solid var(--border);transition:transform .12s}.product-card:active{transform:scale(.98)}.product-card .thumb{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:56px}.product-card .thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.product-card .sale-badge{position:absolute;top:8px;left:8px;background:var(--rose);color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:8px}.product-card .info{padding:9px 11px 12px}.product-card .title{font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}.product-card .shop{font-size:11px;color:var(--hint);margin-top:4px}.product-card .price-row{display:flex;align-items:baseline;gap:6px;margin-top:6px}.product-card .price{font-size:15px;font-weight:700;color:var(--text)}.product-card .price-old{font-size:12px;color:var(--hint);text-decoration:line-through}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:12px;border:none;font-size:15px;font-weight:600;cursor:pointer;background:var(--leaf);color:#fff;width:100%}.btn:active{background:var(--leaf-dark)}.btn-secondary{background:var(--card);color:var(--text)}.empty-state{text-align:center;padding:56px 24px;color:var(--hint)}.empty-state .em-ico{font-size:44px;display:block;margin-bottom:12px}.empty-state p{font-size:15px}.skeleton{background:linear-gradient(90deg,var(--card) 25%,rgba(120,120,128,.08) 50%,var(--card) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:14px}.sk-card{aspect-ratio:.78}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.product-hero{width:100%;aspect-ratio:1.1;display:flex;align-items:center;justify-content:center;font-size:120px;position:relative}.product-hero img{width:100%;height:100%;object-fit:cover}.product-price{font-size:26px;font-weight:800;color:var(--text);margin-top:14px;display:flex;align-items:baseline;gap:10px}.product-price .old{font-size:16px;color:var(--hint);text-decoration:line-through;font-weight:500}.product-title{font-size:19px;font-weight:700;margin-top:8px;line-height:1.3}.product-shop{font-size:14px;color:var(--leaf);font-weight:600;margin-top:8px}.product-meta{font-size:13px;color:var(--hint);margin-top:6px}.product-description{font-size:14px;line-height:1.55;margin-top:16px;color:var(--text)}.product-cta{margin-top:22px}
