:root{--theme-style: classic;--theme-base: #0078d7;--theme-base-rgb: 0, 120, 215;--theme-base-dark: #3896e0;--theme-base-soft: #d1e7f8;--theme-on-base: #ffffff;--theme-on-base-muted: rgba(255,255,255,0.82);--theme-focus: #59a7e5;--theme-success: #16803a;--theme-on-success: #ffffff;--theme-danger: #dc3545;--theme-on-danger: #ffffff;--theme-warning: #f59e0b;--theme-on-warning: #111827;--page-bg: #eef2f6;--page-surface: #ffffff;--page-surface-strong: #f8fbff;--page-text: #1f2933;--page-muted: #607083;--page-line: rgba(31, 41, 51, 0.12);--page-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);--page-radius: 10px;--control-radius: 6px;}
body{--theme-body-bg: linear-gradient(180deg, #eef2f6, #f8fafc 100%);}
* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--page-bg) !important;
}

body {
  min-height: 100vh;
  margin: 0;
  color: var(--page-text) !important;
  background: var(--theme-body-bg) !important;
  font-family: Arial, "Segoe UI", Tahoma, sans-serif !important;
  line-height: 1.45;
}

body > :first-child:not(script):not(style):not(link):not(meta) {
  margin-top: max(0px, env(safe-area-inset-top));
}

h1, h2, h3, h4, h5, h6,
p, label, span, small, strong, li, dt, dd, th, td {
  color: inherit;
}

h1, h2, h3 {
  letter-spacing: 0 !important;
}

a {
  color: var(--theme-base);
}

img, video, canvas, iframe {
  max-width: 100%;
}

.box,
.container,
.profile-card,
.card,
.panel,
.section,
.content,
.main,
.wrapper,
.toolbar,
.controls,
.stats,
.stat-card,
.user-info,
.theme-section,
.groups-section,
.admin-notice,
.executable-warning,
.upload-section,
.file-list,
.messages,
.message,
.chat,
.chat-box,
.sidebar,
.game-container,
.board,
.viewer,
.hero,
.viewer-topbar-card,
.viewer-stage-card,
.viewer-panel,
.viewer-location-card,
.media-trigger,
.media-card,
.lightbox,
.empty-state,
.empty-filter-state,
.status-summary,
.link-info,
pre,
table {
  border-color: var(--page-line) !important;
}

.box,
.container,
.profile-card,
.card,
.panel,
.section,
.content,
.main,
.wrapper,
.toolbar,
.stats,
.stat-card,
.user-info,
.theme-section,
.groups-section,
.upload-section,
.file-list,
.messages,
.chat,
.chat-box,
.sidebar,
.game-container,
.hero,
.viewer-topbar-card,
.viewer-stage-card,
.viewer-panel,
.viewer-location-card,
.media-trigger,
.empty-state,
.empty-filter-state,
.status-summary,
.link-info,
pre,
table {
  background: var(--page-surface) !important;
  border: 1px solid var(--page-line) !important;
  border-radius: var(--page-radius) !important;
  box-shadow: var(--page-shadow) !important;
}

.box,
.container,
.profile-card,
.card,
.panel,
.section,
.content,
.main,
.wrapper,
.upload-section,
.file-list,
.messages,
.chat,
.chat-box,
.sidebar,
.game-container,
.hero,
.viewer-topbar-card,
.viewer-stage-card,
.viewer-panel,
.viewer-location-card,
.empty-state,
.empty-filter-state,
pre,
table {
  color: var(--page-text) !important;
}

.box {
  width: min(540px, calc(100% - 32px)) !important;
  margin: clamp(32px, 8vh, 80px) auto !important;
  padding: 22px !important;
}

.container,
.profile-card,
.card,
.panel,
.content,
.main,
.wrapper,
.hero,
.viewer-topbar-card,
.viewer-stage-card,
.viewer-panel,
.viewer-location-card,
.upload-section,
.file-list,
.messages,
.chat,
.chat-box,
.sidebar,
.game-container,
.empty-state,
.empty-filter-state {
  padding: clamp(16px, 3vw, 28px) !important;
}

body[style] {
  background: var(--theme-body-bg) !important;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.btn,
.button,
.folder,
.back-button,
.lightbox-action,
.results-pill,
.viewer-link-pill,
.zone-action,
a.btn,
a.button,
.box a:not(.z),
a.status-link {
  min-height: 42px;
  border: 1px solid rgba(var(--theme-base-rgb), 0.22) !important;
  border-radius: var(--control-radius) !important;
  background: var(--theme-base) !important;
  color: var(--theme-on-base) !important;
  font: inherit !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(var(--theme-base-rgb), 0.2) !important;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.btn:hover,
.button:hover,
.folder:hover,
.back-button:hover,
.lightbox-action:hover,
.results-pill:hover,
.viewer-link-pill:hover,
.zone-action:hover,
a.btn:hover,
a.button:hover,
.box a:not(.z):hover,
a.status-link:hover,
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
.btn:focus-visible,
.button:focus-visible,
.folder:focus-visible,
.back-button:focus-visible,
.lightbox-action:focus-visible,
.results-pill:focus-visible,
.viewer-link-pill:focus-visible,
.zone-action:focus-visible,
a.btn:focus-visible,
a.button:focus-visible,
.box a:not(.z):focus-visible,
a.status-link:focus-visible {
  background: var(--theme-base-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(var(--theme-base-rgb), 0.28) !important;
  outline: none !important;
}

.back-link,
.z,
.cancel,
.secondary,
.zone-secondary-action,
.lightbox-secondary-action {
  background: #475569 !important;
  color: var(--theme-on-base) !important;
  border-color: rgba(71, 85, 105, 0.26) !important;
  box-shadow: 0 10px 24px rgba(71, 85, 105, 0.16) !important;
}

.back-link:hover,
.z:hover,
.cancel:hover,
.secondary:hover,
.zone-secondary-action:hover,
.lightbox-secondary-action:hover {
  background: #334155 !important;
}

.btn-danger,
button.btn-danger,
.danger,
.delete,
.remove {
  background: var(--theme-danger) !important;
  color: var(--theme-on-danger) !important;
}

.btn-success,
button.btn-success,
.success,
.add {
  background: var(--theme-success) !important;
  color: var(--theme-on-success) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
  background: var(--page-surface-strong) !important;
  color: var(--page-text) !important;
  border: 1px solid var(--page-line) !important;
  border-radius: min(16px, var(--page-radius)) !important;
  box-shadow: none !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
select:focus,
textarea:focus {
  border-color: var(--theme-focus) !important;
  box-shadow: 0 0 0 3px rgba(var(--theme-base-rgb), 0.22) !important;
  outline: none !important;
}

input[type="color"] {
  min-height: 44px;
  padding: 4px !important;
}

.link-info,
.status-summary,
.alert,
.notice,
.info,
.empty-state,
.empty-filter-state {
  color: var(--page-text) !important;
  background: color-mix(in srgb, var(--page-surface-strong), var(--theme-base) 7%) !important;
}

.status-badge,
.badge,
.pill,
.tag,
.play-badge,
.immersive-badge,
.location-badge,
.admin-badge {
  border-radius: 999px !important;
}

.profile-img,
.avatar,
.user-avatar {
  border-color: var(--theme-base) !important;
}

.viewer,
.media-preview,
.lightbox-body,
.viewer-stage,
.viewer-location-map-frame,
canvas,
video,
iframe {
  border-radius: min(18px, var(--page-radius)) !important;
}

.viewer-stage,
.lightbox,
dialog {
  background: rgba(18, 14, 11, 0.94) !important;
  color: var(--theme-on-base) !important;
}

.media-meta span,
.intro,
.viewer-details dt,
.viewer-stage-footer p,
.password-help,
.or-separator,
.admin-indicator,
.muted {
  color: var(--page-muted) !important;
}

table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
}

th {
  background: color-mix(in srgb, var(--page-surface-strong), var(--theme-base) 10%) !important;
  color: var(--page-text) !important;
}

td, th {
  border-color: var(--page-line) !important;
}

@media (max-width: 720px) {
  .box,
  .container,
  .profile-card,
  .card,
  .panel,
  .content,
  .main,
  .wrapper,
  .hero,
  .viewer-topbar-card,
  .viewer-stage-card,
  .viewer-panel,
  .viewer-location-card,
  .upload-section,
  .file-list,
  .messages,
  .chat,
  .chat-box,
  .sidebar,
  .game-container,
  .empty-state,
  .empty-filter-state {
    width: min(100% - 16px, 100%) !important;
    padding: 16px !important;
  }

  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .btn,
  .button,
  .folder,
  .back-button,
  .lightbox-action,
  .results-pill,
  .viewer-link-pill,
  .zone-action,
  a.btn,
  a.button,
  .box a:not(.z),
  a.status-link {
    max-width: 100%;
    white-space: normal;
  }
}



