:root { color-scheme: dark; font: 16px system-ui, sans-serif; background: #131216; color: #f7f1e9; }
body { margin: 0; }
main { max-width: 68rem; padding: clamp(1rem, 4vw, 3rem); margin: auto; }
header { border-bottom: 5px solid #fc4b45; padding: 1rem 0; }
h1 { font: 900 clamp(3rem, 11vw, 7rem)/.95 system-ui; letter-spacing: -.08em; margin: .2em 0; }
.eyebrow { color: #ff817a; font-weight: 800; letter-spacing: .13em; }
section, details { margin: 1rem 0; }
details, .wrestler { border: 1px solid #57515d; border-radius: .55rem; padding: .9rem; background: #211e26; }
summary { cursor: pointer; }
button, input { font: inherit; border-radius: .35rem; padding: .65rem .8rem; }
button { border: 1px solid #ff817a; background: #a52125; color: white; cursor: pointer; }
button:disabled { cursor: default; opacity: .62; }
input { max-width: 100%; width: 30rem; box-sizing: border-box; border: 1px solid #777; }
#board, #hand { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
#hand { grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); }
.card { min-height: 6rem; text-align: left; background: #2a2430; }
.card.reversal { border-color: #6eaaff; }
.card.action { border-color: #79cb94; }
.card small { display: block; margin-top: .35rem; }
#pass { margin-top: .8rem; }
#error { color: #ff9b8f; }

select { font: inherit; padding: .35rem; }
#builder { margin-top: 1.25rem; }
#library { display: grid; gap: .5rem; margin-top: 1rem; }
#library label { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; border-bottom: 1px solid #59474b; padding: .5rem 0; }
#library small { grid-column: 1 / -1; }
#choices button, .card button { margin: .3rem .3rem .3rem 0; }
article.card { cursor: default; }

#deckOnly { width: auto; }
article.card { border: 1px solid #57515d; border-radius: .55rem; padding: .65rem; overflow-wrap: anywhere; }
article.card.reversal { border-color: #6eaaff; }
article.card.action { border-color: #79cb94; }

#printedResults { padding-left: 1.4rem; }
#printedResults li { padding: .55rem .2rem; border-bottom: 1px solid #57515d; overflow-wrap: anywhere; }
#printedResults small { display: block; margin-top: .2rem; }
#printedLibrary label { display: block; margin: .65rem 0; }
#printedSet { max-width: 100%; }
