/* Enchantment codex: compact arcane workshop matching the StarMiner game shell. */
.enchant-toolbar-title { display:flex; align-items:center; gap:7px; color:#d7deed; font-size:12px; font-weight:900; white-space:nowrap; }
.enchant-toolbar-title i { color:#c084fc; filter:drop-shadow(0 0 6px #a855f788); }
.enchant-filter-row { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.enchant-filter-btn { min-height:30px; padding:5px 8px; border:1px solid #33405a; border-radius:5px; background:#0b1321; color:#98a7bc; font:800 10px/1 inherit; cursor:pointer; transition:border-color .15s,background .15s,color .15s,transform .15s; }
.enchant-filter-btn b { min-width:18px; margin-left:3px; padding:2px 4px; border-radius:3px; background:#ffffff0c; color:#c8d2e2; font-size:9px; }
.enchant-filter-btn:hover { border-color:#8b5cf6; color:#f1edff; transform:translateY(-1px); }
.enchant-filter-btn.active { border-color:#c084fc; background:#38245a; color:#fff; box-shadow:inset 0 0 0 1px #d8b4fe33,0 0 10px #a855f72b; }
.enchant-codex { display:flex; flex-direction:column; gap:12px; min-width:0; }
.enchant-mastery-panel { position:relative; overflow:hidden; display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:13px; padding:15px; border:1px solid #69518d; border-radius:10px; background:radial-gradient(circle at 8% 30%,#8b5cf62b,transparent 35%),linear-gradient(135deg,#211734,#111827 72%); box-shadow:inset 0 0 0 1px #ffffff08,0 6px 18px #0004; }
.enchant-mastery-panel::after { content:'✦'; position:absolute; right:90px; top:-23px; color:#c084fc0f; font-size:110px; line-height:1; pointer-events:none; }
.enchant-mastery-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid #a66ee4; border-radius:9px; background:#1e1235; color:#d8b4fe; font-size:23px; box-shadow:inset 0 0 15px #a855f728,0 0 16px #a855f724; }
.enchant-mastery-copy { min-width:0; }
.enchant-mastery-copy > span { color:#bd91ef; font-size:9px; font-weight:900; letter-spacing:1.1px; }
.enchant-mastery-copy h2 { margin:3px 0; color:#f7f3ff; font-size:17px; line-height:1.25; }
.enchant-mastery-copy p { margin:0 0 8px; color:#a9b4c7; font-size:10px; line-height:1.45; }
.enchant-mastery-track { height:6px; overflow:hidden; border:1px solid #080b12; border-radius:4px; background:#080d17; box-shadow:inset 0 1px 2px #000; }
.enchant-mastery-track i { display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,#7c3aed,#d8b4fe); box-shadow:0 0 8px #c084fc; transition:width .3s ease; }
.enchant-mastery-stats { position:relative; z-index:1; min-width:72px; text-align:center; }
.enchant-mastery-stats strong { display:block; color:#eadcff; font-size:19px; line-height:1; }
.enchant-mastery-stats small { color:#8d9ab0; font-size:10px; }
.enchant-mastery-stats span { display:block; margin-top:5px; color:#8898af; font-size:9px; text-transform:uppercase; letter-spacing:.6px; }
.enchant-complete-banner { padding:10px; border:1px solid #d6a81e; border-radius:7px; background:#2b220b; color:#ffe082; font-size:11px; font-weight:900; text-align:center; box-shadow:0 0 14px #fbbf2420; }
.enchant-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.enchant-card { --enchant-color:#a78bfa; min-width:0; padding:12px; border:1px solid #303a50; border-top:2px solid var(--enchant-color); border-radius:9px; background:linear-gradient(150deg,color-mix(in srgb,var(--enchant-color) 7%,#151d2d),#0d1421 70%); box-shadow:inset 0 0 0 1px #ffffff05,0 4px 12px #0003; animation:enchant-card-in .22s ease-out both; animation-delay:var(--enchant-delay); transition:transform .16s,border-color .16s,box-shadow .16s; }
.enchant-card.can-afford:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--enchant-color) 76%,#fff); box-shadow:inset 0 0 0 1px #ffffff0b,0 8px 18px #0005,0 0 15px color-mix(in srgb,var(--enchant-color) 18%,transparent); }
.enchant-card.cant-afford { filter:saturate(.7); }
.enchant-card.is-maxed { border-color:#3a8d73; border-top-color:#5ee0b4; background:linear-gradient(150deg,#123028,#0d191a 70%); }
.enchant-card-head { display:grid; grid-template-columns:43px minmax(0,1fr) auto; gap:9px; align-items:center; }
.enchant-icon-frame { width:42px; height:42px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--enchant-color) 65%,#263247); border-radius:7px; background:#090f1b; color:var(--enchant-color); font-size:19px; box-shadow:inset 0 0 12px color-mix(in srgb,var(--enchant-color) 14%,transparent); }
.enchant-icon-frame img { width:34px; height:34px; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 2px 2px #0008); }
.enchant-identity { min-width:0; }
.enchant-school { display:block; margin-bottom:3px; color:var(--enchant-color); font-size:8px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }
.enchant-identity h3 { overflow-wrap:anywhere; margin:0; color:#f0f4fc; font-size:12px; line-height:1.3; }
.enchant-level-badge { padding:4px 6px; border:1px solid #3a4962; border-radius:4px; background:#0b111d; color:#b4c2d6; font-size:8px; font-weight:900; white-space:nowrap; }
.is-maxed .enchant-level-badge { border-color:#3b8c72; background:#112a23; color:#70e7be; }
.enchant-level-track { display:flex; gap:4px; margin:10px 0; }
.enchant-level-track i { flex:1; height:4px; border-radius:3px; background:#263144; box-shadow:inset 0 1px 1px #0007; }
.enchant-level-track i.filled { background:var(--enchant-color); box-shadow:0 0 6px color-mix(in srgb,var(--enchant-color) 60%,transparent); }
.enchant-effect { display:grid; grid-template-columns:58px minmax(0,1fr); gap:7px; align-items:start; min-height:35px; padding:7px 0; border-top:1px solid #ffffff0b; }
.enchant-effect span { color:#75859d; font-size:7px; font-weight:900; letter-spacing:.5px; }
.enchant-effect strong { color:#c7d2e4; font-size:9px; line-height:1.45; }
.enchant-effect.next strong { color:#e9ddff; }
.enchant-upgrade-btn { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:7px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--enchant-color) 70%,#32405a); border-radius:6px; background:color-mix(in srgb,var(--enchant-color) 18%,#111a2a); color:#f3eeff; font:900 10px/1.2 inherit; cursor:pointer; }
.enchant-upgrade-btn span,.enchant-upgrade-btn b { display:flex; align-items:center; gap:5px; }
.enchant-upgrade-btn b { color:#ffd55a; font-size:9px; white-space:nowrap; }
.enchant-upgrade-btn img { width:14px; height:14px; image-rendering:pixelated; }
.enchant-upgrade-btn:not(:disabled):hover { background:color-mix(in srgb,var(--enchant-color) 30%,#142034); box-shadow:0 0 13px color-mix(in srgb,var(--enchant-color) 25%,transparent); }
.enchant-upgrade-btn:focus-visible,.enchant-filter-btn:focus-visible { outline:2px solid #d8b4fe; outline-offset:2px; }
.enchant-upgrade-btn:disabled { cursor:not-allowed; border-color:#303a4b; background:#151c29; color:#738198; opacity:.72; }
.is-maxed .enchant-upgrade-btn:disabled { border-color:#397961; background:#123027; color:#79e5bf; opacity:1; justify-content:center; }
.enchant-deficit { display:block; margin-top:5px; color:#d78686; font-size:8px; text-align:center; }
.enchant-empty { grid-column:1/-1; min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px dashed #3c4860; border-radius:9px; color:#8493aa; text-align:center; }
.enchant-empty i { color:#a78bfa; font-size:28px; }
.enchant-empty strong { color:#d7deea; font-size:12px; }
.enchant-empty span { font-size:10px; }
@keyframes enchant-card-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:720px) {
  .enchant-filter-row { justify-content:flex-start; width:100%; }
  .enchant-grid { grid-template-columns:1fr; }
  .enchant-mastery-panel { grid-template-columns:44px minmax(0,1fr); padding:12px; }
  .enchant-mastery-icon { width:42px; height:42px; font-size:18px; }
  .enchant-mastery-stats { grid-column:1/-1; display:flex; align-items:baseline; justify-content:center; gap:5px; }
  .enchant-mastery-stats span { display:inline; }
}
@media(prefers-reduced-motion:reduce) { .enchant-card,.enchant-mastery-track i { animation:none!important; transition:none!important; } }
