/* Neutral shell shared by the non-Verdict games. Each game's game.css supplies the whole look. */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{display:flex;justify-content:center;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
a{color:inherit;text-decoration:none}
#app{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;overflow:hidden}
@media (min-width:560px) and (min-height:760px){body{align-items:center}#app{height:min(100dvh - 40px,900px);border-radius:28px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}}
.screen{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 14px) 16px calc(env(safe-area-inset-bottom) + 14px)}
.scrim{position:absolute;inset:0;z-index:30;display:flex;align-items:flex-end}
.confetti{position:absolute;inset:0;pointer-events:none;z-index:40;overflow:hidden}
.confetti i{position:absolute;top:-20px;border-radius:2px;opacity:0;animation:fall linear forwards}
@keyframes fall{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:1;transform:translate(var(--dx),110vh) rotate(var(--rot))}}
@keyframes in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
