:root{--ink:#2d1d17;--muted:#77645c;--paper:#fffaf3;--cream:#f5e8d6;--white:#fff;--caramel:#b9673e;--cocoa:#56352a;--green:#617755;--line:#e6d6c5;--danger:#a6382f;--shadow:0 18px 50px rgba(74,45,32,.12)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#f4e6d4 0,#fffaf3 360px);font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;line-height:1.6}button,input,textarea{font:inherit}button{touch-action:manipulation}.page-shell{width:min(100%,860px);margin:0 auto;padding:0 16px 48px}.campaign-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px}.campaign-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.campaign-brand img{border:1px solid var(--line);border-radius:50%;object-fit:cover}.campaign-brand strong,.campaign-brand small{display:block;line-height:1.25}.campaign-brand small{color:var(--muted);font-size:.76rem;letter-spacing:.08em}.unlisted-badge{padding:6px 11px;color:var(--cocoa);background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:999px;font-size:.76rem;font-weight:800}.state-card,.hero-card,.progress-card,.checkout-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.centered-state{display:grid;min-height:360px;place-content:center;padding:40px;text-align:center}.spinner{width:32px;height:32px;margin:0 auto 12px;border:3px solid var(--cream);border-top-color:var(--caramel);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-card{overflow:hidden;padding:clamp(26px,6vw,52px);background:radial-gradient(circle at 90% 0,#fff 0,transparent 35%),linear-gradient(135deg,#fffaf3,#f4e4cf)}.eyebrow{margin:0 0 8px;color:var(--caramel);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:650px;margin-bottom:9px;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(2.2rem,7vw,4.4rem);font-weight:500;line-height:1.08}.subtitle{margin-bottom:26px;color:var(--muted);font-size:1.06rem}.campaign-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meta-item{padding:13px 14px;background:rgba(255,255,255,.72);border:1px solid rgba(230,214,197,.85);border-radius:14px}.meta-item small,.meta-item strong{display:block}.meta-item small{color:var(--muted);font-size:.75rem}.meta-item strong{margin-top:2px;font-size:.93rem}.cold-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:13px 14px;color:#31506a;background:#edf6fb;border-radius:14px}.cold-note p{margin:0;font-size:.9rem}.progress-card,.checkout-card{margin-top:16px;padding:24px}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-title-row h2,.section-heading h2{margin-bottom:7px;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(1.65rem,5vw,2.4rem);font-weight:500}.section-title-row>strong{color:var(--green);font-size:1.35rem}.progress-amount{margin:10px 0 8px;color:var(--cocoa);font-size:1.18rem;font-weight:900}.progress-track{overflow:hidden;height:12px;background:#ecdfd0;border-radius:999px}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--caramel),var(--green));border-radius:inherit;transition:width .35s ease}.progress-copy{margin:10px 0 0;color:var(--muted);font-size:.9rem}.products-section{padding:54px 0 12px}.section-heading>p:last-child{color:var(--muted)}.product-list{display:grid;gap:13px}.product-card{display:grid;grid-template-columns:112px 1fr;gap:16px;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:18px}.product-card img{width:112px;height:100%;min-height:142px;object-fit:cover}.product-body{display:flex;flex-direction:column;justify-content:space-between;padding:16px 16px 16px 0}.product-body h3{margin:0 0 2px;font-size:1.1rem}.product-body .price{margin:0;color:var(--cocoa);font-weight:900}.quantity-control{display:flex;align-items:center;align-self:flex-end;margin-top:12px;border:1px solid var(--line);border-radius:999px}.quantity-control button{display:grid;width:44px;height:44px;padding:0;place-items:center;color:var(--cocoa);background:transparent;border:0;border-radius:50%;font-size:1.35rem;font-weight:700}.quantity-control button:disabled{color:#c8bbb3}.quantity-control output{min-width:34px;text-align:center;font-weight:900}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:grid;gap:6px;font-weight:800}label span{color:var(--danger);font-size:.76rem}label small{color:var(--muted);font-weight:500}input,textarea{width:100%;padding:12px 13px;color:var(--ink);background:#fff;border:1px solid #ccb9aa;border-radius:11px;outline:none}input:focus,textarea:focus{border-color:var(--caramel);box-shadow:0 0 0 3px rgba(185,103,62,.13)}.full-width{grid-column:1/-1}.form-message{min-height:24px;margin:12px 0 0;color:var(--danger);font-size:.88rem}.checkout-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 14px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.checkout-summary p{margin:0;color:var(--muted)}.checkout-summary strong{color:var(--cocoa);font-size:1.13rem}#checkout-button{width:100%;min-height:54px;padding:0 18px;color:#fff;background:var(--cocoa);border:0;border-radius:999px;font-weight:900}#checkout-button:disabled{cursor:not-allowed;background:#b9aaa3}.payment-note{margin:10px 0 0;color:var(--muted);font-size:.78rem;text-align:center}.campaign-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 4px 0;color:var(--muted);font-size:.8rem}.campaign-footer strong{color:var(--cocoa)}
.passcode-field{margin:4px 0 10px}.passcode-field input{max-width:320px}.passcode-hint{margin:0 0 14px;color:var(--muted);font-size:.88rem}
@media(min-width:720px){.product-list{grid-template-columns:repeat(3,1fr)}.product-card{display:block}.product-card img{width:100%;height:220px}.product-body{padding:18px}.quantity-control{align-self:stretch;justify-content:space-between}}
@media(max-width:560px){.page-shell{padding-left:12px;padding-right:12px}.campaign-header{align-items:flex-start}.campaign-brand img{width:42px;height:42px}.unlisted-badge{margin-top:3px}.hero-card,.progress-card,.checkout-card{border-radius:18px}.hero-card{padding:26px 20px}.campaign-meta{grid-template-columns:1fr}.progress-card,.checkout-card{padding:20px}.field-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.campaign-footer{align-items:flex-start;flex-direction:column}.product-card{grid-template-columns:96px 1fr}.product-card img{width:96px}.product-body{padding:14px 14px 14px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none}.progress-track span{transition:none}}
