
/* 仙門棋局: local artwork, jade panels, antique gold and warm wood. */
:root{--bg:#0d2422;--panel:#193f39;--muted:#bdccc0;--mint:#a9e4ce;--line:#827651;--text:#faf0d9;--gold:#e6ca8a;--jade:#2f7668;--ink:#17372f;--display:'DFKai-SB','BiauKai','KaiTi','STKaiti','Noto Serif CJK TC',serif}
body{background:linear-gradient(180deg,#112c2933,#10272485 60%,#152a27e6),url('xianxia-mountains.png') center/cover fixed;background-color:var(--bg);color:var(--text);font-family:system-ui,'Microsoft JhengHei',sans-serif}
body>header{max-width:none;padding:18px max(26px,calc((100vw - 1180px)/2));background:linear-gradient(#153c36f5,#183d37e6);border-bottom:1px solid #ccb57980;box-shadow:0 4px 18px #061e2340}
.brand{font-family:var(--display);font-size:29px;font-weight:700;letter-spacing:3px;color:#f8e3ac;text-shadow:0 2px 2px #102b23}
.brand-mark{border-radius:9px;border-color:#d7bc7b;background:linear-gradient(135deg,#669485,#28574d 70%);color:#ffe9b8;font-size:28px;box-shadow:inset 0 0 0 3px #214a40,inset 0 0 0 4px #dfc58a66,0 3px 0 #102c25}
.brand small{font:11px system-ui;color:#d2ceb2;letter-spacing:2px}
.version,.mode-badge{color:#ead7ad;border-color:#bda36775;background:#163a32d9}
h1,h2,.phone-game-title,.room-card h2,.title-card h3{font-family:var(--display);color:#f6dfab;font-weight:700;letter-spacing:1px;text-shadow:0 1px 1px #0b2927}
h1{font-size:34px}h2{font-size:21px}.eyebrow{color:#d2c397;letter-spacing:3px}
.primary,.secondary,.room-enter,.phone-help,.phone-close{
 color:#fff0c8;border:1px solid #c5aa6b;border-radius:9px;background:linear-gradient(125deg,#538e7c,#285e50 50%,#17433b);
 box-shadow:inset 0 1px #f0e1ac66,inset 0 0 0 3px #133e3326,0 3px 0 #102b23,0 6px 12px #08231e4d;text-decoration:none
}
.primary{background:linear-gradient(130deg,#efe0b0,#d9bd79 60%,#b08d4c);color:#234135;border-color:#f2dd9e;box-shadow:inset 0 1px #fff4d6,0 3px 0 #7a663b,0 6px 12px #09261b55}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f9da8b;outline-offset:3px}
input,select,textarea,.arena-panel select,.settings select,.network-form input,.hub-shell input,.hub-shell select,.hub-shell textarea,.phone-sheet-body select,.phone-sheet-body input:not([type=range]){
 background:#102f2b;color:#f9edcf;border:1px solid #9c916699;border-radius:7px;accent-color:#71c3a8
}
select option{background:#14382f;color:#fff0cc}
.hub-panel,.arena-panel,aside section,.go-ending,.award-card,.room-card,.handoff,.promotion-dialog{
 background:radial-gradient(ellipse at top left,#59857422,transparent 70%),linear-gradient(145deg,#28584fed,#143c34f7);
 color:#f7edd6;border:1px solid #b69e6380;border-radius:12px;
 box-shadow:inset 0 1px #e4d5a638,inset 0 0 0 4px #0f382740,0 5px 0 #0e2b2399,0 14px 26px #102b2740
}
.hub-panel p,.hub-panel label,.arena-panel p,.arena-panel li,.arena-small,.profile-summary p,.hub-note,.hub-rules,.online-note,.muted-label,.hub-panel .muted-label,.page-heading p,.go-ending p{color:#c7d4c5}
.hub-note,.hub-rules{background:#13392fe8;padding:14px 18px;border-radius:9px;border:1px solid #a28d593d}
.hub-panel h3,.network-layout h1{color:#f6dfab}
.hub-shell{max-width:1200px}
.account-bar{background:linear-gradient(120deg,#204a40eb,#11372ee8);padding:15px 19px;border:1px solid #b29a5b70;border-radius:12px;box-shadow:0 4px 15px #0d2c2740}
.account-bar strong{color:#fff0ce}.account-bar #season-label{color:#cbd7c6}
.wallet a{border-color:#aa976553;background:#0d3029b8;color:#cdd8c8;border-radius:7px}
.wallet strong{color:#f5d793!important}
.hub-nav{background:#14382edb;border:1px solid #b49a5e80;border-radius:10px;padding:5px;gap:3px}
.hub-nav a{color:#dce0c9;border-radius:6px}
.hub-nav a.active,.hub-nav a[aria-current=page]{background:#447765;color:#ffedbc;box-shadow:inset 0 0 0 1px #cbb376}
.page-heading{padding:24px 30px;margin:22px 0 18px;border:1px solid #c7b788a6;border-radius:13px;background:linear-gradient(90deg,#153b31ef,#224c3ae0 48%,#153b3140),url('xianxia-mountains.png') center 36%/cover;box-shadow:inset 0 0 0 5px #18473530,0 10px 25px #16352d33}
.page-heading h1{font-size:36px;line-height:1.5;margin:4px 0}.page-heading p{font-size:14px;line-height:1.8;margin:5px 0}
.room-grid{gap:22px;margin-top:24px;margin-bottom:28px}
.room-card{position:relative;overflow:hidden;padding:24px;border-color:#a58b579e}
.room-card::before{content:'';position:absolute;inset:0 0 auto;height:118px;pointer-events:none;background:linear-gradient(0deg,#234b41,transparent 130%),linear-gradient(90deg,#1b473b70,#113d3933),url('xianxia-mountains.png') 86% 38%/180%;opacity:.85}
.room-card:nth-child(2)::before{background-position:center,center,10% 26%}
.room-card:nth-child(3)::before{background-position:center,center,95% 36%}
.room-card:nth-child(4)::before{background-position:center,center,30% 30%}
.room-card:nth-child(5)::before{background-position:center,center,65% 44%}
.room-card:nth-child(6)::before{background-position:center,center,82% 60%}
.room-card>*{position:relative}
.room-card h2{font-size:27px;margin-top:14px;color:#ffe9ba}
.room-top{align-items:center}
.room-emblem{width:54px;height:54px;border-radius:50%;font-family:var(--display);color:#ffedbc;border:1px solid #d4b574;background:radial-gradient(circle at 30% 15%,#8ba687,#366755 60%,#173e32);box-shadow:inset 0 0 0 3px #245344,inset 0 0 0 4px #dbc4826b,0 3px 6px #10291e88}
.room-mode{background:#12352ee0;color:#e3d8b3;border-color:#b5a66d70}
.room-availability,.room-card>p,.room-bottom>span{color:#c0d1bc}
.pool-pair>div{background:#11382fd4;border:1px solid #ac955d4d;border-radius:8px}
.pool-pair>div span{color:#ccceb1}.pool-pair strong{color:#f1d598;font-size:26px}
.room-enter{display:inline-block;padding:9px 14px;font-size:13px;color:#ffe7af;white-space:nowrap}
.daily-tasks{margin:26px 0}.daily-heading h2{font-size:23px}
.daily-card,.pool-pair,.score-consents span,.rating-receipt{border-color:#a3976260}
.daily-card{background:#173d34;border:1px solid #84956866}.daily-card h3,.daily-status strong{color:#e9e0be}.daily-card p{color:#c7d8c4}
.daily-icon,.shop-envelope,.craft-icon,.fragment-symbol{color:#ebd39a;text-shadow:0 2px 6px #18342766}
.daily-card.complete{background:#305647;border-color:#c6b57b}.daily-card.complete .daily-status strong{color:#d6f2b9}
.daily-note,.daily-heading>span,.stock,.craft-card p,.fragment-pack p,.mail-offer p,.mail-offer small{color:#c4d1c0}
.award-card{--medal:#e5c477}.award-card.rank-2{--medal:#d9e2dd}.award-card.rank-3{--medal:#d7ad89}
.award-card h2{color:var(--medal)}.medal{background:radial-gradient(circle at 30% 25%,#5e8268,#153c30);border:2px solid var(--medal);box-shadow:inset 0 0 0 4px #213f32,0 4px 0 #102d21;color:var(--medal)}
.title-nameplate,.seat-title{border:1px solid #bba366;background:linear-gradient(135deg,#417563,#1e4e40);color:#f4dfaa;box-shadow:inset 0 1px #eee2b54d,0 2px 3px #122b2766;border-radius:5px}
.title-nameplate.season{background:linear-gradient(130deg,#436e5c,#214737);border-color:#bad8b4;color:#e0f3c7}
.title-nameplate.annual{background:linear-gradient(130deg,#766334,#3f3a23);border-color:#e5c66f;color:#ffe8a0}
.title-nameplate.medal-2{border-color:#c5d1ce;color:#e3e9e6}.title-nameplate.medal-3{border-color:#d1a881;color:#f2d4b4}
.title-card.locked{opacity:1;background:#163c34db}.title-card.locked h3{color:#bdc7ab}.title-lock{color:#b9c5b4}
.title-emblem{color:#e2c687}.title-card.unlocked{border-color:#cbb572}
.profile-avatar,.seat-picture .seat-disc{
 background-image:url('xianxia-portraits.png')!important;background-size:300% 100%!important;background-position:0 50%!important;
 border-radius:50%!important;border:2px solid #d3bd86;color:transparent!important;font-size:0!important;
 box-shadow:0 0 0 2px #245948,inset 0 0 0 2px #f3e4b233,0 4px 10px #0b2c2977;position:relative
}
.profile-avatar.portrait-1,.seat-picture .seat-disc.p2{background-position:50% 50%!important}
.profile-avatar.portrait-2,.seat-picture .seat-disc.p3{background-position:100% 50%!important}
.profile-avatar .avatar-badge{font-size:13px;color:#ffe3a2}.seat-picture .seat-disc.debut::after{font-size:12px}
.profile-avatar{width:58px;height:58px}.seat-picture .seat-disc{width:46px;height:46px}
.seat-picture .seat-disc.checker-blue{border-color:#82caff;box-shadow:0 0 0 2px #1e608f,0 3px 7px #0b232e88}
.seat-picture .seat-disc.checker-green{border-color:#9cebc0;box-shadow:0 0 0 2px #27794f,0 3px 7px #0b2c2188}
.seat-picture .seat-disc.checker-red{border-color:#ffb496;box-shadow:0 0 0 2px #a34733,0 3px 7px #301b1588}
.seat-title{padding:3px 7px!important;line-height:1.35}.title-empty{color:#b6c9b4}
.seat,.player{border-color:#ac97696b;background:linear-gradient(130deg,#335e50ed,#163e34f5);box-shadow:inset 0 1px #e5d4a333,0 3px 0 #102e2570}
.seat.active,.player.active{border-color:#e0ca84;background:linear-gradient(130deg,#4b7a5fed,#245341f5);box-shadow:inset 0 1px #f9e7ac66,0 0 14px #e3d58133}
.seat small,.player small{color:#c5d5c2}.seat strong,.player strong{color:#fff1d5}
.board-shell,.board-wrap{
 background:repeating-linear-gradient(4deg,#f1cc8d0e 0 2px,transparent 3px 9px),linear-gradient(140deg,#456b57,#234c3b 35%,#132f25 78%,#4b6f55);
 border:2px solid #d9ba7c;border-radius:17px;box-shadow:inset 0 0 0 3px #2a4932,inset 0 0 0 5px #ad9b634d,0 4px 0 #5e5130,0 8px 0 #233b29,0 18px 30px #13291d88
}
.board-shell::before{content:'';position:absolute;inset:5px;border:1px solid #bdad756b;border-radius:11px;pointer-events:none}
.game-board:not(.reversi):not(.chess):not(.checkers){background:radial-gradient(ellipse at 30% 20%,#f7dfb499,transparent 65%),repeating-linear-gradient(3deg,#a77a3e0a 0 1px,transparent 1px 7px),linear-gradient(130deg,#e0c291,#c6a16b)}
.game-board.checkers{background:radial-gradient(ellipse at 40% 30%,#efd7ad,#c4a071 68%,#9d7947);border:1px solid #c9b179;box-shadow:inset 0 0 16px #7c5d3029;border-radius:50%}
.board-shell:has(.checkers){border-radius:50%;background:repeating-conic-gradient(from 15deg,#ab966629 0deg 1deg,transparent 1deg 30deg),linear-gradient(135deg,#729080,#244d3b 60%,#758768)}
.board-shell:has(.checkers)::before{border-radius:50%;inset:4px;border-color:#ddc58b88}
.checkers-camp-label{width:22%;left:4%}.checkers-camp-label.camp-slot-1,.checkers-camp-label.camp-slot-2{left:auto;right:4%}
.checkers-camp-label strong{font-family:var(--display);font-size:14px}.camp-slot-0{top:9%}.camp-slot-3{bottom:9%}
.game-board.checkers .board-cell{background:radial-gradient(circle at 50% 75%,#e0bf87,#ac864e 80%);box-shadow:inset 0 2px 3px #583820b3,0 1px 1px #fff0c9}
.camp-ground{stroke:#e9ce8d;stroke-width:.28}
.checkers .token{transform:translateY(-1px)}
.game-board.chess .board-cell.dark{background:#497966}.game-board.chess{background:#dfd5b6}
.game-board.reversi{background:radial-gradient(ellipse at 30% 15%,#488774,#215948)}
.multi-turn,.turnbar{background:linear-gradient(120deg,#346e5de8,#184b3dfa);border:1px solid #b6a368;border-radius:10px;padding:10px 15px;box-shadow:inset 0 1px #dcd1a129}
#seconds{color:#f6d997;text-shadow:0 1px #143425}
.notice{color:#e4e7d0;background:#153c30c9;border-radius:7px;padding:7px 10px}
.arena-power,.power,.phone-powers .arena-power,.phone-powers .power{
 background:radial-gradient(ellipse at 10% 0%,#8db79a30,transparent 70%),linear-gradient(130deg,#357363,#184d41);
 border:1px solid #b6ad76;box-shadow:inset 0 1px #eee2b652,0 3px 0 #143427;color:#fff2cf;border-radius:9px
}
.arena-power .symbol,.power .power-icon{color:#f1d390;border:1px solid #cbb87599;width:40px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 30% 30%,#638d6b,#1a4935);text-shadow:0 0 8px #ebd48b50;font-size:26px}
.arena-power[data-power=blind] .symbol,.power.blind .power-icon{color:#e7d3f5;border-color:#b7a1c7}
.arena-power[data-power=haste] .symbol,.power.haste .power-icon{color:#bdece8;border-color:#a0cec7}
.arena-power small,.power small,.power em{color:#d0d9c3}
.arena-power:disabled,.power:disabled,.phone-powers button:disabled{opacity:.65;filter:saturate(.5)}
.phone-dialog,.promotion-dialog{background:linear-gradient(135deg,#2d5d50,#153a31 70%);border:1px solid #dac48a;border-radius:15px;color:#f7ecd1;box-shadow:inset 0 0 0 4px #58735a40,0 22px 65px #0b251bab}
.phone-dialog::backdrop,.promotion-dialog::backdrop{background:#091e19ad;backdrop-filter:blur(5px)}
.phone-sheet-head{border-color:#c9b2735c;background:#174636}.phone-sheet-head h2{color:#f8dfab;font-family:var(--display);font-size:22px}
.phone-sheet-foot{border-color:#c9b2735c}.phone-sheet-body p,.phone-sheet-body li,.phone-sheet-body label{color:#d0dcc9}
.phone-sheet-body>.arena-panel,.phone-sheet-body>.settings,.phone-sheet-body>.history{background:none;box-shadow:none}
.phone-sheet-body .result{background:none;box-shadow:none}.phone-sheet-caption{color:#f0d192}
.phone-help,.phone-close{background:linear-gradient(#487b67,#255240);color:#f4e3ba}
.phone-sheet-feedback{color:#f4ddaa}
.result{background:linear-gradient(135deg,#366853f5,#163b2ef8);border-color:#d8c387}.result h2{color:#ffe4a8}
.go-pass-count,.go-score-table .total{background:#40764e50;color:#f5dfac;border-color:#b2b77577}
.handoff h2{color:#f5dfaa}.handoff p{color:#d0d8c7}
.connection-tag,.connection-tag.warning{color:#edd2a2}
.phone-hub-nav{background:linear-gradient(#2c5b4ef5,#103e31fa);border-top:1px solid #dac28b;box-shadow:0 -4px 20px #142e2340}
.phone-hub-nav a,.phone-hub-nav button{color:#c9d4b8}
.phone-hub-nav a.selected,.phone-hub-nav .phone-more.selected{background:linear-gradient(#68947770,#284d3530);color:#ffe4a1}
.phone-hub-nav span{color:inherit}
.phone-hub-nav .selected::after{background:#dfc489}
#net-notice{color:#f7e4ba;background:#193f31cc;border-radius:8px;padding:10px}#net-notice:empty{display:none}
.network-layout{display:block;background:none}.network-layout>h1{color:#fff0c9}.network-layout>.online-note{background:#173d31d9;padding:12px;border-radius:8px}
footer{color:#ccd2bb;background:#15382fd9;border-color:#b9a16955}.install-note{background:#214c3deb;border-color:#b5a06c;color:#ecdfbd}
hr{border:0;border-top:1px solid #a68e5750}
@media(max-width:740px){
 body>header{padding:12px 16px}.brand{font-size:23px;letter-spacing:2px}.brand-mark{width:33px;height:33px;font-size:24px}
 .hub-shell{padding:0 12px;margin-top:12px}.account-bar{padding:10px 12px;gap:12px;margin-bottom:14px}.account-profile .profile-portrait{min-width:65px}.account-profile .profile-avatar{width:43px;height:43px}
 .account-profile{gap:12px!important}.account-bar .wallet{gap:5px}.wallet a{padding:5px 8px;font-size:10px}.wallet strong{font-size:12px}
 .page-heading{padding:17px 19px;margin:15px 0 12px;background-position:center,72% 36%}.page-heading h1{font-size:27px;letter-spacing:1px}.page-heading p{font-size:12px}
 .page-heading+.button-row{gap:8px;margin:12px 0}.page-heading+.button-row a{padding:8px 10px;font-size:11px}
 .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 20px}.room-card{padding:13px 11px}.room-card::before{height:85px}
 .room-top{gap:3px}.room-emblem{width:34px;height:34px;font-size:23px}.room-mode{font-size:9px;padding:4px 5px;white-space:nowrap}
 .room-card h2{font-size:22px;margin:10px 0 5px}.room-availability{font-size:9px;line-height:1.5;min-height:0}
 .room-card .pool-pair{gap:5px;margin:10px 0}.room-card .pool-pair>div{padding:6px}.room-card .pool-pair span{font-size:9px}.room-card .pool-pair strong{font-size:16px;white-space:nowrap}
 .room-card>p{font-size:10px;margin:8px 0}.room-bottom{gap:8px;flex-direction:column;align-items:stretch}.room-bottom>span{font-size:9px;line-height:1.5}.room-bottom>span br{display:none}.room-enter{text-align:center;font-size:12px;padding:8px 5px}
 .daily-tasks{padding:15px;margin-top:20px}.daily-heading h2{font-size:21px}
 .award-card h2{font-size:26px}.title-card h3{font-size:21px}.title-nameplate{font-size:11px}
}
@media(max-width:740px),(max-width:1100px) and (max-height:520px){
 body.phone-play{background:linear-gradient(180deg,#153a3020,#133d2f70 60%,#153227bd),url('xianxia-mountains.png') center/cover no-repeat}
 .phone-shell{background:linear-gradient(180deg,#163b3020,transparent 34%,#12372724)}
 .phone-top{border-bottom:1px solid #b3a17755;padding-bottom:2px}.phone-heading{display:flex;flex-direction:column;align-items:center;line-height:1.1}
 .phone-brand{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:3px;color:#193f30;text-shadow:0 1px 2px #ffffe9,0 0 5px #fff9dccc}
 .phone-game-title{font-size:23px;letter-spacing:3px;color:#193f30;text-shadow:0 1px 2px #fff8d9,0 0 6px #fff5c9}
 .phone-back{color:#f8e4b8;justify-content:center;min-width:63px;min-height:34px;border:1px solid #cfb47999;border-radius:8px;background:linear-gradient(#407765ee,#1f503ef0);box-shadow:inset 0 1px #f5dfae4d,0 2px 0 #254c32}
 .phone-help{min-height:34px;border-color:#d4bd87;font-size:11px}
 .phone-seats .seat,.phone-seats .player{background:linear-gradient(120deg,#305e50ef,#173e31f2);border:1px solid #bba477a1;box-shadow:inset 0 1px #dcc89740,0 2px 0 #21412e66;border-radius:9px;padding:4px 7px;gap:7px}
 .phone-seats .seat.active,.phone-seats .player.active{border-color:#f3d89c;background:linear-gradient(120deg,#558465f5,#285540f5)}
 .phone-seats .seat-picture .seat-disc,.phone-seats .profile-avatar{width:32px;height:32px;min-width:32px;border-width:1px;line-height:1}
 .phone-seats .profile-portrait{min-width:40px}.phone-seats .seat-title,.phone-seats .title-nameplate{font-size:8px;max-height:22px;padding:1px 3px!important}
 .phone-seats .seat strong,.phone-seats .player strong{font-size:12px;color:#fff0ce}
 .phone-seats small,.phone-seats .player small{color:#d1dbc6}
 .phone-status>.multi-turn,.phone-status>.turnbar{background:linear-gradient(125deg,#34725ef5,#164a39fa);border:1px solid #cdb77c;border-radius:9px;box-shadow:inset 0 1px #f2e2b53b;padding:5px 10px}
 .phone-status #status{color:#fff2ce}.phone-status #seconds{color:#ffe0a0}.phone-status #effect-label{color:#c4e9db}
 .phone-status progress,.phone-status .time-track{accent-color:#98e0b9;border-radius:5px;background:#234b35}
 .phone-stage>.board-shell,.phone-stage>.board-wrap{border:1px solid #debf7d;box-shadow:inset 0 0 0 3px #1e4732,0 3px 0 #7c6840,0 5px 0 #213d2b,0 10px 20px #14291580}
 .phone-stage .checkers-camp-label strong{font-size:clamp(7px,2.3vw,11px)}
 .phone-notice{justify-content:center;background:#153b30e3;border:1px solid #b99f624d;border-radius:6px}
 .phone-notice .notice{padding:2px 5px;background:none;color:#ede6c7;text-align:center;font-size:11px}
 .phone-powers .arena-power,.phone-powers .power{padding:6px 8px;gap:8px;border-color:#cebb85}
 .phone-powers .symbol,.phone-powers .power-icon{width:31px;flex-basis:31px;height:33px;font-size:23px;background:radial-gradient(circle at 30% 20%,#86a282,#204c39);border:1px solid #d5bd7d;border-radius:50%;box-shadow:inset 0 0 0 2px #5e775e66}
 .phone-powers .power strong,.phone-powers .arena-power strong{font-family:var(--display);font-size:17px;letter-spacing:0;color:#fff0c9}
 .phone-powers .arena-power small,.phone-powers .power em{color:#dfdfc1}
 .phone-empty-powers{color:#e8e0c8;background:#19422fba;border-radius:8px;padding:6px}
 .phone-actions .secondary{background:linear-gradient(125deg,#4a8165,#25533b);border-color:#d2b97b;border-radius:10px}
 .phone-actions button:only-child{flex:0 1 180px}.phone-replay{background:#153d30e8;padding:4px 8px;border:1px solid #ad9a6780;border-radius:7px}
 .phone-replay label,.phone-replay p{color:#e9e3c7}
}
@media(max-width:360px){
 .phone-seats .seat-picture .seat-disc,.phone-seats .profile-avatar{width:26px;height:26px;min-width:26px}
 .phone-seats .seat,.phone-seats .player{gap:5px;padding:4px}
 .phone-powers .symbol,.phone-powers .power-icon{width:25px;flex-basis:25px;height:27px;font-size:20px}
 .phone-powers .power strong,.phone-powers .arena-power strong{font-size:15px}
 .phone-game-title{font-size:20px}.phone-brand{font-size:11px}
 .account-bar .wallet{width:100%}.room-mode{font-size:8px}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:1100px){
 .phone-brand{font-size:11px}.phone-game-title{font-size:19px}
 .phone-seats .seat-picture .seat-disc,.phone-seats .profile-avatar{width:25px;height:25px;min-width:25px}
 .phone-powers .power strong,.phone-powers .arena-power strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


.ability-svg{width:30px;height:30px;display:block;flex:none;filter:drop-shadow(0 1px 2px #15352470)}
.craft-icon .ability-svg{width:48px;height:48px;margin:0 auto}
.hub-nav a.selected{background:linear-gradient(#55826c,#2b5945);color:#ffe4ab;box-shadow:inset 0 0 0 1px #b5a271}
@media(max-width:740px),(max-width:1100px) and (max-height:520px){.phone-powers .ability-svg{width:25px;height:25px}}
@media(max-width:360px){.phone-powers .ability-svg{width:21px;height:21px}}

/* Keep filters and section captions readable over the cloud artwork. */
.page-controls{padding:16px 18px;background:#173f33ed;border:1px solid #b59f677a;border-radius:11px;color:#e1dcc2}
.page-controls label,.page-controls>span{color:#dfdec7}.page-controls select{color:#fff0ce}
#hub-content>.section-title,.shop-title{padding:12px 16px;background:#153d31ed;border:1px solid #a58c5b66;border-radius:9px;color:#d7dec6}
#hub-content>.section-title>span,.shop-title>span{color:#d5dec5}
#hub-content>p.muted-label{padding:12px 16px;background:#153d30e8;border-radius:8px}
#bot>.stone{background:url('xianxia-portraits.png') 50% 50%/300% 100%;border:2px solid #d3bd86;width:36px;height:36px;box-shadow:0 0 0 2px #245948,0 3px 8px #16372b}
.game-board.chess .board-cell.dark{background:#668f77}
.game-board.chess .token.p2{text-shadow:0 1px 0 #acc4b0,1px 0 0 #a4bdad,-1px 0 0 #a4bdad,0 3px 2px #16392b99}
@media(max-width:740px){.page-controls{padding:12px}.phone-seats #bot>.stone{width:32px;height:32px}}


/* Generated transparent cosmetic illustrations, independent of reward and equip logic. */
.cosmetic-card{border:1px solid #b5a47266;border-radius:12px;background:linear-gradient(140deg,#43735b33,#123e302e);min-width:0}
.cosmetic-icon-wrap{display:grid;place-items:center;width:148px;height:144px;max-width:100%;margin:0 auto 5px;background:radial-gradient(ellipse,#d6e3ac1f,transparent 69%)}
.cosmetic-icon{display:block;width:128px;height:128px;max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #071e2355)}
.cosmetic-icon.cosmetic-frame{width:118px;height:118px}
.cosmetic-card.locked .cosmetic-icon{opacity:.78;filter:saturate(.7) drop-shadow(0 4px 7px #071e2344)}
.cosmetic-card h3{color:#f6dfab}.cosmetic-card>span:not(.cosmetic-icon-wrap){color:#c5cfb7;font-size:13px}
@media(max-width:600px){.cosmetic-icon-wrap{width:118px;height:116px}.cosmetic-icon{width:106px;height:106px}.cosmetic-icon.cosmetic-frame{width:100px;height:100px}.cosmetic-card h3{font-size:18px}}

/* Generated jade chess-gate emblem; the title remains real text. */
.brand .brand-mark{width:56px;height:56px;flex:0 0 56px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;padding:0;background:none;box-shadow:none;text-shadow:none;overflow:visible}
.brand-mark>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #001c2390)}
.phone-brand{display:flex;align-items:center;justify-content:center;gap:4px}.phone-brand-logo{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 1px 2px #001c2380)}
@media(max-width:740px){.brand .brand-mark{width:40px;height:40px;flex-basis:40px}}