@font-face {
    font-family: 'bebas';
    font-style: normal;
    font-weight: normal;
    src:
    url('../webfont/bebas.woff2') format('woff2'),
    url('../webfont/bebas.woff') format('woff'),
    url('../webfont/bebas.ttf') format('truetype');
}

/*  --------------------------------------------------
        :: Global Reset & Standards
-------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}
html {
    font-size: 62.5%;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

body {
    font-family: 'Noto Sans JP', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, 'ヒラギノ角ゴ Pro', Hiragino Kaku Gothic Pro, '游ゴシック体', 'メイリオ', Meiryo sans-serif !important;
    font-weight: 400;
    font-feature-settings: "palt";
    color: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    font-size: 16px;
    line-height: 2em;
    background: #000;
    overflow-x: hidden;
}

/* UI */
#ui {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 10;
  background: rgba(255,255,255,0.2);
  padding: 40px 20px;
  color:#fff;
  font-weight: bold;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  box-sizing: border-box;
}
button, .file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 0 20px;
  font-weight: bold;
  background: #777;
  color: #fff;
  font-size: 14px;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  line-height: 1;
}
button:hover, .file-btn:hover {
  background: #555;
}
.file-btn.active {
  background: #000;
}
input[type="file"] {
  display: none;
}

/* 書き出し */
#bar{
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 100;
  height: 10px;
  background:#333;
}
#fill{
  width:0%;
  height:100%;
  background:#f30;
}

#done{
  font-family: 'bebas';
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 80px;
  color:#fff;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
}

#stage {
  width: 100%;
  aspect-ratio: 16 / 9;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
#stage canvas {
  width: 100% !important;
  max-width: 1920px !important;
  height: 100% !important;
  display: block;
}

#intro{
  font-family: 'bebas';
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: calc(10vw - 10px);
  color:#fff;
  z-index: 9999;
  opacity: 1;
  pointer-events: none;
  white-space: nowrap;
  animation: introFade 3.5s forwards;
}
@keyframes introFade {
  0%   { opacity: 1; }
  85%  { opacity: 1; }
  100% { opacity: 0; }
}