:root{--orange:#ff6929;--red:#f33f35;--blue:#12a8f4;--ink:#20242a;--muted:#858b94;--line:#eceef1;--bg:#f5f5f5;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}#app,body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:#2678cc;text-decoration:none}.app-shell{position:relative;width:100%;max-width:480px;min-height:100vh;margin:0 auto;background:#fff;box-shadow:0 0 28px rgba(23,32,43,.06)}.empty,.loading{padding:90px 24px;text-align:center;color:var(--muted);line-height:2}.hero{display:block;width:100%}.product-body{padding:14px 14px 112px;background:#f5f5f5}.card{padding:18px 16px;background:#fff;border-radius:11px}.card+.card{margin-top:12px}.product-title{margin:0;font-size:20px}.subtitle{margin:7px 0 0;color:var(--muted);font-size:13px}.price-row{display:flex;align-items:end;gap:12px;margin-top:15px}.price{color:var(--red);font-size:31px;font-weight:700}.price:before{content:"¥";font-size:15px}.original{color:#aaa;font-size:12px;text-decoration:line-through}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:17px}.section-title:before{width:4px;height:17px;border-radius:2px;background:var(--orange);content:""}.category{margin:18px 0 12px;font-size:14px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px}.benefit{text-align:center}.benefit img{width:50px;height:50px;-o-object-fit:contain;object-fit:contain;border-radius:11px}.benefit strong{display:block;height:34px;margin-top:6px;overflow:hidden;font-size:11px;line-height:17px}.benefit span{color:#ec5638;font-size:10px}.notice{white-space:pre-wrap;color:#626871;font-size:13px;line-height:1.8}.agreement-check{display:flex;align-items:flex-start;gap:7px;margin-top:14px;color:#777;font-size:11px;line-height:1.7}.agreement-check input{margin-top:3px;accent-color:var(--orange)}.buybar{position:fixed;z-index:20;right:0;bottom:0;left:0;max-width:480px;margin:auto;padding:10px 14px calc(10px + var(--safe));background:#fff;box-shadow:0 -3px 16px rgba(0,0,0,.08)}.primary{width:100%;height:44px;border:0;border-radius:24px;background:linear-gradient(90deg,#ff813d,var(--red));color:#fff;font-weight:600}.primary.blue{background:var(--blue)}.primary:disabled{opacity:.55}.overlay{position:fixed;z-index:60;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.5)}.sheet{width:min(480px,100%);max-height:94vh;overflow:auto;padding:22px 20px calc(20px + var(--safe));border-radius:14px 14px 0 0;background:#fff}.sheet-head{position:relative;text-align:center}.sheet-price{font-size:31px;font-weight:700}.sheet-price:before{content:"¥";font-size:12px}.close{position:absolute;top:-8px;right:-5px;border:0;background:none;color:#60646b;font-size:26px}.payment-meta{margin:18px 0}.meta-row{display:flex;justify-content:space-between;margin:10px 0;color:#666;font-size:14px}.meta-row strong{color:#111}.pay-fields{padding:0 20px;border:1px solid #ddd;border-radius:9px}.pay-field{display:grid;grid-template-columns:82px 1fr;align-items:center;min-height:52px;border-bottom:1px solid var(--line)}.pay-field:last-child{border:0}.pay-field label{font-size:14px;font-weight:600}.pay-field input{min-width:0;border:0;outline:0}.pay-field input::-moz-placeholder{color:#bfc3c9}.pay-field input::placeholder{color:#bfc3c9}.sheet .primary{margin-top:20px}.toast{position:fixed;z-index:100;top:22px;left:50%;max-width:330px;padding:10px 16px;border-radius:8px;background:rgba(20,23,28,.92);color:#fff;font-size:13px;transform:translateX(-50%)}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter,.toast-leave-to{opacity:0;transform:translate(-50%,-12px)}.topbar{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:center;height:50px;border-bottom:1px solid var(--line);background:#fff;font-weight:600}.service{min-height:100vh}.service-banner{display:block;width:100%}.service-main{padding:24px 21px}.service-main h1{margin:0 0 8px;font-size:22px}.lead{margin:0 0 22px;color:#777;font-size:13px}.phone-line{display:flex;gap:9px}.input{width:100%;height:45px;padding:0 13px;border:1px solid #dfe2e6;border-radius:9px;outline:0}.input:focus{border-color:var(--blue)}.small-button{flex:0 0 86px;border:0;border-radius:9px;background:var(--blue);color:#fff}.order-choice{display:flex;gap:10px;margin-top:13px;padding:14px;border:1px solid #e6e8eb;border-radius:9px}.order-choice input{accent-color:var(--blue)}.order-choice strong{display:block}.order-choice span{display:block;margin-top:6px;color:#888;font-size:11px}.service .primary{margin-top:18px}.service-note{margin-top:22px;padding:15px;border-radius:9px;background:#f3f8fc;color:#63707d;line-height:1.8}.login-page{min-height:100vh;padding:66px 30px 30px}.login-brand{text-align:center}.login-brand img{width:76px;height:76px}.login-brand h1{margin:12px 0 7px;font-size:23px}.login-brand p{margin:0;color:#999;font-size:13px}.login-form{margin-top:44px}.login-line{display:flex;align-items:center;height:57px;border-bottom:1px solid #ddd}.login-line input{flex:1;min-width:0;border:0;outline:0}.code-button{border:0;background:none;color:#1989fa;font-size:12px}.login-consent{display:block;margin:20px 0 30px;color:#888;font-size:11px;text-align:center}.login-consent input{accent-color:var(--blue)}.orders-page{min-height:100vh;background:#f5f5f5}.orders-list{padding:12px}.order-card{margin-bottom:12px;padding:15px;border-radius:10px;background:#fff}.order-head{display:flex;justify-content:space-between;gap:12px}.status{color:var(--orange);font-size:11px}.order-meta{margin:8px 0 13px;color:#888;font-size:11px}.claim-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.claim-row img{width:44px;height:44px;-o-object-fit:contain;object-fit:contain}.claim-info{flex:1;min-width:0}.claim-info strong{font-size:12px}.claim-info span{display:block;margin-top:5px;color:#999;font-size:10px}.claim-button{padding:6px 12px;border:1px solid var(--orange);border-radius:16px;background:#fff;color:var(--orange);font-size:11px}.claim-button:disabled{border-color:#ccc;color:#aaa}.agreement-page{min-height:100vh;padding:24px 20px}.agreement-page h1{text-align:center;font-size:20px}.agreement-content{white-space:pre-wrap;color:#41474f;font-size:13px;line-height:1.95}.home{min-height:100vh;padding:27px 17px}.home-brand{text-align:center}.home-brand img{width:64px}.home-brand h1{margin:9px 0 4px}.home-brand p{margin:0;color:#888;font-size:13px}.product-link{display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px;border:1px solid #eee;border-radius:11px;color:var(--ink)}.product-link img{width:82px;height:64px;-o-object-fit:cover;object-fit:cover;border-radius:7px}.product-link span{display:block;margin-top:6px;color:var(--red);font-weight:700}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.home-actions a{padding:13px;border-radius:8px;background:#f5f8fb;text-align:center;font-size:12px}.dialog{align-self:center;width:min(320px,calc(100% - 44px));padding:23px;border-radius:13px;background:#fff;text-align:center}.dialog h3{margin:0 0 10px}.dialog p{color:#666;font-size:13px;line-height:1.7}@media(max-width:360px){.benefits{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.product-page{min-height:100vh;background:#fff}.hero-wrap{position:relative}.service-float{position:absolute;right:0;top:42%;padding:9px 10px 9px 12px;border-radius:19px 0 0 19px;background:#fff;color:#315e9b;box-shadow:0 2px 9px rgba(46,68,100,.16);font-size:12px;font-weight:600}.purchase-panel{padding:12px 36px 18px;background:#fff}.purchase-phone{display:block;width:100%;height:44px;padding:0 23px;border:0;border-radius:24px;background:#eee;outline:0;font-size:14px}.purchase-phone::-moz-placeholder{color:#aaa}.purchase-phone::placeholder{color:#aaa}.purchase-button,.service-submit{width:100%;height:41px;border:0;border-radius:23px;background:#12a8f4;color:#fff;font-weight:600}.purchase-button{margin-top:12px;font-size:15px}.purchase-agreement{display:flex;align-items:flex-start;gap:5px;margin-top:5px;color:#92979d;font-size:9px;line-height:16px;white-space:nowrap}.purchase-agreement input{width:10px;height:10px;margin:3px 0 0;accent-color:#13a8f4}.purchase-agreement a{color:#727981}.benefit-content{padding:0 22px 30px}.benefit-section{margin-top:8px}.benefit-section h2{display:inline-block;margin:0 0 10px;padding-bottom:7px;border-bottom:2px solid #16a9f4;font-size:15px}.benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.benefit-item{display:flex;align-items:center;min-height:70px;padding:10px 8px;border-radius:9px;background:#f7f7f7}.benefit-item img{flex:0 0 45px;width:45px;height:45px;margin-right:8px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.benefit-item div{min-width:0}.benefit-item strong{display:-webkit-box;overflow:hidden;font-size:12px;line-height:17px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.benefit-item span{display:block;margin-top:3px;color:#f05a35;font-size:10px}.purchase-notice p{margin:0;padding:13px;border-radius:8px;background:#f7f7f7;color:#666;font-size:12px;line-height:1.8;white-space:pre-wrap}.service,.service-title{background:#fff}.service-title{display:flex;align-items:center;justify-content:center;height:43px;color:#000;font-size:16px;font-weight:600}.service-main{padding:17px 35px 30px}.service-phone{display:block;width:100%;height:41px;padding:0 20px;border:0;border-radius:23px;background:#f1f1f1;outline:0;font-size:13px}.service-phone::-moz-placeholder{color:#aaa}.service-phone::placeholder{color:#aaa}.service-submit{margin-top:19px;font-size:14px}.service-submit:disabled{opacity:.55}.service-note{margin-top:26px;padding:13px 12px;border-radius:8px;background:#f5f5f5;color:#353535;font-size:12px;line-height:1.75}.service-note strong{display:block;color:#222}.service-note p{margin:3px 0 0;white-space:pre-wrap}@media(max-width:360px){.purchase-panel{padding-right:28px;padding-left:28px}.benefit-content{padding-right:16px;padding-left:16px}.purchase-agreement{font-size:8px}.service-main{padding-right:28px;padding-left:28px}}