:root{--spd:1;--card-w:124px;--card-h:182px;font-size:16px}
body{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
.game-title,.gc-name,.s-name,.cf-banner{font-family:"STKaiti","KaiTi",serif}
#battleToolbar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#101713;z-index:10;border-bottom:1px solid #71603c;font-size:15px;gap:20px}
#actionStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffe2a3}
#battleToolbar label{flex-shrink:0}select,input{font:inherit;color:#f3dfb1;background:#25231c;border:1px solid #847045;border-radius:5px;padding:4px 8px}
#table{top:44px;bottom:274px;right:300px}
#logPanel{top:44px;bottom:274px;width:300px}
#logBody{font-size:15px;line-height:1.85;color:#d5cbb8}
.log-turn{font-size:14px;color:#bcc8bb}.log-head{font-size:16px}
#selfArea{height:274px;gap:16px}
#controlPanel{flex-basis:300px;max-height:270px}
#promptText{font-size:16px;line-height:1.55;min-height:60px}
.ctrl-btns button{font-size:16px;padding:12px 0}
#skillActions{display:flex;gap:6px;flex-wrap:wrap;overflow-y:auto;max-height:110px}
.skill-action{padding:7px 9px;border:1px solid #b89b50;border-radius:5px;background:#473b20;color:#ffe9b8;font-size:14px}
.skill-action:hover:not(:disabled){background:#756035}.skill-action:disabled{opacity:.4}
.equip-chip.usable{cursor:pointer;outline:1px solid #f5cf73}.equip-chip.sel{background:#796128;outline:2px solid #ffdc7e}
.equip-chip{font-size:13px}.gcard .gc-sk{font-size:14px}.s-sk{font-size:13px}.s-hand{font-size:17px}
.s-name{font-size:23px}.s-id{font-size:12px}.s-mark{font-size:15px}
.pz-src{font-size:18px!important;color:#ffe7b0!important;padding:7px 12px;background:#101a15e8;border-radius:5px;white-space:normal;text-align:center}
#playZone{min-width:240px;max-width:560px;max-height:250px;flex-wrap:wrap;overflow:hidden}
#playZone .card.mini,.modal .card.mini{width:84px;height:122px;flex-shrink:0}
#playZone .cf-banner,.modal .cf-banner{font-size:15px!important}
#playZone .card,.modal .card{--badge-num:12px;--badge-suit:9.5px;--badge-w:18px}
.cf-desc{font-size:12px!important;line-height:1.4!important}
.card .cf-banner{font-size:19px}.card .cf-banner.n3{font-size:17px}.card .cf-banner.n4{font-size:15px}.card .cf-banner.n5{font-size:14px}
.card .cf-desc{top:auto;height:48px;padding:5px 6px;background:#100e0ad9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-align:left}.card .cf-tag{font-size:10px}.card:not(.mini){--badge-num:15px;--badge-suit:12px;--badge-w:22px}
.beam{height:5px!important;animation-duration:calc(1.1s * var(--spd))!important;box-shadow:0 0 14px currentColor}
.modal-body,.modal-foot button{font-size:16px}.modal-foot{flex-wrap:wrap}.modal-foot button{padding:10px 16px}
.seat.linked .seat-box,.gcard.linked{outline:3px solid #64b6d4}.seat.turned .s-portrait,.gcard.turned .gc-portrait{filter:grayscale(1) brightness(.45)}
.state-badge{position:absolute;left:4px;top:30px;z-index:4;font-size:12px;max-width:90%;background:#10201deb;color:#ffe3a2;padding:3px 5px;border-radius:4px;pointer-events:none}
.pick-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.pick-filters button{padding:6px 13px;border:1px solid #75623e;border-radius:5px}.pick-filters button.on{background:#755a26;color:#fff0c0}
#pickScreen{justify-content:flex-start;overflow-y:auto}.pick-list{flex-wrap:wrap;overflow-y:auto;max-height:56vh;flex-shrink:0;justify-content:center}.pick-list .gcard{cursor:pointer}.credit{font-size:13px;color:#a99674}
#handArea{min-width:0;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding:30px 8px 0}#handCards{min-width:100%;height:210px;justify-content:center}#handCards .card{flex-shrink:0}
@media(max-width:1200px){#logPanel{width:230px}#table{right:230px}#controlPanel{flex-basis:260px}#logBody{font-size:14px}#selfArea{gap:8px;padding-left:8px;padding-right:8px}}
@media(max-width:850px){#logPanel{display:none}#table{right:0}#controlPanel{flex-basis:230px}.self-side{max-width:100px}#battleToolbar{font-size:13px}#selfGeneral .gcard{width:110px;height:155px}}
