/* A small, persistent preference control stays above the download dock. */
.cookie-trigger{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:20px;z-index:75;width:48px;height:48px;display:grid;place-items:center;padding:4px;border-radius:50%;background:rgb(252 252 250 / 94%);box-shadow:0 2px 12px rgb(27 37 49 / 8%);transition:transform .18s}
.cookie-trigger img{width:36px;height:36px;object-fit:contain}
.cookie-trigger:hover{transform:rotate(-8deg)}
html.has-ios-installbar .cookie-trigger{bottom:calc(var(--installbar-space) + 12px)}
html.has-mac-installbar .cookie-trigger{bottom:calc(var(--mac-installbar-space) + 12px)}
.privacy-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);--privacy-padding:24px;padding:var(--privacy-padding);margin:auto;overflow:hidden;border:1px solid var(--ds-border);border-radius:24px;background:var(--ds-paper,var(--paper));color:var(--ink);box-shadow:0 24px 80px rgb(27 37 49 / 18%)}
.privacy-dialog::backdrop{background:rgb(27 37 49 / 35%);backdrop-filter:blur(4px)}
.privacy-dialog form{display:flex;flex-direction:column;max-height:calc(100svh - 32px - var(--privacy-padding) - var(--privacy-padding));max-height:calc(100dvh - 32px - var(--privacy-padding) - var(--privacy-padding))}
.privacy-options{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.privacy-heading{flex-shrink:0;display:flex;gap:12px;align-items:center;margin-bottom:8px}
.privacy-heading>img{width:36px;height:36px;flex:none}
.privacy-heading h2{font:650 23px/1.2 var(--sans);letter-spacing:-.035em;overflow-wrap:normal;text-wrap:initial;flex:1;min-width:0}
#privacy-close{background:transparent;font-size:26px;line-height:1;width:44px;height:44px;flex:none;border-radius:50%;color:var(--muted)}
#privacy-close:hover{background:var(--ds-fill)}
#privacy-description,.privacy-note{font-size:13px;line-height:1.6;color:var(--muted)}
#privacy-description{flex-shrink:0;margin-bottom:20px}
.privacy-category{display:flex;gap:20px;align-items:flex-start;padding-block:20px;border-top:1px solid var(--ds-border);cursor:pointer}
.privacy-category>span{min-width:0;flex:1}
.privacy-category strong{display:block;font-size:16px;font-weight:600;line-height:1.4}
.privacy-category small{display:block;font-size:12px;line-height:1.5;color:var(--ds-accent-text);margin-top:3px}
.privacy-detail{display:block;font-size:13px;line-height:1.65;color:var(--muted);margin-top:10px}
.privacy-toggle{appearance:none;-webkit-appearance:none;width:42px;height:26px;flex:0 0 42px;border:1px solid var(--ds-border-strong);border-radius:20px;background:var(--ds-fill);position:relative;margin:3px 0 0;cursor:pointer;transition:background .15s}
.privacy-toggle::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--ds-raised);box-shadow:0 1px 3px rgb(27 37 49 / 20%);transition:transform .15s}
.privacy-toggle:checked{background:var(--ds-blue-600);border-color:var(--ds-blue-600)}
.privacy-toggle:checked::after{transform:translateX(16px)}
.privacy-toggle:disabled{background:var(--ds-ink-tertiary);border-color:var(--ds-ink-tertiary);cursor:default;opacity:.65}
.privacy-toggle:focus-visible{outline:3px solid var(--ds-accent-text);outline-offset:4px}
.privacy-note{border-top:1px solid var(--ds-border);padding-top:16px}
.privacy-actions{flex-shrink:0;display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:22px;font-size:13px}
.privacy-actions a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
#privacy-save{min-height:44px;padding:12px 18px;border-radius:12px;background:var(--ds-dark-base);color:var(--ds-paper);font-size:14px;font-weight:600;line-height:1.4;text-align:center}
@media(max-width:380px){.privacy-dialog{--privacy-padding:18px}.privacy-heading{gap:8px}.privacy-heading h2{font-size:20px}.privacy-actions{flex-direction:column-reverse;align-items:stretch;gap:18px}.privacy-actions a{text-align:center}}
@media(prefers-reduced-motion:reduce){.cookie-trigger,.privacy-toggle,.privacy-toggle::after{transition:none}.cookie-trigger:hover{transform:none}}
/* Keep the language and legal links clear of the fixed cookie control. */
.footer{padding-bottom:84px}
