:root{
  --mw-gold-1:#D4AF37;
  --mw-gold-2:#F5D27A;
  --mw-gold-border:#B8893C;

  --mw-text:rgba(255,255,255,.92);
  --mw-muted:rgba(255,255,255,.68);

  --mw-radius:18px;
  --mw-field: rgba(0,0,0,.28);
  --mw-field-border: rgba(184,137,60,.28);
}

*{ box-sizing:border-box; }
html, body{ height:100%; }

body{
  margin:0;
  min-height:100vh;
  color:var(--mw-text);
  background:
    radial-gradient(900px 600px at 20% 0%, rgba(212,175,55,.14), rgba(0,0,0,0) 55%),
    radial-gradient(700px 520px at 80% 18%, rgba(245,210,122,.10), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, #070707 0%, #030303 100%);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

.wrap{
  width:min(1100px, 94vw);
  margin:0 auto;
  padding:54px 0;
}

.top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

h1{
  margin:0;
  letter-spacing:.14em;
  font-weight:900;
  font-size:28px;
}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(184,137,60,.28);
  border-radius:var(--mw-radius);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  padding:26px;
}

.back{
  color:var(--mw-muted);
  text-decoration:none;
  border-bottom:1px dashed rgba(245,210,122,.35);
}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

@media (max-width:900px){
  .grid{ grid-template-columns:1fr; }
}

label{
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.78);
  margin:0 0 6px;
}

input, select, textarea{
  width:100%;
  background: var(--mw-field);
  color:var(--mw-text);
  border:1px solid var(--mw-field-border);
  border-radius:14px;
  padding:12px 12px;
  outline:none;
}

textarea{
  min-height:110px;
  resize:vertical;
}

.full{ grid-column:1 / -1; }

.section{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(184,137,60,.18);
}

.section-title{
  margin:0 0 10px;
  font-weight:900;
  letter-spacing:.18em;
  color:rgba(245,210,122,.95);
  font-size:13px;
  text-transform:uppercase;
}

.hint{
  margin:10px 0 0;
  color:var(--mw-muted);
  font-size:13px;
  line-height:1.55;
}

.note{
  margin-top:10px;
  font-size:12px;
  color:rgba(255,255,255,.55);
  line-height:1.5;
}

.actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.btn{
  cursor:pointer;
  padding:13px 16px;
  border-radius:14px;
  border:1px solid rgba(184,137,60,.55);
  background: linear-gradient(180deg, var(--mw-gold-2), var(--mw-gold-1));
  color:#1a1200;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow: 0 10px 24px rgba(212,175,55,.15);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn.secondary{
  background: rgba(0,0,0,.25);
  border:1px solid rgba(184,137,60,.35);
  color:var(--mw-text);
  box-shadow:none;
}

.hidden{ display:none !important; }

/* Step bar */
.stepbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(184,137,60,.22);
  background: rgba(0,0,0,.16);
}
.step{
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(184,137,60,.18);
  color:rgba(255,255,255,.68);
  background: rgba(0,0,0,.20);
}
.step.done{
  color:rgba(255,255,255,.78);
  border-color:rgba(184,137,60,.28);
}
.step.active{
  color:#1a1200;
  background: linear-gradient(180deg, var(--mw-gold-2), var(--mw-gold-1));
  border-color:rgba(184,137,60,.55);
  font-weight:900;
}

/* Additional toggle */
.expand-wrap{ margin: 10px 0 16px; }
.expand-btn{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(184,137,60,.28);
  background: rgba(0,0,0,.22);
  color:rgba(255,255,255,.88);
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:800;
  cursor:pointer;
}
.expand-btn:hover{ border-color:rgba(184,137,60,.40); }

/* Portal hub */
.hub-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}
@media (max-width:760px){
  .hub-row{ grid-template-columns:1fr; }
}
.hub-title{
  margin:0 0 8px;
  letter-spacing:.12em;
  font-weight:900;
  font-size:28px;
}
.hub-text{
  margin:0 0 18px;
  color:var(--mw-muted);
  line-height:1.55;
}
.tiny{
  margin-top:14px;
  font-size:12px;
  color:rgba(255,255,255,.55);
}
