:root{font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#253630;background:#f4f8f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;letter-spacing:0}.gift-page{min-height:100vh;background:linear-gradient(180deg,#edf7f1 0,#f5f8f6 42% 100%)}.header{position:relative;display:flex;align-items:center;justify-content:center;width:min(920px,calc(100% - 40px));height:100px;margin:auto;padding-top:18px}.brand{display:flex;align-items:center;gap:14px;color:#173c30;font-size:26px;font-weight:800}.brand img,.logo-fallback{width:52px;height:52px;border-radius:9px;object-fit:cover}.logo-fallback{display:grid;place-items:center;background:#218d67;color:#fff}.secure{position:absolute;top:36px;right:0;color:#758780;font-size:12px}.main{width:min(720px,calc(100% - 40px));margin:18px auto 45px}.intro{padding:20px 8px 27px}.eyebrow{display:block;color:#238b68;font-size:11px;font-weight:700;letter-spacing:1px}.intro h1{margin:9px 0 11px;font-size:34px;line-height:1.28}.intro p{margin:0;color:#71817b;font-size:14px;line-height:1.9}.intro-line{display:flex;align-items:center;gap:12px;margin-top:20px;color:#789187;font-size:12px}.intro-line i{width:24px;height:1px;background:#c5d9d0}.product-card{padding:25px;border:1px solid #e0eae5;border-radius:8px;background:#fff;box-shadow:0 12px 28px #2759440a}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-head h2{margin:5px 0 0;font-size:20px}.tag{flex:none;padding:5px 9px;border-radius:3px;background:#e9f7f0;color:#1e966b;font-size:11px}.product-body{display:grid;grid-template-columns:124px 1fr;gap:18px;margin-top:22px}.product-image,.image-placeholder{width:124px;height:124px;border-radius:6px;object-fit:cover}.image-placeholder,.win-placeholder{display:grid;place-items:center;background:#edf5f1;color:#8ca49b;font-size:13px}.product-copy h3{margin:0;color:#2e453b;font-size:17px;line-height:1.45}.details{display:grid;gap:11px;margin:14px 0 0}.details div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #eef2f0}.details dt{color:#899891;font-size:12px}.details dd{margin:0;color:#334a41;font-size:13px;font-weight:600;text-align:right}.lottery-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:24px;padding:14px;border:0;border-radius:5px;background:#dc3838;color:#fff;font:700 15px inherit;box-shadow:0 9px 18px #d9313133;cursor:pointer}.lottery-button:hover{background:#c92d2d}.lottery-star{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff0bd;color:#dc3838;font-size:12px}.open-app-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:13px;border:1px solid #f1b59a;border-radius:5px;background:#fff5ee;color:#c45a28;font:600 14px inherit;cursor:pointer;transition:all .2s}.open-app-button:hover{background:#ffe6d3;border-color:#e89070;color:#a04a1c}.open-app-button:active{transform:translateY(1px)}.open-app-button:disabled{background:#f5f1ed;border-color:#e7dccf;color:#b8a99c;cursor:not-allowed}.open-app-icon{display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #e8c8b2;border-radius:5px;background:#fff;color:#c45a28;font-size:13px;font-weight:700;object-fit:cover;flex:none}.details .order-no{color:#c25c1a!important;font-weight:800!important;letter-spacing:.5px}.delivery-note{display:flex;align-items:center;gap:13px;margin-top:18px;padding:18px 22px;border:1px solid #e0eae5;border-radius:8px;background:#fff}.note-mark{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border-radius:50%;background:#e6f6ee;color:#218f68;font-size:16px;font-weight:700}.delivery-note h2{margin:0 0 5px;font-size:14px}.delivery-note p{margin:0;color:#7c8d86;font-size:12px;line-height:1.65}footer{padding:25px;color:#9ba9a3;text-align:center;font-size:11px}.error-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f4f8f6}.error-page section{width:min(420px,100%);padding:36px 28px;border:1px solid #e0eae5;border-radius:8px;background:#fff;text-align:center}.error-page h1{margin:0 0 10px;font-size:22px}.error-page p{margin:0;color:#71817b;line-height:1.8}.modal-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:20px;background:#142c2377}.payment-backdrop{display:flex;align-items:flex-end;padding:0}.modal,.lottery-modal,.win-modal{position:relative;width:min(370px,100%);padding:30px 28px;border-radius:9px;background:#fff;text-align:center;box-shadow:0 18px 60px #19382d44}.close{position:absolute;z-index:2;top:8px;right:13px;border:0;background:transparent;color:#97a69f;font-size:25px;cursor:pointer}.modal-icon,.fail-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border-radius:50%;background:#e5f6ed;color:#20956c;font-size:21px;font-weight:700}.modal-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin:-6px 0 18px;color:#173c30;font-size:16px}.modal-brand img,.modal-brand span{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;object-fit:cover;background:#218d67;color:#fff;font-size:14px}.fail-icon{background:#fff0e8;color:#dc7a48}.modal h2,.win-modal h2{margin:0;font-size:20px}.modal>p,.win-modal p{margin:10px 0 19px;color:#778780;font-size:13px;line-height:1.8}.shipping-copy{margin-bottom:8px!important}.modal input{width:100%;padding:12px;border:1px solid #d9e4df;border-radius:5px;text-align:center;font:18px Arial;letter-spacing:5px;outline:0}.modal input:focus{border-color:#218f68}.modal input[placeholder*=身份证]{letter-spacing:0}.payment-info{margin:15px 0;padding:4px 15px;border-radius:6px;background:#f4f8f6;text-align:left}.payment-info p{display:flex;align-items:center;justify-content:space-between;margin:11px 0;color:#7d8c85;font-size:12px}.payment-info b{color:#314a40;font-size:14px}.payment-info .address-row{align-items:flex-start}.payment-info .address-row b{max-width:68%;line-height:1.55;text-align:right;overflow-wrap:anywhere}.payment-sheet{width:min(560px,100%);min-height:70vh;max-height:calc(100vh - env(safe-area-inset-top));margin:0;padding:34px 28px calc(28px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}.payment-sheet:before{content:"";display:block;width:40px;height:4px;margin:-17px auto 18px;border-radius:3px;background:#d6e0db}.confirm,.receive-button{width:100%;margin-top:16px;border:0;border-radius:5px;background:#218f68;color:#fff;padding:12px 17px;font:14px inherit;cursor:pointer}.confirm:hover,.receive-button:hover{background:#187453}.modal small{display:block;margin-top:10px;color:#d36a5f}.lottery-modal{overflow:hidden;width:min(410px,100%);padding:27px 14px;background:linear-gradient(145deg,#fff6df,#fff)}.lottery-title{display:block;color:#d33a32;font-size:23px;font-weight:800}.lottery-modal>p{margin:7px 0 15px;color:#a6735c;font-size:12px}.wheel-area{position:relative;width:330px;height:330px;margin:0 auto}.wheel-pointer{position:absolute;z-index:2;top:-6px;left:50%;color:#d33a32;font-size:29px;line-height:1;transform:translate(-50%)}.wheel{position:absolute;inset:11px;border:8px solid #e6a735;border-radius:50%;background:conic-gradient(#fbe8a7 0 30deg,#f77b5d 30deg 60deg,#f9d985 60deg 90deg,#e95a49 90deg 120deg,#fbe8a7 120deg 150deg,#f77b5d 150deg 180deg,#f9d985 180deg 210deg,#e95a49 210deg 240deg,#fbe8a7 240deg 270deg,#f77b5d 270deg 300deg,#f9d985 300deg 330deg,#e95a49 330deg);box-shadow:0 10px 20px #9e462b33;transition:transform 5s cubic-bezier(.13,.77,.1,1)}.wheel-prize{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:30px;height:78px;margin:-39px 0 0 -15px;color:#fffdf4;font-size:13px;font-weight:900;line-height:1.12;text-align:center;text-shadow:-1px -1px 0 #b42424,1px -1px 0 #b42424,-1px 1px 0 #b42424,1px 1px 0 #b42424,0 2px 3px #74202088;writing-mode:vertical-rl;text-orientation:mixed;transform-origin:15px 39px}.wheel-center{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:62px;height:62px;margin:-31px;border:5px solid #fff4d1;border-radius:50%;background:#d83b30;color:#fff;font-size:15px;font-weight:800;box-shadow:0 2px 8px #70322355}.start-button{width:220px;margin-top:6px;padding:11px;border:0;border-radius:22px;background:#d83b30;color:#fff;font:700 14px inherit;box-shadow:0 7px 15px #d33a3255;cursor:pointer}.start-button:disabled{background:#bf968a;box-shadow:none;cursor:default}.win-modal{overflow:hidden;padding-top:29px;background:linear-gradient(160deg,#fff8e1,#fff)}.win-burst{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 11px;border:5px solid #fff;border-radius:50%;background:#e94a38;color:#ffef9a;font-size:26px;font-weight:800;box-shadow:0 0 0 8px #f5c44c66}.win-label{color:#d77c32;font-size:13px;font-weight:700}.win-modal h2{margin-top:5px;color:#d23a31;font-size:23px}.win-value{margin:5px 0 0!important;color:#d24a32!important;font-size:15px!important;font-weight:800}.win-modal img,.win-placeholder{width:185px;height:135px;margin:15px auto 0;border-radius:7px;object-fit:cover}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:48%;left:50%;width:7px;height:12px;background:var(--c);animation:confetti 1.2s var(--d) ease-out infinite}@keyframes confetti{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(480deg);opacity:0}}.loader{position:relative;width:58px;height:58px;margin:0 auto 17px;border:4px solid #e1f1e9;border-top-color:#218f68;border-radius:50%;animation:spin 1s linear infinite}.loader i{position:absolute;width:7px;height:7px;border-radius:50%;background:#d98a4d}.loader i:first-child{top:-5px;left:25px}.loader i:nth-child(2){right:-3px;bottom:11px}.loader i:nth-child(3){bottom:4px;left:3px}.progress{height:5px;margin-top:20px;overflow:hidden;border-radius:5px;background:#e8efeb}.progress span{display:block;height:100%;border-radius:5px;background:#218f68;transition:width .1s linear}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.header{width:calc(100% - 28px);height:108px;padding-top:24px}.secure{display:none}.brand{gap:12px;font-size:23px}.brand img,.logo-fallback{width:46px;height:46px}.main{width:calc(100% - 28px);margin-top:8px}.intro{padding:25px 3px}.intro h1{font-size:29px}.intro p{font-size:13px}.product-card{padding:21px 18px}.product-body{grid-template-columns:104px 1fr}.product-image,.image-placeholder{width:104px;height:104px}.details{gap:9px}.details dd{font-size:12px}.delivery-note{align-items:flex-start;padding:16px}.lottery-modal,.win-modal{padding:25px 12px}.wheel-area{width:min(330px,calc(100vw - 56px));height:min(330px,calc(100vw - 56px))}.payment-sheet{min-height:70vh;padding:34px 22px calc(24px + env(safe-area-inset-bottom))}.modal{padding:28px 22px}}.bottom-backdrop{align-items:flex-end;padding:0}.bottom-backdrop .modal{animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.password-sheet{display:flex;flex-direction:column;width:min(560px,100%);height:78vh;min-height:0;margin:0;padding:0 0 env(safe-area-inset-bottom);border-radius:18px 18px 0 0;background:#fff;overflow:hidden}.sheet-grabber{width:42px;height:4px;margin:6px auto;border-radius:4px;background:#e1e7e4}.password-head{display:flex;align-items:center;justify-content:space-between;padding:4px 18px 12px}.password-head .modal-brand{margin:0;font-size:15px}.password-head .close{position:static;width:30px;height:30px;padding:0;border-radius:50%;background:#f4f8f6;font-size:18px;color:#6b8580}.password-head .close:hover{background:#e8efeb}.password-method{margin:0 18px 10px;padding:11px 14px;border-radius:8px;background:linear-gradient(180deg,#f6faf8,#f1f6f3);border:1px solid #dfe8e2}.method-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px}.method-row+.method-row{border-top:1px dashed #e1ece6}.method-row-amount{margin:4px 0 0;padding:7px 0 0;border-top:1px solid #f3d6b3!important}.method-row-amount .method-label{color:#8a6a3d;font-weight:600}.method-amount{color:#d36a13!important;font-size:17px!important;font-weight:800!important}.method-label{color:#8a9a93;font-size:12px}.method-value{color:#2c3a33;font-weight:600;font-family:ui-monospace,Consolas,monospace;letter-spacing:.3px}.password-title{margin:12px 18px 8px;color:#1f2933;font-size:17px;font-weight:700;text-align:center}.password-dots{display:flex;justify-content:center;gap:11px;margin:0 18px 10px}.password-dots span{display:block;width:13px;height:13px;border:1.5px solid #c9d4cd;border-radius:50%;background:#fff;transition:all .15s}.password-dots span.filled{border-color:#6b7280;background:#6b7280;box-shadow:0 0 0 3px #6b728026}.password-dots span.focus{border-color:#6b7280;box-shadow:0 0 0 4px #6b72802e}.pwd-error{margin:0 18px 6px;color:#d36a5f;font-size:12px}.pwd-confirm{display:block;width:calc(100% - 36px);margin:8px 18px 4px;padding:13px;border:0;border-radius:7px;background:linear-gradient(180deg,#218f68,#1b7a58);color:#fff;font:700 16px inherit;letter-spacing:1px;box-shadow:0 4px 10px #218f6859;cursor:pointer;transition:all .15s}.pwd-confirm:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 4px #218f6859}.pwd-confirm:disabled{background:#b9cdc4;cursor:not-allowed;box-shadow:none}.hidden-input{position:absolute;left:-9999px;opacity:0;width:1px;height:1px;pointer-events:none}.secure-keyboard{margin-top:auto;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);background:#ecf0ee;border-top:1px solid #d8e0dc;user-select:none;-webkit-user-select:none}.kb-header{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 4px;font-size:13px;color:#4a5550;font-weight:600}.kb-header-meta{font-size:11px;color:#8a9a93;font-weight:400}.kb-header .kb-header-meta:before{content:"🔒 ";font-size:10px;opacity:.7}.kb-row{display:flex;gap:5px;margin-bottom:5px}.kb-row:last-child{margin-bottom:6px}.kb-key{flex:1;height:46px;border:1px solid #d2dbd6;border-radius:7px;background:#fff;color:#1f2933;font:700 22px inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.kb-key:disabled{opacity:.55;cursor:not-allowed}.kb-backspace{background:#dfe4e1;color:#4a5550;font-size:18px}.kb-hide{background:transparent!important;border-color:transparent!important;cursor:default;color:transparent!important;pointer-events:none;box-shadow:none}@media(max-width:700px){.password-sheet{height:78vh}.kb-key{height:44px;font-size:21px}.method-row{font-size:12px}}
