:root{
  --edge: rgba(30, 98, 221, 0.35);
  --edge-strong: rgba(30, 98, 221, 0.55);
  --card-bg: rgba(255,255,255,0.82);
  --chip-bg: rgba(255,255,255,0.85);
  --text: #0f172a;
  --muted: #475569;
  --radius-xl: 22px;
  --shadow: 0 10px 30px rgba(0,0,0,.15);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans";
  background:#0b1220;
}

/* Background image + darken overlay */
.bg-overlay{
  position:fixed; inset:0;
  background:
    linear-gradient(to bottom, rgba(10,15,25,.55), rgba(10,15,25,.35)),
    url('tropics.jpg') center/cover no-repeat fixed;
  filter:saturate(1.05) brightness(.82);
  z-index:-1;
}

/* Topbar */
.topbar{
  max-width:1200px; margin:18px auto 8px; padding:0 16px;
}
.chips{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:center;
}
.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  border:2px solid var(--edge); background:var(--chip-bg);
  box-shadow: var(--shadow);
  color:inherit; text-decoration:none; backdrop-filter: blur(6px);
}
.pill.select select{
  appearance:none; border:0; background:transparent; font:inherit; padding:0 2px; outline:none; cursor:pointer;
}

/* Brand as its own pill */
.brand-pill{
  flex-direction:column; align-items:flex-start; gap:2px;
  cursor:default;
}
.brand-title{ font-weight:800; letter-spacing:.2px }
.brand-sub{ color:#334155; font-size:13px }

/* Container + cards */
.container{ max-width:980px; margin:22px auto 80px; padding:0 16px; }
.card{
  position:relative;
  background: var(--card-bg);
  border:2px solid var(--edge);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  padding:26px;
  backdrop-filter: blur(6px);
}
.card + .card{ margin-top:18px; }
.card:hover{ border-color: var(--edge-strong); }

h1{ margin:4px 0 18px; font-size:32px; line-height:1.1 }
h2{ margin:0 0 14px; font-size:22px }

.grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.label{ font-weight:700; color:var(--muted); font-size:14px }

input, select{
  width:100%;
  padding:14px 14px;
  border-radius:14px;
  border:2px solid var(--edge);
  outline:none; background:#fff; font:inherit;
}
input:focus, select:focus{
  border-color:var(--edge-strong);
  box-shadow:0 0 0 3px rgba(30,98,221,.15)
}

.actions{ display:flex; gap:12px; align-items:center; margin-top:6px }
.btn{
  padding:12px 18px; border-radius:14px; border:2px solid var(--edge);
  background:#fff; cursor:pointer; font-weight:700; text-decoration:none; color:inherit;
}
.btn.primary{
  background:#ff7a12; color:#fff; border-color:#ff7a12;
  box-shadow:0 8px 18px rgba(255,122,18,.26);
}
.btn.primary:hover{ filter:brightness(.98) }
.btn.ghost{ background:#fff; }

.hint{ color:var(--muted); margin:10px 2px 0 }

/* Notes */
.notes{ padding-top:18px; }
.rules{ display:flex; flex-wrap:wrap; gap:12px; }
.rules .chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:999px;
  border:2px solid var(--edge); background:#fff;
}

/* Responsive */
@media (max-width:760px){
  .grid{ grid-template-columns:1fr }
  .container{ margin-top:12px }
}
