:root{--bg:#090c12;--surface:#121721;--surface2:#1b212c;--border:#28303e;--muted:#8791a1;--white:#f4f5f7;--lime:#bdff76;--lime2:#a4eb60;--radius:21px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--white);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 560px 320px at 100% -140px,#23302250,transparent 75%),var(--bg);min-height:100dvh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.hidden{display:none!important}#root{width:100%;max-width:700px;margin:0 auto;min-height:100dvh;padding-bottom:calc(91px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;background:#090c12ee;backdrop-filter:blur(22px);display:flex;justify-content:space-between;align-items:center;padding:17px 20px 14px;border-bottom:1px solid #1e2530}.brand{display:flex;align-items:center;gap:11px}.brand-mark{height:40px;width:40px;border:1px solid #8fbd613d;background:#b6fa7140;display:grid;place-items:center;border-radius:12px;color:var(--lime);font-size:27px}.brand-name{font-size:14px;letter-spacing:.15em;font-weight:850;line-height:1.35}.brand-sub{font-size:10px;color:var(--muted);letter-spacing:.02em;margin-top:1px}.online-dot{display:inline-block;width:6px;height:6px;margin-left:3px;border-radius:50%;background:var(--lime)}.top-cart{position:relative;display:grid;place-items:center;background:#171d27;border:1px solid #262d39;border-radius:13px;height:42px;width:42px;color:white;font-size:20px}.top-cart em{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:1px 3px;background:var(--lime);color:#10170b;border-radius:50%;font-size:10px;line-height:16px;font-weight:800;font-style:normal;text-align:center}.page{padding:18px 19px 20px}.hero{position:relative;overflow:hidden;min-height:235px;border:1px solid #3f4a40;border-radius:23px;background:linear-gradient(115deg,#1f3026 0%,#263626 43%,#0f1d1a 100%);padding:25px 21px;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#12231ad9 0%,#12231ab9 49%,#12231a10 100%);z-index:-1}.hero-text{position:relative;z-index:2}.hero-label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:800;color:var(--lime);letter-spacing:.18em;margin-bottom:17px}.hero-line{background:var(--lime);height:1px;width:19px}.hero h1{font-size:clamp(26px,6.7vw,42px);line-height:1.06;letter-spacing:-.055em;margin:0;max-width:320px}.hero h1 span{color:var(--lime)}.hero p{font-size:12px;line-height:1.6;color:#c6d0c4;max-width:230px;margin:12px 0 17px}.hero-button{background:var(--lime);border:0;border-radius:11px;color:#141e10;font-size:12px;font-weight:800;padding:12px 15px;display:inline-flex;align-items:center;gap:15px}.hero-button span{font-size:17px;line-height:9px}.hero-visual{position:absolute;right:-17px;top:0;bottom:0;width:54%;z-index:0}.hero-halo{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,#b7f16d77,transparent 67%);top:-20px;right:-70px}.hero-big{position:absolute;font-size:188px;line-height:1;color:#c4fda1a1;text-shadow:0 10px 60px #cbff827a;transform:rotate(-18deg);right:0;top:16px;filter:drop-shadow(0 17px 18px #0006)}.hero-orbit{position:absolute;right:150px;top:40px;color:#e9ffb9;font-size:29px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:29px 2px 16px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:850;color:var(--lime)}h2{margin:5px 0 0;font-size:24px;line-height:1.2;letter-spacing:-.04em}.count-chip{font-size:11px;color:var(--muted);background:#202530;padding:3px 7px;border-radius:7px;vertical-align:middle;margin-left:4px;letter-spacing:0}.stock-note{font-size:10px;color:#b9c1c1;white-space:nowrap;padding-bottom:6px}.green-dot{display:inline-block;background:var(--lime);height:6px;width:6px;border-radius:50%;margin-right:5px}.search-wrap{display:flex;align-items:center;gap:11px;width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:13px;background:#151a23}.search-wrap svg{height:19px;width:19px;stroke:#8994a4;stroke-width:2;fill:none;stroke-linecap:round}.search-wrap input{width:100%;min-width:0;outline:none!important;color:#fff;border:0;background:transparent;font-size:13px}.search-wrap input::placeholder{color:#747e8c}.clear-search{border:0;background:transparent;color:#acb3bf;font-size:24px;line-height:1}.categories{display:flex;gap:8px;overflow:auto;padding:15px 0 17px;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{flex:none;border-radius:10px;border:1px solid #303640;background:#191e28;padding:10px 12px;font-weight:650;color:#b6becc;font-size:11px}.category.active{border-color:var(--lime);background:var(--lime);color:#132006}.category .emoji{margin-right:5px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{overflow:hidden;border:1px solid #272e3b;background:#151b24;border-radius:17px;min-width:0;transition:transform .1s}.product-card:active{transform:scale(.99)}.product-cover{position:relative;aspect-ratio:1.09;background:radial-gradient(circle at 50% 28%,#516a44 0%,#243126 44%,#151b22 100%);overflow:hidden;display:grid;place-items:center;cursor:pointer}.product-cover img{width:100%;height:100%;object-fit:contain;padding:10px;filter:drop-shadow(0 12px 18px #00000055)}.product-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#10182035,transparent 55%)}.cover-placeholder{font-size:62px;filter:drop-shadow(0 12px 14px #050810bb)}.product-tag{position:absolute;z-index:1;top:10px;left:10px;padding:5px 8px;background:#131922d9;color:#e0e9da;font-size:9px;letter-spacing:.02em;border:1px solid #3f4c3d;border-radius:7px}.product-tag.out{color:#e0b2a8}.product-body{padding:12px}.product-category{font-size:9px;color:var(--lime);font-weight:750;letter-spacing:.09em;text-transform:uppercase}.product-name{font-size:13px;font-weight:700;line-height:1.37;margin:7px 0 8px;min-height:35px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-description{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:13px}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:5px}.price{font-size:16px;letter-spacing:-.04em;font-weight:850;white-space:nowrap}.add-product{height:34px;width:34px;display:grid;place-items:center;background:var(--lime);border:none;border-radius:10px;color:#152008;font-size:25px;font-weight:500;flex:none}.add-product:disabled{background:#303944;color:#737e8b}.after-catalog{margin-top:24px;color:#748091;font-size:10px;text-align:center;line-height:1.8}.empty{text-align:center;border:1px dashed #36404b;border-radius:18px;padding:40px 16px;margin-top:8px}.empty-visual{font-size:42px;margin-bottom:10px}.empty h3{font-size:17px;margin:0 0 7px}.empty p{color:var(--muted);font-size:12px;line-height:1.7;max-width:300px;margin:0 auto 16px}.secondary-btn{border:1px solid #394353;color:#f6f7fa;background:#1e2733;padding:10px 14px;border-radius:11px;font-weight:700}.bottom-nav{position:fixed;max-width:700px;left:50%;transform:translateX(-50%);bottom:0;width:100%;z-index:18;background:#111620f4;backdrop-filter:blur(22px);border-top:1px solid #2a313d;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;border:none;color:#7f8998;font-size:10px;font-weight:650;padding:4px}.nav-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-item.selected{color:var(--lime)}.nav-badge{position:absolute;top:-2px;right:calc(50% - 25px);font-size:9px;min-width:15px;text-align:center;background:var(--lime);color:#172106;border-radius:20px;padding:2px 4px}.page-title{margin:22px 2px 21px;display:flex;justify-content:space-between;align-items:end}.page-title h1{font-size:36px;letter-spacing:-.06em;margin:7px 0 0}.green-period{color:var(--lime)}.title-stamp{font-size:10px;color:#667180}.cart-item{display:flex;gap:13px;align-items:center;padding:13px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:10px}.cart-thumb{width:70px;height:73px;border-radius:12px;background:linear-gradient(145deg,#314035,#1c232b);display:grid;place-items:center;font-size:31px;overflow:hidden;flex:none}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-info{flex:1;min-width:0}.cart-info strong{display:block;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cart-info small{color:var(--muted);font-size:10px}.cart-qty-line{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:8px}.qty-controls{display:inline-flex;align-items:center;gap:13px;background:#212a34;border-radius:9px;padding:5px}.qty-controls button{background:transparent;color:#f3f4f3;border:0;padding:0 4px;font-size:16px}.qty-controls span{min-width:12px;text-align:center;font-size:12px}.cart-summary{margin-top:20px;border:1px solid var(--border);border-radius:15px;background:#161e25;padding:18px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#cbd1d9}.summary-row strong{font-size:23px;color:white}.primary-btn{width:100%;background:var(--lime);color:#14210b;padding:16px 15px;border:0;border-radius:13px;font-size:14px;font-weight:850;margin-top:15px}.primary-btn:active{background:var(--lime2)}.order-card{padding:16px;border:1px solid var(--border);background:var(--surface);border-radius:15px;margin-bottom:12px}.order-top{display:flex;justify-content:space-between;align-items:center}.order-top strong{font-size:15px}.order-card p{font-size:11px;color:var(--muted)}.status{padding:7px 9px;border-radius:9px;background:#323b2e;color:var(--lime);font-weight:750;font-size:10px}.status.cancelled{background:#412e32;color:#ffada6}.status.completed{background:#253c36;color:#94e1bb}.profile-card,.pref-card,.info-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);background:var(--surface);border-radius:17px;margin-bottom:12px}.profile-avatar{height:54px;width:54px;display:grid;place-items:center;background:linear-gradient(145deg,#caff86,#5ca46c);border-radius:17px;font-size:29px;color:#14220f;flex:none}.profile-card strong,.profile-card span{display:block}.profile-card strong{font-size:15px;margin-bottom:4px}.profile-card span{font-size:11px;color:var(--muted)}.profile-check{margin-left:auto;font-size:20px!important;color:var(--lime)!important}.pref-card{align-items:center}.pref-card>div{flex:1}.pref-card h3{margin:0 0 7px;font-size:14px}.pref-card p,.info-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.switch{position:relative;width:48px;height:28px;flex:none}.switch input{opacity:0;position:absolute}.switch span{display:block;position:absolute;inset:0;background:#434954;border-radius:20px;transition:background .2s}.switch span:before{content:"";position:absolute;width:20px;height:20px;top:4px;left:4px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+span{background:#9bda61}.switch input:checked+span:before{transform:translateX(20px);background:#11200a}.info-card{align-items:flex-start}.info-card>span{font-size:26px}.info-card strong{font-size:13px;display:block;margin-bottom:5px}.overlay{position:fixed;z-index:45;inset:0;background:#000b;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#131a22;border:1px solid #35404c;width:100%;max-width:700px;border-radius:23px 23px 0 0;padding:14px 20px calc(27px + env(safe-area-inset-bottom));max-height:94dvh;overflow:auto;box-shadow:0 -18px 70px #0008}.sheet-handle{height:4px;width:40px;background:#4b5664;border-radius:8px;margin:0 auto 18px}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sheet-head h2{font-size:23px}.close{background:#303845;color:white;border:0;height:34px;width:34px;border-radius:10px;font-size:24px;line-height:24px}.detail-cover{height:240px;border-radius:16px;background:radial-gradient(circle,#3c513c,#172226);display:grid;place-items:center;font-size:92px;overflow:hidden;margin:12px 0 22px}.detail-cover img{height:100%;width:100%;object-fit:contain}.detail-desc{font-size:13px;line-height:1.7;color:#abb5c3}.detail-meta{display:flex;justify-content:space-between;align-items:center;margin:20px 0 6px}.detail-meta strong{font-size:27px}.detail-meta span{color:var(--lime);font-size:12px}.muted{color:var(--muted);font-size:12px;line-height:1.6}.form-label{display:block;font-size:11px;color:#cfd5dd;margin:17px 0 8px;font-weight:700}.checkout-sheet input,.checkout-sheet textarea{width:100%;background:#202832;border:1px solid #394251;color:#fff;border-radius:11px;padding:13px;font-size:14px;outline:none}.checkout-sheet textarea{resize:vertical}.checkout-total{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:16px 0;border-top:1px solid #37414d}.checkout-total span{color:var(--muted);font-size:11px;max-width:170px}.checkout-total strong{font-size:20px;white-space:nowrap}.age-overlay{position:fixed;z-index:60;inset:0;background:#06090ef8;display:grid;place-items:center;padding:18px}.age-card{max-width:390px;width:100%;background:radial-gradient(ellipse 200px 170px at 50% -20px,#283e2799,transparent),#161d25;border:1px solid #344332;border-radius:24px;text-align:center;padding:29px 24px 25px}.age-symbol{width:84px;height:84px;border:2px solid var(--lime);border-radius:50%;color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:850;margin:0 auto 26px}.age-symbol span{font-size:20px}.age-card h2{font-size:25px;margin:12px 0}.age-card p{font-size:12px;color:#aab4bf;line-height:1.7;margin:10px 0 24px}.agree{display:flex;gap:10px;align-items:center;text-align:left;padding:12px 0;border-top:1px solid #313943;font-size:12px;color:#d8e0de;line-height:1.45}.agree input{accent-color:var(--lime);width:18px;height:18px;flex:none}.toast{position:fixed;left:50%;bottom:calc(95px + env(safe-area-inset-bottom));transform:translate(-50%,35px);background:#efffe5;color:#17260f;padding:12px 18px;border-radius:11px;box-shadow:0 9px 30px #0008;z-index:90;max-width:min(90vw,450px);min-width:180px;font-size:12px;font-weight:800;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.loading{color:var(--muted);text-align:center;grid-column:1/-1;padding:30px 0;font-size:13px}
@media(min-width:540px){.hero{min-height:260px;padding:31px}.hero h1{font-size:40px}.hero-visual{right:60px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-cover{aspect-ratio:1.12}.page{padding:20px 24px}.topbar{padding:20px 24px}.product-name{font-size:14px}}
@media(max-width:345px){.hero h1{font-size:25px}.hero-visual{right:-50px}.product-card .price{font-size:14px}.product-body{padding:9px}.category{padding:9px 10px}}

/* Бонусная программа (раздел Mini App). */
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.nav-item{font-size:9px;gap:4px}.nav-item svg{width:22px;height:22px}
.bonus-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:20px;margin:12px 0}
.bonus-icon{font-size:44px;display:block;margin-bottom:8px}
.bonus-card h2{font-size:23px;letter-spacing:-.04em;margin:7px 0 10px}
.bonus-card h3{font-size:16px;margin:0 0 12px}
.bonus-card p{color:#bac4ce;font-size:12px;line-height:1.65;margin:8px 0 14px}
.bonus-progress-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:10px}
.bonus-progress-head strong{font-size:12px}.bonus-progress-head b{color:var(--lime);font-size:15px}
.bonus-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}
.bonus-progress span{height:9px;border-radius:8px;background:#37404b}
.bonus-progress span.filled{background:var(--lime)}
.bonus-explain{font-size:10px!important;color:#83909f!important;margin-bottom:0!important}
.bonus-link{background:#202a32;border:1px solid #405044;color:#d5f9bd;border-radius:10px;padding:13px;overflow-wrap:anywhere;font-size:12px}
.bonus-share{width:100%;margin-top:8px}
.bonus-result{font-size:14px!important;color:#f7faf6!important;font-weight:750}
.bonus-card .primary-btn:disabled{background:#465143;color:#aeb4ac}
.bonus-rules{margin:16px 2px 30px;background:#171f29;border:1px solid #34414c;border-radius:15px;padding:16px}
.bonus-rules summary{font-size:13px;font-weight:750;cursor:pointer}
.bonus-rules p{font-size:12px;line-height:1.65;color:#bec8d1}

/* Курьер: баннер и короткая анкета в том же стиле, что Mini App. */
.courier-banner{display:block;width:100%;padding:0;margin:16px 0 27px;border:1px solid #4e6941;
  border-radius:19px;overflow:hidden;background:#121b18;cursor:pointer;box-shadow:0 8px 30px #0004}
.courier-banner img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.courier-banner:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.courier-page-banner{display:block;width:100%;border-radius:18px;margin:8px 0 19px;border:1px solid #425a36}
.courier-form-card,.courier-result{background:var(--surface);border:1px solid var(--border);border-radius:19px;padding:22px;margin:12px 0 25px}
.courier-form-card h2,.courier-result h2{font-size:22px;margin:0 0 8px}
.courier-form-card p,.courier-result p{font-size:12px;line-height:1.7;color:#b1bcc7;margin:0 0 13px}
.courier-form-card .form-label{margin-top:15px}
.courier-form-card .form-label span{color:var(--lime)}
.courier-form-card .form-label .optional{color:#8797a5;font-size:10px;font-weight:400;margin-left:6px}
.courier-form-card input,.courier-form-card textarea{display:block;width:100%;padding:14px 12px;border-radius:12px;border:1px solid #3b4854;
  background:#202832;color:#fff;outline:0;font:inherit;font-size:14px;box-sizing:border-box}
.courier-form-card input:focus,.courier-form-card textarea:focus{border-color:var(--lime)}
.courier-form-card textarea{resize:vertical}
.courier-form-card .primary-btn{margin-top:22px}
.courier-success{width:62px;height:62px;border-radius:50%;border:2px solid var(--lime);display:grid;place-items:center;
  font-size:32px;color:var(--lime);margin:0 auto 18px}
.courier-result{text-align:center}
.courier-result .secondary-btn{margin-top:10px;width:100%}


/* 1.3: слайдер объявлений — свайп на телефоне и кнопки на компьютере. */
.promo-carousel{width:100%;min-width:0}
.promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;
  border-radius:23px;}
.promo-track::-webkit-scrollbar{display:none}
.promo-slide{flex:0 0 100%;width:100%;min-width:0;aspect-ratio:4 / 3;min-height:255px;
  scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;border-radius:23px}
.promo-slide > .hero,.promo-slide > .courier-banner{height:100%;width:100%;margin:0;min-height:0;border-radius:23px}
.promo-slide .courier-banner{display:block;padding:0;box-shadow:none}
.promo-slide .courier-banner img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.promo-slide .hero{display:flex;align-items:center;padding:clamp(17px,5vw,30px)}
.promo-slide .hero h1{font-size:clamp(23px,6vw,40px);line-height:1.1}
.promo-slide .hero p{max-width:220px}
.promo-controls{display:flex;justify-content:center;align-items:center;gap:13px;padding:13px 0 4px}
.promo-arrow{width:32px;height:32px;line-height:26px;display:grid;place-items:center;border:1px solid #364238;
  border-radius:10px;background:#19221e;color:var(--lime);font-size:27px;flex:none}
.promo-arrow:disabled{opacity:.3}
.promo-dots{display:flex;gap:8px;align-items:center}
.promo-dot{background:#39463c;border:0;width:8px;height:8px;border-radius:99px;padding:0;transition:width .15s,background .15s}
.promo-dot.active{width:24px;background:var(--lime)}
.promo-count{font-size:10px;color:#b2bcb0;min-width:26px;font-variant-numeric:tabular-nums}
@media(min-width:540px){.promo-slide .hero{padding:31px}}
@media(max-width:345px){.promo-slide .hero h1{font-size:23px}.promo-slide .hero p{font-size:11px;margin:8px 0 11px}}
@media(prefers-reduced-motion:reduce){.promo-track{scroll-behavior:auto!important}}

.hot-banner{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:23px;overflow:hidden;line-height:0}.hot-banner img{display:block;width:100%;height:auto;border-radius:23px;border:1px solid #3f4a40;box-shadow:0 10px 40px #00000033}
