:root {
  --jet: hsl(0 0% 3%);
  --bg: var(--jet);
  --surface-a: hsl(0 0% 8%);
  --surface-b: hsl(0 0% 7%);
  --surface-hover: hsl(0 0% 12%);
  --line: hsl(0 0% 18%);
  --line-soft: hsl(0 0% 13%);
  --text: #ffffff;
  --text-dim: hsl(0 0% 66%);
  --text-faint: hsl(0 0% 46%);
  --accent: #cc0000;
  --accent-bright: #ff2400;
  --accent-rgb: 204, 0, 0;
  --green: #5e9e69;
  --red: #cc6b6b;
  --ease: cubic-bezier(0.16,1,0.3,1);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Inter', sans-serif; min-height: 100vh; }
.hidden { display: none !important; }

.bg-grid {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 100%);
}
.bg-vignette {
  position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse 60% 40% at 85% -5%, rgba(255, 255, 255, 0.08), transparent 60%);
}

.rp-wrap { max-width: 560px; margin: 0 auto; padding: 40px 20px 60px; position: relative; z-index: 5; }
.rp-back { display: inline-flex; align-items: center; gap: 6px; color: var(--text-faint); text-decoration: none; font-size: 12.5px; margin-bottom: 24px; transition: color 0.25s var(--ease); }
.rp-back:hover { color: var(--text-dim); }

.rp-card {
  background: linear-gradient(180deg, var(--surface-a) 0%, var(--jet) 100%);
  border: 1px solid var(--line); border-radius: 20px; padding: 30px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);
}
.rp-header { display: flex; gap: 14px; margin-bottom: 26px; }
.rp-header i { font-size: 20px; color: var(--text); margin-top: 4px; }
.rp-header h1 { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 800; margin: 0 0 6px; letter-spacing: -0.01em; }
.rp-header p { font-size: 13px; color: var(--text-faint); margin: 0; line-height: 1.5; }

.rp-types { display: flex; gap: 8px; margin-bottom: 22px; }
.rp-type {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 14px 6px; background: var(--surface-b); border: 1px solid var(--line);
  border-radius: 12px; color: var(--text-faint); cursor: pointer; font-size: 12px;
  font-family: 'Inter', sans-serif; font-weight: 600; transition: all 0.25s var(--ease);
}
.rp-type i { font-size: 16px; }
.rp-type:hover { border-color: var(--line-soft); color: var(--text-dim); }
.rp-type.active { background: rgba(255, 255, 255, 0.1); color: var(--text); border-color: var(--text); }

.rp-field { margin-bottom: 18px; }
.rp-field label { display: block; font-size: 11px; font-weight: 700; color: var(--text-faint); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.06em; }
.rp-field input, .rp-field select, .rp-field textarea {
  width: 100%; background: rgba(0,0,0,0.3); border: 1px solid var(--line);
  border-radius: 10px; padding: 12px 14px; color: var(--text); font-size: 14px;
  font-family: 'Inter', sans-serif; outline: none; transition: border-color 0.25s var(--ease);
}
.rp-field input:focus, .rp-field select:focus, .rp-field textarea:focus { border-color: var(--text); box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.08); }
.rp-field textarea { resize: vertical; }
.rp-field select {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px !important;
  cursor: pointer;
}

.rp-submit {
  width: 100%; display: flex; align-items: center; justify-content: center; gap: 9px;
  background: var(--text); color: var(--bg); border: none; border-radius: 100px;
  padding: 14px; font-size: 14px; font-weight: 700; cursor: pointer;
  font-family: 'Inter', sans-serif; transition: all 0.3s var(--ease);
}
.rp-submit:hover { background: var(--text); color: var(--bg); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(255, 255, 255, 0.2); }
.rp-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.rp-logged-info { text-align: center; font-size: 12px; color: var(--text-faint); margin-top: 14px; }

.sz-toast { background: var(--surface-a); border: 1px solid var(--line); border-radius: 12px; padding: 13px 18px; display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; max-width: 320px; box-shadow: 0 12px 32px rgba(0,0,0,0.4); }
#sz-toast-container { position: fixed; top: 20px; right: 20px; z-index: 999; display: flex; flex-direction: column; }
