/* Site-wide pixel typography trial. Remove this stylesheet link to revert. */
@font-face{font-family:TavernPixel;src:url('assets/fonts/PressStart2P-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
*,*::before,*::after{font-family:TavernPixel,monospace!important}
body{font-size:12px;line-height:1.8}
button,input,select,textarea{line-height:1.7}
button{white-space:normal;overflow-wrap:anywhere}
p,li,label,summary{line-height:1.8;overflow-wrap:break-word}
.small,.setup .player-entry label,.player-input,.setting-selects select,.timer-range input{font-size:12px}
.setup .category-option,.setup .setting-selects label{font-size:11px}
.category-option input{flex-shrink:0}.category-option span{min-width:0}
.category-option .category-count{flex-shrink:0;white-space:nowrap}
.role-option strong{font-size:11px;line-height:1.7}.role-option span{font-size:10px;line-height:1.8;color:var(--tavern-gold,#d6b477)}.role-option small{font-size:10px;line-height:1.9;font-weight:400;color:#e2dbe8}
.role-picker{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-option{overflow-wrap:normal;padding:14px 10px}
.role-option[aria-pressed=true] small{color:#e5e4ce}
@media(max-width:520px){.role-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
.game-settings summary{font-size:13px}.game-settings summary span{font-size:10px}
.deck-note,.setup-facts,.roster-heading span,.fantasy-pass-note{font-size:11px;line-height:1.9}
.primary,.bonus-main,#campaign-actions>button{font-size:15px}
.deck-prompt,#deck-prompt{font-size:clamp(19px,2.8vw,30px);line-height:1.65;overflow-wrap:anywhere}
#fantasy-story,#campaign-story{font-size:15px;line-height:1.9}
#fantasy-rules,#campaign-rules,#campaign-result,#bonus-message{font-size:13px!important;line-height:1.9}
.item-heading strong,.shop-item strong{font-size:13px}.item-effect,.item-action,.shop-item p{font-size:11px;line-height:1.9}
.skill-upgrade{font-size:11px}.audio-setting{font-size:12px}.audio-setting button{flex-shrink:0}
.skill-upgrade{color:#f3edf3;background:#211b29;border:1px solid #927b58}
.campaign-upgrades button,.character-summary{color:var(--tavern-gold,#d6b477)}
.setting-selects select{width:100%;min-width:0}.setting-selects label{min-width:0}
.encounter-person strong,#campaign-person strong{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.boss-health{font-size:10px}.health-note{font-size:10px;line-height:1.9}
/* Consistent readable pixel text across play, encounters, shops and recaps. */
.card .name{font-size:18px;letter-spacing:0;line-height:1.7}.card .number{font-size:clamp(48px,6vw,80px);letter-spacing:0;line-height:1.4}.card .unit{font-size:16px;line-height:1.6}.card .hint,.card-bottom,.card .skip{font-size:12px;line-height:1.8}.card .badge{font-size:10px;letter-spacing:0}
.skill-text{color:var(--tavern-gold,#d6b477)!important;font-size:inherit!important;line-height:inherit!important;font-weight:inherit}
#game p,.session-dialog p,.bonus p,.rules,.footer{line-height:1.9}
.deck-note,.save-status,.footer,.rules,.items-empty,.item-effect,.fantasy-extra p,.health-note{color:#ddd4e4}
.role-label,.role-badge,.character-summary,.boss-health,.health-note,.gold-balance,.item-quantity{font-size:12px;line-height:1.8}
.fantasy-extra summary,.simple-roll-rules strong,.simple-roll-rules span,.fantasy-extra .simple-skill-note{font-size:12px;line-height:1.9}
.simple-roll-rules>div{grid-template-columns:minmax(100px,.7fr) 1.3fr;gap:14px}
.skill-upgrade,.campaign-upgrades button{font-size:12px;line-height:1.9}
#campaign-inventory button{font-size:12px;line-height:1.9}
.recap-player .recap-name h3{font-size:18px;line-height:1.7}.recap-eyebrow{font-size:11px;letter-spacing:0;line-height:1.8}
.recap-stat span,.recap-encounter-detail,.recap-legend,.recap-outcome{font-size:11px;line-height:1.9}
.recap-stat span,.recap-encounter-detail{color:#ddd4e4}.recap-encounter-main{flex-wrap:wrap;gap:10px}
.recap-encounter-main strong{font-size:12px;line-height:1.8}.recap-legend{flex-wrap:wrap}
.recap-stat strong,.recap-stats>.recap-stat:first-child strong{font-size:24px;line-height:1.5;letter-spacing:0}
.recap-stats,.recap-achievements{gap:16px}.recap-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.deck-meta{font-size:11px;line-height:1.8;letter-spacing:0;flex-wrap:wrap}.deck-result,.sip-rule{font-size:13px;line-height:1.9}.tools{flex-wrap:wrap}
@media(max-width:600px){#game .players,#recap-players{grid-template-columns:1fr}.simple-roll-rules>div{grid-template-columns:1fr}.recap-stats,.recap-achievements{grid-template-columns:1fr 1fr}.bonus-actions{flex-wrap:wrap}}
@media(max-width:520px){.setup .setting-selects label{align-items:stretch;flex-direction:column}.setting-selects select{max-width:100%}.setup .roster-heading{align-items:flex-start}.primary{font-size:13px}.item-heading{flex-wrap:wrap}.audio-setting{gap:8px}.category-options{grid-template-columns:1fr}}
