.sfs-stage{--sfc-slot-edge:#ffd76a;--sfc-slot-glow:#ffc93c4d;--sfs-charge:.26s;flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.sfs-stage[data-high]{--sfs-charge:.46s;--sfc-slot-edge:#fff0bf;--sfc-slot-glow:#ffc93c7a}.sfs-stage[data-burned]{--sfc-slot-edge:#ff5d4d;--sfc-slot-glow:#ff5d4d52}.sfs-forge{place-items:center;width:100%;height:140px;display:grid;position:relative}.sfs-forge .sf-ring{--sf-ring-x:50%;--sf-ring-y:50%;width:min(80vw,300px);transition:opacity .3s}.sfs-stage[data-high] .sf-ring{opacity:.9}.sfs-body{position:relative}.sfs-slot{background:radial-gradient(circle at 50% 62%, var(--sfc-slot-glow), transparent 68%), linear-gradient(180deg, #262626, #0c0c0c);width:104px;height:104px;box-shadow:inset 0 0 0 1px #ffffff12, 0 0 0 1px var(--sfc-slot-edge);border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.sfs-slot img{max-width:none;image-rendering:pixelated;transform:scale(2.4)}.sfs-stage[data-burned] .sfs-slot img{filter:grayscale()brightness(.62)}.sfs-stage[data-burned] .sfs-slot:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 48.5%,#ff5d4d 49.5% 50.5%,#0000 51.5%);position:absolute;inset:0}.sfs-heat{z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(70% 100% at 50% 100%,#ff5d4d6b,#0000 72%);height:60%;position:absolute;inset:auto 0 0}.sfs-stage[data-high] .sfs-heat{animation:1.6s ease-in-out infinite alternate sfs-breathe}.sfs-next{font-variant-numeric:tabular-nums;letter-spacing:-.03em;align-items:baseline;gap:10px;font-weight:800;display:flex}.sfs-next b{text-align:right;min-width:2ch;color:var(--sf-gold);font-size:44px;line-height:1}.sfs-next i{color:var(--sf-ink-2);font-size:20px;font-style:normal}.sfs-next em{min-width:2ch;color:var(--sf-ink);font-size:26px;font-style:normal}.sfs-status{min-height:18px;color:var(--sf-ink-2);text-align:center;font-size:13px;font-weight:700}.sfs-status[data-fx=success]{color:var(--sf-gold)}.sfs-status[data-fx=destroy]{color:var(--sf-burn)}.sfs-railwrap{position:relative}.sfs-railwrap .sf-rail{--s:clamp(14px, 4vw, 19px);filter:none}.sfs-railwrap .sf-star{cursor:pointer}.sfs-railwrap .sf-star[data-on]{animation:none}.sfs-railwrap .sf-star[data-hot]:not([data-on]){background:#ff5d4d3d}.sfs-railwrap[data-superior] .sf-star[data-on]{background:linear-gradient(#d9f3ff,#6fd3ff 55%,#1e88c7)}.sfs-railwrap .sf-star.sfs-star-new{animation:.38s cubic-bezier(.2,1.6,.4,1) both sfs-star-pop}.sfs-rail-burn{z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(closest-side,#ff5d4d8c,#0000);animation:.9s ease-out both sfs-glow-out;position:absolute;inset:-12px}.sfs-rates{width:min(100%,420px)}.sfs-bar{border-radius:3px;gap:2px;height:10px;display:flex;overflow:hidden}.sfs-bar>span{min-width:3px}.sfs-bar .is-s{background:linear-gradient(#ffd76a,#ffb81f)}.sfs-bar .is-f{background:#3f3f3f}.sfs-bar .is-d{background:#ff5d4d}.sfs-legend{font-variant-numeric:tabular-nums;color:var(--sf-ink-2);justify-content:space-between;gap:8px;margin-top:5px;font-size:12px;font-weight:600;display:flex}.sfs-legend .is-s{color:var(--sf-gold)}.sfs-legend .is-d{color:var(--sf-burn)}.sfs-cost{font-variant-numeric:tabular-nums;color:var(--sf-ink-2);text-align:center;font-size:13px}.sfs-cost b{color:var(--sf-gold);font-size:16px}.sfs-go{z-index:2;color:#1a1204;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;background:linear-gradient(#ffe08a,#ffc93c 55%,#f5a800);border-radius:10px;width:min(100%,420px);height:60px;font-size:20px;font-weight:800;transition:transform 80ms;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 8px 22px -10px #ffb81fcc}.sfs-go>span{position:relative}.sfs-go:before{content:"";opacity:0;transform-origin:0;background:linear-gradient(90deg,#fff3,#ffffffa6);position:absolute;inset:0;transform:scaleX(0)}.sfs-go:active{transform:translateY(1px)scale(.985)}.sfs-go:focus-visible{outline-offset:2px;outline:2px solid #fff}.sfs-go:disabled{color:var(--sf-ink-2);box-shadow:none;cursor:not-allowed;background:#2c2c2c}.sfs-stage[data-phase=charge] .sfs-go:before{opacity:1;animation:sfs-fill var(--sfs-charge) linear both}.sfs-go[data-kind=repair]{color:#fff;background:linear-gradient(#ff8d7f,#ff5d4d 60%,#d33a2b)}.sfs-go[data-kind=stop]{color:var(--sf-gold);background:#1f1f1f;box-shadow:inset 0 0 0 1px #ffd76a}.sfs-stage[data-phase=charge] .sfs-body{animation:90ms linear infinite sfs-tremble}.sfs-converge{pointer-events:none;will-change:transform, opacity;width:150px;height:150px;animation:sfs-converge var(--sfs-charge) ease-in both;background:radial-gradient(closest-side,#0000 68%,#ffd76ae6 74%,#ffc93c26 90%,#0000);border-radius:50%;margin:-75px;position:absolute;top:50%;left:50%}.sfs-body[data-fx=success][data-beat="0"]{animation:.34s cubic-bezier(.2,1.4,.4,1) sfs-pop-a}.sfs-body[data-fx=success][data-beat="1"]{animation:.34s cubic-bezier(.2,1.4,.4,1) sfs-pop-b}.sfs-body[data-fx=fail][data-beat="0"]{animation:.3s ease-out sfs-shake-a}.sfs-body[data-fx=fail][data-beat="1"]{animation:.3s ease-out sfs-shake-b}.sfs-body[data-fx=destroy]{animation:.46s cubic-bezier(.3,0,.3,1) sfs-crack}.sfs-stage[data-lite] .sfs-body{animation:none}.sfs-fx{z-index:1;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.sfs-fx>*{will-change:transform, opacity;position:absolute}.sfs-burst,.sfs-shock,.sfs-rays,.sfs-puff{border-radius:50%;width:220px;height:220px;top:-110px;left:-110px}.sfs-burst{background:radial-gradient(closest-side,#fff8dc,#ffc93ccc 38%,#0000);animation:.42s ease-out both sfs-burst}.sfs-shock{background:radial-gradient(closest-side,#0000 80%,#ffd76af2 88%,#0000);animation:.5s ease-out both sfs-shock}.sfs-shock+.sfs-shock{animation-delay:.12s}.sfs-rays{background:repeating-conic-gradient(#ffe18cbf 0 4deg, transparent 4deg 30deg);animation:.62s ease-out both sfs-rays;-webkit-mask:radial-gradient(closest-side,#000 15%,#0000);mask:radial-gradient(closest-side,#000 15%,#0000)}.sfs-spark{background:linear-gradient(#fff0bf,#ffb81f);border-radius:2px;width:4px;height:10px;animation:.5s cubic-bezier(.1,.7,.3,1) both sfs-spark;top:-5px;left:-2px}.sfs-puff{background:radial-gradient(closest-side,#a7aebf4d,#0000);animation:.42s ease-out both sfs-puff}.sfs-shard{clip-path:polygon(50% 0,100% 38%,72% 100%,12% 82%);background:linear-gradient(145deg,#ffd0c9,#ff5d4d 55%,#7a1408);width:14px;height:14px;animation:.86s cubic-bezier(.2,.7,.5,1) both sfs-shard;top:-7px;left:-7px}.sfs-burst--burn{background:radial-gradient(closest-side,#ffe2dc,#ff5d4dd9 40%,#0000)}.sfs-stage[data-lite] .sfs-burst{animation-duration:.14s}.sfs-flash{z-index:1;pointer-events:none;opacity:0;will-change:opacity;border-radius:12px;animation:.52s ease-out both sfs-flash;position:absolute;inset:-16px}.sfs-flash[data-fx=destroy]{background:radial-gradient(90% 80% at 50% 34%,#ff5d4db3,#7a14088c)}.sfs-flash[data-fx=high]{background:radial-gradient(90% 80% at 50% 34%,#ffe18c99,#0000);animation-duration:.7s}.sfs-milestone{z-index:2;pointer-events:none;white-space:nowrap;letter-spacing:-.03em;will-change:transform, opacity;font-size:34px;font-weight:800;animation:1.1s ease-out both sfs-milestone;position:absolute;top:8px;left:50%}.sfs-chips{flex-wrap:wrap;gap:6px;display:flex}.sfs-chip{border:1px solid var(--sf-edge-lo);background:var(--sf-plate);min-height:32px;color:var(--sf-ink-2);cursor:pointer;border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;transition:transform 80ms}.sfs-chip[aria-pressed=true]{border-color:var(--sf-edge-hi);color:var(--sf-gold);background:color-mix(in srgb, var(--sf-fill) 14%, var(--sf-plate))}.sfs-chip:active{transform:scale(.96)}.sfs-chip:disabled{opacity:.45;cursor:not-allowed}.sfs-chip:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px}@media (pointer:coarse){.sfs-chip{min-height:40px}}.sfs-field{color:var(--sf-ink-2);font-size:12px;display:block}.sfs-field input,.sfs-field select{border:1px solid var(--sf-edge-lo);background:var(--sf-plate);width:100%;height:34px;color:var(--sf-ink);font-variant-numeric:tabular-nums;border-radius:6px;margin-top:3px;padding:0 8px;font-size:14px;display:block}.sfs-strip{border:1px solid var(--sf-edge-lo);background:var(--sf-edge-lo);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:100%;margin:0;display:grid;overflow:hidden}.sfs-strip>div{background:var(--sf-plate);min-width:0;padding:7px 8px}.sfs-strip dt{color:var(--sf-ink-2);font-size:11px}.sfs-strip dd{font-variant-numeric:tabular-nums;color:var(--sf-ink);margin:1px 0 0;font-size:15px;font-weight:700}.sfs-strip dd.is-meso{color:var(--sf-gold)}.sfs-strip dd.is-burn{color:var(--sf-burn)}.sfs-row{font-variant-numeric:tabular-nums;min-height:30px;color:var(--sf-ink);border-bottom:1px solid color-mix(in srgb, var(--sf-edge-lo) 50%, transparent);grid-template-columns:4em 6em 1fr auto;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:grid}.sfs-row>:first-child,.sfs-row>:last-child{color:var(--sf-ink-2)}.sfs-row[data-fx=success] .sfs-res{color:var(--sf-gold);font-weight:700}.sfs-row[data-fx=fail] .sfs-res{color:var(--sf-ink-2)}.sfs-row[data-fx=destroy] .sfs-res{color:var(--sf-burn);font-weight:700}.sfs-row[data-fx=recover] .sfs-res{color:var(--sf-steel)}@keyframes sfs-breathe{0%{opacity:.45}to{opacity:1}}@keyframes sfs-fill{to{transform:scaleX(1)}}@keyframes sfs-tremble{0%,to{transform:translate(0)}25%{transform:translate(-1.5px,1px)}75%{transform:translate(1.5px,-1px)}}@keyframes sfs-converge{0%{opacity:0;transform:scale(1.9)}60%{opacity:1}to{opacity:1;transform:scale(.72)}}@keyframes sfs-pop-a{0%{transform:scale(.92)}45%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes sfs-pop-b{0%{transform:scale(.92)}45%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes sfs-shake-a{0%,to{transform:translate(0)}20%{transform:translate(-8px)rotate(-1.5deg)}45%{transform:translate(6px)rotate(1deg)}70%{transform:translate(-3px)}}@keyframes sfs-shake-b{0%,to{transform:translate(0)}20%{transform:translate(-8px)rotate(-1.5deg)}45%{transform:translate(6px)rotate(1deg)}70%{transform:translate(-3px)}}@keyframes sfs-crack{0%{transform:scale(1.08)}25%{transform:scale(.9)rotate(-3deg)}55%{transform:scale(.96)rotate(2deg)}to{transform:scale(1)}}@keyframes sfs-burst{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.5)}}@keyframes sfs-shock{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2.1)}}@keyframes sfs-rays{0%{opacity:1;transform:scale(.6)rotate(0)}to{opacity:0;transform:scale(1.7)rotate(24deg)}}@keyframes sfs-spark{0%{transform:rotate(var(--a)) translateY(-24px) scaleY(1.6);opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scaleY(.3);opacity:0}}@keyframes sfs-puff{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.1)translateY(-10px)}}@keyframes sfs-shard{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}55%{transform:translate(var(--x), var(--y)) rotate(calc(var(--r) * .6)) scale(1);opacity:1}to{transform:translate(var(--x), calc(var(--y) + 70px)) rotate(var(--r)) scale(.5);opacity:0}}@keyframes sfs-flash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@keyframes sfs-glow-out{0%{opacity:1}to{opacity:0}}@keyframes sfs-star-pop{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.5)}to{transform:scale(1)}}@keyframes sfs-milestone{0%{opacity:0;transform:translate(-50%)scale(.7)}18%{opacity:1;transform:translate(-50%)scale(1.06)}75%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-8px)}}
