.saq-app { --saq-fg:#1f2937; --saq-accent:var(--gold); --saq-accent-2:var(--gold); --saq-border:#e5e7eb; max-width:760px; margin:40px auto; color:var(--saq-fg); font-family:inherit; }
.saq-card { background:linear-gradient(180deg,#fff 0%,#fcfbff 100%); border:1px solid var(--saq-border); border-radius:24px; padding:28px; box-shadow:0 12px 40px rgba(15,23,42,.08); }
.saq-kicker { font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--saq-accent); font-weight:700; margin-bottom:10px; }
.saq-progress-wrap { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.saq-progress { flex:1; height:12px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.saq-progress span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--saq-accent),#c084fc); transition:width .25s ease; border-radius:999px; }
.saq-progress-text { min-width:52px; font-weight:600; font-size:.95rem; }
.saq-step h2, .saq-step h3 { margin:0 0 14px; line-height:1.2; }
.saq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.saq-field {
    min-width: 0;
}

.saq-field--full {
    grid-column: 1 / -1;
}


.saq-field label { display:block; font-weight:600; margin-bottom:8px; }
.saq-field input {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 16px;
}

.saq-field input:focus {
    outline: none;
    border-color: #000;
}

.saq-field input::placeholder { color:#9ca3af; opacity:1; }
.saq-disclaimer { font-size:.95rem; color:#4b5563; }
.saq-question-meta { font-size:.95rem; color:#6b7280; margin-bottom:8px; }
.saq-answers { display:grid; gap:12px; margin:20px 0 28px; }
.saq-answer { display:block; border:1px solid var(--saq-border); border-radius:18px; padding:18px 18px 18px 54px; position:relative; cursor:pointer; transition:all .2s ease; background:#fff; }
.saq-answer:hover { transform:translateY(-1px); box-shadow:0 8px 26px rgba(124,58,237,.08); border-color:#d8b4fe; }
.saq-answer.is-selected { border-color:var(--saq-accent); background:var(--saq-accent-2); box-shadow:0 8px 26px rgba(124,58,237,.12); }
.saq-answer input { position:absolute; left:18px; top:22px; transform:scale(1.15); }
.saq-actions { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.saq-btn { display:inline-flex; align-items:center; justify-content:center; border:0; text-decoration:none; cursor:pointer; border-radius:999px; padding:14px 22px; font-weight:700; transition:transform .15s ease, opacity .15s ease; }
.saq-btn:hover { transform:translateY(-1px); }
.saq-btn:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.saq-btn-primary { background:var(--saq-accent); color:#fff; }
.saq-btn-secondary { background:#eef2ff; color:#312e81; }
.saq-message { border-radius:18px; padding:18px; }
.saq-message-info { background:#eff6ff; color:#1d4ed8; }
.saq-message-error { background:#fef2f2; color:#b91c1c; }
@media (max-width:640px){ .saq-card{padding:20px;border-radius:20px;} .saq-grid{grid-template-columns:1fr;} .saq-actions{flex-direction:column;} .saq-btn{width:100%;} }

.saq-intro-error, .saq-quiz-error { margin: 0 0 16px; }
.saq-result-copy { margin-bottom: 18px; }

.saq-check-row { display:flex; align-items:flex-start; gap:10px; margin: 6px 0 18px; font-weight:600; }
.saq-check-row input { margin-top:3px; }
.saq-result-notice { margin-bottom: 18px; }
