/* Enchantment Calculator - every rule scoped under #tool, colours from the site tokens (plus the site error red below). */
/* Warning red = the site's own error colours (.cmmsg.bad in worker/shell.js); there is no token for it. */
#tool{--ec-bad:#9b2c24;--ec-bad-bg:#fdecea}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) #tool{--ec-bad:#f0948a;--ec-bad-bg:rgb(155 44 36/.28)}}
:root[data-theme=dark] #tool{--ec-bad:#f0948a;--ec-bad-bg:rgb(155 44 36/.28)}

#tool .ec{display:flex;flex-direction:column;gap:18px;color:var(--ink);font-family:var(--fb)}
#tool .ec-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:16px}
#tool .ec-h{font:700 20px/1.25 var(--fh);margin:0 0 10px}
#tool .ec-sub{color:var(--soft);font-size:14.5px;margin:-4px 0 12px}
#tool .ec-empty{color:var(--soft);margin:0}

#tool .ec-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#tool .ec-row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
#tool .ec-f{display:flex;flex-direction:column;gap:4px;font:600 13px/1.2 var(--fb);color:var(--soft);min-width:0}
#tool select{width:100%;min-width:0;height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;
  background:var(--card);color:var(--ink);font:600 15px/1 var(--fb)}
#tool select:focus,#tool input:focus{outline:2px solid var(--go);outline-offset:1px}

#tool .ec-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
#tool .ec-mini{min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:var(--card);
  color:var(--go);font:600 14px/1 var(--fb);cursor:pointer}
#tool .ec-mini:hover{background:var(--chip)}

#tool .ec-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
#tool .ec-opt{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--soft-bg)}
#tool .ec-on{border-color:var(--go);background:var(--chip)}
#tool .ec-blocked{opacity:.55}
#tool .ec-pick{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;flex:1;min-width:0;cursor:pointer}
#tool .ec-pick input{grid-row:span 2;width:20px;height:20px;accent-color:var(--go);margin:0}
#tool .ec-name{font:600 15px/1.25 var(--fb)}
#tool .ec-meta{font-size:12.5px;color:var(--soft);line-height:1.3}
#tool .ec-lvl{width:64px;height:38px;flex:none;padding:0 6px}
#tool .ec-lvl:disabled{opacity:.5}

#tool .ec-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
#tool .ec-stat{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:12px;background:var(--soft-bg);border:1px solid var(--line)}
#tool .ec-stat span{font:600 12.5px/1.2 var(--fb);color:var(--soft);text-align:center}
#tool .ec-stat b{font:700 28px/1.1 var(--fh);color:var(--go)}
#tool .ec-stat small{font-size:12px;color:var(--soft)}
#tool .ec-stat.ec-bad b{color:var(--ec-bad)}
#tool .ec-good{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--chip);color:var(--go);font-weight:600;font-size:14.5px}
#tool .ec-alert{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:var(--ec-bad-bg);color:var(--ec-bad);font-weight:600;font-size:14.5px}

#tool .ec-steps{list-style:none;margin:0;padding:0;counter-reset:ecs;display:flex;flex-direction:column;gap:8px}
#tool .ec-step{counter-increment:ecs;position:relative;padding:10px 12px 10px 44px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
#tool .ec-step::before{content:counter(ecs);position:absolute;left:10px;top:10px;width:24px;height:24px;border-radius:7px;
  background:var(--go);color:var(--card);font:700 13px/24px var(--fb);text-align:center}
#tool .ec-step-bad{border-color:var(--ec-bad)}
#tool .ec-step-bad::before{background:var(--ec-bad)}
#tool .ec-step-slots{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch}
#tool .ec-plus{align-self:center;font:700 18px/1 var(--fb);color:var(--soft)}
#tool .ec-slot{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:9px;background:var(--soft-bg);min-width:0}
#tool .ec-slot-item{background:var(--chip)}
#tool .ec-slot-k{font:700 12.5px/1.2 var(--fb);color:var(--soft);text-transform:uppercase;letter-spacing:.04em}
#tool .ec-slot-k em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}
#tool .ec-slot-v{font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}
#tool .ec-cost{margin-top:6px;font-size:14px;color:var(--soft)}
#tool .ec-cost b{font:700 18px/1 var(--fh);color:var(--go)}
#tool .ec-step-bad .ec-cost,#tool .ec-step-bad .ec-cost b{color:var(--ec-bad)}
#tool .ec-after{margin:12px 0 0}

#tool .ec-merge{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--soft-bg);font-size:15px}
#tool .ec-merge b{color:var(--go)}
#tool .ec-facts ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px}

@media (max-width:560px){
  #tool .ec-card{padding:14px 12px}
  #tool .ec-row2{grid-template-columns:1fr}
  #tool .ec-row3{grid-template-columns:1fr 1fr}
  #tool .ec-row3 .ec-f:first-child{grid-column:1/-1}
  #tool .ec-list{grid-template-columns:1fr}
  #tool .ec-step-slots{grid-template-columns:1fr}
  #tool .ec-plus{justify-self:center}
}
