@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&family=Dancing+Script:wght@600&display=swap";
.GMS-001-wrapper{--bg-color:#ffe1e1;--text-dark:#4a4a4a;--border-color:#fca5a5;--cell-bg:#fff;--selected-bg:#ffd1d1;--found-bg:#ffbaba;--cheat-bg:#bbf7d0;--primary:#ef4444;color:var(--text-dark);-webkit-font-smoothing:antialiased;background-color:#000;justify-content:center;align-items:flex-start;height:100dvh;font-family:Outfit,sans-serif;display:flex;overflow:hidden}.GMS-001-mobile-container{background-color:var(--bg-color);border-radius:10px;width:100%;max-width:360px;height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 20px #ffffff1a}.GMS-001-app{background-color:var(--bg-color);touch-action:none;justify-content:center;align-items:center;width:100%;height:100dvh;padding:1rem;display:flex;position:relative;overflow:hidden}.animated-bg{display:none}.GMS-001-glass{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:500px;margin:0 auto;display:flex}.GMS-001-header{text-align:center;margin-top:0;margin-bottom:0}.GMS-001-header h1{letter-spacing:2px;color:#333;text-transform:uppercase;margin-bottom:.3rem;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:500}.GMS-001-subtitle{color:#444;font-family:Dancing Script,cursive;font-size:1.3rem;font-weight:600}.game-container{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.grid-container{background:var(--border-color);border:2px solid var(--border-color);border-radius:12px;flex-direction:column;gap:1px;width:82%;max-width:320px;margin:0 auto;padding:0;display:flex;overflow:hidden;box-shadow:0 10px 25px #ef44441a}.grid-row{grid-template-columns:repeat(10,1fr);gap:1px;width:100%;display:grid}.grid-cell{aspect-ratio:1;background:var(--cell-bg);width:100%;color:var(--text-dark);text-transform:lowercase;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1rem;font-weight:500;transition:background-color .2s,transform .1s;display:flex}.grid-cell:active{transform:scale(.95)}.grid-cell.selected{background:var(--selected-bg);color:#b91c1c;font-weight:600}.grid-cell.found{background:var(--found-bg);color:#991b1b;font-weight:600}.grid-cell.cheat{background:var(--cheat-bg);color:#166534}.win-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;animation:.4s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.win-content{text-align:center;background:#fff;border:3px solid #ffbaba;border-radius:20px;width:90%;max-width:360px;padding:2rem 1.5rem;box-shadow:0 10px 30px #0003}.win-content h2{color:var(--primary);margin-bottom:.2rem;font-family:Dancing Script,cursive;font-size:2.2rem}.win-content p{color:var(--text-dark);margin-bottom:1.5rem;font-size:1.05rem}.reset-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50px;padding:.6rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #ef44444d}.reset-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef444466}.bottom-section{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.hint-toggle-btn{border:2px solid var(--border-color);color:var(--primary);cursor:pointer;z-index:5;background:#fff;border-radius:20px;padding:.4rem 1.2rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;position:absolute;top:.5rem;left:8%;box-shadow:0 4px 10px #ef444426}.hint-toggle-btn.right-btn{left:auto;right:8%}.hint-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #ef444440}.bottom-decoration{justify-content:center;align-items:center;width:100%;margin-top:.5rem;display:flex;position:relative}.bottom-img{object-fit:contain;pointer-events:none;width:85%;max-width:400px;height:auto;max-height:25vh}.hint-overlay-box{border:2px solid var(--border-color);z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffffff2;border-radius:12px;width:90%;max-width:320px;padding:.8rem 1rem;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 25px #ef444433}.close-hint-btn{background:var(--primary);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 5px #0003}.hint-title{color:var(--primary);text-align:center;margin-bottom:.4rem;font-size:1rem}.hint-list{text-align:left;color:var(--text-dark);padding-left:1.5rem;font-size:.85rem}.hint-list li{margin-bottom:.2rem}.found-hint{opacity:.5;text-decoration:line-through}.corner-img{z-index:0;pointer-events:none;width:150px;max-width:30%;position:absolute;top:0}.left-img{left:0}.right-img{right:0}@media (max-width:600px){.GMS-001-app{padding:1rem}.GMS-001-header{margin-top:.5rem;margin-bottom:0}.GMS-001-header h1,.GMS-001-subtitle{font-size:1.6rem}.grid-container{width:86%;max-width:320px}.grid-cell{font-size:1.05rem}.bottom-img{max-width:90%}}.password-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.password-screen.unlocking{animation:.5s ease-in-out forwards fadeOutUp}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(15px)scale(1.02)}to{opacity:0;transform:translateY(-50vh)scale(.9)}}.game-entry-anim{animation:.6s ease-out forwards fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.password-box{flex-direction:column;align-items:center;display:flex}.password-input{border:2px solid var(--border-color);text-align:center;width:100%;color:var(--text-dark);background:snow;border-radius:12px;outline:none;margin-bottom:.5rem;padding:.8rem 1rem;font-family:inherit;font-size:1.1rem;transition:all .2s}.password-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ef44441a}.password-input.error{background:#fef2f2;border-color:#ef4444}.error-text{color:#ef4444;margin-top:0;margin-bottom:0;font-size:.9rem;font-weight:500}@media (max-width:380px){.GMS-001-header{margin-top:0}.grid-container{width:90%}.grid-cell{font-size:.95rem}.GMS-001-header h1,.GMS-001-subtitle{font-size:1.4rem}}
