:root{--ink:#f8ead0;--muted:#baa98d;--gold:#e8b85c;--panel:#171a22;--line:#4c3f30}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at 70% 0,#452b24 0,transparent 35%),linear-gradient(140deg,#0d1118,#17131a 60%,#251511)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(90deg,transparent 49%,#d6ac6540 50%,transparent 51%);background-size:72px 72px}main{width:min(1180px,calc(100% - 32px));margin:auto;padding:34px 0 70px}header{min-height:190px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;border:1px solid #715735;background:linear-gradient(100deg,#201b1aee,#121720ee);box-shadow:0 24px 80px #0008;position:relative;overflow:hidden}header:after{content:"灵";position:absolute;right:4%;top:-55px;font:220px serif;color:#e8b85c0b}small,em{color:var(--gold);letter-spacing:.2em;font-style:normal}h1{font:700 clamp(38px,6vw,68px) serif;margin:6px 0;text-shadow:0 3px #000}header p{color:var(--muted);margin:0;max-width:600px}.identity{z-index:1;text-align:right;display:grid;gap:12px}.identity b{font-size:20px}.identity i{color:var(--gold)}button{border:1px solid #9a713d;background:linear-gradient(#b74a39,#76251f);color:#fff5df;padding:12px 22px;cursor:pointer;font-weight:700;letter-spacing:.08em}button:hover{filter:brightness(1.14)}button:disabled{opacity:.55;cursor:not-allowed}.login{display:grid;place-items:center;padding:54px}.login>div{width:min(430px,100%);padding:34px;border:1px solid var(--line);background:#171a22e8;box-shadow:0 20px 60px #0007}.login h2{font:32px serif;margin:8px 0 28px}.login label{display:block;color:var(--muted);margin:16px 0}.login input{width:100%;margin-top:8px;padding:14px;background:#0c1016;border:1px solid #504332;color:white;outline:none}.login input:focus{border-color:var(--gold)}.login button{width:100%;margin-top:8px}.login p{text-align:center;color:var(--muted);font-size:13px}.section-title{display:flex;align-items:end;justify-content:space-between;margin:42px 0 20px}.section-title h2{font:34px serif;margin:4px 0}.section-title>span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product{border:1px solid var(--line);background:linear-gradient(145deg,#1e2129,#13151b);padding:24px;min-height:280px;display:flex;flex-direction:column;position:relative}.tag{position:absolute;right:-1px;top:-1px;background:#8c3028;padding:6px 13px;font-size:12px}.product h3{font:25px serif;margin:20px 0 8px}.product p{color:var(--muted);min-height:45px}.rewards{border-top:1px solid #3e352a;padding-top:12px;display:grid;gap:5px;font-size:13px}.price{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between}.price b{font-size:26px;color:var(--gold)}.hidden{display:none!important}#toast{position:fixed;left:50%;bottom:35px;transform:translateX(-50%);background:#f4dfb8;color:#2b1c15;padding:12px 22px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1}dialog{border:1px solid #8a6a42;background:#191b22;color:var(--ink);padding:26px;width:min(440px,90%)}dialog::backdrop{background:#000b}dialog div{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}dialog #cancel{background:#292a2e}@media(max-width:800px){header{align-items:flex-start;gap:25px;flex-direction:column}.identity{text-align:left}.grid{grid-template-columns:1fr}.login{padding:35px 0}.section-title{align-items:flex-start;gap:12px;flex-direction:column}}
/* Reward rows use the original H5 item artwork returned by the storefront API. */
.login select{width:100%;margin-top:8px;padding:14px;background:#0c1016;border:1px solid #504332;color:white;outline:none}.login select:focus{border-color:var(--gold)}.login select:disabled{color:#777}
.reward{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:3px}.reward-icon{width:36px;height:36px;object-fit:contain;border:1px solid #574833;background:#0c1016;border-radius:4px}.reward-icon-fallback{display:grid;place-items:center;color:var(--gold);font:18px serif}.reward-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward b{color:var(--ink)}
