root { 
    display: block;
}

body{
    background-color: #000;
    background-repeat: repeat-x;
    background-position: top;
    font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
}

*, *:before, *:after {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
     
input, input:before, input:after {
    -webkit-user-select: initial;
    -khtml-user-select: initial;
    -moz-user-select: initial;
    -ms-user-select: initial;
    user-select: initial;
}

::selection { background: transparent;color:inherit; }
::-moz-selection { background: transparent;color:inherit; }

#canvas{
    position: fixed;
    inset: 0;
    z-index: 10;
    touch-action: none;
    pointer-events: auto;
}

canvas {
    image-rendering:-webkit-optimize-contrast;
    -ms-interpolation-mode: nearest-neighbor;
    -ms-touch-action: none;
}

.ani_hack{
    -webkit-perspective: 1000;
    -webkit-backface-visibility: hidden;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    outline: none;
    -webkit-tap-highlight-color: transparent; /* mobile webkit */
}

/***************FONTS*******************/

.check-fonts{
        position: fixed;
        opacity:0;
}

.check-font-1{
        font-family: 'TradeGothic';
}


@font-face {
    font-family: 'TradeGothic';
    src: url('TradeGothic-Bold.woff2') format('woff2'),
        url('TradeGothic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}



#hud{
    position: fixed;
    inset: 0;
    z-index: 200000 !important;
    pointer-events: none;
    display:none;
  }

  #hud button,
  #hud .cards,
  #hud .turn-pill {
    pointer-events: auto;
  }
  /* Top-center turn pill */
  .turn-pill {
    position: absolute; left: 50%; top: 0; transform: translateX(-50%);
    background: #ffd21f; color: #222; font: 700 14px/1.2 system-ui,Segoe UI,Roboto;
    padding: 7px 10px; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px;
    pointer-events: none; white-space: nowrap; opacity: 0; transition: opacity .2s;
  }
  .turn-pill.show { opacity: 1; }

  /* Player cards */
  .cards {
    position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex;
    justify-content: space-between; padding: 0;
  }
  .card {
    position: relative; width: max-content; height: 100%; border-radius: 12px;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(10px);
    overflow: visible; pointer-events: none;   /* visual only */
    border: 3px solid rgba(0,0,0,0.5);
  }
  .card-inner {   display: flex; }
  .avatar {
    /* display: grid; place-items: center; */
    border-bottom-left-radius: 9px;
    border-top-left-radius: 9px;
    overflow: hidden;
  }
  .avatar .circle {
     overflow: hidden;
  }
  .avatar img { width: 69px; height: 69px; object-fit: cover; display: block; }
  .info { display: flex; flex-direction: column; gap: 6px; align-content: center; padding-right: 8px; padding-left: 8px; padding-top: 7.5px; padding-bottom: 7.5px; }
  .name { color: #fff; font-weight: 400; font-size: 14px; line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .frac { color: #B9B9B9; font-size: 14px; font-weight: 600; display: flex; align-items: baseline; line-height: 1; }
  .frac .big { color: #C82976; font-size: 22px; font-weight: bold; }
  .dots { display: grid; grid-auto-flow: column; gap: 4px; align-items: center; }
  .dot { width: 6px; height: 6px; border-radius: 100%; background: #B9B9B9; }
  .dot.goal { background: #05C856; }
  .dot.miss { background: #E52222; }

  /* Yellow border timer (svg on top of card) */
  .timer-svg { position:absolute; width: calc(100% + 6px); height: calc(100% + 8px); left: -3px; top: -4px; }
  .timer-svg rect { fill: none; stroke: #ffd500; stroke-width: 3; stroke-linecap: round; }

  .timer-svg { opacity: 0; transition: opacity .2s; }
.timer-svg.is-on { opacity: 1; }



  .orientation-msg-container {
    z-index: 100000;
    pointer-events: none;
  }
  .orientation-msg-container.is-visible {
    pointer-events: auto;    
  }

  .result-modal,
  .exit-modal {
    z-index: 300000 !important;
  }

  #block_game { z-index: 50 !important; pointer-events: none; }


