*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;background:#0b0712;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none}body{position:fixed;top:0;left:0;right:0;bottom:0}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:100%;height:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;align-items:center;justify-content:center;background:#0b0712}.stage{position:relative;overflow:hidden;background:#000;box-shadow:0 0 0 4px #1b1424,0 0 0 6px #3b2d57}canvas.game{position:absolute;top:0;left:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.ui{position:absolute;left:0;top:0;width:640px;height:360px;transform-origin:0 0;pointer-events:none}.ui>.screen{pointer-events:auto}.screen{position:absolute;top:0;left:0;right:0;bottom:0}.screen.dim{background:#0a0614e6}.screen.overlay{background:#0a0614b8}.pxt{display:inline-block;line-height:0;vertical-align:top}.ppanel,.pbtn,.card,.cell{line-height:0}.pxl{display:flex;flex-wrap:wrap;align-items:flex-end}.pxw,.pxi{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.center{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}.topright{position:absolute;right:14px;top:10px;display:flex;gap:6px;align-items:center;pointer-events:none}.abs{position:absolute}.bottomrow{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:center;gap:12px;align-items:center}.bottomnote{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;pointer-events:none}.vstack{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px}.ppanel{background:#1a122cf0;border:2px solid #6b5a8e;box-shadow:0 0 0 2px #0c0814,3px 4px 0 2px #0c0814,inset 0 0 0 2px #1a122c;padding:8px}.pbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:8px 14px 9px;background:var(--bc, #3b2d57);position:relative;image-rendering:pixelated;box-shadow:0 0 0 2px #0c0814,inset 2px 2px #ffffff47,inset -2px -2px #00000061,3px 4px 0 2px #0c0814;transition:transform .05s}.pbtn.small{padding:5px 9px 6px}.pbtn.wide{width:210px;display:flex;justify-content:center}.pbtn:hover:not(:disabled){filter:brightness(1.25);transform:translateY(-1px)}.pbtn:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 2px #0c0814,inset 2px 2px #0000004d,inset -2px -2px #ffffff1f}.pbtn:disabled{cursor:default;filter:saturate(.2) brightness(.7)}.pbtn.active{outline:2px solid #ffd24a;outline-offset:1px}.pbtn:focus-visible{outline:2px solid #9ae0ff;outline-offset:2px}.list{position:absolute;left:36px;right:36px;display:flex;flex-direction:column;gap:6px}.row{display:flex;align-items:center;gap:10px;padding:4px 10px!important;height:33px}.pips{display:flex;gap:3px;width:56px}.pip{width:8px;height:10px;background:#1a122c;border:1px solid #4a3e6a}.pip.on{background:#ffd24a;border-color:#8a6a1a}.setrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.statrow{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.wcell{display:flex;align-items:center;gap:6px;min-width:0}.step{display:flex;align-items:center;gap:10px;margin-bottom:7px}.stepnum{width:18px;height:18px;background:#ffd24a;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 0 2px #0c0814}.tabs{position:absolute;left:0;right:0;top:54px;display:flex;justify-content:center;gap:8px}.grid{position:absolute;left:70px;right:70px;top:100px;padding:4px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-height:140px;overflow-y:auto;scrollbar-width:none;pointer-events:auto}.cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:36px;height:36px;flex:none;background:#1a122c;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #4a3e6a,0 0 0 4px #0c0814}.cell:hover{background:#2a1e44}.cell.sel{box-shadow:0 0 0 2px #ffd24a,0 0 0 4px #0c0814;background:#2a1e44}.cards{position:absolute;left:0;right:0;top:92px;display:flex;justify-content:center;gap:16px}.card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;width:172px;height:244px;padding:8px;background:#1a122c;display:flex;flex-direction:column;align-items:center;box-shadow:0 0 0 3px var(--rc),0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,inset 0 0 0 2px #ffffff0f;position:relative;transition:transform .08s;animation:pop .25s ease-out backwards}.card:nth-child(2){animation-delay:.06s}.card:nth-child(3){animation-delay:.12s}.card:hover,.card:focus-visible{transform:translateY(-6px);background:#2a1e44;outline:none}.cardicon{width:84px;height:84px;display:flex;align-items:center;justify-content:center;background:#0f0a1c;border:2px solid;margin:6px 0 8px}.cardlines{display:flex;flex-direction:column;gap:5px;align-items:center}.cardkey{position:absolute;left:6px;top:6px}.rewards{position:absolute;left:0;right:0;top:110px;display:flex;justify-content:center;gap:18px}.reward{width:150px;display:flex;flex-direction:column;align-items:center;padding:14px 8px!important;animation:pop .3s ease-out backwards}.pulse{animation:pulse .9s ease-in-out infinite;transform-origin:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes pop{0%{transform:translateY(24px) scale(.9);opacity:0}to{transform:none;opacity:1}}.sharegrid{left:292px;top:52px;width:320px;display:grid;grid-template-columns:1fr 1fr;gap:12px 12px}.sharegrid .pbtn{width:100%;display:flex;justify-content:center;padding:8px 4px 9px}.pausebtn{position:absolute;right:10px;bottom:10px;width:30px;height:30px;padding:0;border:0;cursor:pointer;pointer-events:auto;display:flex;gap:5px;align-items:center;justify-content:center;background:#1a122cd9;box-shadow:0 0 0 2px #0c0814,inset 2px 2px #ffffff40,inset -2px -2px #0006,2px 3px 0 2px #0c0814;opacity:.8}.pausebtn span{width:5px;height:14px;background:#fff;box-shadow:1px 1px #000}.pausebtn:hover{opacity:1;filter:brightness(1.3)}.screen.lvl{background:radial-gradient(circle at 50% 45%,#3c1e64c7,#080412e6);animation:lvlin .35s ease-out}@keyframes lvlin{0%{transform:scale(1.04)}to{transform:none}}.fx{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.fx>*{position:absolute}.fx-rays{left:50%;top:46%;width:1200px;height:1200px;margin:-600px 0 0 -600px;opacity:.9;background:repeating-conic-gradient(from 0deg,#ffe27833 0,#ffe27833 7deg,#ffe27800 7deg,#ffe27800 14deg);-webkit-mask-image:radial-gradient(circle,#000 0,#000 22%,transparent 60%);mask-image:radial-gradient(circle,#000 0,#000 22%,transparent 60%);animation:spin 16s linear infinite}.fx.gold .fx-rays{background:repeating-conic-gradient(from 0deg,#ffd65a47 0,#ffd65a47 6deg,#ffd65a00 6deg,#ffd65a00 12deg)}@keyframes spin{to{transform:rotate(360deg)}}.fx-edgeglow{top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 36px 8px #ffd24a8c,inset 0 0 90px 10px #c36bff59;animation:edgepulse 1.1s ease-in-out infinite}@keyframes edgepulse{0%,to{opacity:.55}50%{opacity:1}}.fx-mq{background-size:32px 32px;animation:marchx .6s linear infinite,hue 2.4s linear infinite;box-shadow:0 0 10px 1px #ffdc78cc}.fx-mq.top,.fx-mq.bottom{left:0;right:0;height:8px;background-image:repeating-linear-gradient(90deg,#ffd24a 0,#ffd24a 8px,#ff6aa8 8px,#ff6aa8 16px,#6ac8ff 16px,#6ac8ff 24px,#fff 24px,#fff 32px)}.fx-mq.top{top:0}.fx-mq.bottom{bottom:0;animation-direction:reverse,normal}.fx-mq.left,.fx-mq.right{top:0;bottom:0;width:8px;background-image:repeating-linear-gradient(180deg,#ffd24a 0,#ffd24a 8px,#ff6aa8 8px,#ff6aa8 16px,#6ac8ff 16px,#6ac8ff 24px,#fff 24px,#fff 32px);animation:marchy .6s linear infinite,hue 2.4s linear infinite}.fx-mq.left{left:0}.fx-mq.right{right:0;animation-direction:reverse,normal}@keyframes marchx{to{background-position:32px 0}}@keyframes marchy{to{background-position:0 32px}}@keyframes hue{to{filter:hue-rotate(360deg)}}.fx-star{width:34px;height:34px;animation:spin 3s linear infinite,starpulse .9s ease-in-out infinite}.fx-star:before,.fx-star:after{content:"";position:absolute;background:#fff6b0;box-shadow:0 0 8px 2px #ffd24a}.fx-star:before{left:14px;top:0;width:6px;height:34px}.fx-star:after{top:14px;left:0;height:6px;width:34px}.fx-star.tl{left:4px;top:4px}.fx-star.tr{right:4px;top:4px;animation-direction:reverse,normal}.fx-star.bl{left:4px;bottom:4px;animation-direction:reverse,normal}.fx-star.br{right:4px;bottom:4px}@keyframes starpulse{0%,to{scale:.8}50%{scale:1.25}}.cf{top:-12px;opacity:.95;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes fall{0%{transform:translateY(-10px) rotate(0)}50%{transform:translate(var(--sw),190px) rotate(260deg)}to{transform:translate(calc(var(--sw) * -1),400px) rotate(540deg)}}.sp{width:2px;height:2px;background:#fff;box-shadow:0 -3px #fff,0 3px #fff,-3px 0 #fff,3px 0 #fff;animation-name:twinkle;animation-iteration-count:infinite;animation-timing-function:steps(4)}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.5)}}.fx-flash{top:0;left:0;right:0;bottom:0;background:#fff;animation:flashout .55s ease-out forwards}@keyframes flashout{0%{opacity:.9}to{opacity:0}}.screen.lvl .center,.screen.lvl .cards,.screen.lvl .rewards,.screen.lvl .bottomrow{z-index:2}.shine{position:relative;overflow:hidden;padding:0 6px}.shine:after{content:"";position:absolute;top:-10%;bottom:-10%;width:22%;left:-40%;transform:skew(-22deg);background:linear-gradient(90deg,#fff0,#ffffffe6,#fff0);animation:sweep 1.9s ease-in-out infinite}@keyframes sweep{0%{left:-40%}60%,to{left:130%}}.card.r1{animation:pop .25s ease-out backwards,glow1 1.8s ease-in-out .3s infinite}.card.r2{animation:pop .25s ease-out backwards,glow2 1.3s ease-in-out .3s infinite}.card.r3{animation:pop .25s ease-out backwards,glow3 .9s ease-in-out .3s infinite}.card:nth-child(2).r1,.card:nth-child(2).r2,.card:nth-child(2).r3{animation-delay:.06s,.36s}.card:nth-child(3).r1,.card:nth-child(3).r2,.card:nth-child(3).r3{animation-delay:.12s,.42s}@keyframes glow1{0%,to{box-shadow:0 0 0 3px var(--rc),0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 10px 1px var(--rc)}50%{box-shadow:0 0 0 3px var(--rc),0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 20px 4px var(--rc)}}@keyframes glow2{0%,to{box-shadow:0 0 0 3px var(--rc),0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 14px 3px var(--rc)}50%{box-shadow:0 0 0 3px var(--rc),0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 30px 8px var(--rc)}}@keyframes glow3{0%,to{box-shadow:0 0 0 3px #ffd24a,0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 18px 4px #ffd24a}33%{box-shadow:0 0 0 3px #ff6aa8,0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 34px 10px #ff6aa8}66%{box-shadow:0 0 0 3px #6ac8ff,0 0 0 5px #0c0814,4px 6px 0 5px #0c0814,0 0 34px 10px #6ac8ff}}.card{overflow:hidden}.card.r3:after,.card.r2:after{content:"";position:absolute;top:-10%;bottom:-10%;width:28%;left:-50%;transform:skew(-20deg);pointer-events:none;background:linear-gradient(90deg,#fff0,#ffffff59,#fff0);animation:sweep 2.2s ease-in-out infinite}.card:hover{z-index:3}@media (prefers-reduced-motion: reduce){.fx-rays,.fx-star,.fx-mq,.cf,.sp,.shine:after,.card:after{animation:none!important}}a.pbtn{display:inline-flex;text-decoration:none}.credits{display:flex;flex-direction:column;align-items:center;gap:8px}.pbtn.link{padding:10px 18px 11px;margin:4px 0}.tc-zone{position:fixed;left:0;top:0;bottom:0;width:55%;z-index:20;touch-action:none}.tc-base,.tc-ghost{position:fixed;width:104px;height:104px;border-radius:50%;border:3px solid rgba(255,255,255,.4);background:#140e2261;box-shadow:0 0 0 2px #0c081499;display:flex;align-items:center;justify-content:center;pointer-events:none}.tc-ghost{left:calc(7% + env(safe-area-inset-left));bottom:calc(14% + env(safe-area-inset-bottom));opacity:.45}.tc-knob{width:46px;height:46px;border-radius:50%;background:#ffe68cd9;border:3px solid #fff;box-shadow:0 0 0 2px #0c081499,0 0 12px #ffd24ab3}.tc-btn{position:fixed;z-index:21;border:0;padding:0;touch-action:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#1a122cd1;box-shadow:0 0 0 3px #0c0814,inset 3px 3px #ffffff40,inset -3px -3px #0006}.tc-dash{right:calc(18px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:78px;height:78px;border-radius:50%;background:#2a5a9ae6}.tc-dash:active{filter:brightness(1.4);transform:scale(.94)}.tc-pause{right:calc(110px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));width:44px;height:44px;gap:6px}.tc-pause span{width:7px;height:18px;background:#fff;box-shadow:1px 1px #000}.rotate{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:radial-gradient(circle at 50% 40%,#2a1a4a,#0b0712 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:44px;padding:20px;touch-action:none}.phone{width:64px;height:112px;border:6px solid #ffd24a;border-radius:12px;box-shadow:0 0 0 3px #0c0814,0 0 28px 4px #ffd24a8c;background:#1b1424;transform-origin:center;animation:rotatephone 2.6s ease-in-out infinite;position:relative}.phone:before{content:"";position:absolute;top:5px;left:50%;width:16px;height:4px;margin-left:-8px;background:#ffd24a;border-radius:2px}.phone-screen{position:absolute;top:16px;left:6px;right:6px;bottom:8px;background:#2f7a3a;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center}.phone-screen i{width:60%;height:6px;background:#9affb0;display:block}@keyframes rotatephone{0%,18%{transform:rotate(0)}52%,82%{transform:rotate(-90deg)}to{transform:rotate(0)}}.rot-text{text-align:center;animation:bob 1.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion: reduce){.phone,.rot-text{animation:none}}.grid,.list,.cards{touch-action:pan-y}@supports (-webkit-touch-callout: none){.wrap,html,body,#root{height:-webkit-fill-available}}@media (max-height: 340px){.tc-dash{width:64px;height:64px}.tc-pause{right:calc(94px + env(safe-area-inset-right))}}
