:root{--cream: #fff7ec;--paper: #fffaf2;--peach: #f6d4b4;--ink: #1a1613;--teal: #00bbcc;--coral: #fc9f5b;--forest: #33673b;--lime: #a5e000;--spring: #2af47b;--fresh-dog: #8ccdf2;--therapeutic: #9ad8a7;--cat: #6cc48a;--broth: #fc9f5b;--supplements: #a5e000;--treats: #2af47b;--radius-sm: 9px;--radius-md: 12px;--radius-lg: 18px;--gap: 12px;--font-display: "Baloo 2", system-ui;--font-ui: "Fredoka", system-ui;--font-body: "Nunito", system-ui}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:auto}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:auto;min-height:100vh;max-width:402px;margin:0 auto;background:var(--cream);overflow:visible}.header{background:white;border-bottom:2.5px solid var(--ink);padding:12px;text-align:center;box-shadow:0 4px 0 var(--ink)}.logo{max-width:150px;height:auto;margin-bottom:8px}.header h1{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1.2;margin-bottom:8px}.progress{display:flex;justify-content:space-around;gap:4px;font-size:12px;font-family:var(--font-ui);font-weight:600}.progress .step{padding:4px 8px;border-radius:4px;background:#f0f0f0;color:#666}.progress .step.active{background:var(--teal);color:#fff}.screen-container{flex:1;overflow-y:auto;padding:16px 16px 100px 16px}.screen{animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.category-group{margin-bottom:24px}.category-title{font-family:var(--font-display);font-size:14px;font-weight:700;padding:8px 12px;background:var(--peach);border:2.5px solid var(--ink);border-radius:var(--radius-sm);margin-bottom:12px;box-shadow:3px 3px 0 var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}.product-card{background:white;border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:12px;box-shadow:3px 3px 0 var(--ink)}.product-name{font-family:var(--font-ui);font-size:13px;font-weight:600;margin-bottom:8px}.bilingual .zh{display:block;font-size:13px;font-weight:600}.bilingual .en{display:block;font-size:11px;color:#666;font-weight:400}.size-selector{display:flex;gap:6px;margin-bottom:8px}.size-pill{flex:1;padding:6px 8px;border:1.5px solid var(--ink);border-radius:6px;font-size:11px;font-family:var(--font-ui);background:white;cursor:pointer;transition:all .15s}.size-pill.active{background:var(--ink);color:#fff}.bundle-info{font-size:11px;font-weight:600;color:var(--forest);margin-bottom:4px}.price{font-family:var(--font-ui);font-size:12px;font-weight:600;margin-bottom:6px}.money{font-family:Courier New,monospace;font-weight:700}.stepper{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}.stepper-btn{width:28px;height:28px;border:1.5px solid var(--ink);border-radius:4px;background:white;font-size:14px;font-weight:700;cursor:pointer;transition:all .1s}.stepper-btn:active{transform:translate(2px,2px)}.stepper-value{min-width:24px;text-align:center;font-weight:600}.line-total{font-size:11px;font-weight:600;color:var(--teal);text-align:center;margin-top:4px}.form-section{background:white;border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;box-shadow:3px 3px 0 var(--ink)}.form-group{margin-bottom:12px}.form-group label{display:block;font-family:var(--font-ui);font-size:12px;font-weight:600;margin-bottom:4px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 10px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;background:var(--paper)}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;background:white;box-shadow:0 0 0 2px var(--teal)}.error-inline{display:block;font-size:11px;color:#d32f2f;margin-top:4px}.method-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.method-btn{padding:10px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:white;font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.method-btn.active{background:var(--teal);color:#fff;box-shadow:2px 2px 0 var(--ink)}.station-card{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius-sm);padding:10px;margin-top:8px;font-size:12px}.station-card h4{font-family:var(--font-ui);font-weight:600;margin-bottom:4px}.station-card p{margin:2px 0}.text-small{font-size:11px;color:#666}.text-tiny{font-size:10px;color:#999;font-style:italic}.section-title{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:12px}.order-items{background:white;border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;box-shadow:3px 3px 0 var(--ink)}.order-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:12px}.order-item:last-child{border-bottom:none}.item-name{flex:1;display:flex;flex-direction:column;gap:2px}.item-size{font-size:11px;color:#666}.item-pricing{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-weight:600}.item-total{color:var(--teal)}.summary-totals{background:var(--paper);border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;box-shadow:3px 3px 0 var(--ink)}.total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid #ddd}.total-row.savings{color:var(--forest);font-weight:600}.total-row.savings span:last-child{color:var(--forest)}.total-row.grand-total{border:none;border-top:2px solid var(--ink);padding-top:8px;font-family:var(--font-ui);font-size:14px;font-weight:700}.delivery-details{background:white;border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;box-shadow:3px 3px 0 var(--ink);font-size:12px}.delivery-details h3{font-family:var(--font-ui);font-size:13px;font-weight:600;margin-bottom:8px}.delivery-details p{margin:4px 0}.payment-panel{background:var(--teal);color:#fff;border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:16px;text-align:center;margin-bottom:16px;box-shadow:3px 3px 0 var(--ink)}.payment-panel h2{font-family:var(--font-display);font-size:14px;font-weight:600;margin-bottom:8px}.amount-display{font-family:Courier New,monospace;font-size:28px;font-weight:700}.item-count{font-size:12px;margin-top:4px;opacity:.9}.instruction-card{background:var(--peach);border:2.5px solid var(--ink);border-radius:var(--radius-md);padding:12px;margin-bottom:16px;box-shadow:3px 3px 0 var(--ink)}.instruction-card h3{font-family:var(--font-ui);font-size:13px;font-weight:600;margin-bottom:8px}.instruction-card ol{margin-left:20px;font-size:12px;line-height:1.6}.confirmation-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mascot-container{margin-bottom:20px}.mascot{max-width:120px;height:auto;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.confirmation-card{background:white;border:2.5px solid var(--ink);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;box-shadow:4px 4px 0 var(--ink);max-width:95%}.confirmation-card h1{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1.3;margin-bottom:16px;color:var(--forest)}.order-details{margin-bottom:16px;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:12px}.detail-row:last-child{border-bottom:none}.order-number{color:var(--teal);font-family:Courier New,monospace}.order-total{color:var(--forest);font-size:14px}.success-message{background:var(--spring);color:var(--ink);border-radius:var(--radius-sm);padding:12px;font-size:12px;line-height:1.6}.success-message p{margin:4px 0}.bottom-bar{position:fixed;bottom:0;left:0;right:0;max-width:402px;margin:0 auto;background:white;border-top:2.5px solid var(--ink);padding:12px;display:flex;gap:12px;box-shadow:0 -4px 0 var(--ink)}.cart-info{display:flex;flex-direction:column;justify-content:center;font-size:12px;font-weight:600;color:#666;flex:.4}.btn-primary,.btn-secondary{flex:1;padding:12px 16px;border:2.5px solid var(--ink);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.22,1,.36,1)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover:not(:disabled){background:#009aa8}.btn-primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:white;color:var(--ink)}.btn-secondary:active{transform:translate(2px,2px)}.btn-large{padding:16px!important;font-size:13px!important}.error-message{background:#ffebee;border-left:4px solid #d32f2f;padding:12px;margin-bottom:12px;border-radius:4px;font-size:12px;color:#c62828;font-weight:600}.warning-message{background:#fff3cd;border-left:4px solid #ff9800;padding:12px;margin-bottom:12px;border-radius:4px;font-size:12px;color:#e65100}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 380px){.product-grid,.method-toggle{grid-template-columns:1fr}.bottom-bar{flex-direction:column}.cart-info{flex-direction:row;justify-content:space-between}}
