.privacy-open{display:inline-block;min-height:44px;padding:8px 0;border:0;background:none;font:inherit;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.privacy-panel{position:fixed;z-index:60;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) 240px 88px;align-items:center;gap:8px 16px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:12px max(16px,calc((100vw - 1200px)/2));border-top:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 -3px 14px #203b3010;font:16px/1.45 var(--sans)}
.privacy-panel:focus{outline:3px solid var(--gold);outline-offset:-3px}.privacy-panel :is(button,summary,a):focus-visible{outline:3px solid var(--gold);outline-offset:2px}.privacy-copy{min-width:0;margin:0}.privacy-copy strong{font-weight:650}.privacy-panel a{text-decoration:underline;text-underline-offset:3px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.privacy-actions button{flex:1 1 6em;overflow-wrap:anywhere;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--green);border-radius:7px;background:var(--paper);color:var(--green);font:600 16px/1.4 var(--sans)}.privacy-actions button:hover{background:var(--sage)}
.privacy-details{min-width:0}.privacy-details summary{overflow-wrap:anywhere;display:list-item;list-style-position:inside;width:max-content;max-width:100%;min-height:48px;padding:12px 2px;cursor:pointer;font-size:16px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.privacy-details[open]{grid-column:1/-1;grid-row:2}.privacy-info{max-width:80ch;padding:4px 0 8px;line-height:1.55;overflow-wrap:anywhere}.privacy-info p+p{margin-top:10px}
.privacy-status{grid-column:1/-1;margin:0;font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.privacy-status:empty{display:none}.privacy-close{grid-column:1/-1;justify-self:start;min-height:44px;padding:8px 0;border:0;background:none;font:inherit;font-size:15px;text-decoration:underline;text-underline-offset:3px}
/* Extra scroll room keeps the page footer reachable while the fixed strip is open. */
body:has(.privacy-panel:not([hidden]))::after{content:"";display:block;height:96px;pointer-events:none}
body:has(.privacy-panel:not([hidden]) .privacy-details[open])::after,body:has(.privacy-panel:not([hidden]) .privacy-status:not(:empty))::after{height:calc(100dvh - 24px)}
@media(max-width:760px){.privacy-panel{bottom:calc(90px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) 88px;gap:8px;padding:12px;max-height:calc(100dvh - 114px - env(safe-area-inset-bottom,0px))}.privacy-copy{grid-column:1/-1}.privacy-actions{grid-column:1}.privacy-details{grid-column:2}.privacy-details[open]{grid-column:1/-1;grid-row:auto}.privacy-actions button{padding-inline:8px}body:has(.privacy-panel:not([hidden]))::after{height:144px}body:has(.privacy-panel:not([hidden]) .privacy-details[open])::after,body:has(.privacy-panel:not([hidden]) .privacy-status:not(:empty))::after{height:calc(100dvh - 114px - env(safe-area-inset-bottom,0px))}}
@media(max-width:340px){.privacy-panel{grid-template-columns:minmax(0,1fr) 80px;padding-inline:10px;column-gap:6px}.privacy-actions{gap:6px}.privacy-actions button{padding-inline:6px}}
