:root {
  --iz-green:       #005D3E;
  --iz-dark-green:  #00301C;
  --iz-lime:        #CBDB2A;
  --iz-mint:        #A9D7AE;
  --iz-magenta:    #BD1A8D;
  --iz-black:       #222222;
  --iz-white:       #FFFFFF;
  --iz-panel-bg:    #1a2a2d;
  --iz-panel-border: var(--iz-lime);
}

@font-face {
  font-family: 'Sora';
  src: url('assets/fonts/Sora.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SoraExtraBold';
  src: url('assets/fonts/Sora-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  width: 100%;
  height: 100%;
  background: #0a1930;
  color: var(--iz-white);
  font-family: 'Sora', system-ui, sans-serif;
  overflow: hidden;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  overscroll-behavior: none;
}

#game-wrap {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at center, #1a3a6a 0%, #0a1930 70%, #050810 100%);
}

#game-container {
  width: min(100vw, calc(100vh * 9 / 16));
  height: min(100vh, calc(100vw * 16 / 9));
  max-width: 720px;
  max-height: 1280px;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.6);
  position: relative;
  background: #0a1930;
}

canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.fis-name-input {
  position: absolute;
  z-index: 20;
  border: 0;
  outline: none;
  border-radius: 18px;
  background:
    radial-gradient(80% 120% at 92% 65%, rgba(216, 255, 74, 0.18), rgba(216, 255, 74, 0) 58%),
    linear-gradient(180deg, rgba(20, 89, 82, 0.94) 0%, rgba(12, 58, 55, 0.94) 52%, rgba(3, 25, 26, 0.98) 100%);
  color: #fff;
  font-family: 'Sora', system-ui, sans-serif;
  font-weight: 800;
  text-align: left;
  padding: 0 24px;
  backdrop-filter: blur(14px) saturate(1.35);
  -webkit-backdrop-filter: blur(14px) saturate(1.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 0 -14px 24px rgba(0, 32, 20, 0.30),
    inset 0 0 0 1px rgba(170, 240, 230, 0.34),
    0 0 0 3px rgba(26, 122, 120, 0.82),
    0 0 0 5px rgba(185, 243, 223, 0.34),
    0 18px 36px rgba(0, 0, 0, 0.36),
    0 0 28px rgba(203, 255, 44, 0.16);
  caret-color: #CBDB2A;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-user-select: text;
  user-select: text;
}

.fis-name-input::placeholder {
  color: rgba(169, 215, 174, 0.78);
}

.fis-name-input:focus {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -14px 24px rgba(0, 32, 20, 0.22),
    inset 0 0 0 1px rgba(255, 255, 255, 0.24),
    0 0 0 3px rgba(203, 219, 42, 0.94),
    0 0 42px rgba(203, 219, 42, 0.32),
    0 18px 38px rgba(0, 0, 0, 0.40);
}

.fis-modal-name-input {
  text-align: center;
  border-radius: 20px;
}
