.forge-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:#080b0be0;backdrop-filter:blur(4px)}
.forge-dialog.nine{width:760px;max-height:calc(var(--game-height) - 48px);margin:0;padding:20px 28px;overflow-y:auto;text-align:center;color:#ece0c7;border-width:12px;border-image-width:12px}
.forge-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid #8e744d55}
.forge-heading>span{font-size:20px;font-weight:600}.forge-heading>small{font-size:13px;color:#c6b69a}
.forge-item{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px auto 0;max-width:600px;text-align:left}
.forge-item img{flex:none;object-fit:contain}.forge-item h2{font:600 19px/1.45 var(--sans);color:#e7c894;word-break:keep-all}.forge-item p{font-size:14px;line-height:1.6;margin-top:4px;color:#c3bdaf}
.forge-stage{position:relative;width:640px;max-width:100%;height:300px;margin:0 auto;background:radial-gradient(ellipse at 55% 68%,#b967212e,transparent 59%)}
#forge-canvas{display:block;width:640px;max-width:100%;height:320px;image-rendering:pixelated;pointer-events:none}
.forge-strikes{position:absolute;bottom:3px;left:0;right:0;display:flex;justify-content:center;gap:12px}
.forge-strikes span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #79684e;border-radius:50%;font:500 13px/1 var(--sans);color:#a69a84;background:#141817}
.forge-strikes span.done{color:#f8e0a4;border-color:#d6ae60;background:#534126}
.forge-announcement{min-height:112px;padding:16px 0 6px}
.forge-announcement h3{font:600 24px/1.5 var(--sans);margin:0;color:#e9d4a4}
.forge-announcement p{font-size:14px;line-height:1.65;color:#c9c1b1;margin-top:5px}
.forge-outcome.success{color:#ffe1a2;text-shadow:0 0 18px #bd863755}.forge-outcome.held,.forge-outcome.downgrade{color:#d9c6aa}.forge-outcome.destroyed{color:#f1a28d}
.forge-final-level{display:block;font:600 27px/1.4 var(--sans);margin-top:4px;color:#ead3a5}
.forge-spent,.forge-recovered{font-size:13px;line-height:1.6;color:#aeb5ac;margin:8px 0}
.forge-recovered{color:#d5c499}
.forge-controls{display:flex;justify-content:center;margin-top:12px}
.forge-controls .armory-button{min-width:220px;min-height:44px;font-size:15px;padding:5px 16px;color:#dacba9}
.forge-controls .forge-confirm{color:#ffe4ad;font-weight:600}
.forge-controls kbd{margin-left:12px}
.forge-dialog[data-forge-phase=result]{border-image-outset:0}
@media(prefers-reduced-motion:reduce){.forge-overlay{backdrop-filter:none}.forge-outcome.success{text-shadow:none}}
.forge-dialog.nine{position:relative;inset:auto;flex:none}
.forge-dialog[data-forge-result=success] .forge-stage{background:radial-gradient(ellipse at 55% 68%,#d7a23d45,transparent 60%)}
.forge-dialog[data-forge-phase=result] .forge-announcement{animation:forge-result-reveal .36s ease-out both}
@keyframes forge-result-reveal{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.forge-dialog[data-forge-phase=result] .forge-announcement{animation:none}}
/* The progress markers sit below the smith's feet rather than covering the sprite. */
.forge-stage{height:332px}
.forge-strikes{bottom:0}
.forge-item>div{min-width:0}
.forge-item h2{overflow-wrap:break-word}
