.nvb-workshop{--nvb-gold:#e2ad5d;--nvb-copper:#ba6f38;--nvb-line:rgba(224,165,77,.22);position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:14px;color:#f4eee2;font-family:system-ui,sans-serif}.nvb-workshop[hidden]{display:none!important}
.nvb-backdrop{position:absolute;inset:0;background:rgba(3,4,6,.82);backdrop-filter:blur(6px)}
.nvb-modal{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(680px,97vw);height:min(850px,94dvh);overflow:hidden;border:1px solid rgba(224,165,77,.46);border-radius:4px;background:radial-gradient(circle at 70% 25%,rgba(151,77,31,.08),transparent 30%),linear-gradient(145deg,#1c1714,#0c0f13 62%,#15100d);box-shadow:0 28px 90px rgba(0,0,0,.7),inset 0 1px rgba(255,221,155,.1)}
.nvb-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid rgba(224,165,77,.2);background:linear-gradient(90deg,rgba(99,48,21,.48),rgba(24,22,22,.22))}
.nvb-header p,.nvb-header h2,.nvb-header span{margin:0}.nvb-header p{color:#d99a55;font-size:.61rem;font-weight:950;letter-spacing:.15em}.nvb-header h2{margin-top:2px;color:#f4e8d2;font-size:1.2rem}.nvb-header span{display:block;margin-top:2px;color:#968d82;font-size:.68rem}
.nvb-header>button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:3px;background:rgba(255,255,255,.035);color:#e7ded3;font-size:1.35rem}
.nvb-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(108px,min(22dvh,180px)) minmax(0,1fr);min-height:0}.nvb-layout>aside,.nvb-layout>main{min-height:0;overflow:auto}.nvb-main-panel{padding:13px}.nvb-selected-emblem{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--nvb-rarity-color,#b69060) 45%,rgba(255,255,255,.08));border-radius:3px;color:var(--nvb-rarity-color,#d8b277);background:radial-gradient(circle,color-mix(in srgb,var(--nvb-rarity-color,#b69060) 10%,transparent),rgba(0,0,0,.12));font-weight:950;letter-spacing:.03em}
.nvb-selected{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--nvb-rarity-color,#c6904e) 35%,rgba(255,255,255,.07));border-radius:4px;background:linear-gradient(100deg,color-mix(in srgb,var(--nvb-rarity-color,#c6904e) 8%,rgba(73,38,21,.2)),rgba(0,0,0,.12))}
.nvb-selected-emblem{width:48px;height:48px;font-size:.7rem}.nvb-selected p,.nvb-selected h3,.nvb-selected small{margin:0}.nvb-selected p{color:var(--nvb-rarity-color,#d39a56);font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.nvb-selected h3{margin-top:2px;color:#f2ecdf;font-size:.92rem}.nvb-selected small{display:block;margin-top:3px;color:#85817b;font-size:.61rem}.nvb-selected>strong{color:#f1bd6c;font-size:1.4rem}
.nvb-forge-panel{margin-top:8px;padding:10px;border:1px solid rgba(224,165,77,.15);border-radius:4px;background:linear-gradient(160deg,rgba(71,40,23,.12),rgba(255,255,255,.012))}
.nvb-progression{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin-bottom:10px}.nvb-step{position:relative;display:grid;place-items:center;min-width:0;height:31px;border:1px solid rgba(255,255,255,.055);border-radius:2px;background:rgba(255,255,255,.018);color:#5f5d59}.nvb-step span{display:none}.nvb-step small{font-size:.59rem;font-weight:900}.nvb-step.is-done{border-color:rgba(154,111,61,.2);color:#8e775e}.nvb-step.is-current{border-color:#c38341;color:#ffd28d;background:rgba(139,72,30,.25);box-shadow:inset 0 -2px #d99a55}.nvb-step.is-target{border-color:#e6ba71;color:#fff2cf;background:rgba(172,105,41,.3);box-shadow:0 0 12px rgba(225,158,76,.12)}.nvb-step.is-future{opacity:.48}
.nvb-enhancement-hero{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:3px;background:radial-gradient(circle at 50% 50%,rgba(214,135,61,.08),transparent 45%),rgba(0,0,0,.12)}
.nvb-current-level,.nvb-target-level{text-align:center}.nvb-current-level small,.nvb-target-level small{display:block;color:#77736e;font-size:.54rem;font-weight:900;letter-spacing:.08em}.nvb-current-level strong,.nvb-target-level strong{display:block;margin-top:2px;font-size:1.75rem}.nvb-current-level strong{color:#b8aaa0}.nvb-target-level strong{color:#f5c46f;text-shadow:0 0 12px rgba(225,154,73,.2)}
.nvb-forge-arrow{display:grid;place-items:center;gap:4px}.nvb-forge-arrow span{position:relative;display:block;width:80%;height:1px;background:linear-gradient(90deg,transparent,#c88847,#e3b465)}.nvb-forge-arrow span::after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid #e3b465;border-top:4px solid transparent;border-bottom:4px solid transparent}.nvb-forge-arrow b{color:#8f714f;font-size:.52rem;letter-spacing:.11em}
.nvb-chance-panel{margin-top:8px;padding:9px;border:1px solid rgba(255,255,255,.065);border-radius:3px;background:rgba(255,255,255,.02)}.nvb-chance-panel>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.nvb-chance-panel p{margin:0;color:#aaa49a;font-size:.67rem}.nvb-chance-panel strong{color:#9ed19a;font-size:1.12rem}.nvb-chance-track{height:8px!important;margin-top:6px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:2px;background:#0b0d0c}.nvb-chance-track span{display:block;width:var(--nvb-chance);height:100%;background:linear-gradient(90deg,#90422d,#d19145,#9ccf82)}.nvb-chance-panel>small{display:block;margin-top:5px;color:#777873;font-size:.59rem}
.nvb-cost-header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:11px 0 6px}.nvb-cost-header p,.nvb-cost-header h3{margin:0}.nvb-cost-header p{color:#8e704e;font-size:.53rem;font-weight:900;letter-spacing:.11em}.nvb-cost-header h3{margin-top:2px;color:#dfd6c8;font-size:.78rem}.nvb-cost-header>span{color:#9a7650;font-size:.52rem;font-weight:900}
.nvb-material-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.nvb-material-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:7px;align-items:center;min-height:65px;padding:6px;border:1px solid rgba(255,255,255,.07);border-radius:3px;background:rgba(255,255,255,.018)}.nvb-material-card.is-ready{border-color:rgba(102,166,99,.24)}.nvb-material-card.is-missing{border-color:rgba(190,78,59,.4);background:rgba(93,30,23,.14)}
.nvb-material-icon{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid rgba(255,255,255,.055);border-radius:2px;background:rgba(0,0,0,.16)}.nvb-material-sprite{display:block;width:56px;height:56px;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}.nvb-material-fallback{display:block;width:26px;height:26px;transform:rotate(45deg);border:1px solid rgba(255,255,255,.16);background:var(--nvb-material,#8e8172);box-shadow:0 0 12px color-mix(in srgb,var(--nvb-material,#8e8172) 25%,transparent)}
.nvb-gold-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid #c99a45;border-radius:50%;color:#f3cd78;background:radial-gradient(circle,#7d5929,#35210f);font-size:.57rem;font-weight:950}.nvb-material-copy{min-width:0}.nvb-material-copy span{display:block;overflow:hidden;color:#aaa49a;font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.nvb-material-copy strong{display:block;margin-top:3px;color:#ebe4d9;font-size:.71rem}.nvb-material-card>b{position:absolute;right:5px;bottom:3px;color:#6e946d;font-size:.46rem;letter-spacing:.06em}.nvb-material-card.is-missing>b{color:#bd6d5e}
.nvb-risk{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;margin-top:8px;padding:8px;border:1px solid rgba(189,95,60,.2);border-radius:3px;background:rgba(76,29,20,.1)}.nvb-risk-mark{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(201,111,74,.4);border-radius:50%;color:#d98b68;font-weight:950}.nvb-risk strong{color:#d8b19f;font-size:.64rem}.nvb-risk p{margin:2px 0 0;color:#897d76;font-size:.59rem;line-height:1.35}.nvb-risk p b{color:#b8b0a5}
.nvb-upgrade{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;margin-top:8px;padding:8px 13px;border:1px solid rgba(231,164,77,.7);border-radius:4px;background:linear-gradient(180deg,#9c5426,#5c2817);color:#fff3dd;box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.2);font-weight:950;letter-spacing:.045em}.nvb-upgrade span{font-size:.76rem}.nvb-upgrade small{color:#e6c18f;font-size:.61rem}.nvb-upgrade:not(:disabled):hover{filter:brightness(1.12)}.nvb-upgrade:disabled{opacity:.32;filter:saturate(.5)}
.nvb-message{margin:8px 0 0;padding:8px;border:1px solid transparent;border-radius:3px;font-size:.68rem;font-weight:850}.nvb-message.is-success{border-color:rgba(70,145,78,.32);background:rgba(43,112,52,.2);color:#aee6b4}.nvb-message.is-error{border-color:rgba(181,73,55,.3);background:rgba(122,44,34,.2);color:#e8aa96}
.nvb-max-state{display:grid;place-items:center;min-height:220px;text-align:center}.nvb-max-state p,.nvb-max-state h3{margin:0}.nvb-max-state p{color:#8f714f;font-size:.58rem;font-weight:900;letter-spacing:.12em}.nvb-max-state h3{margin:5px 0;color:#f0bd6b;font-size:2.5rem}.nvb-max-state strong{color:#d9d1c6;font-size:.76rem}
.nvb-empty{color:#8b867e;text-align:center;padding:25px 8px;font-size:.72rem}.nvb-empty--main{display:grid;place-items:center;min-height:360px;border:1px dashed rgba(224,165,77,.12);border-radius:4px}
.nvb-rarity--common{--nvb-rarity-color:#a8aaa7}.nvb-rarity--uncommon{--nvb-rarity-color:#70bf78}.nvb-rarity--rare{--nvb-rarity-color:#5f9fe1}.nvb-rarity--epic{--nvb-rarity-color:#ae75d5}.nvb-rarity--legendary{--nvb-rarity-color:#dfa64e}.nvb-rarity--mythic{--nvb-rarity-color:#dd696f}
body.nvb-open{overflow:hidden}
.nv-blacksmith-mine-button{position:absolute;left:50%;bottom:calc(202px + env(safe-area-inset-bottom));z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;min-width:108px;min-height:44px;max-width:min(220px,42vw);padding:7px 12px;border:1px solid rgba(224,165,77,.86);border-radius:4px;background:linear-gradient(180deg,rgba(121,71,31,.98),rgba(60,34,19,.98));color:#fff4df;box-shadow:0 0 20px rgba(224,145,65,.25),inset 0 1px rgba(255,255,255,.12);font:900 .75rem/1 system-ui,sans-serif;transform:translateX(-50%);pointer-events:auto;touch-action:manipulation}.nv-blacksmith-mine-button[hidden]{display:none!important}.nv-blacksmith-mine-button:active{transform:translateX(-50%) scale(.94)}
@media(max-width:760px){.nvb-workshop{padding:6px}.nvb-modal{width:min(680px,98vw);height:97dvh}.nvb-main-panel{padding:9px}.nvb-material-grid{grid-template-columns:1fr}.nvb-selected{grid-template-columns:44px minmax(0,1fr) auto}.nvb-selected-emblem{width:42px;height:42px}}
@media(max-width:480px){.nvb-header{padding:9px 10px}.nvb-header h2{font-size:1rem}.nvb-header span{display:none}.nvb-enhancement-hero{grid-template-columns:64px minmax(0,1fr) 64px}.nvb-current-level strong,.nvb-target-level strong{font-size:1.45rem}.nvb-progression{gap:2px}.nvb-step{height:27px}.nvb-cost-header>span{display:none}}
@media(max-width:430px){.nv-blacksmith-mine-button{bottom:calc(188px + env(safe-area-inset-bottom));min-width:98px;max-width:42vw;padding:6px 9px}}/* Full-width one-line item title above its sprite and metadata. */


/* Timed mining HUD: the existing action button stays in its joystick anchor. */
.nv-blacksmith-mine-button{line-height:1.3;text-align:center;overflow-wrap:anywhere}
.nv-blacksmith-mine-button:disabled{opacity:.6;cursor:wait}
.nv-blacksmith-mining-progress{position:absolute;left:50%;bottom:calc(258px + env(safe-area-inset-bottom));z-index:2;display:grid;gap:6px;width:min(260px,calc(100vw - 32px));box-sizing:border-box;padding:10px 12px;border:1px solid #c4914d;border-radius:5px;background:rgba(30,22,16,.96);color:#fff4df;box-shadow:0 3px 16px #0008;font:600 .78rem/1.35 system-ui,sans-serif;transform:translateX(-50%);pointer-events:none;overflow-wrap:anywhere}
.nv-blacksmith-mining-progress[hidden]{display:none!important}
.nv-blacksmith-mining-progress progress{display:block;width:100%;height:12px;border:0;border-radius:3px;overflow:hidden;background:#3a3026;accent-color:#e9b866}
.nv-blacksmith-mining-progress progress::-webkit-progress-bar{background:#3a3026}
.nv-blacksmith-mining-progress progress::-webkit-progress-value{background:#e9b866}
.nv-blacksmith-mining-progress progress::-moz-progress-bar{background:#e9b866}
.nv-blacksmith-mining-progress [data-nv-mining-time]{font-variant-numeric:tabular-nums;color:#ead8ba;text-align:right;font-size:.72rem}
.nv-blacksmith-mining-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:430px){.nv-blacksmith-mining-progress{bottom:calc(258px + env(safe-area-inset-bottom));width:min(240px,calc(100vw - 24px))}}


/* Tool upgrades share the workshop shell, with their own guaranteed gold-only offer. */

.nvb-workshop :focus-visible{outline:2px solid #ffdb9c;outline-offset:2px}
