.consent-banner,.consent-panel{position:fixed;z-index:20;right:1rem;bottom:1rem;width:min(38rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.35rem;background:var(--paper-light);color:var(--ink);border:1px solid var(--ink);box-sizing:border-box}
.consent-panel{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);margin:0;max-width:none;max-height:calc(100dvh - 2rem)}
.consent-panel::backdrop{background:rgba(36,53,47,.38)}
.consent-banner[hidden],.consent-panel[hidden],.consent-feedback[hidden],.consent-withdraw[hidden]{display:none!important}
.consent-banner h2,.consent-panel h2{margin:0 2.75rem .65rem 0;font:600 1.55rem/1.2 var(--serif)}
.consent-banner p,.consent-panel p{margin:.65rem 0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}
.consent-links{font-size:.94rem!important}
.consent-close{position:absolute;top:.35rem;right:.35rem;min-width:2.75rem;min-height:2.75rem;padding:.15rem .35rem;background:transparent;border:0;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}
.consent-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}
.consent-actions button{flex:1 1 9rem;min-height:2.75rem;padding:.65rem .7rem;background:var(--paper);border:1px solid var(--ink);color:var(--ink);font:600 1rem/1.25 var(--sans);cursor:pointer}
.consent-actions button:hover,.consent-actions button:active{background:var(--ink);color:var(--paper-light)}
.consent-actions button:disabled{opacity:.65;cursor:wait}
.consent-banner a:focus-visible,.consent-panel a:focus-visible,.consent-actions button:focus-visible,.consent-close:focus-visible,.consent-switch input:focus-visible,.consent-footer-link:focus-visible,.consent-withdraw:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.consent-switch{display:flex;gap:.75rem;align-items:center;margin:1rem 0;min-height:2.75rem;font-weight:700;cursor:pointer}
.consent-switch input{width:1.25rem;height:1.25rem;accent-color:var(--green);flex-shrink:0}
.consent-help{font-size:.94rem!important}
.consent-status{color:var(--ink);min-height:1.4em}
.consent-footer-link,.consent-withdraw{border:0;background:transparent;color:var(--ink);font:600 1rem var(--sans);text-decoration:underline;text-underline-offset:.18em;cursor:pointer;min-height:2.75rem;padding:.4rem}
.consent-withdraw{margin-top:.75rem;text-align:left}
.consent-footer-link:hover,.consent-withdraw:hover{color:var(--rust)}
.preview-notice{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.65rem max(1rem,calc((100% - 1200px)/2));background:var(--ink);color:var(--paper-light);font:400 .94rem/1.4 var(--sans)}
.preview-notice strong,.preview-notice span{display:block}
.preview-notice button{color:inherit;background:transparent;border:0;text-decoration:underline;text-underline-offset:.18em;cursor:pointer;font:inherit;min-height:2.75rem;padding:.25rem}
.preview-notice button:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.consent-feedback{pointer-events:none;position:fixed;z-index:19;right:1rem;bottom:1rem;max-width:min(38rem,calc(100% - 2rem));margin:0;padding:.8rem 1rem;border:1px solid var(--green);background:var(--paper-light);color:var(--ink);font:400 1rem/1.45 var(--sans)}
.consent-error{font-weight:600}
.draft-legal{padding-block:3rem 6rem;max-width:850px}
.draft-badge{display:inline-block;padding:.35rem .55rem;border:1px solid var(--rust);color:var(--ink);font-size:.9rem;font-weight:600}
.draft-legal h1{max-width:20ch;margin-top:1rem}
.draft-legal h2,.draft-legal h3{margin-top:2.5rem}
.draft-legal code,.draft-legal a{overflow-wrap:anywhere}
.draft-legal table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:1rem}
.draft-legal td,.draft-legal th{padding:.75rem;text-align:left;vertical-align:top;border:1px solid var(--line)}
@media(max-width:680px){.consent-banner,.consent-panel{right:.5rem;bottom:.5rem;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:1rem}.consent-panel{top:50%;bottom:auto;left:50%;right:auto}.consent-actions button{flex-basis:100%}.consent-feedback{right:.5rem;bottom:.5rem;max-width:calc(100% - 1rem)}.preview-notice{justify-content:center;text-align:center}.preview-notice button{width:100%}}
@media(prefers-reduced-motion:reduce){.consent-banner,.consent-panel{scroll-behavior:auto}}
@media(forced-colors:active){.consent-banner,.consent-panel,.consent-actions button{border-color:CanvasText}.consent-switch input{appearance:auto}}
