:root{--primary:#3b82f6;--primary-dark:#2563eb;--bg:#f5f6f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--danger:#ef4444;--success:#10b981;--border:#e5e7eb;--tab-h:56px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.page{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}@media (min-width:768px){.page{max-width:1120px;padding-bottom:0}.grid3{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1.6fr 1fr}.prod-wall{grid-template-columns:repeat(4,1fr)!important}.home-cols{grid-template-columns:2fr 1fr!important}}.topnav{height:60px;align-items:center;padding:0 24px;background:var(--card);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.topnav-inner{display:flex;align-items:center;gap:28px;max-width:1120px;margin:0 auto;width:100%}@media (max-width:767px){.topnav{display:none}}.topnav .brand{font-size:18px;font-weight:800;color:var(--primary-dark);margin-right:auto}.topnav a.nav-link{font-size:15px;color:var(--text);padding:6px 10px;border-radius:8px}.topnav a.nav-link.active{color:var(--primary);background:rgba(59,130,246,.08);font-weight:600}.carousel{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:16/9;background:#dbeafe}.carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}.carousel img.on{opacity:1}.carousel .dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}.carousel .dot{width:8px;height:8px;border-radius:50%;background:hsla(0,0%,100%,.5);border:none;cursor:pointer}.carousel .dot.on{background:#fff;width:18px;border-radius:4px}.carousel .arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:hsla(0,0%,100%,.75);cursor:pointer;font-size:16px;display:none}@media (min-width:768px){.carousel .arrow{display:block}}.carousel .arrow.l{left:12px}.carousel .arrow.r{right:12px}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.prod-wall{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.prod-wall .p-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}.prod-wall .p-card img{width:100%;aspect-ratio:1/1.05;object-fit:cover;display:block}.prod-wall .p-card .p-body{padding:10px 12px}.home-cols{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.notice-bar{display:flex;align-items:center;gap:8px;background:#fff7ed;color:#9a3412;border-radius:10px;padding:8px 12px;font-size:13px}.footer-icp{text-align:center;color:var(--muted);font-size:12px;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:480px;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--border);display:flex;z-index:100}@media (min-width:768px){.tabbar{display:none}}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:var(--muted)}.tabbar a.active{color:var(--primary);font-weight:600}.tabbar .ico{font-size:20px;line-height:1}.card,.section{padding:16px}.card{background:var(--card);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.row{display:flex;align-items:center;justify-content:space-between}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:12px}.muted{color:var(--muted)}.mt8{margin-top:8px}.mt16{margin-top:16px}.title{font-size:17px;font-weight:700}.amount{font-size:26px;font-weight:800}.tag{font-size:12px;color:var(--primary);background:rgba(59,130,246,.1);padding:2px 8px;border-radius:999px}.btn{display:inline-block;width:100%;text-align:center;background:var(--primary);color:#fff;border:none;padding:12px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5}.btn-ghost{background:#fff;color:var(--primary);border:1px solid var(--primary)}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font-size:15px;background:#fff}.list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--card);border-bottom:1px solid var(--border)}.list-item:first-child{border-top-left-radius:14px;border-top-right-radius:14px}.list-item:last-child{border-bottom:none}.profile-hero{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:24px 16px 40px}.profile-hero .code{font-size:22px;font-weight:800;letter-spacing:2px}.balance-strip{display:flex;background:var(--card);border-radius:14px;margin:-24px 16px 0;padding:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.08)}.balance-strip>div{flex:1 1;text-align:center}.balance-strip .num{font-size:18px;font-weight:800}.countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--danger);font-weight:700}.empty{text-align:center;color:var(--muted);padding:48px 0}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,#eff6ff,#f5f6f8 60%)}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:20px;box-shadow:0 12px 40px rgba(37,99,235,.12);padding:28px 26px}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand .logo{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 18px rgba(37,99,235,.35)}.auth-brand h1{font-size:20px;margin:12px 0 4px}.auth-brand p{font-size:13px;color:var(--muted)}.auth-tabs{display:flex;background:#f1f5f9;border-radius:12px;padding:4px;margin-bottom:20px}.auth-tabs button{flex:1 1;border:none;background:transparent;padding:9px;border-radius:9px;font-size:14px;color:var(--muted);cursor:pointer;font-weight:600;transition:all .15s}.auth-tabs button.on{background:#fff;color:var(--primary-dark);box-shadow:0 1px 3px rgba(0,0,0,.08)}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.auth-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:15px;background:#fff;transition:border .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,130,246,.15)}.auth-err{background:#fef2f2;color:#b91c1c;font-size:13px;padding:9px 12px;border-radius:10px;margin-bottom:14px}.auth-submit{width:100%;padding:13px;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 16px rgba(37,99,235,.3)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-foot{margin-top:18px}.auth-foot,.auth-hint{text-align:center;font-size:12px;color:var(--muted)}.auth-hint{margin-top:12px}.content-page{max-width:760px;margin:0 auto;padding:16px}.content-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.content-head a{color:var(--primary);font-size:16px;text-decoration:none}.content-head h1{font-size:18px;margin:0 auto;padding-right:26px}.content-img{width:100%;border-radius:12px;margin-bottom:14px;display:block;box-shadow:0 2px 12px rgba(0,0,0,.08)}.custom-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.custom-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);text-decoration:none;color:inherit}.custom-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.custom-card .c-body{padding:10px 12px}.custom-card .c-title{font-size:14px;font-weight:600;line-height:1.35}.detail-hero{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.detail-price{color:var(--danger);font-size:26px;font-weight:800}.consult-bar{position:-webkit-sticky;position:sticky;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border)}.consult-bar .btn{width:100%}