:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#29223b;background:#f7f6f2;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{border:0;border-radius:12px;background:#7956d8;color:white;padding:12px 19px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:wait}a{color:#7051c5;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #b4a2ed;outline-offset:3px}.subtle{background:#eeebf6;color:#55446e}.wide{width:100%}header{min-height:88px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e3eb;background:#fff}.brand{display:flex;align-items:center;gap:11px;color:#30263f;font-size:22px;font-weight:800}.brand img{width:43px;height:43px}.brand small{font-size:12px;color:#91879f;font-weight:400;margin-left:10px}header>div{display:flex;align-items:center;gap:12px;font-size:14px}.workspace{max-width:1440px;margin:auto;display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 88px)}aside{padding:40px 26px;border-right:1px solid #e6e3eb}aside nav{display:grid;gap:10px;margin:20px 0 36px}aside nav button{text-align:left;background:transparent;color:#776b87;display:flex;justify-content:space-between;align-items:center;min-height:48px}aside nav .active{background:#eae3fa;color:#6a45c0}aside p{font-size:13px;line-height:1.8;color:#8d8299}aside>a{font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#a69bb3}main{padding:38px 40px;min-width:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font-size:32px;margin:12px 0 18px}h2{font-size:24px;margin:14px 0}h3{margin:0 0 12px}.intro{font-size:14px;line-height:1.9;color:#8c8099;margin:0 0 30px;max-width:750px}.download{display:inline-block;background:#7956d8;color:#fff;border-radius:12px;padding:12px 19px;font-weight:600}.row,.notification{border:1px solid #e6e0ee;background:#fff;border-radius:16px;padding:22px;margin-bottom:14px}.row-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.row p,.row small{color:#8b7e98;line-height:1.8}.tag{display:inline-block;padding:5px 9px;border-radius:7px;background:#f0eafa;color:#7651c2;font-size:12px}.notification{display:flex;gap:18px;position:relative}.notification.unread{border-left:4px solid #825bda}.notice-icon{width:40px;height:40px;flex-shrink:0;background:#eee8fa;color:#8056d7;display:grid;place-items:center;border-radius:12px;font-size:22px}.notification .copy{flex:1;min-width:0}.notification h3{font-size:17px;margin:8px 0}.notification p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:#776b83;font-size:14px}.notification time{font-size:12px;color:#9b90a5}.unread-label{font-size:12px;color:#8056d7}.notification button{background:transparent;color:#7956d8;padding:6px 0}#noticeBadge{background:#e45a79;border-radius:99px;color:#fff;font-size:12px;padding:2px 6px;min-width:21px;text-align:center}dialog{border:0;border-radius:24px;padding:34px;width:min(94vw,520px);max-height:90vh;color:#30243f;box-shadow:0 24px 100px #1f15364d}dialog::backdrop{background:#23163866;backdrop-filter:blur(4px)}dialog .close{position:absolute;right:15px;top:10px;background:transparent;color:#776983;font-size:24px;padding:5px 10px}dialog p,dialog small{line-height:1.8;color:#92849e;font-size:13px}label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px}input,textarea,select{display:block;margin-top:9px;width:100%;border:1px solid #ddd5e8;border-radius:10px;background:#fbfafd;color:#30243f;padding:12px;outline:none}input:focus,textarea:focus,select:focus{border-color:#8861dd;box-shadow:0 0 0 3px #8861dd16}textarea{resize:vertical}.code-row{display:flex;align-items:end;gap:14px;margin-bottom:20px}.code-row label{flex:1;min-width:0;margin-bottom:0}.code-row button{white-space:nowrap}.field-row{display:flex;gap:16px}.field-row label{flex:1;min-width:0}.hint{font-size:13px;color:#8b8095;line-height:1.8}#loginHint{color:#c45464}.thread-dialog{width:min(94vw,720px)}#threadBody{max-height:45vh;overflow:auto;overscroll-behavior:contain}.message{padding:16px 18px;background:#f7f4fb;border-radius:12px;margin-bottom:12px}.message.admin{background:#eee8fa}.message p{white-space:pre-wrap;overflow-wrap:anywhere;color:#4d3d61}.message time{font-size:11px;color:#9f92aa}#error{padding:15px;background:#fff0ef;color:#b65460;border-radius:12px;margin-bottom:20px}.empty{padding:48px 20px;text-align:center;color:#9688a2;line-height:1.9}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#30233e;color:white;padding:14px 22px;border-radius:12px;z-index:1000;max-width:90vw;line-height:1.6;font-size:14px}dialog button.wide{margin-top:15px}@media(max-width:800px){header{padding:15px 20px}.brand small{display:none}.brand{font-size:19px}#accountName{display:none}.workspace{display:block}aside{border-right:0;border-bottom:1px solid #e6e3eb;padding:12px 15px}aside .eyebrow,aside p,aside>a{display:none}aside nav{display:flex;overflow:auto;margin:0;gap:5px}aside nav button{white-space:nowrap;gap:6px;padding:11px 13px;font-size:13px}main{padding:25px 20px}h1{font-size:27px}.heading button{font-size:13px;padding:11px}.row-top{flex-wrap:wrap}.brand img{width:35px;height:35px}dialog{padding:28px 24px}}
#toast{width:max-content;max-width:calc(100vw - 32px)}.heading button{flex-shrink:0}@media(max-width:800px){#toast{width:calc(100vw - 32px)}.heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.heading h1{margin-bottom:0}.heading button{white-space:nowrap}}

/* Alipay's 260 px canvas sits in a 264 px document. Leave vertical room so
   a native scrollbar cannot reduce the available width and crop the QR. */
html:has(#paymentDialog[open]){overflow:hidden}
.payment-dialog{width:440px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #ece7f2;border-radius:24px;background:#fff;overflow:auto;scrollbar-width:thin}
.payment-header{padding:26px 28px 0;background:linear-gradient(160deg,#f6f1ff 0%,#fff 75%)}
.payment-eyebrow{font-size:12px;color:#88739e;letter-spacing:.5px}
.payment-dialog .close{top:14px;right:14px;width:32px;height:32px;padding:0;border-radius:50%;font-size:22px;color:#8a7b98;line-height:32px}
.payment-dialog .close:hover{background:#eee7f7}
.payment-game{display:flex;align-items:center;gap:14px;margin-top:23px;min-width:0}
.payment-game img{width:80px;height:56px;object-fit:contain;border-radius:10px;box-shadow:0 2px 8px #35224c12;flex-shrink:0}
.payment-game h2{font-size:21px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}
.payment-game p{margin:0;color:#94869e;font-size:12px}
.payment-total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:20px 0 18px;margin-bottom:20px;border-bottom:1px solid #efeaf4}
.payment-total>span{font-size:13px;color:#8d8099}
.payment-total strong{font-size:34px;line-height:1.1;font-weight:750;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#7450c8}
.payment-body{text-align:center}
.payment-scan-label{display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:600;color:#4e425e;margin:0 0 14px}
.payment-scan-label svg{width:19px;height:19px;color:#1677ff}
/* The 280 px iframe has 20 px of blank space below its 260 px QR.
   Balance that space with top padding so the code itself is centered. */
.payment-code{position:relative;width:286px;padding:23px 13px 3px;margin:0 auto;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px #e9e2f1,0 5px 20px #38255605}
#paymentBody iframe{display:block;width:260px;height:280px;border:0;background:#fff}
.cashier-loading{position:absolute;inset:13px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#90829e;font-size:13px}
.payment-spinner{display:inline-block;width:24px;height:24px;border:2px solid #e9e1f5;border-top-color:#8059d3;border-radius:50%;animation:payment-spin .9s linear infinite}
.payment-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:120px;color:#90829e;font-size:14px}
.payment-confirm{padding:0 22px}
.payment-dialog #confirmBuy{margin:0;height:48px;border-radius:13px;font-size:15px;box-shadow:0 4px 12px #7956d81f}
.payment-footer{text-align:center;padding:16px 28px 23px}
.payment-dialog #paymentStatus{font-size:13px;color:#8c7f98;line-height:1.7;margin:0 auto 12px;max-width:330px}
.payment-dialog[data-state="pending"] #paymentStatus::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#a28aba;margin:0 7px 2px 0}
.payment-dialog #externalCashier{display:inline-block;font-size:12px;color:#82738f;border-bottom:1px solid #d9d0e2;padding-bottom:2px;margin:0 0 14px}
.payment-dialog #externalCashier:hover{color:#7051c5;border-color:#7051c5}
.payment-dialog .payment-description{font-size:11px;color:#a298ab;line-height:1.6;overflow-wrap:anywhere;margin:2px 0 0}
.payment-dialog #retryPayment{margin:0 0 14px}
.payment-result{padding:6px 22px 0}
.payment-result-icon{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 14px;background:#e9f6ef;color:#2d9b6b;border-radius:50%}
.payment-result-icon svg{width:27px;height:27px}
.payment-result h3{font-size:19px;margin:0 0 18px}
.payment-result .download{display:block;margin:0 0 4px}
.payment-dialog[data-state="closed"] .payment-result-icon{background:#f1eef5;color:#9b8aa9;font-size:28px}
.payment-dialog[data-state="error"] #paymentStatus{color:#b65b6c}
.payment-dialog[data-state="paid"] #paymentStatus{color:#628574}
@keyframes payment-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.payment-spinner{animation:none}}
@media(max-width:360px){.payment-header{padding:18px 18px 0}.payment-footer{padding:14px 18px 18px}.payment-game{gap:11px;margin-top:18px}.payment-game img{width:64px;height:48px}.payment-game h2{font-size:19px}.payment-total{padding:16px 0 14px;margin-bottom:16px}.payment-total strong{font-size:31px}.payment-confirm,.payment-result{padding-left:18px;padding-right:18px}.payment-code{width:272px;padding:21px 6px 1px;border-radius:12px}.cashier-loading{inset:6px}}

/* Membership promotion is inserted only for an eligible, non-member account. */
.diamond-offer{display:flex;align-items:center;gap:22px;padding:26px 28px;margin:0 0 28px;border:1px solid #66518e;border-radius:20px;background:linear-gradient(120deg,#26203d,#42345f);color:#fff;box-shadow:0 10px 30px #27203d12;text-align:left}
.diamond-offer[hidden],.diamond-badge[hidden]{display:none!important}
.diamond-symbol{flex:none;color:#ecd8a6;font-size:68px;line-height:1;font-family:Georgia,serif}
.diamond-copy{flex:1;min-width:0}
.diamond-offer .diamond-kicker{color:#e5cca1;font-size:11px;font-weight:700;letter-spacing:1px}
.diamond-offer .diamond-copy h2{font-size:23px;line-height:1.45;letter-spacing:0;margin:7px 0;color:#fff}
.diamond-offer .diamond-copy p{font-size:13px;line-height:1.8;margin:0;color:#e0d8ee}
.diamond-action{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.diamond-offer .diamond-action strong{font-size:28px;line-height:1.2;color:#f3dfb8;letter-spacing:-.5px}
.diamond-offer .diamond-buy{display:inline-block;border:0;border-radius:10px;background:#f4e8ce;color:#322442;padding:12px 18px;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;text-decoration:none}
.diamond-offer .diamond-buy:hover{background:#fff3d9}
.diamond-offer .diamond-buy:focus-visible{outline:3px solid #fff;outline-offset:4px}
.diamond-badge{display:inline-block;margin:4px 8px;padding:5px 10px;border:1px solid #d6c6a6;border-radius:7px;background:#faf3e4;color:#705326;font-size:12px;font-weight:600;white-space:nowrap}
@media(max-width:1100px){.diamond-offer{gap:16px;padding:22px}.diamond-symbol{display:none}.diamond-offer .diamond-copy h2{font-size:20px}}
@media(max-width:640px){.diamond-offer{flex-wrap:wrap}.diamond-copy{flex-basis:100%}.diamond-action{width:100%;flex-direction:row;justify-content:space-between}.diamond-offer .diamond-action strong{font-size:25px}}
@media(max-width:800px){header>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}header .brand{flex-shrink:0}#accountDiamond{margin:0}}
.original-price{display:inline-block;margin-left:10px;color:#9a8ea6;font-size:12px;font-weight:400}.discount-badge,.hot-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:5px;font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.discount-badge{color:#8047b7;background:#efe2ff}.hot-badge{color:#b73e26;background:#ffeadf}.promotion-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.promotion-line:empty{display:none}.promotion-line .original-price,.promotion-line .discount-badge,.promotion-line .hot-badge{margin-left:0}

/* Full images and readable purchase information, for either screen orientation. */
.games{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.game{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:30px;padding:28px;border:1px solid #e5dfec;border-radius:22px;background:#fff;box-shadow:0 6px 24px #34203f06}
.game[data-media-layout="portrait"]{grid-template-columns:220px minmax(0,1fr);gap:40px}
.game-art,.game-copy{min-width:0}
.game[data-media-layout="portrait"] .game-media-open{width:fit-content;max-width:100%;margin:auto}
.game[data-media-layout="portrait"] .game-media-open img{width:auto;height:auto;max-width:100%;max-height:340px}
.game h3{font-size:25px;line-height:1.5;margin:0 0 12px}
.game-intro{color:#7f728c;font-size:14px;line-height:1.9;margin:0 0 24px}
.game-buy{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:18px 24px;padding-top:22px;border-top:1px solid #eee8f3}
.game .price{display:block;color:#6d49b6;font-size:24px;font-weight:700;line-height:1.45;margin:0}
.game .promotion-line{margin:8px 0}
.purchase-term{display:block;margin-top:6px;color:#988ba3;font-size:12px}
.game-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.game-actions button,.game-actions .download{font-size:13px;padding:13px 18px;border-radius:10px;white-space:nowrap}
@media(max-width:1100px){
  .game{gap:24px;padding:24px;grid-template-columns:minmax(0,1fr)}
  .game[data-media-layout="portrait"]{grid-template-columns:170px minmax(0,1fr);gap:24px}
  .game[data-media-layout="portrait"] .game-media-open img{max-height:300px}
  .game h3{font-size:23px}
}
@media(max-width:600px){
  .game,.game[data-media-layout="portrait"]{grid-template-columns:minmax(0,1fr);padding:20px;gap:24px}
  .game[data-media-layout="portrait"] .game-media-open img{max-height:360px}
  .game h3{font-size:24px}
  .game-intro{margin-bottom:18px}
  .game-buy{padding-top:18px}
}
@media(max-width:380px){
  .game,.game[data-media-layout="portrait"]{padding:16px}
  .game[data-media-layout="portrait"] .game-media-open img{max-height:320px}
  .game-actions,.game-actions button,.game-actions .download{width:100%;text-align:center}
}
