:root {
  --bg: #071019;
  --panel: rgba(10, 20, 31, 0.9);
  --line: rgba(83, 136, 184, 0.28);
  --text: #edf4fb;
  --muted: rgba(220, 232, 244, 0.68);
  --cyan: #71dbff;
  --blue: #3e86d0;
  --green: #19c18b;
  --gold: #d7bd79;
  --red: #ff735c;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  width: 100%;
  height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family:
    "Segoe UI",
    "PingFang SC",
    "Microsoft YaHei",
    sans-serif;
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  background:
    radial-gradient(circle at top, rgba(30, 84, 132, 0.22), transparent 36%),
    radial-gradient(circle at 18% 85%, rgba(15, 122, 112, 0.12), transparent 28%),
    linear-gradient(180deg, #08111b 0%, #050b12 100%);
}

.app-scale-viewport {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  overflow: visible;
}

.app-scale-spacer {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

.app-scale-stage {
  position: absolute;
  top: 0;
  left: 0;
  width: 1900px;
  height: 1204px;
  transform-origin: top left;
}

.app-shell {
  width: 1900px;
  height: 1204px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
  padding: 12px;
}

.demo-frame {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  background:
    radial-gradient(circle at top center, rgba(26, 93, 148, 0.16), transparent 28%),
    linear-gradient(180deg, #0c1621 0%, #09111a 100%);
  border: 1px solid rgba(69, 109, 147, 0.35);
  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.42),
    inset 0 0 0 1px rgba(124, 198, 255, 0.08);
  overflow: hidden;
}

.demo-frame::before,
.demo-frame::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(91, 145, 196, 0.12);
  pointer-events: none;
  z-index: 2;
}

.demo-frame::after {
  inset: 32px 24px 22px;
  border-color: rgba(50, 95, 141, 0.1);
}

