.shop{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.4}.shop .app{background:var(--bg);max-width:460px;min-height:100vh;margin:0 auto;padding-bottom:110px;position:relative}.shop button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.shop button:focus-visible,.shop input:focus-visible,.shop textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.shop .pad{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.shop:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--green);position:fixed;inset:0 0 auto}.shop header{top:env(safe-area-inset-top,0px);z-index:5;background:var(--green);color:var(--green-ink);gap:10px;padding-block:12px 14px;display:grid;position:sticky}.shop .top{justify-content:space-between;align-items:center;gap:12px;display:flex}.shop .logo{font-family:var(--display);letter-spacing:.01em;font-size:22px;font-weight:700}.shop .logo small{font-family:var(--body);opacity:.8;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.shop .addr{text-align:right;flex-direction:column;align-items:flex-end;min-width:0;font-size:13px;display:flex}.shop .addr b{white-space:nowrap;text-overflow:ellipsis;max-width:190px;font-weight:700;overflow:hidden}.shop .addr span{opacity:.8;font-size:12px}.shop .search{background:var(--surface);color:var(--ink);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.shop .search input{font:inherit;color:var(--ink);background:0 0;border:0;flex:1;min-width:0}.shop .search input:focus{outline:none}.shop .search svg{opacity:.55;flex:none}.shop .store{align-items:center;gap:12px;padding-block:14px 4px;display:flex}.shop .store .badge{background:var(--sun);width:44px;height:44px;color:var(--sun-ink);font-family:var(--display);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.shop .store h2{margin:0;font-size:16px}.shop .store p{color:var(--muted);margin:0;font-size:13px}.shop .demo{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;flex:none;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:700}.shop .chips{top:calc(env(safe-area-inset-top,0px) + 118px);z-index:4;background:var(--bg);scrollbar-width:none;gap:8px;padding-block:10px;display:flex;position:sticky;overflow-x:auto}.shop .chips::-webkit-scrollbar{display:none}.shop .chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:600}.shop .chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.shop .promo{border-radius:var(--r);background:var(--green-soft);justify-content:space-between;align-items:center;gap:12px;margin-block:6px 4px;padding:14px 16px;display:flex}.shop .promo b{font-family:var(--display);text-wrap:balance;font-size:15px;font-weight:500}.shop .promo span{color:var(--muted);font-size:13px}.shop .promo .big{font-family:var(--display);color:var(--green);flex:none;font-size:26px;font-weight:700}.shop h3.sec{font-family:var(--display);margin:18px 0 10px;font-size:17px;font-weight:500}.shop .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:420px){.shop .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.shop .card{background:var(--surface);border-radius:var(--r);flex-direction:column;gap:6px;min-width:0;padding:8px;display:flex}.shop .pic{aspect-ratio:1;border-radius:12px;place-items:center;max-width:100%;font-size:44px;display:grid;position:relative}.shop .tag{letter-spacing:.05em;text-transform:uppercase;background:var(--green);color:var(--green-ink);border-radius:6px;padding:3px 6px;font-size:10px;font-weight:800;position:absolute;top:6px;left:6px}.shop .price{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.shop .price small{color:var(--muted);font-size:12px;font-weight:600}.shop .name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.shop .unit{color:var(--muted);font-size:12px}.shop .add{background:var(--bg);border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:auto;padding:8px;font-weight:700;display:flex}.shop .add:hover{background:var(--green-soft)}.shop .step{background:var(--green);color:var(--green-ink);border-radius:10px;justify-content:space-between;align-items:center;margin-top:auto;font-weight:700;display:flex}.shop .step button{width:36px;height:36px;color:var(--green-ink);font-size:20px}.shop .step span{font-variant-numeric:tabular-nums;font-size:14px}.shop .empty{color:var(--muted);text-align:center;padding:40px 0}.shop .cartbar{z-index:6;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;padding-top:12px;position:fixed;bottom:0;left:0;right:0}.shop .cartbar .inner{max-width:460px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto}.shop .cartbtn{pointer-events:auto;background:var(--green);width:100%;color:var(--green-ink);border-radius:16px;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:700;display:flex;box-shadow:0 8px 24px #0a281c40}.shop .cartbtn .sub{opacity:.85;text-align:left;font-size:12px;font-weight:500;display:block}.shop .cartbtn .sum{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:17px}.shop .scrim{z-index:8;background:#050f0a73;position:fixed;inset:0}.shop .sheet{z-index:9;background:var(--surface);max-height:92vh;padding-block:10px calc(20px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.shop .sheet .wrap{max-width:460px;margin:0 auto}.shop .grab{background:var(--line);border-radius:4px;width:40px;height:4px;margin:0 auto 10px}.shop .sheet h2{font-family:var(--display);justify-content:space-between;align-items:center;margin:6px 0 14px;font-size:20px;font-weight:500;display:flex}.shop .x{color:var(--muted);font-size:14px;font-family:var(--body);font-weight:600}.shop .line{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-block:10px;display:flex}.shop .line .mini{border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.shop .line .t{flex:1;min-width:0;font-size:14px}.shop .line .t small{color:var(--muted);font-size:12px;display:block}.shop .line .p{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.shop .qty{background:var(--bg);border-radius:10px;align-items:center;gap:2px;display:flex}.shop .qty button{width:30px;height:30px;font-size:18px}.shop .qty span{text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:13px;font-weight:700}.shop .rows{font-variant-numeric:tabular-nums;gap:6px;margin-top:14px;display:grid}.shop .rows div{justify-content:space-between;gap:12px;display:flex}.shop .rows .total{border-top:1px solid var(--line);padding-top:8px;font-size:17px;font-weight:800}.shop .rows .hint{color:var(--muted);font-size:12px}.shop .free{background:var(--green-soft);border-radius:10px;margin-top:12px;padding:8px 10px;font-size:13px}.shop .free .bar{background:var(--line);border-radius:6px;height:6px;margin-top:6px;overflow:hidden}.shop .free .bar i{background:var(--green);height:100%;display:block}.shop .primary{background:var(--green);width:100%;color:var(--green-ink);border-radius:14px;margin-top:16px;padding:15px;font-size:16px;font-weight:800}.shop .primary:disabled{opacity:.5;cursor:not-allowed}.shop .ghost{width:100%;color:var(--muted);border-radius:14px;margin-top:8px;padding:12px;font-weight:700}.shop fieldset{border:0;margin:0 0 16px;padding:0}.shop legend{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:800}.shop .field{gap:4px;margin-bottom:8px;display:grid}.shop .field label{color:var(--muted);font-size:13px}.shop .field input,.shop .field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;padding:11px 12px}.shop .opts{gap:8px;display:grid}.shop .opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.shop .opt{border:1px solid var(--line);text-align:left;border-radius:12px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.shop .opt[aria-checked=true]{border-color:var(--green);background:var(--green-soft)}.shop .opt .dot{border:2px solid var(--line);border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px}.shop .opt[aria-checked=true] .dot{border:5px solid var(--green)}.shop .opt b{font-size:14px;display:block}.shop .opt small{color:var(--muted);font-size:12px;display:block}.shop .note{color:var(--muted);background:var(--bg);border-radius:10px;margin-top:8px;padding:10px 12px;font-size:12px}.shop .track{z-index:12;background:var(--bg);padding-block:calc(16px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-bottom,0px));position:fixed;inset:0;overflow-y:auto}.shop .track .wrap{max-width:460px;margin:0 auto}.shop .track h1{font-family:var(--display);text-wrap:balance;margin:8px 0 4px;font-size:24px;font-weight:700}.shop .track .eta{color:var(--muted);margin:0 0 18px}.shop .stages{background:var(--surface);border-radius:var(--r);gap:0;padding:6px 16px;display:grid}.shop .stage{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding-block:12px;display:flex}.shop .stage:last-child{border-bottom:0}.shop .stage .c{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.shop .stage.done{color:var(--ink)}.shop .stage.done .c{background:var(--green);border-color:var(--green);color:var(--green-ink)}.shop .stage.now{color:var(--ink);font-weight:700}.shop .stage.now .c{border-color:var(--green);animation:1.2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px var(--green-soft)}}@media (prefers-reduced-motion:reduce){.shop .stage.now .c{animation:none}}.shop .ask{background:var(--sun);color:var(--sun-ink);border-radius:var(--r);margin-top:14px;padding:14px 16px}.shop .ask b{margin-bottom:4px;display:block}.shop .ask .btns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.shop .ask button{background:var(--sun-ink);color:var(--sun);border-radius:10px;padding:9px 14px;font-weight:700}.shop .ask button.alt{border:1.5px solid var(--sun-ink);color:var(--sun-ink);background:0 0}.shop .receipt{background:var(--surface);border-radius:var(--r);margin-top:14px;padding:14px 16px}.shop .receipt h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:13px}.shop .receipt .rows{margin-top:6px;font-size:14px}.shop .chg{color:var(--danger)}.shop .toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--ink);color:var(--bg);border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%)}.shop{margin:0}.shop .resume{background:var(--sun);color:var(--sun-ink);border-radius:var(--r);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:10px;padding:12px 14px;display:flex}.shop .resume b{display:block}.shop .resume span{font-size:13px}.shop .err{color:var(--danger);margin-top:10px;font-size:14px}.shop .loading{color:var(--muted);text-align:center;padding:48px 0}.shop .retry{background:var(--green);color:var(--green-ink);border-radius:12px;margin-top:12px;padding:10px 18px;font-weight:700}.shop .field .req{color:var(--danger)}.shop .opt[aria-disabled=true]{opacity:.5;cursor:not-allowed}.shop .cancel{width:100%;color:var(--danger);border:1.5px solid var(--line);border-radius:14px;margin-top:14px;padding:12px;font-weight:700}.shop .stage small{color:var(--muted);font-weight:500}
