/* soul.md bots — self-serve setup flow (on the shared torque.css identity) */
.soul-shell{width:min(100%,720px);margin:0 auto;padding:clamp(28px,6vh,56px) var(--pad) 96px}
.soul-intro h1{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:lowercase;letter-spacing:-.01em;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1;margin:12px 0 10px}
.soul-intro p{color:var(--muted);font-weight:300;font-size:1.05rem;max-width:56ch}
.soul-intro .steps{margin-top:18px;color:var(--muted-2);font-size:.86rem;font-weight:300}

.soul-form{margin-top:clamp(32px,5vh,52px);display:flex;flex-direction:column;gap:clamp(30px,5vh,44px)}
.fieldset{border:0;padding:0;margin:0}
.fieldset > legend{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:lowercase;font-size:1.3rem;color:var(--text);margin-bottom:4px;padding:0}
.fieldset > .fs-note{color:var(--muted-2);font-size:.84rem;font-weight:300;margin-bottom:18px}

.field{margin-top:20px}
.field > label.q{display:block;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--text);margin-bottom:10px}
.field .opt-note{color:var(--muted-2);font-weight:300}
.field input[type=text],.field textarea{width:100%;background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);padding:13px 15px;font-family:inherit;font-size:1rem;outline:none;transition:border-color .18s ease}
.field textarea{min-height:96px;resize:vertical;line-height:1.6}
.field input[type=text]:focus,.field textarea:focus{border-color:var(--accent)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.two-up{grid-template-columns:1fr}}

/* chips (single = radio, multi = checkbox) */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;cursor:pointer;border:1px solid var(--line-strong);border-radius:99px;padding:9px 15px;font-size:.9rem;color:var(--muted);transition:border-color .16s ease, color .16s ease, background .16s ease}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:hover{border-color:var(--muted)}
.chip:has(:checked){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
.chip .rec{font-size:.7rem;color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase;margin-left:6px}
.chip:has(:checked) .rec{color:var(--accent)}

/* slider */
.tone-row{display:flex;align-items:center;gap:14px}
.tone-row input[type=range]{flex:1;accent-color:var(--accent)}
.tone-ends{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted-2);margin-top:6px}

.soul-actions{margin-top:8px}
.soul-actions .btn{width:100%;justify-content:center}

/* generated soul.md preview */
.soul-preview{display:none;margin-top:30px}
.soul-preview.on{display:block;animation:fade .35s ease}
.soul-preview .k{font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.soul-preview pre{margin-top:12px;background:var(--panel);border:1px solid var(--hair);border-left:3px solid var(--accent);border-radius:var(--radius);padding:22px 22px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word}

.soul-capture{background:var(--bg-soft);border:1px solid var(--hair);border-radius:var(--radius);padding:24px;margin-top:24px}
.soul-capture label{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.soul-capture input{width:100%;margin-top:12px;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);padding:14px 16px;font-family:inherit;font-size:1rem;outline:none}
.soul-capture input:focus{border-color:var(--accent)}
.soul-capture .btn{width:100%;justify-content:center;margin-top:14px}
.soul-capture .note{margin-top:14px;font-size:.82rem;color:var(--muted-2);font-weight:300}

.soul-upgrade{margin-top:28px;border-top:1px solid var(--hair);padding-top:20px;color:var(--muted);font-size:.92rem;font-weight:300}
.soul-upgrade b{color:var(--accent);font-weight:500}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
