.shift-privacy { position:fixed; z-index:10000; bottom:max(8px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 24px); color:#17252c; font:13px/1.5 system-ui,sans-serif; }
.shift-privacy nav { display:flex; align-items:center; justify-content:center; gap:12px; background:#f4efe3; padding:4px 12px; border:1px solid #9eaaab; border-radius:12px; box-shadow:0 2px 8px #0003; }
.shift-privacy a { color:#234e5d; text-decoration:underline; }
.shift-privacy button { cursor:pointer; font:inherit; color:inherit; }
.shift-privacy nav button,.shift-privacy-panel p button { background:none; border:0; text-decoration:underline; min-width:48px; min-height:48px; padding:0; }
.shift-privacy-panel { width:400px; max-width:calc(100vw - 24px); box-sizing:border-box; padding:18px; margin:0 auto 8px; border:1px solid #9eaaab; border-radius:12px; background:#f4efe3; box-shadow:0 4px 24px #0004; }
.shift-privacy-panel[hidden],.shift-privacy [hidden] { display:none; }
.shift-privacy-panel strong { font-size:18px; }
.shift-privacy-panel p { margin:8px 0; }
.shift-privacy-actions { display:flex; gap:8px; }
.shift-privacy-actions button { min-height:48px; flex:1; border:1px solid #234e5d; border-radius:6px; background:#fffaf0; padding:8px; font-weight:600; }
.shift-privacy button:focus-visible,.shift-privacy a:focus-visible { outline:3px solid #a76816; outline-offset:3px; }
@media(max-width:600px) { .shift-privacy { bottom:calc(76px + env(safe-area-inset-bottom)); } .shift-privacy nav { font-size:11px; gap:10px; } }
/* In a game dialog, use normal flow so consent never covers game controls. */
.career-dialog .shift-privacy { position:static; transform:none; width:auto; max-width:none; margin:0 20px 24px; }
.career-dialog .shift-privacy-panel { width:100%; max-width:none; }
.career-dialog .shift-privacy nav { flex-wrap:wrap; }
