:root{--text:#64748b;--text-h:#0f172a;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--accent:#6366f1;--accent-light:#818cf8;--accent-bg:#6366f114;--accent-border:#6366f14d;--danger:#ef4444;--success:#22c55e;--shadow-sm:0 1px 2px #0000000a;--shadow:0 4px 24px #0000000f;--shadow-lg:0 12px 40px #0000001a;--radius:16px;--radius-sm:12px;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#94a3b8;--text-h:#f1f5f9;--bg:#0f172a;--surface:#1e293b;--border:#334155;--accent:#818cf8;--accent-light:#a5b4fc;--accent-bg:#818cf81a;--accent-border:#818cf84d;--shadow-sm:0 1px 2px #0003;--shadow:0 4px 24px #00000040;--shadow-lg:0 12px 40px #0006}}*,:before,:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}h1,h2,h3,p{margin:0}.app{min-height:100dvh;font-family:var(--sans);background:var(--bg);color:var(--text)}.app__main{flex-direction:column;min-height:100dvh;padding:16px 16px 96px;display:flex}.page{width:100%;max-width:600px;margin:0 auto;animation:.28s ease-out fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.catalogLayout{flex-direction:column;gap:4px;width:100%;max-width:600px;margin:0 auto;display:flex}.topBar{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.6);border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);align-items:center;gap:12px;height:52px;margin:-16px -16px 8px;padding:0 16px;display:flex;position:sticky;top:0}.topBar__slot{flex:0 0 72px;width:72px}.topBar__title{text-align:center;letter-spacing:-.3px;color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:16px;font-weight:700;overflow:hidden}.backButton{appearance:none;color:var(--accent);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;min-width:72px;margin:-6px -8px;padding:6px 8px;font-size:14px;font-weight:600;transition:opacity .12s;display:inline-flex}.backButton:hover{opacity:.7}.backButton:active{opacity:.5}.backButton:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.backButton__arrow{font-size:18px;line-height:1}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.list__item{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-h);box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s}.list__item:hover{box-shadow:var(--shadow);border-color:var(--accent-border);transform:translateY(-1px)}.list__item:active{transform:translateY(0)}.rowLink{color:inherit;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.rowLink__title{font-size:15px;font-weight:600}.rowLink__chev{color:var(--text);opacity:.4;font-size:20px;line-height:1;transition:transform .18s,opacity .18s}.list__item:hover .rowLink__chev{opacity:.8;transform:translate(2px)}.rowLink:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius)}.productCard{color:inherit;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.productCard__name{color:var(--text-h);font-size:15px;font-weight:600}.productCard__price{color:var(--accent);background:var(--accent-bg);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:4px 10px;font-size:14px;font-weight:700}.productDetail{flex-direction:column;gap:12px;display:flex}.productDetail__imageWrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow:hidden}.productDetail__image{object-fit:cover;width:100%;height:auto;display:block}.productDetail__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.productDetail__header{align-items:center;gap:8px;display:flex}.productDetail__emoji{font-size:24px;line-height:1}.productDetail__name{color:var(--text-h);font-size:17px;font-weight:700}.productDetail__desc{color:var(--text);font-size:14px;line-height:1.5}.productDetail__priceRow{color:var(--text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.productDetail__priceValue{color:var(--text-h);font-weight:700}.qtySelector{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:0;display:flex;overflow:hidden}.qtySelector__btn{appearance:none;color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;width:48px;height:44px;font-size:20px;font-weight:600;transition:background .12s;display:grid}.qtySelector__btn:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.qtySelector__btn:disabled{opacity:.3;cursor:not-allowed}.qtySelector__value{text-align:center;color:var(--text-h);flex:1;padding:0 4px;font-size:15px;font-weight:700}.buyButton{appearance:none;border-radius:var(--radius);background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:700;transition:opacity .12s,transform .12s;display:flex}.buyButton:hover{opacity:.9;transform:translateY(-1px)}.buyButton:active{opacity:.8;transform:translateY(0)}.buyButton:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.secondaryButton{appearance:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-h);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:14px;font-size:15px;font-weight:600;transition:background .12s,border-color .12s;display:flex}.secondaryButton:hover{background:color-mix(in srgb, var(--text-h) 4%, var(--surface));border-color:color-mix(in srgb, var(--border) 80%, var(--text-h) 20%)}.secondaryButton:active{opacity:.8}.secondaryButton:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.promoStep{flex-direction:column;gap:16px;display:flex}.promoStep__bubble{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.promoStep__prompt{color:var(--text-h);margin:0;font-size:16px;font-weight:600}.promoStep__actions{flex-direction:column;gap:10px;display:flex}.promoStep__btn{appearance:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-h);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:15px;font-weight:600;transition:background .12s,border-color .12s,transform .12s;display:flex}.promoStep__btn:hover{background:color-mix(in srgb, var(--text-h) 6%, var(--surface));border-color:color-mix(in srgb, var(--border) 80%, var(--text-h) 15%);transform:translateY(-1px)}.promoStep__btn:active{transform:translateY(0)}.promoStep__btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.promoStep__btnIcon{font-size:20px;line-height:1}.promoStep__btn--back{margin-top:4px}.promoEnter{flex-direction:column;gap:16px;display:flex}.promoEnter__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.promoEnter__label{color:var(--text-h);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.promoEnter__input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text-h);font:inherit;box-sizing:border-box;padding:12px 14px;font-size:15px;transition:border-color .12s}.promoEnter__input::placeholder{color:var(--text);opacity:.7}.promoEnter__input:focus{border-color:var(--accent);outline:none}.promoEnter__actions{flex-direction:column;gap:10px;display:flex}.buyButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.checkoutPage{flex-direction:column;gap:16px;display:flex}.checkoutPage__summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;padding:16px}.checkoutPage__title{color:var(--text-h);margin:0 0 12px;font-size:16px;font-weight:700}.checkoutPage__row{color:var(--text);margin:0 0 6px;font-size:14px;line-height:1.4}.checkoutPage__row strong{color:var(--text-h)}.checkoutPage__note{color:var(--text);border-top:1px solid var(--border);margin:12px 0 0;padding-top:12px;font-size:13px}.checkoutPage__cta{color:var(--text-h);margin:12px 0 0;font-size:15px;font-weight:600}.checkoutPage__payments{flex-direction:column;gap:10px;display:flex}.paymentDetailPage{flex-direction:column;gap:16px;display:flex}.paymentDetailPage__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;padding:16px}.paymentDetailPage__title{color:var(--text-h);margin:0 0 12px;font-size:18px;font-weight:700}.paymentDetailPage__row{color:var(--text);word-break:break-all;margin:0 0 8px;font-size:14px;line-height:1.5}.paymentDetailPage__row--amount{color:var(--text-h);font-size:16px;font-weight:600}.paymentDetailPage__warning{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);margin-top:16px;padding:12px}.paymentDetailPage__warningTitle{color:var(--danger);text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-size:13px;font-weight:700}.paymentDetailPage__warningText{color:var(--text);text-transform:uppercase;letter-spacing:.01em;margin:0 0 8px;font-size:12px;line-height:1.4}.paymentDetailPage__warningNote{color:var(--text);margin:0;font-size:12px;line-height:1.4}.paymentDetailPage__actions{flex-direction:column;gap:10px;display:flex}.paymentDetailPage__fileInput{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.promoStep__btn--danger{border-color:color-mix(in srgb, var(--danger) 50%, var(--border));color:var(--danger)}.promoStep__btn--danger:hover{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border-color:var(--danger)}.bottomNav{z-index:50;border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.8);width:min(600px,100% - 24px);height:56px;box-shadow:var(--shadow-lg);border-radius:20px;grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.bottomNav__item{color:var(--text);letter-spacing:.2px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;transition:all .18s;display:flex}.bottomNav__icon{font-size:20px;line-height:1}.bottomNav__item:hover{color:var(--text-h);background:color-mix(in srgb, var(--text-h) 5%, transparent)}.bottomNav__item--active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}.bottomNav__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.statusMessage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 20px;display:flex}.statusMessage__icon{font-size:36px;line-height:1}.statusMessage__text{color:var(--text);font-size:14px}.statusMessage__text--error{color:var(--danger)}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cabinetPage{flex-direction:column;gap:12px;display:flex}.cabinetHeader{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:16px;display:flex}.cabinetHeader__avatar{background:color-mix(in srgb, var(--text-h) 10%, var(--surface));width:48px;height:48px;color:var(--text-h);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cabinetHeader__avatar svg{display:block}.cabinetHeader__info{flex:1;min-width:0}.cabinetHeader__username{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:16px;font-weight:600;overflow:hidden}.cabinetHeader__balance{color:var(--text);margin:0;font-size:14px}.cabinetHeader__time{color:var(--text);flex-shrink:0;font-size:13px}.cabinetMenu{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cabinetMenu__item{appearance:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-h);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:16px;font-size:15px;font-weight:600;transition:background .12s,transform .12s,border-color .12s;display:flex}.cabinetMenu__item:hover{background:color-mix(in srgb, var(--text-h) 6%, var(--surface));border-color:color-mix(in srgb, var(--border) 80%, var(--text-h) 15%);transform:translateY(-1px)}.cabinetMenu__item:active{transform:translateY(0)}.cabinetMenu__item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cabinetMenu__icon{flex-shrink:0;font-size:24px;line-height:1}.cabinetMenu__label{flex:1}.emptyState{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:60px 24px;display:flex}.emptyState__icon{opacity:.5;font-size:48px;line-height:1}.emptyState__title{color:var(--text-h);font-size:18px;font-weight:700}.emptyState__subtitle{color:var(--text);max-width:260px;font-size:14px}
