/* forge（2026-10-01.3）：由 index.html 在 style.css 後面載入 */
/* 鐵匠鋪（js/forge.js）：上面實景＋鐵匠說話；手機一欄（實景 → 鐵砧上的裝備 → 挑裝備 → 素材 → 說明），電腦兩欄（左：實景、挑裝備、說明；右：鐵砧上的裝備、素材） */
.forge-page { display: grid; gap: 14px; }
.forge-layout { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.forge-col { display: contents; }
.forge-stage { order: 1; }
.forge-detail { order: 2; }
.forge-pick { order: 3; }
.forge-mats { order: 4; }
.forge-info { order: 5; }
@media (min-width: 960px) {
  .forge-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
  .forge-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
}

/* 實景＋鐵匠說的話 */
.forge-stage { display: grid; gap: 12px; }
.forge-scene { margin: 0 auto; scroll-margin-top: 76px; scroll-margin-bottom: 80px; }
.forge-detail { scroll-margin-top: 76px; }
.forge-pops { position: absolute; inset: 0; pointer-events: none; overflow: hidden; line-height: normal; }
.forge-pop { position: absolute; transform: translate(-50%, -100%); white-space: nowrap; font: 900 clamp(18px, 5vw, 32px)/1 var(--font); color: #ffe070; letter-spacing: 0.02em;
  text-shadow: -2px -2px 0 #2a1408, 2px -2px 0 #2a1408, -2px 2px 0 #2a1408, 2px 2px 0 #2a1408, 0 3px 0 #2a1408; animation: forge-pop 1.6s ease-out forwards; }
.forge-pop.max { color: #fff3a0; font-size: clamp(20px, 6vw, 38px); }
.forge-pop.el { color: var(--tw); font-size: clamp(14px, 3.8vw, 24px); }
@keyframes forge-pop {
  0% { opacity: 0; transform: translate(-50%, -60%) scale(0.6); }
  15% { opacity: 1; transform: translate(-50%, -110%) scale(1.15); }
  30% { transform: translate(-50%, -125%) scale(1); }
  80% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -190%); }
}
@keyframes forge-pop-calm { 0%, 85% { opacity: 1; } 100% { opacity: 0; } }
.forge-say { position: relative; width: 100%; max-width: 760px; margin: 0 auto; padding: 8px 12px; border-radius: 10px; background: var(--field); border: 1px solid var(--line-2); font-size: 14px; line-height: 1.6; }
.forge-say::before { content: ""; position: absolute; left: 40%; top: -7px; width: 12px; height: 12px; background: var(--field); border-left: 1px solid var(--line-2); border-top: 1px solid var(--line-2); transform: rotate(45deg); }
.forge-say b { color: var(--gold-ink); }
.forge-gate { display: grid; gap: 8px; }

/* 鐵砧上的裝備：強化、附魔 */
.forge-detail { display: grid; gap: 12px; }
.forge-detail .card-head { margin-bottom: 2px; }
.forge-box { display: grid; gap: 10px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--surface-2); min-width: 0; }
.forge-box-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.forge-box-head h3 { margin: 0; font-size: 17px; font-family: var(--serif); font-weight: 900; color: var(--text); }
.forge-lv { display: flex; align-items: center; gap: 10px; }
.forge-lv-a, .forge-lv-b { display: inline-grid; place-items: center; min-width: 58px; height: 42px; padding: 0 10px; border-radius: 10px; font: 900 23px/1 var(--serif); font-variant-numeric: tabular-nums; }
.forge-lv-a { background: var(--field); border: 1px solid var(--line-2); color: var(--muted); }
.forge-lv-b { background: linear-gradient(180deg, #fff4d2, #f1d27e); border: 1px solid #b8801a; color: #5a3a04; box-shadow: 0 2px 0 #b8801a; }
.forge-arrow { color: var(--gold); font-size: 20px; font-weight: 900; }
[data-theme="night"] .forge-lv-b { background: linear-gradient(180deg, #3a2e12, #2a210c); border-color: #d9a02a; color: #ffe29a; box-shadow: none; }
.forge-delta { display: grid; grid-template-columns: max-content max-content max-content max-content minmax(0, 1fr); gap: 3px 8px; align-items: baseline; font-variant-numeric: tabular-nums; }
.forge-delta li { display: contents; }
.fd-k { color: var(--text-2); font-weight: 700; }
.fd-a { color: var(--muted); text-align: right; }
.fd-to { color: var(--gold); font-weight: 900; }
.fd-b { color: #2e7d3f; text-align: right; }
.fd-d { font-size: 12px; font-weight: 800; color: #2e7d3f; }
[data-theme="night"] .fd-b, [data-theme="night"] .fd-d { color: #5fd07a; }
.forge-maxed { font-size: 16px; }
.forge-maxed b { color: var(--gold-ink); }
.forge-warn { color: var(--warn); font-weight: 700; line-height: 1.5; }
/* 花費：每一樣旁邊寫有多少，不夠的標紅 */
.forge-cost { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.forge-cost-t { font-weight: 800; color: var(--muted); margin-right: 2px; }
.forge-c { display: inline-flex; align-items: baseline; gap: 4px; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--field); font-size: 13px; line-height: 1.45; white-space: nowrap; }
.forge-c-name { display: inline-flex; align-items: center; gap: 3px; align-self: center; }
.forge-c-name .ico { width: 14px; height: 14px; color: var(--gold); fill: rgba(154, 106, 20, 0.16); stroke-width: 2; }
[data-theme="night"] .forge-c-name .ico { fill: rgba(232, 181, 74, 0.14); }
.forge-c b { font-variant-numeric: tabular-nums; font-size: 14px; }
.forge-c.mat-steel b { color: #4a6a8a; }
.forge-c.mat-essence b { color: var(--rar3); }
.forge-c.mat-dust b { color: var(--rar5); }
.forge-c[class*="tw-"] b { color: var(--tw); }
.forge-c-have { color: var(--muted); font-size: 12px; }
.forge-c.lack { border-color: #c0392b; background: color-mix(in srgb, #c0392b 9%, var(--field)); }
.forge-c.lack b, .forge-c.lack .forge-c-have { color: #b3261e; font-weight: 800; }
[data-theme="night"] .forge-c.mat-steel b { color: #8ab4dc; }
[data-theme="night"] .forge-c.lack { border-color: #ff7a6a; background: rgba(255, 122, 106, 0.08); }
[data-theme="night"] .forge-c.lack b, [data-theme="night"] .forge-c.lack .forge-c-have { color: #ff8a7a; }
.forge-go { margin-top: 0; }
.forge-go .btn { flex: 1 1 auto; max-width: 100%; }
.forge-lack { display: grid; gap: 4px; padding: 8px 10px; border-radius: 10px; border: 1px dashed #c0392b; background: color-mix(in srgb, #c0392b 6%, transparent); line-height: 1.55; }
.forge-lack b { color: #b3261e; }
.forge-tips { display: flex; flex-wrap: wrap; gap: 2px 14px; }
[data-theme="night"] .forge-lack { border-color: rgba(255, 122, 106, 0.6); background: rgba(255, 122, 106, 0.06); }
[data-theme="night"] .forge-lack b { color: #ff8a7a; }
.forge-table summary { cursor: pointer; color: var(--muted); font-weight: 700; line-height: 1.5; }
.forge-table table { margin-top: 6px; font-size: 13px; }
.forge-table .forge-t-mats { white-space: normal; }
/* 附魔：五個元素 */
.forge-els { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; padding-top: 4px; }
.forge-el { position: relative; display: grid; justify-items: center; gap: 1px; min-width: 0; padding: 7px 2px 6px; border-radius: 12px; border: 1px solid var(--line-2);
  background: var(--field); color: var(--text); font: inherit; line-height: 1.2; cursor: pointer; }
.forge-el:hover { border-color: var(--tw); }
.forge-el.on { border-color: var(--tw); background: color-mix(in srgb, var(--tw) 15%, var(--field)); box-shadow: 0 0 0 1px var(--tw); }
.forge-el:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.fe-ico { font-size: 20px; line-height: 1.15; }
.fe-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; font-size: 13px; }
.forge-el.on .fe-name { color: var(--tw); }
.fe-n { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fe-n.lack { color: #b3261e; }
[data-theme="night"] .fe-n.lack { color: #ff8a7a; }
.fe-now { position: absolute; top: -8px; right: -3px; padding: 0 5px; border-radius: 999px; background: var(--tw); color: #fff; font-size: 10px; font-weight: 800; line-height: 1.6; }
[data-theme="night"] .fe-now { color: #14171d; }
.forge-prev { display: grid; gap: 6px; padding: 10px 12px; border-radius: 10px; border-left: 4px solid var(--tw); background: color-mix(in srgb, var(--tw) 8%, var(--field)); line-height: 1.5; }
.forge-el-text { color: var(--tw); font-size: 16px; }
.forge-ench-now { color: var(--tw); }
/* 成功的時候裝備卡片亮一下 */
.gear-card.forge-hit { animation: forge-hit 1.2s ease-out 0.85s both; }
.gear-card.forge-hit-el { animation: forge-hit-el 1.5s ease-out both; }
@keyframes forge-hit {
  0% { box-shadow: 0 0 0 0 rgba(255, 205, 70, 0); }
  18% { box-shadow: 0 0 0 3px rgba(255, 205, 70, 0.95), 0 0 24px 6px rgba(255, 190, 60, 0.7); }
  100% { box-shadow: 0 0 0 0 rgba(255, 205, 70, 0); }
}
@keyframes forge-hit-el {
  0% { box-shadow: 0 0 0 0 transparent; }
  25% { box-shadow: 0 0 0 3px var(--tw), 0 0 26px 6px color-mix(in srgb, var(--tw) 70%, transparent); }
  100% { box-shadow: 0 0 0 0 transparent; }
}

/* 挑裝備 */
.forge-pick { display: grid; gap: 10px; }
.forge-pick .card-head { margin-bottom: 2px; }
.forge-tabs { display: flex; width: 100%; }
.forge-tabs .seg-btn { flex: 1 1 0; min-width: 0; padding-inline: 6px; overflow: hidden; text-overflow: ellipsis; }
.forge-who { padding-bottom: 6px; }
.forge-slots { gap: 5px; }
.forge-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.forge-sort > b { color: var(--muted); }
.forge-sort .seg-btn { padding: 5px 11px; font-size: 13px; }
.forge-group { display: grid; gap: 6px; }
.forge-group + .forge-group { margin-top: 6px; padding-top: 10px; border-top: 1px dashed var(--line-2); }
.fg-head { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fg-pic { flex: none; width: 38px; height: 34px; overflow: hidden; display: grid; place-items: start center; line-height: 0; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--line); }
.fg-who { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; line-height: 1.35; }
.fg-who b { font-size: 15px; }
.forge-list { display: grid; gap: 6px; }
.forge-item { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 6px 10px 6px 6px; border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--rc) 35%, var(--line-2)); background: var(--field); color: inherit; font: inherit; text-align: left; line-height: 1.3; cursor: pointer; }
.forge-item:hover { border-color: var(--rc); }
.forge-item.on { border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold); background: color-mix(in srgb, var(--gold) 12%, var(--field)); }
.forge-item:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.fi-main { flex: 1; display: grid; gap: 1px; min-width: 0; }
.fi-name { display: flex; align-items: center; gap: 6px; min-width: 0; }
.fi-name b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fi-sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fi-upg { flex: none; padding: 0 6px; border-radius: 999px; background: color-mix(in srgb, var(--gold) 20%, transparent); color: var(--gold-ink); font-weight: 900; font-size: 12px; line-height: 1.55; font-variant-numeric: tabular-nums; }
.fi-upg.max { background: linear-gradient(90deg, #ffe28a, #f0b43a); color: #4a3004; }
.fi-el { flex: none; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font-size: 11px; line-height: 1;
  background: color-mix(in srgb, var(--tw) 18%, transparent); box-shadow: inset 0 0 0 1px var(--tw); }
.fi-lock { flex: none; font-size: 13px; opacity: 0.75; }
.forge-none { padding: 2px; }

/* 素材、元素結晶 */
.forge-mats { display: grid; gap: 8px; }
.forge-mats .card-head, .forge-info .card-head { margin-bottom: 2px; }
.forge-have { display: grid; grid-template-columns: 4.8em minmax(0, 1fr); gap: 8px; align-items: baseline; line-height: 1.6; }
.forge-have-t { font-weight: 800; color: var(--muted); }
.forge-mats .shrine-rules, .forge-info .shrine-rules { margin: 4px 0 0; line-height: 1.6; }

@media (max-width: 480px) {
  .forge-box { padding: 10px; }
  .forge-els { gap: 4px; }
  .forge-el { padding: 6px 1px 5px; border-radius: 10px; }
  .fe-ico { font-size: 18px; }
  .fe-name { font-size: 12px; }
  .fe-n { font-size: 11px; }
  .forge-lv-a, .forge-lv-b { min-width: 50px; height: 38px; font-size: 21px; }
  .forge-c { padding: 2px 8px; }
  .forge-tabs .seg-btn { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .forge-pop { animation: forge-pop-calm 1.6s linear forwards; transform: translate(-50%, -130%); }
  .gear-card.forge-hit, .gear-card.forge-hit-el { animation: none; box-shadow: 0 0 0 2px var(--gold); }
}

/* ───────── 專武（2026-10-01.6）：灌名英雄的專屬武器 ─────────
   稀有度是神話（rar-5），另外加 .excl：深紅＋金色的框、「專武」徽章（.excl-badge）、加強專屬技能的「之前 → 之後」（.excl-eff）
   這幾條每一頁都用得到（物品欄、冒險者的裝備格、換裝備的清單、鐵匠鋪），放在這裡（forge.css 每一頁都有載入，排在 style.css 後面） */
:root { --rarx: #b81e3c; --rarx-gold: #b8801a; }
:root[data-theme="night"] { --rarx: #ff5a72; --rarx-gold: #f2c250; }
.excl { --rc: var(--rarx); }
.gear-ico.excl { border-color: var(--rarx-gold);
  background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--rarx-gold) 26%, var(--field)), color-mix(in srgb, var(--rarx) 20%, var(--field)));
  box-shadow: 0 0 0 1px var(--rarx), 0 0 10px color-mix(in srgb, var(--rarx) 50%, transparent); }
.gear-card.excl { border-color: var(--rarx-gold);
  background: linear-gradient(170deg, color-mix(in srgb, var(--rarx-gold) 9%, var(--field)), color-mix(in srgb, var(--rarx) 10%, var(--field)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rarx) 40%, transparent); }
.excl-badge { display: inline-flex; align-items: center; gap: 3px; margin-right: 5px; padding: 0 7px 0 5px; border-radius: 4px; vertical-align: 1px; white-space: nowrap;
  background: linear-gradient(135deg, #7a0c22, #c8283c 55%, #d89a2a); border: 1px solid #f2c250; color: #fff6d8;
  font: 900 11.5px/1.6 var(--font); letter-spacing: 0.08em; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
.excl-badge i { font-style: normal; font-size: 10px; letter-spacing: 0; }
.xg-excl { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; }
.xg-owner { color: var(--rarx); }
.xg-fx-excl { display: grid; gap: 6px; }
.xg-fx-excl p { margin: 0; }
.excl-eff { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; padding: 6px 9px; border-radius: 8px; line-height: 1.5;
  background: color-mix(in srgb, var(--rarx) 8%, var(--field)); border: 1px dashed color-mix(in srgb, var(--rarx-gold) 75%, transparent); }
.excl-eff-skill { color: var(--rarx); }
.excl-eff-was { color: var(--muted); }
.excl-eff-to { color: var(--rarx-gold); font-weight: 900; }
.excl-eff-now { color: var(--rarx); }
.equip-slot.excl { position: relative; border-color: var(--rarx-gold);
  background: linear-gradient(170deg, color-mix(in srgb, var(--rarx-gold) 12%, var(--field)), color-mix(in srgb, var(--rarx) 12%, var(--field)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rarx) 35%, transparent); }
.es-excl { position: absolute; top: 3px; left: 3px; padding: 0 4px; border-radius: 3px; background: linear-gradient(135deg, #7a0c22, #c8283c); border: 1px solid #f2c250;
  color: #fff2c0; font: 900 10px/13px var(--font); letter-spacing: 0.04em; }
.gear-pick li.excl .rar-text, .forge-item.excl .rar-text { color: var(--rarx); }
.forge-item.excl { border-color: color-mix(in srgb, var(--rarx-gold) 60%, var(--line-2)); background: linear-gradient(100deg, color-mix(in srgb, var(--rarx) 7%, var(--field)), var(--field) 60%); }
/* 武器的光（js/exp-weapon-fx.js 的 weaponSvg）：專武＝那位英雄的顏色（--wg、--wx2 兩個顏色來回換），不用神話的七彩 */
.wfx-x .wfx-o1 { animation: wfx-pulse 1.5s ease-in-out infinite, wfx-xglow 2.6s ease-in-out infinite; filter: drop-shadow(0 0 0.8px var(--wg)); }
.wfx-x .wfx-o2 { animation: wfx-pulse2 1.5s ease-in-out infinite, wfx-xglow 2.6s ease-in-out infinite; }
.wfx-x .wfx-in, .wfx-x .wfx-o3 { animation: wfx-xglow 2.6s ease-in-out infinite; }
.wfx-x .wfx-gl { animation-duration: 1.1s; }
@keyframes wfx-xglow { 0%, 100% { fill: var(--wg); } 50% { fill: var(--wx2); } }

/* 鐵匠鋪：打造專武（10 位英雄一張一張的卡） */
.forge-excl { display: grid; gap: 10px; scroll-margin-top: 76px; }
.forge-excl .card-head { margin-bottom: 0; }
.forge-excl .card-head .row { flex-wrap: wrap; gap: 2px 12px; align-items: baseline; }
.fx-cost { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fx-cost .soul-ico { width: 12px; height: 12px; }
.fx-ip { margin: 0; line-height: 1.55; color: var(--text-2); }
.fx-ip b { color: var(--rarx); font-variant-numeric: tabular-nums; }
.fx-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
@media (min-width: 640px) { .fx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fx-card { --hc: #c8283c; --hg: #ffd27a; --hrgb: 255, 90, 110; position: relative; display: grid; align-content: start; gap: 7px; min-width: 0; padding: 10px 12px 12px; border-radius: 14px;
  border: 1.5px solid color-mix(in srgb, var(--hc) 55%, var(--line-2));
  background: radial-gradient(120% 70% at 100% 0%, rgba(var(--hrgb), 0.16), transparent 60%), var(--surface-2); scroll-margin-top: 80px; }
.fx-card.hi { box-shadow: 0 0 0 2px var(--rarx-gold), 0 0 18px rgba(var(--hrgb), 0.45); }
.fx-card.off { border-style: dashed; background: var(--surface-2); }
.fx-card.off .fx-pic, .fx-card.off .fx-wpn { filter: grayscale(0.85); opacity: 0.6; }
.fx-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.fx-pic { flex: none; display: grid; place-items: end center; width: 56px; height: 58px; overflow: hidden; line-height: 0; border-radius: 10px;
  background: radial-gradient(circle at 50% 70%, rgba(var(--hrgb), 0.35), transparent 70%), var(--field); border: 1px solid var(--line); }
.fx-who { flex: 1; display: grid; gap: 0; min-width: 0; line-height: 1.3; }
.fx-title { color: var(--hc); font-weight: 800; }
[data-theme="night"] .fx-title { color: var(--hg); }
.fx-name { font-size: 17px; font-family: var(--serif); font-weight: 900; }
.fx-star { display: inline-flex; align-items: baseline; gap: 2px; }
.fx-wpn { flex: none; line-height: 0; }
.fx-wname { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px; font-size: 15px; }
.fx-wname .rar-text { color: var(--rarx); }
.fx-stats { margin: 0; color: var(--text-2); line-height: 1.55; }
.fx-mine { margin: 0; color: var(--muted); }
.fx-go { margin-top: 2px; }
.fx-go .btn { flex: 1 1 auto; }
.fx-none { margin: 2px 0 0; padding: 6px 9px; border-radius: 8px; background: var(--field); border: 1px dashed var(--line-2); color: var(--muted); line-height: 1.5; }
.fx-none .link { font-weight: 800; }

/* 打好的慶祝卡（openSheet 的 .excl-result）：轉圈的光芒＋英雄顏色的光＋大大的專武 */
.excl-result .xr { --hc: #c8283c; --hg: #ffd27a; --hrgb: 255, 90, 110; display: grid; gap: 10px; }
.xr-stage { position: relative; display: grid; place-items: center; height: 150px; overflow: hidden; border-radius: 14px;
  background: radial-gradient(circle at 50% 55%, rgba(var(--hrgb), 0.45), rgba(var(--hrgb), 0.08) 55%, transparent 75%), linear-gradient(#2a0a12, #12060a); }
.xr-rays { position: absolute; left: 50%; top: 50%; width: 360px; height: 360px; margin: -180px 0 0 -180px; border-radius: 50%; opacity: 0.55;
  background: repeating-conic-gradient(from 0deg, rgba(var(--hrgb), 0.55) 0deg 7deg, transparent 7deg 20deg, rgba(255, 214, 120, 0.45) 20deg 25deg, transparent 25deg 36deg);
  -webkit-mask: radial-gradient(circle, #000 18%, transparent 70%); mask: radial-gradient(circle, #000 18%, transparent 70%); animation: xr-spin 14s linear infinite; }
.xr-glow { position: absolute; left: 50%; top: 50%; width: 120px; height: 120px; margin: -60px 0 0 -60px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 246, 216, 0.95), rgba(var(--hrgb), 0.6) 40%, transparent 70%); animation: xr-pulse 1.8s ease-in-out infinite; }
.xr-ico { position: relative; z-index: 1; line-height: 0; animation: xr-pop 0.8s cubic-bezier(0.2, 1.6, 0.4, 1) both; filter: drop-shadow(0 0 10px rgba(var(--hrgb), 0.9)); }
.xr-ico .gear-ico { padding: 6px; border-width: 3px; border-radius: 12px; }
.xr-spark { position: absolute; z-index: 1; color: #fff2b0; font-style: normal; font-size: 16px; text-shadow: 0 0 6px rgba(var(--hrgb), 1); animation: xr-twinkle 1.6s ease-in-out infinite; }
.xr-spark.s1 { left: 22%; top: 18%; }
.xr-spark.s2 { right: 20%; top: 26%; animation-delay: -0.5s; font-size: 12px; }
.xr-spark.s3 { left: 28%; bottom: 16%; animation-delay: -0.9s; font-size: 11px; }
.xr-spark.s4 { right: 26%; bottom: 20%; animation-delay: -1.2s; }
.xr-title { margin: 0; display: grid; justify-items: center; gap: 2px; text-align: center; }
.xr-kicker { font-size: 13px; font-weight: 800; color: var(--hc); letter-spacing: 0.06em; }
[data-theme="night"] .xr-kicker { color: var(--hg); }
.xr-title b { font: 900 22px/1.3 var(--serif); color: var(--rarx); }
.xr-hero { display: flex; align-items: center; gap: 10px; padding: 6px 10px; border-radius: 10px; background: var(--field); border: 1px solid var(--line-2); line-height: 1.5; }
.xr-pic { flex: none; display: grid; place-items: end center; width: 64px; height: 70px; overflow: hidden; line-height: 0; }
@keyframes xr-spin { to { transform: rotate(360deg); } }
@keyframes xr-pulse { 0%, 100% { opacity: 0.75; transform: scale(0.92); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes xr-pop { 0% { opacity: 0; transform: scale(0.2) rotate(-25deg); } 70% { opacity: 1; transform: scale(1.12) rotate(4deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes xr-twinkle { 0%, 100% { opacity: 0.2; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1.15); } }
@media (prefers-reduced-motion: reduce) {
  .xr-rays, .xr-glow, .xr-ico, .xr-spark, .wfx-x * { animation: none !important; }
}
.forge-xlink { margin: -4px 0 0; text-align: center; }
.forge-xlink .link { font-weight: 800; color: var(--rarx); }
