html, body {
  margin: 0;
  padding: 0;
  font-family: 'Segoe UI', 'Inter', system-ui, -apple-system, sans-serif;
  background: radial-gradient(circle at 20% 20%, rgba(40,60,100,0.1), rgba(6,7,12,0.96)), #06070c !important;
  color: #f0f4ff;
  min-height: 100vh;
  width: 100% !important;
}

body {
  min-width: 100% !important;
  display: block;
}

.demo-page {
  width: 100%;
  max-width: 1100px;
  margin: 40px auto 40px;
  padding: 0 20px 60px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.demo-hero { text-align: center; }
.demo-hero h1 { margin: 6px 0 8px; }
.demo-hero p { margin: 0; color: #b6c5d8; }

.controls {
  width: 100%;
  max-width: 720px;
  padding: 16px;
  background: rgba(15,18,26,0.8);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}

.controls label { display: block; margin-top: 8px; font-size: 13px; color: #dbe5f5; font-weight: 600; }
.controls input, .controls select { width: 100%; padding: 12px; border-radius: 8px; border: 1px solid #2c3444; background: #0f1320; color: #f0f4ff; min-height: 46px; }
.controls button { padding: 10px 14px; border: none; border-radius: 8px; background: linear-gradient(135deg, #4fa3ff, #3a8dd9); color: white; cursor: pointer; font-weight: 700; box-shadow: 0 8px 20px rgba(0,0,0,0.25); }
.controls .row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.controls .row-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.controls .row-4 { display: grid; grid-template-columns: 2fr 0.8fr 1fr 0.6fr; gap: 10px; align-items: end; }
.controls .btn-row { display: flex; gap: 10px; margin-top: 10px; }

.demo-overlay {
  margin: 10px auto 0;
  display: flex;
  justify-content: center;
  width: min(100%, 900px);
}

.demo-overlay .overlay-root {
  margin: 0 auto;
}

@media (max-width: 760px) {
  .controls .row-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
