UNPKG

shiro

Version:

Online quiz game engine, inspired by russian tv show 'What? Where? When?' (Million Dollar Mind Game).

525 lines (487 loc) 9.09 kB
/* gameplay panel */ .gameplay { position: fixed; display: block; top: 2%; left: 2%; right: 22%; width: auto; height: 40px; text-align: center; z-index: 2; } .gameplay_question { position: relative; display: inline-block; width: 24px; height: 24px; margin: 8px 0px 0px 30px; line-height: 21px; font-size: 14px; color: #999999; border: 2px solid #dddddd; border-radius: 24px; background-color: #ffffff; text-align: center; } .gameplay_question:first-child { margin-left: 0px; } .gameplay_question.gameplay_question_played { color: #ffffff; border-color: #999999; background-color: #999999; } .gameplay_question.gameplay_question_playing { color: #fe6c1d; border-color: #fe6c1d; background-color: #ffffff; box-shadow: 0px 0px 8px #fe6c1d; z-index: 1; } .gameplay_question:after { content: ""; position: absolute; display: block; top: 9px; left: 22px; width: 30px; height: 0px; border-top: 2px solid #dddddd; } .gameplay_question:last-child:after { content: none; } .gameplay_question.gameplay_question_played:after { border-color: #999999; } /* animation */ .gameplay_question.gameplay_question_playing { -moz-animation-duration: 0.5s; -moz-animation-name: gameplay_question_playing; -moz-animation-iteration-count: infinite; -moz-animation-direction: alternate; -webkit-animation-duration: 0.5s; -webkit-animation-name: gameplay_question_playing; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-duration: 0.5s; animation-name: gameplay_question_playing; animation-iteration-count: infinite; animation-direction: alternate; } @-moz-keyframes gameplay_question_playing { from { opacity: 0.5; box-shadow: 0px 0px 8px #fe6c1d; } to { opacity: 1; box-shadow: 0px 0px 16px #fe6c1d; } } @-webkit-keyframes gameplay_question_playing { from { opacity: 0.5; box-shadow: 0px 0px 8px #fe6c1d; } to { opacity: 1; box-shadow: 0px 0px 16px #fe6c1d; } } @keyframes gameplay_question_playing { from { opacity: 0.5; box-shadow: 0px 0px 8px #fe6c1d; } to { opacity: 1; box-shadow: 0px 0px 16px #fe6c1d; } } /* timer panel */ .timer { position: fixed; display: block; top: 2%; left: 2%; right: 22%; width: auto; height: 40px; padding-top: 5px; text-align: center; } .timer_tick { display: inline-block; height: 30px; border: 1px solid #fe6c1d; } .timer_tick:first-child { margin-left: 0px; border-radius: 4px 0px 0px 4px; } .timer_tick:last-child { border-radius: 0px 4px 4px 0px; } .timer_tick_passed { background-color: #fe6c1d; } /* animation */ .timer.timer_running_out { -moz-animation-duration: 0.5s; -moz-animation-name: timer_running_out; -moz-animation-iteration-count: infinite; -moz-animation-direction: alternate; -webkit-animation-duration: 0.5s; -webkit-animation-name: timer_running_out; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-duration: 0.5s; animation-name: timer_running_out; animation-iteration-count: infinite; animation-direction: alternate; } @-moz-keyframes timer_running_out { 0% { opacity: 1; } 20% { opacity: 1; } 100% { opacity: 0; } } @-webkit-keyframes timer_running_out { 0% { opacity: 1; } 20% { opacity: 1; } 100% { opacity: 0; } } @keyframes timer_running_out { 0% { opacity: 1; } 20% { opacity: 1; } 100% { opacity: 0; } } /* scoreboard */ .scoreboard_team { position: relative; display: inline-block; margin: 10px 15px; opacity: 0.5; } .scoreboard_team.scoreboard_team_online { opacity: 1; } .scoreboard_team_name, .scoreboard_team_points { display: block; min-width: 160px; line-height: 34px; font-size: 20px; } .scoreboard_team_name { border-bottom: 1px solid #cccccc; } .scoreboard_team_fracs { position: absolute; display: inline-block; margin-top: 2px; font-size: 14px; color: #999999; } /* shared question & scoreboard panels */ .scoreboard, .question { position: fixed; display: block; top: calc(4% + 40px); left: 2%; right: 22%; bottom: 22%; width: auto; height: auto; padding: 5%; text-align: center; background-color: #ffffff; } .scoreboard:before, .question:before { content: ""; display: inline-block; width: 0px; height: 100%; vertical-align: middle; } .scoreboard_teams, .question_text { display: inline-block; width: auto; height: auto; vertical-align: middle; } /* question panel */ .question_text { font-size: 18px; color: #000000; white-space: pre-line; pointer-events: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } /* hide text */ .question:after { content: ""; position: absolute; display: block; top: 0px; right: 0px; bottom: 0px; left: 0px; width: auto; height: auto; } .question_text::selection { background-color: transparent; } /* shared question and answers */ /* label */ .question_text:before, .answer_text:before { content: "question"; position: absolute; display: block; top: 10px; left: 10px; font-family: "Ubuntu", sans-serif; font-size: 36px; color: #cccccc; opacity: 0.5; } .answer_text:before { content: "answer"; } /* answer section */ .answer { position: fixed; display: block; left: 2%; right: 22%; bottom: 2%; width: auto; height: 20%; background-color: #ffffff; background-image: -webkit-linear-gradient(left, rgba(204,204,204, 0), rgba(204, 204, 204, 0) 1.4%, rgba(204, 204, 204, 0.1) 2%, rgba(204, 204, 204, 1) 3.6%, rgba(204, 204, 204, 1) 96.4%, rgba(204, 204, 204, 0.1) 98%, rgba(204, 204, 204, 0) 98.6%, rgba(204,204,204, 0) 100%); background-image: -moz-linear-gradient(left, rgba(204,204,204, 0), rgba(204, 204, 204, 0) 1.4%, rgba(204, 204, 204, 0.1) 2%, rgba(204, 204, 204, 1) 3.6%, rgba(204, 204, 204, 1) 96.4%, rgba(204, 204, 204, 0.1) 98%, rgba(204, 204, 204, 0) 98.6%, rgba(204,204,204, 0) 100%); background-image: linear-gradient(left, rgba(204,204,204, 0), rgba(204, 204, 204, 0) 1.4%, rgba(204, 204, 204, 0.1) 2%, rgba(204, 204, 204, 1) 3.6%, rgba(204, 204, 204, 1) 96.4%, rgba(204, 204, 204, 0.1) 98%, rgba(204, 204, 204, 0) 98.6%, rgba(204,204,204, 0) 100%); background-position: 0px 0px; background-size: 100% 1px; text-align: center; } .answer:before { content: ""; display: inline-block; width: 0px; height: 100%; vertical-align: middle; } .answer_text { display: inline-block; width: 90%; height: auto; vertical-align: middle; white-space: pre-line; pointer-events: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } /* hide text */ .answer:after { content: ""; position: absolute; display: block; top: 0px; right: 0px; bottom: 0px; left: 0px; width: auto; height: auto; } .answer_text::selection { background-color: transparent; } /* chart */ .answer_teams_chart { position: relative; display: inline-block; width: 90%; height: 80%; margin-top: 2%; text-align: center; vertical-align: middle; white-space: nowrap; pointer-events: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } .answer_teams_chart:before, .answer_teams_chart:after { content: ""; position: absolute; display: block; top: 0px; right: 0px; left: 0px; width: auto; height: 50%; border: 1px dotted #999999; border-width: 1px 0px; z-index: -1; } .answer_teams_chart:after { top: 25%; border-color: #dddddd; } .answer_teams_chart_axis_y { position: absolute; display: block; top: 0px; bottom: 0px; left: -5px; width: 5px; height: auto; border-right: 1px solid #999999; } .answer_teams_chart_axis_y>i { display: block; width: 5px; height: 25%; padding-right: 5px; line-height: 0px; font-size: 10px; font-family: "Ubuntu", sans-serif; color: #999999; border-top: 1px solid #999999; text-indent: -25px; text-align: right; } .answer_teams_chart_team { position: relative; display: inline-block; height: 100%; border-bottom: 1px solid #999999; } .answer_teams_chart_team_name { position: absolute; display: block; right: 0px; bottom: 0px; left: 0px; width: auto; height: 5px; line-height: 28px; font-size: 9px; font-family: "Ubuntu", sans-serif; color: #999999; border-right: 1px solid #999999; text-align: center; } .answer_teams_chart_team_bar { position: absolute; display: block; right: 15%; bottom: 0px; left: 15%; width: auto; background-color: #cccccc; border-radius: 4px 4px 0px 0px; opacity: 0.8; } .answer_teams_chart_team_correct .answer_teams_chart_team_bar { background-color: #33dd33; } .answer_teams_chart_team_wrong .answer_teams_chart_team_bar { background-color: #dd3333; }