*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:#1f1f1f;background:#eef1f6;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}button{border:0;font:inherit;cursor:pointer}.app-shell{display:flex;gap:28px;align-items:flex-start;min-height:100vh;padding:28px;overflow-x:auto}.screen{position:relative;flex:0 0 390px;width:390px;min-height:844px;overflow:hidden;background:#f7f8fb;border-radius:30px;box-shadow:0 24px 80px #22294033}.status-bar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 28px;font-size:15px;color:#0a0a0a}.status-bar strong{font-size:24px;font-weight:900}.page-title,.order-nav{position:relative;z-index:2;height:70px;text-align:center;font-size:22px;font-weight:800;line-height:70px;background:#fff}.home-panel{min-height:716px;padding:28px 20px 130px;background:linear-gradient(#fff 0,#fff 40px,#f3f5f8 40px)}.destination-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 16px 22px;background:#f1f3f6;border-radius:28px 28px 0 0}.destination-tabs button{position:relative;height:48px;color:#222;background:#fff;border:1px solid #dbe2eb;border-radius:18px;font-size:18px;font-weight:700;box-shadow:0 6px 12px #29487012}.destination-tabs .selected{color:#fff;background:linear-gradient(135deg,#5ab6ff,#1c79e8);border:0}.destination-tabs .selected:after{position:absolute;bottom:-7px;left:calc(50% - 7px);width:14px;height:14px;background:#1c79e8;transform:rotate(45deg);content:""}.headline{padding:12px 2px 16px;background:#f1f3f6}.headline h1{display:inline;margin:0;font-size:26px;font-weight:900}.headline>span{margin-left:10px;color:#e87521;font-size:14px;font-weight:700}.headline ul{margin:12px 0 0;padding:0;list-style:none}.headline li{margin:6px 0;color:#555;font-size:15px;font-weight:600}.headline b{display:inline-grid;width:24px;height:24px;margin-right:8px;place-items:center;color:#fff;background:#f28a2c;border-radius:7px}.product-list{display:grid;gap:22px;padding-top:8px}.photo-card{position:relative;height:210px;overflow:hidden;border-radius:16px;background:#222}.photo-card img,.hero img{width:100%;height:100%;object-fit:cover}.photo-card:after{position:absolute;top:45%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#000000bf);content:""}.ribbon{position:absolute;top:0;left:0;z-index:2;padding:8px 14px;color:#fff;background:#f58224;border-radius:16px 0;font-weight:800}.photo-card__content{position:absolute;z-index:2;right:16px;bottom:14px;left:16px;color:#fff}.photo-card h3{margin:0 0 8px;font-size:23px;font-weight:900}.photo-card p{margin:0;color:#ffffffe0;font-size:13px}.price{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;margin-top:-28px;font-weight:700}.price span{color:#ffffffa6;text-decoration:line-through}.price strong{font-size:30px;font-weight:900}.tab-bar{position:absolute;right:22px;bottom:22px;left:22px;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:8px;background:#fffffff5;border-radius:34px;box-shadow:0 12px 32px #232d4c2e}.tab{display:grid;gap:3px;place-items:center;height:64px;color:#161616;background:transparent;border-radius:28px;font-size:14px;font-weight:700}.tab.active{color:#7a22f4;background:#ececec}.hero{position:relative;height:346px;color:#fff;background:#333}.hero .status-bar{position:absolute;inset:0 0 auto;color:#fff}.icon-back{position:absolute;top:78px;left:20px;width:42px;height:42px;color:#fff;background:#0000002e;border-radius:50%;font-size:38px;line-height:36px}.hero-copy{position:absolute;right:22px;bottom:36px;left:22px;text-shadow:0 2px 10px rgba(0,0,0,.6)}.hero-copy span{display:inline-block;margin-right:10px;padding:5px 10px;background:#0000003d;border-radius:14px;font-size:12px;font-weight:700}.hero-copy p{margin:12px 0 0;font-size:16px;font-weight:800}.counter{position:absolute;right:22px;bottom:56px;padding:8px 12px;background:#00000073;border-radius:18px;font-weight:800}.detail-sheet{position:relative;z-index:2;min-height:560px;margin-top:-26px;padding:30px 20px 130px;background:#fff;border-radius:24px 24px 0 0}.detail-sheet h2{margin:0;font-size:25px;line-height:1.35;font-weight:900}.promo-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}.promo-row span{padding:6px 9px;color:#bd5845;border:1px solid #e5a59b;border-radius:7px;font-size:13px;font-weight:700}.date-row{display:grid;grid-template-columns:auto auto 1fr auto auto auto;gap:8px;align-items:center;padding:22px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.date-row strong{font-size:22px;font-weight:900}.date-row span,.date-row em{color:#777;font-style:normal;font-weight:700}.option-group{padding:24px 0 2px;border-bottom:1px solid #eee}.option-group h3{margin:0 0 16px;font-size:20px;font-weight:900}.option-group h3 span{margin-left:10px;color:#8a8a8a;font-size:14px;font-weight:700}.chip-grid{display:flex;flex-wrap:wrap;gap:12px}.chip{min-width:98px;min-height:48px;padding:8px 14px;color:#777;background:#f7f7f7;border:1px solid transparent;border-radius:9px;font-size:18px;font-weight:800}.chip.selected{color:#7a22f4;background:#fff;border-color:#cba7ff}.chip small{display:block;margin-top:2px;color:#d66b28;font-size:11px}.cart-float{position:absolute;right:18px;top:470px;z-index:5;width:58px;height:58px;color:#fff;background:#343434;border-radius:50%}.cart-float span{position:absolute;top:6px;right:8px;display:grid;width:20px;height:20px;place-items:center;background:#f23535;border-radius:50%;font-size:12px;font-weight:900}.action-bar,.settle-bar{position:absolute;right:0;bottom:0;left:0;z-index:6;display:grid;align-items:center;gap:8px;min-height:86px;padding:10px 18px 18px;background:#fffffff7;box-shadow:0 -8px 22px #22294014}.action-bar{grid-template-columns:50px 1fr 96px 96px}.service{display:grid;gap:2px;place-items:center;color:#222;background:transparent;font-size:12px;font-weight:800}.total strong,.settle-bar strong{color:#d83b16;font-size:22px;font-weight:900}.total small,.settle-bar small{display:block;color:#a0a0a0;font-size:12px;font-weight:700}.ghost,.primary,.settle-bar button{height:52px;border-radius:26px;font-size:17px;font-weight:900}.ghost{color:#7a22f4;background:#f3eaff}.primary,.settle-bar button{color:#fff;background:linear-gradient(135deg,#7a22f4,#c45bff)}.screen-order{background:#f7f8fb}.order-nav{display:grid;grid-template-columns:64px 1fr 64px;align-items:center}.order-nav button{width:48px;height:48px;margin-left:14px;background:#fff;border-radius:50%;box-shadow:0 8px 24px #20283e14;font-size:38px;line-height:42px}.order-content{padding:26px 20px 120px}.notice{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:13px 14px;background:#fff;border-radius:8px;color:#333;font-size:15px;font-weight:800}.summary-card,.form-card{margin-bottom:18px;padding:18px;background:#fff;border-radius:15px;box-shadow:0 8px 24px #34435f0d}.summary-card{display:grid;grid-template-columns:84px 1fr 24px;gap:14px}.summary-card img{width:84px;height:84px;object-fit:cover;border-radius:8px}.summary-card h3,.form-card h3{margin:0 0 8px;font-size:19px;font-weight:900}.summary-card p{margin:5px 0;color:#666;font-size:13px;font-weight:700}.summary-card strong{display:block;margin:8px 0;color:#555}.summary-card del{color:#9a9a9a}.summary-card span{padding:4px 8px;color:#bf5f4a;border:1px solid #d9a69a;border-radius:4px;font-size:12px}.form-card{padding:24px 18px 8px}.form-row{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:center;min-height:62px;border-bottom:1px solid #eee}.form-row label{font-size:16px;font-weight:900}.form-row em{color:#d14a2d;font-style:normal}.form-row span{color:#b6b6b6;font-size:15px;font-weight:700;text-align:right}.add-row{display:flex;align-items:center;justify-content:space-between;width:100%;height:64px;background:transparent;font-size:18px;font-weight:900}.add-row span{display:grid;width:36px;height:36px;place-items:center;color:#8a20f7;background:#f5eaff;border-radius:50%;font-size:30px}.settle-bar{grid-template-columns:112px 1fr 96px}.settle-bar label{display:flex;gap:8px;align-items:center;color:#999;font-weight:900}.settle-bar input{accent-color:#8a20f7}@media(max-width:860px){.app-shell{padding:16px}}
