:root {
  --hit: #557443;
  --brow: #AE8B31;
  --bg_1: #1d1f2b;
  --bg_2: #292b3b;
  --text_Em: white;
  --text: rgb(212,221,228)
}

.non-visi{
  display: none!important;
  visibility:hidden;
}
.mobile_only{
  display: none!important;
  visibility:hidden;
}




/* del */
body{
  margin: 0;
  background-color: var(--bg_2);
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}




/* nav */
nav{
  background-color: var(--bg_2);
  color: var(--text_Em);
  width: 15vw;
  margin-top: 5px;
  padding: 5px;
  margin-bottom: 20px;
  box-sizing:border-box;
  position: sticky;
  top: 5px;
}
#nav_top{
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 10px;
  background-color: var(--bg_1);
}

.gad{
  background-color: #9399d3;
}

#nav_top a{
  font-size: larger;
  padding-bottom: 20px;
  display: flex;
  align-items: center;
  color: var(--text_Em);
  text-decoration: underline rgba(0,0,0,0);
}
#nav_top #active{
  color: var(--brow);
  text-decoration: underline;
  font-weight: bold;
}
#nav_top h2{
  text-align: center;
}
#nav_top img{
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
#nav_mobile{
  display: none;
  visibility:hidden;
}

/* body */
#content_body{
  width: 85vw;
  color: white;
}
#mobile_title{
  width: 99vw;
  display: block;
  text-align: center;
}
.text-center{
  text-align: center;
}
.flex_column{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}
.card_wrapper{
  margin: 10px;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--bg_1);
  box-sizing:border-box;
}
.card_wrapper p{
  margin-top: 4px;
  margin-bottom: 16px;
}
.width_2_3{
  width: 62%;
}
.width_1_3{
  width: 30%;
}
.small-margin{
  margin-top: 4px;
  margin-bottom: 4px;
}
.widht_100{
  width: 98%;
  box-sizing:border-box;
}






/* analysis*/
#error_text a{
  color: white;
}
#analysis_top_wrapper{
  display: grid;
  grid-template-columns: 3fr 2fr;
}
#tango_data{
  font-weight: bold;
  font-size: larger;
}
#Word_Chart{
  max-height: 200px;
}
#Ans_Chart{
  max-height: 200px;
}
#play_history_wrapper{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  margin-bottom: 20px;
}
#play_history_wrapper>div{
  display: grid;
  max-width: calc(50px * 5 + 3px * 10);
  min-width: calc(30px * 5 + 3px * 10);
  grid-template-columns: repeat(5,1fr);
}
#play_history_wrapper div div{
  max-width: 50px;
  min-width: 30px;
  margin: 3px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #444444;
}
.BH{
  border-radius: 10px;
}
.AH{
  border-radius: 50%;
}
.HIT{
  background-color: var(--hit)!important;
}
.BLOW{
  background-color: var(--brow)!important;
}
.H_none{
  visibility: hidden;
}
.h{
  background-color: var(--hit)!important;
}
.b{
  background-color: var(--brow)!important;
}

.remain{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
}
.remain_ans_wrapper{
  display: flex;
  align-items: center;
}
.remain_ans{
  width: 35px;
  margin: 3px;
  aspect-ratio: 1;
  font-size: small;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #444444;
}
#remain_description{
  margin-left: 30px;
}

.player_words_list{
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.player_words_list div{
  padding-right: 10px;
}
.player_words_list>div{
  padding-bottom: 10px;
}
#player_words{
  margin-bottom: 20px;
}


/* history */
#calender-selecter{
  display: flex;
  justify-content: space-around;
  margin: 20px;
  margin-top: 0px;
  font-size: large;
  user-select: none;
}
#calender-selecter div{
  cursor: pointer;
}
#calender-selecter select{
  font-size: large;
}
#calender{
  display: grid;
  grid-template-columns: repeat(7,1fr);
  height: auto;
}
#calender .day_head:nth-of-type(7n+7){
  color: #5863ea;
}
#calender .day_head:nth-of-type(7n+1) {
  color: #920700;
}
#calender .day_head{
  padding: 10px;
  text-align: center;
}
#calender>.cal-date-wrapper{
  padding: 10px;
  cursor: pointer;
}
#calender>div{
  border:  1px solid #fff;
}
#calender div:nth-of-type(7n +1) div .cal-date{
  color: #920700!important;
}
#calender div:nth-of-type(7n +7) div  .cal-date{
  color: #5863ea!important;
}
#calender .cal-today{
  color: var(--brow);
}
#calender .cal-over{
  color: rgb(90, 90, 90);
  cursor: default;
}
#calender  .text-mini{
  font-size: small;
}
#calender small{
  font-size: x-small;
}
#cal-description{
  display: inline-block;
  font-size: small;
  padding: 10px;
  border: 2px solid white;
}

#list_wrapper{
  display: grid;
  grid-template-columns: repeat(3,auto) repeat(4,1fr);
  max-height: 75vh;
  overflow-y: scroll;
  border: solid 2px gray;
}
#list_wrapper div{
  padding: 10px;
  border-bottom: 1px solid gray;
}
#list_wrapper .list_head{
  text-align: center!important;
  font-weight: bold;
  border-bottom: 3px solid gray;
  position: sticky;
  top: 0;
  background-color: var(--bg_1);
}
#list_wrapper div:nth-of-type(7n +1){
  text-align: center;
}
#list_wrapper div:nth-of-type(7n +4){
  text-align: end;
}
#list_wrapper div:nth-of-type(7n +5){
  text-align: end;
}
#list_wrapper div:nth-of-type(7n +6){
  text-align: end;
}
#list_wrapper div:nth-of-type(7n +7){
  text-align: end;
}
#list_wrapper .list_analysis_data{
  cursor: pointer;
}

#history-format-selecter{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#history-format-selecter >div{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 20px;
  padding: 30px;
  box-sizing: border-box;
  border: solid 3px;
  border-radius: 20px;
  color: white;
  cursor: pointer;
}
#history-format-selecter >div svg{
  fill: white;
  width: 3vw;
}
#history-format-selecter .current{
  color: var(--brow);
  cursor: default;
}
#history-format-selecter .current svg{
  fill: var(--brow);
}

/* share */
#enter_tango a{
  color: white;
}
#enter_tango form{
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 400px;
}
#enter_tango form input{
  font-size: x-large;
  margin-bottom: 10px;
}
#enter_tango form button{
  font-size: x-large;
}
#local_storage_checkbox label{
  cursor: pointer;
}
#error_text p{
  line-break: anywhere;
}

/* Other */

#content_body .card_wrapper a{
  color: white;
}
.small-top-margin{
  margin-top: 4px;
}
.other{
  grid-template-columns: 1fr 1fr 1fr!important;
}





@media screen and (max-width: 1400px) {
  #nav_top h2{
    font-size: large;
  }
  #nav_top a{
    font-size: medium;
  }
  #nav_top img{
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
  .remain_ans{
    width: 25px;
  }
  #remain_analysis h3{
    font-size: medium;
  }
  #remain_analysis .BH{
    border-radius: 5px;
  }

  #calender .day_head{
    padding: 5px;
  }
  #calender>.cal-date-wrapper{
    padding: 5px;
  }
  #calender div{
    font-size: 10px!important;
  }
  #calender div small{
    font-size: 8px!important;
  }
  #list_wrapper{
    max-height: 60vh;
  }
  #list_wrapper div{
    font-size: 14px!important;
  }
  #list_wrapper div{
    padding: 2px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  #history-format-selecter >div{
    margin: 10px;
    padding: 20px;
  }
  #history-format-selecter >div svg{
    width: 50%;
  }
}
@media screen and (max-width: 1100px) {
  #nav_top h2{
    font-size: small;
  }
  #nav_top a{
    font-size: small;
  }
  #nav_top img{
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }
  #remain_analysis h3{
    font-size: small;
  }
  #left_analysis .flex_column .width_2_3{
    width: 80%;
  }
  #left_analysis .flex_column .width_1_3{
    width: 80%;
  }

  #calender .day_head{
    padding: 5px;
  }
  #calender>.cal-date-wrapper{
    padding: 5px;
  }
  #calender div{
    font-size: 10px!important;
  }
  #calender div small{
    font-size: 8px!important;
  }
  #list_wrapper{
    max-height: 60vh;
  }
  #list_wrapper div{
    font-size: 14px!important;
  }
  #list_wrapper div{
    padding: 2px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  #history-format-selecter >div{
    margin: 10px;
    padding: 20px;
  }
  #history-format-selecter >div svg{
    width: 50%;
  }
}
@media screen and (max-width: 870px) {
  body{
    flex-direction: column-reverse;
  }
  nav{
    width: 100vw;
    margin-bottom: 0;
    background-color: var(--bg_1);
    top: auto;
    position:fixed;
    bottom: 0px;
    z-index: 10;
  }
  .mobile_only{
    display: block!important;
    visibility:visible;
  }
  .pc_only{
    display: none!important;
    visibility: hidden;
  }
  nav img{
    width: 60px;
    height: 60px;
  }
  #nav_top{
    display: none;
    visibility:hidden;
  }
  #nav_mobile{
    display: grid;
    visibility:visible;
    grid-template-columns: repeat(5,1fr);
    width: 100%;
    justify-content: space-around;
    justify-items: center;
  }
  #nav_mobile a{
    display: block;
  }

  #content_body{
    width: 100vw;
  }
  .widht_100{
    width: auto;
  }
  #analysis_top_wrapper{
    width: 100vw;
    display: flex;
    flex-direction: column;
  }
  .card_wrapper{
    max-width: 100vw;
  }
  #left_analysis .flex_column .width_2_3{
    width: 95%;
  }
  #left_analysis .flex_column .width_1_3{
    width: 95%;
  }

  #play_history_wrapper>div{
    min-width: calc(10px * 5 + 3px * 10);
  }
  #play_history_wrapper div div{
    font-size: small;
    max-width: 50px;
    min-width: 10px;
  }
  #remain_description{
    margin-left: 10px;
  }
  .nav_padding{
    width: 80vw;
    height: 80px;
  }

  #calender-selecter div{
    font-size: small;
  }
  #calender-selecter select{
    font-size: small;
  }
  #calender .day_head{
    padding: 2px;
  }
  #calender>.cal-date-wrapper{
    padding: 2px;
  }
  #calender div{
    font-size: 2vw!important;
  }
  #calender div small{
    font-size: 2vw!important;
  }
  #list_wrapper{
    max-height: 60vh;
  }
  #list_wrapper div{
    font-size: 2vw!important;
  }
  #list_wrapper div{
    padding: 2px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  #history-format-selecter >div{
    margin: 10px;
    padding: 20px;
  }
  #history-format-selecter >div svg{
    width: 15vw;
  }
}