.cc-banner{position:fixed;bottom:var(--space-md,2rem);left:50%;transform:translate(-50%) translateY(20px);z-index:var(--z-toast,500);opacity:0;pointer-events:none;transition:opacity var(--dur-slow, .5s) var(--ease-entrance, cubic-bezier(.16, 1, .3, 1)),transform var(--dur-slow, .5s) var(--ease-entrance, cubic-bezier(.16, 1, .3, 1));width:max(320px,min(92vw,680px))}.cc-banner.is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.cc-banner.is-hiding{opacity:0;transform:translate(-50%) translateY(10px);transition-timing-function:var(--ease-exit,cubic-bezier(.7,0,.84,0));transition-duration:var(--dur-normal, .3s);pointer-events:none}.cc-inner{display:flex;align-items:center;gap:var(--space-xs,1rem);padding:var(--space-xs,1rem) var(--space-sm,1.25rem);background:var(--glass-bg,rgba(10,10,10,.85));backdrop-filter:blur(var(--glass-blur,16px)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur,16px)) saturate(1.2);border:1px solid var(--glass-border,rgba(255,255,255,.06));border-radius:var(--radius-xl,24px);box-shadow:0 8px 32px #00000059,0 2px 8px #00000040,inset 0 1px #ffffff0a}.cc-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fcb9001a;border:1px solid rgba(252,185,0,.15);border-radius:var(--radius-md,12px);color:var(--accent,#fcb900)}.cc-icon svg{width:18px;height:18px}.cc-content{flex:1;min-width:0}.cc-title{font-size:.82rem;font-weight:var(--fw-semibold,600);color:var(--text-primary,#e8e8e8);margin:0;line-height:1.3}.cc-text{font-size:.72rem;color:var(--text-secondary,#8a8a8a);margin:.2rem 0 0;line-height:1.4}.cc-actions{display:flex;gap:.5rem;flex-shrink:0}.cc-btn{font-family:inherit;font-size:.75rem;font-weight:var(--fw-medium,500);padding:.55rem 1.1rem;border-radius:var(--radius-pill,999px);border:none;cursor:pointer;transition:background var(--dur-normal, .3s) var(--ease-smooth, ease),color var(--dur-normal, .3s) var(--ease-smooth, ease),transform var(--dur-fast, .2s) var(--ease-smooth, ease),box-shadow var(--dur-normal, .3s) var(--ease-smooth, ease);white-space:nowrap;line-height:1}.cc-btn:active{transform:scale(.96)}.cc-btn-accept{background:#fff;color:#111;box-shadow:0 2px 8px #ffffff0f,0 4px 16px #ffffff0a}.cc-btn-accept:hover{background:var(--accent,#fcb900);color:#111;box-shadow:0 4px 12px #fcb90033,0 8px 24px #fcb9001a}.cc-btn-refuse{background:#ffffff0f;color:var(--text-secondary,#8a8a8a);border:1px solid rgba(255,255,255,.08)}.cc-btn-refuse:hover{background:#ffffff1f;color:var(--text-primary,#e8e8e8);border-color:#ffffff24}.cc-btn:focus-visible{outline:2px solid var(--focus-ring-color,#FCB900);outline-offset:3px}body.light-mode .cc-inner{background:#ffffffe0;border-color:#0000000f;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000f,inset 0 1px #fffc}body.light-mode .cc-icon{background:#e5a80014;border-color:#e5a8001f;color:var(--accent,#e5a800)}body.light-mode .cc-title{color:var(--text-primary,#1a1a1a)}body.light-mode .cc-text{color:var(--text-secondary,#666)}body.light-mode .cc-btn-accept{background:#111;color:#fff;box-shadow:0 2px 8px #00000014,0 4px 16px #0000000f}body.light-mode .cc-btn-accept:hover{background:var(--accent,#e5a800);color:#111;box-shadow:0 4px 12px #e5a80033,0 8px 24px #e5a8001a}body.light-mode .cc-btn-refuse{background:#0000000a;color:var(--text-secondary,#666);border-color:#00000014}body.light-mode .cc-btn-refuse:hover{background:#00000014;color:var(--text-primary,#1a1a1a);border-color:#0000001f}@media(max-width:640px){.cc-banner{bottom:calc(var(--bar-height,3.75rem) + var(--bar-inset,1rem) + .75rem);width:calc(100vw - 2rem)}.cc-inner{flex-wrap:wrap;padding:var(--space-xs,.85rem);gap:.6rem;border-radius:var(--radius-lg,20px)}.cc-icon{width:32px;height:32px}.cc-icon svg{width:16px;height:16px}.cc-content{flex:1 1 calc(100% - 48px)}.cc-actions{width:100%;justify-content:stretch}.cc-btn{flex:1;text-align:center;padding:.65rem .8rem}}@media(prefers-reduced-motion:reduce){.cc-banner,.cc-banner.is-hiding,.cc-banner.is-visible{transition-duration:0s}}@media(hover:none){.cc-btn:hover{opacity:1;transform:none}}
