:root{--page:#425624;--fg:#111;--card:#ffffff;--brand:#000000;--accent:#cbf292;--muted:#f3f4f6;}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--page);color:var(--fg)}
.container{max-width:760px;margin:0 auto;padding:24px;min-height:100vh;display:grid;place-items:center}
.card{width:100%;background:var(--card);border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(0,0,0,0.12)}
h1,h2{margin:0 0 12px 0}.progress{height:10px;background:var(--muted);border-radius:999px;overflow:hidden;margin:16px 0 24px}
.progress > div{height:100%;width:0;background:var(--accent);transition:width .3s ease}.actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}
button,.btn{background:var(--brand);color:#fff;border:none;padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:800;text-decoration:none;display:inline-block}
button.secondary{background:#e5e7eb;color:#111}button:hover,.btn:hover{}button:active,.btn:active{}
label.option{display:block;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:8px 0;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}
label.option:hover{border-color:var(--accent);background:rgba(203,242,146,0.18)}label.option:has(input:checked){border-color:var(--accent);background:var(--accent);color:#111}label.option input{margin-right:10px}
.small{font-size:.9rem}.center{text-align:center}.range-wrap{margin:12px 0}.range-wrap input[type=range]{width:100%}.q-title{font-size:1.35rem;font-weight:800;}
@media (max-width:420px){.card{padding:18px;border-radius:14px}button,.btn{padding:12px 14px}}