/* Assessment wizard styles — matches theme.css design language */

.assess-wrapper {
  min-height: calc(100vh - 81px);
  background: var(--bg);
  padding: 56px 24px 80px;
}

.assess-container {
  max-width: 680px;
  margin: 0 auto;
}

/* Step indicator */
.step-indicator {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-faint);
}
.step-item.active .step-num {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.step-label {
  font-size: 12px;
  color: var(--fg-faint);
  white-space: nowrap;
}
.step-item.active .step-label { color: var(--accent); font-weight: 500; }
.step-line {
  flex: 1;
  height: 1px;
  background: var(--border);
  margin: 0 8px;
  margin-bottom: 20px;
}

/* Card */
.assess-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 48px 48px 40px;
}

.assess-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px;
}

.assess-headline {
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--fg);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.assess-subhead {
  font-size: 16px;
  color: var(--fg-muted);
  line-height: 1.6;
  margin-bottom: 36px;
}

/* Mode toggle */
.input-mode-toggle {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}
.mode-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg);
  font-size: 14px;
  font-weight: 500;
  color: var(--fg-muted);
  cursor: pointer;
  transition: all 0.15s;
}
.mode-btn.active {
  border-color: var(--accent);
  background: var(--accent-light);
  color: var(--accent);
}
.mode-btn:hover { border-color: var(--fg-faint); }

/* Input panels */
.input-panel { display: block; }
.input-panel.hidden { display: none; }

.input-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--fg);
  margin-bottom: 10px;
}

.assess-input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--fg);
  background: var(--surface);
  outline: none;
  transition: border-color 0.15s;
}
.assess-input:focus { border-color: var(--accent); }
.assess-input::placeholder { color: var(--fg-faint); }

.assess-textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--fg);
  background: var(--surface);
  outline: none;
  resize: vertical;
  line-height: 1.6;
  transition: border-color 0.15s;
}
.assess-textarea:focus { border-color: var(--accent); }
.assess-textarea::placeholder { color: var(--fg-faint); }

.input-hint {
  margin-top: 8px;
  font-size: 13px;
  color: var(--fg-faint);
  line-height: 1.5;
}

.form-actions { margin-top: 28px; }
.assess-submit { width: 100%; font-size: 16px; padding: 16px; }

.assess-error {
  background: #fdecea;
  border: 1px solid #f5c6c1;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 14px;
  color: #c0392b;
  margin-bottom: 24px;
}

/* Trust bar */
.assess-trust {
  text-align: center;
  margin-top: 24px;
  font-size: 13px;
  color: var(--fg-faint);
}

@media (max-width: 640px) {
  .assess-card { padding: 32px 24px 28px; }
  .assess-headline { font-size: 26px; }
}