@import"https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap";:root{--sprite-scale: 1}.sprite{display:inline-block;background-repeat:no-repeat;image-rendering:optimizeSpeed;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;-webkit-backface-visibility:hidden;backface-visibility:hidden}.sprite-scaled{transform:scale(var(--sprite-scale));transform-origin:top left}.sprite.opponent{background-image:url(/assets/opponents-B9rUFIaO.png);background-size:160px 160px}.sprite.opponent.judith{width:20px;height:25px}.sprite.opponent.judith.idle{background-position:-6px -4px}.sprite.opponent.judith.winning{background-position:-38px -4px}.sprite.opponent.judith.losing{background-position:-70px -4px}.sprite.opponent.judith.knocked-out{background-position:-102px -4px}.sprite.opponent.judith.competing{background-position:-134px -4px}.sprite.opponent.mrs-psaltarian{width:20px;height:25px}.sprite.opponent.mrs-psaltarian.idle{background-position:-6px -35px}.sprite.opponent.mrs-psaltarian.winning{background-position:-38px -35px}.sprite.opponent.mrs-psaltarian.losing{background-position:-70px -35px}.sprite.opponent.mrs-psaltarian.knocked-out{background-position:-102px -35px}.sprite.opponent.mrs-psaltarian.competing{background-position:-134px -35px}.sprite.opponent.mr-psaltarian{width:22px;height:22px}.sprite.opponent.mr-psaltarian.idle{background-position:-5px -70px}.sprite.opponent.mr-psaltarian.winning{background-position:-37px -70px}.sprite.opponent.mr-psaltarian.losing{background-position:-69px -70px}.sprite.opponent.mr-psaltarian.knocked-out{background-position:-101px -70px}.sprite.opponent.mr-psaltarian.competing{background-position:-133px -70px}.sprite.opponent.sister-imperator{width:23px;height:24px}.sprite.opponent.sister-imperator.idle{background-position:-5px -100px}.sprite.opponent.sister-imperator.winning{background-position:-37px -100px}.sprite.opponent.sister-imperator.losing{background-position:-69px -100px}.sprite.opponent.sister-imperator.knocked-out{background-position:-101px -100px}.sprite.opponent.sister-imperator.competing{background-position:-133px -100px}.sprite.opponent.frater-imperator{width:20px;height:22px}.sprite.opponent.frater-imperator.idle{background-position:-6px -134px}.sprite.opponent.frater-imperator.winning{background-position:-38px -134px}.sprite.opponent.frater-imperator.losing{background-position:-70px -134px}.sprite.opponent.frater-imperator.knocked-out{background-position:-102px -134px}.sprite.opponent.frater-imperator.competing{background-position:-134px -134px}.sprite.opponent-judith-idle{width:20px;height:25px;background-position:-6px -4px}.sprite.opponent-judith-winning{width:20px;height:25px;background-position:-38px -4px}.sprite.opponent-judith-losing{width:20px;height:25px;background-position:-70px -4px}.sprite.opponent-judith-knocked-out{width:20px;height:25px;background-position:-102px -4px}.sprite.opponent-judith-competing{width:20px;height:25px;background-position:-134px -4px}.sprite.opponent-mrs-psaltarian-idle{width:20px;height:25px;background-position:-6px -35px}.sprite.opponent-mrs-psaltarian-winning{width:20px;height:25px;background-position:-38px -35px}.sprite.opponent-mrs-psaltarian-losing{width:20px;height:25px;background-position:-70px -35px}.sprite.opponent-mrs-psaltarian-knocked-out{width:20px;height:25px;background-position:-102px -35px}.sprite.opponent-mrs-psaltarian-competing{width:20px;height:25px;background-position:-134px -35px}.sprite.opponent-mr-psaltarian-idle{width:22px;height:22px;background-position:-5px -70px}.sprite.opponent-mr-psaltarian-winning{width:22px;height:22px;background-position:-37px -70px}.sprite.opponent-mr-psaltarian-losing{width:22px;height:22px;background-position:-69px -70px}.sprite.opponent-mr-psaltarian-knocked-out{width:22px;height:22px;background-position:-101px -70px}.sprite.opponent-mr-psaltarian-competing{width:22px;height:22px;background-position:-133px -70px}.sprite.opponent-sister-imperator-idle{width:23px;height:24px;background-position:-5px -100px}.sprite.opponent-sister-imperator-winning{width:23px;height:24px;background-position:-37px -100px}.sprite.opponent-sister-imperator-losing{width:23px;height:24px;background-position:-69px -100px}.sprite.opponent-sister-imperator-knocked-out{width:23px;height:24px;background-position:-101px -100px}.sprite.opponent-sister-imperator-competing{width:23px;height:24px;background-position:-133px -100px}.sprite.opponent-frater-imperator-idle{width:20px;height:22px;background-position:-6px -134px}.sprite.opponent-frater-imperator-winning{width:20px;height:22px;background-position:-38px -134px}.sprite.opponent-frater-imperator-losing{width:20px;height:22px;background-position:-70px -134px}.sprite.opponent-frater-imperator-knocked-out{width:20px;height:22px;background-position:-102px -134px}.sprite.opponent-frater-imperator-competing{width:20px;height:22px;background-position:-134px -134px}.sprite.rps{background-image:url(data:image/png;base64,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);background-size:128px 96px}.sprite.rps.scissors.hand,.sprite.rps.paper.hand,.sprite.rps.rock.hand{transform:translateZ(0);transform-origin:bottom center}.sprite.rps.scissors.hand{width:21px;height:28px;background-position:-6px -2px}.sprite.rps.paper.hand{width:26px;height:28px;background-position:-37px -2px}.sprite.rps.rock.hand{width:21px;height:28px;background-position:-70px -2px}.sprite.rps.scissors.object{width:32px;height:30px;background-position:0px -33px}.sprite.rps.paper.object{width:30px;height:30px;background-position:-33px -33px}.sprite.rps.rock.object{width:27px;height:24px;background-position:-66px -37px}.sprite.rps-scissors-hand{width:21px;height:28px;background-position:-6px -2px}.sprite.rps-paper-hand{width:26px;height:28px;background-position:-37px -2px}.sprite.rps-rock-hand{width:21px;height:22px;background-position:-70px -8px}.sprite.rps-scissors-object{width:32px;height:30px;background-position:0px -33px}.sprite.rps-paper-object{width:30px;height:30px;background-position:-33px -33px}.sprite.rps-rock-object{width:27px;height:24px;background-position:-66px -37px}.sprite.scale-2x{transform:scale(2);transform-origin:top left}.sprite.scale-3x{transform:scale(3);transform-origin:top left}.sprite.scale-4x{transform:scale(4);transform-origin:top left}.sprite.scale-5x{transform:scale(5);transform-origin:top left}.sprite.scale-6x{transform:scale(6);transform-origin:top left}.sprite-container{display:inline-block;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Silkscreen,cursive;background-color:#0a0a0f;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;image-rendering:pixelated}@media(max-width:767px){body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}}@media(min-width:768px)and (-webkit-min-device-pixel-ratio:2),(min-width:768px)and (min-resolution:192dpi){body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}}#root{display:flex;justify-content:center;align-items:center}button{font-family:Silkscreen,cursive;cursor:pointer;border:none;background:none;color:inherit}button:focus{outline:none}button:focus-visible{outline:none}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:100;opacity:1;transition:opacity .5s ease}.preloader--fade-out{opacity:0}.preloader__bar-container{width:200px;height:4px;background:#333;border-radius:2px;overflow:hidden}.preloader__bar{height:100%;background:#fff;transition:width .02s linear}.title-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.title-screen__content{display:flex;flex-direction:column;align-items:center;gap:16px}.title-screen__logo{position:relative;width:256px;height:142px;margin-bottom:24px;image-rendering:pixelated;image-rendering:crisp-edges}.title-screen__logo-glow{width:100%;height:100%;filter:drop-shadow(0 0 16px rgba(168,50,50,.6)) drop-shadow(0 4px 8px rgba(0,0,0,.8))}.title-screen__logo-fill{width:100%;height:100%;background:linear-gradient(180deg,#f5d470,#eebc50,#e6a030,#dc8228 18%,#d4641e,#dc8228 32%,#e6a030,#eebc50,#f5d470,#eebc50,#e6a030,#dc8228 68%,#d4641e,#dc8228 82%,#e6a030,#eebc50,#f5d470);background-size:100% 200%;mask-image:url(/assets/sprites/logo.png);mask-size:100% 100%;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/sprites/logo.png);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;animation:infernal-rise 3s linear infinite}@keyframes infernal-rise{0%{background-position:0% 0%}to{background-position:0% 100%}}.title-screen__subtitle{font-size:16px;font-weight:400;letter-spacing:2px;color:#ccc;text-transform:uppercase}.title-screen__buttons{margin-top:40px;display:flex;flex-direction:column;gap:16px}.title-screen__buttons--two{flex-direction:row;gap:20px}.title-screen__start,.title-screen__endless{padding:16px 48px;font-size:16px;font-weight:700;letter-spacing:4px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.title-screen__buttons--two .title-screen__start,.title-screen__buttons--two .title-screen__endless{padding:16px 32px}.title-screen__start{color:#000;background:#fc0;box-shadow:0 4px #b38f00,0 6px 20px #0006}.title-screen__start:hover{transform:translateY(-2px);box-shadow:0 6px #b38f00,0 8px 24px #00000080}.title-screen__start:active{transform:translateY(2px);box-shadow:0 2px #b38f00,0 4px 16px #0006}.title-screen__endless{color:#fff;background:#666;box-shadow:0 4px #444,0 6px 20px #0006}.title-screen__endless:hover{transform:translateY(-2px);box-shadow:0 6px #444,0 8px 24px #00000080}.title-screen__endless:active{transform:translateY(2px);box-shadow:0 2px #444,0 4px 16px #0006}.title-screen__mute{position:absolute;top:20px;right:20px;width:44px;height:44px;font-size:20px;background:#00000080;border:2px solid rgba(255,255,255,.3);border-radius:8px;cursor:pointer;transition:all .2s ease}.title-screen__mute:hover{background:#000000b3;border-color:#ffffff80}@media(min-width:768px){.title-screen__logo{width:384px;height:213px}.title-screen__subtitle{font-size:18px;letter-spacing:4px}.title-screen__start,.title-screen__endless{font-size:18px;padding:20px 60px}.title-screen__buttons--two .title-screen__start,.title-screen__buttons--two .title-screen__endless{padding:20px 40px}}.intro-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:40px 20px}.intro-screen__content{max-width:500px;text-align:center;position:relative}.intro-screen__text{font-size:16px;line-height:1.8;color:#fff;min-height:4em;white-space:pre-line}.intro-screen__untyped{color:transparent}.intro-screen__footer{position:absolute;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:16px}.intro-screen__dots{display:flex;gap:8px}.intro-screen__dot{width:8px;height:8px;background:#ffffff4d;transition:all .3s ease}.intro-screen__dot--active{background:#fc0}.intro-screen__hint{font-size:16px;color:#ffffff80;text-transform:uppercase;letter-spacing:2px;animation:hint-pulse 2s ease-in-out infinite;transition:opacity .3s ease}.intro-screen__hint--hidden{opacity:0}@keyframes hint-pulse{0%,to{opacity:.5}50%{opacity:1}}@media(min-width:768px){.intro-screen__text,.intro-screen__hint{font-size:20px}}.dialog-box{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:500px;min-height:136px;background:#000000d9;border:3px solid #8b7355;border-radius:4px;padding:16px 20px;box-shadow:inset 0 0 0 2px #8b73554d,0 4px 20px #00000080}.dialog-speaker{font-size:16px;color:#fc0;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.dialog-text{font-size:16px;line-height:1.6;color:#fff}.dialog-text__untyped{color:transparent}@media(min-width:768px){.dialog-box{padding:20px 24px}.dialog-speaker,.dialog-text{font-size:18px}}.score-rings{display:flex;flex-direction:column;align-items:center;gap:8px}.score-rings--left,.score-rings--right{align-items:center}.score-rings__label{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);width:12em;text-align:center}.score-rings__circles{display:flex;gap:9px;position:relative}.score-rings--right .score-rings__circles{flex-direction:row-reverse}.score-rings__circle{width:24px;height:24px;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));transition:filter .3s ease}.score-rings__ring{fill:#fff}.score-rings__fill{fill:transparent;transition:fill .3s ease}.score-rings__circle--filled{filter:drop-shadow(0 1px 1px rgba(0,0,0,.5)) drop-shadow(0 0 6px rgba(255,204,0,.6))}.score-rings__circle--filled .score-rings__fill{fill:#fc0}.score-rings__plus-one{position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:18px;color:#fc0;text-shadow:0 0 8px rgba(255,204,0,.8),0 2px 4px rgba(0,0,0,.8);animation:plus-one-drop 1.5s ease-out forwards;pointer-events:none}@keyframes plus-one-drop{0%{opacity:1;transform:translate(-50%) translateY(0)}30%{opacity:1;transform:translate(-50%) translateY(55px)}70%{opacity:1;transform:translate(-50%) translateY(55px)}to{opacity:0;transform:translate(-50%) translateY(55px)}}@media(min-width:768px){.score-rings__label{font-size:18px}.score-rings__circle{width:32px;height:32px}.score-rings__circles{gap:10px}.score-rings__plus-one{font-size:24px}}.rps-button{display:flex;align-items:flex-end;justify-content:center;height:100px;width:63px;background:transparent;border:none;cursor:pointer;will-change:filter}@media(min-width:768px){.rps-button:hover:not(:disabled):not(.rps-button--selected):not(.rps-button--shuffling){-webkit-filter:drop-shadow(2px 0 0 #ffcc00) drop-shadow(-2px 0 0 #ffcc00) drop-shadow(0 2px 0 #ffcc00) drop-shadow(0 -2px 0 #ffcc00);filter:drop-shadow(2px 0 0 #ffcc00) drop-shadow(-2px 0 0 #ffcc00) drop-shadow(0 2px 0 #ffcc00) drop-shadow(0 -2px 0 #ffcc00)}}.rps-button--selected{cursor:default}.rps-button:disabled{opacity:.4;cursor:default}.rps-button--shuffling:disabled{opacity:1}.rps-button--hidden{opacity:.2;pointer-events:none;transition:opacity .3s ease}.rps-button--slide-up{animation:slide-up .5s ease-out forwards}@keyframes slide-up{0%{transform:translateY(0)}to{transform:translateY(-40px)}}.explosion-effect{position:relative;transform-origin:center;image-rendering:pixelated;image-rendering:crisp-edges}.explosion-fragment{position:absolute;image-rendering:pixelated;image-rendering:crisp-edges;animation:fragment-explode .6s linear forwards}@keyframes fragment-explode{0%{transform:translate(0) rotate(0);opacity:1}50%{opacity:1}to{transform:translate(var(--explode-x),var(--explode-y)) rotate(360deg);opacity:0}}.countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.countdown__label{font-size:24px;font-weight:700;color:#fff;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.8);white-space:nowrap}.countdown__value{font-size:48px;font-weight:700;color:#fc0;text-shadow:0 4px 8px rgba(0,0,0,.5);animation:countdown-pop .3s ease-out}@keyframes countdown-pop{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@media(min-width:768px){.countdown__value{font-size:64px}}.gameplay-screen{width:100%;height:100%;display:flex;flex-direction:column;padding:20px;position:relative}.gameplay-screen__header,.gameplay-screen__opponent,.gameplay-screen__controls,.gameplay-screen .dialog-box{transition:opacity .3s ease}.gameplay-screen--instructions .gameplay-screen__header,.gameplay-screen--instructions .gameplay-screen__opponent.visible,.gameplay-screen--instructions .gameplay-screen__controls,.gameplay-screen--instructions .dialog-box{opacity:.3}.gameplay-screen__header{display:flex;flex-direction:column;align-items:center;padding:0;max-width:600px;width:100%;margin:0 auto}.gameplay-screen__round{font-size:18px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 2px rgba(0,0,0,.8);margin-bottom:8px}.gameplay-screen__scores{display:flex;justify-content:space-between;width:100%}.gameplay-screen__arena{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;padding-bottom:120px}.gameplay-screen__opponent{display:flex;align-items:center;justify-content:center;opacity:0;will-change:transform,opacity;position:relative;top:10vh;top:10svh}.gameplay-screen__opponent.visible{opacity:1;animation:opponent-bob 2s ease-in-out infinite}.gameplay-screen__opponent.paused{animation-play-state:paused}@keyframes opponent-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.gameplay-screen__opponent.slide-in{animation:slide-in-right .5s ease-out forwards}.gameplay-screen__opponent.slide-out{animation:slide-out-left .5s ease-in forwards}@keyframes slide-in-right{0%{transform:translate(100vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100vw);opacity:0}}.gameplay-screen__clash{position:absolute;top:40%;left:0;right:0;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:24px;z-index:10}.clash-object{animation:clash-fly-in .4s ease-out forwards;position:relative;z-index:1}.clash-object--winner{z-index:2}.clash-object--opponent .sprite,.clash-object--player .sprite{filter:drop-shadow(0 -1px 0 rgba(0,0,0,.3))}.clash-object--opponent{animation-name:clash-fly-in-top}.clash-object--player{animation-name:clash-fly-in-bottom}@keyframes clash-fly-in-top{0%{transform:translateY(-200px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes clash-fly-in-bottom{0%{transform:translateY(200px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.gameplay-screen__result-text{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);font-size:18px;font-weight:700;color:#fc0;text-shadow:0 2px 0 #000,0 2px 4px rgba(0,0,0,.5);text-align:center;letter-spacing:2px;animation:result-pop .3s ease-out forwards;z-index:3;white-space:nowrap}@keyframes result-pop{0%{transform:translateY(-50%) scale(.5);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}.gameplay-screen__countdown{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);z-index:5}.gameplay-screen__instructions{position:absolute;top:40%;left:0;right:0;transform:translateY(-50%);text-align:center;padding:0 20px;z-index:5}.gameplay-screen__instructions p{color:#fff;font-size:16px;line-height:1.8;text-shadow:0 2px 4px rgba(0,0,0,.8);margin:0 0 16px}.gameplay-screen__instructions p:last-child{margin-bottom:0}.gameplay-screen__controls{position:absolute;bottom:210px;left:50%;transform:translate(-50%)}.gameplay-screen__buttons{display:flex;gap:32px;justify-content:center;align-items:flex-end}@media(min-width:768px){.gameplay-screen{padding:30px}.gameplay-screen__header{margin-bottom:20px}.gameplay-screen__round{font-size:20px}.gameplay-screen__arena{justify-content:flex-start;padding-top:40px}.gameplay-screen__opponent{top:0}.gameplay-screen__instructions{left:50%;right:auto;transform:translate(-50%,-50%);max-width:450px;padding:0}.gameplay-screen__instructions p{font-size:20px;line-height:1.5}.gameplay-screen__result-text{font-size:28px}.gameplay-screen__controls{bottom:210px}.gameplay-screen__buttons{gap:48px}}@media(min-width:768px)and (max-height:799px){.gameplay-screen{height:800px;transform:scale(calc(100vh/800px));transform-origin:center top}}@media(max-width:767px)and (max-height:779px){.gameplay-screen{height:780px;transform:scale(calc(100svh/780px));transform-origin:center top}.gameplay-screen__header{width:calc(100vw*780px/100svh);max-width:none;position:relative;left:50%;transform:translate(-50%)}.gameplay-screen .dialog-box{width:calc((100vw - 40px)*780px/100svh);max-width:none}}.gameover-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.gameover-screen__content{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:480px;text-align:center}.gameover-screen__title{font-size:32px;font-weight:700;color:#f44;letter-spacing:4px;text-shadow:0 0 20px rgba(255,68,68,.5),0 4px 8px rgba(0,0,0,.8);animation:gameover-pulse 1s ease-in-out infinite alternate}@keyframes gameover-pulse{0%{text-shadow:0 0 20px rgba(255,68,68,.5),0 4px 8px rgba(0,0,0,.8)}to{text-shadow:0 0 40px rgba(255,68,68,.8),0 0 60px rgba(255,68,68,.4),0 4px 8px rgba(0,0,0,.8)}}.gameover-screen__opponent{margin:16px 0;display:flex;justify-content:center;align-items:center}.gameover-screen__sprite-container{width:140px;height:160px;display:flex;justify-content:center;align-items:center;position:relative}.gameover-screen__dialog{background:#0009;border:2px solid #8b7355;border-radius:4px;padding:16px 20px;max-width:100%}.gameover-screen__speaker{font-size:14px;color:#fc0;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.gameover-screen__text{font-size:16px;line-height:1.6;color:#fff}.gameover-screen__score{font-size:18px;color:#ccc}.gameover-screen__best{font-size:18px;color:#fc0;margin-top:8px}.gameover-screen__actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.gameover-screen__copy{grid-column:1 / -1}@media(min-width:768px){.gameover-screen__actions{display:flex;flex-wrap:nowrap;justify-content:center}}.gameover-screen__copy,.gameover-screen__home,.gameover-screen__retry{padding:14px 28px;font-size:14px;font-weight:700;letter-spacing:2px;border-radius:4px;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.gameover-screen__copy{background:#666;color:#fff;box-shadow:0 4px #444,0 6px 16px #0006;min-width:12.6em}.gameover-screen__copy:hover{transform:translateY(-2px);box-shadow:0 6px #444,0 8px 20px #00000080}.gameover-screen__copy:active{transform:translateY(2px);box-shadow:0 2px #444,0 4px 12px #0006}.gameover-screen__home{background:#666;color:#fff;box-shadow:0 4px #444,0 6px 16px #0006}.gameover-screen__home:hover{transform:translateY(-2px);box-shadow:0 6px #444,0 8px 20px #00000080}.gameover-screen__home:active{transform:translateY(2px);box-shadow:0 2px #444,0 4px 12px #0006}.gameover-screen__retry{background:#fc0;color:#000;box-shadow:0 4px #b38f00,0 6px 16px #0006}.gameover-screen__retry:hover{transform:translateY(-2px);box-shadow:0 6px #b38f00,0 8px 20px #00000080}.gameover-screen__retry:active{transform:translateY(2px);box-shadow:0 2px #b38f00,0 4px 12px #0006}@media(min-width:768px){.gameover-screen__title{font-size:40px}.gameover-screen__speaker{font-size:16px}.gameover-screen__text{font-size:18px}.gameover-screen__copy,.gameover-screen__home,.gameover-screen__retry{padding:16px 24px;font-size:16px}}@media(min-width:768px)and (max-height:699px){.gameover-screen{height:700px;transform:scale(calc(100vh/700px));transform-origin:center top}}.congratulations-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.congratulations-screen__content{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:600px;text-align:center}.congratulations-screen__title{font-size:28px;font-weight:700;color:#fc0;letter-spacing:3px;text-shadow:0 0 20px rgba(255,204,0,.5),0 4px 8px rgba(0,0,0,.8);animation:congratulations-pulse 1s ease-in-out infinite alternate}@keyframes congratulations-pulse{0%{text-shadow:0 0 20px rgba(255,204,0,.5),0 4px 8px rgba(0,0,0,.8)}to{text-shadow:0 0 40px rgba(255,204,0,.8),0 0 60px rgba(255,204,0,.4),0 4px 8px rgba(0,0,0,.8)}}.congratulations-screen__opponents{display:flex;justify-content:center;align-items:flex-end;gap:30px;margin:16px 0;flex-wrap:wrap}.congratulations-screen__sprite-container{width:56px;height:80px;display:flex;justify-content:center;align-items:flex-end}.congratulations-screen__message{margin-top:24px}.congratulations-screen__score{font-size:18px;color:#ccc}.congratulations-screen__prompt{font-size:18px;color:#fc0;margin-top:8px}.congratulations-screen__actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.congratulations-screen__copy{grid-column:1 / -1}@media(min-width:768px){.congratulations-screen__actions{display:flex;flex-wrap:wrap;justify-content:center}.congratulations-screen__copy{grid-column:auto}}.congratulations-screen__copy,.congratulations-screen__home,.congratulations-screen__endless{padding:14px 28px;font-size:14px;font-weight:700;letter-spacing:2px;border-radius:4px;cursor:pointer;transition:all .2s ease;border:none}.congratulations-screen__copy{background:#666;color:#fff;box-shadow:0 4px #444,0 6px 16px #0006}.congratulations-screen__copy:hover{transform:translateY(-2px);box-shadow:0 6px #444,0 8px 20px #00000080}.congratulations-screen__copy:active{transform:translateY(2px);box-shadow:0 2px #444,0 4px 12px #0006}.congratulations-screen__home{background:#666;color:#fff;box-shadow:0 4px #444,0 6px 16px #0006}.congratulations-screen__home:hover{transform:translateY(-2px);box-shadow:0 6px #444,0 8px 20px #00000080}.congratulations-screen__home:active{transform:translateY(2px);box-shadow:0 2px #444,0 4px 12px #0006}.congratulations-screen__endless{background:#fc0;color:#000;box-shadow:0 4px #b38f00,0 6px 16px #0006}.congratulations-screen__endless:hover{transform:translateY(-2px);box-shadow:0 6px #b38f00,0 8px 20px #00000080}.congratulations-screen__endless:active{transform:translateY(2px);box-shadow:0 2px #b38f00,0 4px 12px #0006}@media(min-width:768px){.congratulations-screen__title{font-size:36px}.congratulations-screen__opponents{gap:24px}.congratulations-screen__sprite-container{width:70px;height:96px}.congratulations-screen__score{font-size:20px}.congratulations-screen__prompt{font-size:22px}.congratulations-screen__copy,.congratulations-screen__home,.congratulations-screen__endless{padding:16px 24px;font-size:16px}}@media(min-width:768px)and (max-height:699px){.congratulations-screen{height:700px;transform:scale(calc(100vh/700px));transform-origin:center top}}@media(max-width:767px){.congratulations-screen__title{font-size:6.2vw}}@media(max-width:479px){.congratulations-screen__opponents{zoom:calc(100vw/480px)}}@media(max-width:369px){.congratulations-screen__actions{zoom:calc(100vw/370px)}}.mute-button{position:fixed;top:12px;right:12px;width:32px;height:32px;padding:0;background:transparent;border:none;cursor:pointer;z-index:1000;transition:transform .1s ease}.mute-button:hover{transform:scale(1.1)}.mute-button:active{transform:scale(.95)}.mute-button__icon{width:100%;height:100%;color:#fff}@media(min-width:768px){.mute-button{top:20px;right:20px;width:40px;height:40px}}.app{width:100%;height:100%;max-width:100vw;max-height:100vh;position:relative;overflow:hidden;background-image:url(/assets/backgrounds/ministry.jpg);background-size:cover;background-position:70% center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.app{background-position:center}}.app__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:1}.app__overlay--title,.app__overlay--loading{opacity:.5}.app__overlay--intro,.app__overlay--gameover,.app__overlay--victory-story,.app__overlay--congratulations{opacity:.8}.app__overlay--instructions{opacity:.6}.app__game{width:100%;height:100%;position:relative;z-index:2}@media(min-width:768px){.app__game{max-height:800px}}@media(max-aspect-ratio:16/9){.app{background-size:auto 100%}}
