/* Physical table: fixer on the left, controlled gigs above, legends and eddies below. */
.table-battle{grid-template-columns:minmax(0,1fr) 258px;max-width:1720px;padding:16px 22px;gap:16px}.table-battle .board{overflow:visible;background:#0b1017;border-color:#373b31}.table-battle .seat{padding:9px 15px}.table-battle .seat-name{font-size:12px}.table-battle .resource b{font-size:17px}.table-battle .opponent-hand{height:28px;padding:0 14px 5px;gap:3px;justify-content:flex-end}.opponent-hand>.nc-back{width:15px;height:22px;border-radius:2px;opacity:.6}.opponent-hand .nc-back span{font-size:7px}.opponent-hand .nc-back small{display:none}.opponent-hand>.note{margin-left:8px;font-size:9px}.playmat{--zone:#d9d34a;--zone-dim:#8b862e70;--card-w:82px;--card-h:114px;display:grid;grid-template-columns:55px minmax(0,1fr) 61px;grid-template-rows:auto minmax(125px,auto) auto;gap:7px;margin:0 12px 10px;padding:8px;border:1px solid var(--zone-dim);border-radius:9px 2px 9px 2px;background:radial-gradient(circle at 50% 0,#222c2d33,transparent 65%),radial-gradient(#92953915 .7px,transparent .7px);background-size:auto,14px 14px;position:relative}.enemy-mat{--zone:#da7d85;--zone-dim:#a663634c;--card-w:64px;--card-h:89px;grid-template-rows:auto minmax(98px,auto) auto}.mat-zone-heading{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:4px 7px;color:var(--zone);font:700 10px Rajdhani,'Noto Sans KR';letter-spacing:.6px;min-height:22px}.mat-zone-heading small{font:400 9px 'Noto Sans KR';letter-spacing:0;color:#93a29e}.mat-zone-heading b{font-size:12px}.mat-gigs,.mat-field,.mat-fixer,.legend-zone,.eddies-zone{border:1px solid var(--zone-dim);border-radius:4px;background:#0c1119bb;min-width:0}.mat-gigs{grid-column:2;grid-row:1;min-height:68px}.mat-gigs>.mat-zone-heading{border-bottom:1px solid #ffffff06}.controlled-dice{display:flex;align-items:center;gap:8px;padding:3px 8px 5px;min-height:42px;flex-wrap:wrap}.zone-empty-note{color:#758179;font-size:10px;line-height:1.8;padding:7px 2px}.mat-fixer{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-bottom:4px}.mat-fixer .mat-zone-heading{justify-content:center}.fixer-dice{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;justify-content:space-around;width:100%;padding:2px 0}.mat-fixer>small{font:700 9px Rajdhani;letter-spacing:2px;color:var(--zone);margin-top:4px}.mat-fixer.awaiting-die{border-color:var(--yellow);box-shadow:0 0 18px #f1ed4019}.die-token{width:37px;height:38px;position:relative;padding:0;border:0;border-radius:5px;background:transparent;flex:none;overflow:visible}.die-token:disabled{opacity:1;cursor:default}.die-token:disabled:hover{background:transparent}.table-die{width:100%;height:100%;position:relative;color:var(--yellow);font-family:Rajdhani,sans-serif;display:grid;place-items:center;filter:drop-shadow(0 2px 3px #0009)}.table-die.enemy{color:#ec99a0}.polyhedron{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#181c1a;stroke:currentColor;stroke-width:1.6}.polyhedron path{stroke:currentColor;stroke-width:.7;opacity:.23;fill:none}.die-value{font-size:21px;font-weight:700;line-height:1;z-index:1;margin-top:-4px}.table-die small{position:absolute;bottom:4px;font-size:8px;line-height:1;opacity:.6}.table-die.unrolled .die-value{font-size:15px;margin-top:0}.table-die.unrolled .polyhedron{fill:#13191b}.die-token:disabled .unrolled{opacity:.55}.die-token.pickable{background:#fff53908;outline:1px solid #eee83c77;outline-offset:2px;box-shadow:0 0 13px #e8e34d33;animation:choice-glow 1.6s ease-in-out infinite}.die-token.pickable:hover{background:#f1ed4033;transform:translateY(-2px);outline-color:var(--yellow)}.die-token.pickable .table-die{color:#fff984}.used-die-slot{width:37px;height:35px;border:1px dashed #6c73632c;color:#545b58;display:flex;flex-direction:column;justify-content:center;align-items:center;font:600 11px Rajdhani}.used-die-slot small{font:8px 'Noto Sans KR';color:#4b534f}.mat-field{grid-column:2;grid-row:2}.field-cards{display:flex;gap:9px;align-items:flex-start;flex-wrap:wrap;min-height:calc(var(--card-h) + 10px);padding:5px 7px 8px}.field-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:100%;min-height:calc(var(--card-h) - 6px);font-size:10px;color:#647067;letter-spacing:.2px}.field-placeholder>span{font:200 26px Rajdhani;color:#b3ba5e55}.mat-piles{grid-column:3;grid-row:1/4;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;align-items:stretch;padding:0 1px 1px}.deck-pile,.trash-pile{height:86px;position:relative;border:1px solid var(--zone-dim);border-radius:4px;padding:0;background:#0a0f17;overflow:hidden}.deck-pile{box-shadow:3px -3px 0 -1px #121817,3px -3px 0 0 var(--zone-dim),6px -6px 0 -1px #121817,6px -6px 0 0 #807b3533}.deck-pile>.nc-back{width:100%;height:100%}.deck-pile>span,.trash-pile>span:last-child{position:absolute;bottom:0;left:0;right:0;padding:4px 1px;background:#0a1018ed;color:var(--zone);font-size:9px;text-align:center;border-top:1px solid var(--zone-dim)}.trash-pile img{width:100%;height:100%;object-fit:cover}.trash-icon{display:block;font-size:30px;color:#6d7350;margin-bottom:15px}.mat-resources{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(196px,.9fr) minmax(0,1.35fr);gap:7px}.legend-zone{--card-w:57px;--card-h:79px}.legend-slots{display:flex;justify-content:space-around;gap:5px;padding:4px 6px 6px;min-height:89px}.empty-legend-slot{width:var(--card-w);height:var(--card-h);border:1px dashed var(--zone-dim);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#646747;font:600 20px Rajdhani}.empty-legend-slot small{font:8px 'Noto Sans KR';opacity:.65}.eddies-zone{border-color:#5e848277;background:#10202744}.eddies-zone .mat-zone-heading{color:var(--cyan)}.eddie-cards{display:flex;gap:7px;align-items:flex-start;padding:4px 8px 8px;min-height:89px;overflow-x:auto;scrollbar-width:thin}.eddie-card{width:49px;height:74px;position:relative;flex:none;border:1px solid #50d8d677;border-radius:3px;background:#111d24;box-shadow:0 3px 6px #0005;overflow:hidden}.eddie-card>.nc-back{width:100%;height:100%;border:0;--back-ink:#68c9c2}.eddie-card .nc-back>span{font-size:18px;opacity:.45}.eddie-card .nc-back>small{display:none}.eddie-value{position:absolute;top:9px;left:0;right:0;text-align:center;font:700 28px Rajdhani;color:#b8f7ea;text-shadow:0 2px 6px #000}.eddie-card>small{position:absolute;bottom:0;left:0;right:0;background:#122b2d;padding:3px;text-align:center;color:#a0e0d6;font-size:8px}.eddie-card.spent{transform:rotate(7deg) translateY(2px);filter:saturate(.3);border-color:#555c5c;opacity:.6}.eddie-card.spent .nc-back{filter:brightness(.65)}.eddie-card.spent>small{background:#1c252b;color:#a4acb3}.eddies-empty{font-size:10px;line-height:1.9;color:#73928e;align-self:center;padding-left:5px}.enemy-mat .legend-zone{--card-w:46px;--card-h:64px}.enemy-mat .mat-resources{grid-template-columns:minmax(162px,.9fr) minmax(0,1.35fr)}.enemy-mat .legend-slots,.enemy-mat .eddie-cards{min-height:73px}.enemy-mat .eddie-card{width:39px;height:61px}.enemy-mat .eddie-value{font-size:23px}.enemy-mat .deck-pile,.enemy-mat .trash-pile{height:72px}.enemy-mat .mat-gigs{min-height:59px}.enemy-mat .controlled-dice{min-height:32px}.enemy-mat .die-token{width:31px;height:32px}.enemy-mat .used-die-slot{height:28px;width:31px}.enemy-mat .table-die .die-value{font-size:18px}.enemy-mat .table-die.unrolled .die-value{font-size:12px}.enemy-mat .table-die small{font-size:7px;bottom:3px}
.nc-back{--back-ink:#c8c342;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;position:relative;overflow:hidden;color:var(--back-ink);background:repeating-linear-gradient(135deg,#a7b54708 0 1px,transparent 1px 9px),radial-gradient(ellipse at center,#263527,#0a1019 72%);border:1px solid #d9d34a44;min-height:0}.nc-back:before{content:'';position:absolute;inset:5px;border:1px solid currentColor;opacity:.35;clip-path:polygon(0 0,70% 0,100% 20%,100% 100%,20% 100%,0 85%)}.nc-back>span{font:700 28px Rajdhani;letter-spacing:-2px;transform:skew(-10deg);line-height:1}.nc-back>small{font:600 6px Rajdhani;letter-spacing:1.4px}.card-stack{width:var(--card-w,94px);height:calc(var(--card-h,132px) + var(--gear-count,0)*24px);flex:none;position:relative;isolation:isolate}.card-stack .game-card{display:block;width:var(--card-w,94px);height:var(--card-h,132px);margin:0;border-radius:4px;z-index:20;border-width:1px;transform:none;overflow:hidden;box-shadow:0 4px 8px #0007}.card-stack .game-card img{width:100%;height:calc(100% - 18px);object-fit:cover;object-position:top}.card-stack .game-card .card-caption{height:18px;display:block;position:absolute;bottom:0;left:0;right:0;padding:2px 4px;background:#111a20;font-size:8px;line-height:14px;border-top-width:1px}.card-stack .game-card>.nc-back{height:100%;width:100%}.card-stack .game-card .power{bottom:21px;font-size:20px;min-width:22px;right:3px}.card-stack .game-card .card-state{font-size:7px;padding:2px 3px;left:3px;top:3px}.card-stack .game-card.spent:after{display:none}.spent-label{position:absolute;top:40%;left:0;right:0;transform:rotate(-12deg);text-align:center;font-size:13px;letter-spacing:3px;font-weight:800;text-shadow:0 2px 8px #000;color:#eee;pointer-events:none}.card-stack .game-card.spent>.nc-back{filter:brightness(.5)}.card-stack .game-card.selected{border:2px solid var(--yellow);box-shadow:0 0 0 2px #f1ed4033,0 0 18px #ecef3a33}.card-stack.selected-stack{z-index:3}.under-gear{position:absolute;left:2px;top:calc(var(--gear-index)*24px);width:calc(100% - 4px);height:var(--card-h,132px);padding:0;overflow:hidden;border:1px solid var(--card-color,#5abdc7);border-radius:4px;background:#14242b;box-shadow:0 3px 6px #0009}.under-gear img{height:100%;width:100%;object-fit:cover;object-position:bottom;filter:brightness(.75)}.under-gear>span{position:absolute;left:0;right:0;bottom:0;height:15px;line-height:14px;padding:0 3px;text-align:left;background:#182931f2;border-top:1px solid var(--card-color,#5abdc7);font-size:7px;color:#d2e9eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.under-gear>span b{float:right;color:var(--card-color);margin-left:3px}.under-gear:hover{filter:brightness(1.5);border-color:var(--yellow)}.table-battle .hand-zone{--card-w:94px;--card-h:132px;padding:10px 14px 13px;background:#0b131c;border-radius:0 0 5px 5px}.table-battle .hand{min-height:146px;padding:8px 2px 4px;gap:10px}.table-battle .midline{padding:9px 14px;background:linear-gradient(90deg,#192427,#0d151d);border-color:#65725366}.motion-control{font-size:9px;display:flex;flex-direction:column;gap:3px;color:#94a4ac}.motion-control select{font-size:10px;padding:5px;max-width:85px}.table-battle .midline .primary{font-size:12px;white-space:nowrap}.board-decision{display:flex;gap:9px;align-items:center;padding:9px 15px;background:#c7bf2a11;color:#f2ee83;border-bottom:1px solid #d6cf3b44;font-size:11px;line-height:1.7}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--yellow);box-shadow:0 0 12px var(--yellow);flex:none;animation:choice-glow 1.6s ease-in-out infinite}.table-battle .inspector{min-height:210px}.table-legend{display:flex;flex-direction:column;gap:10px;margin-top:20px;font-size:10px;color:#a0ada7}.inspect-back{height:180px;width:128px;margin:14px auto}.inspect-back .nc-back{width:100%;height:100%}.inspector-gears{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.inspector-gears button{display:flex;align-items:center;gap:8px;padding:5px;font-size:10px;margin-bottom:5px;width:100%;text-align:left}.inspector-gears img{height:40px;width:29px;object-fit:cover}.table-battle .log-list{max-height:360px}
#card-actions{position:fixed;z-index:16;display:flex;align-items:stretch;gap:5px;padding:6px;border:1px solid #e9e447;background:#111b23f5;border-radius:5px;box-shadow:0 8px 25px #000b,0 0 16px #e8e04422;max-width:calc(100vw - 16px)}#card-actions[hidden]{display:none!important}#card-actions:after{content:'';position:absolute;left:calc(50% - 5px);bottom:-6px;width:10px;height:10px;transform:rotate(45deg);border-right:1px solid #e9e447;border-bottom:1px solid #e9e447;background:#111b23}#card-actions button{font-size:11px;padding:9px 11px;white-space:nowrap;border-radius:3px}.effect-layer{position:fixed;inset:0;z-index:60;pointer-events:auto;overflow:hidden;background:#050a100d}.effect-label{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:11px 20px;border:1px solid #e9e44777;border-radius:4px;background:#0a131df2;box-shadow:0 6px 30px #0009;color:#fff497;font-size:13px;font-weight:700;white-space:nowrap}.flying-card{position:fixed;perspective:1100px;filter:drop-shadow(0 10px 18px #000b)}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.flip-inner.is-back{transform:rotateY(180deg)}.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #e5e18f;border-radius:7px;overflow:hidden;background:#121a21}.flip-face>img{width:100%;height:100%;object-fit:cover}.flip-back{transform:rotateY(180deg)}.flip-back>.nc-back{width:100%;height:100%}.flip-back .nc-back>span{font-size:50px}.flip-back .nc-back>small{font-size:9px}.rolling-die,.travelling-die{position:fixed;filter:drop-shadow(0 8px 9px #000a);will-change:transform}.rolling-die{width:84px;height:84px}.rolling-die .die-value{font-size:43px}.rolling-die .table-die small{font-size:12px;bottom:10px}.rolling-die.enemy .table-die,.travelling-die.enemy .table-die{color:#ef919c}.effect-source-hidden{visibility:hidden!important}.zone-arrival{animation:arrive .5s ease-out}@keyframes choice-glow{0%,100%{box-shadow:0 0 5px #e8e34d22}50%{box-shadow:0 0 17px #e8e34d55}}@keyframes arrive{from{box-shadow:inset 0 0 24px #efed4a55}to{box-shadow:inset 0 0 0 transparent}}
@media(min-width:901px){.table-battle .side-panel{position:sticky;top:10px;align-self:start;max-height:calc(100vh - 20px);overflow-y:auto;scrollbar-width:thin}.table-battle .log-list{max-height:220px}}
@media(min-width:1500px){.table-battle{grid-template-columns:minmax(0,1fr) 290px}.playmat{--card-w:91px;--card-h:127px}.enemy-mat{--card-w:70px;--card-h:98px}}
@media(max-width:1100px){.table-battle{grid-template-columns:minmax(0,1fr) 220px;padding:10px;gap:10px}.playmat{margin:0 8px 8px;grid-template-columns:46px minmax(0,1fr) 49px;gap:5px;padding:6px}.mat-resources{grid-template-columns:minmax(179px,1fr) minmax(0,1fr)}.legend-zone{--card-w:51px;--card-h:71px}.legend-slots{min-height:82px}.eddie-cards{min-height:82px}.mat-zone-heading{font-size:8px;letter-spacing:.2px;padding:4px 5px}.enemy-mat .mat-resources{grid-template-columns:minmax(145px,1fr) minmax(0,1fr)}.enemy-mat .legend-zone{--card-w:40px;--card-h:56px}.legend-slots{gap:4px;padding:4px}.enemy-mat .legend-slots{min-height:64px}.enemy-mat .eddie-cards{min-height:64px}.enemy-mat .eddie-card{height:54px;width:34px}.table-battle .inspector{padding:12px}}
@media(max-width:900px){.table-battle{display:block;padding:10px;max-width:850px}.table-battle .side-panel{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;align-items:start}.table-battle .battle-bottom{grid-column:1/-1}.table-battle .inspector .inspect-art{height:170px}.playmat{--card-w:80px;--card-h:111px}.enemy-mat{--card-w:60px;--card-h:84px}.table-battle .log-list{max-height:260px}}
@media(max-width:600px){.table-battle{padding:6px}.playmat{--card-w:64px;--card-h:90px;grid-template-columns:37px minmax(0,1fr) 36px;grid-template-rows:auto minmax(106px,auto) auto;gap:4px;padding:4px;margin:0 5px 7px}.enemy-mat{--card-w:51px;--card-h:72px;grid-template-rows:auto minmax(90px,auto) auto}.mat-gigs{min-height:61px}.mat-fixer .mat-zone-heading{font-size:8px}.die-token{width:29px;height:32px}.table-die .die-value{font-size:18px}.table-die.unrolled .die-value{font-size:12px}.used-die-slot{width:28px;height:31px}.fixer-dice{gap:4px}.controlled-dice{gap:5px;padding:3px 5px 5px}.zone-empty-note{font-size:8px;letter-spacing:-.2px}.mat-zone-heading{font-size:7px;letter-spacing:0;padding:3px 4px;min-height:19px}.mat-zone-heading small{font-size:7px}.mat-zone-heading b{font-size:10px}.mat-field>.mat-zone-heading small{display:none}.field-cards{gap:6px;padding:5px;min-height:100px}.field-placeholder{font-size:8px;min-height:85px}.mat-resources{grid-template-columns:minmax(116px,.95fr) minmax(0,1fr);gap:4px}.legend-zone{--card-w:33px;--card-h:47px}.legend-slots{min-height:57px;gap:3px;padding:4px 3px}.legend-stack .game-card .card-caption{font-size:5px;height:12px;line-height:9px;padding:1px 2px}.legend-stack .game-card img{height:calc(100% - 12px)}.legend-stack .nc-back>span{font-size:17px}.legend-stack .nc-back>small{display:none}.empty-legend-slot{font-size:13px}.empty-legend-slot small{font-size:5px}.eddie-cards{min-height:57px;gap:5px;padding:4px 5px}.eddie-card{width:29px;height:46px}.eddie-value{font-size:18px;top:5px}.eddie-card>small{font-size:6px;padding:2px}.eddies-empty{font-size:7px;padding-left:0}.mat-piles{gap:8px;padding-right:1px}.deck-pile,.trash-pile{height:55px}.deck-pile>span,.trash-pile>span:last-child{font-size:7px;padding:3px 0}.deck-pile .nc-back>span{font-size:17px}.deck-pile .nc-back>small{display:none}.trash-icon{font-size:22px}.enemy-mat .legend-zone{--card-w:31px;--card-h:44px}.enemy-mat .mat-resources{grid-template-columns:minmax(110px,.95fr) minmax(0,1fr)}.enemy-mat .legend-slots,.enemy-mat .eddie-cards{min-height:54px}.enemy-mat .eddie-card{height:43px;width:27px}.enemy-mat .eddie-value{font-size:17px}.enemy-mat .die-token{width:27px;height:28px}.enemy-mat .deck-pile,.enemy-mat .trash-pile{height:50px}.enemy-mat .used-die-slot{width:26px;height:25px}.enemy-mat .mat-gigs{min-height:54px}.enemy-mat .field-cards{min-height:81px}.enemy-mat .field-placeholder{min-height:70px}.table-battle .seat{padding:8px}.table-battle .seat-name{font-size:10px}.table-battle .seat-name small{display:none}.table-battle .resource{gap:4px;font-size:8px}.table-battle .resource b{font-size:14px;margin:0 1px}.table-battle .midline{padding:8px;gap:5px}.table-battle .phase-title{font-size:10px;max-width:210px}.table-battle .turn-info{font-size:10px}.table-battle .midline .row{gap:5px}.table-battle .midline .primary{font-size:10px;padding:10px 7px}.motion-control{font-size:8px}.motion-control select{font-size:8px;padding:4px;max-width:63px}.table-battle .hand-zone{--card-w:76px;--card-h:107px;padding:9px}.table-battle .hand{min-height:120px;gap:8px}.board-decision{font-size:9px;padding:7px 9px}.card-stack .game-card .card-caption{font-size:7px}.card-stack .game-card .power{font-size:17px;min-width:20px}.card-stack .game-card .card-state{font-size:6px;padding:2px}.table-battle .side-panel{grid-template-columns:1fr}.table-battle .inspector .inspect-art{height:190px}.effect-label{max-width:94vw;font-size:11px;padding:10px 13px;bottom:20px}#card-actions button{font-size:10px;padding:9px 8px}#card-actions{gap:4px;padding:5px}.under-gear>span{font-size:6px}.spent-label{font-size:10px}.legend-stack .spent-label{font-size:7px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.die-token.pickable,.pulse-dot{animation:none}.zone-arrival{animation:none}*{scroll-behavior:auto!important}}
