:root{
	--acc-bg:#101010;--acc-text:#d6d6d6;--acc-title:#fff;--acc-border:#2a2a2a;--acc-link:#f28c00;
	--acc-accept-bg:#f28c00;--acc-accept-text:#fff;--acc-accept-border:#f28c00;
	--acc-reject-bg:#f28c00;--acc-reject-text:#fff;--acc-reject-border:#f28c00;
	--acc-customise-bg:transparent;--acc-customise-text:#f28c00;--acc-customise-border:#f28c00;
	--acc-toggle-on:#f28c00;--acc-toggle-off:#4b4b4b;--acc-overlay:#000;--acc-width:520px;--acc-mx:20px;--acc-my:20px;--acc-mm:12px;
}
.animix-cc-banner,.animix-cc-modal,.animix-cc-revisit,.animix-cc-overlay{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
.animix-cc-banner *,.animix-cc-modal *{box-sizing:border-box}

/* ---- banner ---- */
.animix-cc-banner{position:fixed;z-index:999999;background:var(--acc-bg);color:var(--acc-text);border:1px solid var(--acc-border);border-radius:6px;padding:24px 28px;width:var(--acc-width);max-width:calc(100vw - 24px);box-shadow:0 8px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.animix-cc-banner.is-visible{opacity:1;visibility:visible;transform:none}
.animix-cc-banner .animix-cc-title{color:var(--acc-title);font-size:20px;font-weight:700;margin:0 0 12px}
.animix-cc-banner .animix-cc-desc{font-size:15px;margin:0 0 20px}
.animix-cc-desc a,.animix-cc-none a{color:var(--acc-link);text-decoration:underline}

/* distance from the screen edge (Banner > Distance from edge) */
.animix-cc-pos-bottom-left{left:var(--acc-mx);bottom:var(--acc-my);max-width:calc(100vw - var(--acc-mx) * 2)}
.animix-cc-pos-bottom-right{right:var(--acc-mx);bottom:var(--acc-my);max-width:calc(100vw - var(--acc-mx) * 2)}
.animix-cc-pos-top-left{left:var(--acc-mx);top:var(--acc-my);max-width:calc(100vw - var(--acc-mx) * 2)}
.animix-cc-pos-top-right{right:var(--acc-mx);top:var(--acc-my);max-width:calc(100vw - var(--acc-mx) * 2)}
.animix-cc-anim-slide.animix-cc-pos-bottom-left,.animix-cc-anim-slide.animix-cc-pos-bottom-right,.animix-cc-anim-slide.animix-cc-pos-bottom{transform:translateY(24px)}
.animix-cc-anim-slide.animix-cc-pos-top-left,.animix-cc-anim-slide.animix-cc-pos-top-right,.animix-cc-anim-slide.animix-cc-pos-top{transform:translateY(-24px)}
.animix-cc-anim-none{transition:none}

/* full-width bar */
.animix-cc-banner.animix-cc-pos-bottom,.animix-cc-banner.animix-cc-pos-top{left:0;right:0;width:100%;max-width:100%;border-radius:0;border-width:1px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 32px}
.animix-cc-pos-bottom{bottom:0}
.animix-cc-pos-top{top:0}
.animix-cc-pos-bottom .animix-cc-desc,.animix-cc-pos-top .animix-cc-desc{margin:0}
.animix-cc-pos-bottom .animix-cc-title,.animix-cc-pos-top .animix-cc-title{margin-bottom:6px}
.animix-cc-pos-bottom .animix-cc-text,.animix-cc-pos-top .animix-cc-text{flex:1}
.animix-cc-pos-bottom .animix-cc-btns,.animix-cc-pos-top .animix-cc-btns{flex:0 0 auto;margin:0}

/* popup */
.animix-cc-popup{left:50%;top:50%;margin:0;transform:translate(-50%,-50%) scale(.96)}
.animix-cc-popup.is-visible{transform:translate(-50%,-50%)}
.animix-cc-overlay{position:fixed;inset:0;z-index:999998;background:var(--acc-overlay);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.animix-cc-overlay.is-visible{opacity:.55;visibility:visible}
.animix-cc-overlay-modal{z-index:1000000}

/* ---- buttons ---- */
.animix-cc-btns{display:flex;flex-wrap:wrap;gap:12px}
.animix-cc-btn{flex:1 1 auto;cursor:pointer;font-size:15px;font-weight:600;line-height:1.2;font-family:inherit;padding:12px 18px;border:2px solid;border-radius:4px;text-align:center;white-space:nowrap;transition:filter .15s,transform .05s;margin:0}
.animix-cc-btn:hover{filter:brightness(1.1)}
.animix-cc-btn:active{transform:translateY(1px)}
.animix-cc-btn:focus-visible,.animix-cc-close:focus-visible,.animix-cc-revisit:focus-visible,.animix-cc-cat-label:focus-visible{outline:2px solid var(--acc-link);outline-offset:2px}
.animix-cc-btn-accept{background:var(--acc-accept-bg);color:var(--acc-accept-text);border-color:var(--acc-accept-border)}
.animix-cc-btn-reject{background:var(--acc-reject-bg);color:var(--acc-reject-text);border-color:var(--acc-reject-border)}
.animix-cc-btn-customise{background:var(--acc-customise-bg);color:var(--acc-customise-text);border-color:var(--acc-customise-border)}
.animix-cc-close{position:absolute;top:8px;right:12px;background:none;border:0;color:var(--acc-text);font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}

/* ---- preference centre ---- */
.animix-cc-modal{position:fixed;z-index:1000001;left:50%;top:50%;width:640px;max-width:calc(100vw - 24px);max-height:88vh;display:flex;flex-direction:column;background:var(--acc-bg);color:var(--acc-text);border:1px solid var(--acc-border);border-radius:8px;box-shadow:0 12px 60px rgba(0,0,0,.5);transform:translate(-50%,-48%);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
.animix-cc-modal.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.animix-cc-modal-head{position:relative;padding:22px 56px 14px 28px;border-bottom:1px solid var(--acc-border)}
.animix-cc-modal-head .animix-cc-title{color:var(--acc-title);font-size:20px;font-weight:700}
.animix-cc-modal-head .animix-cc-close{top:14px}
.animix-cc-modal-body{padding:18px 28px;overflow-y:auto;font-size:14.5px}
.animix-cc-modal-body>.animix-cc-desc{margin-bottom:18px}
.animix-cc-modal-foot{display:flex;flex-wrap:wrap;gap:12px;padding:16px 28px;border-top:1px solid var(--acc-border)}
.animix-cc-cat{border:1px solid var(--acc-border);border-radius:6px;margin-bottom:10px;overflow:hidden}
.animix-cc-cat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.animix-cc-cat-label{background:none;border:0;color:var(--acc-title);font-size:16px;font-weight:600;line-height:1.3;font-family:inherit;cursor:pointer;padding:0;text-align:left;display:flex;align-items:center;gap:8px}
.animix-cc-cat-label:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.animix-cc-cat.is-open .animix-cc-cat-label:before{transform:rotate(45deg)}
.animix-cc-always{color:var(--acc-toggle-on);font-weight:600;font-size:13px;white-space:nowrap}
.animix-cc-cat-body{display:none;padding:0 16px 14px;font-size:14px}
.animix-cc-cat.is-open .animix-cc-cat-body{display:block}
.animix-cc-cat-desc{margin-bottom:10px}
.animix-cc-table-wrap{overflow-x:auto}
.animix-cc-table{width:100%;border-collapse:collapse;font-size:13px}
.animix-cc-table th,.animix-cc-table td{text-align:left;padding:8px 10px;border-top:1px solid var(--acc-border);vertical-align:top}
.animix-cc-table th{color:var(--acc-title)}
.animix-cc-none{font-style:italic;opacity:.8}

/* switch */
.animix-cc-switch{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.animix-cc-switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.animix-cc-slider{position:absolute;inset:0;background:var(--acc-toggle-off);border-radius:24px;transition:background .2s}
.animix-cc-slider:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s}
.animix-cc-switch input:checked+.animix-cc-slider{background:var(--acc-toggle-on)}
.animix-cc-switch input:checked+.animix-cc-slider:before{transform:translateX(18px)}
.animix-cc-switch input:focus-visible+.animix-cc-slider{outline:2px solid var(--acc-link);outline-offset:2px}

/* ---- revisit ---- */
.animix-cc-revisit{position:fixed;bottom:20px;z-index:999997;width:44px;height:44px;border-radius:50%;border:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--acc-accept-bg);color:var(--acc-accept-text);box-shadow:0 4px 16px rgba(0,0,0,.35);transition:transform .15s}
.animix-cc-revisit:hover{transform:scale(1.08)}
.animix-cc-revisit-left{left:20px}
.animix-cc-revisit-right{right:20px}

@media (max-width:640px){
	.animix-cc-banner{padding:20px}
	.animix-cc-banner.animix-cc-pos-bottom-left,.animix-cc-banner.animix-cc-pos-bottom-right{left:var(--acc-mm);right:var(--acc-mm);bottom:var(--acc-mm);width:auto;max-width:none}
	.animix-cc-banner.animix-cc-pos-top-left,.animix-cc-banner.animix-cc-pos-top-right{left:var(--acc-mm);right:var(--acc-mm);top:var(--acc-mm);width:auto;max-width:none}
	.animix-cc-banner.animix-cc-pos-bottom,.animix-cc-banner.animix-cc-pos-top{flex-direction:column;align-items:stretch;padding:18px 20px}
	.animix-cc-btn{white-space:normal;flex:1 1 100%}
	.animix-cc-modal-foot .animix-cc-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
	.animix-cc-banner,.animix-cc-modal,.animix-cc-overlay{transition:none}
}
