@font-face{font-family:Silkscreen;src:url("/fonts/silkscreen-bold.ttf") format("truetype");font-weight:700;font-display:swap}
.shopbody{color-scheme:dark;--ink:#f2f5ff;--muted:#a0adce;--line:#303d70;--green:#65f7dc;--mint:#173c42;--red:#ff9baf;--cut:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px));color:var(--ink);background:#060d20 url("/art/pixel-world.webp") center top / max(1440px,100%) auto no-repeat;min-height:100vh;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
.shopbody:not([data-shop-view="catalog"]){background-image:linear-gradient(#060d20b3,#060d20b3),url("/art/pixel-world.webp")}
.shopbody button,.shopbody .button{border-radius:0;background:#111c37;border-color:#425583;color:var(--ink)}
.shopbody button:hover:not(:disabled),.shopbody .button:hover{background:#1b2a4e;border-color:#87f9e7}
.shopbody button.primary,.shopbody .button.primary{background:#66eed8;color:#061c28;border-color:#b5fff2}
.shopbody button.primary:hover:not(:disabled),.shopbody .button.primary:hover{background:#a5ffee;color:#051b26}
.shopbody button.ghost,.shopbody .button.ghost{background:transparent;border-color:transparent}
.shopbody button.ghost:hover:not(:disabled),.shopbody .button.ghost:hover{color:#83fdec;background:#10233c}
.shopbody :is(button,a,input,summary):focus-visible{outline:2px solid #c4fff3;outline-offset:5px}
.shopbody label{color:#c0cbe5}
.shopbody input,.shopbody select,.shopbody textarea{background:#080f24;color:#f1f6ff;border:1px solid #4b5c8d;border-radius:3px}
.shopbody input:focus{border-color:#75f6dc;outline-color:#467a8b}
.shopbody .panel,.shopbody .orderrow,.shopbody .shopempty{background:#0c142beb;border:1px solid #394a7b;border-radius:4px}
.shopbody .panelhead{background:#111b34;border-color:var(--line)}
.shopbody .panelbody{background:transparent}
.shopbody .badge{background:#1a2947;color:#c6d3f1;border-color:#3b527a}
.shopbody .badge.success{background:#163c38;color:#9af3d9}
.shopbody .eyebrow{color:#90a9d7}
.shopbody .notice{background:#18263d;color:#c0d4e7;border-color:#3f5776}
.shopbody .sub,.shopbody .sectionnote,.shopbody .subline{color:var(--muted)}
.shopbody .factrow{border-color:var(--line);gap:16px}
.shopbody .danger{color:var(--red)}
.shopbody dialog{color:var(--ink);background:#0b142a;border:1px solid #7186be;border-radius:4px;box-shadow:0 0 0 5px #1c284d,0 24px 90px #000b}
.shopbody dialog::backdrop{background:#010513d9;backdrop-filter:blur(5px)}
.shopbody #toast{color:#eafff8;background:#172b43;border:1px solid #63ceb8}
.shopbody .loading{color:#c3d2f1}
.shopnav{max-width:1200px;min-height:76px;padding:12px 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;border:0}
.shopnav::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#5af9df,#7465d4 45%,#65e4ed);opacity:.65}
.shopnav .brand{color:#f4f5ff;font-size:29px;font-weight:900;letter-spacing:3px;text-decoration:none;white-space:nowrap}
.shopnav .brandmark{background:none;color:#c1fff3;border-radius:0;font-size:43px;width:38px;height:42px;text-shadow:-3px 0 #4de4dd,3px 0 #c9be86}
.shopnav nav{display:flex;align-items:center;justify-content:flex-end;gap:32px;max-width:none}
.shopnav nav button,.shopnav nav a{font-size:14px;font-weight:700;padding:10px 2px;white-space:nowrap}
.shopnav [aria-current="page"]{color:#7dffee;box-shadow:0 2px #6ef7e2}
.shopnav #accountlink{margin-left:48px;padding:9px 24px;border:1px solid #b8c9f4;background:#0a1129;box-shadow:3px 3px #263568}
.shopmain{max-width:1200px;margin:auto;padding:12px 28px 22px;min-height:74vh}
.shopnotice{display:block;width:fit-content;max-width:100%;margin:0 auto;padding:5px 12px;color:#b4c6e5;background:#09152bd9;border:1px solid #243a5c;border-radius:0;font-size:11px;line-height:1.6;text-align:center}
.shophero{display:block;padding:16px 0 20px;text-align:center}
.shophero h1{font-size:clamp(34px,4.7vw,66px);margin:0;font-weight:900;letter-spacing:-2px;line-height:1.3;color:#f3f6ff;text-shadow:3px 3px #33416c}
.hero-spark{display:inline-block;color:#97fff0;text-shadow:-4px 0 #54e8ed,4px 0 #efd890;font-size:1em;vertical-align:-2px;margin-right:18px}
.gradient-text{background:linear-gradient(100deg,#89fff1 8%,#8bc8ff 52%,#d29cfa 96%);color:transparent;background-clip:text;-webkit-background-clip:text;text-shadow:none}
.shophero p{margin:8px 0 0;max-width:none;color:#b9d4f1;font-size:23px;letter-spacing:5px}
.shopfilters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.shopfilters .active{background:#65ead7;color:#06182a}
.productsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.productcard{--accent:#66f6e0;--accent-dim:#1e787b;padding:3px;clip-path:var(--cut);background:var(--accent);min-width:0;min-height:0;border:0;border-radius:0;display:block;overflow:visible;transition:transform .18s ease}
.productcard.tier-violet{--accent:#ac9aff;--accent-dim:#6856ad}
.productcard.tier-gold{--accent:#ffdb82;--accent-dim:#ae843b}
.productinner{position:relative;clip-path:var(--cut);background:#060d20;box-shadow:inset 0 0 0 4px #10192e,inset 0 0 0 6px var(--accent-dim);display:flex;flex-direction:column;padding:18px 18px 8px}
.productcard:hover{transform:translateY(-5px)}
.producttop{padding:0}
.producttop h2{font:700 clamp(23px,2.4vw,34px)/1.3 Silkscreen,monospace;text-align:center;margin:0 0 10px;letter-spacing:-1px;white-space:nowrap;text-shadow:0 0 15px color-mix(in srgb,var(--accent),transparent 70%)}
.producttop h2::before,.producttop h2::after{content:"✦";font:15px system-ui;color:var(--accent);display:inline-block;margin:0 12px;vertical-align:5px}
.productcover{aspect-ratio:4/3;background:#060d20;border:0;display:grid;place-items:center;overflow:hidden}
.productcover img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.productcard .productcover{aspect-ratio:1.06}
.productcard .productcover img{object-fit:cover}
.productcovericon{color:var(--accent,#7ce9dc);font-size:85px}
.productbottom{display:flex;flex-direction:column;align-items:stretch;margin-top:4px;padding:0;border:0;background:none;gap:0}
.shopprice{font:700 clamp(30px,3.1vw,46px)/1.3 Silkscreen,monospace;display:flex;justify-content:center;align-items:baseline;position:relative;color:#f5f5ff;letter-spacing:-2px;white-space:nowrap;margin:10px 0 16px}
.shopprice small{font:700 .56em "Microsoft YaHei",sans-serif;margin:0 4px 0 0;letter-spacing:0;color:inherit}
.shopprice::before,.shopprice::after{content:"···";font:700 21px monospace;color:var(--accent);align-self:center;position:absolute;top:15%}
.shopprice::before{left:2px}.shopprice::after{right:2px}
.productbottom button.primary{background:var(--accent);border-color:#e6ffff;color:#071525;width:100%;font-size:19px;padding:12px;clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}
.productbottom button.primary:hover:not(:disabled){background:#ecfffb}
.productbottom button.primary span{margin-left:8px}
.productbottom button:focus-visible{outline-offset:-6px;outline-color:#0b1a35}
.productinfo{color:#aebed9;font-size:11px;line-height:1.8;margin-top:9px}
.productinfo summary{cursor:pointer;text-align:center;padding:3px;color:#9caecb}
.productinfo p{margin:10px 0 3px;color:#b5c2da;font-size:12px;min-height:0}
.productinfo ul{padding-left:16px;margin:0 0 8px}
.purchaseguide{margin-top:28px;padding:22px 30px 26px;border:2px solid #485c9e;background:linear-gradient(90deg,#0b1530db,#080f25ee,#0b1530db);box-shadow:inset 0 0 0 4px #080f25,inset 0 0 0 5px #283967;clip-path:var(--cut)}
.purchaseguide h2{text-align:center;margin:0 0 24px;font-size:26px;letter-spacing:2px}
.shopsteps{display:flex;justify-content:space-around;align-items:center;gap:16px;border:0;padding:0;margin:0;min-width:0}
.shopstep{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:700}
.shopstep span{font-size:inherit}
.shopstep b{font:700 18px Silkscreen,monospace;padding:8px;color:#83ffe5;border:1px solid currentColor;background:#072c38;box-shadow:3px 3px #205869;letter-spacing:0}
.shopstep svg{width:34px;height:34px;color:#8fffea;filter:drop-shadow(0 0 6px #29b8b7)}
.shopstep:nth-of-type(2) b,.shopstep:nth-of-type(2) svg{color:#c4a5ff}
.shopstep:nth-of-type(3) b,.shopstep:nth-of-type(3) svg{color:#ffe299}
.step-arrow{color:#7ed4ff;font-size:30px}
.shopfooter{max-width:1144px;margin:0 auto;padding:16px 0 24px;display:flex;gap:20px;justify-content:center;align-items:center;color:#91a0c8;font-size:11px;border:0}
.shopfooter button{font-size:11px}.shopfooter span{line-height:1.7}
.receiptkey{background:#060d20;border-color:#3e517e;border-radius:0}
.codeitem code{color:#abf5e9}
.checkoutcover{max-height:210px;margin:12px auto;border-radius:0}
.accountauth{margin:44px auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.shopbody{background-size:100% auto}.shopmain{padding-top:18px}.shophero{padding:32px 0 42px}}
@media(max-width:1050px){
.shopnav nav{gap:20px}.shopnav #accountlink{margin-left:16px}
.productsgrid{gap:16px}.productinner{padding:22px 12px 8px}.producttop h2{font-size:23px}.producttop h2::before,.producttop h2::after{margin:0 7px;font-size:11px}
.shopprice{font-size:32px}.shopprice::before,.shopprice::after{display:none}.shopstep{font-size:15px;gap:10px}.shopstep svg{width:28px}
.shopordergrid{grid-template-columns:1fr}.shopfooter{margin:0 28px}
}
@media(max-width:760px){
.shopbody{background-size:auto 1100px}
.shopnav{gap:12px;padding:16px 20px;align-items:flex-start}.shopnav .brand{font-size:24px;gap:8px}.shopnav .brandmark{font-size:34px;width:29px;height:32px}
.shopnav nav{gap:8px 16px;flex-wrap:wrap;max-width:330px}.shopnav nav button,.shopnav nav a{font-size:12px;padding:6px 0}.shopnav #accountlink{margin:0;padding:6px 12px}
.shopmain{padding:12px 20px 20px}.shophero{padding:28px 0}.shophero h1{font-size:40px;letter-spacing:-1px}.hero-spark{display:none}.gradient-text{display:block}.shophero p{font-size:17px;letter-spacing:2px;margin-top:14px}
.productsgrid{grid-template-columns:1fr;gap:28px;max-width:430px;margin:auto}.productinner{padding:22px 20px 10px}.producttop h2{font-size:33px}.producttop h2::before,.producttop h2::after{font-size:14px;margin:0 14px}
.shopprice{font-size:44px}.shopprice::before,.shopprice::after{display:block}.productbottom button.primary{font-size:18px}
.purchaseguide{padding:26px 20px;max-width:430px;margin:28px auto 0}.purchaseguide h2{font-size:21px;letter-spacing:1px}.shopsteps{flex-direction:column;align-items:stretch;gap:20px}.shopstep{font-size:17px;justify-content:center;gap:20px}.shopstep span{width:110px}.step-arrow{display:none}
.shopfooter{margin:0 20px;gap:10px;flex-wrap:wrap}.shopheading{align-items:flex-start;gap:12px}.shopheading h1{font-size:25px}.shopheading .actions{flex-wrap:wrap;justify-content:flex-end}
.orderrow{padding:18px;gap:12px;align-items:flex-start}.orderrow .actions{min-width:70px}.accountgrid{grid-template-columns:1fr}.accountauth{margin:28px auto}.accountauth .panelbody{padding:24px}
}
@media(max-width:380px){
.shopnav{padding:16px 12px}.shopnav nav{gap:8px 10px;max-width:188px}.shopnav .brand{font-size:22px}.shopmain{padding-left:14px;padding-right:14px}
.shophero h1{font-size:35px}.producttop h2{font-size:28px}.shopprice{font-size:38px}.producttop h2::before,.producttop h2::after{margin:0 9px}
}
@media(prefers-reduced-motion:reduce){.productcard{transition:none}.productcard:hover{transform:none}}

/* Long product names must fit the card on narrow screens. */
.producttop h2{white-space:normal;overflow-wrap:anywhere}
.payment-test .productsgrid{grid-template-columns:minmax(0,430px);justify-content:center}
.payment-test .producttop h2{font-family:system-ui,sans-serif;font-size:28px;letter-spacing:0}
