.consent-panel{z-index:2000;background:var(--card-bg);border:1px solid #80808040;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.85rem;width:min(24rem,100vw - 3rem);padding:1.5rem;animation:.35s cubic-bezier(.16,1,.3,1) both consent-panel-in;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 18px 40px #0000002e}@keyframes consent-panel-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}.consent-head{align-items:center;gap:.6rem;display:flex}.consent-icon{color:var(--accent-color);flex-shrink:0;display:flex}.consent-head h2{font-size:1.15rem}.consent-text{color:var(--secondary-text);font-size:.875rem;line-height:1.55}.consent-policy{color:var(--text-color);text-underline-offset:3px;font-size:.8rem;-webkit-text-decoration:underline #80808099;text-decoration:underline #80808099}.consent-policy:hover{color:var(--text-color);-webkit-text-decoration-color:var(--accent-color);text-decoration-color:var(--accent-color)}.consent-actions{gap:.6rem;width:100%;display:flex}.consent-btn{color:var(--text-color);font-family:var(--font-display);text-align:center;background:0 0;border:1px solid #80808066;border-radius:10px;flex:1 1 0;padding:.7rem .9rem;font-size:.8rem;font-weight:600;line-height:1.2;transition:border-color .25s,background-color .25s}.consent-btn:hover{border-color:var(--accent-color);background:rgb(var(--accent-rgb) / .08)}.consent-btn-quiet{color:var(--secondary-text);font-family:var(--font-body);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline}.consent-btn-quiet:hover{color:var(--text-color)}.consent-modal{z-index:3000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;justify-content:center;align-items:center;padding:1.5rem;animation:.25s both consent-fade-in;display:flex;position:fixed;inset:0}@keyframes consent-fade-in{0%{opacity:0}to{opacity:1}}.consent-dialog{background:var(--bg-color);border:1px solid #80808033;border-radius:20px;width:100%;max-width:34rem;max-height:calc(100dvh - 3rem);padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) both consent-dialog-in;overflow-y:auto;box-shadow:0 25px 50px -12px #00000059}@keyframes consent-dialog-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.consent-dialog-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.consent-dialog-head h2{font-size:1.6rem}.consent-close{color:var(--text-color);background:0 0;border:0;padding:4px;display:flex}.consent-categories{flex-direction:column;gap:1.35rem;margin:1.75rem 0 2rem;display:flex}.consent-row{justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.consent-row-text{flex-direction:column;gap:.2rem;display:flex}.consent-row-title{font-family:var(--font-display);font-size:.95rem;font-weight:600}.consent-row-desc{color:var(--secondary-text);font-size:.8rem;line-height:1.45}.consent-always{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-text);font-size:.72rem;font-weight:500}.consent-switch{appearance:none;background:gray;border-radius:999px;flex-shrink:0;width:44px;height:24px;margin:.15rem 0 0;transition:background-color .25s;position:relative}.consent-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.consent-switch:checked{background:var(--accent-color)}.consent-switch:checked:after{transform:translate(20px)}.consent-switch:disabled{opacity:.55}.consent-foot{gap:.75rem;display:flex}.footer-consent-link{color:inherit;font:inherit;background:0 0;border:0;padding:0;transition:color .3s}.footer-consent-link:hover{color:var(--text-color)}.consent-panel :focus-visible,.consent-modal :focus-visible,.footer-consent-link:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}@media (max-width:480px){.consent-panel{width:auto;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:20px 20px 0 0;animation-name:consent-sheet-in;bottom:0;left:0;right:0}@keyframes consent-sheet-in{0%{transform:translateY(100%)}to{transform:none}}.consent-dialog{padding:1.5rem}.consent-foot{flex-direction:column}}
