#a247-privacy-choice{position:fixed;z-index:2147482000;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:540px;background:#f7fbf5;color:#172b20;padding:20px;border:1px solid #587b60;border-radius:18px;box-shadow:0 12px 50px #0004;font:15px/1.5 system-ui;max-height:75dvh;overflow:auto}#a247-privacy-choice p{margin:8px 0 14px;color:#314d3b}#a247-privacy-choice a{color:#175e31;text-decoration:underline}#a247-privacy-choice>div{display:flex;gap:12px;flex-wrap:wrap}#a247-privacy-choice button{flex:1;min-height:44px;border:1px solid #587b60;background:#e4efe1;color:#172b20;padding:10px 18px;border-radius:9px;font:600 15px system-ui;cursor:pointer}#a247-privacy-choice button:focus-visible{outline:3px solid #286735;outline-offset:3px}

.policy-agreement{width:min(100% - 32px,660px);margin:40px auto;color:#e8ede7}
.policy-agreement-card{display:grid;gap:20px;padding:32px 36px;background:#181c19;border:1px solid #45544a;border-radius:18px}
.policy-agreement h1{margin:0;font-size:clamp(28px,5vw,36px);line-height:1.2;letter-spacing:-.7px}
.policy-agreement p{margin:0;color:#c1cec4;font-size:16px;line-height:1.65}
.policy-agreement a{color:#b4edbc;text-decoration:underline;text-underline-offset:3px}
.policy-agreement a:hover{color:#e3ffe8}.policy-agreement p a{display:inline}
.policy-agreement .policy-home{justify-self:start;min-height:44px;font-size:14px}
.policy-agreement-check{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:16px;border:1px solid #56695c;border-radius:12px;background:#202922;font-size:15px;line-height:1.55;cursor:pointer}
.policy-agreement-check input{width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:#b4edbc;cursor:pointer}
.policy-agreement-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.policy-agreement-actions button{min-height:48px;margin:0;padding:12px 20px;font-size:15px;white-space:normal}
.policy-agreement-actions .text-button{color:#b4edbc;text-decoration:underline;text-underline-offset:3px}
.policy-agreement [role=alert]{color:#ffbeb5}
.policy-agreement :is(a,button,input):focus-visible{outline:3px solid #c4f9cd;outline-offset:4px}
/* Keep the separate optional choice reachable without covering this gate. */
body:has(.policy-agreement) #a247-privacy-choice{position:static;width:min(100% - 32px,660px);max-width:none;margin:24px auto;max-height:none}
@media(max-width:520px){.policy-agreement{width:calc(100% - 24px);margin:16px auto}.policy-agreement-card{padding:24px 20px;gap:18px}.policy-agreement-actions{display:grid}.policy-agreement-actions button{width:100%}body:has(.policy-agreement) #a247-privacy-choice{width:calc(100% - 24px);margin:20px auto}}
