@font-face {
    font-family: 'Silkscreen';
    src: url('slkscr.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
:root {
    --page-color: #cccccc;
    --bg: dimgrey;
    --fg: grey;
    --button-focus:#000;
    --button-hover:#0f0;
    --text-color:#000;
    --table-button-focus: #808080;
    --table-button-hover: #D3D3D3;
}
div{
    background-color: var(--bg);
    /*border-radius: 24px;*/
}
span{
    width:32px; 
    height:32px; 
    position: absolute; 
    pointer-events:none;
}
.game_mode_text {
    height:100%; 
    width:100%; 
    margin-left:40%; 
    margin-top:35%;
    letter-spacing: -2px;
    color:#000;
}
.hover_text{
    color:#fff;
}
button {
    appearance: none;
    -webkit-appearance: none; /* for Safari */
    background: none;
    border: none;
    font: inherit;
    padding: 0;
    margin: 0;
    background-color: var(--button-focus);/* #000000;*/
    color: var(--button-hover);/*#00ff00;*/
    border-radius: 0;
}
button:hover {
    background-color: var(--button-hover);
    color: var(--button-focus);
}
.information_button{
    width:100%; 
    min-height:36px;
    margin: 2px 0 0 0;
}
.special_mode_button{
    width:80%; 
    min-height:40px;
}
.exit_button{
    width: 128px; 
    height: 32px;
}
body{
    font-family: 'Silkscreen';
    user-select: none;
    color: var(--text-color);
    background-color: var(--page-color);
}
#canvas_div{
    user-select: none;
}
.game_mode_button{
    width:32px; 
    height:32px; 
    position:absolute; 
    image-rendering: pixelated; 
    image-rendering: crisp-edges;
}
.game_mode_button:hover{
    filter:invert(100%);
    /*background-color: #000;
    color:#000;*/
}
button {
    font-family: 'Silkscreen';
}
select, option {
    font-family: 'Silkscreen';
}
.tooltip {
    position: absolute;
    background: var(--fg);/*rgba(20, 20, 20, 0.9);*/
    color: white;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 14px;
    pointer-events: none;
    white-space: nowrap;
    border: 1px solid #666;
    z-index: 9999;
    max-width: 384px;
    overflow: auto;
}

.tooltip.hidden {
    display: none;
}
.achievement-popup {
    position: fixed;
    right: 20px;
    bottom: -100%;
    background: #222;
    color: white;
    padding: 12px;
    border-radius: 8px;
    transition: bottom 0.5s ease;
    pointer-events: none;
}
.achievement-popup.show {
    bottom: 30px;
}
.exit_button_div{
    text-align: center; 
    margin-left:auto; 
    margin-right:auto; 
    margin-top: auto;
    width:50%;
}
.option_div {
    width: 384px; 
    /*margin-top: auto;*/
    /*text-align: center;*/
    margin-bottom: auto;
    padding-bottom: 8px;
    background-color: var(--fg); 
    margin-left:auto; 
    margin-right:auto;
}
.round_div {
    border-radius: 24px;
}
.top_right_button{
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 24px;
}
.panel {
    position:absolute; 
    z-index:10; 
    width:512px; 
    height:448px; 
    display: none; 
    flex-direction: column;
}
h1 {
    text-align: center;
}
td {
    padding: 0;
    /*width: 33.33%;*/
    /*text-align: center;*/
    /*border: 1px solid black;*/
}
#scorecard_div {
    box-sizing: border-box;
    overflow: hidden;
}
#score_table_div {
    height: 100%;
}
.score_table {
    margin-left: auto;
    margin-right: auto;
    width:384px;
    display: block;
    /*border-collapse:collapse;*/
    /*border: 2px solid black;*/
}
/*.score_table th{
    /*border: 3px solid black;*/
    /*width:33%;
}*/
.score_table .section th {
    border-top: 2px solid black;
}
.score_table td, th{
    text-align: center;
    border: 1px solid black;
}
.score_table tr{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.score_table tbody {
    display: block;
    max-height: 192px; /*224 ← scroll height */
    overflow-y: auto;
    scrollbar-width: none;
    border: 1px solid black;
} 
.score_table thead,
.score_table tfoot {
    border: 1px solid black;
    display: table;
    width: 100%;
    table-layout: fixed;
}
.course_table td{
    height:32px;
    border:none;
}
/*.label_td{
    max-width: 192px;
}      
.value_td{
    min-width: 32px;
} */  
table{
    width: 100%;
}
.course_div{
    margin: 16px auto 16px auto; 
    width:448px;
    position: relative;
    display: flex; 
    flex-direction: row;
}
.course_div td{
    width:33%;
    text-align: center;
}
.course_info_div{
    width: 100%; 
    display: flex; 
    flex-direction: column; 
    /*margin:auto;*/
}
.course_label_div{
    width: 100%; 
    display: flex; 
    flex-direction: column;/*row;*/ 
}
.course_label{
    margin-left: 16px; 
    width:100%;
}
.unlocked_button{/*Score table button*/
    border:1px solid black; 
    cursor:pointer;
}
.unlocked_button:hover{ /*Score table button HOVER*/
    background-color: var(--table-button-focus);
    cursor:pointer;
}
.unlocked_button:active{ /*Score table button PRESSSED*/
    background-color: var(--table-button-hover);
    cursor:pointer;
}
.locked_button{
    border:none; 
    pointer-events:none;
}
hr{
    border: 2px solid black;
    margin-left: 16px;
    margin-right: 16px;
}