body.voice-open{overflow:hidden}
#road-experience{border:1px solid #c9c3b5;border-radius:4px;background:#f5f1e8;color:#24271f;width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;box-sizing:border-box;overflow:auto;box-shadow:0 20px 80px #0006;font-family:inherit}
#road-experience::backdrop{background:#151a17b8}
#road-experience [hidden]{display:none!important}
.voice-head{position:sticky;top:0;background:#f5f1e8;z-index:2;padding:22px 28px 18px;border-bottom:1px solid #d3ccbc}
.voice-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.voice-top img{width:150px;height:auto;filter:brightness(.2)}
.voice-top button,.voice-secondary{background:transparent;border:1px solid #7d8471;border-radius:3px;padding:10px 14px;color:#24271f;cursor:pointer;font:inherit;min-height:44px}
#voice-title{font-size:clamp(28px,5vw,42px);line-height:1.08;margin:20px 0 12px;font-family:Georgia,serif;letter-spacing:-1px}
.voice-disclosure{font-size:14px;line-height:1.5;margin:0;max-width:62ch}
.voice-disclosure a,#voice-results{color:#324f27;text-decoration:underline}
#voice-questions{padding:6px 28px}
#voice-questions fieldset{border:0;border-bottom:1px solid #d3ccbc;margin:0;padding:24px 0;min-width:0}
#voice-questions legend{font-weight:600;font-size:18px;line-height:1.4;padding:0;float:left;width:100%;margin-bottom:14px}
#voice-questions legend span{font-size:12px;letter-spacing:1px;color:#636c52;display:block;margin-bottom:5px}
.voice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;clear:both}
.voice-options label{display:flex;gap:10px;align-items:center;border:1px solid #b9bda9;border-radius:3px;padding:12px;min-height:48px;box-sizing:border-box;cursor:pointer;font-size:14px;line-height:1.35;background:#fffcf5}
.voice-options label:has(input:checked){border-color:#425631;background:#e5ebda;color:#243a1d}
.voice-options input{accent-color:#425631;flex:none;width:17px;height:17px;margin:0}
#road-experience :focus-visible{outline:3px solid #557d40;outline-offset:3px}
.voice-options label:has(input:focus-visible){outline:3px solid #557d40;outline-offset:2px}
.voice-options label:has(input:disabled){cursor:default}
.voice-foot{position:sticky;bottom:0;z-index:2;padding:16px 28px;background:#f5f1e8;border-top:1px solid #d3ccbc}
.voice-meter{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:600}
.voice-meter progress{flex:1;height:6px;accent-color:#425631}
#voice-status{font-size:13px;line-height:1.4;margin:10px 0}
.voice-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#voice-submit{border:0;border-radius:3px;background:#425631;color:#fff;padding:13px 18px;font:inherit;font-size:14px;cursor:pointer;min-height:46px}
#voice-submit:disabled{opacity:.55;cursor:default}
#voice-legacy{margin:18px 28px;padding:16px;border:1px solid #9aa585;font-size:14px;line-height:1.5}
#voice-legacy p{margin:0 0 12px}
@media(max-width:520px){.voice-head{padding:16px}.voice-top img{width:125px}#voice-questions{padding:0 16px}.voice-options{grid-template-columns:1fr}.voice-foot{padding:12px 16px}#voice-legacy{margin:16px}.voice-disclosure{font-size:13px}#voice-title{margin-top:14px}#voice-questions legend{font-size:17px}}
@media(max-height:600px){.voice-head{position:relative}.voice-foot{position:relative}}
