.consent-panel[hidden]{display:none!important}.consent-panel{position:fixed;z-index:var(--layer-consent);right:max(var(--space-6),env(safe-area-inset-right));bottom:max(var(--space-6),env(safe-area-inset-bottom));box-sizing:border-box;width:min(var(--consent-panel-width),calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));overflow:auto;padding:var(--space-6);border:1px solid var(--color-border-strong);background:var(--color-background);color:var(--color-text);box-shadow:var(--shadow-floating-hover);font:var(--type-ui)/var(--leading-ui) var(--font-body);animation:consent-appear var(--duration-panel) ease-out}.consent-panel h2{margin:0 0 var(--space-3);font:var(--font-heading-weight) var(--text-24)/var(--leading-heading) var(--font-heading);letter-spacing:var(--tracking-heading)}.consent-panel p{margin:0 0 var(--space-4);font:inherit}.consent-panel a{color:inherit;text-decoration:underline;text-underline-offset:.16em}.consent-actions{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.consent-actions button{appearance:none;box-sizing:border-box;min-height:var(--control-height);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:0;background:var(--color-background);color:var(--color-text);font:inherit;cursor:pointer;transition:background var(--duration-fast)}.consent-actions button:hover{background:var(--color-surface)}.consent-settings{appearance:none;border:0;border-radius:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:.16em;cursor:pointer;min-height:var(--control-height)}.consent-panel :focus-visible,.consent-settings:focus-visible{outline:2px solid currentColor;outline-offset:var(--space-1)}.gallery-consent-settings{position:fixed;z-index:var(--layer-consent);right:var(--space-4);bottom:max(var(--space-4),env(safe-area-inset-bottom));padding:var(--space-2) var(--space-3);background:var(--color-background);color:var(--color-text);font:var(--type-meta)/var(--leading-ui) var(--font-body);border:1px solid var(--color-border)}@keyframes consent-appear{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.consent-panel{right:var(--space-4);bottom:max(var(--space-4),env(safe-area-inset-bottom));padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.consent-panel{animation:none}.consent-actions button{transition:none}}
