@keyframes cc-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cc-fade-in{from{opacity:0}to{opacity:1}}@keyframes cc-drop-in{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}#cc-banner.cc-visible{display:block;position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--panel,#202023);box-shadow:0 -10px 40px rgba(0,0,0,.40);padding:18px 24px;animation:cc-slide-up .4s cubic-bezier(.22,1,.36,1)}#cc-banner.cc-visible::before{content:"";position:absolute;left:0;right:0;top:-36px;height:36px;pointer-events:none;background:linear-gradient(180deg,transparent,var(--panel,#202023))}.cc-banner__inner{max-width:var(--container,1180px);margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cc-banner__text{flex:1;min-width:220px}.cc-banner__title{font-family:"Oxanium","Segoe UI",sans-serif;font-size:14px;font-weight:700;color:var(--text,#f0f0f1);margin:0 0 5px;letter-spacing:.04em;text-transform:uppercase}.cc-banner__desc{font-size:13px;color:var(--muted,#c0c0c4);margin:0;line-height:1.55}.cc-banner__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex-shrink:0}.cc-btn{font-family:inherit;font-size:13px;font-weight:600;border-radius:6px;padding:9px 18px;cursor:pointer;border:none;white-space:nowrap;line-height:1;transition:opacity .15s ease,background .15s ease,color .15s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.cc-btn:focus-visible{outline:2px solid var(--crimson,#ed2938);outline-offset:2px}.cc-btn--primary{background:var(--crimson,#ed2938);color:#fff}.cc-btn--primary:hover{opacity:.85}.cc-btn--secondary{background:transparent;color:var(--text,#f0f0f1);border:1px solid var(--border-2,#363639)}.cc-btn--secondary:hover{background:var(--bg-2,#1b1b1e)}.cc-btn--ghost{background:transparent;color:var(--muted,#c0c0c4);padding-left:8px;padding-right:8px}.cc-btn--ghost:hover{color:var(--text,#f0f0f1)}.cc-link{color:var(--crimson,#ed2938);text-decoration:none}.cc-link:hover{text-decoration:underline}.cc-link:focus-visible{outline:2px solid var(--crimson,#ed2938);outline-offset:2px;border-radius:2px}#cc-overlay.cc-visible{display:flex;position:fixed;inset:0;z-index:9100;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.72);animation:cc-fade-in .2s ease}.cc-prefs{background:var(--panel,#202023);border:1px solid var(--border,#2a2a2e);border-radius:var(--radius,10px);width:100%;max-width:520px;max-height:90dvh;display:flex;flex-direction:column;box-shadow:var(--shadow,0 18px 60px rgba(0,0,0,.5));animation:cc-drop-in .28s cubic-bezier(.22,1,.36,1)}.cc-prefs__header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 0;flex-shrink:0}.cc-prefs__title{font-family:"Oxanium","Segoe UI",sans-serif;font-size:16px;font-weight:700;color:var(--text,#f0f0f1);margin:0;letter-spacing:.04em}.cc-prefs__close{background:none;border:none;cursor:pointer;color:var(--muted-2,#8a8a8d);padding:6px;border-radius:4px;line-height:0;transition:color .15s,background .15s;flex-shrink:0}.cc-prefs__close:hover{color:var(--text,#f0f0f1);background:var(--bg-2,#1b1b1e)}.cc-prefs__close:focus-visible{outline:2px solid var(--crimson,#ed2938);outline-offset:2px}.cc-prefs__body{padding:16px 22px;overflow-y:auto;flex:1}.cc-prefs__body::-webkit-scrollbar{width:4px}.cc-prefs__body::-webkit-scrollbar-track{background:transparent}.cc-prefs__body::-webkit-scrollbar-thumb{background:var(--border-2,#363639);border-radius:4px}.cc-prefs__intro{font-size:13px;color:var(--muted,#c0c0c4);margin:0 0 18px;line-height:1.6}.cc-category{border:1px solid var(--border,#2a2a2e);border-radius:var(--radius-sm,8px);padding:14px 16px;margin-bottom:10px;transition:border-color .2s}.cc-category:last-child{margin-bottom:0}.cc-category:has(input:checked:not(:disabled)){border-color:rgba(237,41,56,.35)}.cc-category__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.cc-category__info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-category__name{font-size:13.5px;font-weight:700;color:var(--text,#f0f0f1)}.cc-category__badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(237,41,56,.12);color:var(--crimson,#ed2938);padding:2px 8px;border-radius:20px;border:1px solid rgba(237,41,56,.22)}.cc-category__desc{font-size:12.5px;color:var(--muted-2,#8a8a8d);margin:0;line-height:1.6}.cc-toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;cursor:pointer}.cc-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.cc-toggle__track{position:absolute;inset:0;border-radius:20px;background:var(--border-2,#363639);transition:background .2s ease}.cc-toggle__track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--steel,#8a8a8d);transition:left .2s ease,background .2s ease}.cc-toggle input:checked+.cc-toggle__track{background:var(--crimson,#ed2938)}.cc-toggle input:checked+.cc-toggle__track::after{left:21px;background:#fff}.cc-toggle input:focus-visible+.cc-toggle__track{outline:2px solid var(--crimson,#ed2938);outline-offset:3px}.cc-toggle--locked{cursor:not-allowed;opacity:.55}.cc-toggle--locked .cc-toggle__track{background:var(--crimson,#ed2938)}.cc-toggle--locked .cc-toggle__track::after{left:21px;background:#fff}.cc-prefs__footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border,#2a2a2e);flex-shrink:0;flex-wrap:wrap}.theme-light #cc-banner.cc-visible{background:var(--panel,#f0eeec);border-top-color:var(--border,#d4d0cc)}.theme-light .cc-category{border-color:var(--border,#d4d0cc)}.theme-light .cc-prefs{background:var(--panel,#f0eeec)}@media(max-width:640px){#cc-banner.cc-visible{padding:16px}.cc-banner__inner{flex-direction:column;align-items:stretch;gap:14px}.cc-banner__actions{flex-direction:column}.cc-btn--primary,.cc-btn--secondary{text-align:center}.cc-prefs__footer{flex-direction:column-reverse}.cc-prefs__footer .cc-btn{width:100%}}@media(prefers-reduced-motion:reduce){#cc-banner.cc-visible,#cc-overlay.cc-visible,.cc-prefs{animation:none}}