#a247-privacy-choice{position:fixed;z-index:2147482000;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:540px;background:#f5f8fb;color:#17212b;padding:20px;border:1px solid #58697b;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:#313f4d}#a247-privacy-choice a{color:#243a51;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 #58697b;background:#e1e8ef;color:#17212b;padding:10px 18px;border-radius:9px;font:600 15px system-ui;cursor:pointer}#a247-privacy-choice button:focus-visible{outline:3px solid #284667;outline-offset:3px}

.policy-agreement{width:min(100% - 32px,660px);margin:40px auto;color:#edf3fb}
.policy-agreement-card{display:grid;gap:20px;padding:32px 36px;background:#141e2e;border:1px solid #454c54;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:#c1c7ce;font-size:16px;line-height:1.65}
.policy-agreement a{color:#75baff;text-decoration:underline;text-underline-offset:3px}
.policy-agreement a:hover{color:#ecf1f6}.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 #565f69;border-radius:12px;background:#202429;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:#75baff;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:#75baff;text-decoration:underline;text-underline-offset:3px}
.policy-agreement [role=alert]{color:#ffbeb5}
.policy-agreement :is(a,button,input):focus-visible{outline:3px solid #d2deeb;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}}
