:root{color-scheme:only light;--font-display:Impact,"Arial Black","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:Consolas,"Courier New",monospace}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;background:#060606;color:#fff;font-family:var(--font-display);color-scheme:only light;-webkit-text-size-adjust:100%;text-size-adjust:100%;forced-color-adjust:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}
button,input,select,textarea{font-family:var(--font-display);color-scheme:light;forced-color-adjust:none}
input:not([type="checkbox"]):not([type="range"]),select,textarea,button{-webkit-appearance:none;appearance:none}
button{cursor:pointer}
body.cursorHidden #app,body.cursorHidden #app *{cursor:none!important}
#app{position:relative;width:100vw;min-height:100dvh;overflow:visible;background:radial-gradient(circle at 22% 14%,rgba(255,255,255,.2),transparent 16%),radial-gradient(circle at 80% 12%,rgba(255,214,10,.24),transparent 19%),linear-gradient(135deg,#050505 0%,#101010 34%,#d90429 35%,#ef233c 48%,#111 49%,#000 100%)}
.slash-white{position:absolute;left:-30vw;top:-20vh;width:28vw;height:150vh;background:rgba(255,255,255,.92);transform:rotate(18deg);animation:slashFloat 5s infinite}
.ring{position:absolute;right:-95px;top:-95px;width:285px;height:285px;border-radius:50%;border:30px solid rgba(255,255,255,.82);animation:spin 13s linear infinite}
.screen{position:relative;z-index:2;max-width:500px;min-height:100dvh;margin:0 auto;padding:calc(8px + env(safe-area-inset-top)) 16px calc(4px + env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:visible;scrollbar-width:none}
.screen::-webkit-scrollbar{width:0;height:0}
.top{position:relative;order:1;display:block;flex:0 0 auto;min-height:140px;padding:14px 92px 12px 16px;border:3px solid #fff;border-radius:10px;background:linear-gradient(116deg,rgba(0,0,0,.96) 0 42%,rgba(27,27,27,.86) 41% 60%,rgba(230,0,18,.86) 61% 76%,rgba(255,255,255,.18) 77% 100%);box-shadow:7px 7px 0 #e60012;clip-path:polygon(0 0,100% 0,96% 100%,0 92%);overflow:visible}
.top:before{content:"";position:absolute;left:18px;right:72px;top:47px;height:38px;background:rgba(255,255,255,.08);border-top:3px solid rgba(255,255,255,.84);border-bottom:3px solid rgba(230,0,18,.9);transform:skewX(-18deg);pointer-events:none}
.top>div:first-child{position:relative;z-index:1;display:grid;justify-items:start;align-content:center;min-width:0}
.label{display:inline-block;background:#fff;color:#000;padding:6px 10px;font-size:12px;letter-spacing:.18em;font-weight:900;transform:skewX(-12deg)}
.titleArt{position:relative;z-index:1;display:block;width:min(320px,calc(100vw - 132px));max-height:88px;object-fit:contain;margin:0 0 0 -2px;filter:drop-shadow(6px 6px 0 #000)}
.subtitle{display:inline-block;max-width:min(270px,calc(100vw - 136px));margin:-3px 0 0 6px;padding:3px 8px;background:rgba(0,0,0,.92);border-left:4px solid #ffd60a;font-size:11px;letter-spacing:.04em;color:#fff;font-weight:900;text-shadow:2px 2px 0 #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iconBtns{position:absolute;z-index:4;right:12px;top:17px;display:flex;gap:6px;flex-direction:column;align-items:end;max-width:none;padding:6px 4px;background:rgba(0,0,0,.34);border-left:2px solid rgba(255,255,255,.6);border-radius:999px;backdrop-filter:blur(4px)}
.iconBtn{width:38px;height:38px;border-radius:99px;border:0;background:#fff;color:#000;font-size:18px;font-weight:900;box-shadow:4px 4px 0 #000}
.top .iconBtn{width:32px;height:32px;font-size:15px}
.iconBtn.red{background:#e60012;color:#fff}.iconBtn.dark{background:#111;color:#fff;border:2px solid #fff}
.soundbar{order:5;display:flex;align-items:center;justify-content:center;flex:0 0 auto;gap:8px;margin:4px 34px 0 18px;padding:3px 10px;background:rgba(5,5,5,.72);border:2px solid rgba(255,255,255,.62);border-radius:0 0 8px 8px;box-shadow:4px 4px 0 #000;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);opacity:.72}
.soundbar b{display:inline;color:#ffd60a;font-size:9px;letter-spacing:.18em;margin-right:7px}.soundbar span{font-size:9px;letter-spacing:.08em;font-weight:900}
.soundbar label{display:none}.soundbar input{display:none}
.machine{order:2;flex:0 0 auto;margin:10px 0 10px;border:4px solid #fff;border-radius:18px;background:rgba(0,0,0,.78);padding:10px;box-shadow:10px 10px 0 #e60012;backdrop-filter:blur(8px)}
.machine.shake{animation:shake .22s infinite}.machine.finalCharge{animation:charge .45s infinite}
.status{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-bottom:10px}
.phase{background:#e60012;color:#fff;padding:5px 10px;transform:skewX(-12deg);font-size:11px;letter-spacing:.14em;font-weight:900}
.odds{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#ffd60a;font-size:9px;font-weight:900;letter-spacing:.08em;text-shadow:2px 2px 0 #000}
.pool{font-size:11px;color:#fff;font-weight:900;text-shadow:2px 2px 0 #000}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.reel{height:24dvh;max-height:142px;min-height:112px;position:relative;border:3px solid #fff;border-radius:14px;overflow:hidden;background:#fff;color:#000;box-shadow:inset 0 0 0 5px #111}
.reel[data-rarity="R"]{border-color:#7bdff2;box-shadow:inset 0 0 0 5px #111,0 0 12px rgba(123,223,242,.5)}.reel[data-rarity="SR"]{border-color:#ffd60a;box-shadow:inset 0 0 0 5px #111,0 0 16px rgba(255,214,10,.7)}.reel[data-rarity="SSR"]{border-color:#ffd60a;box-shadow:inset 0 0 0 5px #111,0 0 18px rgba(255,214,10,.9),0 0 30px rgba(230,0,18,.55)}
.heroReel{transform:translateY(-5px)}
.reel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff 0%,#fff 62%,#e60012 63%,#e60012 74%,#111 75%);opacity:.82}
.reel.spin{animation:reelShake .16s infinite}.reel.locked{animation:slotLock .42s both}.heroReel.locked{box-shadow:inset 0 0 0 5px #111,0 0 24px #fff,0 0 42px #ffd60a}
.foodInner{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px}
.foodArt{width:min(96px,24vw);height:min(96px,24vw);display:grid;place-items:center;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.3))}
.foodSvg{max-width:100%;height:auto}.foodName{position:relative;z-index:2;max-width:100%;font-size:14px;line-height:1.05;font-weight:900;margin-top:5px;padding:3px 8px;background:#fff;color:#000;border:2px solid #111;box-shadow:3px 3px 0 #e60012;text-shadow:none;word-break:keep-all;white-space:nowrap}.foodName[data-name-size="long"]{font-size:12px;padding-left:5px;padding-right:5px}.foodName[data-name-size="compact"]{font-size:10px;line-height:1.08;white-space:normal;padding:2px 5px}.rarity{margin-top:5px;background:#000;color:#fff;font-size:10px;font-weight:900;padding:2px 7px}
.result{position:relative;order:3;flex:0 0 auto;overflow:hidden;border:4px solid #fff;border-radius:18px;background:#080808;color:#fff;box-shadow:10px 10px 0 #e60012;min-height:226px}
.result.reveal{animation:pop .7s cubic-bezier(.2,1.4,.3,1)}
.result:before{content:"";position:absolute;inset:-40px;background:radial-gradient(circle at 28% 42%,rgba(255,214,10,.34),transparent 23%),radial-gradient(circle at 76% 18%,rgba(230,0,18,.64),transparent 25%),linear-gradient(135deg,rgba(255,255,255,.14),transparent 28%,rgba(255,214,10,.18) 55%,transparent 68%);animation:resultAura 2.2s infinite}
.result[data-rarity="N"]{box-shadow:8px 8px 0 #666;border-color:#fff}.result[data-rarity="R"]{box-shadow:8px 8px 0 #7bdff2;border-color:#7bdff2}.result[data-rarity="SR"]{box-shadow:8px 8px 0 #ffd60a,12px 12px 0 #e60012;border-color:#ffd60a}.result[data-rarity="SSR"]{box-shadow:0 0 28px rgba(255,214,10,.8),8px 8px 0 #ffd60a,13px 13px 0 #e60012;border-color:#ffd60a}
.result:after{content:"";position:absolute;z-index:0;left:-20%;bottom:0;width:140%;height:26px;background:#fff;transform:rotate(-3deg)}
.resultBody{position:relative;z-index:1;padding:10px 12px 22px}.resultHead{display:flex;justify-content:space-between;align-items:center}
.resultFx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.resultFx:before{content:"";position:absolute;left:-20%;top:44%;width:140%;height:18px;background:#fff;box-shadow:0 0 28px #fff,0 0 46px #ffd60a;transform:rotate(-8deg) scaleX(0);transform-origin:left center}.resultFx:after{content:"";position:absolute;right:5%;top:13%;width:118px;height:118px;border:10px solid rgba(255,214,10,.86);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:0;filter:drop-shadow(0 0 18px #ffd60a)}.resultFx i{position:absolute;width:12px;height:42px;background:#ffd60a;border:2px solid #111;box-shadow:4px 4px 0 #e60012;opacity:0}.resultFx i:nth-child(1){left:18%;top:12%;transform:rotate(18deg)}.resultFx i:nth-child(2){left:83%;top:28%;transform:rotate(-22deg)}.resultFx i:nth-child(3){left:48%;top:4%;transform:rotate(72deg)}.resultFx i:nth-child(4){left:72%;top:64%;transform:rotate(28deg)}.resultFx i:nth-child(5){left:32%;top:72%;transform:rotate(-48deg)}.resultFx i:nth-child(6){left:8%;top:52%;transform:rotate(64deg)}
.result.reveal .resultFx:before{animation:prizeSlash .68s cubic-bezier(.12,1,.22,1) both}.result.reveal .resultFx:after{animation:prizeRing .9s .08s cubic-bezier(.16,1.25,.2,1) both}.result.reveal .resultFx i{animation:prizeShard .82s cubic-bezier(.12,1.2,.2,1) both}.result.reveal .resultFx i:nth-child(2){animation-delay:.05s}.result.reveal .resultFx i:nth-child(3){animation-delay:.1s}.result.reveal .resultFx i:nth-child(4){animation-delay:.16s}.result.reveal .resultFx i:nth-child(5){animation-delay:.2s}.result.reveal .resultFx i:nth-child(6){animation-delay:.26s}.result.reveal .winnerCard{animation:cardWin .88s .12s cubic-bezier(.12,1.45,.22,1) both}.result.reveal .winnerIcon{animation:iconPop .62s .28s cubic-bezier(.16,1.45,.24,1) both}.result.reveal .resultCopy{animation:copySlam .54s .36s cubic-bezier(.12,1.35,.22,1) both}.result.reveal .resultName{animation:nameSpark .72s .42s cubic-bezier(.12,1.3,.22,1) both}
.rarityBig{background:#fff;color:#000;padding:5px 10px;transform:skewX(-12deg);font-size:11px;letter-spacing:.14em;font-weight:900;box-shadow:4px 4px 0 #e60012}.raritySignal{color:#ffd60a;font-size:24px;font-weight:900;text-shadow:3px 3px 0 #000,0 0 18px #ffd60a}
.cardSpread{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:end;margin-top:5px;perspective:900px}.cardSpread:before{content:"";position:absolute;z-index:0;inset:-14px 18px -8px;background:conic-gradient(from -24deg at 50% 50%,rgba(255,214,10,.92),rgba(255,255,255,.16),rgba(230,0,18,.72),rgba(123,223,242,.54),rgba(255,214,10,.92));clip-path:polygon(6% 18%,96% 0,88% 86%,0 100%);filter:blur(1px) saturate(1.35);opacity:.48}.cardSpread:after{content:"";position:absolute;z-index:0;left:10%;right:10%;bottom:-6px;height:18px;background:#fff;box-shadow:0 0 24px #ffd60a;transform:skewX(-18deg);opacity:.86}.drawCard{position:relative;z-index:1;min-width:0;border:4px solid #111;border-radius:10px;background:#fff;color:#000;box-shadow:6px 6px 0 #000,9px 9px 0 #e60012;overflow:hidden;transform-style:preserve-3d;will-change:transform,filter}.drawCard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,214,10,.28) 46%,rgba(230,0,18,.14) 70%,rgba(0,0,0,.06));mix-blend-mode:multiply;pointer-events:none}.drawCard:after{content:"";position:absolute;left:-42%;top:-25%;width:58%;height:160%;background:rgba(255,255,255,.78);transform:rotate(18deg);opacity:.6}.result.reveal .drawCard:after{animation:cardSweep .9s .42s cubic-bezier(.12,1,.22,1) both}.drawCard[data-rarity="SR"],.drawCard[data-rarity="SSR"]{border-color:#ffd60a;box-shadow:6px 6px 0 #000,9px 9px 0 #ffd60a,12px 12px 0 #e60012}.drawCard[data-rarity="R"]{border-color:#7bdff2}.winnerCard{width:min(300px,82vw);padding:7px 10px 11px;min-height:184px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center;gap:2px;background:linear-gradient(160deg,#fff 0 56%,#ffe66d 57% 72%,#fff 73%)}.cardTop{position:relative;z-index:2;justify-self:start;display:inline-block;background:#000;color:#fff;padding:2px 6px;font-size:9px;letter-spacing:.1em;font-weight:900;transform:skewX(-12deg);box-shadow:3px 3px 0 #e60012}.winnerIcon{position:relative;z-index:1;width:132px;height:112px;display:grid;place-items:center;margin:-3px auto -2px;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.28));will-change:transform,opacity}.winnerIcon .foodSvg{width:100%;height:100%;object-fit:contain}.resultCopy{position:relative;z-index:2;width:100%;display:grid;justify-items:center;gap:1px;margin-top:0;will-change:transform,opacity}.destiny{font-size:8px;color:#e60012;letter-spacing:.1em;font-weight:900;text-shadow:1px 1px 0 #fff}.resultName{max-width:100%;padding:3px 12px;background:#fff;border:2px solid #111;box-shadow:4px 4px 0 #e60012;font-size:27px;line-height:.98;font-weight:900;color:#111;text-shadow:none;word-break:keep-all;text-align:center}.winnerCard[data-name-size="long"] .resultName{font-size:23px;padding-left:8px;padding-right:8px}.winnerCard[data-name-size="compact"] .resultName{font-size:20px;line-height:1.04;padding:3px 7px;white-space:normal}
.resultStage{position:relative;z-index:1;display:grid;justify-items:center;margin-top:5px;perspective:900px}.resultStage:before{content:"";position:absolute;z-index:0;inset:12px 20px 6px;background:linear-gradient(105deg,rgba(255,255,255,.86),rgba(255,214,10,.72) 38%,rgba(230,0,18,.64) 62%,rgba(123,223,242,.58));clip-path:polygon(0 32%,100% 8%,88% 88%,8% 100%);filter:blur(2px) saturate(1.35);opacity:.74}.resultStage:after{content:"";position:absolute;z-index:0;left:6%;right:6%;bottom:4px;height:16px;background:#fff;box-shadow:0 0 28px #ffd60a,0 0 48px #fff;transform:skewX(-18deg);opacity:.9}.resultStage .winnerCard{width:min(360px,88vw);min-height:154px;padding:10px 14px 12px;display:grid;grid-template-columns:106px minmax(0,1fr);grid-template-rows:auto 1fr;justify-items:start;align-items:center;gap:3px 12px;background:linear-gradient(150deg,#fff 0 45%,#fff2a8 46% 65%,#ffd0d6 66% 100%)}.resultStage .cardTop{grid-column:1/3;align-self:start;justify-self:start;font-size:10px;padding:3px 8px}.resultStage .winnerIcon{grid-column:1;grid-row:2;width:102px;height:92px;margin:0;justify-self:end;background:#fff;border:3px solid #111;border-radius:7px;box-shadow:5px 5px 0 rgba(0,0,0,.34);padding:5px}.resultStage .resultCopy{grid-column:2;grid-row:2;justify-items:center;align-self:center;justify-self:stretch;margin:-12px 0 0;min-width:0;gap:7px}.resultStage .destiny{display:inline-block;background:#e60012;color:#fff;font-size:12px;line-height:1;padding:4px 8px;letter-spacing:.04em;text-shadow:none;box-shadow:3px 3px 0 #111;transform:skewX(-10deg)}.resultStage .resultName{font-size:34px;line-height:1.03;text-align:center;white-space:normal;padding:5px 12px;background:#fff;border:3px solid #111;box-shadow:5px 5px 0 #e60012;max-width:100%;word-break:keep-all;overflow-wrap:anywhere}.resultStage .winnerCard[data-name-size="long"] .resultName{font-size:28px}.resultStage .winnerCard[data-name-size="compact"] .resultName{font-size:24px;line-height:1.08}
.result.concealed .resultStage .winnerCard{background:linear-gradient(145deg,#050505,#191919 58%,#320008);border-color:#fff;color:#fff}.result.concealed .resultStage:before{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.36),transparent 54%);filter:blur(10px);opacity:.54}.result.concealed .resultName{background:#111;color:#fff;border-color:#fff;box-shadow:4px 4px 0 #e60012;font-size:34px;letter-spacing:.14em}.result.concealed .destiny,.result.concealed .cardTop{color:#ffd60a}.sealedMark{width:86px;height:86px;display:grid;place-items:center;border:5px solid #fff;border-radius:50%;background:#050505;color:#ffd60a;font-size:62px;line-height:1;text-shadow:4px 4px 0 #e60012,0 0 22px #ffd60a;box-shadow:0 0 26px rgba(255,214,10,.45),7px 7px 0 #000}.result.concealed .stat b{color:transparent;text-shadow:none;position:relative}.result.concealed .stat b:after{content:"???";position:absolute;inset:0;color:#fff;text-shadow:2px 2px 0 #000}
.stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px;text-align:center}.stat{background:#050505;color:#fff;border:2px solid rgba(255,255,255,.82);border-radius:7px;padding:4px 5px;box-shadow:3px 3px 0 #e60012}.stat small{display:block;font-size:7px;opacity:.82;letter-spacing:.08em}.stat b{display:block;font-size:15px;line-height:1.05}
.cta{position:relative;order:4;z-index:6;flex:0 0 auto;margin-top:6px;padding:0 0 1px}.rollBtn{width:100%;height:52px;border:4px solid #fff;border-radius:14px;background:#e60012;color:#fff;font-size:19px;font-weight:900;letter-spacing:.12em;box-shadow:8px 8px 0 #000}.rollBtn:disabled{filter:grayscale(.6);cursor:wait}.rollBtn:active{transform:translateY(2px)}
.tip{text-align:center;margin-top:7px;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.72);font-weight:900;text-shadow:2px 2px 0 #000}
.speedlines,.particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.line{position:absolute;left:-45%;height:3px;background:#fff;animation:lineMove .8s linear infinite}.dot{position:absolute;border-radius:50%;background:#fff;mix-blend-mode:screen;opacity:.35;animation:float 2.8s infinite}
.flash{position:fixed;inset:0;background:#fff;z-index:9;pointer-events:none;opacity:0}.flash.go{animation:flash .5s infinite;mix-blend-mode:difference}.flash.burst{animation:burst .9s both}
.cutin{pointer-events:none;position:fixed;inset:0;z-index:10;display:none;align-items:center;justify-content:center;overflow:hidden}.cutin.show{display:flex}
.black{position:absolute;inset:0;background:#000;opacity:.9}.redFlash{position:absolute;inset:0;background:#e60012;mix-blend-mode:screen;animation:redPulse .48s infinite}
.warningBox{text-align:center;animation:pulse .36s infinite}.warningText{font-size:58px;font-weight:900;text-shadow:8px 8px 0 #000}.warningSub{display:inline-block;background:#fff;color:#e60012;padding:5px 12px;font-size:12px;letter-spacing:.2em;font-weight:900}
.execute{width:min(440px,86vw);display:grid;place-items:center;gap:6px;padding:10px 16px;background:rgba(0,0,0,.72);border-top:5px solid #fff;border-bottom:5px solid #e60012;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);font-size:42px;line-height:.9;font-weight:900;text-align:center;text-shadow:6px 6px 0 #e60012;animation:execute .58s cubic-bezier(.2,1.4,.3,1)}.execute span{display:block;color:#fff;letter-spacing:.02em}.execute b{display:block;max-width:100%;background:#fff;color:#000;padding:5px 12px;border:3px solid #111;box-shadow:4px 4px 0 #000;transform:skewX(-12deg);font-size:15px;line-height:1.05;letter-spacing:.08em;white-space:normal;word-break:keep-all;text-shadow:none}
.manga{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding:18px;background:radial-gradient(circle at 50% 50%,rgba(255,214,10,.16),transparent 45%)}.panel{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:5px solid #fff;background:#020202;color:#fff;font-size:24px;font-weight:900;box-shadow:7px 7px 0 #e60012,0 0 0 1px #111 inset;transform:skewX(-7deg);animation:panel .42s both;will-change:transform,opacity}.panel:before{content:"";position:absolute;inset:-18%;background:linear-gradient(116deg,transparent 0 32%,rgba(230,0,18,.92) 33% 39%,transparent 40% 100%),radial-gradient(circle at 52% 50%,rgba(255,214,10,.28),transparent 29%),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 2px,transparent 2px 12px);opacity:.9}.panel:after{content:"?";position:absolute;right:8%;top:4%;color:#ffd60a;font-size:clamp(48px,16vw,116px);line-height:1;text-shadow:6px 6px 0 #e60012,0 0 26px #ffd60a;opacity:.82;transform:skewX(7deg) rotate(-7deg)}.panelFood{position:absolute;inset:3% 5%;display:grid;place-items:center;opacity:.64;filter:contrast(2.2) brightness(1.35) drop-shadow(0 0 22px rgba(255,255,255,.75));transform:skewX(7deg) scale(1.24);mix-blend-mode:screen}.panelFood:before{content:"";position:absolute;width:74%;height:74%;border:4px solid rgba(255,255,255,.34);border-left-color:#e60012;border-bottom-color:#ffd60a;border-radius:50%;filter:drop-shadow(0 0 20px rgba(255,214,10,.55));animation:pulse .68s infinite}.panelFood .foodSvg{position:relative;z-index:1;width:min(42vw,218px);height:min(42vw,218px)}.panelFood .foodSvg>rect,.panelFood .foodSvg>polygon,.panelFood .foodSvg circle,.panelFood .foodSvg text{opacity:0!important}.panelFood .foodSvg image{filter:brightness(0) invert(1) drop-shadow(7px 7px 0 #e60012);opacity:.95}.panel span{position:relative;z-index:3;padding:5px 12px;background:#fff;color:#000;border:3px solid #111;box-shadow:5px 5px 0 #e60012;transform:skewX(-10deg);text-shadow:2px 2px 0 rgba(0,0,0,.22)}.cutSlashA,.cutSlashB{position:absolute;left:-40%;width:160%;height:110px}.cutSlashA{top:18%;background:#fff;transform:rotate(-12deg);animation:slashA .72s}.cutSlashB{bottom:22%;background:#e60012;transform:rotate(12deg);animation:slashB .72s}
.admin button:disabled{filter:grayscale(.7);opacity:.55;cursor:wait}
.formStatus{margin-top:8px;padding:8px 10px;background:#111;border:2px solid #ffd60a;color:#ffd60a;border-radius:7px;font-size:12px;font-weight:900;box-shadow:3px 3px 0 #e60012}
.admin{position:fixed;z-index:20;right:0;top:0;height:100%;width:min(420px,100vw);background:#101010;border-left:4px solid #fff;box-shadow:-14px 0 0 #e60012;padding:18px;transform:translateX(110%);transition:transform .28s ease;overflow:auto}.admin.open{transform:translateX(0)}.adminHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin h2{margin:9px 0 0;font-size:34px}.adminForm{display:grid;grid-template-columns:1fr 90px;gap:8px;margin-top:18px}.admin input,.admin select,.admin textarea{border:2px solid #fff;background:#000;color:#fff;border-radius:6px;padding:10px;font-size:14px}.adminForm button,.adminTools button{border:0;background:#e60012;color:#fff;padding:10px;font-weight:900;border-radius:6px}.check{display:flex;align-items:center;gap:8px;background:#000;border:2px solid #fff;border-radius:6px;padding:8px}.check input{width:18px;height:18px}.adminTools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.admin textarea{width:100%;height:96px;resize:vertical;font-family:Consolas,monospace}.apiBox,.oddsBox,.historyBox{margin-top:12px;border:2px solid #fff;border-radius:8px;background:#000;padding:10px}.apiTitle{display:flex;justify-content:space-between;gap:8px;align-items:flex-end}.apiTitle small{font-size:10px;color:rgba(255,255,255,.62);line-height:1.4}.apiGrid{display:grid;grid-template-columns:1fr 82px;gap:8px;margin-top:10px}.apiBox textarea{margin-top:8px;height:82px}.apiBox #apiBody{height:152px}.apiActions,.oddsActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.apiActions button,.oddsActions button{border:0;background:#ffd60a;color:#000;padding:10px;font-weight:900;border-radius:6px}.oddsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.oddsGrid label{display:grid;gap:4px;color:#ffd60a;font-size:10px;font-weight:900;letter-spacing:.12em}.oddsGrid input{text-align:center;padding:8px}.apiStatus{margin-top:8px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.72);word-break:break-all}.historyList{display:grid;gap:7px;margin-top:10px}.historyItem{display:grid;grid-template-columns:58px 1fr auto;gap:8px;align-items:center;background:#111;border:2px solid #fff;border-radius:7px;padding:7px;box-shadow:3px 3px 0 #e60012}.historyItem b{font-size:12px;color:#ffd60a}.historyItem strong{font-size:13px}.historyItem span{font-size:10px;color:rgba(255,255,255,.68)}.historyItem small{font-size:10px;color:#fff;background:#e60012;padding:3px 5px;border-radius:4px}.emptyHistory{padding:10px;border:2px dashed rgba(255,255,255,.42);border-radius:7px;color:rgba(255,255,255,.62);font-size:11px;text-align:center}.foodList{display:grid;gap:8px;margin-top:12px}.foodRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:2px solid #fff;border-radius:8px;padding:8px;background:#000}.foodRow strong{display:block}.foodRow span{font-size:11px;color:rgba(255,255,255,.65)}.foodRow button{border:0;background:#fff;color:#000;border-radius:6px;padding:8px;font-weight:900}
.admin input,.admin select,.admin textarea{box-shadow:none;caret-color:#ffd60a}
.admin input::placeholder,.admin textarea::placeholder{color:rgba(255,255,255,.58);opacity:1}
.admin select option{background:#000;color:#fff}
.check input{accent-color:#e60012}
.admin textarea{font-family:var(--font-mono)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes slashFloat{50%{transform:translateX(22px) rotate(18deg)}}@keyframes shake{0%,100%{transform:translate(0) rotate(0)}25%{transform:translate(-3px,2px) rotate(-1deg)}50%{transform:translate(3px,-2px) rotate(1deg)}75%{transform:translate(-2px,-3px) rotate(.5deg)}}@keyframes charge{50%{transform:scale(1.02);box-shadow:0 0 42px #ffd60a,12px 12px 0 #e60012}}@keyframes reelShake{50%{transform:translateY(-18px);filter:blur(5px) saturate(1.8)}}@keyframes slotLock{0%{transform:scale(1.1)}40%{transform:scale(.92)}100%{transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:translateY(55px) scale(.34) rotate(-14deg)}100%{opacity:1;transform:none}}@keyframes resultAura{50%{transform:scale(1.06) rotate(2deg);filter:saturate(1.7)}}@keyframes prizeSlash{0%{transform:rotate(-8deg) scaleX(0);opacity:0}25%{opacity:1}100%{transform:rotate(-8deg) scaleX(1);opacity:0}}@keyframes prizeRing{0%{transform:scale(.2) rotate(-40deg);opacity:0}35%{opacity:1}100%{transform:scale(1.55) rotate(80deg);opacity:0}}@keyframes prizeShard{0%{opacity:0;transform:translateY(22px) scale(.2) rotate(0)}18%{opacity:1}100%{opacity:0;transform:translateY(-74px) scale(1.25) rotate(210deg)}}@keyframes prizePunch{0%{transform:translateX(-24px) scale(.82) rotate(-5deg);filter:brightness(2) saturate(2)}60%{transform:translateX(6px) scale(1.08) rotate(2deg)}100%{transform:none}}@keyframes nameSpark{0%{letter-spacing:.12em;filter:brightness(2.5);transform:skewX(-12deg) scale(1.14)}100%{letter-spacing:0;filter:none;transform:none}}@keyframes lineMove{to{transform:translateX(150vw)}}@keyframes float{50%{transform:translateY(-26px) scale(1.2);opacity:.82}}@keyframes flash{0%,100%{opacity:0}35%{opacity:.18}60%{opacity:0}82%{opacity:.1}}@keyframes burst{0%{opacity:0}18%{opacity:.9}100%{opacity:0}}@keyframes redPulse{0%,100%{opacity:0}45%{opacity:.85}}@keyframes pulse{50%{transform:scale(1.12)}}@keyframes execute{0%{transform:scale(.2) rotate(-18deg)}42%{transform:scale(1.36) rotate(8deg)}72%{transform:scale(.95) rotate(-4deg)}100%{transform:scale(1) rotate(0)}}@keyframes panel{0%{transform:scale(0) rotate(-8deg) skewX(-7deg)}100%{transform:scale(1) rotate(3deg) skewX(-7deg)}}@keyframes slashA{from{transform:translateX(-100%) rotate(-12deg)}to{transform:translateX(100%) rotate(-12deg)}}@keyframes slashB{from{transform:translateX(100%) rotate(12deg)}to{transform:translateX(-100%) rotate(12deg)}}
@keyframes cardFlipLeft{0%{opacity:0;transform:translateX(90px) rotateY(75deg) rotate(-22deg) scale(.6)}100%{opacity:.92;transform:rotate(-8deg) translateY(8px)}}@keyframes cardFlipRight{0%{opacity:0;transform:translateX(-90px) rotateY(-75deg) rotate(22deg) scale(.6)}100%{opacity:.92;transform:rotate(7deg) translateY(8px)}}@keyframes cardWin{0%{opacity:0;transform:translateY(48px) rotateX(70deg) scale(.45);filter:brightness(2.5)}55%{opacity:1;transform:translateY(-10px) rotateX(-8deg) scale(1.12);filter:brightness(2.2) saturate(1.8)}100%{opacity:1;transform:none;filter:none}}@keyframes iconPop{0%{opacity:1;transform:translateY(14px) scale(.82) rotate(-8deg);filter:brightness(1.9) saturate(1.5)}62%{opacity:1;transform:translateY(-4px) scale(1.12) rotate(3deg);filter:brightness(1.5) saturate(1.35)}100%{opacity:1;transform:none;filter:none}}@keyframes copySlam{0%{opacity:1;transform:translateY(12px) skewX(-12deg) scale(.92);filter:brightness(1.8)}70%{opacity:1;transform:translateY(-2px) skewX(-4deg) scale(1.04);filter:brightness(1.35)}100%{opacity:1;transform:none;filter:none}}@keyframes cardSweep{0%{transform:translateX(-60px) rotate(18deg);opacity:0}35%{opacity:.9}100%{transform:translateX(240px) rotate(18deg);opacity:0}}
@media(max-height:720px){.screen{padding-top:6px}.top{min-height:126px;padding:10px 80px 8px 12px}.top:before{top:43px;right:84px;height:30px}.label{font-size:10px;padding:5px 8px}.titleArt{width:min(284px,calc(100vw - 124px));max-height:72px;margin-top:0;margin-left:-2px}.subtitle{max-width:min(238px,calc(100vw - 130px));font-size:9.5px;padding:2px 7px;letter-spacing:.02em}.iconBtns{top:10px;right:9px;gap:4px;padding:5px 3px}.iconBtn{width:30px;height:30px;font-size:15px}.soundbar{margin-top:2px}.machine{margin:8px 0 8px;padding:9px}.status{margin-bottom:7px;gap:5px}.odds{font-size:8px}.reel{height:112px;min-height:112px}.foodArt{width:min(82px,22vw);height:min(82px,22vw)}.foodName{font-size:12px;padding:2px 6px}.rarity{font-size:9px;margin-top:3px}.result{min-height:214px}.resultName{font-size:23px}.winnerCard[data-name-size="long"] .resultName{font-size:20px}.winnerCard[data-name-size="compact"] .resultName{font-size:18px}.rarityBig{font-size:9px;padding:4px 8px}.stats{margin-top:4px}.stat{padding:4px}.stat b{font-size:12px}.rollBtn{height:50px}.winnerCard{min-height:160px}.winnerIcon{width:116px;height:96px}.resultBody{padding:8px 10px 14px}.tip{font-size:8px;margin-top:6px}}
@media(max-width:420px){.top{padding-right:98px}.top:before{right:102px}.iconBtn{width:34px;height:34px;font-size:16px}.winnerCard{width:min(280px,84vw)}.winnerIcon{width:124px;height:104px}.resultName{font-size:24px}.titleArt{width:min(238px,calc(100vw - 158px));margin-left:-2px}.subtitle{max-width:min(216px,calc(100vw - 158px))}}
@media(max-height:720px){.result{min-height:198px}.resultBody{padding:7px 10px 12px}.resultStage{margin-top:3px}.resultStage .winnerCard{width:min(342px,88vw);min-height:132px;grid-template-columns:96px minmax(0,1fr);gap:2px 9px;padding:7px 10px 9px}.resultStage .winnerIcon{width:92px;height:82px;padding:4px}.resultStage .destiny{font-size:10px;padding:4px 7px}.resultStage .resultName{font-size:28px;padding:4px 9px}.resultStage .winnerCard[data-name-size="long"] .resultName{font-size:24px}.resultStage .winnerCard[data-name-size="compact"] .resultName{font-size:21px}.resultStage .cardTop{font-size:9px;padding:2px 6px}.execute{font-size:40px;padding:10px 15px}.execute b{font-size:14px}.stats{gap:5px;margin-top:6px}.stat{padding:4px}.stat small{font-size:7px}.stat b{font-size:13px}}
@media(max-width:420px){.resultStage .winnerCard{grid-template-columns:100px minmax(0,1fr);width:min(320px,88vw)}.resultStage .winnerIcon{width:100px;height:86px}.resultStage .resultName{font-size:23px}.execute{font-size:38px}}
@media(max-width:430px){
  .screen{max-width:100vw;padding-left:10px;padding-right:10px}
  .machine{padding:8px;border-radius:16px;box-shadow:7px 7px 0 #e60012}
  .reels{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .reel{height:auto;min-height:0;aspect-ratio:1/1.18;border-width:3px;border-radius:12px}
  .foodInner{justify-content:space-between;padding:7px 4px 6px}
  .foodArt{width:min(25vw,82px);height:min(25vw,82px);min-height:0}
  .foodSvg{width:100%;height:100%;object-fit:contain}
  .foodName{max-width:96%;font-size:12px;line-height:1.05;margin-top:2px;padding:2px 5px;white-space:normal}
  .foodName[data-name-size="long"]{font-size:10px}
  .foodName[data-name-size="compact"]{font-size:9px}
  .rarity{font-size:8px;margin-top:2px;padding:1px 5px}
  .result{min-height:0;border-radius:16px;box-shadow:7px 7px 0 #e60012}
  .resultBody{padding:8px 9px 12px}
  .resultStage{margin-top:4px}
  .resultStage:before{inset:10px 10px 8px;clip-path:polygon(0 20%,100% 0,94% 92%,4% 100%)}
  .resultStage .winnerCard{
    width:min(340px,88vw);
    min-height:0;
    aspect-ratio:2.18/1;
    grid-template-columns:minmax(88px,30%) minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    gap:2px 8px;
    padding:7px 10px 9px;
  }
  .resultStage .winnerIcon{width:min(92px,24vw);height:min(80px,20vw);align-self:center;padding:4px}
  .resultStage .resultCopy{min-width:0;gap:5px;margin-top:-10px}
  .resultStage .destiny{font-size:clamp(10px,3vw,12px);letter-spacing:.02em;padding:4px 7px}
  .resultStage .resultName{font-size:clamp(25px,7.4vw,31px);line-height:1.02;padding:4px 9px;max-width:100%;word-break:keep-all;overflow-wrap:anywhere;text-align:center}
  .resultStage .winnerCard[data-name-size="long"] .resultName{font-size:clamp(21px,6.3vw,27px)}
  .resultStage .winnerCard[data-name-size="compact"] .resultName{font-size:clamp(18px,5.7vw,23px)}
  .stats{gap:5px;margin-top:6px}
  .stat{min-width:0;padding:4px 3px}
  .rollBtn{height:50px}
  .manga{
    align-content:center;
    justify-content:center;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,auto);
    gap:10px 8px;
    padding:calc(18px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));
  }
  .panel{
    width:100%;
    aspect-ratio:1/1.18;
    max-height:none;
    min-height:0;
    border-width:4px;
    font-size:clamp(18px,5.5vw,24px);
    box-shadow:5px 5px 0 #e60012,0 0 0 1px #111 inset;
  }
  .panel:after{font-size:clamp(42px,18vw,78px);right:6%;top:1%}
  .panelFood{inset:10% 7%;transform:skewX(7deg) scale(1.04)}
  .panelFood .foodSvg{width:min(35vw,132px);height:min(35vw,132px)}
  .panel span{max-width:84%;padding:4px 8px;font-size:clamp(14px,4.6vw,20px);line-height:1}
}
@media(min-width:480px){
  html,body{height:100%;overflow:hidden;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.18),transparent 13%),radial-gradient(circle at 78% 10%,rgba(230,0,18,.34),transparent 18%),linear-gradient(120deg,#050505 0 26%,#1a1a1a 27% 44%,#e60012 45% 52%,#080808 53% 100%)}
  body{display:grid;place-items:start center;padding:34px 18px 18px}
  #app{width:430px;max-width:calc(100vw - 36px);height:min(886px,calc(100dvh - 52px));min-height:0;overflow-y:auto;overflow-x:hidden;border:4px solid #fff;border-radius:18px;box-shadow:0 0 0 6px #050505,16px 16px 0 #e60012,0 0 44px rgba(255,255,255,.22)}
  #app::-webkit-scrollbar{width:0;height:0}
  .screen{width:100%;max-width:none;min-height:100%;padding-left:12px;padding-right:12px}
  .subtitle{max-width:min(238px,100%)}
  .execute{width:min(392px,86vw)}
}
