/* Community pages: local styles, independent of shop and account dialogs. */
.community-scene .community-shell.detail-shell{align-items:stretch;--glass-text:#243f43;--glass-muted:#748084;--glass-mute:#748084}
.community-shell :is(h1,h2,h3,strong){color:#243f43!important}.community-shell :is(p,small){color:#748084!important}
.community-shell .community-kicker{color:#963659!important}.community-shell .rank-xu :is(h2,.rank-value){color:#31633f!important}.community-shell .rank-topup :is(h2,.rank-value){color:#764493!important}
.chrome #account-open.is-member .account-wallet-line{display:flex!important}
.chrome #account-open.is-member .account-wallet-unit{display:inline!important}
.chrome #account-open.is-member .account-wallet-value{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome #account-open.is-member .account-wallet-unit{flex:none}
.chrome .chrome-right{flex-direction:column;align-items:stretch;gap:8px}
.chrome #account-open.is-member{width:192px;max-width:192px;min-height:62.99px;height:62.99px;grid-template-columns:27px minmax(0,1fr);grid-template-rows:21px 24px;gap:3px 7px;padding:7px 10px;margin-top:-12px;border-radius:21px;background:#e0b9df!important;border-color:#15ff6a!important;color:#4a884b!important;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-weight:900;box-shadow:0 5px 18px #18362426}
.chrome #account-open.is-member #account-avatar{grid-row:1;width:24px;height:24px;border-radius:8px}
.chrome #account-open.is-member #account-label{align-self:center;color:#4a884b!important;font:900 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.chrome #account-open.is-member #account-mini-balance{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:1fr 1.1fr;gap:5px;align-self:center;line-height:1}
.chrome #account-open.is-member .account-wallet-line{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 5px;border-radius:7px;border:1px solid #b2d2bb;background:#effbf1;color:#205931!important;min-width:0}
.chrome #account-open.is-member .wallet-token{background:#f7eeff;border-color:#c9abe3;color:#652e91!important}
.chrome .account-wallet-value{font-size:14px;letter-spacing:-.6px;font-weight:900;line-height:1}
.chrome .account-wallet-unit{font-size:9px;font-weight:800}
/* Payment-card animation supplied by the user; scaled inside the existing header. */
.header-topup{position:relative;display:flex;align-items:center;height:44px;min-height:44px;width:100%;padding:0;border:1px solid #c5dfd0;border-radius:10px;background:#fff;color:#28553c;font-family:inherit;font-size:13px;font-weight:800;box-shadow:0 3px 0 #98bea7;cursor:pointer;overflow:hidden;transition:box-shadow .2s,background .2s}
.header-topup-text{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-left:54px;padding:0 14px;flex:1;white-space:nowrap}.header-topup-text>span{font-size:20px;font-weight:500}
.topup-art-side{position:absolute;inset:0 auto 0 0;width:54px;background:#5de2a3;overflow:hidden;transition:width .3s ease-in-out;z-index:1}
.topup-art-stage{position:absolute;width:130px;height:120px;left:50%;top:50%;margin:-60px 0 0 -65px;transform:scale(.35);display:flex;align-items:center;justify-content:center}
.topup-art-card{width:70px;height:46px;background:#c7ffbc;border-radius:6px;position:absolute;display:flex;z-index:10;flex-direction:column;align-items:center;box-shadow:9px 9px 9px -2px #4dc88fb8}
.topup-art-card-line{width:65px;height:13px;background:#80ea69;border-radius:2px;margin-top:7px}
.topup-art-dots{width:8px;height:8px;background:#379e1f;box-shadow:0 -10px #26850e,0 10px #56be3e;border-radius:50%;transform:rotate(90deg);margin:10px 0 0 -30px}
.topup-art-terminal{width:63px;height:75px;background:#dddde0;position:absolute;z-index:11;top:120px;border-radius:6px;overflow:hidden}
.topup-art-slot{width:47px;height:9px;background:#545354;position:absolute;border-radius:0 0 3px 3px;right:8px;top:8px}.topup-art-slot:before{content:"";position:absolute;inset:-8px 0 auto;width:47px;height:9px;background:#757375}
.topup-art-screen{width:47px;height:23px;background:#fff;position:absolute;top:22px;right:8px;border-radius:3px}
.topup-art-keys,.topup-art-keys-secondary{width:12px;height:12px;background:#838183;box-shadow:0 -18px #838183,0 18px #838183;border-radius:2px;position:absolute;transform:rotate(90deg);left:25px;top:52px}.topup-art-keys-secondary{background:#aaa9ab;box-shadow:0 -18px #aaa9ab,0 18px #aaa9ab;top:68px}
.topup-art-currency{position:absolute;font-size:18px;line-height:23px;width:100%;left:0;top:0;color:#4b953b;text-align:center}
.header-topup:is(:hover,:focus-visible) .topup-art-side{width:100%}
.header-topup:is(:hover,:focus-visible) .topup-art-card{animation:topup-card-insert 1.2s cubic-bezier(.645,.045,.355,1) both}
.header-topup:is(:hover,:focus-visible) .topup-art-terminal{animation:topup-terminal-rise 1s cubic-bezier(.165,.84,.44,1) both}
.header-topup:is(:hover,:focus-visible) .topup-art-currency{animation:topup-currency-in .3s 1s backwards}
.header-topup:active{box-shadow:0 1px 0 #98bea7}
@keyframes topup-card-insert{0%{transform:translateY(0)}50%,60%{transform:translateY(-70px) rotate(90deg)}100%{transform:translateY(-8px) rotate(90deg)}}
@keyframes topup-terminal-rise{0%,50%{transform:translateY(0)}100%{transform:translateY(-70px)}}
@keyframes topup-currency-in{0%{opacity:0;transform:translateY(-5px)}100%{opacity:1;transform:translateY(0)}}
.header-topup:focus-visible{outline:3px solid #7350a3;outline-offset:3px}
.community-scene.detail-scene{padding:126px 28px 100px;align-items:center}
.community-scene .community-shell.detail-shell{display:flex;flex-direction:column;width:min(1060px,100%)!important;max-height:calc(100dvh - 226px);padding:26px!important;gap:20px;background:#fffbf9;border:1px solid #f5e3e9;border-radius:26px;box-shadow:0 22px 70px #142d3440;color:#243f43;scrollbar-color:#d9bdc9 transparent}
.community-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.community-heading .community-kicker{margin:0 0 9px;color:#963659;font-size:10px;font-weight:800;letter-spacing:.17em}
.community-shell .community-heading h1{margin:0;color:#243f43;font-size:clamp(25px,3vw,36px);letter-spacing:-1.1px;line-height:1.15;text-shadow:none}
.community-heading p:not(.community-kicker){max-width:680px;margin:9px 0 0;font-size:12px;line-height:1.7;color:#748084}
.community-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:39px;padding:9px 15px;border:1px solid #e4d5db;border-radius:11px;background:#fff;color:#783a58;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer;text-decoration:none;transition:background .2s,box-shadow .2s}
.community-button:hover{background:#f7edf2;box-shadow:0 3px 8px #65364d13}.community-button:disabled{opacity:.6;cursor:wait}
.community-button:focus-visible,.info-address:focus-visible,.rank-switch button:focus-visible{outline:2px solid #963659;outline-offset:3px}
.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rank-board{min-width:0;border:1px solid #dce9df;border-radius:18px;background:#fff;overflow:hidden}
.rank-topup{border-color:#e7dcec}.rank-board-head{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#eef6ef;border-bottom:1px solid #e1ece4}.rank-topup .rank-board-head{background:#f4effa;border-color:#e9e1ef}
.rank-currency-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #c8decc;border-radius:11px;background:#fff;color:#367546;font-size:21px;font-weight:900}.rank-topup .rank-currency-icon{color:#7b469d;border-color:#dfcdea}
.rank-board h2{margin:0;font-size:19px;letter-spacing:-.4px;color:#275a35}.rank-topup h2{color:#744291}.rank-board-head p{margin:3px 0 0;font-size:10px;color:#78837b}.rank-top-label{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.12em;color:#72827a}
.rank-row{display:grid;grid-template-columns:24px 28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:38px;padding:7px 17px;border-bottom:1px solid #f2edef;font-size:12px}
.rank-row:last-child{border:0}.rank-position{font-size:11px;font-weight:800;color:#949a9b}.rank-avatar{width:26px;height:26px;border-radius:8px;background:#f1ece8;display:grid;place-items:center;color:#746254;font-size:11px;font-weight:800}
.rank-value{max-width:clamp(95px,14vw,155px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-name{white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-weight:700;color:#2b454a;text-transform:none}.rank-value{font-variant-numeric:tabular-nums;font-size:12px;font-weight:800;color:#31633f}.rank-topup .rank-value{color:#764493}
.rank-row[data-place="1"]{background:#fff8e8;min-height:44px}.rank-row[data-place="1"] .rank-position{color:#b68020}.rank-row[data-place="1"] .rank-avatar{background:#f4dfac;color:#795616}.rank-row[data-place="2"] .rank-avatar{background:#edf0f2;color:#5e7482}.rank-row[data-place="3"] .rank-avatar{background:#f6e8db;color:#96633f}
.rank-updated{margin:0;padding:11px 17px;border-top:1px solid #eee9eb;color:#8a858b;font-size:10px}.rank-empty{display:grid;place-items:center;min-height:230px;padding:30px;text-align:center;color:#899093;font-size:13px;line-height:1.8}.rank-switch{display:none}
.info-server-badge{align-self:flex-start;white-space:nowrap;background:#eaf3ee;border:1px solid #d4e3d8;border-radius:9px;padding:9px 12px;color:#477958;font-size:10px;font-weight:800;letter-spacing:.05em}
.server-info-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:22px}.info-connect,.info-play{border:1px solid #e8dde0;border-radius:18px;padding:22px}.info-connect{background:linear-gradient(140deg,#f6eff4,#f8f6f1)}
.info-step{color:#9a6c80;letter-spacing:.12em;font-size:9px;font-weight:800}.server-info-grid h2{margin:10px 0;font-size:20px;letter-spacing:-.5px;color:#304c50}.info-connect>p{color:#7a7f81;font-size:12px;line-height:1.7;margin:0 0 18px}
.info-address{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;margin-top:10px;padding:13px 14px;background:#fff;border:1px solid #e4d6de;border-radius:12px;cursor:pointer;color:#345154;transition:border-color .2s,box-shadow .2s}.info-address:hover{border-color:#ad7b95;box-shadow:0 4px 12px #9e687812}.info-address small{display:block;font-size:8px;color:#9b6f87;letter-spacing:.12em;font-weight:800;margin-bottom:6px}.info-address strong{font-size:15px;letter-spacing:-.2px;overflow-wrap:anywhere}.info-copy-icon{font-size:23px;color:#9a6b84}.info-port{display:block;margin-top:4px;font-size:10px;color:#7b8485}.info-discord{width:100%;margin-top:14px;background:#963659;color:white;border-color:#963659}.info-discord:hover{background:#81304e}
.info-features{display:grid;gap:0}.info-features article{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #eee5e9}.info-features article:last-child{border:0;padding-bottom:0}.info-features img{flex:none;image-rendering:pixelated;margin-top:1px}.info-features h3{margin:0 0 5px;font-size:13px;font-weight:750;color:#304c50}.info-features p{margin:0;font-size:12px;line-height:1.7;color:#788286}.info-features code{color:#963659;font-weight:700;background:#f7eef2;padding:1px 4px;border-radius:4px}
.info-footer{border-top:1px solid #eadfe3;padding-top:18px}.info-promises{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11px;color:#6c7a78}.info-promises span{display:flex;align-items:center;gap:6px}.info-promises i{width:6px;height:6px;border-radius:100%;background:#5c986e}.info-team{display:flex;align-items:center;gap:20px;margin-top:20px;font-size:11px;color:#7f898b}.info-team strong{color:#456267}.info-team small{font-size:9px;font-weight:400;color:#8d9295;margin-left:4px}.info-team a{margin-left:auto;color:#963659;text-decoration:none}
@media(max-width:700px){.community-scene.detail-scene{padding:142px 12px 100px}.community-scene .community-shell.detail-shell{padding:20px!important;max-height:calc(100dvh - 242px);border-radius:22px;gap:18px}.community-heading{align-items:flex-start;gap:12px}.community-heading .community-kicker{font-size:8px;letter-spacing:.1em}.community-heading p:not(.community-kicker){font-size:11px}.community-heading .community-button{font-size:0;width:36px;min-height:36px;padding:0}.community-heading .community-button span{font-size:20px}.ranking-grid{grid-template-columns:1fr}.rank-switch{display:flex;gap:5px;padding:4px;background:#f3ecef;border-radius:11px}.rank-switch button{flex:1;border:0;border-radius:8px;padding:9px;background:transparent;color:#826b77;font-size:12px;font-weight:750;cursor:pointer}.rank-switch button[aria-pressed=true]{background:#fff;color:#843453;box-shadow:0 2px 5px #5235400b}.ranking-grid[data-active=xu] .rank-topup,.ranking-grid[data-active=topup] .rank-xu{display:none}.rank-row{padding:9px 13px;gap:7px;grid-template-columns:20px 26px minmax(0,1fr) auto}.rank-value{font-size:11px}.server-info-grid{grid-template-columns:1fr;gap:14px}.info-server-badge{display:none}.info-connect,.info-play{padding:18px}.info-team{flex-wrap:wrap;gap:12px}.info-team a{margin-left:0}.info-promises{flex-direction:column;gap:9px}}
@media(max-width:600px){.chrome #account-open.is-member{width:180px;max-width:180px;margin-top:0;padding:7px 9px;border-radius:21px}.chrome #account-open.is-member #account-mini-balance{gap:4px}.chrome .account-wallet-value{font-size:13px}.chrome .header-topup{min-height:32px;font-size:11px}.chrome .chrome-right{gap:6px}body:not([data-view=shop]):has(#account-open.is-member) .gacha-wins.global-wins{width:calc(100% - 216px)}.rank-row{grid-template-columns:16px 22px minmax(0,1fr) auto;gap:5px}.rank-avatar{width:22px;height:22px}.rank-name{font-size:11px}}
.community-shell .rank-board-head p{font-size:10px;line-height:1.4}
.community-shell .rank-updated{font-size:10px;line-height:1.4}
.community-shell .info-connect>p,.community-shell .info-features p{font-size:12px;line-height:1.65}
.community-shell .info-address small{font-size:8px;line-height:1.4}
.community-shell .info-team small{font-size:9px;line-height:1.4}
@media(min-width:701px){.community-scene .community-shell.detail-shell{padding:22px 26px!important;gap:16px}.rank-board-head{padding:13px 18px}.rank-row{min-height:32px;padding:4px 17px}.rank-row[data-place="1"]{min-height:38px}.rank-avatar{width:24px;height:24px}.info-connect,.info-play{padding:16px 20px}.info-features article{padding:9px 0}.info-team{margin-top:8px}.info-footer{padding-top:10px}.server-info-grid h2{font-size:18px;margin:8px 0}.info-connect>p{margin-bottom:10px}.info-address{padding:10px 14px;margin-top:8px}.info-discord{margin-top:10px;min-height:34px;padding:7px 15px}}
@media(prefers-reduced-motion:reduce){.header-topup,.header-topup *,.community-shell *{transition:none!important;animation:none!important}.header-topup:is(:hover,:focus-visible) .topup-art-side{width:54px}}

.rank-avatar{object-fit:cover;image-rendering:pixelated;border-radius:6px;flex-shrink:0}

/* Three equally sized boards; mobile switches retain the same reading width. */
@media(min-width:1001px){.ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rank-row{padding-inline:12px;gap:8px}.rank-value{font-size:12px}}
@media(min-width:701px) and (max-width:1000px){.rank-gacha{grid-column:1/-1}.rank-gacha .rank-list{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ranking-grid[data-active=xu] :is(.rank-topup,.rank-gacha),.ranking-grid[data-active=topup] :is(.rank-xu,.rank-gacha),.ranking-grid[data-active=gacha] :is(.rank-xu,.rank-topup){display:none}}
.rank-gacha .rank-currency-icon{color:#9b5a21;background:#fff0d8}

.ranking-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ranking-actions [hidden]{display:none}
@media(max-width:700px){.community-heading{flex-direction:column}.community-heading .ranking-actions{justify-content:flex-start}.community-heading .ranking-actions .community-button{font-size:12px;width:auto;padding:8px 11px}}
.ranking-manager{width:min(540px,calc(100vw - 24px));max-height:85dvh;overflow-y:auto;padding:30px;border:1px solid #e7ced8;border-radius:24px;background:#fffaf8;color:#203f43}
.ranking-manager h2{font-size:26px;padding-right:24px;margin:8px 0 14px}.ranking-manager p,.ranking-manager small{line-height:1.6}.ranking-manager>p:not(.community-kicker){color:#63787c}
.ranking-manager form{margin:22px 0 12px}.ranking-manager label{display:block;font-weight:700;margin-bottom:8px}.ranking-name-entry{display:flex;gap:10px;margin-bottom:8px}.ranking-name-entry input{min-width:0;flex:1;padding:12px;border:1px solid #d9bdc9;border-radius:12px;background:white;color:inherit;font:inherit}.ranking-name-entry input:focus-visible{outline:2px solid #ad426d;outline-offset:2px}
#ranking-manager-status{min-height:25px}#ranking-manager-status[data-error="true"]{color:#a13247}
.ranking-hidden-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #efdee5}.ranking-hidden-row span{overflow-wrap:anywhere;font-weight:700}.ranking-manager button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.ranking-actions{justify-content:flex-start}.ranking-manager{padding:24px 18px}.ranking-name-entry{flex-direction:column}.ranking-name-entry button{align-self:flex-start}}
