/* The battle keeps its central table and both hands inside the viewport on PC. */
.rarity-4{border-color:#f3d36e!important}.card-hover{position:fixed;z-index:70;right:22px;top:90px;width:250px;padding:12px;border:1px solid #b3c88a;background:#16271ff5;border-radius:12px;box-shadow:0 12px 65px #000b;pointer-events:none}.card-hover .special-card{width:224px;min-height:320px}.card-hover .special-card>p{font-size:14px}.card-hover>small{display:block;margin-top:8px;color:#c9d6bd;font-size:12px}.card-hover .special-art{height:110px}.resolution-ribbon{font-size:12px;line-height:1.5;color:#e0d6ac;margin:4px 0}.battle-more{font-size:12px;padding:4px 9px;border:1px solid #6c8058;border-radius:5px}.battle-info{font-size:14px;line-height:1.8}.battle-info .poker-card{width:42px;height:60px}.battle-info .info-cards{display:flex;gap:6px;flex-wrap:wrap}.battle-info .log-list{max-height:35vh;overflow:auto}
#app .special-card.compact{width:120px;min-width:120px;min-height:160px;padding:6px;border-radius:8px}#app .compact .special-art{height:48px;min-height:48px;margin-bottom:3px}#app .compact>strong{font-size:13px;line-height:1.25;margin:4px 0}#app .compact>p{font-size:10px;line-height:1.4;padding:3px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}#app .compact .special-top{font-size:9px;margin-bottom:3px}#app .compact .card-cost{font-size:10px;min-height:0}#app .compact .special-foot{font-size:9px;margin-top:3px;padding-top:3px}#app .compact .upgrade-note{font-size:9px}#app .special-hand{gap:8px;padding:5px 4px 8px}
.boss-notice{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #b99b6455;background:linear-gradient(120deg,#453c31,#24372d);border-radius:10px;margin:12px 0}.boss-silhouette{font-size:36px;width:54px;text-align:center}.boss-notice h2{font-size:19px;margin:4px 0}.boss-notice p{font-size:13px;line-height:1.5;color:#c3cbb5;margin:0}.boss-notice .eyebrow{font-size:10px}.act-tabs{display:flex;gap:8px;flex-wrap:wrap}.act-tabs button{font-size:13px;padding:9px 15px;border:1px solid #647653;border-radius:6px}.act-tabs .active{background:#cce29c;color:#203524}.encounter-map{display:grid;grid-template-columns:minmax(390px,1.3fr) minmax(260px,1fr);gap:24px;align-items:start}.encounter-board{position:relative;height:450px;min-width:0}.route-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.route-lines path{fill:none;stroke:#9aad77;stroke-width:1.5;opacity:.12}.route-lines path.reachable{opacity:.65;stroke:#d1e6a0;stroke-width:2}.route-lines path.focused{opacity:1;stroke:#f1d18b;stroke-width:3}.route-lines path.past{opacity:.18}.encounter-row{position:absolute;left:0;width:100%;height:70px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-items:center}.encounter-floor{position:absolute;left:0;top:-10px;font-size:11px;color:#92a585}.encounter-node{height:62px;width:92px;border:1px solid #576b51;background:#23372e;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:30px 20px;align-items:center;justify-items:center;opacity:.55;position:relative}.encounter-node>strong{font-size:25px}.encounter-node .reward-icon{font-size:19px}.encounter-node .risk-stars{grid-column:1/-1;letter-spacing:3px;font-size:10px;color:#dacb97}.encounter-node.tier-elite{border:2px double #d9a97b;border-radius:4px 18px}.encounter-node.tier-boss{border:3px double #e5be7b;background:#47372f;border-radius:4px;width:110px}.encounter-node.available{opacity:1;border-color:#d0e4a0;box-shadow:0 0 0 3px #cde0a414}.encounter-node.current{box-shadow:0 0 0 3px #dab57766}.encounter-node.focused{outline:2px solid #e5ca8b;outline-offset:3px;opacity:1}.encounter-node.cleared{opacity:.45}.encounter-panel{padding:20px;border:1px solid #728255;background:#22372d;border-radius:12px;min-height:310px;position:sticky;top:80px}.encounter-panel h2{font-size:22px;margin:8px 0}.encounter-panel h3{font-size:15px;color:#d9cb9f;margin:16px 0 7px}.encounter-panel p{font-size:14px;line-height:1.7;color:#c3d0b6}.encounter-panel dl{display:grid;grid-template-columns:85px 1fr;gap:10px;font-size:13px}.encounter-panel dt{color:#9bae91}.encounter-panel dd{margin:0;line-height:1.5}.encounter-panel .primary{margin-top:20px;min-height:44px}.map-legend{font-size:12px}.boss-counter{font-size:12px;color:#e4c895}.upgrade-description{padding:10px;background:#354734;border-left:3px solid #c4d998;border-radius:5px;font-size:13px}.cost-explanation{font-size:12px;color:#c2d6b7}.codex-pools{display:flex;gap:9px;margin-bottom:12px}
@media(min-width:1000px) and (min-height:600px){
 body.combat-screen{overflow:hidden}body.combat-screen #app{height:100dvh;display:grid;grid-template-rows:52px minmax(0,1fr)}body.combat-screen .topbar{height:52px;padding-block:5px}body.combat-screen .global-footer{display:none}body.combat-screen .game-shell{min-height:0;height:100%;grid-template-columns:145px minmax(0,1fr)}body.combat-screen .game-content{min-height:0;overflow:hidden}body.combat-screen .sidebar{position:relative;top:0;min-height:0;height:100%;padding:15px 10px}.combat-screen .side-bottom{margin-top:auto}.combat-screen .side-link{font-size:12px;padding:10px 6px}.combat-screen .sidebar>.eyebrow{font-size:10px}
 #app .battle-layout{height:100%;padding:10px 16px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:64px 27px minmax(180px,1fr) 190px 78px;gap:6px 12px;overflow:hidden;max-width:none}
 #app .opponent{grid-area:1/1/2/3;padding:0;gap:20px;grid-template-columns:1fr .7fr 1.2fr}#app .enemy-profile .portrait{width:43px}#app .enemy-profile h1{font-size:17px;margin:3px 0}#app .enemy-profile p{display:none}#app .enemy-plan{gap:2px;padding-left:14px}#app .enemy-plan strong{font-size:11px;line-height:1.3}#app .enemy-plan small{display:none}#app .enemy-resources{font-size:12px}#app .health-sub{font-size:11px}#app .hp-number{font-size:25px}
 #app .initiative-banner{grid-area:2/1/3/2;margin:0;padding:4px 8px;align-items:center;font-size:12px}#app .initiative-banner span{font-size:10px}#app .quest-strip{grid-area:2/2/3/3;margin:0;padding:3px 8px;gap:6px}#app .quest-strip>div{gap:8px;min-width:0}#app .quest-strip b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app .quest-strip>div>span,#app .quest-strip>small{display:none}#app .quest-state{font-size:11px}
 #app .table-center{grid-area:3/1/4/3;min-height:0;display:grid;grid-template-columns:minmax(250px,1fr) minmax(240px,1fr);grid-template-rows:17px 32px minmax(100px,1fr) 28px;padding:8px 12px 0;align-items:center}#app .table-watermark{display:none}#app .opponent-hand-label{grid-area:1/1/2/2;padding:0;font-size:11px}#app .opponent-hand{grid-area:2/1/3/2;min-height:0;padding:0;height:32px}#app .opponent-hand .poker-card{width:22px!important;height:30px!important}#app .community-zone{grid-area:3/1/4/2;padding:3px 10px;border:0;align-self:center}#app .community-cards{margin:5px 0;gap:10px}#app .community-cards .poker-card{width:58px!important;height:80px!important}#app .community-heading{margin:0;gap:10px}#app .community-heading strong{font-size:14px}#app .community-heading span{font-size:11px}#app .community-zone>small{font-size:10px}#app .board-read{font-size:11px;margin:4px 0}
 #app .challenge-zone{grid-area:1/2/4/3;padding:8px 15px;border-left:1px solid #6a80523d;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center}#app .challenge-idle h2{font-size:20px}#app .challenge-idle p{font-size:12px;line-height:1.5}#app .table-suit{display:none}#app .challenge-title{gap:17px;margin:8px 0}#app .challenge-title h2{font-size:25px}#app .challenge-title p{font-size:11px}#app .submitted-hand .poker-card{width:34px!important;height:47px!important}#app .phase-label{font-size:12px;padding:4px 10px}#app .challenge-footer{grid-area:4/1/5/3;padding:4px 2px;gap:12px}#app .chain-history{font-size:11px;min-width:0}#app .challenge-footer>span{font-size:11px}
 #app .hands-area{grid-area:4/1/5/3;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;margin:0;min-height:0}#app .left-hand,#app .right-hand{min-width:0;min-height:0;position:relative}#app .hand-label{height:24px;margin:0}#app .hand-label h2{font-size:13px}#app .hand-label>span{font-size:12px}#app .hand-index{font-size:12px}#app .hand-sort{margin:0;height:28px}#app .hand-sort select{min-height:25px;padding:2px 6px;font-size:12px}#app .hand-sort>span{font-size:10px}#app .poker-hand{height:113px;min-height:0;padding:18px 9px 5px}#app .poker-hand .poker-card{width:calc(61px * var(--card-scale));height:calc(85px * var(--card-scale));margin-right:-9px}#app .poker-hand .card-corner{font-size:19px;top:4px;left:5px}#app .poker-hand .card-corner small{font-size:14px}#app .poker-hand .card-pip{font-size:29px}#app .poker-hand .card-bottom{font-size:13px}#app .left-tools{margin:0;min-height:22px;font-size:11px}#app .left-tools .text-button{font-size:11px}#app .special-hand{height:143px;min-height:0}#app .special-card.compact{min-height:130px;max-height:130px;width:114px;min-width:114px;padding:5px}#app .compact .special-art{height:38px;min-height:38px}#app .compact .special-foot{margin-top:2px;padding:0}#app .compact>p{font-size:10px}#app .right-tools{height:23px;min-height:0;margin:0;font-size:12px}#app .right-tools b{font-size:17px}
 #app .combat-controls{grid-area:5/1/6/3;position:relative;bottom:auto;margin:0;padding:8px 12px;gap:18px;grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) auto}#app .player-mini{display:none}#app .selection-preview>span{font-size:10px}#app .selection-preview>strong{font-size:16px}#app .selection-preview>small{font-size:11px}#app .action-buttons{flex-direction:row}#app .action-buttons button{padding:8px 12px;font-size:12px;min-height:43px!important}#app .combat-log,#app .tutorial-tip,#app .portrait-hint,#app .intel{display:none}
}
@media(max-width:999px){.encounter-map{grid-template-columns:1fr}.encounter-board{height:420px}.encounter-panel{position:relative;top:auto;min-height:0}.card-hover{display:none}.boss-notice{padding:12px}.boss-notice h2{font-size:17px}.encounter-node{width:80px}.map-page{padding:16px!important}.map-page .page-title h1{font-size:25px}.encounter-panel h2{font-size:20px}#app .poker-hand{min-height:125px;padding-top:20px}#app .poker-hand .poker-card{width:64px;height:92px}#app .special-card.compact{width:118px;min-width:118px;min-height:163px}#app .special-hand{padding-top:6px}.card-detail .special-card>p{font-size:15px}.card-detail .special-card>strong{font-size:20px}}
@media(max-width:650px){.modal-open .modal:has(.card-detail){position:fixed;bottom:0;left:0;width:100%;max-height:92dvh;border-radius:18px 18px 0 0;margin:0}.card-detail{gap:12px}.card-detail>div:first-child{width:210px}.card-detail .special-card{min-height:275px}.card-detail .special-art{height:95px;min-height:95px}.card-detail .special-card>strong{font-size:18px}.boss-notice p{font-size:12px}.encounter-board{height:405px}.encounter-node{width:72px;height:60px}.encounter-panel{padding:16px}.encounter-panel .primary{width:100%}.act-tabs button{padding:8px 10px;font-size:12px}.map-legend{gap:8px;font-size:11px}}
.boss-notice strong{display:block;font-size:19px;margin:4px 0}.boss-icon{font-size:36px}.act-tabs .selected{background:#cce29c;color:#203524}.encounter-row{height:0;display:block}.encounter-node{position:absolute;transform:translate(-50%,-50%);grid-template-rows:30px 20px}.encounter-node:active:not(:disabled){transform:translate(-50%,-49%)}.encounter-node b{font-size:24px;grid-row:1/3}.encounter-node small{font-size:9px;color:#e0ca91}.encounter-node em{font-size:12px;font-style:normal}.encounter-node.elite{border:2px solid #d9a97b;border-radius:4px 18px}.encounter-node.boss{border:3px double #e5be7b;background:#47372f}.encounter-node.reachable{opacity:1;border-color:#d0e4a0;box-shadow:0 0 0 3px #cde0a414}.map-floor-number{position:absolute;left:0;top:-8px;font-size:11px;color:#9aaf8f}.route-lines line{stroke:#7c9069;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.35}.route-lines line.focus{stroke:#ecd28e;opacity:1;stroke-width:2.5}.route-lines line.walked{stroke:#c6dfa0;opacity:.8}.boss-tokens{color:#f2d58c}.card-hover .special-card{pointer-events:none}
.encounter-board{height:450px}.map-page .section-title{margin-bottom:14px}.encounter-panel>small{display:block;line-height:1.6}.boss-notice strong{display:block}.card-detail .special-card{max-width:100%}
@media(min-width:1000px) and (min-height:600px){body.combat-screen .game-shell{width:100%;max-width:none;margin:0}#app .poker-hand{overflow-x:auto;overflow-y:hidden}#app .hands-area{height:190px;max-height:190px}#app .combat-controls{min-height:0;align-self:stretch}#app .compact .special-art{height:28px;min-height:28px}#app .compact>strong{font-size:12px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app .compact>p{font-size:10px;line-height:13px;min-height:26px;padding:0}#app .compact .special-foot{font-size:8px;line-height:10px}#app .compact .special-top{line-height:10px}#app .chain-history{overflow:hidden;white-space:nowrap}#app .initiative-banner:has(.boss-tokens){grid-column:1/3}#app .initiative-banner:has(.boss-tokens)+.quest-strip{display:none}#app .boss-tokens{margin-left:auto;font-size:12px}}
@media(min-width:1000px){.map-page{padding:20px 30px}.map-page .section-title h1{font-size:26px;margin:3px 0}.map-page .section-title p{font-size:12px}.map-page .section-title{margin-bottom:8px}.map-page .boss-notice{padding:10px;margin:8px 0}.map-page .boss-notice strong{font-size:17px}}

.special-card{user-select:none}.card-hover{user-select:none}#app .compact .upgrade-note{display:none}#app .compact>strong{flex-shrink:0}#app .special-hand{overflow-y:hidden}

@media(min-width:1000px) and (min-height:600px){#app .initiative-banner .boss-tokens{font-size:12px;color:#f2d58c;white-space:nowrap}}
.route-lines line.reachable{stroke:#cce8a0;opacity:.9;stroke-width:2}.route-lines line.focus{stroke:#ecd28e;opacity:1;stroke-width:2.5}
@media(min-width:1000px) and (min-height:600px) and (max-height:679px){#app .battle-layout{padding:8px 16px;grid-template-rows:56px 25px minmax(150px,1fr) 170px 64px;gap:4px 12px}#app .hands-area{height:170px;max-height:170px}#app .hand-label{height:22px}#app .hand-sort{height:24px}#app .poker-hand{height:100px;padding-top:10px}#app .special-hand{height:128px}#app .special-card.compact{min-height:116px;max-height:116px}#app .compact .special-art{height:22px;min-height:22px}#app .left-tools,#app .right-tools{height:20px;min-height:0}#app .combat-controls{padding:6px 10px}#app .combat-controls .health-sub{display:none}#app .table-center{grid-template-rows:14px 24px minmax(110px,1fr) 24px;padding-top:6px}#app .opponent-hand{height:24px}#app .opponent-hand .poker-card{width:17px!important;height:23px!important}#app .community-cards{margin:3px 0}#app .community-cards .poker-card{width:52px!important;height:70px!important}#app .board-read{margin:1px 0}#app .community-zone{padding:1px 10px}#app .challenge-title h2{font-size:22px}#app .challenge-zone{padding:4px 12px}#app .phase-label{font-size:11px}}
@media(min-width:1000px) and (min-height:600px) and (max-height:679px){#app .opponent .health-sub,#app .combat-controls .selection-preview>small{display:none}#app .opponent-hand .card-back{overflow:hidden}#app .opponent-hand .card-back span{font-size:12px}}
