:root{--fg:#1a1a1a;--muted:#888;--line:#e6e6e6;--accent:#1a1a1a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;color:var(--fg)}a{color:inherit;text-decoration:none}.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:1.1rem}.site-main{max-width:960px;margin:0 auto;padding:32px 24px 80px}.site-footer{border-top:1px solid var(--line);padding:24px;text-align:center;font-size:.85rem}.muted,.site-footer{color:var(--muted)}.lead{font-size:1.1rem;color:#444}.btn{display:inline-block;margin-top:12px;padding:10px 20px;background:var(--accent);color:#fff;border-radius:6px}.hero{padding:56px 0;text-align:center;border-bottom:1px solid var(--line)}.hero h1{font-size:2.2rem;margin:0 0 12px}.featured,.rich-text{padding:32px 0}.product-grid{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:8px;min-height:96px;justify-content:space-between}.card:hover{border-color:#bbb}.card-img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:#f2f2f4}.card-img.placeholder{display:block}.detail-img{width:100%;max-width:480px;border-radius:10px;object-fit:cover;margin-bottom:20px}.card-title{font-weight:600}.card-price{color:#444}.variant-list{list-style:none;padding:0;margin:0}.variant-list li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.empty-theme,.unknown-section{padding:48px 0;text-align:center;color:var(--muted)}.header-right,.site-nav{display:flex;gap:18px}.header-right{align-items:center}.account-link{font-weight:600}.auth{max-width:380px}.auth-tabs{display:flex;gap:8px;margin:16px 0}.auth-tabs button{flex:1 1;padding:8px;border:1px solid var(--line);background:transparent;border-radius:6px;cursor:pointer}.auth-tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.order-list{list-style:none;padding:0;margin:12px 0}.order-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.order-row .card-price{margin-left:auto}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.linklike{background:none;border:none;color:var(--accent);cursor:pointer;padding:8px 0;font-size:.9rem;text-decoration:underline}.btn.small{margin-top:0;padding:6px 12px;font-size:.85rem}.variant-list li{align-items:center;gap:16px}.add-form{margin-left:auto}.cart-list{list-style:none;padding:0;margin:0}.cart-row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-variant{flex:1 1;font-size:.8rem;color:var(--muted);word-break:break-all}.qty-form{display:flex;gap:6px;align-items:center}.qty-input{width:64px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}.cart-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.checkout-form,.summary{max-width:380px}.checkout-form{display:flex;flex-direction:column;gap:14px}.checkout-form label{display:flex;flex-direction:column;gap:4px;color:#555}.checkout-form input,.checkout-form select{padding:8px 10px;font-size:1rem;border:1px solid var(--line);border-radius:6px;font-family:inherit}.rates{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.rates legend{color:var(--muted);font-size:.85rem;padding:0 6px}.rate-row{display:flex;align-items:center;gap:10px}.rate-row .card-price{margin-left:auto}.addr-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.addr-row label{display:flex;flex-direction:column;gap:4px;color:#555}.summary{list-style:none;padding:0;margin:16px 0}.summary li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.summary .total{font-weight:700;border-bottom:none}button.ghost{padding:6px 12px;font-size:.85rem;background:transparent;color:#555;border:1px solid var(--line);border-radius:6px;cursor:pointer}.error,button.danger{color:#c0362c}