#decklist-input { display: block; width: 100%; resize: vertical; }
[hidden] { display: none !important; }
#art-modal { width: min(900px, calc(100vw - 32px)); max-width: 900px; }
.close-art-modal { float: right; border: 0; background: none; font-size: 25px; cursor: pointer; }
.dialog-hint { color: #78716c; margin-top: -8px; }
.change-art { display: block; width: calc(100% - 14px); margin: 0 7px 8px; border: 1px solid #d6d0c8; border-radius: 5px; background: #fff; padding: 4px; font-size: 11px; font-weight: 700; cursor: pointer; }
#legal-modal { width: min(720px, calc(100vw - 32px)); max-width: 720px; }
.close-legal-modal { float: right; border: 0; background: none; font-size: 25px; cursor: pointer; }
.legal-content h3 { margin: 20px 0 4px; font-size: 15px; }
.legal-content p { margin: 7px 0; }
footer { display: flex; align-items: center; justify-content: center; gap: 18px; }
footer .text-button { margin: 0; flex: 0 0 auto; }
footer > span { flex: 0 1 auto; }
.kofi-button img { height: 36px; border: 0; }
#support-modal { width: min(420px, calc(100vw - 32px)); text-align: center; }
.close-support-modal { position: absolute; top: 10px; right: 12px; border: 0; background: none; font-size: 25px; cursor: pointer; }
.support-copy { color: #78716c; margin: 16px 0 20px; }
.support-link { display: block; border-radius: 9px; padding: 12px; background: #ea580c; color: #fff; text-decoration: none; font-weight: 800; }
#support-dismiss { margin-top: 12px; }
@media (max-width: 620px) { footer { flex-wrap: wrap; gap: 10px 14px; } }
.jump-button { display: block; margin: 18px auto 0; border: 1px solid #c9c2ba; border-radius: 8px; background: #fff; color: #44403c; padding: 8px 12px; font-size: 13px; font-weight: 700; cursor: pointer; }
.jump-to-cards { position: sticky; top: 82px; z-index: 1; margin: 12px 0 12px auto; box-shadow: 0 2px 8px rgba(33,29,25,.12); }
.jump-button:disabled { opacity: .45; cursor: not-allowed; }
.card-actions { display: flex; align-items: center; gap: 12px; }
.card-actions .jump-button { margin: 0; }
@media (max-width: 520px) { .section-title { align-items: flex-start; } .card-actions { flex-direction: column; align-items: flex-end; gap: 5px; } }
