@font-face {
  font-family: "ZCOOL KuaiLe";
  src: url("/assets/fonts/ZCOOLKuaiLe-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

html,
body,
body *,
body *::before,
body *::after {
  font-family: "ZCOOL KuaiLe", "Microsoft YaHei UI", sans-serif !important;
}

:root {
  color-scheme: light !important;
  --text: #28324a !important;
  --muted: rgba(50, 63, 88, .68) !important;
  --line: rgba(151, 174, 205, .45) !important;
  --panel: rgba(255, 255, 255, .72) !important;
  --bg: #eaf4ff !important;
  --blue: #678bd8 !important;
  --rose: #e77d92 !important;
  --aqua: #70cbd5 !important;
  --green: #3b9a68 !important;
  --orange: #b98235 !important;
  --shadow: 0 22px 64px rgba(67, 91, 126, .18) !important;
}

body {
  background: #eaf4ff url('/assets/mushoku-bg-2560.webp') center / cover fixed no-repeat !important;
  color: var(--text) !important;
}

body::before {
  background:
    linear-gradient(90deg, rgba(245, 250, 255, .56), rgba(255, 255, 255, .22) 48%, rgba(255, 250, 246, .50)),
    radial-gradient(circle at 18% 28%, rgba(117, 173, 234, .22), transparent 24rem),
    radial-gradient(circle at 84% 30%, rgba(231, 125, 146, .20), transparent 25rem) !important;
}

body::after {
  background-image:
    radial-gradient(circle at center, rgba(255,255,255,.24) 0 1px, transparent 1.5px),
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) !important;
  background-size: 42px 42px, 32px 32px, 32px 32px !important;
  opacity: .42 !important;
}

header {
  background: rgba(255,255,255,.66) !important;
  border-bottom-color: rgba(255,255,255,.82) !important;
  box-shadow: 0 10px 34px rgba(70, 93, 125, .12);
}

.sky-logo span {
  background: linear-gradient(135deg, #6c8fd9 0 32%, #cf7792 54%, #b88c42 78%, #69b9c8) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-family: "Comic Sans MS", "Segoe Script", "M PLUS Rounded 1c", "ZCOOL KuaiLe", "Microsoft YaHei UI", cursive !important;
  font-style: italic !important;
  letter-spacing: 0 !important;
}

.sky-logo::before {
  border-color: rgba(103,139,216,.42) transparent transparent rgba(231,125,146,.32) !important;
}

.panel,
.game,
.status,
.modal-card,
.item,
.license-section,
.front-links,
.user-chip,
.menu-card,
.admin-tab,
.loader-card {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.86) !important;
  box-shadow: 0 18px 54px rgba(62, 85, 118, .16), inset 0 1px 0 rgba(255,255,255,.92) !important;
  backdrop-filter: blur(24px) saturate(1.08) !important;
}

.panel {
  border-radius: 24px !important;
  position: relative;
  overflow: hidden;
}

.panel::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 140px;
  height: 140px;
  border: 1px solid rgba(184, 140, 66, .16);
  border-radius: 50%;
  transform: translate(-48%, -48%);
  box-shadow: 0 0 0 18px rgba(103,139,216,.05), 0 0 0 36px rgba(231,125,146,.035);
  pointer-events: none;
}

button,
.enter-link {
  background: linear-gradient(135deg, #718fce, #8f80c9 48%, #d78398) !important;
  box-shadow: 0 10px 24px rgba(103,139,216,.20);
}

button.secondary,
.copy-link,
.qr-link,
button.gray,
.admin-tab {
  background: rgba(255,255,255,.74) !important;
  color: #53668d !important;
  border: 1px solid rgba(125, 151, 192, .34) !important;
  box-shadow: none !important;
}

.top-logout .link-danger {
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #657fbd !important;
  background: transparent !important;
  box-shadow: none !important;
}

.top-logout .link-danger:hover {
  color: #c9758c !important;
  filter: none !important;
  transform: none !important;
  text-decoration: underline;
}

.admin-tab.active {
  color: #fff !important;
  background: linear-gradient(135deg, #718fce, #8f80c9 48%, #d78398) !important;
}

input,
select,
textarea,
.file-picker {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(132, 157, 196, .36) !important;
  color: #28324a !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #7898d3 !important;
  box-shadow: 0 0 0 4px rgba(120,152,211,.16) !important;
}

.game {
  border-left: 4px solid #7898d3 !important;
  border-radius: 18px !important;
}

.game[data-game-category="delta_force_dfm"] {
  border-left-color: #d98291 !important;
}

.game-title {
  background: linear-gradient(135deg, #34476c, #718fce 52%, #c9758c) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

.room-number {
  margin-top: 6px;
  color: #7b5c2c;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .18em;
}

.game-usage-note {
  display: grid;
  gap: 5px;
  margin: 14px 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(120, 152, 211, .28);
  border-radius: 14px;
  color: #52627f;
  background: rgba(245, 250, 255, .72);
  line-height: 1.65;
}

.game-usage-note strong {
  color: #526fa8;
  font-size: 15px;
}

.software-connection {
  display: grid;
  gap: 7px;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(120, 152, 211, .24);
  border-radius: 12px;
  color: #3f4e69;
  background: rgba(255, 255, 255, .68);
}

.software-connection span {
  display: block;
  overflow-wrap: anywhere;
}

.software-connection strong {
  color: #526fa8;
}

.city-card {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(132,157,196,.34);
  border-radius: 16px;
  background: rgba(255,255,255,.64);
}

.city-card.warn {
  border-color: rgba(215, 112, 126, .42);
  background: rgba(255, 246, 247, .76);
}

.city-card form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.city-card form label {
  grid-column: 1 / -1;
}

#eris-room-bar {
  position: fixed;
  top: 12px;
  left: 50%;
  z-index: 2147483647;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 14px;
  color: #33415f;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 38px rgba(48,68,98,.18);
  backdrop-filter: blur(20px);
  font: 700 14px/1.2 "Microsoft YaHei UI", sans-serif;
}

#eris-room-bar b {
  color: #b06e38;
  letter-spacing: .16em;
}

#eris-room-bar a {
  color: #657fbd;
  text-decoration: none;
}

@media (max-width: 680px) {
  .city-card form { grid-template-columns: 1fr; }
  #eris-room-bar { width: calc(100% - 20px); justify-content: space-between; gap: 8px; }
}
