html, body { height:100%; margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; background:#070912; color:#eaf0ff; }
a { color: inherit; }
.wrap { min-height:100%; display:grid; place-items:center; padding: 18px; }
.card {
  width: min(980px, 100%);
  background: rgba(16, 20, 40, .78);
  border: 1px solid rgba(130, 160, 255, .20);
  border-radius: 18px;
  box-shadow: 0 20px 70px rgba(0,0,0,.55);
  overflow: hidden;
}
.header { padding: 16px 18px 10px; border-bottom: 1px solid rgba(130,160,255,.16); display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.header h1 { margin:0; font-size: 20px; }
.header .status { font-size: 13px; opacity: .9; min-height: 18px; }
.status.bad { color:#ffb4b4; }
.status.good { color:#b9ffcc; }
.grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 14px; padding: 16px 18px 18px; }
.left, .right { display:flex; flex-direction:column; gap: 12px; }
.panel { padding: 12px; border: 1px solid rgba(130,160,255,.16); border-radius: 16px; background: rgba(255,255,255,.03); }
.panel h2 { margin: 0 0 10px; font-size: 14px; opacity: .9; }
.form { display:grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.field { display:grid; gap: 6px; }
.field.wide { grid-column: 1/-1; }
label { font-size: 12px; opacity: .9; }
input[type="text"], input[type="password"] {
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(130,160,255,.20);
  background: rgba(255,255,255,.06);
  color: inherit;
  outline: none;
}
input[type="color"] { width: 100%; height: 42px; padding: 0; border-radius: 12px; border: 1px solid rgba(130,160,255,.20); background: rgba(255,255,255,.06); }
input[type="range"] { width: 100%; }
select {
  padding: 10px 10px;
  padding-right: 34px;
  border-radius: 12px;
  border: 1px solid rgba(130,160,255,.22);
  background: rgba(8,12,28,.65);
  color: inherit;
  outline: none;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(234,240,255,.85) 50%),
    linear-gradient(135deg, rgba(234,240,255,.85) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
select:focus {
  border-color: rgba(160,190,255,.55);
  box-shadow: 0 0 0 3px rgba(120,160,255,.18);
}
select option { background: #0b1020; color: #eaf0ff; }
.row { display:flex; gap: 10px; align-items:center; flex-wrap: wrap; }
.actions { display:flex; justify-content:flex-end; gap: 10px; margin-top: 12px; }
button {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(130,160,255,.22);
  background: rgba(255,255,255,.06);
  color: inherit;
  cursor: pointer;
}
button.primary { background: rgba(120,160,255,.22); }
button.ghost { background: rgba(255,255,255,.03); }
.preview {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 16px;
  border: 1px solid rgba(130,160,255,.16);
  overflow: hidden;
  background: rgba(0,0,0,.25);
}
.preview canvas { width: 100%; height: 100%; display:block; }
.small { font-size: 12px; opacity: .8; line-height: 1.4; }
@media (max-width: 860px) { .grid { grid-template-columns: 1fr; } }
