body{overflow:hidden;margin:0;min-width:320px;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:none}@media only screen and (max-width: 450px){body{background-color:var(--bg-color)}}@media only screen and (max-height: 450px){body.horizontal{background-color:var(--bg-color)}}#root{max-width:1280px;margin:0 auto;padding:1rem;text-align:center;background-color:var(--bg-color);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50px}.phone{height:790px;width:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}body.horizontal .phone{height:360px;width:790px}body.horizontal .phone .screen-container{position:absolute;zoom:.75;margin-bottom:0}body.horizontal .phone .controls{margin-top:0;gap:70px}body.horizontal .phone .controls .play-container{gap:420px;padding-right:20px}body.horizontal .phone .controls .menu-container{flex-direction:column}body.horizontal .phone .controls .menu-container .menu-buttons{gap:420px}body.horizontal .phone .controls>.button-group{gap:420px}.screen-container{background-color:#4a4a4a;padding:0;aspect-ratio:256 / 240;margin-bottom:20px;position:relative}#game-screen{width:100%;height:100%;background-color:#000;aspect-ratio:256/240;zoom:2}.controls{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:50px}.controls .menu-container{display:flex;gap:30px}.controls .play-container{display:flex;flex-direction:row;align-items:center;gap:20px}.controls .control-btn{width:60px;height:20px;font-size:10px;background:linear-gradient(145deg,var(--primary-btn-color1),var(--primary-btn-color2));color:#fff;border:none;border-radius:10px;cursor:pointer;font-family:monospace;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a,inset 1px 1px 2px #fff3;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.controls .control-btn:hover{background:linear-gradient(105deg,var(--primary-btn-color1),var(--primary-btn-color2));transform:translateY(-1px);box-shadow:3px 3px 5px #00000040,-3px -3px 5px #ffffff26,inset 1px 1px 2px #ffffff4d}.controls .control-btn:active,.controls .control-btn.active{transform:scale(.95) translateY(.5px);box-shadow:1px 1px 2px #00000026,-1px -1px 2px #ffffff0d,inset 1px 1px 2px #0000001a;animation:button-press .1s ease-in-out}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95) translateY(.5px)}to{transform:scale(.97)}}.play-container .control-btn{width:60px;height:60px;border-radius:50%;padding:0;font-size:18px;margin:-5px}.play-container .d-pad .control-btn{width:90px;height:90px;margin:-15px;box-shadow:none;background:transparent}.play-container .d-pad .control-btn div{width:60px;height:60px;border:none;border-radius:50%;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a,inset 1px 1px 2px #fff3}.d-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0px;width:180px;height:180px;position:relative;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#joystick-container{grid-column:1 / span 3;grid-row:1 / span 3;width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;border-radius:50%;background:rgba(128,128,128,.2)}#dpad-buttons{grid-column:1 / span 3;grid-row:1 / span 3;width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center;position:relative;z-index:2}.dpad-btn{width:50px;height:50px;border-radius:8px;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative}.dpad-up:before{content:"";width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(-45deg)}.dpad-down:before{content:"";width:12px;height:12px;border-bottom:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(-45deg)}.dpad-left:before{content:"";width:12px;height:12px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(-45deg)}.dpad-right:before{content:"";width:12px;height:12px;border-bottom:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(-45deg)}.nipple{border-radius:50%!important;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a,inset 1px 1px 2px #fff3!important}.d-pad:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;z-index:0}.d-pad:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;z-index:0;background:linear-gradient(145deg,var(--primary-btn-color1),var(--primary-btn-color2));box-shadow:inset 2px 2px 4px #0003,-2px -2px 4px #ffffff1a,1px 1px 2px #fff3}.action-buttons{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0px;align-items:center}.action-buttons button{width:50px;height:50px;border-radius:50%;border:none;background-color:#4a4a4a;color:#fff;cursor:pointer;font-size:16px}.action-buttons button:active{background-color:#2a2a2a}.rom-list{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#4a4a4a;border-radius:10px;padding:20px;color:#fff;z-index:1000;max-height:80vh;overflow-y:auto;width:80%;max-width:500px}.rom-list.show{display:block}.rom-list h2{margin:0 0 15px;font-size:20px;text-align:center;border-bottom:2px solid #5a5a5a;padding-bottom:10px}.rom-list ul{list-style:none;padding:0 10px 0 0;margin:0 0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;max-height:50vh;overflow-y:auto}.rom-list ul::-webkit-scrollbar{width:8px}.rom-list ul::-webkit-scrollbar-track{background:#5a5a5a;border-radius:4px}.rom-list ul::-webkit-scrollbar-thumb{background:#7a7a7a;border-radius:4px}.rom-list li{padding:12px;background-color:#5a5a5a;border-radius:5px;cursor:pointer;transition:all .2s ease;text-align:center}.rom-list li:hover{background-color:#6a6a6a;transform:translateY(-2px);box-shadow:0 2px 5px #0003}.rom-input{margin:0;padding:15px;background-color:#5a5a5a;border-radius:5px;text-align:center}.rom-input label{color:#fff;display:block;margin-bottom:10px;font-size:16px}.rom-input input[type=file]{width:100%;max-width:calc(100% - 20px);padding:8px;background-color:#4a4a4a;border:1px solid #6a6a6a;border-radius:4px;color:#fff;cursor:pointer}.rom-input input[type=file]::-webkit-file-upload-button{background-color:#6a6a6a;color:#fff;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;margin-right:10px;transition:background-color .2s}.rom-input input[type=file]::-webkit-file-upload-button:hover{background-color:#7a7a7a}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999}.modal-overlay.show{display:block}.button-group{display:flex;gap:10px;justify-content:center}.button-group>div.button{width:60px;height:20px;font-size:10px;background:linear-gradient(145deg,var(--secondary-btn-color1),var(--secondary-btn-color2));color:#fff;border:none;border-radius:10px;cursor:pointer;font-family:monospace;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a,inset 1px 1px 2px #fff3;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button-group>div.button:hover{background-color:#2a2a2a}.rom-list h2{margin:0 0 10px;font-size:18px}.rom-list ul{list-style:none;padding:0 10px 0 0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.rom-list li{padding:10px;background-color:#5a5a5a;border-radius:5px;cursor:pointer;transition:background-color .2s;text-align:left}.rom-list li:hover{background-color:#6a6a6a}.rom-input{margin-bottom:20px}:root{--bg-color: #c9c5bc;--primary-btn-color1: #72191c;--primary-btn-color2: #982d31;--secondary-btn-color1: #795548;--secondary-btn-color2: #593f36}.options-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:none;align-items:center;justify-content:center;z-index:1000}.options-dialog.show{display:flex}.options-content{background-color:#3a3a3a;border-radius:15px;max-width:720px;width:90%;color:#fff;box-shadow:0 10px 30px #00000080}.options-content h2{margin:10px 0;text-align:center;font-size:20px}.option-item{margin:10px 0}.option-item label{display:block;margin-bottom:10px;font-size:16px;font-weight:700;background:#313131;padding:5px 0}.orientation-buttons,.theme-buttons,.control-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.orientation-btn,.theme-btn,.control-btn-option{padding:10px 20px;background:linear-gradient(145deg,var(--secondary-btn-color1),var(--secondary-btn-color2));color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a;min-width:60px;width:96px}.orientation-btn:hover,.theme-btn:hover,.control-btn-option:hover{background:linear-gradient(145deg,#8d6e63,#6d4c41);transform:translateY(-1px)}.orientation-btn.active,.theme-btn.active,.control-btn-option.active{background:linear-gradient(145deg,var(--primary-btn-color1),var(--primary-btn-color2));color:#fff;box-shadow:0 0 15px #fffc,0 0 25px #fff9,2px 2px 4px #ffffff4d,-2px -2px 4px #0003;transform:scale(1.05);animation:glow-pulse 2s ease-in-out infinite alternate}@keyframes glow-pulse{0%{box-shadow:0 0 15px #fffc,0 0 25px #fff9,2px 2px 4px #ffffff4d,-2px -2px 4px #0003}to{box-shadow:0 0 20px #fff,0 0 35px #fffc,2px 2px 4px #fff6,-2px -2px 4px #0003}}.option-actions{text-align:center;padding:10px;border-top:2px solid #313131}.close-btn{padding:8px 30px;background:linear-gradient(145deg,#f44336,#d32f2f);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s ease;box-shadow:2px 2px 4px #0003,-2px -2px 4px #ffffff1a}.close-btn:hover{background:linear-gradient(145deg,#e53935,#c62828);transform:translateY(-1px)}.rom-input label{color:#fff;margin-right:10px}.menu-buttons{display:flex;flex-direction:row;gap:20px;align-items:center}.menu-buttons button{width:80px;height:30px;border-radius:15px;border:none;background-color:#4a4a4a;color:#fff;cursor:pointer;font-size:14px}.menu-buttons button .save-state-btn,.menu-buttons button .load-state-btn{position:absolute;padding:10px;background-color:#4caf50;color:#fff;border-radius:5px;cursor:pointer;font-size:14px;z-index:100}.menu-buttons button .save-state-btn{bottom:60px;right:10px}.menu-buttons button .load-state-btn{bottom:10px;right:10px}.menu-buttons button:active{background-color:#2a2a2a}@media only screen and ((max-height: 850px) or (max-width: 376px)){.phone{zoom:.98}}@media only screen and ((max-height: 800px) or (max-width: 366px)){.phone{zoom:.96}}@media only screen and ((max-height: 750px) or (max-width: 356px)){.phone{zoom:.92}}@media only screen and ((max-height: 695px) or (max-width: 346px)){.phone{zoom:.82}}@media only screen and ((max-height: 660px) or (max-width: 341px)){.phone{zoom:.78}}@media only screen and ((max-height: 635px) or (max-width: 336px)){.phone{zoom:.74}}@media only screen and ((max-height: 560px) or (max-width: 326px)){.phone{zoom:.68}}@media only screen and ((max-height: 460px) or (max-width: 320px)){.phone{zoom:.6}}body.horizontal .phone{zoom:1}body.horizontal .options-dialog{zoom:.94}@media only screen and ((max-width: 850px) or (max-height: 396px)){body.horizontal .phone{zoom:.98}body.horizontal .options-dialog{zoom:.9}}@media only screen and ((max-width: 810px) or (max-height: 386px)){body.horizontal .phone{zoom:.96}body.horizontal .options-dialog{zoom:.86}}@media only screen and ((max-width: 800px) or (max-height: 376px)){body.horizontal .phone{zoom:.92}body.horizontal .options-dialog{zoom:.82}}@media only screen and ((max-width: 750px) or (max-height: 356px)){body.horizontal .phone{zoom:.87}body.horizontal .options-dialog{zoom:.78}}@media only screen and ((max-width: 695px) or (max-height: 346px)){body.horizontal .phone{zoom:.84}body.horizontal .options-dialog{zoom:.72}}@media only screen and ((max-width: 660px) or (max-height: 341px)){body.horizontal .phone{zoom:.8}body.horizontal .options-dialog{zoom:.68}}@media only screen and ((max-width: 560px) or (max-height: 336px)){body.horizontal .phone{zoom:.7}}@media only screen and ((max-width: 460px) or (max-height: 320px)){body.horizontal .phone{zoom:.58}}.toast-container{position:fixed;top:20px;right:20px;z-index:10}.toast{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;min-width:200px;max-width:300px;text-align:center;padding:7px 24px;margin-bottom:10px;opacity:0;transition:opacity .3s ease;z-index:10;background-color:#000c;color:#fff;border-radius:4px;font-size:14px}.toast.show{opacity:.8}.toast.hide{animation:fadeOut .3s forwards}@keyframes fadeOut{to{opacity:0}}
