*{box-sizing:border-box}body{margin:0;background:#eee7d8;color:#302e31;font:16px/1.45 system-ui}main{max-width:1000px;margin:auto;padding:30px 24px}small{letter-spacing:.16em;font-size:11px;font-weight:800;color:#805943}h1{font:46px Georgia;margin:8px 0}h1 em{font-weight:normal;color:#92744d}h2{font:26px Georgia;margin:10px 0}p{margin:10px 0}button,input,select{font:inherit}button,select,input{padding:10px 12px;border:1px solid #a89b87;border-radius:8px;background:#fffaf0;color:#302e31}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:hover:enabled{border-color:#4b7169}button:focus-visible{outline:3px solid #316f98}.setup,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.setup label{font-size:12px}.setup label>*{display:block;width:180px}.battle{display:grid;grid-template-columns:190px 1fr;gap:26px;background:#fff9ed;border:1px solid #c7b899;border-radius:16px;padding:20px;margin:22px 0}#portrait{aspect-ratio:1;background-image:url('royals.webp');background-size:200% 200%;border-radius:12px}.powers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:13px;color:#62564b}.powers span{padding:10px;border:1px solid #c5b79e;border-radius:8px}#hand{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.card{min-height:125px;text-align:left;padding:12px 8px;background:#fffdf6;transition:transform .12s}.card b{font:30px Georgia;display:block}.card span{font-size:11px;display:block}.card[aria-pressed=true]{outline:3px solid #477b69;transform:translateY(-5px);background:#e5f2e9}.card.hearts{color:#a23c42}.card.diamonds{color:#275b90}.card.clubs{color:#37684c}.card.spades{color:#554679}#preview{min-height:48px;background:#e2dbc9;padding:12px;border-radius:8px}#commit{background:#315a4f;color:#fff}details{margin-top:22px;border-top:1px solid #c8bda7;padding-top:14px}summary{cursor:pointer;font-weight:700}footer{font-size:12px;color:#756a5d;margin-top:30px}#status{color:#376554}@media(max-width:650px){main{padding:18px 14px}h1{font-size:34px}.battle{grid-template-columns:105px 1fr;gap:14px;padding:13px}h2{font-size:23px}.battle p{font-size:13px}.powers{grid-template-columns:1fr 1fr}#hand{grid-template-columns:repeat(4,1fr);gap:8px}.card{min-height:100px}.setup label>*{width:160px}.actions button{flex-grow:1}#preview{font-size:14px}}