.fz-cc-banner{position:fixed;z-index:200;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);background:var(--color-neutral-100);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.fz-cc-banner.is-open{opacity:1;visibility:visible;transform:none}.fz-cc-banner__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6);max-width:1180px;margin:0 auto}.fz-cc-banner__text{flex:1 1 460px;margin:0;font-size:14px;line-height:1.55;color:color-mix(in srgb,var(--color-text) 82%,transparent)}.fz-cc-banner__text strong{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:16px;color:var(--color-text);display:block;margin-bottom:2px}.fz-cc-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.fz-cc-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:#fff0;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--space-2) calc(var(--space-3) * 1.2);transition:background .15s ease,border-color .15s ease}.fz-cc-btn:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.fz-cc-btn--solid{color:var(--color-neutral-100);background:var(--color-accent);border-color:var(--color-accent)}.fz-cc-btn--solid:hover{background:var(--color-accent-600);border-color:var(--color-accent-600)}.fz-cc-btn:focus-visible,.fz-cc-toggle input:focus-visible+.fz-cc-toggle__slider{outline:2px solid var(--color-accent);outline-offset:2px}.fz-cc-modal{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,#201f1d 55%,transparent);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}.fz-cc-modal.is-open{opacity:1;visibility:visible}.fz-cc-modal__inner{width:100%;max-width:620px;max-height:86vh;overflow-y:auto;background:var(--color-neutral-100);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6)}.fz-cc-modal__title{font-size:24px;margin:0 0 var(--space-2)}.fz-cc-modal__head p{margin:0;font-size:14px;line-height:1.55;color:color-mix(in srgb,var(--color-text) 68%,transparent)}.fz-cc-modal__body{display:flex;flex-direction:column;margin:var(--space-6) 0}.fz-cc-cat{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-divider)}.fz-cc-cat:last-child{border-bottom:1px solid var(--color-divider)}.fz-cc-cat__title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;margin-bottom:2px}.fz-cc-cat__desc{margin:0;font-size:13px;line-height:1.5;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.fz-cc-toggle{position:relative;flex:none;margin-top:2px}.fz-cc-toggle input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;width:100%;height:100%}.fz-cc-toggle input:disabled{cursor:default}.fz-cc-toggle__slider{display:block;width:42px;height:24px;background:var(--color-neutral-300);border-radius:999px;transition:background .18s ease}.fz-cc-toggle__slider::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform .18s ease}.fz-cc-toggle input:checked+.fz-cc-toggle__slider{background:var(--color-accent)}.fz-cc-toggle input:checked+.fz-cc-toggle__slider::after{transform:translateX(18px)}.fz-cc-toggle input:disabled+.fz-cc-toggle__slider{opacity:.55}.fz-cc-modal__foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}@media (max-width:640px){.fz-cc-banner{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);padding:var(--space-3)}.fz-cc-banner__actions{width:100%;margin-left:0}.fz-cc-banner__actions .fz-cc-btn{flex:1 1 auto}.fz-cc-modal__inner{padding:var(--space-4)}.fz-cc-modal__foot .fz-cc-btn{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){.fz-cc-banner,.fz-cc-modal,.fz-cc-toggle__slider,.fz-cc-toggle__slider::after{transition:none}}