*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#root{width:100%;height:100vh;overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0;padding:0}button{font-family:inherit;border:none;padding:0;cursor:pointer;touch-action:manipulation}button:focus{outline:2px solid rgba(0,0,0,.3);outline-offset:2px}input,button,textarea,select{font-size:16px}::-webkit-scrollbar{display:none}#root{width:100%;height:100vh;margin:0;padding:0}*{box-sizing:border-box}html,body{margin:0;padding:0}.permission-request{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.permission-content{text-align:center;background:#fff;border-radius:20px;padding:40px 30px;max-width:400px;box-shadow:0 10px 40px #0000001a}.permission-title{margin:0 0 20px;font-size:32px;color:#333;font-weight:700}.permission-description{margin:0 0 15px;font-size:16px;color:#666;line-height:1.5}.permission-notice{margin:0 0 30px;font-size:14px;color:#999;font-style:italic}.permission-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:50px;min-width:200px}.permission-button:active{transform:scale(.98);box-shadow:0 4px 12px #667eea66}.permission-button:disabled{opacity:.6;cursor:not-allowed}.idle-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.idle-content{text-align:center;max-width:500px}.idle-title{margin:0 0 20px;font-size:36px;color:#fff;font-weight:700}.idle-emoji{font-size:80px;margin:20px 0;animation:wave 1s ease-in-out infinite}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.idle-description{margin:0 0 40px;font-size:18px;color:#ffffffe6;line-height:1.6}.start-button{background:#fff;color:#667eea;border:none;border-radius:12px;padding:16px 40px;font-size:18px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:50px;min-width:200px;box-shadow:0 10px 25px #0003}.start-button:active{transform:scale(.95)}.start-button:hover{box-shadow:0 15px 35px #0000004d}.shaking-indicator{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f093fb,#f5576c);padding:20px}.shaking-content{text-align:center;max-width:400px}.shaking-title{margin:0 0 30px;font-size:32px;color:#fff;font-weight:700}.intensity-meter{margin:30px 0;display:flex;justify-content:center}.intensity-bar{width:100%;max-width:250px;height:30px;background:#ffffff4d;border-radius:15px;overflow:hidden;border:2px solid white}.intensity-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44a08d);transition:width .1s ease-out;border-radius:13px}.intensity-text{margin:0;font-size:18px;color:#fff;font-weight:600}.shake-animation{display:flex;justify-content:center;margin-top:40px}.shake-circle{width:100px;height:100px;background:#fff;border-radius:50%;animation:shake .5s ease-in-out infinite;box-shadow:0 10px 30px #0003}@keyframes shake{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-10px,-10px) scale(1.05)}50%{transform:translate(10px,10px) scale(1)}75%{transform:translate(-10px,10px) scale(1.05)}}.drink-card{background:#fff;border:4px solid;border-radius:16px;padding:30px 20px;text-align:center;box-shadow:0 10px 30px #0000001a;margin:20px 0}.drink-emoji{font-size:80px;margin:0 0 15px;display:inline-block;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.drink-name{margin:15px 0 10px;font-size:24px;color:#333;font-weight:700}.drink-description{margin:0;font-size:14px;color:#666;line-height:1.5}.opened-drink{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;overflow:hidden;position:relative}.celebration{position:absolute;inset:0;pointer-events:none}.confetti{position:absolute;width:10px;height:10px;background:radial-gradient(circle,gold,orange);animation:confetti-fall 3s ease-in forwards;opacity:.8}.confetti:nth-child(1){left:10%;animation-delay:0s;transform:rotate(45deg)}.confetti:nth-child(2){left:50%;animation-delay:.2s;transform:rotate(-45deg)}.confetti:nth-child(3){left:90%;animation-delay:.4s;transform:rotate(60deg)}@keyframes confetti-fall{0%{transform:translateY(-100px) translate(0);opacity:1}to{transform:translateY(100vh) translate(100px);opacity:0}}.opened-content{text-align:center;max-width:500px;position:relative;z-index:1}.opened-title{margin:0 0 30px;font-size:36px;color:#fff;font-weight:700;animation:bounce-in .6s ease-out}@keyframes bounce-in{0%{transform:scale(0) translateY(-50px);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1) translateY(0);opacity:1}}.play-again-button{background:#fff;color:#667eea;border:none;border-radius:12px;padding:16px 40px;font-size:18px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;min-height:50px;min-width:200px;margin-top:30px;box-shadow:0 10px 25px #0003}.play-again-button:active{transform:scale(.95)}.play-again-button:hover{box-shadow:0 15px 35px #0000004d}
