.analytics-preferences{position:fixed;z-index:10000;inset:auto 12px 12px;background:#f7f5ef;color:#123f3c;border:1px solid #123f3c;border-radius:12px;padding:20px;box-shadow:0 8px 32px #123f3c24;max-height:85dvh;overflow:auto;font-size:16px;line-height:1.5}.analytics-preferences h2{margin:0 0 12px;font-size:22px}.analytics-preferences p{margin:0 0 12px}.analytics-preferences a{color:inherit;text-decoration:underline}.analytics-actions{display:flex;flex-wrap:wrap;gap:8px}.analytics-actions button{flex:1 1 150px;min-height:44px;padding:10px 14px;border:1px solid #123f3c;border-radius:4px;background:#f7f5ef;color:#123f3c;font:inherit;cursor:pointer}.analytics-actions button:focus-visible{outline:3px solid #123f3c;outline-offset:3px}@media(min-width:700px){.analytics-preferences{left:auto;right:24px;bottom:24px;width:460px}}

.analytics-footer-control{display:block;background:transparent;border:0;padding:10px 0;min-height:44px;text-align:left;color:inherit;font:inherit;font-size:16px;cursor:pointer}.analytics-footer-control:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.analytics-purposes{margin:0 0 12px;padding-left:21px}
.analytics-purposes li{margin:4px 0;line-height:1.5}
.analytics-data{border-top:1px solid #123f3c30;margin-bottom:12px}
.analytics-data>summary{min-height:44px;padding:10px 0;cursor:pointer}
.analytics-data>summary:focus-visible{outline:3px solid #123f3c;outline-offset:3px}
/* The inline link keeps its look but gets a 44 px tall tap area. */
.analytics-preferences a{display:inline-block;padding:10px 0;margin:-10px 0}
/* Phones: a compact bar along the bottom edge (at most 30% of a 390 x 844 screen). The heading and the choices stay in
   view; the explanation scrolls inside the bar. Accept and Reject sit side by side at the same size; Close moves to
   the top right corner. */
@media(max-width:699px){
 .analytics-preferences{inset:auto 0 0;display:flex;flex-direction:column;max-height:30dvh;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:12px 12px 0 0;box-shadow:0 -8px 32px #123f3c24}
 .analytics-preferences h2{flex:none;margin:0 0 4px;padding:10px 72px 0 0;font-size:18px;line-height:1.3}
 .analytics-body{flex:1 1 auto;min-height:3em;overflow:auto;overscroll-behavior:contain}
 .analytics-body>:last-child{margin-bottom:0}
 .analytics-preferences p,.analytics-purposes{margin:0 0 8px}
 .analytics-data{margin-bottom:8px}
 .analytics-actions{flex:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:10px}
 .analytics-actions button{padding:8px 10px;line-height:1.25}
 .analytics-actions [data-choice=analytics]{grid-column:1/-1}
 .analytics-actions [data-choice=close]{position:absolute;top:6px;right:8px;min-width:44px;padding:8px 10px;border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:3px}
}
@media(max-width:699px) and (max-height:700px){.analytics-preferences{max-height:50dvh}}
/* While more explanation sits below the fold, its last line fades out as a hint to scroll. */
@keyframes analytics-more{0%,96%{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent);mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}100%{-webkit-mask-image:none;mask-image:none}}
@supports (animation-timeline:scroll()){@media(max-width:699px){.analytics-body,html[data-motion-paused=true] .analytics-body{animation:analytics-more linear both!important;animation-timeline:scroll(self block)!important}}}
