html,body{padding:0;margin:0;width:100%;height:100%;background-color:#000;font-family:sans-serif;overflow:hidden;position:relative}#safe{position:relative;width:100%;height:100%;margin:0 auto;text-align:center;cursor:pointer}#safe video{position:absolute;left:50%;transform:translateX(-50%);height:100%;transition:opacity 100ms}#safe #video1{z-index:2;opacity:1}#safe #video2{z-index:1;opacity:0}#safe.opening #video1{z-index:1;opacity:0}#safe.opening #video2{z-index:2;opacity:1}#numbers{position:absolute;z-index:3;top:50%;left:50%;width:40vh;height:40vh;transform:translate(-20%,-60%) scale(15%);border:2px solid #fff;outline:4px solid #000;transition:transform 250ms,opacity 250ms;opacity:0;pointer-events:none}#numbers.zoom{pointer-events:initial;opacity:1;transform:translate(-50%,-50%) scale(1)}#numbers.hidden{opacity:0;transition:transform 250ms,opacity 250ms}#numbers img{position:absolute;width:100%;height:100%}#numbers .num{position:absolute;z-index:1;cursor:pointer;width:12%;height:12%;font-size:4vh;font-weight:bold;line-height:4.8vh;text-align:center;vertical-align:center;user-select:none;color:#000;transition:color 500ms}#numbers .num:not(#num-display):active{color:#fff;transition:none}#numbers #num-display{top:14.5%;left:29%;width:42%;background-color:rgba(0,0,0,0.502);color:#e0e0e0}#numbers #num-1{top:29.5%;left:29%}#numbers #num-2{top:29.5%;left:44%}#numbers #num-3{top:29.5%;left:59%}#numbers #num-4{top:44.5%;left:29%}#numbers #num-5{top:44.5%;left:44%}#numbers #num-6{top:44.5%;left:59%}#numbers #num-7{top:59.5%;left:29%}#numbers #num-8{top:59.5%;left:44%}#numbers #num-9{top:59.5%;left:59%}#numbers #num-0{top:74.5%;left:29%}#numbers #num-enter{top:74.5%;left:44%;width:27%;font-size:3vh}.feedback{position:absolute;z-index:1;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none}body.error .feedback{box-shadow:inset 0 0 10em #f00;animation:1s feedback-light}body.correct .feedback{box-shadow:inset 0 0 10em #fffce2;animation:1s feedback-light}@-moz-keyframes feedback-light{from{opacity:0}10%{opacity:1}to{opacity:0}}@-webkit-keyframes feedback-light{from{opacity:0}10%{opacity:1}to{opacity:0}}@-o-keyframes feedback-light{from{opacity:0}10%{opacity:1}to{opacity:0}}@keyframes feedback-light{from{opacity:0}10%{opacity:1}to{opacity:0}}