/* Larger tabletop cards, an animated hand, and readable decisions. */
.table-battle{grid-template-columns:minmax(0,1fr) 342px;max-width:1880px;padding:12px 18px;gap:16px}.playmat{--card-w:110px;--card-h:154px;grid-template-columns:61px minmax(0,1fr) 76px;grid-template-rows:auto minmax(182px,auto) auto;margin:0 10px 12px;padding:8px;gap:8px}.enemy-mat{--card-w:96px;--card-h:135px;grid-template-rows:auto minmax(158px,auto) auto}.field-cards{gap:13px;padding:8px 10px 12px;min-height:calc(var(--card-h) + 20px)}.mat-zone-heading{font-size:11px;min-height:27px;padding:5px 8px}.mat-zone-heading small{font-size:10px}.mat-gigs{min-height:77px}.controlled-dice{min-height:47px;gap:10px}.die-token{width:42px;height:43px}.table-die.unrolled .die-value{font-size:17px}.table-die .die-value{font-size:25px}.used-die-slot{width:42px;height:40px;font-size:13px}.enemy-mat .die-token{width:37px;height:38px}.enemy-mat .used-die-slot{width:37px;height:34px}.enemy-mat .mat-gigs{min-height:69px}.enemy-mat .table-die .die-value{font-size:23px}.enemy-mat .table-die.unrolled .die-value{font-size:15px}.mat-fixer>small{font-size:10px}.mat-resources{grid-template-columns:minmax(355px,1.25fr) minmax(0,1fr);gap:8px}.legend-zone{--card-w:78px;--card-h:110px}.legend-slots{min-height:128px;gap:9px;align-items:center;padding:8px}.enemy-mat .legend-zone{--card-w:68px;--card-h:96px}.enemy-mat .mat-resources{grid-template-columns:minmax(316px,1.2fr) minmax(0,1fr)}.enemy-mat .legend-slots{min-height:114px}.empty-legend-slot small{font-size:9px}.deck-pile,.trash-pile{height:108px}.enemy-mat .deck-pile,.enemy-mat .trash-pile{height:94px}.deck-pile>span,.trash-pile>span:last-child{font-size:11px;padding:5px}.mat-piles{gap:14px}.table-battle .seat-name{font-size:14px}.table-battle .resource{font-size:12px}.table-battle .resource b{font-size:21px}.table-battle .seat{padding:10px 15px}
.card-stack{width:var(--card-w,110px);height:calc(var(--card-h,154px) + var(--gear-count,0)*24px);transition:width .25s ease;flex:none}.card-stack.is-spent{width:calc(var(--card-h,154px) + var(--gear-count,0)*24px)}.card-pose{width:var(--card-w,110px);height:calc(var(--card-h,154px) + var(--gear-count,0)*24px);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(0);transform-origin:50% 50%}.card-stack.is-spent>.card-pose{transform:translate(-50%,-50%) rotate(90deg)}.card-stack .game-card{width:var(--card-w,110px);height:var(--card-h,154px)}.card-stack .game-card img{height:calc(100% - 23px)}.card-stack .game-card .card-caption{font-size:11px;height:23px;line-height:18px;padding:2px 5px}.card-stack .game-card .power{font-size:25px;min-width:29px;bottom:28px}.card-stack .game-card .card-state{font-size:9px;padding:3px 5px}.card-stack .game-card.spent img{filter:brightness(.88) saturate(.9)}.card-stack .game-card.spent>.nc-back{filter:brightness(.82)}.spent-label,.game-card.spent:after{display:none!important}.legend-stack .game-card .card-caption{font-size:8px;height:18px;line-height:14px}.legend-stack .game-card img{height:calc(100% - 18px)}.under-gear>span{font-size:9px;height:17px;line-height:16px}.under-gear{height:var(--card-h,154px)}.eddie-cards{padding:8px 10px;min-height:123px;gap:10px;align-items:center}.eddie-slot{position:relative;width:58px;height:88px;flex:none}.eddie-slot.is-spent{width:82px}.eddie-card{width:58px;height:82px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(0);border-color:#50d8d677}.eddie-card.spent{transform:translate(-50%,-50%) rotate(90deg);opacity:.85;filter:saturate(.7)}.eddie-card.spent .nc-back{filter:brightness(.85)}.eddie-card>small{font-size:10px;height:21px}.eddie-value{font-size:32px;top:12px}.eddie-cards>.effect-landing{position:relative;left:auto;top:auto;transform:none;flex:none}.enemy-mat .eddie-cards{min-height:110px}.enemy-mat .eddie-slot{width:49px;height:77px}.enemy-mat .eddie-slot.is-spent{width:70px}.enemy-mat .eddie-card{width:49px;height:70px}.enemy-mat .eddie-value{font-size:28px}.enemy-mat .eddie-card>small{font-size:8px;height:18px}.table-battle .hand-zone{--card-w:148px;--card-h:208px;padding:16px 18px 8px;position:relative;background:radial-gradient(ellipse at 50% 100%,#27362e88,#0c141e 80%);border-top:1px solid #738f6844;isolation:isolate}.hand-zone .zone-label{font-size:12px;letter-spacing:1.7px}.hand-zone>.row .note{font-size:12px}.table-battle .hand{position:relative;display:block;height:300px;min-height:300px;overflow:visible;padding:0;margin:0 0 4px;touch-action:pan-y}.hand>.card-stack{position:absolute;left:calc(50% - var(--card-w)/2);top:54px;transform:translate(var(--fan-x,0px),var(--fan-y,0px)) rotate(var(--fan-angle,0deg));transform-origin:50% 105%;z-index:var(--fan-z,1);transition:transform .26s cubic-bezier(.2,.85,.2,1),filter .22s;will-change:transform}.hand>.card-stack.selected-stack{transform:translate(var(--fan-x),calc(var(--fan-y) - 20px)) rotate(0) scale(1.06);z-index:100}.hand>.card-stack.hand-hovered{transform:translate(var(--fan-x),-25px) rotate(var(--pointer-tilt,0deg)) scale(1.17);z-index:120;filter:drop-shadow(0 12px 14px #0008)}.hand .game-card:hover{border-color:var(--yellow)}.hand .game-card .card-caption{font-size:12px;height:26px;line-height:20px;padding:3px 6px}.hand .game-card img{height:calc(100% - 26px)}.table-is-animating .hand>.card-stack{transform:translate(var(--fan-x),var(--fan-y)) rotate(var(--fan-angle));pointer-events:none}.hand>.note{padding-top:80px;text-align:center}.hand:has(.hand-hovered) .card-stack:not(.hand-hovered):not(.selected-stack){filter:brightness(.86)}#card-actions{z-index:18}#card-actions button{font-size:12px;padding:11px 14px}
.table-battle .side-panel{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);gap:10px;overflow:visible;display:flex;flex-direction:column}.table-battle .inspector{padding:20px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin}.inspector .eyebrow{font-size:12px}.inspect-zoom{border:0;padding:0;background:transparent;display:block;width:100%;margin:12px 0 15px}.table-battle .inspector .inspect-art{width:100%;height:260px;max-height:none;margin:0;object-fit:contain;filter:drop-shadow(0 5px 13px #0006)}.table-battle .inspector h3{font-size:20px;line-height:1.5;margin:14px 0 8px}.table-battle .inspector .note{font-size:13px;line-height:1.8}.table-battle .inspector .rules-text{font-size:16px;line-height:1.95;color:#e0e7eb}.table-battle .card-stats{gap:8px;margin:14px 0}.table-battle .card-stats .badge{font-size:12px;padding:5px 8px;color:#bbc9d2}.inspector-gears button{font-size:12px}.table-legend{font-size:12px;line-height:1.6}.log-drawer{border:1px solid #3c4e55;border-radius:5px;background:#111a23;flex:none;overflow:hidden}.log-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 16px;border:0;border-radius:0;background:#17242d;font-size:13px;text-align:left}.log-toggle small{font:600 12px Rajdhani;color:#829ca9;margin-left:7px}.log-drawer.is-open .log-toggle{border-bottom:1px solid var(--line);color:var(--cyan)}#battle-log[hidden]{display:none}.table-battle .log-list{max-height:220px;padding:5px 14px}.log-entry{font-size:12px;line-height:1.8}.battle-bottom{flex:none;align-items:center}.battle-bottom button{font-size:11px}.modal-backdrop{background:#03070b50;backdrop-filter:blur(.4px);-webkit-backdrop-filter:blur(.4px);padding:26px}.decision-shell{display:flex;align-items:flex-start;justify-content:center;gap:24px;width:100%;max-width:1130px;max-height:92vh}.decision-shell>.modal{flex:1;max-width:790px;width:100%;max-height:88vh;padding:30px;background:#111a22fa;box-shadow:0 14px 65px #0009}.decision-shell>.effect-origin{width:230px;flex:none;padding:16px;background:#111c25f5;border:1px solid #64d7d36b;border-radius:9px;max-height:88vh;overflow:auto;box-shadow:0 8px 30px #0008;transform:rotate(-2deg);scrollbar-width:thin}.effect-origin>.eyebrow{letter-spacing:1px;font-size:11px;margin-bottom:12px}.effect-origin>img{display:block;width:100%;max-height:275px;object-fit:contain;border-radius:6px;filter:drop-shadow(0 5px 7px #0009)}.effect-origin>h3{font-size:15px;line-height:1.7;margin:12px 0 9px}.effect-origin>.rules-text{font-size:13px;line-height:1.8;color:#d4e5e8}.modal .description{font-size:14px;line-height:1.8}.modal h2{font-size:23px}.choice{font-size:13px;line-height:1.8}.choice .note{font-size:12px}.modal-cards{padding:10px 2px}.modal-cards .card-stack{--card-w:113px;--card-h:158px}.modal-cards .game-card{width:113px}.modal-cards .game-card img{height:135px}.modal .rules-text{font-size:16px;line-height:1.9}
.effect-turn{background:#04080e25;--turn-color:var(--yellow)}.effect-turn.enemy-effect{--turn-color:var(--red)}.turn-banner{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:25px;width:min(610px,92vw);padding:28px 40px;border-top:2px solid var(--turn-color);border-bottom:2px solid var(--turn-color);background:linear-gradient(100deg,#15212df5,#090f17fa);box-shadow:0 0 70px #000a;clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px)}.turn-emblem{width:86px;height:86px;display:grid;place-items:center;border:2px solid var(--turn-color);color:var(--turn-color);transform:rotate(45deg);flex:none;box-shadow:0 0 28px color-mix(in srgb,var(--turn-color),transparent 80%)}.turn-emblem>span{font:700 47px Rajdhani;transform:rotate(-45deg)}.turn-banner-copy{display:flex;flex-direction:column;gap:7px}.turn-banner-copy>small{font:600 12px Rajdhani;letter-spacing:2px;color:#a3b3c0}.turn-banner-copy>strong{font-size:38px;font-weight:900;color:var(--turn-color);line-height:1.35}.turn-banner-copy>span{font-size:12px;color:#a3b3c0}.turn-ending{padding-top:22px;padding-bottom:22px}.turn-ending .turn-banner-copy>strong{font-size:32px}.turn-ending .turn-emblem{width:66px;height:66px}.effect-spend,.effect-ready{background:transparent}.combat-vector{position:fixed;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 8px var(--combat-color));pointer-events:none}.combat-line{fill:none;stroke-width:5;stroke-linecap:round}.effect-impact .combat-line{stroke-width:8}.combat-origin{position:fixed;width:70px;height:70px;transform:translate(-50%,-50%);border:2px solid var(--combat-color);border-radius:50%;box-shadow:0 0 22px var(--combat-color),inset 0 0 16px color-mix(in srgb,var(--combat-color),transparent 70%)}.combat-impact,.combat-shield{position:fixed;left:0;top:0;transform:translate(-50%,-50%);color:var(--combat-color);width:115px;height:115px;border:3px solid currentColor;border-radius:50%;box-shadow:0 0 28px currentColor,inset 0 0 25px currentColor}.combat-impact i{position:absolute;width:4px;height:65%;left:50%;top:18%;background:currentColor;transform:rotate(35deg)}.combat-impact i:nth-child(2){transform:rotate(-35deg)}.combat-impact i:nth-child(3){transform:rotate(90deg)}.combat-impact i:nth-child(4){transform:rotate(0deg)}.combat-shield{border-radius:15px 15px 50% 50%;display:grid;place-items:center;background:#17373c88;width:95px;height:115px;font-size:22px;font-weight:900}.combat-caption{border-color:var(--combat-color);color:var(--combat-color);font-size:15px}.combat-echo{position:fixed;width:76px;height:106px;object-fit:cover;transform:translate(-50%,-50%);border:2px solid var(--combat-color);border-radius:5px;box-shadow:0 0 20px #0008}
@media(min-width:1600px){.table-battle{grid-template-columns:minmax(0,1fr) 380px}.playmat{--card-w:120px;--card-h:168px}.enemy-mat{--card-w:104px;--card-h:146px}.legend-zone{--card-w:86px;--card-h:120px}.enemy-mat .legend-zone{--card-w:76px;--card-h:106px}.table-battle .hand-zone{--card-w:160px;--card-h:225px}.table-battle .hand{height:320px}.mat-resources{grid-template-columns:minmax(385px,1.2fr) minmax(0,1fr)}.enemy-mat .mat-resources{grid-template-columns:minmax(345px,1.2fr) minmax(0,1fr)}}
@media(max-width:1200px){.table-battle{grid-template-columns:minmax(0,1fr) 302px;padding:10px;gap:12px}.playmat{--card-w:98px;--card-h:137px;grid-template-columns:50px minmax(0,1fr) 62px;gap:6px;padding:6px;margin:0 7px 10px}.enemy-mat{--card-w:85px;--card-h:119px}.mat-resources,.enemy-mat .mat-resources{grid-template-columns:1fr}.legend-zone{--card-w:75px;--card-h:105px}.enemy-mat .legend-zone{--card-w:68px;--card-h:95px}.legend-slots{justify-content:flex-start;gap:18px;min-height:120px;padding:8px 14px}.enemy-mat .legend-slots{min-height:110px}.eddie-cards,.enemy-mat .eddie-cards{min-height:93px;padding:6px 12px}.mat-piles{justify-content:flex-start;padding-top:90px}.table-battle .inspector{padding:16px}.table-battle .inspector .inspect-art{height:235px}.table-battle .inspector .rules-text{font-size:15px}.table-battle .hand-zone{--card-w:139px;--card-h:195px}.table-battle .hand{height:286px}.mat-zone-heading{font-size:10px}}
@media(max-width:1000px){.table-battle{display:block;max-width:900px}.table-battle .side-panel{position:static;max-height:none;margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.table-battle .inspector{max-height:none}.table-battle .inspector .inspect-art{height:280px}.battle-bottom{grid-column:1/-1}.mat-resources{grid-template-columns:minmax(350px,1.25fr) minmax(0,1fr)}.enemy-mat .mat-resources{grid-template-columns:minmax(320px,1.2fr) minmax(0,1fr)}.legend-slots{justify-content:space-around;gap:7px;padding:8px}.mat-piles{justify-content:flex-end;padding-top:0}.table-battle .inspector .rules-text{font-size:16px}.decision-shell{gap:14px}.decision-shell>.effect-origin{width:195px;padding:12px}.decision-shell>.modal{padding:24px}.effect-origin>img{max-height:240px}}
@media(max-width:700px){.table-battle{padding:6px}.playmat{--card-w:85px;--card-h:120px;grid-template-columns:40px minmax(0,1fr) 48px;grid-template-rows:auto minmax(146px,auto) auto;gap:5px;padding:5px;margin:0 4px 10px}.enemy-mat{--card-w:74px;--card-h:104px;grid-template-rows:auto minmax(132px,auto) auto}.mat-resources,.enemy-mat .mat-resources{grid-template-columns:1fr;gap:6px}.legend-zone{--card-w:62px;--card-h:87px}.enemy-mat .legend-zone{--card-w:57px;--card-h:80px}.legend-slots{min-height:102px;padding:6px;gap:6px;justify-content:space-around}.enemy-mat .legend-slots{min-height:95px}.card-stack .game-card .card-caption{font-size:9px;line-height:16px;height:21px}.card-stack .game-card img{height:calc(100% - 21px)}.legend-stack .game-card .card-caption{font-size:7px;line-height:12px;height:16px;padding:2px 3px}.legend-stack .game-card img{height:calc(100% - 16px)}.legend-stack .nc-back>span{font-size:27px}.card-stack .game-card .power{font-size:22px;min-width:24px;bottom:25px}.card-stack .game-card .card-state{font-size:8px;padding:2px 3px}.mat-zone-heading{font-size:8px;min-height:24px}.mat-zone-heading small{font-size:8px}.mat-gigs{min-height:70px}.enemy-mat .mat-gigs{min-height:65px}.controlled-dice{gap:7px;min-height:42px}.die-token{width:31px;height:34px}.enemy-mat .die-token{width:29px;height:31px}.used-die-slot{width:29px;height:34px}.enemy-mat .used-die-slot{width:27px;height:30px}.table-die .die-value,.enemy-mat .table-die .die-value{font-size:21px}.table-die.unrolled .die-value,.enemy-mat .table-die.unrolled .die-value{font-size:13px}.fixer-dice{justify-content:flex-start;gap:16px;padding:10px 0}.mat-fixer{justify-content:flex-start}.mat-fixer>small{margin-top:10px}.field-cards{gap:10px;padding:8px;min-height:140px}.enemy-mat .field-cards{min-height:124px}.deck-pile,.trash-pile{height:71px}.enemy-mat .deck-pile,.enemy-mat .trash-pile{height:65px}.deck-pile>span,.trash-pile>span:last-child{font-size:8px}.mat-piles{justify-content:flex-start;padding-top:85px}.eddie-cards{min-height:83px;padding:6px 8px;gap:8px}.eddie-slot{width:46px;height:70px}.eddie-slot.is-spent{width:65px}.eddie-card{width:46px;height:65px}.eddie-value{font-size:26px;top:8px}.eddie-card>small{font-size:8px;height:18px}.enemy-mat .eddie-cards{min-height:76px}.enemy-mat .eddie-slot{width:42px;height:63px}.enemy-mat .eddie-slot.is-spent{width:59px}.enemy-mat .eddie-card{width:42px;height:59px}.enemy-mat .eddie-value{font-size:24px;top:6px}.table-battle .hand-zone{--card-w:122px;--card-h:172px;padding:12px 9px 4px}.table-battle .hand{height:257px;min-height:257px}.hand>.card-stack{top:55px}.hand>.card-stack.hand-hovered{transform:translate(var(--fan-x),-15px) rotate(var(--pointer-tilt,0deg)) scale(1.12)}.hand .game-card .card-caption{font-size:10px;height:24px}.hand .game-card img{height:calc(100% - 24px)}.hand-zone .zone-label{font-size:10px}.hand-zone>.row .note{font-size:9px}.table-battle .seat-name{font-size:11px}.table-battle .resource{font-size:9px;gap:4px}.table-battle .resource b{font-size:17px}.table-battle .seat{padding:8px}.under-gear>span{font-size:7px}.table-battle .side-panel{display:flex;max-height:none;position:static}.table-battle .inspector{width:100%;max-height:none;padding:20px}.table-battle .inspector .inspect-art{height:300px}.log-drawer{width:100%}.battle-bottom{width:100%}.table-battle .phase-title{font-size:12px}.table-battle .midline .primary{font-size:12px;padding:10px}.modal-backdrop{padding:12px}.decision-shell{display:flex;flex-direction:column;gap:10px;max-height:94vh;overflow:auto;align-items:stretch}.decision-shell>.effect-origin{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:13px;width:100%;max-height:none;transform:none;flex:none;padding:12px}.effect-origin>.eyebrow{grid-column:2;grid-row:1;font-size:10px;margin:0 0 4px}.effect-origin>img{grid-column:1;grid-row:1/4;width:88px;height:124px;object-fit:contain}.effect-origin>h3{grid-column:2;grid-row:2;font-size:14px;margin:0 0 4px}.effect-origin>.rules-text{grid-column:2;grid-row:3;font-size:12px;line-height:1.7;max-height:120px;overflow:auto}.decision-shell>.modal{flex:none;max-height:none;padding:20px 16px}.modal h2{font-size:20px}.modal .description{font-size:13px}.choice{flex-basis:120px;font-size:12px}.choice img{max-height:165px}.turn-banner{gap:20px;padding:24px}.turn-emblem{width:57px;height:57px}.turn-emblem>span{font-size:32px}.turn-banner-copy>strong{font-size:29px}.turn-banner-copy>small{font-size:10px;letter-spacing:1px}.turn-banner-copy>span{font-size:10px}.turn-ending .turn-banner-copy>strong{font-size:25px}.turn-ending .turn-emblem{width:48px;height:48px}.combat-caption{font-size:12px;white-space:normal;text-align:center;width:max-content;max-width:92vw}.combat-impact{width:85px;height:85px}#card-actions button{font-size:11px;padding:10px 11px}}
@media(max-width:390px){.legend-zone{--card-w:56px;--card-h:79px}.enemy-mat .legend-zone{--card-w:52px;--card-h:73px}.legend-slots{gap:4px;padding:5px}.table-battle .hand-zone{--card-w:115px;--card-h:163px}.playmat{grid-template-columns:35px minmax(0,1fr) 40px;gap:4px}.mat-zone-heading{font-size:7px}.table-battle .hand{height:247px;min-height:247px}}
@media(prefers-reduced-motion:reduce){.hand>.card-stack,.card-stack{transition:none}.hand>.card-stack.hand-hovered{transform:translate(var(--fan-x),-14px) rotate(0) scale(1.05)}}
