.tp-cc-banner{display:none;position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);width:min(960px, calc(100% - 2rem));background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius,14px);box-shadow:0 8px 24px -8px rgb(0 0 0 / .35),0 0 0 1px rgb(255 255 255 / .04) inset;z-index:9000;font-family:var(--f-b);animation:tp-cc-banner-in 0.4s var(--ease,ease-out) both}html[data-tp-consent-needed="1"] .tp-cc-banner{display:block}[data-theme="light"] .tp-cc-banner{background:var(--bg);box-shadow:0 10px 28px -10px rgb(15 23 42 / .18),0 0 0 1px rgb(15 23 42 / .04)}.tp-cc-banner-inner{display:flex;align-items:center;gap:1.5rem;padding:1.1rem 1.25rem}.tp-cc-banner-text{flex:1;min-width:0}.tp-cc-banner-text strong{display:block;font-family:var(--f-d);font-size:.88rem;font-weight:700;color:var(--txt);margin-bottom:.2rem}.tp-cc-banner-text p{margin:0;font-size:.78rem;line-height:1.5;color:var(--txt-2);font-weight:300}.tp-cc-banner-text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.tp-cc-banner-text a:hover{opacity:.85}.tp-cc-banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.tp-cc-btn{font-size:.74rem;padding:.5rem .95rem;white-space:nowrap}@media (max-width:720px){.tp-cc-banner{left:.75rem;right:.75rem;bottom:.75rem;width:auto;transform:none}.tp-cc-banner-inner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.15rem}.tp-cc-banner-actions{flex-direction:column;align-items:stretch;gap:.55rem}.tp-cc-banner-actions .tp-cc-btn{width:100%;justify-content:center;padding:.7rem 1rem;font-size:.8rem}}@keyframes tp-cc-banner-in{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}@media (max-width:720px){@keyframes tp-cc-banner-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.tp-cc-banner{animation:none}}.tp-cc-modal-backdrop{position:fixed;inset:0;background:rgb(0 0 0 / .55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9600;animation:tp-cc-fade-in 0.2s var(--ease,ease-out) both}.tp-cc-modal-backdrop[hidden]{display:none}[data-theme="light"] .tp-cc-modal-backdrop{background:rgb(15 23 42 / .35)}.tp-cc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px, calc(100% - 2rem));max-height:calc(100vh - 2rem);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius,14px);box-shadow:0 24px 64px -16px rgb(0 0 0 / .6);z-index:9700;display:flex;flex-direction:column;overflow:hidden;font-family:var(--f-b);animation:tp-cc-modal-in 0.24s var(--ease,ease-out) both}.tp-cc-modal[hidden]{display:none}[data-theme="light"] .tp-cc-modal{background:var(--bg);box-shadow:0 24px 64px -16px rgb(15 23 42 / .22),0 0 0 1px rgb(15 23 42 / .05)}@keyframes tp-cc-fade-in{from{opacity:0}to{opacity:1}}@keyframes tp-cc-modal-in{from{opacity:0;transform:translate(-50%,calc(-50% + 14px))}to{opacity:1;transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.tp-cc-modal-backdrop,.tp-cc-modal{animation:none}}.tp-cc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem .85rem;border-bottom:1px solid var(--border)}.tp-cc-modal-title{margin:0;font-family:var(--f-d);font-size:1.05rem;font-weight:700;color:var(--txt)}.tp-cc-modal-close{background:#fff0;border:1px solid var(--border);border-radius:8px;width:32px;height:32px;color:var(--txt-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;transition:color 0.2s,border-color 0.2s,background 0.2s}.tp-cc-modal-close:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.tp-cc-modal-body{padding:1rem 1.25rem .5rem;overflow-y:auto;flex:1}.tp-cc-modal-intro{margin:0 0 .85rem;font-size:.8rem;line-height:1.55;color:var(--txt-2);font-weight:300}.tp-cc-cat{border:1px solid var(--border);border-radius:10px;padding:.85rem .95rem;margin-bottom:.6rem;background:var(--bg-2);transition:border-color 0.2s,background 0.2s}.tp-cc-cat:hover{border-color:var(--accent-border)}[data-theme="light"] .tp-cc-cat{background:var(--bg-1)}.tp-cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.tp-cc-cat-label{display:flex;align-items:center;gap:.55rem;font-family:var(--f-d);font-size:.88rem;font-weight:700;color:var(--txt)}.tp-cc-cat-tag{font-family:var(--f-m);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:100px;padding:.15rem .5rem}.tp-cc-cat-locked{color:var(--txt-3);font-size:.78rem;display:inline-flex;align-items:center;justify-content:center;width:36px;height:20px}.tp-cc-cat-desc{margin:0;font-size:.74rem;line-height:1.55;color:var(--txt-2);font-weight:300}.tp-cc-toggle{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0;cursor:pointer}.tp-cc-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.tp-cc-toggle-slider{position:absolute;inset:0;background:var(--bg-3);border:1px solid var(--border-2);border-radius:100px;transition:background 0.2s,border-color 0.2s}.tp-cc-toggle-slider::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--txt-3);transition:transform 0.2s var(--ease,ease),background 0.2s}.tp-cc-toggle input:focus-visible+.tp-cc-toggle-slider{outline:2px solid var(--accent);outline-offset:2px}.tp-cc-toggle input:checked+.tp-cc-toggle-slider{background:var(--accent-dim);border-color:var(--accent-border)}.tp-cc-toggle input:checked+.tp-cc-toggle-slider::after{transform:translateX(16px);background:var(--accent)}.tp-cc-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-2);flex-wrap:wrap}[data-theme="light"] .tp-cc-modal-foot{background:var(--bg-1)}.tp-cc-modal-link{font-size:.74rem;color:var(--txt-2);text-decoration:underline;text-underline-offset:2px}.tp-cc-modal-link:hover{color:var(--accent)}.tp-cc-modal-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}@media (max-width:540px){.tp-cc-modal-foot{flex-direction:column;align-items:stretch;gap:.85rem}.tp-cc-modal-actions{width:100%;flex-direction:column;align-items:stretch;gap:.55rem}.tp-cc-modal-actions .tp-cc-btn{width:100%;justify-content:center;padding:.7rem 1rem;font-size:.8rem}}