:root{--consent-radius:20px;--consent-shadow:0 24px 64px #07090659;--consent-bg:#0e110c;--consent-text:#f4f5f0;--consent-muted:#cdd1c6;--consent-border:#f4f5f01f;--consent-accent:#b9ec2e;--consent-accent-text:#070906;--consent-accent-hover:#cdef5f;--consent-focus:0 0 0 3px #b9ec2e73}.consent-hidden{display:none!important}.consent-layer *,.consent-layer :before,.consent-layer :after{box-sizing:border-box}.consent-layer{z-index:2147483646;font-family:system-ui,-apple-system,Segoe UI,sans-serif;position:relative}.consent-banner{background:var(--consent-bg);width:min(420px,100% - 32px);color:var(--consent-text);border-radius:var(--consent-radius);box-shadow:var(--consent-shadow);border:1px solid var(--consent-border);flex-direction:column;gap:14px;padding:20px;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;position:fixed;bottom:16px;left:16px}.consent-banner__title{margin:0 0 4px;font-size:1rem;font-weight:600}.consent-banner__text{color:var(--consent-muted);margin:0;font-size:.85rem;line-height:1.5}.consent-actions{flex-wrap:wrap;gap:8px;display:flex}.consent-btn{text-align:center;cursor:pointer;border:1px solid #0000;border-radius:9999px;flex:120px;justify-content:center;align-items:center;padding:10px 14px;font-size:.85rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s,color .15s;display:inline-flex}.consent-btn:focus-visible{box-shadow:var(--consent-focus);outline:none}.consent-btn--primary{background:var(--consent-accent);color:var(--consent-accent-text)}.consent-btn--primary:hover{background:var(--consent-accent-hover)}.consent-btn--ghost{color:var(--consent-accent);border-color:var(--consent-accent);background:0 0}.consent-btn--ghost:hover{background:#b9ec2e1f}.consent-backdrop{backdrop-filter:blur(4px);background:#07090699;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.consent-modal{border-radius:var(--consent-radius);background:var(--consent-bg);width:min(680px,100% - 32px);max-height:calc(100vh - 80px);color:var(--consent-text);box-shadow:var(--consent-shadow);border:1px solid var(--consent-border);padding:32px;overflow:auto}.consent-modal__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.consent-modal__title{margin:0;font-size:1.5rem;font-weight:600}.consent-modal__body{color:var(--consent-muted);flex-direction:column;gap:16px;margin-top:16px;font-size:.95rem;display:flex}.consent-category-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.consent-category{border:1px solid var(--consent-border);border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.consent-category input[type=checkbox]{width:20px;height:20px;accent-color:var(--consent-accent);margin-top:4px}.consent-category__content{flex:1}.consent-category__title{color:var(--consent-text);margin:0;font-size:1rem;font-weight:600}.consent-category__description{color:var(--consent-muted);margin:4px 0 0;font-size:.9rem}.consent-modal__footer{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.consent-placeholder{color:#181c15;text-align:center;background:#f4f5f0bf;border:1px dashed #07090640;border-radius:16px;place-items:center;gap:12px;padding:32px;display:grid;position:relative}.consent-placeholder__button{border:1px solid var(--consent-accent);color:#0e110c;cursor:pointer;background:#fff;border-radius:9999px;justify-content:center;align-items:center;padding:10px 18px;font-size:.95rem;font-weight:600;display:inline-flex}.consent-placeholder__button:hover{background:#b9ec2e33}@media (width<=640px){.consent-banner{padding:20px;bottom:16px}.consent-btn{flex:auto;width:100%}.consent-modal{padding:24px}}.consent-btn{white-space:nowrap}@media (width>=900px){.consent-banner{flex-direction:row;align-items:center;gap:24px;width:min(1080px,100% - 48px);padding:14px 16px 14px 22px;bottom:16px;left:50%;transform:translate(-50%)}.consent-banner>:first-child{flex:auto}.consent-banner__title{margin-bottom:2px;font-size:.9rem}.consent-banner__text{font-size:.8rem}.consent-actions{flex-wrap:nowrap;flex:none}.consent-btn{flex:none}}