*{box-sizing:border-box}html,body,#app,.app{margin:0;min-height:100%}body{font-family:PingFang SC,Noto Sans SC,sans-serif;background:radial-gradient(1200px 400px at 50% -80px,rgba(201,162,39,.14),transparent 50%),#f5f2ea;color:#1f2a37}.app{max-width:430px;margin:0 auto;min-height:100vh;background:#f5f2ea}.page{min-height:100vh;padding:16px 16px calc(88px + env(safe-area-inset-bottom))}.page.has-nav{padding-top:0;padding-left:0;padding-right:0}.page-body{padding:16px 16px 0}.notice{background:#f7f4ea;border:1px solid #eadfb8;color:#6a5a28;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.7;margin-bottom:14px}.card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 6px 20px #16382c0a}.section-title{font-size:16px;margin:0 0 14px;color:#1f3b2c}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;color:#5b5648}.field input,.field select{width:100%;border:1px solid #e5e0d6;border-radius:12px;padding:12px;font-size:15px;background:#faf8f3;color:#1f2a37}.field input:focus,.field select:focus{outline:2px solid rgba(31,59,44,.18);border-color:#1f3b2c}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #d7c8a3;background:#fff;color:#5b4a2a;border-radius:999px;padding:8px 14px;font-size:13px}.chip.on{background:#1f3b2c;color:#f3d38a;border-color:#1f3b2c}.btn{display:block;width:100%;border:0;border-radius:12px;padding:14px;font-size:16px;background:#1f3b2c;color:#f3d38a}.btn.ghost{background:#fff;color:#1f3b2c;border:1px solid #1f3b2c}.fixed-bar{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:430px;bottom:0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:#f5f2eaf5}.muted{color:#888;font-size:13px;line-height:1.6}.price{color:#b4542b;font-weight:700}.cover{width:100%;height:140px;object-fit:cover;border-radius:12px;background:#e8e1d2}.tag{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px;background:#e8efe9;color:#1f3b2c}.toast{position:fixed;left:50%;top:40%;transform:translate(-50%);background:#000000bf;color:#fff;padding:10px 16px;border-radius:8px;z-index:20}.order-card{cursor:pointer}.order-card p{margin:0 0 6px}.order-card p:last-child{margin-bottom:0}.empty{text-align:center;padding:36px 12px}
