.bastion-page{--ink:#1e1430;--purple:#8056c7}.bastion-shell{max-width:980px;border:2px solid #271938;border-radius:18px;background:#f5f0ff;color:var(--ink);padding:clamp(16px,3vw,28px);box-shadow:8px 8px 0 #8c69bc}.bastion-top,.bastion-row,.bastion-stats,.bastion-build,.bastion-upgrade-grid{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.bastion-top label{font-weight:850}.bastion-top select{min-height:44px;border:2px solid #4b3568;border-radius:8px;background:white;color:var(--ink);font:inherit;padding:7px 10px}.bastion-enemy{margin:20px 0;padding:18px;border:2px solid #56397c;border-radius:14px;background:white}.bastion-enemy h2{margin:0 0 8px}.bastion-intent{font-weight:850;color:#6a3996}.meter{height:14px;border:2px solid #271938;border-radius:999px;background:#ddd;overflow:hidden}.meter>span{display:block;height:100%;width:100%;background:#b65185;transition:width .2s}.bastion-hero .meter>span{background:#7954c7}.bastion-stats{display:grid;grid-template-columns:2fr repeat(3,1fr);margin:18px 0}.bastion-stats>div,.bastion-build>div{background:white;border:2px solid #d1bce8;border-radius:10px;padding:10px}.bastion-stats small,.bastion-build small{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.bastion-stats strong,.bastion-build strong{font-size:22px}.bastion-hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.bastion-card{position:relative;min-height:160px;text-align:left;border:2px solid #3d2859;border-radius:12px;background:#fff;color:var(--ink);padding:18px 12px 12px;cursor:pointer}.bastion-card.attack{background:#fff0f6}.bastion-card strong,.bastion-card span{display:block}.bastion-card strong{font-size:18px;margin-bottom:10px}.bastion-card span:not(.card-cost){line-height:1.35}.bastion-card small{position:absolute;right:9px;bottom:6px;color:#6b5484}.bastion-card .card-cost{position:absolute;top:-8px;left:-7px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#7d53c4;color:white;border:2px solid #271938;font-weight:900}.bastion-card:disabled{opacity:.42;cursor:default}.bastion-actions{display:flex;gap:10px;flex-wrap:wrap}.bastion-actions button,.bastion-upgrade-grid button{min-height:48px;border:2px solid #3d2859;border-radius:9px;background:#fff;color:var(--ink);padding:0 18px;font-weight:850;cursor:pointer}.bastion-actions .primary{background:#b78be7}.bastion-status{min-height:48px;font-weight:750}.bastion-build{justify-content:flex-start;margin-top:18px}.bastion-upgrades{margin:20px 0;padding:18px;border:2px solid #6f469a;border-radius:12px;background:#e7d7fa}.bastion-upgrades h2{margin-top:0}.bastion-upgrade-grid button{flex:1;min-width:190px;height:auto;padding:14px}.bastion-upgrade-grid strong,.bastion-upgrade-grid span{display:block}.bastion-upgrade-grid span{font-weight:500;margin-top:4px}.bastion-shell button:focus-visible,.bastion-shell select:focus-visible{outline:3px solid #6c2dae;outline-offset:3px}@media(max-width:760px){.bastion-shell{box-shadow:4px 4px 0 #8c69bc}.bastion-hand{grid-template-columns:repeat(2,minmax(0,1fr))}.bastion-card:last-child{grid-column:1/-1;min-height:120px}.bastion-stats{grid-template-columns:repeat(2,1fr)}}
