body.playing{height:100dvh;overflow:hidden;background:#e9ecdf}body.playing .topbar{height:60px;max-width:none;padding:0 30px;background:#f6f7eef0;position:relative;z-index:30;border-bottom-color:#d5ddc9}body.playing .brand img{width:100px;height:38px}body.playing .brand>span{font-size:9px}body.playing .brand i{font-size:7px}body.playing footer{display:none}body.playing main{padding:0;max-width:none}body.playing .game{position:fixed;inset:60px 0 0;padding:0;overflow:hidden;max-width:none;background:radial-gradient(ellipse at 50% 0,#f7f8ed,transparent 80%)}body.playing .game-heading{position:absolute;top:17px;left:33px;right:33px;margin:0;z-index:5;pointer-events:none}body.playing .game-heading h1{font-size:20px;margin-top:2px}body.playing .game-heading .eyebrow{font-size:8px}body.playing .score-box{display:flex;gap:9px}body.playing .score-box>span{font-size:9px}body.playing .score-box strong{font-size:23px}body.playing .route{position:absolute;top:25px;left:50%;transform:translateX(-50%);width:min(36vw,520px);gap:7px;margin:0;z-index:5}body.playing .route-step{font-size:9px;height:22px}body.playing .route-step small{font-size:8px}body.playing .table-layout{position:absolute;inset:76px 25px 155px;display:block;z-index:1}body.playing .stage{position:absolute;inset:0;min-height:0;border-width:3px;border-color:#fffdf0;border-radius:14px;box-shadow:0 13px 45px #52634618;overflow:visible;transition:box-shadow .2s,border-color .2s}body.playing .stage .scene-image,body.playing .stage .scene-grain{border-radius:11px}body.playing .stage:after{border-radius:11px;box-shadow:inset 0 -50px 70px #66734a22,inset 0 0 40px #67755711}body.playing .stage-caption{padding:12px 15px;z-index:2}body.playing .stage-caption span{font-size:9px;background:#fbfceeaa}body.playing .fighters{position:absolute;inset:20px 0 0;max-width:none;margin:0;padding:0 12% 36px!important;display:flex;align-items:end;justify-content:space-between;gap:20px}body.playing .fighter{height:100%;width:240px;justify-content:end}body.playing .portrait-wrap{height:auto;flex:1;min-height:0;max-height:440px;align-items:end}body.playing .portrait-wrap>img{height:min(39dvh,360px);max-height:100%;width:260px;max-width:130%;object-position:center bottom;filter:drop-shadow(6px 10px 6px #364e3d40)}body.playing .fighter-sheet{width:205px;max-width:100%;padding:10px 14px 12px;background:#fffef1ed;border:1px solid #fbfbe8;box-shadow:2px 5px 0 #49613a18;border-radius:6px}body.playing .fighter h2{font-size:17px;margin-bottom:4px}body.playing .fighter-sub{font-size:8px}body.playing .health-line strong{font-size:22px}body.playing .statuses{min-height:23px}body.playing .status{font-size:11px}body.playing .encounter-center{position:absolute;left:50%;top:39%;transform:translateX(-50%);padding:0}body.playing .encounter-center>span{font-size:45px}body.playing .encounter-center i{font-size:9px}body.playing .intent{top:41px;bottom:auto;right:13%;transform:translateX(0);min-width:180px;max-width:215px;padding:11px 14px;border:1px solid #fffdf3;box-shadow:0 5px 20px #38543713;background:#fffef3ed;border-radius:8px}body.playing .intent:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#fffef3;transform:rotate(45deg);z-index:-1}body.playing .intent-heading{font-size:9px;color:#8c917b}body.playing .intent #intent-value{font-size:15px;font-weight:500;line-height:1.6}body.playing .intent p{font-size:10px;color:#7e8c6e}body.playing .sidebar{position:absolute;inset:0;display:block;pointer-events:none;z-index:4}body.playing .resource-panel{position:fixed;left:32px;bottom:38px;width:136px;padding:12px;background:#f5f7e9e8;border:1px solid #ccd6ba;border-radius:11px;box-shadow:0 7px 22px #4b603313;pointer-events:auto;z-index:24}body.playing .resource-panel .eyebrow{display:none}body.playing .energy-display{gap:10px;padding:0 0 6px}body.playing .energy-display>span{width:44px;height:44px;font-size:29px}body.playing .energy-display b{font-size:12px}body.playing .energy-display small{font-size:8px;line-height:1.6;max-width:48px}body.playing .energy-orbs{display:none}body.playing .sidebar-line{font-size:8px;padding-top:7px}body.playing .sidebar-line b{font-size:9px}body.playing .pile-buttons{position:absolute;left:12px;top:55px;display:flex;flex-direction:column;background:#f8faefc9;border:1px solid #ffffffba;pointer-events:auto;border-radius:7px;max-width:115px;box-shadow:0 4px 16px #45623a09}body.playing .pile-buttons button{width:113px;min-height:42px;padding:8px 10px;border-bottom:1px solid #dce4d1;display:flex;flex-direction:row;gap:8px;align-items:center}body.playing .pile-buttons button:last-child{border:0}body.playing .pile-buttons b{font-size:10px;margin-left:5px}body.playing .pile-buttons strong{font-size:13px}body.playing .log-button{position:absolute;left:13px;top:246px;pointer-events:auto;width:110px;font-size:10px;background:#f7f9e8b5;padding:10px;border-radius:4px}body.playing .sidebar-tip{display:none}body.playing .hand-section{position:fixed;bottom:0;left:170px;right:170px;height:234px;padding:0;z-index:21;pointer-events:none}body.playing .hand-heading{position:absolute;left:0;right:0;bottom:6px;justify-content:center;align-items:center;gap:14px;z-index:1;pointer-events:none}body.playing .hand-heading h2{display:none}body.playing .hand-heading p{font-size:9px;margin:0;color:#7c896b;letter-spacing:.03em}body.playing .hand-heading>span{font-size:8px;color:#9ba58c}body.playing .hand{position:absolute;inset:0;margin:0;padding:0;min-height:0;height:auto;overflow:visible;display:block;pointer-events:none}body.playing .card-slot{position:absolute;left:50%;bottom:24px;width:145px;height:199px;transform:translateX(calc(-50% + var(--fan-x))) translateY(var(--fan-y)) rotate(var(--fan-r));transform-origin:center 150%;z-index:var(--order);pointer-events:none}body.playing .card-slot:before{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:auto}body.playing .card-slot>.card{position:absolute;inset:0;width:100%;height:100%;min-height:0;flex:none;pointer-events:auto;transform-origin:center 80%;transition:transform .16s cubic-bezier(.2,.8,.3,1),box-shadow .16s,border-color .16s;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x;box-shadow:0 7px 15px #35482f26;border:1px solid #c8ceba;background:#fffef1}body.playing .card-slot>.card:active{cursor:grabbing}body.playing .card-slot.inspected{z-index:100}body.playing .card-slot.inspected>.card,body.playing .card-slot.selected>.card{transform:translateY(-58px) rotate(calc(0deg - var(--fan-r))) scale(1.12);box-shadow:0 13px 25px #35482f30;border-color:#91a473}body.playing .card-slot.selected{z-index:99}body.playing .card-slot>.card.selected{padding:13px 12px 11px;border:1px solid #839d67;outline:2px solid #b6c99c;outline-offset:2px}body.playing .card-slot>.card.unavailable{opacity:1;filter:saturate(.2);background:#e8e9df;color:#8d9484}body.playing .card-slot>.card.unavailable .cost{background:#e4e2d4;border-color:#c9c5b5;color:#aaa18a}body.playing .card-slot>.card:after{border-color:#d5d5bf7a}body.playing .card-slot>.card .effects{font-size:11px;color:#68745d;line-height:1.75}body.playing .card-slot>.card strong{font-size:14px}body.playing .card-slot>.card .cost{height:28px;width:28px;font-size:20px}body.playing .card-slot>.card .type{font-size:8px}body.playing .card-slot>.card .card-art{height:64px}body.playing .card-slot>.card .card-foot{font-size:8px;color:#969e87}body.playing .card-slot>.card .shortcut{font-size:10px;bottom:11px;right:12px}body.playing .actionbar{position:fixed;right:30px;bottom:43px;padding:0;margin:0;min-height:0;border:0;background:none;display:block;z-index:25;pointer-events:none}body.playing .actionbar #selection,body.playing .actionbar #confirm{display:none!important}body.playing .actionbar #end-turn{pointer-events:auto;width:136px;min-width:0;min-height:56px;border-radius:9px;background:#6d815d;border:1px solid #5b704e;color:#fffdee;box-shadow:0 5px 0 #526841;padding:12px 15px;font-size:13px;gap:14px}body.playing .actionbar #end-turn:hover:enabled{background:#5e754e;transform:translateY(-2px)}body.playing .actionbar #end-turn:disabled{opacity:.6}.card-detail{position:fixed;z-index:50;width:230px;padding:14px 16px;border:1px solid #d1dbc0;border-radius:9px;background:#fafcf1f5;box-shadow:0 10px 40px #2c482333;pointer-events:none;backdrop-filter:blur(8px)}.card-detail h3{font:17px var(--serif);color:#526e44;margin:0 0 5px}.card-detail .detail-cost{font-size:10px;color:#a38850;margin:0 0 9px}.card-detail .detail-effects{font-size:12px;line-height:1.8;color:#576a4d;margin:0 0 8px}.card-detail .detail-rule{font-size:10px;line-height:1.85;color:#88937b;margin:4px 0}.card-detail .detail-hint{font-size:9px;color:#91a27c;border-top:1px solid #e1e7d7;margin:10px 0 0;padding-top:8px;line-height:1.7}.drag-card{position:fixed!important;z-index:101!important;pointer-events:none!important;width:145px!important;height:199px!important;transform:translate(-50%,-60%) rotate(3deg)!important;opacity:.9;box-shadow:0 18px 40px #2b412b44!important}.playing.is-dragging .card-detail{display:none}.playing.is-dragging .hand-section{pointer-events:none}.playing .stage.drop-ready{border-color:#9aba76;box-shadow:0 0 0 3px #9fbc7f55,0 0 50px #a4c78550}.drop-ready:before{content:"松开，打出此牌";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);border:1px dashed #a9c186;border-radius:10px;background:#fafee7df;padding:18px 26px;color:#68814f;font-size:15px;letter-spacing:.1em;z-index:10;pointer-events:none}.playing .stage .scene-banner{border-radius:11px}.playing .new-card{animation:deal-in .32s cubic-bezier(.2,.75,.2,1)}body.playing.reward .hand-section,body.playing.rest .hand-section{left:180px;right:180px}body.playing.reward .card-slot{bottom:40px}body.playing.reward .card-slot>.card{outline:1px solid #dbc69a;border-color:#c8ba8f}body.playing.reward .hand-heading p,body.playing.rest .hand-heading p{font-size:11px;color:#6e815a}body.playing.rest .card-slot>.card{border-color:#a4ad8b}.playing .hand-empty{position:absolute;bottom:98px;left:50%;transform:translateX(-50%);text-align:center;font-size:13px;line-height:1.8;color:#899777;white-space:nowrap;pointer-events:none}@keyframes deal-in{from{opacity:0;translate:80px 80px}to{opacity:1;translate:0 0}}
@media(max-width:1050px) and (min-width:721px){body.playing .fighters{padding-left:15%!important;padding-right:8%!important}body.playing .fighter{width:200px}body.playing .portrait-wrap>img{height:min(36dvh,310px);width:230px}body.playing .intent{right:7%;top:38px;min-width:160px}body.playing .hand-section{left:145px;right:145px}body.playing .card-slot{width:128px;height:180px}body.playing .card-slot>.card .card-art{height:47px;margin-bottom:5px}body.playing .card-slot>.card strong{font-size:13px}body.playing .card-slot>.card .effects{font-size:10px}body.playing .resource-panel{left:23px;width:115px}body.playing .actionbar{right:22px}body.playing .actionbar #end-turn{width:115px;font-size:12px}body.playing .card-slot.inspected>.card,body.playing .card-slot.selected>.card{transform:translateY(-45px) rotate(calc(0deg - var(--fan-r))) scale(1.08)}}
@media(max-width:720px){body.playing .topbar{height:54px;padding:0 15px}body.playing .brand img{width:78px;height:34px}body.playing .brand>span{font-size:8px;padding-left:8px}body.playing .brand i{display:none}body.playing .top-actions{gap:13px}body.playing .quiet{font-size:10px;min-height:42px}body.playing .game{inset:54px 0 0}body.playing .game-heading{top:13px;left:15px;right:15px}body.playing .game-heading h1{font-size:19px}body.playing .game-heading .eyebrow{font-size:7px}body.playing .score-box{display:block}body.playing .score-box strong{font-size:21px}body.playing .score-box>span{font-size:8px}body.playing .route{top:65px;left:16px;right:16px;transform:none;width:auto;gap:6px}body.playing .route-step{height:18px;font-size:8px}body.playing .route-step small{font-size:7px}body.playing .table-layout{inset:94px 9px 180px}body.playing .stage{border-width:2px;border-radius:11px}body.playing .stage .scene-image,body.playing .stage .scene-grain{border-radius:9px}body.playing .stage-caption{padding:8px}body.playing .stage-caption span{font-size:7px;padding:4px 6px}body.playing .stage-caption #stage-name{visibility:hidden}body.playing .fighters{inset:25px 0 0;padding:0 6% 30px!important;gap:22px}body.playing .fighter{width:44%;height:88%;max-width:170px}body.playing .portrait-wrap{max-height:230px}body.playing .portrait-wrap>img{height:min(25dvh,220px);width:170px;max-width:140%}body.playing .fighter-sheet{width:100%;padding:8px 9px 9px;border-radius:5px}body.playing .fighter-sub{font-size:7px}body.playing .fighter h2{font-size:13px;margin-bottom:4px}body.playing .health-line strong{font-size:19px}body.playing .health-line small{font-size:8px}body.playing .statuses{min-height:19px;gap:5px;padding-top:5px}body.playing .status{font-size:9px}body.playing .status.none{font-size:7px}body.playing .encounter-center{top:40%}body.playing .encounter-center>span{font-size:25px}body.playing .encounter-center i{font-size:6px;white-space:nowrap}body.playing .intent{top:31px;right:5%;bottom:auto;min-width:125px;max-width:160px;padding:7px 9px;border-radius:6px}body.playing .intent-heading{font-size:7px;margin-bottom:2px}body.playing .intent #intent-value{font-size:11px}body.playing .intent p{font-size:8px;line-height:1.6;margin-top:3px}body.playing .resource-panel{position:fixed;left:13px;bottom:184px;width:90px;padding:6px 8px;z-index:24;border-radius:8px;background:#f9fbeeed}body.playing .energy-display{padding:0;gap:7px}body.playing .energy-display>span{height:32px;width:32px;font-size:23px}body.playing .energy-display b{font-size:9px}body.playing .energy-display small{font-size:7px;max-width:30px;margin-top:2px}body.playing .sidebar-line{display:none}body.playing .pile-buttons{position:fixed;left:115px;right:121px;bottom:187px;top:auto;display:flex;flex-direction:row;justify-content:center;max-width:none;border:0;background:none;box-shadow:none;gap:8px;overflow:visible}body.playing .pile-buttons button{width:34px;min-height:33px;padding:2px;border:0;flex-direction:column;gap:1px;justify-content:center;font-size:12px;color:#71815e}body.playing .pile-buttons b{font-size:7px;display:none;margin:0}body.playing .pile-buttons strong{font-size:11px}body.playing .pile-buttons button>span{font-size:13px}body.playing .log-button{display:none}body.playing .actionbar{right:12px;bottom:184px;min-height:0;z-index:25;padding:0;margin:0}body.playing .actionbar #end-turn{width:105px;min-height:42px;font-size:11px;gap:8px;padding:8px 10px;border-radius:8px;box-shadow:0 3px 0 #526841}body.playing .hand-section,body.playing.reward .hand-section,body.playing.rest .hand-section{left:0;right:0;bottom:0;height:182px;pointer-events:none}body.playing .hand-heading{bottom:3px;gap:8px}body.playing .hand-heading p{font-size:8px;letter-spacing:0}body.playing .hand-heading>span{font-size:7px}body.playing .hand{display:flex;align-items:end;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;inset:-47px 0 18px;padding:48px 20px 10px;scroll-padding:20px;pointer-events:auto;touch-action:pan-x}body.playing .hand:after{content:"";flex:0 0 28px}body.playing .hand::-webkit-scrollbar{display:none}body.playing .card-slot{position:relative;left:auto;bottom:auto;width:114px;height:158px;flex:0 0 114px;margin-left:-24px;transform:rotate(var(--fan-r));transform-origin:center 170%;z-index:var(--order);pointer-events:none}body.playing .card-slot:first-child{margin-left:0}body.playing .card-slot>.card{padding:10px 9px 9px;border-radius:6px;box-shadow:0 4px 9px #3e522c29}body.playing .card-slot>.card .cost{top:9px;left:9px;height:23px;width:23px;font-size:17px}body.playing .card-slot>.card .type{font-size:7px;height:17px}body.playing .card-slot>.card .card-art{height:41px;margin:3px 0 5px}body.playing .card-slot>.card .card-art svg{width:34px;height:34px}body.playing .card-slot>.card strong{font-size:12px}body.playing .card-slot>.card .effects{font-size:9px;line-height:1.65;margin-top:5px}body.playing .card-slot>.card .card-foot{font-size:7px;padding-top:6px}body.playing .card-slot>.card.selected{padding:10px 9px 9px;outline-width:1px}body.playing .card-slot.inspected>.card,body.playing .card-slot.selected>.card{transform:translateY(-19px) rotate(calc(0deg - var(--fan-r))) scale(1.045)}body.playing .card-slot.selected{z-index:99}body.playing .card-slot>.card .shortcut{display:none}.card-detail{width:auto!important;left:13px!important;right:13px!important;bottom:243px!important;top:auto!important;padding:11px 14px;background:#fafcf2f5;border-color:#c9d7b6;border-radius:8px;max-height:180px;overflow:hidden}.card-detail h3{font-size:15px;display:inline-block;margin:0 9px 4px 0}.card-detail .detail-cost{font-size:9px;display:inline-block;margin:0}.card-detail .detail-effects{font-size:11px;line-height:1.6;margin:2px 0 5px}.card-detail .detail-rule{font-size:9px;line-height:1.65;margin:2px 0}.card-detail .detail-hint{font-size:8px;margin-top:6px;padding-top:5px}.drag-card{width:114px!important;height:158px!important}.drop-ready:before{font-size:12px;padding:14px 19px;white-space:nowrap}body.playing.reward .card-slot{bottom:auto;margin-left:11px}body.playing.reward .card-slot:first-child{margin-left:0}body.playing.reward .hand{justify-content:center;padding-left:15px;padding-right:15px}body.playing.reward .card-slot{width:104px;flex-basis:104px}body.playing.reward .hand:after{display:none}body.playing.reward .hand-heading p,body.playing.rest .hand-heading p{font-size:8px}body.playing .hand-empty{bottom:80px;font-size:11px}}
@media(max-height:700px) and (min-width:721px){body.playing .topbar{height:47px}body.playing .game{top:47px}body.playing .table-layout{top:67px;bottom:144px}body.playing .fighter-sheet{padding:6px 10px}body.playing .fighter h2{font-size:14px}body.playing .portrait-wrap>img{height:29dvh}body.playing .fighters{padding-bottom:20px!important}body.playing .intent{top:27px;padding:8px 11px}body.playing .intent #intent-value{font-size:12px}body.playing .intent p{font-size:9px}body.playing .hand-section{height:195px}body.playing .card-slot{height:168px;width:125px}body.playing .card-slot>.card .card-art{height:40px;margin-top:2px;margin-bottom:4px}body.playing .card-slot>.card strong{font-size:12px}body.playing .card-slot>.card .effects{font-size:10px}body.playing .card-slot>.card .card-foot{font-size:7px}body.playing .card-slot.inspected>.card,body.playing .card-slot.selected>.card{transform:translateY(-40px) rotate(calc(0deg - var(--fan-r))) scale(1.08)}}
@media(max-width:720px) and (max-height:730px){body.playing .table-layout{bottom:175px}body.playing .fighters{padding-bottom:14px!important}body.playing .portrait-wrap>img{height:20dvh}body.playing .fighter{height:88%}body.playing .fighter-sheet{padding:6px 7px}body.playing .statuses{padding-top:4px;min-height:15px}body.playing .fighter h2{font-size:12px}body.playing .intent{top:27px;right:4%;min-width:119px;padding:6px 8px}body.playing .intent p{font-size:7px}body.playing .intent #intent-value{font-size:10px}}
@media(prefers-reduced-motion:reduce){body.playing .card-slot>.card{transition:none}.playing .new-card{animation:none}}

@media(max-width:720px){body.playing .fighters{padding-bottom:76px!important}body.playing .pile-buttons b{display:block;font-size:6.5px;line-height:1.2}body.playing .pile-buttons button>span{font-size:10px;text-align:center}body.playing .pile-buttons{bottom:184px}body.playing .pile-buttons button{min-height:43px}body.playing .energy-display small{display:none}body.playing .actionbar #end-turn{min-height:44px}body.playing .resource-panel{min-height:44px}}
body.playing.rest .hand-section{height:min(48dvh,430px);left:180px;right:180px;bottom:8px}body.playing.rest .hand{inset:0 0 30px;display:flex;flex-wrap:wrap;justify-content:center;align-content:start;gap:14px;overflow:auto;pointer-events:auto;padding:25px 20px 45px;background:#f7f9edeb;border:1px solid #d9e1ca;border-radius:14px;scrollbar-width:thin}body.playing.rest .card-slot{position:relative;left:auto;bottom:auto;transform:none;margin:0;flex:0 0 130px;height:180px}body.playing.rest .card-slot.inspected>.card,body.playing.rest .card-slot.selected>.card{transform:translateY(-5px) scale(1.04)}body.playing.rest .hand:after{display:none}body.playing.rest .fighters{opacity:.45}body.playing.reward .card-slot.inspected>.card,body.playing.reward .card-slot.selected>.card{transform:translateY(-24px) scale(1.08)}@media(max-width:720px){body.playing.rest .hand-section{left:12px;right:12px;bottom:7px;height:min(49dvh,440px)}body.playing.rest .hand{gap:11px;padding:17px 12px 35px}body.playing.rest .card-slot{flex-basis:104px;width:104px;height:153px}body.playing.rest .actionbar,body.playing.rest .resource-panel{bottom:calc(min(49dvh,440px) + 23px)}body.playing.rest .pile-buttons{display:none}body.playing.rest .hand-heading{bottom:7px}body.playing.rest .card-detail{bottom:calc(min(49dvh,440px) + 77px)!important}}
