/* ---------- Deck builder ---------- */
.builder { display: grid; grid-template-columns: 1fr 400px; gap: var(--s4); align-items: start; }
@media (max-width: 980px) { .builder { grid-template-columns: 1fr; } .deckpanel { position: static !important; max-height: none !important; order: -1; } }
.deckpanel { position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow: auto; }
.bcard { position: relative; }
.bcard .qty { position: absolute; top: 6px; right: 6px; background: var(--yellow); color: #4a3500; border-radius: 99px; font-weight: 900; min-width: 34px; height: 34px; display: grid; place-items: center; border: 3px solid #fff; box-shadow: var(--shadow-s); pointer-events: none; }
.bcard .bctl { display: flex; justify-content: space-between; gap: 4px; margin-top: 6px; }
.reqs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.req { background: #fff; border: 3px solid var(--line); border-radius: 14px; padding: 6px 10px; font-weight: 700; display: flex; justify-content: space-between; }
.req.done { border-color: var(--mint); background: var(--mint-l); } .req.done b::after { content: " ✓"; }
.curve { display: flex; gap: 6px; align-items: flex-end; height: 86px; margin-top: 8px; padding: 6px; background: var(--blue-l); border-radius: 14px; }
.curve .bar { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; font-size: .75rem; font-weight: 800; }
.curve .bar i { display: block; width: 100%; background: var(--blue); border-radius: 6px 6px 0 0; min-height: 2px; }
.curve .bar small { position: absolute; top: 0; }
.dlist { margin-top: 10px; }
.drow { display: flex; align-items: center; gap: 8px; margin: 4px 0; }
.dname { flex: 1; text-align: left; background: #fff; border: 3px solid var(--line); border-radius: 12px; padding: 6px 10px; font: inherit; font-weight: 700; cursor: pointer; min-height: 40px; color: var(--ink); }
.dname:hover { border-color: var(--blue); }
