/* ぶっこわす — style.css */
html, body {
  margin: 0; padding: 0; width: 100%; height: 100%;
  background: #000; overflow: hidden;
  touch-action: none;
  -webkit-user-select: none; user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior: none;
}
body { position: fixed; inset: 0; }

#stage {
  position: absolute; left: 0; top: 0; width: 384px; height: 216px;
  touch-action: none; cursor: crosshair; overflow: hidden;
}
#screen, #text {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block;
}
#screen { image-rendering: crisp-edges; image-rendering: pixelated; }
#text { pointer-events: none; }

#mute {
  position: absolute; right: 0.8%; top: 1.4%;
  width: 4.4%; height: 7.8%; min-width: 26px; min-height: 26px;
  padding: 0.4%; margin: 0;
  background: rgba(7, 4, 14, 0.6);
  border: 2px solid rgba(255, 216, 74, 0.7); border-radius: 0;
  cursor: pointer; touch-action: manipulation;
  display: flex; align-items: center; justify-content: center;
}
#mute svg { width: 100%; height: 100%; shape-rendering: crispEdges; display: block; }
#mute .off { display: none; }
#mute.muted .on { display: none; }
#mute.muted .off { display: inline; }
#mute:focus { outline: none; }
#mute:focus-visible { outline: 2px solid #fff; }

#rotate {
  display: none; position: fixed; inset: 0; z-index: 10;
  background: #0b0714; color: #fff;
  align-items: center; justify-content: center; text-align: center;
  font-family: "DotGothic16", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}
#rotate.show { display: flex; }
#rotate p { margin: 12px 0 0; font-size: 22px; font-weight: bold; }
#rotate p.en { font-size: 12px; color: #a8a0c0; letter-spacing: 0.1em; }
.rotate-icon {
  width: 48px; height: 80px; margin: 0 auto 8px;
  border: 5px solid #ffd84a; border-radius: 8px;
  animation: hakai-rotate 1.6s ease-in-out infinite;
}
@keyframes hakai-rotate {
  0%, 20% { transform: rotate(0deg); }
  60%, 100% { transform: rotate(-90deg); }
}
