.ancestral-forge-nav-btn { position:relative; overflow:visible !important; }
.ancestral-forge-nav-icon { filter:drop-shadow(0 0 5px rgba(251,191,36,.75)); transform:scale(1.08); }
.ancestral-forge-nav-glow { position:absolute; inset:5px; border:1px solid rgba(251,191,36,.35); border-radius:10px; pointer-events:none; animation:forgeNavPulse 2.8s ease-in-out infinite; }

#ancestralForgeOverlay { position:fixed; inset:0; z-index:10080; display:grid; place-items:center; padding:clamp(12px,2vw,30px); background:radial-gradient(circle at 50% 20%,rgba(120,53,15,.22),transparent 44%),rgba(2,6,12,.86); backdrop-filter:blur(8px); }
#ancestralForgeOverlay[hidden] { display:none; }
.forge-shell { --forge-gold:#fbbf24; --forge-amber:#fb923c; width:min(1320px,96vw); height:min(850px,92dvh); overflow:hidden; display:grid; grid-template-rows:auto auto minmax(0,1fr); color:#edf4ff; border:1px solid rgba(251,191,36,.42); border-radius:22px; background:linear-gradient(155deg,rgba(20,27,39,.985),rgba(7,11,19,.99) 58%,rgba(26,13,5,.985)); box-shadow:0 30px 90px rgba(0,0,0,.72),0 0 45px rgba(251,146,60,.12),inset 0 1px rgba(255,255,255,.08); }
.forge-header { min-height:100px; display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:16px; padding:18px 22px; border-bottom:1px solid rgba(251,191,36,.18); background:linear-gradient(90deg,rgba(120,53,15,.25),rgba(15,23,42,.35) 55%,rgba(120,53,15,.16)); }
.forge-emblem { position:relative; width:68px; height:68px; display:grid; place-items:center; border:1px solid rgba(251,191,36,.52); border-radius:18px; background:radial-gradient(circle,rgba(251,191,36,.2),rgba(69,26,3,.4)); box-shadow:inset 0 0 20px rgba(251,191,36,.1); }
.forge-emblem::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(251,146,60,.18); border-radius:22px; transform:rotate(7deg); }
.forge-emblem img { width:58px; height:58px; object-fit:contain; filter:drop-shadow(0 7px 9px rgba(0,0,0,.55)); }
.forge-title small,.forge-section-heading small { display:block; margin-bottom:3px; color:#d69e48; font-size:.63rem; font-weight:900; letter-spacing:.18em; }
.forge-title h2 { margin:0; color:#fff7d6; font:900 clamp(1.25rem,2.5vw,2rem)/1 Georgia,serif; letter-spacing:.04em; text-shadow:0 2px 12px rgba(251,146,60,.35); }
.forge-title p { margin:7px 0 0; color:#91a0b8; font-size:.72rem; }
.forge-balance,.forge-timer { min-width:132px; padding:10px 14px; border:1px solid rgba(251,191,36,.2); border-radius:13px; background:rgba(2,6,12,.48); text-align:right; }
.forge-balance span,.forge-timer span { display:block; color:#8190a9; font-size:.55rem; font-weight:900; letter-spacing:.13em; }
.forge-balance strong { color:#fde68a; font-size:1.22rem; }
.forge-balance strong::before { content:"✦"; margin-right:7px; color:#fb923c; }
.forge-timer strong { color:#f8fafc; font:800 .9rem/1.5 ui-monospace,monospace; letter-spacing:.08em; }
.forge-close { width:38px; height:38px; align-self:start; color:#cbd5e1; border:1px solid rgba(148,163,184,.18); border-radius:12px; background:rgba(15,23,42,.7); font-size:1.5rem; cursor:pointer; }
.forge-tabs { display:flex; gap:8px; padding:12px 22px; border-bottom:1px solid rgba(148,163,184,.1); background:rgba(5,9,16,.65); }
.forge-tab { position:relative; min-width:160px; padding:11px 18px; color:#8391a8; border:1px solid transparent; border-radius:11px; background:transparent; font-size:.68rem; font-weight:900; letter-spacing:.1em; cursor:pointer; }
.forge-tab.is-active { color:#fff4c2; border-color:rgba(251,191,36,.26); background:linear-gradient(180deg,rgba(251,191,36,.12),rgba(120,53,15,.16)); box-shadow:inset 0 -2px #f59e0b; }
.forge-body { min-height:0; overflow:auto; scrollbar-color:#9a5f16 #101724; scrollbar-width:thin; }
.forge-view { min-height:100%; padding:20px 22px 26px; }
.forge-view[hidden] { display:none; }
.forge-toolbar { display:grid; grid-template-columns:minmax(200px,1fr) 180px auto; gap:10px; align-items:center; margin-bottom:16px; }
.forge-input,.forge-select { width:100%; min-height:42px; padding:0 13px; color:#e5edf9; border:1px solid rgba(148,163,184,.2); border-radius:11px; outline:none; background:#0b1220; font-size:.75rem; }
.forge-input:focus,.forge-select:focus { border-color:rgba(251,191,36,.62); box-shadow:0 0 0 3px rgba(251,191,36,.08); }
.forge-selection { display:flex; align-items:center; justify-content:flex-end; gap:10px; color:#94a3b8; font-size:.68rem; font-weight:800; }
.forge-primary,.forge-buy { padding:11px 16px; color:#241405; border:1px solid #fde68a; border-radius:10px; background:linear-gradient(180deg,#fcd34d,#f59e0b); box-shadow:0 6px 16px rgba(245,158,11,.18); font-size:.66rem; font-weight:950; letter-spacing:.07em; cursor:pointer; }
.forge-primary:disabled,.forge-buy:disabled { opacity:.4; filter:grayscale(.6); cursor:not-allowed; }
.forge-candidate-grid,.forge-offer-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(218px,1fr)); gap:12px; }
.forge-card { position:relative; contain:layout paint style; content-visibility:auto; contain-intrinsic-size:auto 252px; overflow:hidden; min-height:230px; border:1px solid rgba(148,163,184,.15); border-radius:15px; background:linear-gradient(155deg,rgba(22,31,47,.94),rgba(7,12,22,.96)); box-shadow:0 10px 22px rgba(0,0,0,.18); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.forge-card:hover { transform:translateY(-2px); border-color:rgba(251,191,36,.34); box-shadow:0 14px 28px rgba(0,0,0,.28); }
.forge-card.is-selected { border-color:#fbbf24; box-shadow:0 0 0 2px rgba(251,191,36,.15),0 16px 30px rgba(0,0,0,.3); }
.forge-card.is-blocked { opacity:.58; filter:saturate(.65); }
.forge-card-top { min-height:104px; display:grid; grid-template-columns:90px 1fr; gap:10px; align-items:center; padding:12px; background:radial-gradient(circle at 18% 45%,rgba(251,191,36,.14),transparent 50%); }
.forge-card.is-ultra .forge-card-top { background:radial-gradient(circle at 18% 45%,rgba(192,132,252,.2),transparent 52%); }
.forge-art { width:86px; height:86px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(2,6,12,.42); }
.forge-art img { max-width:82px; max-height:82px; object-fit:contain; image-rendering:auto; filter:drop-shadow(0 8px 8px rgba(0,0,0,.46)); }
.forge-card h3 { margin:0 0 5px; color:#f8fafc; font-size:.92rem; line-height:1.15; }
.forge-variant { display:inline-flex; padding:3px 7px; color:#2a1600; border-radius:999px; background:#fbbf24; font-size:.52rem; font-weight:950; letter-spacing:.08em; }
.is-ultra .forge-variant { color:#f8f0ff; background:linear-gradient(90deg,#7c3aed,#d946ef); }
.forge-source { display:block; margin-top:7px; color:#8997aa; font-size:.56rem; }
.forge-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; padding:9px 12px; border-top:1px solid rgba(148,163,184,.08); border-bottom:1px solid rgba(148,163,184,.08); }
.forge-stats span { text-align:center; color:#718198; font-size:.5rem; font-weight:900; }
.forge-stats b { display:block; margin-top:2px; color:#dbe7f7; font-size:.67rem; }
.forge-card-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 12px; }
.forge-essence { color:#fde68a; font-size:.7rem; font-weight:950; }
.forge-essence::before { content:"✦"; margin-right:5px; color:#fb923c; }
.forge-purity { padding:4px 7px; color:#bbf7d0; border:1px solid rgba(74,222,128,.22); border-radius:7px; background:rgba(20,83,45,.18); font-size:.55rem; font-weight:900; }
.forge-genetics { color:#c4b5fd; font-size:.56rem; font-weight:900; }
.forge-select-box { position:absolute; top:9px; right:9px; z-index:2; width:22px; height:22px; accent-color:#f59e0b; }
.forge-blocked { position:absolute; inset:auto 10px 10px; padding:7px; color:#fecaca; border:1px solid rgba(248,113,113,.25); border-radius:8px; background:rgba(69,10,10,.86); text-align:center; font-size:.55rem; font-weight:850; }
.forge-section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:5px 0 12px; }
.forge-section-heading h3 { margin:0; color:#f8fafc; font-size:1rem; }
.forge-section-heading p { margin:0; color:#738197; font-size:.62rem; }
.forge-shop-section + .forge-shop-section { margin-top:25px; padding-top:20px; border-top:1px solid rgba(148,163,184,.11); }
.forge-item-card { min-height:182px; }
.forge-item-card .forge-card-top { min-height:95px; grid-template-columns:72px 1fr; }
.forge-item-card .forge-art { width:66px; height:66px; }
.forge-item-card .forge-art img { max-width:61px; max-height:61px; }
.forge-equiper-card { min-height:300px; }
.forge-equiper-card .forge-card-top { background:radial-gradient(circle at 18% 45%,rgba(96,165,250,.14),transparent 54%); }
.forge-equiper-card.is-legendary { border-color:rgba(251,191,36,.42); }
.forge-equiper-card.is-epic { border-color:rgba(192,132,252,.32); }
.forge-equiper-rarity { display:inline-flex; margin-bottom:5px; padding:3px 7px; color:#dbeafe; border:1px solid rgba(147,197,253,.3); border-radius:999px; background:rgba(30,64,175,.24); font-size:.52rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.forge-equiper-card.is-legendary .forge-equiper-rarity { color:#422006; border-color:#fbbf24; background:#fde68a; }
.forge-equiper-card.is-epic .forge-equiper-rarity { color:#f3e8ff; border-color:#c084fc; background:#6b21a8; }
.forge-equiper-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:10px 12px; border-top:1px solid rgba(148,163,184,.08); border-bottom:1px solid rgba(148,163,184,.08); }
.forge-equiper-stats span { min-width:0; padding:6px 7px; border:1px solid rgba(148,163,184,.1); border-radius:8px; background:rgba(2,6,12,.32); }
.forge-equiper-stats b,.forge-equiper-stats strong { display:block; overflow:hidden; text-overflow:ellipsis; }
.forge-equiper-stats b { color:#8190a9; font-size:.49rem; }
.forge-equiper-stats strong { margin-top:2px; color:#e5edf9; font-size:.59rem; }
.forge-equiper-stats .forge-equiper-passive { grid-column:1/-1; }
.forge-equiper-stats .forge-equiper-passive strong { white-space:normal; color:#fde68a; line-height:1.35; }
.forge-money-card .forge-variant { color:#422006; background:#fde68a; }
.forge-offer-limit { color:#8290a4; font-size:.55rem; }
.forge-buy { padding:8px 11px; font-size:.57rem; }
.forge-empty,.forge-loading,.forge-error { grid-column:1/-1; min-height:180px; display:grid; place-items:center; padding:25px; color:#8795aa; border:1px dashed rgba(148,163,184,.17); border-radius:15px; background:rgba(3,7,14,.28); text-align:center; font-size:.72rem; }
.forge-error { color:#fca5a5; border-color:rgba(248,113,113,.25); }
.forge-toast { position:absolute; left:50%; bottom:18px; z-index:4; max-width:min(500px,90%); transform:translateX(-50%); padding:10px 15px; color:#dcfce7; border:1px solid rgba(74,222,128,.3); border-radius:10px; background:rgba(5,46,22,.95); box-shadow:0 12px 30px rgba(0,0,0,.45); font-size:.67rem; font-weight:800; }
.forge-toast.is-error { color:#fee2e2; border-color:rgba(248,113,113,.35); background:rgba(69,10,10,.96); }
body.ancestral-forge-open { overflow:hidden; }

@keyframes forgeNavPulse { 0%,100% { opacity:.35; box-shadow:0 0 0 rgba(251,191,36,0); } 50% { opacity:.85; box-shadow:0 0 12px rgba(251,191,36,.32); } }
@media (max-width:760px) {
  #ancestralForgeOverlay { padding:0; place-items:stretch; }
  .forge-shell { width:100%; height:100dvh; border-width:0; border-radius:0; }
  .forge-header { grid-template-columns:auto 1fr auto; gap:10px; min-height:82px; padding:12px; }
  .forge-emblem { width:52px; height:52px; border-radius:14px; }
  .forge-emblem img { width:45px; height:45px; }
  .forge-title p,.forge-timer span { display:none; }
  .forge-title h2 { font-size:1.15rem; }
  .forge-balance { grid-column:1/3; grid-row:2; min-width:0; padding:6px 10px; text-align:left; }
  .forge-balance span,.forge-balance strong { display:inline; margin-right:7px; font-size:.7rem; }
  .forge-timer { min-width:105px; padding:7px 9px; }
  .forge-close { grid-column:3; grid-row:1; }
  .forge-tabs { padding:8px 10px; }
  .forge-tab { flex:1; min-width:0; padding:10px 6px; font-size:.58rem; }
  .forge-view { padding:13px 10px 22px; }
  .forge-toolbar { grid-template-columns:1fr 132px; }
  .forge-selection { grid-column:1/-1; justify-content:space-between; }
  .forge-candidate-grid,.forge-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .forge-card { min-height:215px; border-radius:12px; }
  .forge-card-top { min-height:91px; grid-template-columns:65px 1fr; gap:7px; padding:8px; }
  .forge-art { width:62px; height:70px; }
  .forge-art img { max-width:61px; max-height:67px; }
  .forge-card h3 { font-size:.72rem; }
  .forge-stats { gap:2px; padding:7px 6px; }
  .forge-stats b { font-size:.57rem; }
  .forge-card-foot { padding:9px 8px; flex-wrap:wrap; }
  .forge-item-card { min-height:170px; }
}
@media (max-width:390px) { .forge-candidate-grid,.forge-offer-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .ancestral-forge-nav-glow { animation:none; } .forge-card { transition:none; } }
