.user-shell{background:#f5f5f5;flex-direction:column;min-height:100vh;display:flex}.user-header{border-bottom:1px solid var(--line-light);z-index:50;background:#fff;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.header-left{flex-shrink:0;align-items:baseline;gap:8px;display:flex}.header-left h1{color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;font-size:1.25rem;font-weight:700}.header-left .brand-sub{color:var(--muted-light);white-space:nowrap;font-size:.75rem}.header-center{flex:1;justify-content:center;min-width:0;display:flex}.search-box{background:#f1f3f4;border-radius:24px;gap:0;width:100%;max-width:440px;transition:box-shadow .2s;display:flex;overflow:hidden}.search-box:focus-within{box-shadow:0 0 0 3px #1a73e826}.search-box .input{background:0 0;border:none;border-radius:0;flex:1;min-width:0;padding:8px 16px;font-size:.875rem}.search-box .input:focus{box-shadow:none}.search-box .btn-secondary{color:var(--primary);background:0 0;border:none;flex-shrink:0;padding:8px 16px;font-weight:500}.header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.balance{color:var(--success);white-space:nowrap;background:var(--success-bg);border-radius:16px;padding:4px 10px;font-size:.9rem;font-weight:700}.username{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.82rem;overflow:hidden}.bottom-nav{border-top:1px solid var(--line-light);padding:4px 8px;padding-bottom:max(4px, env(safe-area-inset-bottom));z-index:50;background:#fff;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:56px;min-height:48px;padding:4px 6px;font-size:.65rem;transition:color .15s,background .15s;display:flex}.bottom-nav button .nav-icon{width:22px;height:22px}.bottom-nav button.active{color:var(--primary)}.user-body{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 20px}.view-fade-enter-active,.view-fade-leave-active{transition:opacity .2s,transform .2s}.view-fade-enter-from{opacity:0;transform:translateY(12px)}.view-fade-leave-to{opacity:0;transform:translateY(-6px)}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:20px;flex-shrink:0;min-height:40px;padding:8px 18px;font-size:.85rem;font-weight:500;transition:all .2s;box-shadow:0 1px 2px #0000000a}.tab:hover{background:#f1f3f4}.tab.active{color:#fff;background:var(--primary);box-shadow:0 2px 8px #1a73e84d}.status-tag{color:var(--muted);background:#f1f3f4}.search-hint{color:var(--muted);background:var(--primary-light);border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;font-size:.84rem;display:flex}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding-bottom:32px;display:grid}.shop{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:12px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000f}@media (hover:hover){.shop:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.shop:hover .shop-img img{transform:scale(1.04)}}.shop-img{aspect-ratio:16/10;background:#f1f5f9;place-items:center;display:grid;position:relative;overflow:hidden}.shop-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.shop-img .img-placeholder{width:56px;height:56px;color:var(--muted-light);opacity:.35}.shop-body{flex-direction:column;flex:1;gap:8px;padding:14px;display:flex}.shop-meta{flex-wrap:wrap;gap:6px;display:flex}.shop-body h3{color:#202124;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.shop-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.shop-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.shop-footer .price{color:#e53935;font-size:1.15rem;font-weight:700}.shop-footer .btn-primary{border-radius:18px;padding:6px 16px;font-size:.82rem}.hero-banner{cursor:pointer;aspect-ratio:21/9;background:#1a1a2e;border-radius:16px;min-height:280px;max-height:440px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000026}.hero-slide{align-items:flex-end;display:flex;position:absolute;inset:0}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;filter:brightness(.5);width:100%;height:100%}.hero-overlay{background:linear-gradient(#00000026 0%,#0000 50%,#000000b3 100%);position:absolute;inset:0}.hero-content{z-index:2;color:#fff;max-width:560px;padding:40px;position:relative}.hero-badge{color:#fff;letter-spacing:.5px;background:#e53935;border-radius:4px;margin-bottom:12px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-block}.hero-title{text-shadow:0 2px 8px #0006;margin:0 0 8px;font-size:1.8rem;font-weight:700;line-height:1.2}.hero-desc{opacity:.85;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 18px;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}.hero-price-row{align-items:center;gap:16px;display:flex}.hero-price{color:#ff6b6b;text-shadow:0 2px 4px #0000004d;font-size:1.8rem;font-weight:700}.hero-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:24px;padding:10px 28px;font-size:.95rem;font-weight:600;transition:all .2s}.hero-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e866}.hero-arrow{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;opacity:0;background:#fff3;border:none;border-radius:50%;place-items:center;width:44px;height:44px;transition:opacity .3s,background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow svg{width:20px;height:20px}.hero-banner:hover .hero-arrow{opacity:1}.hero-arrow:hover{background:#ffffff59}.hero-arrow-left{left:12px}.hero-arrow-right{right:12px}.hero-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:16px;right:40px}.hero-dot{cursor:pointer;background:#fff6;border-radius:50%;width:8px;height:8px;transition:all .3s}.hero-dot.active{background:#fff;border-radius:4px;width:24px;box-shadow:0 0 6px #ffffff80}.hero-fade-enter-active,.hero-fade-leave-active{transition:opacity .5s}.hero-fade-enter-from,.hero-fade-leave-to{opacity:0}.home-section{margin-bottom:32px}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{color:#202124;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:700;display:flex}.section-title:before{content:"";background:var(--primary);border-radius:2px;width:4px;height:20px;display:inline-block}.section-more{color:var(--muted-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.84rem;transition:color .2s}.section-more:hover{color:var(--primary)}.section-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.section-scroll::-webkit-scrollbar{height:5px}.section-scroll::-webkit-scrollbar-track{background:0 0}.section-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.shop-horizontal{scroll-snap-align:start;flex:0 0 200px}.shop-horizontal .shop-img{aspect-ratio:3/4}.shop-horizontal .shop-body{padding:12px}.shop-horizontal h3{-webkit-line-clamp:2;font-size:.88rem}.shop-horizontal .shop-footer .price{font-size:1.05rem}.animate-in{opacity:0;animation:.5s forwards fadeInUp;transform:translateY(24px)}.animate-section{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.animate-section.visible{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.site-footer{color:#ffffffb3;background:#1a1a2e;margin-top:auto;padding:40px 24px 20px;font-size:.84rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;max-width:1100px;margin:0 auto 32px;display:grid}.footer-col h4{color:#fff;margin:0 0 12px;font-size:.95rem;font-weight:600}.footer-col a{color:#fff9;cursor:pointer;padding:3px 0;font-size:.82rem;transition:color .2s;display:block}.footer-col a:hover{color:#fff}.footer-bottom{text-align:center;color:#fff6;border-top:1px solid #ffffff1a;max-width:1100px;margin:0 auto;padding-top:20px;font-size:.78rem}.detail{padding-bottom:40px}.detail-grid{grid-template-columns:minmax(280px,.9fr) 1.1fr;align-items:start;gap:24px;display:grid}.detail-left{flex-direction:column;gap:16px;display:flex}.detail-intro{color:#444;background:#fff;border-radius:12px;margin:0;padding:20px;font-size:.9rem;line-height:1.75;position:relative;box-shadow:0 1px 3px #0000000f}.detail-intro.collapsed .detail-intro-text{-webkit-line-clamp:10;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.detail-intro.collapsed:after{content:"";pointer-events:none;background:linear-gradient(#0000,#fff);height:60px;position:absolute;bottom:44px;left:0;right:0}.detail-intro-text{white-space:pre-line;word-break:break-word}.detail-intro-toggle{width:100%;color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:6px 0;font-size:.84rem;font-weight:500;transition:color .15s;display:block}.detail-intro-toggle:hover{color:var(--primary-dark)}.detail-grid>.shop-img,.detail-left>.shop-img{aspect-ratio:auto;cursor:default;border-radius:12px;min-height:280px;box-shadow:0 2px 8px #0000000f}.detail-main{background:#fff;border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000f}.detail-main h2{color:#202124;margin:0;font-size:1.2rem;font-weight:600}.pay-options{flex-wrap:wrap;gap:8px;display:flex}.pay-options button{border:2px solid var(--line);cursor:pointer;color:var(--muted);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:10px;min-height:44px;padding:10px 16px;font-size:.85rem;transition:all .2s}.pay-options button:hover{border-color:var(--primary);color:var(--primary)}.pay-options button.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.order-card{background:#fff;border:none;border-radius:12px;flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:28px;display:flex;box-shadow:0 1px 3px #0000000f}.order-card h2{color:#202124;text-align:center;margin:0;font-size:1.1rem;font-weight:600}.pay-summary{text-align:center;border-bottom:1px solid var(--line-light);padding:20px 0}.pay-amount{color:#202124;margin-bottom:8px;font-size:2.5rem;font-weight:700}.pay-meta{color:var(--muted);justify-content:center;gap:16px;font-size:.88rem;display:flex}.pay-action{place-items:center;gap:16px;padding:8px 0;display:grid}.pay-qrcode{border:2px solid var(--line-light);border-radius:12px;max-width:220px}.pay-timer{text-align:center;color:var(--muted-light);font-size:.82rem}.btn-block{border-radius:10px;justify-content:center;width:100%;padding:12px 20px;font-size:.95rem;display:flex}.cardbox{border:2px dashed var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.cardbox-text{white-space:pre-wrap;color:#202124;text-align:center;border:1px solid var(--line-light);background:#fff;border-radius:8px;max-width:100%;margin:0;padding:12px 16px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.95rem;line-height:1.8;overflow:auto}.recharge-page{max-width:100%!important;padding:0!important}.recharge-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.recharge-header h2{color:#202124;margin:0;font-size:1.3rem;font-weight:700}.recharge-balance{color:var(--muted);margin:0;font-size:.95rem}.recharge-balance strong{color:var(--success);font-size:1.1rem}.recharge-pay-select{background:#fff;border-radius:12px;margin-bottom:18px;padding:18px 20px;box-shadow:0 1px 3px #0000000f}.recharge-pay-select label{color:var(--muted);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.recharge-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.recharge-plan{border:2px solid var(--line-light);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:24px 18px 20px;transition:all .25s;display:flex;position:relative}.recharge-plan:before{content:"";background:var(--primary);opacity:0;border-radius:14px 14px 0 0;height:4px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.recharge-plan:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 28px #1a73e826}.recharge-plan:hover:before{opacity:1}.plan-amount{color:#e53935;font-size:1.8rem;font-weight:700;line-height:1.1}.plan-credit{color:#202124;margin-top:2px;font-size:1rem;font-weight:600}.plan-bonus{color:#fff;background:var(--success);border-radius:10px;align-self:center;margin-top:4px;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-block}.plan-title{color:var(--muted);margin-top:8px;font-size:.82rem;font-weight:500}.plan-unit{color:var(--muted-light);margin-top:2px;font-size:.76rem}.recharge-plan:nth-child(4):after,.recharge-plan:nth-child(5):after{content:"热门";color:#fff;background:#e53935;border-radius:8px;padding:2px 10px;font-size:.7rem;font-weight:700;position:absolute;top:-8px;right:12px}.order-item{border:1px solid var(--line-light);background:#fff;border-radius:10px;margin-bottom:10px;padding:16px;transition:box-shadow .15s}.order-item:hover{box-shadow:0 2px 8px #0000000f}.auth-card{background:#fff;border-radius:16px;flex-direction:column;gap:16px;max-width:400px;margin:40px auto;padding:36px 28px;display:flex;box-shadow:0 4px 24px #00000014}.auth-card h2{color:#202124;text-align:center;margin:0;font-size:1.3rem;font-weight:700}.profile-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:16px;max-width:420px;margin:0 auto;padding:28px;display:flex;box-shadow:0 1px 3px #0000000f}.profile-avatar{background:var(--primary-light);width:64px;height:64px;color:var(--primary);border-radius:50%;place-items:center;margin:0 auto;font-size:1.5rem;font-weight:700;display:grid}.profile-card .balance-large{color:var(--success);font-size:1.8rem;font-weight:700}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:85vh;padding:28px;animation:.25s slideUp;overflow-y:auto;box-shadow:0 16px 48px #0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:48px 20px}.empty-state p{color:var(--muted-light);margin:0;font-size:.95rem}.notice{background:var(--primary-light);color:var(--primary);border-radius:8px;padding:12px 16px;font-size:.84rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.query-hint{color:var(--muted);margin:0;font-size:.84rem}@media (width<=1024px){.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.detail-grid{grid-template-columns:minmax(240px,.95fr) 1fr;gap:18px}.detail-main{padding:20px}.detail-intro{padding:16px;font-size:.85rem}}@media (width<=768px){.user-header{flex-wrap:wrap;gap:10px;padding:10px 16px}.header-left .brand-sub{display:none}.header-center{flex-basis:100%;order:3;max-width:100%}.header-right{gap:4px;margin-left:0}.header-right .btn-secondary{min-height:40px;padding:6px 10px;font-size:.78rem}.username{display:none}.balance{padding:3px 8px;font-size:.82rem}.user-body{padding:16px 14px 80px}.bottom-nav{display:flex}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.detail-grid{grid-template-columns:1fr;gap:16px}.detail-grid>.shop-img,.detail-left>.shop-img{min-height:200px}.detail-left{gap:12px}.detail-intro{padding:16px;font-size:.84rem}.detail-intro.collapsed .detail-intro-text{-webkit-line-clamp:6}.order-card{max-width:100%;padding:20px}.pay-amount{font-size:2rem}.recharge-page{padding:0!important}.recharge-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.recharge-plan{padding:18px 12px 16px}.plan-amount{font-size:1.4rem}.plan-credit{font-size:.88rem}.auth-card{margin:20px auto;padding:28px 20px}.input,.select,.textarea{font-size:16px}.desktop-only{display:none}}@media (width<=480px){.user-header{gap:8px;padding:8px 12px}.header-left h1{font-size:1.1rem}.header-right{gap:3px}.header-right .btn-secondary{padding:5px 8px;font-size:.73rem}.search-box .input{padding:8px 12px;font-size:16px}.search-box .btn-secondary{padding:8px 12px;font-size:.82rem}.user-body{padding:12px 10px 76px}.tabs{gap:4px;margin-bottom:16px}.tab{min-height:38px;padding:7px 14px;font-size:.8rem}.shop-grid{grid-template-columns:1fr;gap:10px}.shop-body{padding:12px}.shop-body h3{font-size:.92rem}.shop-footer .price{font-size:1.05rem}.shop-footer .btn-primary{padding:5px 14px;font-size:.8rem}.detail-main{gap:14px;padding:18px}.detail-left{gap:10px}.detail-intro{padding:14px;font-size:.82rem}.detail-intro.collapsed .detail-intro-text{-webkit-line-clamp:5}.detail-intro-toggle{font-size:.8rem}.order-card{padding:18px}.pay-amount{font-size:1.8rem}.pay-meta{flex-direction:column;align-items:center;gap:4px}.pay-qrcode{max-width:180px}.cardbox{padding:14px}.cardbox-text{padding:10px 12px;font-size:.85rem}.recharge-plan{padding:14px 10px}.recharge-plan:nth-child(4):after,.recharge-plan:nth-child(5):after{padding:1px 8px;font-size:.6rem;top:-6px;right:8px}.plan-amount{font-size:1.3rem}.input,.select,.textarea{padding:10px 12px;font-size:16px}.btn-primary{min-height:44px;font-size:.9rem}.btn-secondary{min-height:40px;font-size:.82rem}.auth-card{margin:16px auto;padding:24px 18px}.pay-options button{padding:10px 14px;font-size:.82rem}.profile-card{padding:24px 18px}}.guest-query-card{max-width:760px}.guest-query-form{align-items:center;gap:10px;display:flex}.guest-query-form .input{flex:1}.guest-order-list{flex-direction:column;gap:10px;display:flex}.guest-order-row{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.guest-order-row:last-child{border-bottom:none}.guest-order-modal{width:min(92vw,560px);max-width:560px}.order-detail-list{gap:8px;margin:0;display:grid}.order-detail-list>div{grid-template-columns:110px 1fr;gap:10px;font-size:.86rem;display:grid}.order-detail-list dt{color:var(--muted)}.order-detail-list dd{word-break:break-all;margin:0}@media (width<=640px){.guest-query-form,.guest-order-row{flex-direction:column;align-items:stretch}.order-detail-list>div{grid-template-columns:1fr;gap:2px}}.guest-detail-notice{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=640px){.guest-detail-notice{flex-direction:column;align-items:stretch}.shop-grid,.recharge-grid{grid-template-columns:repeat(2,1fr);gap:10px}.detail-intro{padding:14px}}@media (width<=768px){.hero-banner{aspect-ratio:16/9;border-radius:12px;min-height:200px;max-height:300px;margin-bottom:16px}.hero-content{padding:24px}.hero-title{font-size:1.3rem}.hero-desc{-webkit-line-clamp:1;font-size:.8rem}.hero-price{font-size:1.4rem}.hero-btn{padding:8px 20px;font-size:.85rem}.hero-arrow{width:36px;height:36px}.hero-arrow svg{width:16px;height:16px}.hero-dots{bottom:10px;right:24px}}@media (width<=480px){.hero-banner{aspect-ratio:4/3;min-height:180px;max-height:240px}.hero-content{padding:16px}.hero-title{font-size:1.1rem}.hero-price{font-size:1.2rem}.hero-btn{padding:6px 16px;font-size:.78rem}.hero-dots{gap:6px;right:16px}.hero-dot{width:6px;height:6px}.hero-dot.active{width:18px}}@media (width<=768px){.section-title{font-size:1.05rem}.shop-horizontal{flex:0 0 160px}.section-scroll{gap:10px}}@media (width<=480px){.shop-horizontal{flex:0 0 140px}.shop-horizontal .shop-body{padding:10px}.shop-horizontal h3{font-size:.8rem}.shop-horizontal .shop-footer .price{font-size:.95rem}.section-header{margin-bottom:10px}}@media (width<=640px){.site-footer{padding:28px 16px 16px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:20px}.footer-bottom{font-size:.72rem}}
