:root{
  --bg1:#0b0b14;
  --bg2:#111827;
  --card: rgba(255,255,255,0.06);
  --line: rgba(255,255,255,0.10);
  --text:#e5e7eb;
  --muted:#a1a1aa;
  --brand:#c084fc;
  --brand2:#8b5cf6;
  --shadow: 0 18px 60px rgba(0,0,0,0.45);
  --radius: 18px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", Arial, "Apple SD Gothic Neo", sans-serif;
  color:var(--text);
  background: #0b0b14;
}

a{ color: var(--brand); text-decoration:none; }
a:hover{ color:#e9d5ff; }

.dw-bg{
  background:
    radial-gradient(1200px 600px at 15% 20%, rgba(192,132,252,0.25), transparent 55%),
    radial-gradient(1000px 700px at 85% 30%, rgba(139,92,246,0.18), transparent 60%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
}

.dw-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 22px;
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,0.18);

  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.dw-brand{ display:flex; flex-direction:column; gap:2px; }
.dw-logo-link{
  font-weight:900;
  letter-spacing:0.6px;
  color:var(--brand);
  text-decoration:none;
  font-size:18px;
}
.dw-sub{ font-size:12px; color:var(--muted); }

.dw-nav{ display:flex; gap:10px; align-items:center; }

.dw-link{
  color: var(--muted);
  font-size:14px;
  padding:10px 12px;
  border-radius:12px;
}
.dw-link:hover{ color: var(--text); background: rgba(255,255,255,0.06); }

.dw-btn, .dw-btn-secondary{
  border:0;
  cursor:pointer;
  padding:10px 14px;
  border-radius: 14px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.dw-btn{
  color:#0b0b14;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  box-shadow: 0 10px 30px rgba(192,132,252,0.25);
}
.dw-btn:hover{ filter: brightness(1.03); }

.dw-btn-secondary{
  color: var(--text);
  background: rgba(255,255,255,0.08);
  border: 1px solid var(--line);
}
.dw-btn-secondary:hover{ background: rgba(255,255,255,0.11); }

.dw-label{ display:flex; flex-direction:column; gap: 6px; font-size:14px; }
.dw-input{
  height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.25);
  color: var(--text);
  outline: none;
}
.dw-input:focus{
  border-color: rgba(192,132,252,0.6);
  box-shadow: 0 0 0 3px rgba(192,132,252,0.18);
}

.dw-error{
  min-height: 18px;
  color: #ffb4b4;
  font-size: 13px;
  margin-top: 4px;
}

.dw-muted{ color: var(--muted); font-size: 13px; }

code{
  color:#fff;
  background: rgba(255,255,255,0.08);
  padding:2px 6px;
  border-radius:8px;
  border:1px solid var(--line);
}