/* All hosts opt into candidate-design.css; this file owns layout only. */
.privacy-panel {position:fixed;z-index:12000;bottom:1rem;right:1rem;width:min(34rem,calc(100% - 2rem));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--cd-border);border-radius:18px;background:var(--cd-reading);color:var(--cd-text);box-shadow:var(--cd-reading-depth);font:400 17px/1.45 var(--cd-font)}
.privacy-panel[hidden],.privacy-panel [hidden] {display:none!important}
.privacy-panel h2 {font-size:24px;line-height:1.2;font-weight:600;margin:0 0 12px}
.privacy-panel p {margin:12px 0}
.privacy-panel a {color:inherit;text-decoration:underline;text-underline-offset:3px}
.privacy-panel input {width:18px;height:18px;margin:0;vertical-align:middle;accent-color:var(--cd-focus)}
.privacy-panel label {display:flex;align-items:center;gap:10px;min-height:44px}
.privacy-panel :is(input,a):focus-visible {outline:2px solid var(--cd-focus);outline-offset:3px}
.privacy-actions {display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0}
.privacy-actions>.cd-button {flex:1 1 9rem}
.privacy-panel [data-privacy-close] {background:none;box-shadow:none;color:var(--cd-secondary);text-decoration:underline;padding-inline:0;margin-top:8px;font-weight:400}
.privacy-panel [data-privacy-close]:is(:hover,:active) {background:none;box-shadow:none;color:var(--cd-text);transform:none}
@media(max-width:500px) {.privacy-panel {bottom:.5rem;right:.5rem;width:calc(100% - 1rem);padding:20px}.privacy-actions {gap:8px}}
.legal-links{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;justify-content:center;padding:1.2rem;font:400 .8125rem/1.5 var(--cd-font);color:var(--cd-muted);line-height:1.5}.legal-links a,.legal-links button{color:inherit}.legal-links button{font:inherit;border:0;padding:0;background:none;text-decoration:underline;cursor:pointer}
.pt-finale .legal-links{pointer-events:auto;max-width:44rem;margin-top:auto;margin-bottom:120px;flex-shrink:0}
@media(max-width:900px){
 /* The final scene has no next-section arrow; its footer can use that space. */
 .particle-theory .pt-finale{bottom:-60px}
 .pt-finale .legal-links{margin-top:24px;margin-bottom:0}
}

/* Keep legal links at the page end without stretching the content or covering it. */
body.cd-workspace{display:flex;flex-direction:column;min-height:100dvh}
.cd-workspace .app-shell{width:100%;flex-shrink:0}
/* The app shell is layer 1. Its fixed mobile dock/menu must paint above the
   footer as it scrolls past, even though the footer is later in the DOM. */
.cd-workspace .workspace-legal-footer{position:relative;z-index:0;margin-top:auto;flex-shrink:0;width:100%}
@media(max-width:900px){
 /* Welcome hides the bottom navigation, so it does not need that reserved space. */
 body.cd-workspace[data-workspace-section=welcome]{padding-bottom:env(safe-area-inset-bottom,0px)}
}
body.cd-onboarding{min-height:100dvh}
.cd-onboarding>.legal-links{margin-top:auto;flex-shrink:0}
