:root { color: #29231f; background: #f4efe7; font-family: system-ui, sans-serif; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.card { max-width: 42rem; background: #fffdf9; padding: clamp(1.4rem, 5vw, 3rem); border-radius: 1.2rem; box-shadow: 0 1rem 3rem #3d2b1b1c; }
.eyebrow { color: #8a4b28; font-weight: 700; letter-spacing: .04em; }
h1 { font-size: clamp(2rem, 6vw, 3.3rem); line-height: 1.05; margin: .5rem 0 1rem; }
.intro { font-size: 1.15rem; line-height: 1.5; }
fieldset { border: 0; border-top: 1px solid #ded4c8; padding: 1.2rem 0 .3rem; margin-top: 1rem; }
legend { font-weight: 700; font-size: 1.05rem; padding: 0 .2rem 0 0; }
label { display: block; padding: .65rem; margin: .35rem 0; border-radius: .5rem; background: #f5f0e9; cursor: pointer; }
label:has(input:checked) { outline: 2px solid #b65e2f; background: #fff1e7; }
input { accent-color: #8a4b28; margin-right: .55rem; }
button { width: 100%; margin-top: 1.5rem; border: 0; border-radius: .6rem; padding: .9rem 1rem; background: #8a4b28; color: white; font-weight: 700; font-size: 1rem; cursor: pointer; }
button:hover { background: #66351f; }
.result { margin-top: 1.5rem; padding: 1.2rem; border-left: .35rem solid #d47b3f; background: #fff1e7; line-height: 1.5; }
.result h2 { margin-top: 0; }
footer { position: fixed; bottom: .7rem; color: #6a5a4c; font-size: .85rem; text-align: center; }
