@charset "UTF-8";
:root{color-scheme:dark;--amber:#ffa82d;--hot:#ff6a20;--muted:#8a8983;--steel:#c9caca;--blue:#73c6ed;--cell:104px;--row-gap:4px;font-family:"Arial",sans-serif}
*{box-sizing:border-box}body{margin:0;background:#0b0d0e;color:#e4e1da;min-height:100vh}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.foundry{position:fixed;inset:0;background:linear-gradient(180deg,#080b0b44 0%,#080b0b22 35%,#080b0b88 100%),url('assets/foundry.png') center/cover;z-index:-2}.foundry:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#0000 30%,#090b0c77 95%)}#particles{position:fixed;inset:0;pointer-events:none;z-index:4;width:100%;height:100%}.app{max-width:1440px;margin:auto;padding:0 42px}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #9e9a9024;gap:20px}.brand{display:flex;gap:12px;align-items:center;font-size:14px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:6px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #a76c32;background:linear-gradient(140deg,#574532,#151719);box-shadow:inset 0 0 0 3px #1a1a1a;font-family:Impact,sans-serif;font-size:19px;color:#efbc73;letter-spacing:0}.plant{font-size:9px;letter-spacing:1.4px;color:#c0b9aa;display:flex;gap:12px;align-items:center}.plant>span{color:#726b60}.plant i,.machine-cap i{width:5px;height:5px;background:var(--amber);border-radius:50%;box-shadow:0 0 10px #ff8c34;display:inline-block;margin-right:7px}.topbar nav{display:flex;gap:8px}.icon-button{width:34px;height:34px;border:1px solid #85735c55;background:#171918a6;border-radius:4px;color:#bab7ae;font-size:17px}.icon-button:hover{border-color:var(--amber);color:var(--amber)}main{max-width:1180px;margin:0 auto}.title-group{text-align:center;padding:27px 0 23px}.eyebrow{font-size:8px;letter-spacing:4px;color:#b7a58d;margin-bottom:13px}h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:66px;line-height:.94;letter-spacing:5px;margin:0;background:linear-gradient(#f2f0df 3%,#b6b9b7 22%,#62686a 43%,#ebeeea 47%,#989c9a 73%,#555958 100%);color:transparent;background-clip:text;filter:drop-shadow(0 4px 1px #000);font-weight:900}h1 span{background:linear-gradient(#f2dec0 4%,#a0917c 42%,#e7ccb0 47%,#816444 95%);background-clip:text}.title-rule{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:10px}.title-rule p{font-size:8px;letter-spacing:4px;margin:0;color:#d2a36c}.title-rule>span{height:1px;width:66px;background:linear-gradient(90deg,#b0763e00,#b0763e)}.title-rule>span:last-child{transform:rotate(180deg)}.game-layout{display:grid;grid-template-columns:180px minmax(300px,660px) 180px;justify-content:center;gap:30px;align-items:center}.panel-label{color:#b9af9c;font-size:8px;letter-spacing:1.4px;line-height:1.5}.heat-top{display:flex;align-items:baseline;gap:8px;margin:14px 0 20px}.heat-top strong{font-family:Impact,sans-serif;font-size:36px;color:#e4c094;font-weight:400}.heat-top>span{font-size:10px;color:#9c9285}.heat-track{position:relative;height:126px;width:22px;background:repeating-linear-gradient(to top,#141617 0 19px,#77766c44 19px 20px);border:1px solid #7a625044;box-shadow:inset 0 0 8px #000;margin:0 0 24px 3px;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-start}.heat-track>span{font-size:9px;color:#8b8172;margin-left:34px;z-index:1}.heat-track>div{position:absolute;bottom:0;left:3px;width:14px;height:3%;background:linear-gradient(to top,#ffae3c,#ff5021);box-shadow:0 0 15px #ff7b2388;transition:height .5s}.heat-stages p{font-size:9px;letter-spacing:1.7px;color:#777871;margin:15px 0}.heat-stages b{font-size:8px;color:#716858;margin-right:13px;font-weight:400}.heat-stages .active,.heat-stages .active b{color:#ffc37a}.side-note{color:#8d867b;font-size:10px;line-height:1.7;margin-top:25px}.machine{width:100%;filter:drop-shadow(0 15px 25px #0009)}.machine-cap{height:35px;background:linear-gradient(#494745,#1b1e1f 45%,#303334);border:1px solid #666158;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:8px;letter-spacing:1.6px;box-shadow:inset 0 1px #d3c3a83b}.machine-cap>span:nth-child(2){color:#d4bfa1}.machine-cap>span:nth-child(3){font-size:8px;color:#95978e}.bolt{flex-shrink:0;width:8px;height:8px;border:1px solid #8e8372;border-radius:50%;background:linear-gradient(130deg,#b3a388,#343637 40%,#777568 60%,#242727);box-shadow:0 1px 2px #000}.reel-frame{position:relative;padding:12px 18px;border:1px solid #918171;background:linear-gradient(110deg,#59514a,#2a2b2a 3%,#64615a 3.5%,#222626 5%,#151818 94%,#6f6558 95%,#353735 97%,#796958);box-shadow:inset 0 0 0 3px #161919,inset 0 0 0 6px #716b5c22,0 0 45px #fb731611}.reels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,var(--cell));gap:var(--row-gap);background:#080b0c;border:1px solid #000;overflow:hidden;position:relative;z-index:1}.cell{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#55412b22,#101517 75%);border:1px solid #55564a66;box-shadow:inset 0 0 18px #0006,inset 0 1px #a8a38914}.symbol{width:92px;height:92px;max-width:94%;aspect-ratio:1;background-image:url('assets/symbols-v2.png');background-size:300% 300%;background-repeat:no-repeat;filter:drop-shadow(0 7px 5px #0008);will-change:transform,opacity;position:relative;z-index:1}.sprite-0{background-position:0% 0%}.sprite-1{background-position:50% 0%}.sprite-2{background-position:100% 0%}.sprite-3{background-position:0% 50%}.sprite-4{background-position:50% 50%}.sprite-5{background-position:100% 50%}.sprite-6{background-position:0% 100%}.sprite-7{background-position:50% 100%}.sprite-8{background-position:100% 100%}.cell .effect-label{position:absolute;bottom:4px;right:5px;z-index:2;padding:2px 4px;font-size:9px;font-weight:700;color:#bfe5ff;background:#122c42dd;border:1px solid #509acb66;border-radius:2px}.cell[data-symbol="6"] .effect-label{color:#ffd394;background:#463317dd;border-color:#b58b4366}.cell[data-symbol="7"] .effect-label{font-size:7px;color:#d7d3c8;background:#191d1ddd;border-color:#7d7b7166;letter-spacing:.6px}.cell.closed{background:repeating-linear-gradient(0deg,#252b2b 0,#353a39 3px,#242828 5px,#222625 13px);box-shadow:inset 0 0 20px #0009,inset 0 1px #a8a38924}.closed:before{content:"⌃";color:#555c57;font-size:44px;text-shadow:0 2px #101212;transform:scaleX(1.4);opacity:.5}.closed[data-gate-label]:after{content:attr(data-gate-label);position:absolute;bottom:17px;font-size:6px;letter-spacing:1.8px;color:#7d8279}.closed:after{pointer-events:none}.rail{position:absolute;top:9px;bottom:9px;width:4px;background:linear-gradient(#67422d,#ffa44f66,#ff942d,#ffb85a77);box-shadow:0 0 12px #e3792e66}.left-rail{left:9px}.right-rail{right:9px}.machine-base{height:25px;border:1px solid #71665a;background:linear-gradient(#393c39,#242828);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.serial{font-size:6px;letter-spacing:2px;color:#92948a}.frame-bolts{position:absolute;inset:0;pointer-events:none}.frame-bolts i{position:absolute;width:6px;height:6px;background:#716b5e;border-radius:50%;border:1px solid #a99c80}.frame-bolts i:nth-child(1){top:4px;left:4px}.frame-bolts i:nth-child(2){top:4px;right:4px}.frame-bolts i:nth-child(3){bottom:4px;left:4px}.frame-bolts i:nth-child(4){bottom:4px;right:4px}.boost-panel{padding-top:0}.multiplier{display:flex;align-items:baseline;gap:5px;color:#f6b86a;margin-top:13px}.multiplier>span{font-size:23px;color:#a48864}.multiplier strong{font-family:Impact,sans-serif;font-size:47px;font-weight:400;letter-spacing:1px;text-shadow:0 0 20px #ff9a2633}.increment{font-size:9px;color:#8b8376;margin-top:7px;margin-bottom:30px}.boost-card{padding:13px 0;border-top:1px solid #8a776647;display:flex;align-items:center;gap:9px}.mini-symbol{width:40px;height:40px;flex-shrink:0;background-image:url('assets/symbols-v2.png');background-size:300% 300%;background-repeat:no-repeat}.boost-card b{font-size:8px;letter-spacing:1.1px;display:block}.boost-card span{font-size:9px;color:#918a7e;display:block;margin-top:6px}.boost-card>i{width:4px;height:4px;background:#59594e;border-radius:50%;margin-left:auto;flex-shrink:0}.boost-card>i.active{background:#62c4ff;box-shadow:0 0 14px #5dd3ff}.heavy-card>i.active{background:#ffb64c;box-shadow:0 0 14px #ffb64c}.bonus-counter{padding-top:24px;border-top:1px solid #8a776647}.bonus-counter>span{font-size:7px;color:#b9af9c;letter-spacing:1px;display:block}.bonus-counter strong{font-family:Impact,sans-serif;font-weight:400;display:block;font-size:28px;color:#c9c5b9;margin:10px 0}.bonus-counter small{color:#8b8478;font-size:8px}.status-line{min-height:45px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:.3px;text-align:center}.status-line p{margin:8px 0;color:#c7b69e}.status-line>span{width:4px;height:4px;border-radius:50%;background:#9c855d;flex-shrink:0}.controls{display:grid;grid-template-columns:1.25fr 1fr 1.3fr 1.2fr .6fr;align-items:center;gap:0;padding:14px 20px;border:1px solid #7c716155;border-top-color:#bda48077;background:linear-gradient(#32312ccc,#141919eb 30%);box-shadow:inset 0 1px #ddd0b71f,0 12px 30px #0005;border-radius:4px}.readout>span,.bet-control>span{display:block;font-size:8px;letter-spacing:1.4px;color:#aca390;margin-bottom:9px}.readout strong{display:block;font-size:21px;letter-spacing:.5px;font-weight:500;white-space:nowrap}.readout small{font-size:6px;letter-spacing:1px;color:#898475;margin-top:7px;display:block}.balance{padding-right:12px}.bet-control{border-left:1px solid #7b746133;padding:0 15px;text-align:center}.bet-control>div{display:flex;align-items:center;justify-content:center;gap:10px}.bet-control strong{font-size:14px;font-weight:500;min-width:70px;white-space:nowrap}.bet-control>div>button{width:23px;height:23px;border:1px solid #88827366;border-radius:3px;background:linear-gradient(#494b43,#252b29);font-size:15px}.text-button{margin-top:7px;padding:0;background:none;border:0;color:#ab997b;font-size:7px;letter-spacing:1px}.text-button:hover{color:var(--amber)}.spin-button{height:65px;border:1px solid #ffc875;border-radius:4px;display:flex;justify-content:center;align-items:center;gap:13px;background:linear-gradient(135deg,#ffc26c,#d67724 48%,#b35914);box-shadow:inset 0 1px #ffeacb,inset 0 -3px #874218,0 0 24px #ff97201c;color:#27170b;text-shadow:0 1px #ffcd7777;transition:filter .2s}.spin-button:hover{filter:brightness(1.13)}.spin-icon{font-size:39px;line-height:1}.spin-button>span:last-child{font-size:14px;letter-spacing:1.6px;font-weight:800}.spin-button small{display:block;font-size:6px;font-weight:700;letter-spacing:1.3px;margin-top:5px}.spin-button.running .spin-icon{animation:turn 1.2s linear infinite}.win{padding-left:24px}.win strong{color:#e9bd7e}.auto-button{justify-self:end;width:65px;background:#171d1b;border:1px solid #85807077;border-radius:4px;padding:6px 4px;height:65px}.auto-button>span{font-size:19px;color:#c9c3b5}.auto-button>b{font-size:8px;letter-spacing:1px;display:block;margin:3px 0}.auto-button small{font-size:5px;letter-spacing:.4px;color:#aca18c}.auto-button.active{border-color:var(--amber);color:var(--amber)}footer{display:flex;align-items:center;justify-content:space-between;padding:21px 0 25px;gap:12px}footer>span{font-size:6px;letter-spacing:1.3px;color:#8b8478}footer b{font-weight:400;margin:0 8px;color:#d9a362}.showcase{padding:0;border:0;background:none;font-size:9px;letter-spacing:.5px;color:#dbc6a3}.showcase>span{margin-left:10px;color:#f9af58}.cell.winning{border-color:#f7a244;background:radial-gradient(ellipse,#ed7c3238,#211a12 90%);box-shadow:inset 0 0 18px #ff931822,0 0 8px #ff9a2144;z-index:2}.cell.winning .symbol{filter:drop-shadow(0 0 8px #ff842c77)}.cell.melting .symbol{animation:melt .6s ease-in forwards}.cell.melting:after{content:"";position:absolute;inset:0;background:radial-gradient(#fff5ac,#ff812c55 40%,#ff640b00 70%);animation:flash .6s ease-out forwards;z-index:2}.machine.hardening .machine-cap{border-color:#d0ae7b;box-shadow:0 0 26px #ff971950}.machine.hardening .machine-cap>span:nth-child(2){color:#ffc978}.machine.hardening .reel-frame{box-shadow:inset 0 0 0 3px #161919,0 0 40px #ff971928}.machine.free-mode .machine-cap>span:nth-child(2){color:#94cce8}#quench{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;background:linear-gradient(180deg,#a0e9ff00,#b2edff77,#92d5ff00)}#quench.active{animation:quench 1s ease-out}.reels.expanding{animation:shudder .4s ease-out}.cell.show-new{animation:gate .5s ease-out}dialog{padding:0;border:1px solid #80715c66;border-radius:9px;max-width:760px;width:calc(100% - 36px);max-height:85vh;color:#dfded4;background:#141a1c;box-shadow:0 30px 90px #000a}dialog::backdrop{background:#05090cca;backdrop-filter:blur(7px)}.dialog-heading{padding:23px 27px;border-bottom:1px solid #7b766a33;display:flex;align-items:center;justify-content:space-between}.dialog-heading small{font-size:7px;letter-spacing:2px;color:#b28f5f}.dialog-heading h2{font-size:23px;font-weight:500;margin:8px 0 0}.close{width:32px;height:32px;border:1px solid #77746755;background:#222c2f;border-radius:4px;font-size:23px}.dialog-body{padding:23px 27px}.dialog-body p{font-size:12px;line-height:1.8;color:#b9b9ad}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:27px}.rule-grid b{font-size:9px;letter-spacing:1px;color:#d5ac74}.rule-grid p{font-size:11px}table{width:100%;border-collapse:collapse;font-size:11px;margin-top:20px;text-align:right}caption{text-align:left;font-size:10px;line-height:1.7;color:#b8a387;margin-bottom:15px}th{font-size:9px;color:#a09681;font-weight:400}td,th{padding:10px 6px;border-bottom:1px solid #7b766a33}td:first-child,th:first-child{text-align:left}td:first-child{display:flex;align-items:center;gap:9px}.pay-symbol{width:30px;height:30px;background-image:url('assets/symbols-v2.png');background-size:300% 300%}.math-note{border-left:2px solid #8e6f42;padding-left:13px;font-size:10px!important}.settings-body{display:grid;gap:20px}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px}.setting b{font-size:12px;font-weight:500}.setting small{display:block;margin-top:6px;font-size:10px;color:#989a91}input,select{font:inherit;background:#212a2b;color:#e0d3b6;border:1px solid #78716266;border-radius:3px;padding:8px;max-width:140px;font-size:12px}input[type=checkbox]{accent-color:#e8aa4e;width:17px;height:17px}.primary-button{background:linear-gradient(#d4aa6f,#a87138);color:#17191a;border:1px solid #e1c099;border-radius:3px;padding:13px 20px;font-size:12px;font-weight:700;margin-top:10px}.art-dialog{max-width:1020px}.sample-image{width:100%;height:auto;display:block;border-radius:4px}.dialog-body h3{font-size:10px;letter-spacing:1.6px;color:#d8ae7a;margin-top:22px;margin-bottom:17px}.symbol-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.symbol-tile{display:grid;justify-items:center;gap:12px;background:#0d1316;border:1px solid #75695055;border-radius:4px;padding:14px;font-size:10px;color:#c4baab}.symbol-tile .symbol{width:104px;height:104px}.symbol-tile small{font-size:8px;color:#8fa4b3}
@keyframes melt{0%{transform:scale(1);opacity:1}25%{filter:brightness(1.8) sepia(.5) drop-shadow(0 0 12px #ffa829)}70%{transform:translateY(14px) scale(1.08,.6);opacity:.7;filter:brightness(3) sepia(1)}100%{transform:translateY(28px) scale(1.15,.04);opacity:0;filter:brightness(4)}}@keyframes flash{0%{opacity:0}25%{opacity:.8}100%{opacity:0}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes gate{from{filter:brightness(2.3)}to{filter:brightness(1)}}@keyframes quench{0%{opacity:0;transform:translateY(-30%)}35%{opacity:1}100%{opacity:0;transform:translateY(30%)}}@keyframes shudder{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@media(min-width:1500px){:root{--cell:110px}.title-group{padding:35px 0 27px}h1{font-size:75px}.game-layout{gap:38px}}
@media(max-height:870px) and (min-width:901px){:root{--cell:85px}.symbol{width:77px;height:77px}.topbar{height:62px}.title-group{padding:21px 0 18px}h1{font-size:58px}.eyebrow{margin-bottom:10px}.game-layout{grid-template-columns:165px minmax(300px,620px) 165px;gap:25px}.heat-track{height:96px}.side-note{margin-top:17px}.increment{margin-bottom:20px}.bonus-counter{padding-top:14px}.controls{padding:11px 16px}.status-line{min-height:38px}footer{padding:15px 0 20px}}
@media(max-width:1100px){.app{padding:0 24px}.game-layout{grid-template-columns:135px minmax(300px,620px) 135px;gap:18px}.boost-card{gap:4px}.boost-card b{font-size:7px}.mini-symbol{width:34px;height:34px}.controls{padding-left:14px;padding-right:14px}.readout strong{font-size:18px}.win{padding-left:15px}.bet-control{padding:0 10px}.bet-control>div{gap:5px}.panel-label{font-size:7px}}
@media(max-width:900px){:root{--cell:88px}.app{padding:0 18px}.topbar{height:62px}.plant{display:none}.title-group{padding:27px 0 21px}h1{font-size:57px}.game-layout{grid-template-columns:minmax(280px,640px);gap:0}.heat-panel,.boost-panel{display:none}.symbol{width:80px;height:80px}.controls{max-width:700px;margin:auto;grid-template-columns:1fr 1fr 1.2fr 1fr .6fr;padding:12px}.readout strong{font-size:16px}.bet-control strong{font-size:12px;min-width:55px}.spin-button{gap:6px}.spin-button>span:last-child{font-size:12px}.spin-icon{font-size:30px}.auto-button{width:50px}.footer-note{display:none}}
@media(max-width:600px){:root{--cell:75px;--row-gap:3px}.app{padding:0 12px}.topbar{height:56px}.brand{font-size:11px;letter-spacing:1.4px;gap:8px}.brand small{font-size:6px}.brand-mark{width:31px;height:31px;font-size:16px}.icon-button{width:29px;height:29px;font-size:15px}.topbar nav{gap:5px}.title-group{padding:24px 0 19px}h1{font-size:47px;letter-spacing:3px}.eyebrow{font-size:6px;letter-spacing:2.7px}.title-rule p{font-size:6px;letter-spacing:2.8px}.title-rule>span{width:41px}.reel-frame{padding:10px 12px}.reels{grid-template-rows:repeat(5,var(--cell))}.symbol{width:65px;height:65px}.closed:before{font-size:30px}.closed[data-gate-label]:after{font-size:5px;letter-spacing:1px;bottom:14px}.left-rail{left:5px}.right-rail{right:5px}.machine-cap{padding:0 10px;letter-spacing:.8px;height:31px;font-size:7px}.machine-cap>span:nth-child(3){font-size:6px}.status-line{min-height:43px;font-size:9px}.controls{grid-template-columns:1fr 1fr;gap:14px;padding:15px}.balance{grid-area:1/1}.win{grid-area:1/2;text-align:right;padding:0}.readout strong{font-size:20px}.readout>span{font-size:7px;margin-bottom:7px}.bet-control{grid-area:2/1;border:0;padding:0;text-align:left}.bet-control>div{justify-content:flex-start;gap:10px}.bet-control strong{font-size:14px}.bet-control>span{margin-bottom:6px;font-size:7px}.bet-control .text-button{margin-top:6px}.spin-button{grid-area:2/2;height:58px;width:100%;gap:10px}.spin-button>span:last-child{font-size:13px}.auto-button{grid-area:3/2;justify-self:stretch;display:flex;gap:9px;align-items:center;justify-content:center;width:100%;height:30px;padding:0}.auto-button>span{font-size:17px}.auto-button small{font-size:6px}.showcase{font-size:9px}footer{padding:16px 0 22px}footer>span{font-size:5px;letter-spacing:.6px}.serial{font-size:5px;letter-spacing:1px}.rule-grid{grid-template-columns:1fr;gap:8px}.dialog-body,.dialog-heading{padding:20px}.symbol-gallery{grid-template-columns:repeat(2,1fr)}table{font-size:9px}td,th{padding:8px 3px}th{font-size:7px}.math-note{font-size:9px!important}.cell .effect-label{font-size:7px;right:2px;bottom:2px}.cell[data-symbol="7"] .effect-label{font-size:5px}}
@media(max-width:380px){:root{--cell:64px}.symbol{width:54px;height:54px}h1{font-size:40px}.brand small{letter-spacing:1px}.machine-cap{font-size:6px}.machine-cap>span:nth-child(3){font-size:5px}.readout strong{font-size:17px}.title-group{padding:18px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}#particles{display:none}}
/* The sheet icon extends above the next atlas cell: keep the display window inside its silhouette. */
.sprite-4{clip-path:inset(0 0 18% 0)}
.mobile-stats{display:none}
@media(max-width:900px){.mobile-stats{display:flex;justify-content:space-between;gap:10px;margin:0 auto 12px;max-width:640px;font-size:7px;letter-spacing:.6px;color:#aaa491}.mobile-stats b{display:inline-block;margin-left:7px;color:#ecc187;font-size:11px;font-weight:500}}
@media(max-width:600px){:root{--cell:66px}.symbol{width:58px;height:58px}.mobile-stats{font-size:6px;margin-bottom:10px}.mobile-stats b{font-size:10px;margin-left:5px}}
@media(max-width:380px){:root{--cell:60px}.symbol{width:52px;height:52px}}
.effects-off .cell.melting:after{display:none}
.effects-off #quench{display:none}
/* Atmosphere stays behind the playable machine. Only the side areas emit embers. */
.foundry{--foundry-heat:0;overflow:hidden;pointer-events:none}
.foundry-stage{position:absolute;left:50%;top:50%;width:max(100vw,177.6833vh);height:max(100vh,56.2799vw);transform:translate(-50%,-50%)}
.furnace-glow{position:absolute;mix-blend-mode:screen;opacity:calc(.24 + var(--foundry-heat)*.18);transition:opacity 1.2s;will-change:opacity}
.glow-left{left:0;top:15%;width:33%;height:66%;background:radial-gradient(ellipse at 38% 56%,#ff97316b 0%,#fa6c1738 20%,#e6550b0a 49%,transparent 70%);animation:furnace-flicker 5.7s ease-in-out infinite alternate}
.glow-right{right:0;top:24%;width:29%;height:60%;background:radial-gradient(ellipse at 84% 61%,#ffc16972 0%,#ff791f29 25%,transparent 65%);animation:furnace-flicker 4.1s ease-in-out -1.6s infinite alternate}
.floor-shimmer{position:absolute;inset:72% 0 0;background:radial-gradient(ellipse at 9% 72%,#eb742335,transparent 41%),radial-gradient(ellipse at 94% 10%,#ffaa2921,transparent 45%);mix-blend-mode:screen;animation:floor-heat 8s ease-in-out infinite alternate}
.foundry-smoke{position:absolute;pointer-events:none;width:57vw;height:47vh;opacity:.16;background:radial-gradient(ellipse at 32% 58%,#7b776b55 0%,#7774652e 23%,transparent 58%),radial-gradient(ellipse at 67% 43%,#908d793f 0%,transparent 47%);filter:blur(16px);mix-blend-mode:screen;will-change:transform,opacity}
.smoke-left{left:-24vw;top:55vh;animation:smoke-rise-left 21s ease-in-out -7s infinite}
.smoke-right{right:-24vw;top:51vh;animation:smoke-rise-right 25s ease-in-out -14s infinite}
.smoke-high{left:10vw;top:1vh;width:85vw;height:28vh;opacity:.09;animation:smoke-drift 30s ease-in-out -10s infinite alternate}
#ambient-particles{position:fixed;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}
#ambient-particles[hidden]{display:none}
.background-paused .foundry *{animation-play-state:paused!important}
.effects-off .foundry-stage,.effects-off .foundry-smoke{display:none}
@keyframes furnace-flicker{0%{filter:brightness(.77);transform:scale(.99)}18%{filter:brightness(1.05)}30%{filter:brightness(.85)}47%{filter:brightness(1.22);transform:scale(1.025)}63%{filter:brightness(.96)}82%{filter:brightness(1.12)}100%{filter:brightness(.8);transform:scale(1)}}
@keyframes floor-heat{from{opacity:.45;transform:scaleX(.99)}to{opacity:.85;transform:scaleX(1.035)}}
@keyframes smoke-rise-left{0%{opacity:0;transform:translate(0,7vh) scale(.9)}22%{opacity:.18}65%{opacity:.14}100%{opacity:0;transform:translate(9vw,-28vh) scale(1.25)}}
@keyframes smoke-rise-right{0%{opacity:0;transform:translate(0,8vh) scale(.9)}20%{opacity:.15}70%{opacity:.12}100%{opacity:0;transform:translate(-8vw,-33vh) scale(1.22)}}
@keyframes smoke-drift{from{transform:translate(-3vw,1vh) scale(.95)}to{transform:translate(4vw,-2vh) scale(1.1)}}
@media(max-width:700px){.foundry-smoke{filter:blur(10px);width:76vw}.smoke-left{left:-40vw}.smoke-right{right:-40vw}.smoke-high{width:100vw}.furnace-glow{will-change:auto}.smoke-high{display:none}}
@media(prefers-reduced-motion:reduce){.foundry-stage,.foundry-smoke,#ambient-particles{display:none!important}}
/* --- production shell: loader, banner, overlay, history, reality check --- */
#status-light.hot{background:#ffa52d}
.loader{position:fixed;inset:0;z-index:20;display:grid;place-content:center;gap:22px;text-align:center;background:radial-gradient(ellipse at center,#1d1a17 0%,#0b0d0e 70%);transition:opacity .5s ease,visibility .5s}
body.ready .loader{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{font-size:34px;letter-spacing:6px;font-weight:700}.loader-mark span{color:var(--amber)}
.loader-track{width:min(320px,70vw);height:6px;border:1px solid #a76c3266;border-radius:3px;overflow:hidden;background:#151719}
#loader-bar{height:100%;background:linear-gradient(90deg,var(--hot),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
#loader-text{margin:0;font-size:12px;letter-spacing:1px;color:var(--muted)}
.banner{position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:15;display:flex;gap:16px;align-items:center;max-width:calc(100% - 32px);padding:12px 16px;border:1px solid #ff6a2088;border-radius:8px;background:#1d1411f2;box-shadow:0 12px 40px #000a}
.banner p{margin:0;font-size:13px;line-height:1.4}
.overlay{position:fixed;inset:0;z-index:12;display:grid;place-items:center;background:#05090cc4;backdrop-filter:blur(6px);cursor:pointer;animation:overlay-in .35s ease}
.overlay[hidden],.banner[hidden]{display:none}
.overlay-card{display:grid;gap:10px;justify-items:center;text-align:center;padding:34px 44px;max-width:min(520px,calc(100% - 32px));border:1px solid #ffa82d66;border-radius:12px;background:linear-gradient(160deg,#2a1e14,#121618);box-shadow:0 0 80px #ff6a2033}
.overlay-card small{font-size:11px;letter-spacing:3px;color:var(--amber)}
.overlay-card strong{font-size:clamp(28px,6vw,44px);letter-spacing:2px}
.overlay-card p{margin:0;font-size:14px;line-height:1.5;color:#cfc9bd}
.overlay-hint{font-size:10px;letter-spacing:1px;color:var(--muted)}
@keyframes overlay-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.history-list{margin:0;padding-left:22px;display:grid;gap:8px;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.dialog-actions{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin-top:18px}
#refill{margin-top:4px;font-size:9px}
body[data-state="interrupted"] .spin-button,body[data-state="offline"] .spin-button{opacity:.42}
@media (prefers-reduced-motion:reduce){.overlay{animation:none}#loader-bar{transition:none}}
/* --- fx: shake, pop, impact flash, big win, videos --- */
.app{transform:translate(var(--shake-x,0),var(--shake-y,0));will-change:transform}
.pop{animation:pop .42s cubic-bezier(.34,1.56,.64,1)}
@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.35);filter:brightness(1.6)}100%{transform:scale(1)}}
#multiplier,#mobile-multiplier,#bigwin-tier,#bigwin-amount{display:inline-block}
#impact-flash{position:fixed;inset:0;z-index:11;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#fff3d0 0%,#ffb05466 35%,#0000 70%);mix-blend-mode:screen}
#impact-flash.active{animation:impact .45s ease-out}
@keyframes impact{0%{opacity:.85}100%{opacity:0}}
.foundry-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.72) saturate(1.05);transition:opacity 1.2s ease}
.foundry-video.playing{opacity:1}
.foundry:has(.foundry-video.playing) .foundry-smoke{display:none}
.bigwin{position:fixed;inset:0;z-index:13;display:grid;place-items:center;background:radial-gradient(ellipse at center,#120a05cc,#000e 75%);cursor:pointer;animation:overlay-in .3s ease}
.bigwin[hidden]{display:none}
.bigwin-video{position:absolute;left:50%;top:50%;width:min(110vw,1100px);aspect-ratio:16/9;transform:translate(-50%,-56%);mix-blend-mode:screen;pointer-events:none}
.bigwin-text{position:relative;display:grid;justify-items:center;gap:10px;margin-top:34vh;text-align:center}
#bigwin-tier{font-size:clamp(18px,3.4vw,30px);letter-spacing:6px;color:#ffd08a;text-shadow:0 0 18px #ff7a1e,0 2px 0 #5a2a06}
#bigwin-amount{font-size:clamp(40px,9vw,92px);font-weight:700;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#fff6e4;text-shadow:0 0 30px #ff8a2a,0 0 6px #ffd38c,0 4px 0 #6b3208}
.bigwin[data-tier="mega"] #bigwin-amount,.bigwin[data-tier="epic"] #bigwin-amount{color:#fffdf5;text-shadow:0 0 40px #ff9a3a,0 0 80px #ff5a10,0 4px 0 #6b3208}
.overlay-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.overlay-card{position:relative}
.overlay:has(.overlay-video:not([hidden])) .overlay-card{background:linear-gradient(160deg,#2a1e14d9,#121618d9)}
@media (prefers-reduced-motion:reduce){.pop,#impact-flash.active,.bigwin{animation:none}.foundry-video,.bigwin-video,.overlay-video{display:none}}
.effects-off .foundry-video,.effects-off .bigwin-video,.effects-off .overlay-video{display:none}
/* Compressed "black" is dark grey: crush it and feather the frame so no rectangle shows. */
.bigwin-video,.overlay-video{filter:contrast(1.18) brightness(.92)}
.bigwin-video{width:min(135vw,1350px);-webkit-mask-image:radial-gradient(ellipse 50% 50% at center,#000 18%,#000a 42%,#0000 72%);mask-image:radial-gradient(ellipse 50% 50% at center,#000 18%,#000a 42%,#0000 72%)}
