/* Conquest plan (owner-only, experimental): feat checklist + keycard/crate calculator.
   Feats & keycard values imported from ahnaldt101; crate ladder from the game data. */
#cqplan-root{max-width:980px}
.cqp-banner{background:rgba(167,139,250,0.1);border:1px solid rgba(167,139,250,0.35);color:#c4b5fd;border-radius:10px;padding:10px 14px;font-size:0.82rem;margin-bottom:16px;line-height:1.5}
.cqp-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.cqp-num{font-size:1.15rem;font-weight:800}
.cqp-btn{padding:8px 14px;background:var(--bg-card);border:1px solid var(--dash-accent);color:var(--dash-accent-hover);border-radius:8px;font-weight:600;font-size:0.84rem;cursor:pointer}
.cqp-btn:hover{background:rgba(220,38,38,0.1)}
.cqp-btn:disabled{opacity:.55;cursor:default}
.cqp-status{font-size:0.82rem;color:var(--text-secondary)}
.cqp-summary{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:20px}
.cqp-tallies{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:14px}
.cqp-tally .v{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.cqp-tally .l{font-size:0.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}
.cqp-tally .v.plan{color:#60a5fa}.cqp-tally .v.done{color:#34d399}
.cqp-ladder{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cqp-crate{flex:1;min-width:74px;text-align:center;border:1px solid var(--border);border-radius:9px;padding:9px 6px;background:var(--bg-primary);position:relative;transition:all .2s}
.cqp-crate .thr{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}
.cqp-crate .cap{font-size:0.62rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}
.cqp-crate.plan{border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa55}
.cqp-crate.done{border-color:#34d399;background:rgba(52,211,153,0.14)}
.cqp-crate.done .thr{color:#34d399}
.cqp-note{font-size:0.76rem;color:var(--text-secondary);margin-top:10px;line-height:1.5}
.cqp-sec{margin-bottom:18px}
.cqp-sec-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.cqp-sec-h b{font-size:1rem}
.cqp-sec-h .kc{font-size:0.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.cqp-sec-h .kc .d{color:#34d399;font-weight:700}.cqp-sec-h .kc .p{color:#60a5fa;font-weight:700}
.cqp-feat{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;margin-bottom:6px;cursor:pointer;background:var(--bg-card);transition:all .15s}
.cqp-feat:hover{border-color:rgba(167,139,250,0.4)}
.cqp-feat.plan{border-color:#60a5fa;background:rgba(96,165,250,0.07)}
.cqp-feat.done{border-color:#34d399;background:rgba(52,211,153,0.09)}
.cqp-state{flex:0 0 auto;width:24px;height:24px;border-radius:7px;border:2px solid var(--border);display:grid;place-items:center;font-size:0.9rem;font-weight:800;color:#0f1218}
.cqp-feat.plan .cqp-state{border-color:#60a5fa;color:#60a5fa;background:transparent}
.cqp-feat.done .cqp-state{border-color:#34d399;background:#34d399}
.cqp-ftext{flex:1;min-width:0;font-size:0.88rem;line-height:1.35}
.cqp-fkc{flex:0 0 auto;font-size:0.8rem;font-weight:800;color:#facc15;font-variant-numeric:tabular-nums;white-space:nowrap}
.cqp-legend{font-size:0.74rem;color:var(--text-secondary);margin-top:4px}
.cqp-legend b{color:var(--text-primary)}
@media(max-width:560px){.cqp-tallies{gap:16px}.cqp-crate{min-width:58px;padding:7px 4px}.cqp-crate .thr{font-size:0.9rem}}
