.deius-free {
  --deius-primary: #312e81;
  --deius-accent: #2563eb;
  --deius-accent-hover: #1d4ed8;
  --deius-accent-soft: #eff6ff;
  --deius-accent-soft-border: #bfdbfe;
  --deius-accent-ring: rgba(37, 99, 235, 0.2);
  --deius-accent-2: #06b6d4;
  --deius-bg-1: #eef2ff;
  --deius-bg-2: #f0fdfa;
  --deius-text: #0f172a;
  --deius-text-soft: #475569;
  --deius-border: #dbeafe;
  --deius-card-bg: rgba(255, 255, 255, 0.92);
  --deius-card-border: #e2e8f0;
  --deius-input-bg: #ffffff;
  --deius-soft-surface: #f8fafc;
  --deius-divider: #f1f5f9;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: linear-gradient(120deg, var(--deius-bg-1), var(--deius-bg-2));
  color: var(--deius-text);
  border-radius: 22px;
  padding: 28px;
  max-width: 980px;
  margin: 0 auto;
  box-shadow: 0 24px 50px rgba(49, 46, 129, 0.1);
  border: 1px solid #e2e8f0;
}

.deius-free__hero h2 {
  margin: 0 0 8px;
  font-size: clamp(1.6rem, 2vw, 2.3rem);
  color: var(--deius-primary);
}

.deius-free__hero p {
  margin: 0 0 24px;
  color: var(--deius-text-soft);
}

.deius-free__card {
  background: var(--deius-card-bg);
  color: var(--deius-text);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  border: 1px solid var(--deius-card-border);
  backdrop-filter: blur(4px);
}

.deius-free__steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.deius-free__step-indicator {
  display: flex;
  align-items: center;
  flex: 1;
}

.deius-free__step-indicator:last-child {
  flex: initial;
}

.deius-free__step-badge {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  background: #e2e8f0;
  font-weight: 700;
  position: relative;
  transition: all .2s ease;
}

.deius-free__step-indicator .deius-free__step-badge::before {
  content: attr(data-step-number);
}

.deius-free__step-indicator[data-step-indicator="1"] .deius-free__step-badge::before { content: '1'; }
.deius-free__step-indicator[data-step-indicator="2"] .deius-free__step-badge::before { content: '2'; }
.deius-free__step-indicator[data-step-indicator="3"] .deius-free__step-badge::before { content: '3'; }
.deius-free__step-indicator[data-step-indicator="4"] .deius-free__step-badge::before { content: '4'; }

.deius-free__step-connector {
  flex: 1;
  height: 4px;
  margin: 0 10px;
  background: #e2e8f0;
  border-radius: 999px;
  transition: background-color .2s ease;
}

.deius-free__step-indicator.is-active .deius-free__step-badge {
  background: var(--deius-accent);
  color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.3);
}

.deius-free__step-indicator.is-completed .deius-free__step-badge,
.deius-free__step-indicator.is-completed .deius-free__step-connector {
  background: var(--deius-accent);
  color: #fff;
}

.deius-free__step-indicator.is-completed .deius-free__step-badge::before {
  content: '✓';
}

.deius-free__step-head {
  text-align: center;
  margin-bottom: 16px;
}

.deius-free__step-title {
  margin: 0;
  font-size: 1.35rem;
}

.deius-free__step-count {
  margin: 4px 0 0;
  color: var(--deius-text-soft);
  font-size: 0.9rem;
}

.deius-free__step {
  display: none;
  gap: 12px;
}

.deius-free__step.is-active {
  display: grid;
}

.deius-free__step h3 {
  margin: 0;
  font-size: 1.2rem;
}

.deius-free__step-intro {
  margin: 0;
  color: var(--deius-text-soft);
  font-size: 0.98rem;
}

.deius-free__conflict-cards {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 12px;
}

.deius-free__conflict-card {
  border: 2px solid var(--deius-card-border);
  border-radius: 14px;
  padding: 18px;
  position: relative;
  display: grid;
  gap: 6px;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  background: var(--deius-input-bg);
}

.deius-free__conflict-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.deius-free__conflict-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  background: #eef2ff;
  color: #1e3a8a;
}

.deius-free__conflict-card:has(input:checked) {
  border-color: var(--deius-accent);
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
  background: var(--deius-accent-soft);
}

.deius-free__conflict-title {
  font-weight: 700;
  color: var(--deius-text);
}

.deius-free__conflict-description {
  font-size: 0.92rem;
  color: var(--deius-text-soft);
}

.deius-free__step label:not(.deius-free__choice-option) {
  display: grid;
  gap: 6px;
  font-size: 0.95rem;
  color: var(--deius-text);
}

.deius-free__label-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.deius-free__icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  background: #e0e7ff;
  color: #312e81;
}

.deius-free__description-tip {
  margin: -2px 0 4px;
  font-size: 0.92rem;
  color: var(--deius-text-soft);
  background: var(--deius-accent-soft);
  border: 1px solid var(--deius-accent-soft-border);
  border-left: 4px solid var(--deius-accent);
  border-radius: 10px;
  padding: 10px 12px;
}

.deius-free__detail-field {
  border-radius: 12px;
  padding: 10px;
  border: 1px solid var(--deius-border);
  background: var(--deius-soft-surface);
  margin: 0;
  min-inline-size: 0;
}

.deius-free__detail-field legend {
  padding: 0;
}

.deius-free__field-intro {
  margin: 8px 0 4px;
  color: #475569;
  font-size: 0.86rem;
  line-height: 1.45;
}

.deius-free__detail-field--parties {
  border-left: 4px solid var(--deius-accent);
}

.deius-free__detail-field--duration {
  border-left: 4px solid #0ea5e9;
}

.deius-free__detail-field--urgency {
  border-left: 4px solid #f97316;
}

.deius-free__detail-field--attempts {
  border-left: 4px solid #14b8a6;
}

.deius-free__choice-group {
  margin: 8px 0 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.deius-free__choice-option {
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: var(--deius-input-bg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  height: 100%;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}

.deius-free__choice-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.deius-free__choice-title {
  font-weight: 700;
  color: var(--deius-text);
}

.deius-free__choice-description {
  font-size: 0.86rem;
  color: var(--deius-text-soft);
  line-height: 1.35;
}

.deius-free__choice-option:has(input:checked) {
  border-color: var(--deius-accent);
  box-shadow: 0 0 0 3px var(--deius-accent-ring);
  background: var(--deius-accent-soft);
  transform: translateY(-1px);
}

.deius-free__choice-option:has(input:focus-visible) {
  border-color: var(--deius-accent);
  box-shadow: 0 0 0 4px var(--deius-accent-ring);
}

.deius-free__step input:not([type="radio"]):not([type="checkbox"]),
.deius-free__step select,
.deius-free__step textarea {
  border: 1px solid #cbd5e1;
  background: var(--deius-input-bg);
  color: var(--deius-text);
  border-radius: 12px;
  padding: 11px 12px;
  font-size: 0.95rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.deius-free__step select {
  appearance: auto;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  color-scheme: light;
  cursor: pointer;
  pointer-events: auto;
}

.deius-free__step select option {
  color: #0f172a;
  background: #ffffff;
}

.deius-free__step input:not([type="radio"]):not([type="checkbox"]):focus,
.deius-free__step select:focus,
.deius-free__step textarea:focus {
  outline: none;
  border-color: var(--deius-accent);
  box-shadow: 0 0 0 4px var(--deius-accent-ring);
}

.deius-free__step textarea {
  min-height: 130px;
  resize: vertical;
}

.deius-free__privacy-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin-top: 6px;
  font-size: 0.9rem;
  color: var(--deius-text-soft);
}

.deius-free__privacy-consent input[type="checkbox"] {
  margin-top: 2px;
  width: 16px;
  height: 16px;
}

.deius-free__privacy-consent a {
  color: var(--deius-accent);
  text-decoration: underline;
}

.deius-free__actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--deius-divider);
}

.deius-btn {
  border: none;
  border-radius: 10px;
  background: var(--deius-accent);
  color: #fff;
  padding: 10px 18px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .2s ease;
}

.deius-btn span[aria-hidden="true"] {
  margin-inline: 4px;
}

.deius-btn:hover {
  background: var(--deius-accent-hover);
}

.deius-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

.deius-btn--ghost {
  background: transparent;
  color: var(--deius-text-soft);
}

.deius-btn--ghost:hover {
  background: var(--deius-soft-surface);
}

.deius-free__status {
  min-height: 24px;
  margin: 10px 0 0;
  color: var(--deius-text);
}

.deius-free__status.is-error {
  color: #b91c1c;
}


.deius-free__result-title {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.35rem;
}

.deius-free__result-title-icon {
  font-size: 1.15rem;
}

.deius-free__result {
  display: grid;
  gap: 10px;
  margin: 14px 0 18px;
}

.deius-free__result-item {
  background: var(--deius-soft-surface);
  border: 1px solid var(--deius-border);
  border-radius: 12px;
  padding: 12px;
}

.deius-free__result-item-title {
  margin: 0 0 4px;
  font-size: 1.08rem;
  color: var(--deius-primary);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.deius-free__result-item-icon {
  font-size: 1rem;
}

.deius-free__result-item p,
.deius-free__result-item ul {
  margin: 0;
}

.deius-free.deius-free--dark {
  --deius-primary: #fafafa;
  --deius-accent: #b366ff;
  --deius-accent-hover: #9d45f7;
  --deius-accent-soft: #3b1b52;
  --deius-accent-soft-border: #8b5cf6;
  --deius-accent-ring: rgba(179, 102, 255, 0.25);
  --deius-bg-1: #08080b;
  --deius-bg-2: #18181b;
  --deius-text: #fafafa;
  --deius-text-soft: #f4f4f5;
  --deius-border: #71717a;
  --deius-card-bg: rgba(39, 39, 42, 0.95);
  --deius-card-border: #52525b;
  --deius-input-bg: #27272a;
  --deius-soft-surface: #3f3f46;
  --deius-divider: #71717a;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
  border-color: #52525b;
}

.deius-free.deius-free--dark,
.deius-free.deius-free--dark h1,
.deius-free.deius-free--dark h2,
.deius-free.deius-free--dark h3,
.deius-free.deius-free--dark h4,
.deius-free.deius-free--dark h5,
.deius-free.deius-free--dark h6,
.deius-free.deius-free--dark p,
.deius-free.deius-free--dark span,
.deius-free.deius-free--dark label,
.deius-free.deius-free--dark li {
  color: var(--deius-text);
}

.deius-free.deius-free--dark .deius-free__hero p,
.deius-free.deius-free--dark .deius-free__step-count,
.deius-free.deius-free--dark .deius-free__step-intro,
.deius-free.deius-free--dark .deius-free__conflict-description,
.deius-free.deius-free--dark .deius-free__description-tip,
.deius-free.deius-free--dark .deius-btn--ghost {
  color: var(--deius-text-soft);
}

.deius-free.deius-free--dark .deius-free__step-badge,
.deius-free.deius-free--dark .deius-free__step-connector {
  background: #52525b;
  color: #fafafa;
}

.deius-free.deius-free--dark .deius-free__conflict-icon {
  background: #581c87;
  color: #fdf4ff;
}

.deius-free.deius-free--dark .deius-free__choice-option {
  border-color: #52525b;
  background: #27272a;
}

.deius-free.deius-free--dark .deius-free__choice-option:has(input:checked) {
  border-color: #b366ff;
  background: #3b1b52;
}

.deius-free.deius-free--dark .deius-free__step input:not([type="radio"]):not([type="checkbox"]),
.deius-free.deius-free--dark .deius-free__step select,
.deius-free.deius-free--dark .deius-free__step textarea {
  border-color: #52525b;
  color: var(--deius-text);
  background: var(--deius-input-bg);
}

.deius-free.deius-free--dark .deius-free__step input:not([type="radio"]):not([type="checkbox"])::placeholder,
.deius-free.deius-free--dark .deius-free__step textarea::placeholder {
  color: #e4e4e7;
}

.deius-free.deius-free--dark .deius-free__step select option {
  color: var(--deius-text);
  background: var(--deius-input-bg);
}

.deius-free.deius-free--dark .deius-free__step select {
  color-scheme: dark;
}

.deius-free.deius-free--dark .deius-free__result-item p,
.deius-free.deius-free--dark .deius-free__result-item li {
  color: var(--deius-text);
}
@media (max-width: 767px) {
  .deius-free__choice-group {
    grid-template-columns: 1fr;
  }
}
