:root{--purple:#632b79;--purple-dark:#422050;--green:#daf2bb;--green-dark:#335c27;--ink:#28232c;--muted:#625a68;--paper:#fff;--line:#ddd7e1;--bg:#f7f5fa}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.7 Inter,"Noto Sans",sans-serif}button,input,select{font:inherit}a{color:var(--purple)}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #559731;outline-offset:4px}[hidden]{display:none!important}
.topbar{max-width:1150px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.topbar>a:last-child{font-size:.9rem;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-decoration:none;color:var(--ink)}.brand img{width:36px;height:36px;object-fit:contain}
.layout{max-width:1150px;margin:20px auto 65px;padding:0 28px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:58px}.context{align-self:start;position:sticky;top:28px;padding-top:16px}.eyebrow{font-size:.85rem;font-weight:700;color:var(--purple);letter-spacing:.05em;margin:0 0 15px}h1{font-family:Georgia,serif;font-size:2.55rem;font-weight:500;line-height:1.35;margin:0 0 20px}h2{font-family:Georgia,serif;font-size:1.8rem;line-height:1.45;margin:0 0 12px;font-weight:500}h3{font-size:1.15rem;line-height:1.6;margin:0 0 10px}p{margin:0 0 18px}.small{font-size:.875rem;color:var(--muted)}.muted{color:var(--muted)}.progress-label{display:flex;justify-content:space-between;font-size:.875rem;margin-top:30px;color:var(--purple)}progress{display:block;width:100%;height:8px;accent-color:var(--purple);border:0;border-radius:8px;margin:10px 0 24px}progress::-webkit-progress-bar{background:#e6deeb;border-radius:8px}progress::-webkit-progress-value{background:var(--purple);border-radius:8px}.privacy{font-size:.875rem;color:var(--muted);border-left:3px solid #a3cd7c;padding-left:15px}
.workspace{background:var(--paper);border-top:6px solid var(--purple);padding:34px 38px;min-width:0;box-shadow:0 12px 35px #30193809}.question{border:0;border-bottom:1px solid var(--line);padding:24px 0;margin:0;min-width:0}.question legend{float:left;width:100%;font-size:1.04rem;font-weight:600;line-height:1.7;margin-bottom:16px}.question legend span{font-size:.875rem;display:block;color:var(--purple);font-weight:400;margin-bottom:3px}.choices{display:flex;gap:14px;clear:both}.choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:9px 24px;cursor:pointer;min-height:48px}.choice:has(input:checked){background:var(--green);border-color:var(--green-dark)}input[type=radio],input[type=checkbox]{width:19px;height:19px;accent-color:var(--purple);margin:0;flex:none}.actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap;margin-top:30px}button{border:1px solid var(--purple);background:var(--purple);color:white;border-radius:8px;padding:12px 22px;font-weight:600;cursor:pointer;min-height:48px}button:hover{background:var(--purple-dark)}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:var(--purple)}.secondary:hover{background:#f2edf5}.error{color:#963642;background:#fff2f2;padding:12px;margin-top:16px}.field{display:block;margin:20px 0;font-weight:600}.field input,.field select{display:block;width:100%;margin-top:7px;border:1px solid #a99bad;border-radius:6px;background:white;padding:12px;color:var(--ink)}.field .muted{font-weight:400;font-size:.875rem}.check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:.9rem}.check input{margin-top:5px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.text-button{border:0;background:none;color:var(--purple);text-decoration:underline;padding:8px 0;font-size:.9rem}.text-button:hover{background:none}.result-topic{padding:25px 0;border-bottom:1px solid var(--line)}.result-topic ul{padding-left:20px;color:var(--muted);font-size:.9rem}.result-topic li{margin-bottom:8px}.practice{background:var(--green);padding:24px;margin:28px 0}.support{border-left:4px solid var(--purple);background:#f2ecf7;padding:22px;margin:24px 0}details{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:.875rem}summary{cursor:pointer;color:var(--purple);margin-bottom:12px}footer{font-size:.875rem;color:var(--muted);text-align:center;padding:0 24px 32px}
@media(max-width:860px){.layout{grid-template-columns:1fr;gap:24px;max-width:710px}.context{position:static;padding:0}.context h1{font-size:2rem}.context>.small{margin-bottom:12px}.context .privacy{margin-bottom:0}.progress-label{margin-top:15px}.workspace{padding:28px}.topbar{max-width:710px}}@media(max-width:480px){.topbar{padding:18px}.topbar>a:last-child{max-width:130px;text-align:right;font-size:.875rem}.layout{padding:0 16px;margin-top:8px}.workspace{padding:25px 20px}h2{font-size:1.5rem}.choice{flex:1;justify-content:center;padding:9px 12px}.actions button{flex:1}.actions{gap:10px}.practice{padding:20px}}
@media print{body{background:white}.topbar,.context,.actions,details,footer{display:none}.layout{display:block;margin:0;padding:0;max-width:none}.workspace{border:0;box-shadow:none;padding:0}.practice,.support{background:none;break-inside:avoid}.result-topic{break-inside:avoid}a{color:inherit;text-decoration:none}}
