*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.screen{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;padding:2rem 1.5rem;position:relative;overflow:hidden}.menu-screen{background:#1a1a2e}.menu-face{width:150px;height:150px;object-fit:contain;animation:float 3s ease-in-out infinite;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}.menu-title{font-size:clamp(2rem,8vw,3.2rem);font-weight:900;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5);letter-spacing:-.02em}.menu-sub{color:#fff9;text-align:center;line-height:1.7;font-size:1rem;max-width:320px}.menu-sub strong{color:#fc8181}.size-select{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.size-btn{background:#e53e3e;color:#fff;border:none;padding:.9rem 1.6rem;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:1.25rem;font-weight:800;font-family:inherit;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #e53e3e66;min-width:90px}.size-btn-sub{font-size:.65rem;font-weight:500;opacity:.8;letter-spacing:.04em}.size-btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px #e53e3e80}.size-btn:active{transform:scale(.96)}.game-screen{background:#1a0e06;min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.6rem .5rem;gap:.5rem}.game-screen.nervous .face-grid{animation:crate-shake .5s ease-in-out infinite}@keyframes crate-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-.6deg)}60%{transform:rotate(.6deg)}}.hint-text{color:#fff6;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;text-align:center;flex-shrink:0}.remaining{color:#ffffffa6;font-size:.95rem;font-weight:600;letter-spacing:.06em;text-align:center;flex-shrink:0}.face-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:clamp(5px,2vw,10px);width:100%;background:#c8102e;padding:clamp(8px,2.5vw,14px);border-radius:10px;box-shadow:0 0 0 3px #9e0d24,inset 0 3px 8px #00000040,0 8px 28px #0009}.face-tile{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,#2a1200,#0d0500 60%);box-shadow:inset 0 3px 12px #000000e6,inset 0 -1px 4px #ffffff0a,0 1px 3px #00000080;border:none;cursor:pointer;padding:0;position:relative;overflow:hidden;transform:rotate(var(--rot));transition:transform .15s,box-shadow .15s}.face-tile.state-waiting:hover{transform:scale(1.1) rotate(var(--rot));box-shadow:inset 0 3px 12px #000000e6,0 2px 10px #00000080,0 0 12px #ffdc6426}.face-tile.state-waiting:active{transform:scale(.94) rotate(var(--rot))}.face-tile.state-safe{animation:bottle-lift .5s ease-in forwards;pointer-events:none}@keyframes bottle-lift{0%{opacity:1;transform:scale(1) rotate(var(--rot)) translateY(0)}30%{opacity:1;transform:scale(1.2) rotate(var(--rot)) translateY(-8px)}to{opacity:0;transform:scale(.4) rotate(calc(var(--rot) + 25deg)) translateY(-100px)}}.face-tile.state-angry{animation:bottle-rage .1s ease-in-out infinite;box-shadow:inset 0 3px 12px #000000e6,0 0 0 2px #e53e3e,0 0 24px #e53e3ecc;z-index:10;pointer-events:none}@keyframes bottle-rage{0%,to{transform:translate(0) rotate(var(--rot))}20%{transform:translate(-6px,2px) rotate(calc(var(--rot) - 5deg))}40%{transform:translate(6px,-2px) rotate(calc(var(--rot) + 5deg))}60%{transform:translate(-4px,2px) rotate(calc(var(--rot) - 3deg))}80%{transform:translate(5px,-1px) rotate(calc(var(--rot) + 3deg))}}.tile-img{width:100%;height:100%;object-fit:contain;object-position:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;display:block}.face-tile.state-angry .tile-img{object-fit:cover;object-position:center center;filter:sepia(1) hue-rotate(-42deg) saturate(5) brightness(1.35) contrast(1.15)}.back-link{background:transparent;color:#ffffff4d;border:1px solid rgba(255,255,255,.12);padding:.45rem 1.1rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.82rem;transition:color .2s,border-color .2s;margin-top:.4rem}.back-link:hover{color:#fff;border-color:#ffffff73}.lost-screen{background:#7a0000;animation:lost-pulse .45s ease-in-out infinite alternate}@keyframes lost-pulse{0%{background:#7a0000}to{background:#b80000}}.lost-face-wrap{animation:rage-shake .09s ease-in-out infinite}@keyframes rage-shake{0%,to{transform:translate(0) rotate(0) scale(1.5)}25%{transform:translate(-9px,3px) rotate(-6deg) scale(1.5)}75%{transform:translate(9px,-3px) rotate(6deg) scale(1.5)}}.lost-face{width:180px;height:180px;object-fit:contain;filter:sepia(1) hue-rotate(-42deg) saturate(6) brightness(1.4) contrast(1.2);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lost-title{font-size:clamp(1.8rem,7vw,3rem);font-weight:900;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5);text-align:center;animation:pop-in .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes pop-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.lost-sub{color:#ffffffbf;font-size:1rem;text-align:center}.won-screen{background:#1a3a1a}.won-face-wrap{animation:won-bounce .6s ease-in-out infinite alternate}@keyframes won-bounce{0%{transform:translateY(0) rotate(-5deg) scale(1.2)}to{transform:translateY(-16px) rotate(5deg) scale(1.2)}}.won-face{width:180px;height:180px;object-fit:contain;filter:hue-rotate(100deg) saturate(1.5) brightness(1.15);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.won-title{font-size:clamp(1.8rem,7vw,3rem);font-weight:900;color:#68d391;text-shadow:0 4px 20px rgba(0,0,0,.4);text-align:center;animation:pop-in .35s cubic-bezier(.175,.885,.32,1.275)}.won-sub{color:#ffffffa6;font-size:.95rem;text-align:center;max-width:320px;line-height:1.6}.end-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.retry-btn{background:#fff;color:#1a1a2e;border:none;padding:.85rem 2.2rem;border-radius:10px;font-size:1rem;font-weight:800;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #00000040}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.retry-btn:active{transform:scale(.97)}.back-btn{background:transparent;color:#ffffff80;border:1px solid rgba(255,255,255,.25);padding:.85rem 1.6rem;border-radius:10px;font-size:1rem;font-family:inherit;cursor:pointer;transition:color .2s,border-color .2s}.back-btn:hover{color:#fff;border-color:#ffffffa6}
