/* One exposed name strip per card; the artwork can overlap without hiding the name. */
.table .hand.hand{--hand-card-width:88px;display:flex!important;flex-wrap:nowrap;gap:0!important;top:50px;bottom:5px;left:26.5%;padding:15px 4px 4px;overflow-x:auto;overflow-y:hidden;align-items:stretch;min-height:0;scroll-snap-type:none;scrollbar-width:thin}
.table .hand .hand-card{width:var(--hand-card-width);height:100%;flex:0 0 var(--hand-card-width)!important;min-width:0;min-height:0;margin:0 var(--hand-card-gap,7px) 0 0!important;padding:0;z-index:auto;overflow:hidden}
.table .hand .hand-card:last-child{margin-right:0!important}
.table .hand .hand-card.selected{margin-right:var(--hand-card-gap,7px)!important;transform:translateY(-10px);z-index:auto;outline-offset:-2px}
.table .hand .hand-card:last-child.selected{margin-right:0!important}
.table .hand .card-face{position:relative;display:block;width:100%;height:100%;padding:0}
.table .hand .card-rank{top:4px;left:2px;font:12px/1 Georgia;z-index:2;white-space:nowrap}
.table .hand .card-title{top:24px;bottom:3px;left:1px;right:auto;width:13px;height:calc(100% - 27px);max-width:13px;max-height:none;margin:0;padding:0;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;overflow:visible;text-align:left;font:700 11px/13px Georgia!important;letter-spacing:0;z-index:2}
.table .hand .card-symbol{position:absolute;top:5px;left:18px;right:3px;bottom:3px;width:calc(100% - 21px);height:calc(100% - 8px);margin:0;border:0;overflow:hidden;align-self:auto}
.table .hand .card-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.table .hand-overview{z-index:45}
.table .hero-card .equipment-area{left:3px;right:3px;bottom:22px;gap:1px}
.table .hero-card .equip-row{height:11px;min-height:11px;padding:0 2px;font:8.5px/10px system-ui,sans-serif;gap:3px}
.table .hero-card .equip-row>span{flex:1;overflow:visible;text-overflow:clip;white-space:nowrap}
.table .hero-card .equip-row>b{flex-shrink:0;font-size:8px;line-height:10px}
.table .hero-card .hero-name{top:24px;bottom:calc(24px + var(--equip-height,0px));height:auto;max-width:calc(100% - 6px);max-height:none;overflow:hidden;word-break:break-all;overflow-wrap:anywhere}
.table .hero-card .hand-count{left:4px;bottom:6px}
.table .hero-card .hp{bottom:5px;right:4px}
.table .actions{z-index:31;min-height:38px}
.table .actions:empty{display:none}
.table.has-counter-response .actions{left:16%;right:16%;gap:5px}
.table.has-counter-response .actions button{font:11px/1.2 system-ui;min-height:38px;padding:7px 3px;word-break:normal}
.table .response-question{z-index:30;bottom:calc(var(--dock-height) + 5.5% + 45px)}
.table .harvest-pool{left:20%;right:20%;max-height:max(75px,min(30%,calc(62.5% - var(--dock-height) - 83px)));z-index:7}
.table .pool-card{min-height:60px}
.table .pool-card strong{white-space:nowrap;overflow-wrap:normal;font-size:9px}
.table .pool-card img{height:26px}
.table .target-picker{max-height:calc(72% - var(--dock-height));z-index:20}
/* Nonmodal decisions live inside the table; the hand and hero targets remain clickable. */
#decision.inline-decision{position:absolute;inset:auto 4% calc(var(--dock-height) + 5.5%);margin:0;width:92%;max-width:92%;max-height:calc(80% - var(--dock-height));padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:25;overflow:auto}
#decision.inline-decision:not([open]){display:none}
#decision.inline-decision .reader-head{position:static;padding:7px 10px;gap:6px;justify-content:center;background:transparent;border:0}
#decision.inline-decision .reader-head h2{font:700 15px/1.2 Georgia;margin:0}
#decision.inline-decision .reader-head button{padding:2px 7px;font-size:15px;min-height:28px}
#decision.inline-decision .reader-body{padding:6px 10px}
#decision.inline-decision .source-note{display:none}
#decision.inline-decision .decision-targets{display:none}
#decision.inline-decision h3{font:12px/1.2 system-ui;margin:4px 0;text-align:center;color:#ecd5a0}
#decision.inline-decision .decision-footer{position:sticky;bottom:0;display:flex;justify-content:center;gap:8px;margin:0;padding:7px 10px;background:transparent;border:0}
#decision.inline-decision .decision-footer button{flex:1;max-width:150px;min-height:34px;font:13px system-ui;padding:7px}
#decision.inline-decision .inline-options{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:4px 0}
#decision.inline-decision .inline-options button{min-height:34px;font:12px system-ui;padding:6px 9px}
#decision.inline-decision .inline-options button.active{border-color:#e8cd83;background:#49605c;color:#fff0bb}
#decision.inline-decision .order-grid{gap:7px;padding:10px 0}
#decision.inline-decision .order-card{flex-basis:clamp(80px,23vw,100px);height:clamp(120px,34.5vw,150px);padding:5px 3px}
#decision.inline-decision .order-card strong{font-size:11px;min-height:23px}
#decision.inline-decision .order-card img{height:calc(100% - 42px)}
#decision.inline-decision .order-position{width:19px;height:19px;font-size:11px}
#decision.inline-decision .choice-card-grid{gap:7px;padding:7px 0}
#decision.inline-decision .choice-card-shell{width:clamp(80px,23vw,100px);height:clamp(120px,34.5vw,150px)}
#decision.inline-decision .choice-card strong{font-size:11px;margin:3px 0}
#decision.inline-decision .choice-card img{height:calc(100% - 43px)}
@property --turn-ring-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.table .hero-card:is(.active-turn,.responding){outline:none;box-shadow:0 0 10px #a4dfc54d}
.table .hero-card:is(.active-turn,.responding)::before{content:'';position:absolute;z-index:5;inset:-4px;padding:2px;border-radius:8px;background:conic-gradient(from var(--turn-ring-angle),#a2dec32e 0deg,#a2dec355 140deg,#c5ffe3b3 200deg,#c5ffe32e 265deg,#a2dec32e);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:turn-ring-flow 3s linear infinite}
.table .hero-card.active-turn{box-shadow:0 0 15px #f7d27c88}
.table .hero-card.active-turn::before{padding:3px;background:conic-gradient(from var(--turn-ring-angle),#ecc875bb 0deg,#ecc875bb 100deg,#fff3a4 180deg,#fffef0 200deg,#ecc875bb 270deg);animation-duration:2s}
.table .hero-card.dead::before{display:none}
@keyframes turn-ring-flow{to{--turn-ring-angle:360deg}}
@media(max-width:350px){.table .hand.hand{--hand-card-width:72px}.table .hero-card .equip-row{font-size:8px}.table.has-counter-response .actions{left:12%;right:12%}}
@media(prefers-reduced-motion:reduce){.table .hero-card:is(.active-turn,.responding)::before{animation:none}}

/* Physical equipment keeps its suit and rank, including on compact eight-player portraits. */
.table .equip-row>.equip-pip{flex:0 0 auto;white-space:nowrap;color:#f5e8c7;font:inherit;letter-spacing:-.4px}
.table .equip-row>.equip-pip.red{color:#ffb3ac}
.table .equip-row>.equip-name{flex:1;min-width:0;overflow:hidden;text-overflow:clip}
.table .hero-card .equip-row{gap:2px}
#reader .reader-head h2{flex:1;min-width:0;overflow-wrap:anywhere}
#reader .reader-head>button{flex-shrink:0}
#reader [data-reader-back]{font:26px/1 Georgia;padding:6px 12px}
.library-tabs{display:flex;gap:8px;margin:14px 0 10px}
.library-tabs button{flex:1;padding:10px 7px;font:14px system-ui}
.library-tabs button[aria-pressed=true]{background:#49635e;border-color:#eed59a;color:#fff0c1}
.library-search{display:block;width:100%;font:14px system-ui;padding:11px 12px;margin:0 0 18px;border:1px solid #819b9e;border-radius:6px;background:#102b3d;color:#fff3d5}
.library-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}
#reader .catalog-tile{display:flex;flex-direction:column;padding:0;min-width:0;overflow:hidden;text-align:center;background:#203e50;border:1px solid #a08e64;border-radius:6px;box-shadow:0 3px 8px #06182260}
.catalog-tile img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;background:#122d3c}
.catalog-tile strong{display:block;padding:7px 4px;font:700 12px/1.3 Georgia;white-space:normal;overflow-wrap:anywhere}
#reader .card-tile{background:#e9ddbf;color:#193342}
.catalog-tile.card-tile img{object-fit:contain;padding:5px;background:#f3ecd7}
.library-category h3{margin:20px 0 12px}
.library-empty{text-align:center;padding:25px 0}
.detail-figure{display:flex;flex-direction:column;align-items:center;gap:10px;margin:18px auto 22px;width:min(230px,85%)}
.detail-figure img{display:block;width:100%;max-height:345px;object-fit:contain;box-shadow:0 5px 20px #05152288;border:1px solid #c5b07a;border-radius:6px}
.detail-figure figcaption{font:14px/1.4 Georgia;text-align:center;color:#ecd49b}
.detail-figure figcaption strong{font-size:21px}
.detail-figure.card-detail{padding:12px;background:#f0e5c8;border-radius:8px;border:1px solid #d1bd87}
.detail-figure.card-detail img{box-shadow:none;border:0;border-radius:0;max-height:285px}
.detail-figure.card-detail figcaption{color:#173447}
.physical-pip{display:block;font:700 21px Georgia;margin-top:6px}.physical-pip.red{color:#a12f36}
.detail-abilities{border-block:1px solid #7d949266;padding:0 0 12px}
.card-definition{font-size:16px;line-height:1.7}.card-detail-meta{font:13px system-ui;color:#d9cda9}
.game-guide section{margin:25px 0}.game-guide h3{padding-top:6px}.game-guide li{margin:9px 0}.game-guide ol{padding-left:24px}
.role-composition{border-collapse:collapse;width:100%;font-size:13px;margin:15px 0}
.role-composition th,.role-composition td{border:1px solid #82979977;padding:9px 7px;text-align:center}
.role-composition th:first-child{text-align:left}.role-composition thead{background:#244859}
.identity-guide{display:grid;gap:12px;margin:18px 0}.identity-guide article{border:1px solid #b19b69;border-radius:7px;background:#213f50;padding:11px 12px}
.identity-guide-title{display:flex;align-items:center;gap:10px}.identity-guide-title img{width:34px;height:34px;object-fit:contain}
.identity-guide h4{margin:0;color:#eed598;font:700 18px Georgia}.identity-guide p{margin:9px 0 1px}
.guide-turn{padding:10px;background:#284d5d;border-left:3px solid #ddc27f;border-radius:3px;font-weight:bold}
.guide-basics{display:grid;gap:10px;margin-top:15px}
#reader .guide-card{display:flex;align-items:center;gap:13px;padding:8px;text-align:left;background:#244353;border:1px solid #9a936f}
.guide-card>img{width:66px;height:94px;object-fit:contain;flex-shrink:0;background:#eee4c9;border-radius:4px;padding:3px}
.guide-card>span{font:13px/1.5 system-ui}.guide-card strong{display:block;font:700 17px/1.3 Georgia;color:#f0d8a0;margin-bottom:5px}
@media(min-width:600px){.library-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.identity-guide{grid-template-columns:1fr 1fr}}
.hero-card.target-blocked{cursor:not-allowed;border-color:#758b92}
.hero-card.target-blocked>img{filter:grayscale(1) brightness(.48)}
.target-disabled-reason{position:absolute;z-index:6;left:2px;right:2px;bottom:calc(23px + var(--equip-height,0px));padding:3px 1px;border-radius:3px;background:#132c3ef0;color:#f7e5bf;text-align:center;font:10px/1.15 system-ui;overflow-wrap:anywhere;pointer-events:none}
