/* Compact trade sheet; the existing game palette and modal shell are shared. */
.swap-v2 { max-width: 540px; }
.swap-v2__body { display: grid; gap: 1rem; padding: 1.4rem; }
.swap-v2__body > .fine { margin: 0; }
.swap-v2__row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.swap-v2 label { display: grid; gap: .45rem; font-size: .8rem; font-weight: 700; }
.swap-v2 select, .swap-v2 input { min-width: 0; width: 100%; box-sizing: border-box; padding: .8rem; border: 1px solid var(--line, #d7cbb7); border-radius: 10px; background: var(--paper, #f4f0e6); color: var(--ink, #15130e); font: inherit; }
.swap-v2 input { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.swap-v2__amount { grid-template-columns: 1fr auto; }
.swap-v2__amount input { grid-column: 1 / -1; }
.swap-v2__quote { padding: 1rem; border-radius: 12px; border: 1px solid var(--line, #d7cbb7); }
.swap-v2__quote > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; margin-bottom: .65rem; }
.swap-v2__quote strong { text-align: right; overflow-wrap: anywhere; min-width: 0; font-variant-numeric: tabular-nums; }
.swap-v2__quote .fine { margin: .8rem 0 0; }
.swap-v2 :focus-visible { outline: 2px solid var(--ink, #15130e); outline-offset: 3px; }
.swap-v2 [hidden] { display: none !important; }
@media (max-width: 420px) { .swap-v2__body { padding: 1rem; } .swap-v2__quote > div { gap: .6rem; } }
