/* Arcane Island WebGL page (WP-5.4a, D-1071). No template macros in this file. */
@font-face {
  font-family: "Modern Antiqua";
  src: url("ModernAntiqua-Regular.ttf") format("truetype");
  font-display: swap;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #14110f;
  color: #e9dcc0;
  color-scheme: dark;
}

body {
  font-family: "PT Sans", "Segoe UI", Roboto, Arial, sans-serif;
}

/* The canvas fills the whole browser window; Unity matches its render size to the DOM size. */
#unity-canvas {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #14110f;
  outline: none;
}

/* Loader and notices share one full-window overlay. */
.overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: radial-gradient(ellipse at 50% 40%, #2b2118 0%, #14110f 70%);
  opacity: 1;
  transition: opacity 0.4s ease;
  z-index: 10;
}

.overlay.visible { display: flex; }
.overlay.fading { opacity: 0; pointer-events: none; }

.title {
  margin: 0 0 28px;
  font-family: "Modern Antiqua", Georgia, "Times New Roman", serif;
  font-weight: normal;
  font-size: clamp(32px, 6vw, 64px);
  letter-spacing: 0.04em;
  color: #e8c77a;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
}

.bar {
  width: min(360px, 70vw);
  height: 10px;
  border: 1px solid #6b5434;
  border-radius: 6px;
  background: #1d1812;
  overflow: hidden;
}

.bar-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #a8742a, #f0cf86);
  transition: width 0.15s linear;
}

.percent {
  margin-top: 12px;
  font-size: 15px;
  letter-spacing: 0.06em;
  color: #b9a784;
}

.message {
  max-width: min(520px, 86vw);
  margin: 0 0 22px;
  font-size: 18px;
  line-height: 1.45;
  color: #e9dcc0;
}

.detail {
  max-width: min(520px, 86vw);
  margin: -8px 0 22px;
  font-size: 13px;
  color: #8f7f62;
  word-break: break-word;
}

.buttons { display: flex; gap: 12px; }

.buttons button {
  min-width: 140px;
  padding: 10px 22px;
  font: inherit;
  font-size: 16px;
  color: #1b140b;
  background: linear-gradient(180deg, #f0cf86, #c99443);
  border: 1px solid #6b5434;
  border-radius: 6px;
  cursor: pointer;
}

.buttons button:hover { filter: brightness(1.08); }
