:root{--color-primary:#ff6b35;--color-primary-hover:#f7931e;--color-secondary:#004e89;--color-accent:#f7931e;--color-success:#2ecc71;--color-success-text:#27ae60;--color-danger:#e74c3c;--color-text:#2c3e50;--color-text-muted:#5b6b7a;--color-text-meta:#8a97a3;--color-text-faint:#b4bec7;--color-bg:#f8f9fa;--color-card:#ffffff;--color-border:#edf0f3;--color-input-border:#d7dee4;--color-disabled:#c3ccd4;--color-sidebar-root:#1b2a38;--tint-orange:#fff3ec;--tint-blue:#eaf2f8;--tint-green:#eaf9f0;--tint-red:#fdedeb;--tint-gray:#f1f4f7;--lane-quick:var(--color-primary);--lane-partner:var(--color-secondary);--lane-pickup:var(--color-success-text);--grad-primary:linear-gradient(150deg,#ff6b35,#f7931e);--grad-secondary:linear-gradient(150deg,#004e89,#0068b4);--font-heading:"Poppins",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-card:12px;--radius-card-lg:16px;--radius-control:8px;--radius-input:10px;--radius-pill:20px;--shadow-card:0 2px 8px rgba(0,0,0,0.05);--shadow-hover:0 6px 16px rgba(255,107,53,0.16);--shadow-modal:0 20px 60px rgba(0,0,0,0.3);--focus-ring:0 0 0 3px rgba(255,107,53,0.15);--ease-standard:cubic-bezier(0.25,0.46,0.45,0.94);--duration-fast:200ms;--duration-base:300ms;--duration-slow:400ms;--max-content:1200px;--touch-target:48px}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);margin:0}h1{font-size:22px;font-weight:700}h2{font-size:18px}h2,h3{font-weight:600}h3{font-size:16px}p{margin:0 0 var(--space-3)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-secondary)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-control)}.muted{color:var(--color-text-muted)}.meta{color:var(--color-text-meta);font-size:13px}.mono{font-family:var(--font-mono)}.screen{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--color-card);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);min-height:56px}.topbar h1{font-size:18px;flex:1 1}.content{flex:1 1;padding:var(--space-4);padding-bottom:calc(72px + env(safe-area-inset-bottom));max-width:640px;width:100%;margin:0 auto}.bottomnav{position:fixed;left:0;right:0;bottom:0;background:var(--color-card);border-top:1px solid var(--color-border);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:10}.bottomnav button{flex:1 1;min-height:var(--touch-target);border:0;background:none;color:var(--color-text-muted);font-size:12px;font-weight:600;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px}.bottomnav button[aria-current=page]{color:var(--color-primary)}.bottomnav .ico{font-size:20px;line-height:1}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.badge.live{background:var(--tint-green);color:var(--color-success-text)}.badge.off{background:var(--tint-gray);color:var(--color-text-muted)}.badge.warn{background:var(--tint-orange);color:var(--color-primary)}.badge.danger{background:var(--tint-red);color:var(--color-danger)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-card);margin-bottom:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-3)}.row.between{justify-content:space-between}.stack{gap:var(--space-3)}.field,.stack{display:flex;flex-direction:column}.field{gap:6px;margin-bottom:var(--space-4)}.field label{font-weight:600;font-size:14px}.field .hint{color:var(--color-text-meta);font-size:12px}.input,select.input,textarea.input{width:100%;min-height:var(--touch-target);padding:10px 12px;border:1px solid var(--color-input-border);border-radius:var(--radius-input);background:var(--color-card)}.input:focus{border-color:var(--color-primary)}textarea.input{min-height:80px;resize:vertical}.error{color:var(--color-danger)}.error,.ok{font-size:13px}.ok{color:var(--color-success-text)}.btn{min-height:var(--touch-target);padding:10px 18px;border-radius:var(--radius-control);border:1px solid transparent;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background var(--duration-fast) var(--ease-standard)}.btn.primary{background:var(--color-primary);color:#fff}.btn.primary:hover{background:var(--color-primary-hover)}.btn.secondary{background:var(--color-card);border-color:var(--color-input-border)}.btn.ghost,.btn.secondary{color:var(--color-secondary)}.btn.ghost{background:none}.btn.danger{background:var(--tint-red);color:var(--color-danger)}.btn.block{width:100%}.btn.lg{min-height:56px;font-size:17px}.btn:disabled{opacity:.5;cursor:default}.openswitch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card-lg);padding:var(--space-3) var(--space-4)}.openswitch .state{font-family:var(--font-heading);font-weight:700;font-size:20px}.toggle{width:64px;height:36px;border-radius:18px;border:0;background:var(--color-disabled);position:relative;transition:background var(--duration-base);flex-shrink:0}.toggle:after{content:"";position:absolute;top:4px;left:4px;width:28px;height:28px;border-radius:50%;background:#fff;transition:left var(--duration-base)}.toggle[aria-checked=true]{background:var(--color-success)}.toggle[aria-checked=true]:after{left:32px}.product{display:flex;gap:var(--space-3);align-items:flex-start}.thumb{width:64px;height:64px;border-radius:var(--radius-control);background:var(--tint-orange);object-fit:cover;flex-shrink:0;display:grid;place-items:center;font-size:26px}.offer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px dashed var(--color-border)}.offer:first-of-type{border-top:0}.price{font-weight:700;color:var(--color-primary);background:none;border:0;padding:4px 6px;border-radius:var(--radius-control);text-align:left}.price:hover{background:var(--tint-orange)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--color-input-border);border-radius:var(--radius-control);overflow:hidden}.stepper button{width:40px;height:40px;border:0;background:var(--color-card);font-size:20px}.stepper button:disabled{color:var(--color-disabled)}.stepper span{min-width:44px;text-align:center;font-weight:700;font-family:var(--font-mono)}.fab{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:11;box-shadow:var(--shadow-hover);border-radius:28px;min-height:56px;padding:0 22px}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--color-card);width:100%;max-width:640px;max-height:92dvh;overflow:auto;border-radius:var(--radius-card-lg) var(--radius-card-lg) 0 0;padding:var(--space-4);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-modal);animation:up var(--duration-base) var(--ease-standard)}@keyframes up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet h2{margin-bottom:var(--space-2)}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--color-text);color:#fff;padding:10px 16px;border-radius:var(--radius-pill);font-size:14px;z-index:30;max-width:90vw;box-shadow:var(--shadow-modal)}.toast.danger{background:var(--color-danger)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:var(--radius-pill);border:1px solid var(--color-input-border);background:var(--color-card);font-size:14px;min-height:40px}.chip[aria-pressed=true]{background:var(--tint-orange);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.suggest{position:absolute;left:0;right:0;top:100%;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-hover);z-index:5;max-height:200px;overflow:auto}.suggest button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:none}.suggest button:hover{background:var(--tint-gray)}.codebox{font-family:var(--font-mono);font-size:32px;letter-spacing:.3em;text-align:center}input[type=range]{width:100%;accent-color:var(--color-primary)}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--tint-orange);color:var(--color-primary);font-weight:600;font-size:13px;border:0;max-width:60vw}.pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search{flex:1 1;display:flex;align-items:center;gap:8px;background:var(--tint-gray);border-radius:var(--radius-pill);padding:0 14px;min-height:44px}.search input{flex:1 1;border:0;background:none;min-width:0;outline:none}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:560px){.grid{grid-template-columns:repeat(3,1fr)}}.offercard{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-3);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card)}.offercard .img{width:100%;aspect-ratio:1;border-radius:var(--radius-control);background:var(--tint-orange);object-fit:cover;display:grid;place-items:center;font-size:36px}.offercard .name{font-weight:600;font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.offercard .shopline{font-size:12px;color:var(--color-text-meta);display:flex;gap:4px;align-items:center;overflow:hidden;white-space:nowrap}.offercard .add{margin-top:auto}.cats{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.cats::-webkit-scrollbar{display:none}.cat{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;width:72px;border:0;background:none;font-size:12px;color:var(--color-text)}.cat .ico{width:56px;height:56px;border-radius:50%;background:var(--tint-orange);display:grid;place-items:center;font-size:26px}.cat[aria-pressed=true] .ico{outline:2px solid var(--color-primary)}.hero{background:var(--grad-primary);color:#fff;border-radius:var(--radius-card-lg);padding:var(--space-5) var(--space-4);margin-bottom:var(--space-4)}.hero h1{color:#fff;font-size:26px;margin-bottom:8px}.hero p{color:rgba(255,255,255,.92)}.hero .btn.primary{background:#fff;color:var(--color-primary)}.bigcode{font-family:var(--font-mono);font-size:44px;font-weight:600;letter-spacing:.2em;text-align:center;color:var(--color-primary);background:var(--tint-orange);border-radius:var(--radius-card-lg);padding:var(--space-4);margin:var(--space-3) 0}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.timeline li{display:flex;gap:10px;align-items:flex-start}.timeline .tdot{width:12px;height:12px;border-radius:50%;background:var(--color-success);margin-top:5px;flex-shrink:0}.timeline li.pending .tdot{background:var(--color-border)}.prose{max-width:680px;margin:0 auto}.prose h2{margin:var(--space-5) 0 var(--space-2)}.prose ul{padding-left:20px}.footer{padding:var(--space-5) var(--space-4) calc(88px + env(safe-area-inset-bottom));color:var(--color-text-meta);font-size:13px;text-align:center}.footer a{margin:0 6px}.qty{display:inline-flex;align-items:center;gap:2px}.qty button{width:36px;height:36px;border-radius:var(--radius-control);border:1px solid var(--color-input-border);background:var(--color-card);font-size:18px}.qty span{min-width:28px;text-align:center;font-weight:700}.countbadge{position:absolute;top:2px;right:calc(50% - 22px);background:var(--color-primary);color:#fff;font-size:10px;border-radius:10px;padding:1px 5px}.bottomnav button{position:relative}.demo{background:var(--tint-blue);color:var(--color-secondary);text-align:center;font-size:13px;padding:6px}