/* Four patrons share the tavern; portraits never contain rules or labels. */
.tavern-root .tv-shell:has(.patron-board),.tavern-root .tv-shell:has(.selected-quest){grid-template-rows:36px minmax(0,1fr);gap:7px;padding-top:8px}
.tavern-root .tv-shell:has(.patron-board)>.tv-footnote,.tavern-root .tv-shell:has(.selected-quest)>.tv-footnote{display:none}
.patron-board{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}
.patron-board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.patron-board-heading h2{font:24px/28px Georgia,serif;margin:0}
.patron-board-heading p{font:14px/18px system-ui;margin:0;color:#d4d4ba}
.patron-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-height:0;flex:1}
.patron-card{--patron:#c4ad70;display:flex;flex-direction:column;gap:5px;min-height:0;min-width:0;padding:8px;border:2px solid var(--patron);border-radius:10px;background:radial-gradient(ellipse at 50% 20%,#74603f55,transparent 65%),linear-gradient(#1e342bed,#11251bee);box-shadow:inset 0 0 0 2px #071a1599,0 4px 8px #0008}
.patron-card[data-role="Support"]{--patron:#88bcc3}.patron-card[data-role="Tank"]{--patron:#a4b581}.patron-card[data-role="Lead"]{--patron:#d9c47d}.patron-card[data-role="DPS"]{--patron:#c99676}
.patron-art{flex:1;min-height:90px;max-height:165px;position:relative;display:flex;align-items:center;justify-content:center}
.patron-portrait{max-width:100%;width:100%;height:100%;object-fit:contain;min-height:0;filter:drop-shadow(0 3px 4px #0009)}
.patron-role{position:absolute;right:0;top:0;background:#12261cdd;border-radius:50%;padding:3px;border:1px solid var(--patron)}
.patron-role .tv-emblem{width:24px;height:24px}
.patron-name{display:flex;justify-content:space-between;align-items:baseline;gap:4px}
.patron-name h3{margin:0;font:600 20px/22px Georgia,serif;color:#f0dba5}.patron-name>span{font:12px/16px system-ui;color:#e2d5b8}
.patron-card h4{font:600 18px/20px Georgia,serif;margin:0;color:#f7efdd}
.patron-goal,.patron-reward{font:14px/18px system-ui;margin:0}.patron-goal{color:#d8efc4}.patron-reward{color:#e8ca88}
.patron-pressure{font:12px/16px system-ui;margin:0;color:#dcdfd1;min-height:32px}.patron-pressure .tv-icon{width:16px;height:16px;vertical-align:middle;margin-right:3px}
.patron-card>.tv-primary{flex:none;min-height:36px;padding:4px 5px;font:600 14px/18px system-ui;box-shadow:0 0 8px #8cc26355;border-color:#b9db96}
.patron-card:focus-within{outline:2px solid #b5ff9a;outline-offset:2px}
.selected-quest{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;flex:none;padding:6px 10px}
.selected-patron{position:relative;height:90px}.selected-patron>.tv-emblem{position:absolute;right:0;top:0;width:22px;height:22px}
.selected-quest-title{display:flex;align-items:center;gap:10px}.selected-quest-title h2{font:24px/28px Georgia,serif;margin:0}.selected-quest-title button{padding:3px 7px;min-height:26px;font:14px/18px system-ui}
.selected-quest p{margin:2px 0;font:14px/18px system-ui}.selected-quest .tv-icon{width:18px;height:18px;vertical-align:middle;margin-right:4px}.quest-known-reward{color:#eacd8d}
.quest-town-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;font:14px/18px system-ui;flex:none}.quest-town-tools .tv-icon{width:18px;height:18px;vertical-align:middle}.quest-town-tools button{padding:4px 8px;min-height:28px;font:14px/18px system-ui}
.quest-carry-party{display:flex;flex-direction:column;gap:7px;flex:1;min-height:0}.quest-carry-party h2{font:22px/26px Georgia,serif;margin:0}.quest-carry-party>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:6px;min-height:0;flex:1}.quest-carry-party article{display:grid;grid-template-columns:32% minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;gap:2px 6px;min-height:0;padding:5px;background:#10291fdc;border:1px solid #bfa16988;border-radius:6px}.quest-carry-party article img{grid-row:1/3;width:100%;height:100%;object-fit:contain;min-height:0}.quest-carry-party article strong{font:18px/22px Georgia,serif;align-self:end}.quest-carry-party article span{font:12px/16px system-ui;align-self:start}.quest-carry-party>p{font:12px/16px system-ui;margin:0}.quest-carry-party>.tv-primary{align-self:center;min-height:36px;padding:6px 20px;font:18px/22px Georgia,serif}
#contractInfo{min-height:0;padding:2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#203024cc;border:1px solid #a8915b66;color:#f0ddb0;line-height:16px;max-width:145px}
#contractInfo strong{font:600 14px/18px system-ui}#contractInfo small{font:12px/14px system-ui}
.enemy .quarry-badge{font:600 12px/14px system-ui;padding:0 3px;margin-left:3px;color:#ffdb83;border:1px solid #f5cf72;border-radius:3px;vertical-align:middle}
.quest-town-result{padding:7px 10px;background:#193729;border:1px solid #bda974;border-radius:7px;margin-bottom:7px;font:14px/18px system-ui}.quest-town-result h3{font:22px/26px Georgia,serif;margin:0 0 3px}
@media(max-width:700px) and (min-height:501px){
 .tavern-root .tv-shell:has(.patron-board),.tavern-root .tv-shell:has(.selected-quest){grid-template-rows:34px minmax(0,1fr);padding:7px 8px 3px;gap:5px}
 .tavern-root .tv-content:has(.patron-board){padding:6px;border-width:4px}
 .patron-board{gap:5px}.patron-board-heading h2{font-size:21px;line-height:24px}.patron-board-heading p{font-size:12px;line-height:16px}
 .patron-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.patron-card{padding:5px;gap:3px}
 .patron-art{min-height:65px;max-height:105px}.patron-role .tv-emblem{width:18px;height:18px}.patron-role{padding:2px}
 .patron-name h3{font-size:18px;line-height:20px}.patron-name>span{font-size:12px;line-height:14px}.patron-card h4{font-size:16px;line-height:18px}
 .patron-goal,.patron-reward{font-size:14px;line-height:16px}.patron-card>.tv-primary{min-height:32px;font-size:14px;line-height:16px;padding:3px}
 .selected-quest{grid-template-columns:58px minmax(0,1fr);gap:6px;padding:4px 6px}.selected-patron{height:78px}.selected-quest-title{gap:5px;flex-wrap:wrap}.selected-quest-title h2{font-size:20px;line-height:22px}.selected-quest p{font-size:12px;line-height:15px}.selected-quest-title button{min-height:23px;padding:2px 5px;font-size:12px;line-height:16px}
 .quest-carry-party>div{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-carry-party article{grid-template-columns:30% minmax(0,1fr);padding:3px;gap:2px}.quest-carry-party article strong{font-size:16px;line-height:18px}
 #contractInfo{max-width:94px}#contractInfo strong{font-size:14px;line-height:16px}#contractInfo small{line-height:13px}
}
@media(max-height:500px){
 .tavern-root .tv-shell:has(.patron-board),.tavern-root .tv-shell:has(.selected-quest){grid-template-rows:28px minmax(0,1fr);padding-top:3px;gap:4px}
 .tavern-root .tv-content:has(.patron-board){padding:4px 6px;border-width:3px}.patron-board{gap:3px}.patron-board-heading h2{font-size:18px;line-height:21px}.patron-board-heading p{display:none}
 .patron-grid{gap:6px}.patron-card{padding:4px;gap:2px}.patron-art{min-height:46px;max-height:74px}.patron-role .tv-emblem{width:16px;height:16px}.patron-role{padding:1px}.patron-name{display:block}.patron-name h3{font-size:17px;line-height:19px}.patron-name>span{display:none}.patron-card h4{font-size:14px;line-height:16px}.patron-goal,.patron-reward{font-size:12px;line-height:15px}.patron-pressure{font-size:12px;line-height:14px;min-height:28px}.patron-card>.tv-primary{min-height:29px;padding:2px;font-size:12px;line-height:15px}
 .selected-quest{grid-template-columns:46px minmax(0,1fr);gap:7px;padding:2px 6px}.selected-patron{height:57px}.selected-quest-title h2{font-size:18px;line-height:20px}.selected-quest-title button{min-height:22px;padding:2px 5px;font-size:12px;line-height:16px}.selected-quest p{font-size:12px;line-height:14px;margin:0}.selected-quest .quest-known-reward{display:none}
 .quest-carry-party h2{font-size:18px;line-height:20px}.quest-carry-party{gap:4px}.quest-carry-party article strong{font-size:14px;line-height:18px}.quest-carry-party>div{grid-template-columns:repeat(3,minmax(0,1fr))}.quest-carry-party>.tv-primary{min-height:28px;padding:3px 12px;font-size:16px;line-height:20px}
 #contractInfo{max-width:108px}#contractInfo strong{font-size:12px;line-height:14px}#contractInfo small{font-size:12px;line-height:13px}.quest-town-result{padding:4px 6px;margin-bottom:4px}.quest-town-result h3{font-size:18px;line-height:20px}
}
.patron-card>.tv-primary{margin-top:auto}
@media(max-width:700px) and (min-height:501px), (max-height:500px){
 .patron-art{overflow:hidden}
 .patron-art .patron-portrait{object-fit:cover;object-position:50% 18%}
}
.brand>.brand-mark{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 1px 4px #f5ae3b44)}
.quest-carry-party article{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;text-align:center;gap:2px}
.quest-carry-party article img{grid-column:1;grid-row:1;object-position:center;width:100%;height:100%;max-height:200px}
.quest-carry-party article strong{grid-column:1;grid-row:2;align-self:center}
.quest-carry-party article span{grid-column:1;grid-row:3;align-self:center}
@media(max-width:700px) and (min-height:501px){
 .brand>.brand-mark{width:30px;height:30px}
 .patron-board:has(.quest-town-tools) .patron-board-heading p{display:none}
 .quest-carry-party article{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;gap:2px}
}
@media(max-height:500px){
 .brand>.brand-mark{width:26px;height:26px}
 .quest-carry-party article{grid-template-columns:30% minmax(0,1fr);grid-template-rows:auto auto;text-align:left}
 .quest-carry-party article img{grid-column:1;grid-row:1/3;object-position:center}
 .quest-carry-party article strong{grid-column:2;grid-row:1}.quest-carry-party article span{grid-column:2;grid-row:2}
}
@media(max-width:700px) and (min-height:501px){
 .quest-town-tools{flex-wrap:nowrap;gap:4px;font-size:12px;line-height:16px}
 .quest-town-tools>span{min-width:0;flex:1}
 .quest-town-tools .tv-icon{width:15px;height:15px}
 .quest-town-tools button{font-size:12px;line-height:16px;padding:3px 6px;white-space:nowrap}
}

/* Physical card labels stay distinct from the Mana prices on spells. */
body[data-progression="xp"] #game .ability .cost.free-cost{padding:0 4px;border-radius:5px;min-width:30px}
body[data-progression="xp"] #game .ability .cost.free-cost b{font:600 12px/1 Georgia,serif;margin:0}
#cardInspection .cost.free-cost b{font-size:16px;margin:0}
/* Wrapped names and rules each keep their own line boxes. */
body[data-progression="xp"] #game .ability>strong,
body[data-progression="xp"] #game .ability>.effect-copy{flex-shrink:0}
@media(max-height:500px){
 .quest-carry-party:has(article:nth-child(6))>h2,
 .quest-carry-party:has(article:nth-child(6))>p{display:none}
 .quest-carry-party article{padding:3px;grid-template-rows:minmax(18px,1fr) minmax(16px,1fr)}
}

body[data-progression="xp"] #game #handSection.detailed-hand .ability{flex:1 1 0;max-width:400px;min-width:0;width:auto}
@media(max-height:500px){body[data-progression="xp"] #game #handSection.detailed-hand .ability>strong{margin-top:22px!important}}
