:root{--bg: #0e1320;--panel: #161d2e;--panel-2: #1d2740;--border: #2a3650;--text: #e6ecf7;--muted: #93a0bd;--accent: #4f8cff;--evo: #57e1a8;--hero: #ffb454;--champion-form: #ffd54a;--tower: #c08bff;--common: #9fb0cc;--rare: #ffb74d;--epic: #c77dff;--legendary: #5ad1ff;--champion: #ffd54a;--good: #57e1a8;--bad: #ff6b81}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:1180px;margin:0 auto;padding:20px 24px 64px}header.masthead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}header.masthead h1{margin:0;font-size:22px;letter-spacing:.2px}header.masthead .sub{color:var(--muted);font-size:13px}.banner{margin:14px 0;padding:9px 12px;background:#ffb4541a;border:1px solid rgba(255,180,84,.35);border-radius:8px;color:#ffd9a8;font-size:12.5px}.tabs{display:flex;gap:6px;margin:18px 0 6px;border-bottom:1px solid var(--border)}.tabs button{background:none;border:none;color:var(--muted);padding:10px 16px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.toolbar input[type=search],.toolbar select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.toolbar .count{color:var(--muted);margin-left:auto;font-size:13px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.tile{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 8px 10px;text-align:center}.tile img{width:100%;aspect-ratio:1 / 1.2;object-fit:contain;image-rendering:auto}.tile .name{font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:3px;padding:0 2px}.rarity-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.rarity-label.r-Common{color:var(--common)}.rarity-label.r-Rare{color:var(--rare)}.rarity-label.r-Epic{color:var(--epic)}.rarity-label.r-Legendary{color:var(--legendary)}.rarity-label.r-Champion{color:var(--champion)}.elixir-cost{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#7a2ec8;color:#fff;font-weight:700;font-size:11px}.elixir-cost.none{background:transparent;color:var(--muted);font-weight:400}.badges{position:absolute;top:6px;left:6px;display:flex;gap:3px}.badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 4px;border-radius:4px;color:#0e1320}.badge.evo{background:var(--evo)}.badge.hero{background:var(--hero)}.badge.champion{background:var(--champion-form)}.badge.tower{background:var(--tower)}.deck-row{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:12px}.deck-row .head{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap}.deck-row .head .stat{font-size:12px;color:var(--muted)}.deck-row .head .stat b{color:var(--text)}.tower-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--muted)}.tower-badge img{width:17px;height:21px;object-fit:contain}.copy-deck{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--accent);text-decoration:none;background:#4f8cff1f;border:1px solid rgba(79,140,255,.35);padding:3px 9px;border-radius:7px;white-space:nowrap}.copy-deck:hover{background:#4f8cff38}.mini-cards{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.mini{position:relative;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:5px;text-align:center}.mini img{width:100%;aspect-ratio:1 / 1.2;object-fit:contain}.mini .e{position:absolute;top:3px;right:3px;font-size:10px;font-weight:700;background:#1a1030cc;color:#e3a8ff;border-radius:4px;padding:0 3px}.mini .f{font-size:8.5px;font-weight:700;text-transform:uppercase;border-radius:3px;padding:1px 3px;position:absolute;top:3px;left:3px;color:#0e1320}.f.evolution{background:var(--evo)}.f.hero{background:var(--hero)}.f.champion{background:var(--champion-form)}.calc-controls{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:16px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.field input[type=range]{width:100%}.field select{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px}.field .val{color:var(--text);font-weight:600}button.primary{background:var(--accent);border:none;color:#fff;font-weight:600;padding:10px 18px;border-radius:8px;cursor:pointer}button.ghost{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:8px;cursor:pointer}.btn-row{display:flex;gap:10px}.solve-summary{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;font-size:13px}.solve-summary .k{color:var(--muted)}.solve-summary .v{color:var(--text);font-weight:600}.valid-ok{color:var(--good)}.valid-bad{color:var(--bad)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.chip{font-size:11px;padding:3px 7px;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border)}.chip.include{background:#57e1a826;color:var(--good);border-color:#57e1a866}.chip.exclude{background:#ff6b8121;color:var(--bad);border-color:#ff6b8166}.chip:hover{filter:brightness(1.2)}.war-set{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:16px;background:#1d274059}.war-set>.set-head{display:flex;align-items:baseline;gap:14px;margin-bottom:10px;flex-wrap:wrap}.war-set>.set-head .n{font-size:15px;font-weight:700}.war-set>.set-head .stat{font-size:12px;color:var(--muted)}.war-set>.set-head .stat b{color:var(--text)}.url-input{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font-size:12.5px;font-family:inherit;resize:vertical}.tower-row{display:flex;align-items:center;gap:10px;margin-top:12px}.tower-mini{width:72px}.issues{background:#ff6b8114;border:1px solid rgba(255,107,129,.3);border-radius:8px;padding:10px 12px;font-size:12.5px;color:#ffb3bf;margin-bottom:12px}
