:root{--text:#5c5668;--text-heading:#0c0a12;--text-muted:#7d7788;--text-h:var(--text-heading);--bg-app:#eef2ef;--bg:#fff;--bg-card:#fff;--bg-input:#fff;--bg-muted:#e4eae6;--border:#0c0a1214;--code-bg:#f4f3ec;--accent:#059669;--accent-bg:#0596691a;--accent-border:#05966961;--accent-soft:#0596690f;--social-bg:#f4f3ec80;--error:#b45309;--error-text:#92400e;--error-bg:#b4530914;--success:#059669;--success-bg:#0596691a;--shadow-xs:0 1px 2px #0c0a120a;--shadow-sm:0 2px 6px #0c0a120d, 0 1px 2px #0c0a120a;--shadow-card:0 1px 2px #0c0a120a, 0 4px 12px -2px #0c0a1212, 0 12px 28px -8px #0c0a1217;--shadow-card-hover:0 4px 8px -2px #0596691f, 0 16px 40px -12px #0c0a1224;--shadow:0 12px 32px -8px #0c0a121f, 0 4px 12px -4px #0c0a1214;--shadow-lg:0 -8px 32px #0c0a121a, 0 -2px 8px #0c0a120d;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--radius:10px;--radius-lg:14px;--radius-xl:18px;--fab-stack-height:calc(56px + var(--space-md) * 2 + var(--space-lg) * 2 + env(safe-area-inset-bottom,0px));--sans:"Plus Jakarta Sans", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Plus Jakarta Sans", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.55 var(--sans);letter-spacing:.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--text:#a1a8b8;--text-heading:#f4f5f7;--text-muted:#6b7289;--bg-app:#0d0e12;--bg:#16181f;--bg-card:#1c1f28;--bg-input:#1c1f28;--bg-muted:#252933;--border:#ffffff12;--code-bg:#1f2028;--accent:#34d399;--accent-bg:#34d39924;--accent-border:#34d39973;--accent-soft:#34d39914;--social-bg:#2f303a80;--error:#fca5a5;--error-text:#fecaca;--error-bg:#f871711f;--success:#34d399;--success-bg:#34d3991f;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 8px #00000040;--shadow-card:0 1px 0 #ffffff0a inset, 0 4px 20px #00000059;--shadow-card-hover:0 0 0 1px #34d3992e, 0 8px 28px #00000073;--shadow:0 20px 50px #00000073;--shadow-lg:0 -12px 40px #00000080}}h1,h2,h3{font-family:var(--heading);letter-spacing:-.02em;font-weight:600}body{background:var(--bg-app);background-image:radial-gradient(ellipse 120% 80% at 50% -30%, var(--accent-soft), transparent 55%);margin:0;overflow-x:hidden}#root{box-sizing:border-box;background:0 0;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0 auto;display:flex}@media (width>=1200px){#root{max-width:1200px;box-shadow:0 0 0 1px var(--border), var(--shadow-card);border-radius:0 0 var(--radius-xl) var(--radius-xl);margin-top:0;margin-bottom:var(--space-lg);min-height:calc(100dvh - var(--space-lg));min-height:calc(100svh - var(--space-lg));overflow:hidden}}.header{z-index:10;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));padding-top:max(var(--space-md), env(safe-area-inset-top));border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);background:#ffffffc7;display:flex;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(14px)) or (backdrop-filter:blur(14px))){.header{-webkit-backdrop-filter:saturate(1.35)blur(14px)}}@media (prefers-color-scheme:dark){.header{background:#16181fd1}}@media (width>=768px){.header{padding:var(--space-md) var(--space-xl);padding-left:max(var(--space-xl), env(safe-area-inset-left));padding-right:max(var(--space-xl), env(safe-area-inset-right))}}.header__title{font-size:var(--text-lg);font-weight:700;font-family:var(--heading);letter-spacing:-.03em;color:var(--text-heading);flex-shrink:0;margin:0}@media (width>=768px){.header__title{font-size:1.25rem}}.header__search-wrap{flex:1;min-width:0}.header__search{width:100%;padding:10px var(--space-lg);font-size:var(--text-base);font-family:var(--sans);background:var(--bg-muted);color:var(--text);box-shadow:var(--shadow-xs);border:1px solid #0000;border-radius:999px;outline:none;transition:background .2s,border-color .2s,box-shadow .2s}.header__search::placeholder{color:var(--text-muted)}.header__search:focus{background:var(--bg-input);border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg), var(--shadow-xs)}.header__cart-btn{background:var(--accent-bg);width:46px;height:46px;color:var(--accent);cursor:pointer;box-shadow:var(--shadow-xs);-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,transform .15s,box-shadow .2s;display:flex;position:relative}.header__cart-btn:hover,.header__cart-btn:focus-visible{background:var(--accent);color:var(--bg);box-shadow:var(--shadow-sm);outline:none}.header__cart-btn:active{transform:scale(.96)}.header__cart-icon{width:24px;height:24px;display:flex}.header__cart-icon svg{width:100%;height:100%}.header__cart-badge{text-align:center;min-width:18px;height:18px;color:var(--bg);background:var(--accent);border-radius:9px;padding:0 4px;font-size:10px;font-weight:700;line-height:18px;position:absolute;top:2px;right:2px;box-shadow:0 1px 3px #0003}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.product-modal{z-index:100;padding:var(--space-md);padding-left:max(var(--space-md), env(safe-area-inset-left));padding-right:max(var(--space-md), env(safe-area-inset-right));padding-top:max(var(--space-md), env(safe-area-inset-top));padding-bottom:max(var(--space-md), env(safe-area-inset-bottom));pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.product-modal__backdrop{cursor:pointer;-webkit-tap-highlight-color:transparent;pointer-events:auto;background:#00000073;border:none;margin:0;padding:0;position:absolute;inset:0}@media (prefers-color-scheme:dark){.product-modal__backdrop{background:#0009}}.product-modal__panel{background:var(--bg);border-radius:var(--radius-xl);border:1px solid var(--border);width:min(100%,420px);max-height:min(90dvh,640px);box-shadow:var(--shadow-card);pointer-events:auto;flex-direction:column;animation:.26s cubic-bezier(.32,.72,0,1) product-modal-in;display:flex;position:relative;overflow:hidden}@keyframes product-modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.product-modal__panel{animation:none}}.product-modal__close{top:var(--space-sm);right:var(--space-sm);z-index:2;width:44px;height:44px;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.product-modal__close:hover,.product-modal__close:focus-visible{background:var(--bg-muted);outline:none}.product-modal__img-wrap{background:var(--bg-muted);flex-shrink:0;justify-content:center;align-items:center;max-height:42vh;display:flex}.product-modal__img{object-fit:contain;width:100%;max-height:42vh}.product-modal__content{gap:var(--space-md);padding:var(--space-lg);flex-direction:column;flex:1;min-height:0;display:flex}.product-modal__title{font-size:1.125rem;font-weight:700;font-family:var(--heading);color:var(--text-heading);margin:0;padding-right:40px;line-height:1.3}.product-modal__desc-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.product-modal__description{font-size:var(--text-sm);color:var(--text);white-space:pre-wrap;margin:0;line-height:1.55}.product-modal__description--muted{color:var(--text-muted)}.product-modal__footer{gap:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.product-modal__price{font-size:1.25rem;font-weight:700;font-family:var(--heading);color:var(--accent);margin:0}.product-modal__add{min-height:48px;padding:var(--space-md) var(--space-lg);font-size:var(--text-base);font-weight:600;font-family:var(--sans);letter-spacing:.02em;color:var(--bg);background:linear-gradient(165deg, var(--accent) 0%, #047857 100%);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;transition:filter .2s,transform .15s;box-shadow:0 4px 14px #05966959}@media (prefers-color-scheme:dark){.product-modal__add{color:#0d0e12;background:linear-gradient(165deg,#34d399 0%,#059669 100%);box-shadow:0 4px 18px #34d3994d}}.product-modal__add:hover,.product-modal__add:focus-visible{filter:brightness(1.07);outline:none}.product-modal__add:active{transform:scale(.99)}.product-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);height:100%;min-height:0;box-shadow:var(--shadow-card);flex-direction:column;transition:box-shadow .28s cubic-bezier(.32,.72,0,1),border-color .28s,transform .28s cubic-bezier(.32,.72,0,1);display:flex;overflow:hidden}@media (hover:hover){.product-card:hover{box-shadow:var(--shadow-card-hover);border-color:#05966933;transform:translateY(-3px)}}@media (hover:hover) and (prefers-color-scheme:dark){.product-card:hover{border-color:#34d39938}}.product-card__preview{text-align:left;cursor:pointer;width:100%;min-height:0;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;margin:0;padding:0;display:flex}.product-card__preview:focus{outline:none}.product-card__preview:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.product-card__image-wrap{aspect-ratio:4/5;background:linear-gradient(160deg, var(--bg-muted) 0%, var(--bg-app) 100%);flex-shrink:0;overflow:hidden}.product-card__image{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.32,.72,0,1)}@media (hover:hover){.product-card:hover .product-card__image{transform:scale(1.05)}}.product-card__body{min-height:0;padding:var(--space-md) var(--space-md) var(--space-sm);flex-direction:column;flex:1;gap:6px;display:flex;overflow:hidden}.product-card__name{font-size:var(--text-sm);font-weight:600;font-family:var(--heading);color:var(--text-heading);letter-spacing:-.02em;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.35;display:-webkit-box;overflow:hidden}.product-card__description{font-size:var(--text-xs);color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.product-card__footer{align-items:center;gap:var(--space-sm);padding:0 var(--space-md) var(--space-md);padding-top:var(--space-xs);flex-direction:column;flex-shrink:0;margin-top:auto;display:flex}@media (width>=640px){.product-card__footer{justify-content:center;gap:var(--space-md);flex-flow:wrap}}.product-card__price{font-size:1.0625rem;font-weight:700;font-family:var(--heading);color:var(--accent);text-align:center;width:100%;padding:0 var(--space-xs);box-sizing:border-box;letter-spacing:-.03em;flex-shrink:0;margin:0}.product-card__add{min-height:42px;padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);font-weight:600;font-family:var(--sans);letter-spacing:.02em;color:var(--bg);background:linear-gradient(165deg, var(--accent) 0%, #047857 100%);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;width:100%;transition:filter .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px #05966959,inset 0 1px #ffffff26}@media (prefers-color-scheme:dark){.product-card__add{color:#0d0e12;background:linear-gradient(165deg,#34d399 0%,#059669 100%);box-shadow:0 2px 12px #34d39947,inset 0 1px #fff3}}@media (width>=640px){.product-card__add{width:auto;min-width:7.5rem}}.product-card__add:hover,.product-card__add:focus-visible{filter:brightness(1.07);outline:none}.product-card__add:active{transform:scale(.98)}@media (width>=768px){.product-card__body{padding:var(--space-md) var(--space-lg) var(--space-sm)}}.product-list{padding:var(--space-lg);padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));padding-bottom:max(var(--space-2xl), env(safe-area-inset-bottom));flex:1}.product-list--fab-pad{padding-bottom:calc(max(var(--space-2xl), env(safe-area-inset-bottom)) + var(--fab-stack-height))}@media (width>=768px){.product-list{padding:var(--space-xl);padding-left:max(var(--space-xl), env(safe-area-inset-left));padding-right:max(var(--space-xl), env(safe-area-inset-right))}}.product-list__state{max-width:22rem;margin:var(--space-2xl) auto;padding:var(--space-xl);text-align:center;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-card)}.product-list__state--error{border-color:var(--accent-border);background:var(--error-bg)}.product-list__state-icon{margin-bottom:var(--space-md);color:var(--text-muted);justify-content:center;display:flex}.product-list__state--error .product-list__state-icon{color:var(--error)}.product-list__state-svg{width:48px;height:48px}.product-list__state-title{font-size:var(--text-lg);color:var(--text-heading);margin:0 0 var(--space-sm);font-weight:600;line-height:1.3}.product-list__state--error .product-list__state-title{color:var(--error-text)}.product-list__state-text{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.5}.product-list__state--error .product-list__state-text{color:var(--text)}.product-list__grid--skeleton{pointer-events:none;align-items:start}.product-skeleton{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.product-skeleton__img{aspect-ratio:4/5;background:linear-gradient(110deg, var(--bg-muted) 8%, var(--border) 18%, var(--bg-muted) 33%);background-size:200% 100%;flex-shrink:0;width:100%;animation:1.3s ease-in-out infinite product-skeleton-shimmer}.product-skeleton__body{align-items:center;gap:var(--space-sm);padding:var(--space-sm);flex-direction:column;display:flex}@media (width>=768px){.product-skeleton__body{padding:var(--space-md)}}.product-skeleton__line{background:linear-gradient(110deg, var(--bg-muted) 8%, var(--border) 22%, var(--bg-muted) 36%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s ease-in-out infinite product-skeleton-shimmer}.product-skeleton__line--lg{width:100%;max-width:100%}.product-skeleton__line--sm{width:72%;max-width:12rem;height:10px}.product-skeleton__footer{align-items:center;gap:var(--space-sm);width:100%;padding:0 var(--space-sm) var(--space-sm);padding-top:var(--space-xs);box-sizing:border-box;flex-direction:column;display:flex}@media (width>=640px){.product-skeleton__footer{padding-left:var(--space-md);padding-right:var(--space-md);padding-bottom:var(--space-md);flex-flow:wrap;justify-content:center}}.product-skeleton__line--price{width:45%;max-width:6.5rem;height:14px;margin:0 auto}.product-skeleton__btn{border-radius:var(--radius);background:linear-gradient(110deg, var(--bg-muted) 8%, var(--border) 22%, var(--bg-muted) 36%);background-size:200% 100%;width:100%;max-width:100%;height:38px;animation:1.5s ease-in-out infinite product-skeleton-shimmer}@media (width>=640px){.product-skeleton__btn{width:auto;min-width:7rem;max-width:140px}}@keyframes product-skeleton-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.product-skeleton__img,.product-skeleton__line,.product-skeleton__btn{background:var(--bg-muted);animation:none}}.product-list__grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.product-list__grid>li{min-width:0;display:flex}@media (width>=480px){.product-list__grid{gap:var(--space-lg)}}@media (width>=768px){.product-list__grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.product-list__grid{gap:var(--space-lg);grid-template-columns:repeat(4,1fr)}}.product-list__count{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-md);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-weight:600;display:inline-block}.pagination{margin-top:var(--space-xl);padding-top:var(--space-xl);justify-content:center;display:flex}.pagination__group{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xs);background:var(--bg-muted);border:1px solid var(--border);box-shadow:var(--shadow-sm), 0 1px 0 #ffffff0f inset;border-radius:999px;flex-wrap:wrap;display:inline-flex}.pagination__btn{justify-content:center;align-items:center;gap:var(--space-xs);min-width:48px;min-height:48px;padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);font-weight:600;font-family:var(--sans);letter-spacing:.01em;color:var(--text-heading);background:var(--bg);border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .12s;display:inline-flex;position:relative;box-shadow:0 1px 2px #0000000a}.pagination__chevron{color:var(--accent);opacity:.95;flex-shrink:0}.pagination__btn--edge:hover:not(:disabled),.pagination__btn--edge:focus-visible:not(:disabled){background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);outline:none;box-shadow:0 2px 8px #0596691f,inset 0 1px #ffffff14}.pagination__btn--edge:hover:not(:disabled) .pagination__chevron,.pagination__btn--edge:focus-visible:not(:disabled) .pagination__chevron{color:var(--accent);opacity:1}.pagination__btn:active:not(:disabled){transform:scale(.98)}.pagination__btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.pagination__btn:disabled .pagination__chevron{opacity:.5}.pagination__info{justify-content:center;align-items:baseline;gap:var(--space-xs);min-height:48px;padding:0 var(--space-lg);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000000a}.pagination__info-current{font-size:1.125rem;font-weight:700;font-family:var(--heading);color:var(--accent);letter-spacing:-.02em}.pagination__info-sep{font-size:var(--text-xs);text-transform:lowercase;opacity:.85;font-weight:500}.pagination__info-total{color:var(--text-heading);font-weight:600}@media (width<=380px){.pagination__btn-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pagination__btn{padding-left:var(--space-md);padding-right:var(--space-md)}}@media (prefers-color-scheme:dark){.pagination__btn--edge:hover:not(:disabled),.pagination__btn--edge:focus-visible:not(:disabled){box-shadow:0 2px 12px #34d3991f,inset 0 1px #ffffff0a}}.cart-summary__backdrop{z-index:20;-webkit-tap-highlight-color:transparent;background:#00000073;animation:.22s ease-out cart-backdrop-in;position:fixed;inset:0}@keyframes cart-backdrop-in{0%{opacity:0}to{opacity:1}}.cart-summary{z-index:21;width:100%;max-width:100%;max-height:min(92dvh,640px);padding:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);border-bottom:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-content:stretch;margin:0;animation:.3s cubic-bezier(.32,.72,0,1) cart-sheet-in;display:grid;position:fixed;inset:auto 0 0;overflow:hidden}@keyframes cart-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cart-summary__backdrop{opacity:1;animation:none}.cart-summary{animation:none}}.cart-summary__close{top:var(--space-md);right:max(var(--space-sm), env(safe-area-inset-right));z-index:2;width:44px;height:44px;color:var(--text-heading);background:var(--bg-muted);border:1px solid var(--border);box-shadow:var(--shadow-xs);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .2s,transform .12s;display:flex;position:absolute}.cart-summary__close:hover,.cart-summary__close:focus-visible{background:var(--bg-card);outline:none}.cart-summary__close:active{transform:scale(.96)}.cart-summary__handle{width:40px;height:5px;margin:0 auto var(--space-sm);background:var(--border);opacity:.9;border-radius:999px;flex-shrink:0;display:block}.cart-summary__head{padding:var(--space-sm) var(--space-lg) var(--space-md);padding-right:max(52px, calc(44px + env(safe-area-inset-right)));border-bottom:1px solid var(--border);flex-direction:column;grid-row:1;align-items:stretch;display:flex;position:relative}.cart-summary__title{font-size:var(--text-lg);color:var(--text-heading);text-align:center;margin:0;font-weight:600}.cart-summary__body{overscroll-behavior:contain;touch-action:pan-y;min-height:0;max-height:100%;padding:var(--space-md);-webkit-overflow-scrolling:touch;grid-row:2;overflow:hidden auto}.cart-summary__empty{color:var(--text-muted);text-align:center;padding:var(--space-2xl);margin:0}.cart-summary__list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart-summary__item{gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs);display:flex}.cart-summary__item-img{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:64px;height:64px}.cart-summary__item-info{gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.cart-summary__item-name{font-size:var(--text-sm);color:var(--text-heading);font-weight:500}.cart-summary__item-price{font-size:var(--text-sm);color:var(--accent);font-weight:600}.cart-summary__item-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.cart-summary__qty-btn{width:32px;height:32px;color:var(--accent);background:var(--accent-bg);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:500;line-height:1;display:flex}.cart-summary__qty-btn:hover,.cart-summary__qty-btn:focus-visible{background:var(--accent);color:var(--bg);outline:none}.cart-summary__qty{text-align:center;min-width:24px;font-size:var(--text-sm);font-weight:500}.cart-summary__remove{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:12px;text-decoration:underline}.cart-summary__remove:hover,.cart-summary__remove:focus-visible{color:var(--accent);outline:none}.cart-summary__footer{padding:var(--space-lg);padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-muted);gap:var(--space-md);flex-direction:column;grid-row:3;display:flex}.cart-summary__message{font-size:var(--text-sm);margin:0}.cart-summary__message--success{color:var(--success)}.cart-summary__message--error{color:var(--error-text)}.cart-summary__total{font-size:1.35rem;font-weight:700;font-family:var(--heading);letter-spacing:-.02em;color:var(--text-heading);padding:var(--space-md);border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);text-align:center;margin:0}.cart-summary__confirm{width:100%;min-height:48px;padding:var(--space-md) var(--space-lg);font-size:var(--text-base);letter-spacing:.02em;color:var(--bg);background:linear-gradient(165deg, var(--accent) 0%, #047857 100%);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;font-weight:600;transition:filter .2s,transform .12s;box-shadow:0 4px 14px #05966959}@media (prefers-color-scheme:dark){.cart-summary__confirm{color:#0d0e12;background:linear-gradient(165deg,#34d399 0%,#059669 100%);box-shadow:0 4px 18px #34d3994d}}.cart-summary__confirm:hover:not(:disabled),.cart-summary__confirm:focus-visible:not(:disabled){filter:brightness(1.07);outline:none}.cart-summary__confirm:active:not(:disabled){transform:scale(.99)}.cart-summary__confirm:disabled{opacity:.7;cursor:not-allowed}.floating-cart-btn{bottom:max(var(--space-lg), env(safe-area-inset-bottom));z-index:15;align-items:center;gap:var(--space-sm);padding:14px var(--space-xl);font-size:var(--text-base);letter-spacing:.02em;color:var(--bg);background:linear-gradient(165deg, var(--accent) 0%, #047857 100%);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;font-weight:600;transition:filter .2s,transform .15s,box-shadow .2s;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #05966966,0 8px 32px -4px #0c0a1233,inset 0 1px #fff3}@media (prefers-color-scheme:dark){.floating-cart-btn{color:#0d0e12;background:linear-gradient(165deg,#34d399 0%,#059669 100%);box-shadow:0 4px 20px #34d39952,0 8px 32px #0006,inset 0 1px #ffffff40}}.floating-cart-btn:hover,.floating-cart-btn:focus-visible{filter:brightness(1.06);outline:none}.floating-cart-btn:active{transform:translate(-50%)scale(.98)}.floating-cart-btn__badge{min-width:22px;height:22px;font-size:var(--text-sm);text-align:center;color:var(--accent);background:var(--bg);box-shadow:var(--shadow-xs);border-radius:11px;padding:0 6px;font-weight:700;line-height:22px}@media (prefers-color-scheme:dark){.floating-cart-btn__badge{color:#047857}}.invalid-url{min-height:100vh;padding:var(--space-lg);padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));background:var(--bg-app);background-image:radial-gradient(ellipse 100% 60% at 50% -20%, var(--accent-soft), transparent 50%);justify-content:center;align-items:center;display:flex}.invalid-url__card{max-width:400px;padding:var(--space-xl);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-card);text-align:center}.invalid-url__title{letter-spacing:-.02em;color:var(--text-heading);margin:0 0 var(--space-md);font-size:1.25rem;font-weight:600}.invalid-url__text{font-size:var(--text-base);color:var(--text);margin:0;line-height:1.55}
