.table{--dock-height:max(180px,22%)}
.table .hero-card .hero-name{left:3px;right:auto;top:24px;bottom:5px;height:calc(100% - 29px);width:max-content;max-width:26px;padding:2px 1px;background:#102734b3;writing-mode:vertical-rl;text-orientation:mixed;font-size:11px!important;line-height:1.07;font-weight:bold;overflow-wrap:anywhere;word-break:break-all;white-space:normal;text-shadow:0 1px 3px #000;border-radius:2px}
.table.eight .hero-card .hero-name{font-size:10px!important;line-height:1.05;max-width:34px}
.table.eight .hero-card.name-extended{--name-gutter:37px}
.table .hero-card .hand-count{left:var(--name-gutter,29px);font-size:10px}
.equipment-area{position:absolute;z-index:3;left:var(--name-gutter,29px);right:2px;bottom:22px;display:flex;flex-direction:column;gap:1px;pointer-events:auto}
.equip-row{display:flex;justify-content:space-between;align-items:center;gap:2px;min-width:0;height:11px;padding:0 2px;font:clamp(7.5px,2vw,9px)/10px system-ui,sans-serif;background:#112c40ed;border-left:2px solid #c8b379;border-radius:2px;white-space:nowrap}
.equip-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.equip-row b{font-weight:600;color:#efdbac}.equip-row.armor{border-color:#a9cbd4}.equip-row.offensiveMount{border-color:#e1a193}.equip-row.defensiveMount{border-color:#9fceb6}
.table .hero-card.dead{filter:grayscale(1);opacity:.65}.defeated-role{position:absolute;left:30%;right:5%;top:38%;z-index:4;text-align:center;font:bold 12px/1.2 system-ui;color:#fff;background:#14212bda;padding:5px 1px;overflow-wrap:anywhere;transform:rotate(-8deg);border-block:1px solid #c2c7c8}
.hero-card.dying{animation:rescue-pulse .7s ease-in-out infinite;outline:2px solid #fb7d70!important}.rescue-signal{position:absolute;left:28%;right:4%;top:42%;z-index:4;font:bold 15px/1.1 system-ui;text-align:center;color:#fff;background:#a51e2be6;padding:6px 0;text-shadow:0 0 8px #fff;animation:rescue-caption .7s ease-in-out infinite}
@keyframes rescue-pulse{0%,100%{box-shadow:0 0 5px #f9534b}50%{box-shadow:0 0 27px 6px #ff696c}}
@keyframes rescue-caption{50%{opacity:.45}}
.skill-row button.skill-ready{background:linear-gradient(#bba771,#596d61);border-color:#f1d58a;box-shadow:inset 0 0 7px #f3d99e66,0 0 5px #dec38655;animation:skill-notice 1.6s ease-in-out infinite}.skill-row button.skill-unavailable{background:linear-gradient(#46525e,#293946);border-color:#667782;color:#a6b0b7;box-shadow:none;filter:saturate(.15)}
@keyframes skill-notice{50%{box-shadow:inset 0 0 9px #f3d99e99,0 0 8px #dec38688}}
.skill-row button.skill-triggered{outline:1px solid #9ff2cc;box-shadow:0 0 12px #9ff2cc}
.table .hand{padding-top:12px}.hand-card.unplayable .card-face{filter:grayscale(.95) brightness(.69)}.hand-card.playable .card-face{border-color:#efd99a}.hand-card.response-ready{transform:translateY(-6px)}.hand-card.selected{transform:translateY(-10px)}.hand-card.response-ready .card-face{box-shadow:0 0 8px #e9cd83}
.table .actions{left:25.5%;right:25.5%;gap:6px;flex-wrap:nowrap}.table .actions button{flex:1;min-width:0;padding:8px 5px;font-size:11px;overflow-wrap:anywhere}
.card-options{position:absolute;z-index:6;left:27%;right:27%;bottom:calc(var(--dock-height) + 11%);display:flex;flex-wrap:wrap;justify-content:center;gap:4px;font:10px/1.3 system-ui}.card-options:empty{display:none}.card-options select{max-width:100%;width:100%;padding:5px;font:10px system-ui}.card-options label{background:#132d3fde;padding:3px;border-radius:4px}.card-options input{padding:0;vertical-align:middle}
.response-question,.skill-hint{position:absolute;z-index:6;left:26%;right:26%;bottom:calc(var(--dock-height) + 11%);padding:7px;margin:0;font:10px/1.35 system-ui;text-align:center;border:1px solid #dfca8d;border-radius:5px;background:#163346ee;color:#f5e7bf}.skill-hint{border:0;background:#173447c9;color:#ecd19b;font-size:9px;padding:5px}
.table-effects-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.target-arrows{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;animation:arrow-life 1s both;animation-delay:var(--scene-age,0ms)}.target-arrows>path{fill:none;stroke:#ffe0a1;stroke-width:2.7;filter:drop-shadow(0 1px 3px #442915);stroke-linecap:round}.target-arrows defs path{stroke:none}
@keyframes arrow-life{0%{opacity:0}10%,70%{opacity:1}100%{opacity:0}}
.table-scene{position:absolute;left:23%;right:23%;top:36%;text-align:center;animation:scene-life 1s both;animation-delay:var(--scene-age,0ms);pointer-events:none}.table-scene.death{animation-duration:1.5s}.scene-cards{display:flex;justify-content:flex-start;gap:5px;overflow-x:auto;padding:5px 1px;scrollbar-width:none;max-height:119px}.scene-card{position:relative;flex:0 0 65px;min-width:0;aspect-ratio:2/3;border:1px solid #d2b16d;border-radius:4px;background:#f4edd9;color:#142c3a;padding:4px;pointer-events:auto;box-shadow:0 3px 13px #081c2b99}.scene-card:only-child{margin:auto}.scene-card strong{display:block;font:bold 10px/1.2 Georgia;overflow-wrap:anywhere}.scene-card small{display:block;font:9px Georgia}.scene-card img{height:61%;width:100%;object-fit:contain}.table-scene p{display:inline-block;margin:4px 0 0;padding:4px 7px;background:#102a3bdb;border-radius:4px;font:10px/1.3 system-ui;color:#f5dfad}.table-scene.skill{top:41%}.has-scene .center-activity>.watermark,.has-scene .center-activity>p{opacity:.18}
@keyframes scene-life{0%,15%{opacity:0;transform:translateY(-13px) scale(.94)}26%,75%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(7px)}}
.harvest-pool{position:absolute;z-index:7;left:23.5%;right:23.5%;top:32%;max-height:30%;overflow:auto;padding:6px;background:#143343f2;border:1px solid #bdab7a;border-radius:7px;box-shadow:0 4px 25px #0b1c2a88}.harvest-pool h3{font:12px Georgia;text-align:center;margin:1px 0 6px;color:#f5dfad}.harvest-pool h3 small{display:block;font:8px/1.3 system-ui;margin-top:3px}.harvest-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.pool-card{padding:3px 2px;border-radius:3px;background:#f3edd7;color:#152f3d;border:1px solid #baaa79;min-width:0;min-height:67px}.pool-card strong{display:block;font:bold 9px/1.05 Georgia;overflow-wrap:anywhere}.pool-card small{display:block;font:8px Georgia}.pool-card img{display:block;width:100%;height:30px;object-fit:contain}.pool-card.selected{outline:2px solid #f7d88c;transform:translateY(-2px);background:#fff6d7}
@media(prefers-reduced-motion:reduce){.skill-row button.skill-ready,.hero-card.dying,.rescue-signal{animation:none}.target-arrows,.table-scene{animation:none}}
