:root{--ink:#111;--ink-soft:#3d3a33;--paper:#f6f3ec;--paper-raised:#fffdf8;--paper-sunken:#efebe1;--stone:#8a8a88;--line:#e2ddd2;--signal:#f3e3a1;--signal-line:#e0cf87;--signal-deep:#6b6344;--danger:#b4332a;--font-display:"Unbounded", "Arial Black", system-ui, sans-serif;--font-text:"Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--motion-fast:.18s;--motion-base:.32s;--motion-slow:.64s;--easing:cubic-bezier(.2, 0, .1, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:1ms;--motion-base:1ms;--motion-slow:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@font-face{font-family:Unbounded;src:url(/assets/unbounded-cyrillic-C627f1f8.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;src:url(/assets/unbounded-latin-D5afBTBx.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;src:url(/assets/onest-cyrillic-DayYxulF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/assets/onest-latin-Dun_Rd-l.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;margin:0;font-size:16px;line-height:1.45}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}button,input,select,textarea{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}img,svg{max-width:100%}.app{background:var(--paper);min-height:100dvh;color:var(--ink);padding-bottom:calc(64px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.topbar{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-4) var(--space-2);position:sticky;top:0}.topbar h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.25rem}.topbar .place{color:var(--stone);margin:2px 0 0;font-size:.85rem}.ribbon{gap:var(--space-2);padding:var(--space-3) var(--space-4);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.ribbon::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--easing);background:0 0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;display:inline-flex}.ribbon .chip{text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.list{margin:0 0 var(--space-8);flex-direction:column;display:flex}.card{border:0;border-top:1px solid var(--line);background:var(--paper);width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-6) var(--space-4);cursor:pointer;gap:4px;display:grid}.card:first-child{border-top:0}.card:active{background:var(--paper-sunken)}.card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.card h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.card h3.handwritten,.sheet-body h2.handwritten{align-items:center;display:flex}.card h3.handwritten img,.sheet-body h2.handwritten img{object-fit:contain;width:auto;max-width:100%;height:1.7em}.card .out{color:var(--stone);flex:none;font-size:.8rem}.card p{color:var(--stone);max-width:52ch;margin:0;font-size:.85rem;line-height:1.35}.prices{gap:var(--space-2) var(--space-6);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.pcell{justify-items:start;gap:1px;display:grid}.pcell .vol{color:var(--stone);font-size:.8rem}.pcell .rub{font-family:var(--font-display);white-space:nowrap;font-size:.95rem;font-weight:700}.card-notes{align-items:center;gap:var(--space-2) var(--space-4);color:var(--ink-soft);flex-wrap:wrap;margin-top:2px;font-size:.8rem;display:flex}.note-brew{align-items:center;gap:5px;display:inline-flex}.card.gone{opacity:.45;cursor:not-allowed}.card.gone h3{text-decoration:line-through}.sheet-backdrop{z-index:20;background:#11111159;border:0;padding:0;position:fixed;inset:0}.sheet{z-index:21;background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88dvh;animation:rise var(--motion-base) var(--easing);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes rise{0%{transform:translateY(12%)}}.sheet-handle{background:linear-gradient(var(--line), var(--line)) center / 36px 4px no-repeat, transparent;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:24px;margin:var(--space-2) 0;cursor:pointer;border:0;padding:0;display:block}.sheet-body{padding:0 var(--space-4) var(--space-4);overflow-y:auto}.sheet h2{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:1.35rem}.sheet .lead{margin:0 0 var(--space-6);color:var(--stone);font-size:.9rem}.group{margin-bottom:var(--space-6)}.group h4{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.06em;color:var(--stone);font-size:.8rem}.options{gap:var(--space-2);flex-wrap:wrap;display:flex}.option{border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-sm);font:inherit;cursor:pointer;background:0 0;padding:10px 12px;font-size:.9rem}.option[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.option .delta{color:var(--stone);margin-left:6px;font-size:.82rem}.option[aria-pressed=true] .delta{color:var(--ink)}.primary{border-radius:var(--radius-md);background:var(--ink);width:100%;color:var(--paper);font:inherit;cursor:pointer;border:0;padding:16px;font-size:1.05rem;font-weight:600;display:block}.primary:disabled{opacity:.4;cursor:default}.sheet-footer{padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.qty{align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.qty button{border-radius:var(--radius-sm);border:1px solid var(--line);width:40px;height:40px;font:inherit;cursor:pointer;background:0 0;font-size:1.2rem}.qty span{text-align:center;min-width:2ch;font-weight:600}.dock{z-index:18;position:fixed;bottom:0;left:0;right:0}.bar{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--ink);width:100%;color:var(--paper);font:inherit;text-align:left;padding:12px var(--space-4);cursor:pointer;border:0;border-radius:0;display:flex}.bar:active{background:#000}.bar-left{gap:1px;min-width:0;display:grid}.bar-verb{font-family:var(--font-display);letter-spacing:-.01em;font-size:1rem;font-weight:700}.bar-count{opacity:.7;font-size:.78rem}.bar-right{align-items:center;gap:var(--space-2);flex:none;display:flex}.bar-sum{font-family:var(--font-display);font-size:1.25rem;font-weight:800;line-height:1}.bar-chev{opacity:.6;font-size:1.5rem;line-height:1}.rows{flex-direction:column;display:flex}.row{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);display:flex}.row .mods{color:var(--stone);margin-top:2px;font-size:.82rem}.row .price{white-space:nowrap;font-weight:600}.screen{padding:var(--space-4)}.total{margin:var(--space-4) 0;font-family:var(--font-display);justify-content:space-between;align-items:baseline;font-size:1.2rem;font-weight:700;display:flex}.await{text-align:center;place-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-4);flex:1;display:grid}.await .label{color:var(--stone);letter-spacing:.04em;text-transform:uppercase;font-size:.9rem}.await .number{font-family:var(--font-display);font-size:clamp(4rem,28vw,8rem);font-weight:800;line-height:.9}.await .status{font-size:1.1rem;font-weight:600}.await .eta{color:var(--stone)}.await.ready .spot{min-width:120px;padding:var(--space-4) var(--space-6);background:var(--signal);border-radius:var(--radius-md);place-content:center;display:inline-grid}.await.ready .spot .cell{font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1}.await.ready .spot .caption{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.nav{background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid}.nav button{color:var(--stone);font:inherit;cursor:pointer;background:0 0;border:0;padding:12px 0 14px;font-size:.92rem}.nav button[aria-current=page]{color:var(--ink);font-weight:600}.nav .badge{background:var(--ink);min-width:18px;color:var(--paper);border-radius:9px;margin-left:4px;padding:0 5px;font-size:.7rem;line-height:18px;display:inline-block}.field{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--ink);margin-bottom:var(--space-3);background:0 0;padding:14px;font-size:1.05rem}.note{color:var(--stone);font-size:.85rem;line-height:1.45}.error{color:var(--danger);margin:var(--space-2) 0;font-size:.9rem}.muted-screen{place-content:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4);color:var(--stone);display:grid}.outcomes{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.outcome{border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;padding:14px}.outcome b{display:block}.outcome span{color:var(--stone);font-size:.85rem}.home{gap:var(--space-6);padding-bottom:var(--space-8);flex-direction:column;display:flex}.block{padding:0 var(--space-4)}.block-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:1.05rem}.cart-line{padding:var(--space-4) 0;align-items:flex-start}.cart-main{flex:1;min-width:0}.cart-name{font-size:1.05rem;font-weight:600}.parts{margin:var(--space-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.parts li{justify-content:space-between;gap:var(--space-3);color:var(--stone);font-size:.88rem;display:flex}.parts .part-price{white-space:nowrap;color:var(--ink)}.cart-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.cart-actions .qty{margin-bottom:0}.option.gone{opacity:.45;cursor:not-allowed;text-decoration:line-through}.option.gone .delta{font-family:var(--font-text);color:var(--stone);text-transform:lowercase;font-size:.8rem;font-weight:400}.cart-line.gone{border-left:3px solid var(--danger);padding-left:var(--space-3)}.gone-note{margin:2px 0 var(--space-2);color:var(--danger);font-size:.85rem}.cancel-own{gap:var(--space-2);justify-items:center;display:grid}.cancel-row{gap:var(--space-2);display:flex}.chip.danger{border-color:var(--danger);color:var(--danger)}.refund{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;display:grid}.refund .why{font-weight:600}.refund .sum{color:var(--stone);font-size:.9rem;line-height:1.4}.install{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md);text-align:left;display:flex}.install-text{color:var(--stone);flex:1;font-size:.85rem;line-height:1.45}.install-text b{color:var(--ink);white-space:nowrap;font-weight:600}.screen.login{text-align:center;margin-top:14dvh}.screen.login h1{font-family:var(--font-display);letter-spacing:-.01em;margin:var(--space-4) 0 var(--space-2);font-size:1.6rem;font-weight:800}.screen.login .logo{width:64px;height:64px}.screen.login .note{max-width:34ch;margin-inline:auto}.screen.login .field,.screen.login .primary{text-align:center}.anim-dripper{color:var(--ink);vertical-align:-5px;flex:none}.anim-drop{animation:drip 1.6s var(--easing) infinite;transform-origin:50%}@keyframes drip{0%,55%{opacity:0;transform:translateY(0)}60%{opacity:1}90%{opacity:1;transform:translateY(5px)}to{opacity:0;transform:translateY(6px)}}.anim-pour{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-soft);font-size:.85rem;line-height:1.4;display:flex}.anim-pour svg{color:var(--ink);flex:none}.anim-stream{stroke-dasharray:13;stroke-dashoffset:13px;animation:pour var(--motion-slow) var(--easing) .12s forwards}@keyframes pour{to{stroke-dashoffset:0}}.anim-ring{padding:var(--space-4) var(--space-6);color:var(--ink);place-items:center;display:inline-grid;position:relative}.anim-ring svg{width:100%;height:100%;position:absolute;inset:0}.anim-ring-line{stroke-dasharray:680;stroke-dashoffset:680px;animation:draw-ring var(--motion-slow) var(--easing) 80ms forwards}@keyframes draw-ring{to{stroke-dashoffset:0}}.anim-ring-body{position:relative}.await.ready .anim-ring{color:var(--signal-deep)}.active-card.is-ready .num{position:relative}.active-card.is-ready .num:after{content:"";border-radius:var(--radius-md);border:2px solid var(--ink);opacity:.35;animation:ready-pulse 1.8s var(--easing) infinite;position:absolute;inset:-6px -14px}@keyframes ready-pulse{0%{opacity:.9;transform:scale(.96)}60%{opacity:0;transform:scale(1.06)}to{opacity:0;transform:scale(1.06)}}.splash{flex:1;min-height:100dvh;display:flex;position:relative}.splash-bg{z-index:0;background:var(--ink);position:fixed;inset:0}.splash-media{object-fit:cover;width:100%;height:100%;display:block}.splash-scrim{background:linear-gradient(#11111173,#1113 35%,#111111d1);position:absolute;inset:0}.splash-body{z-index:1;justify-content:flex-end;gap:var(--space-6);padding:var(--space-8) var(--space-4) calc(96px + env(safe-area-inset-bottom));color:var(--paper);flex-direction:column;flex:1;display:flex;position:relative}.splash-brand{text-align:center;margin-top:auto}.splash-brand .mark{filter:invert()}.splash-brand h1{margin:var(--space-3) 0 0;font-family:var(--font-display);letter-spacing:-.02em;color:var(--paper);font-size:clamp(1.8rem,9vw,2.6rem);font-weight:800;line-height:1}.splash-brand .place{margin:var(--space-2) 0 0;opacity:.8;font-size:.9rem}.splash-active{gap:var(--space-2);display:grid}.active-card{border-radius:var(--radius-md);background:var(--paper);width:100%;color:var(--ink);font:inherit;text-align:center;padding:var(--space-4) var(--space-4) var(--space-6);cursor:pointer;border:0;justify-items:center;gap:2px;display:grid}.active-card .label{text-transform:uppercase;letter-spacing:.1em;color:var(--stone);font-size:.7rem}.active-card .num{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(3rem,16vw,4.5rem);font-weight:800;line-height:.95}.active-card .st{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);width:100%;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.active-card .sub{color:var(--stone);font-size:.95rem}.active-card.is-ready{background:var(--signal)}.active-card.is-ready .label,.active-card.is-ready .sub{color:var(--signal-deep)}.active-card.is-ready .st{border-color:var(--signal-line)}.active-card.is-ready .sub{font-family:var(--font-display);color:var(--ink);font-size:1.05rem;font-weight:700}.splash-actions{gap:var(--space-2);display:grid}.big{border-radius:var(--radius-md);background:var(--paper);width:100%;color:var(--ink);font:inherit;cursor:pointer;border:0;padding:18px;font-size:1.05rem;font-weight:600}.big:disabled{opacity:.5;cursor:default}.big.ghost{color:var(--paper);background:0 0;box-shadow:inset 0 0 0 1px #f6f3ec8c}.past{flex-direction:column;display:flex}.past-row{align-items:center;gap:var(--space-3);border-top:1px solid var(--line);padding:var(--space-4) 0;display:flex}.past-row:first-child{border-top:0}.past-open{justify-content:space-between;align-items:baseline;gap:var(--space-4);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.past-again{border:1px solid var(--ink);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:8px 14px;font-size:.82rem}.past-main{gap:2px;display:grid}.past-what{font-family:var(--font-display);font-size:1rem;font-weight:700}.past-rest{font-family:var(--font-text);color:var(--stone);margin-left:8px;font-size:.85rem;font-weight:400}.past-when{color:var(--stone);font-size:.85rem}.past-sum{font-family:var(--font-display);flex:none;font-weight:700}.anim-dripper.is-still .anim-drop{opacity:1;animation:none}.sheet-body h2.handwritten{margin:0 0 var(--space-2)}.nutrition{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--stone);font-size:.78rem;line-height:1.45}.app:has(.bar){padding-bottom:calc(120px + env(safe-area-inset-bottom))}.app:has(.splash){padding-bottom:0}.cart-size{color:var(--stone);font-family:var(--font-text);margin-left:8px;font-size:.85rem;font-weight:400}.pick-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-4) 0;cursor:pointer;background:0 0;display:flex}.pick-row:first-child{border-top:0}.avatar{top:calc(var(--space-3) + env(safe-area-inset-top));right:var(--space-4);z-index:20;width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f6f3eceb;border:0;border-radius:999px;place-items:center;display:grid;position:fixed;box-shadow:0 1px 4px #1111111f}.back{color:var(--stone);font:inherit;padding:0 0 var(--space-3);cursor:pointer;background:0 0;border:0;font-size:.9rem}.order-items{width:100%;max-width:420px;margin:var(--space-4) auto 0;text-align:left}.order-item{justify-content:space-between;align-items:baseline;gap:var(--space-4);border-top:1px solid var(--line);padding:var(--space-3) 0;display:flex}.order-item:first-child{border-top:0}.await.ready .order-item{border-color:var(--signal-line)}.oi-name{font-weight:600}.oi-size,.oi-qty{color:var(--stone);margin-left:8px;font-size:.85rem;font-weight:400}.oi-mods{color:var(--stone);margin-top:2px;font-size:.85rem;line-height:1.35}.oi-sum{font-family:var(--font-display);flex:none;font-weight:700}.order-item.struck .oi-name,.order-item.struck .oi-mods,.order-item.struck .oi-sum{color:var(--stone);text-decoration:line-through}.add-more{width:100%;margin-top:var(--space-2);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--ink);font:inherit;cursor:pointer;background:0 0;padding:14px;font-size:.95rem}.add-more:active{background:var(--paper-sunken)}.quiet{width:100%;margin-top:var(--space-3);border-radius:var(--radius-md);color:var(--stone);font:inherit;cursor:pointer;background:0 0;border:0;padding:14px;font-size:.95rem}.quiet:active{background:var(--paper-sunken)}.back-fab{top:calc(var(--space-3) + env(safe-area-inset-top));left:var(--space-4);z-index:20;width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f6f3eceb;border:0;border-radius:999px;place-items:center;font-size:1.2rem;line-height:1;display:grid;position:fixed;box-shadow:0 1px 4px #1111111f}.await.ready .back-fab{box-shadow:none;background:#11111114}.quiet.danger{color:var(--danger)}
