.cookie-banner,.cookie-modal-overlay,.cookie-trigger-btn,.cookie-toast{--primary:#6366f1;--primary-rgb:99, 102, 241;--primary-hover:#4f46e5;--bg-surface:#0b0f19;--bg-card:rgba(17, 24, 39, 0.95);--bg-card-hover:rgba(31, 41, 55, 0.95);--bg-input:#1f2937;--border:rgba(255, 255, 255, 0.08);--border-focus:rgba(99, 102, 241, 0.4);--text-main:#f3f4f6;--text-muted:#9ca3af;--text-inverse:#ffffff;--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.15);--shadow-md:0 8px 30px rgba(0, 0, 0, 0.3);--shadow-lg:0 20px 50px rgba(0, 0, 0, 0.5);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-fast:0.2s cubic-bezier(0.4, 0, 0.2, 1);--transition-normal:0.3s cubic-bezier(0.4, 0, 0.2, 1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;box-sizing:border-box}.cookie-banner *,.cookie-modal-overlay *,.cookie-trigger-btn *,.cookie-toast *{box-sizing:border-box}@media (prefers-color-scheme:light){.cookie-banner,.cookie-modal-overlay,.cookie-trigger-btn,.cookie-toast{--bg-surface:#f8fafc;--bg-card:rgba(255, 255, 255, 0.98);--bg-card-hover:rgba(241, 245, 249, 0.98);--bg-input:#f1f5f9;--border:rgba(0, 0, 0, 0.08);--border-focus:rgba(99, 102, 241, 0.4);--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#0f172a;--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.05);--shadow-md:0 8px 30px rgba(0, 0, 0, 0.1);--shadow-lg:0 20px 50px rgba(0, 0, 0, 0.15)}}[data-theme="light"] .cookie-banner,[data-theme="light"] .cookie-modal-overlay,[data-theme="light"] .cookie-trigger-btn,[data-theme="light"] .cookie-toast,body.light-theme .cookie-banner,body.light-theme .cookie-modal-overlay,body.light-theme .cookie-trigger-btn,body.light-theme .cookie-toast{--bg-surface:#f8fafc;--bg-card:rgba(255, 255, 255, 0.98);--bg-card-hover:rgba(241, 245, 249, 0.98);--bg-input:#f1f5f9;--border:rgba(0, 0, 0, 0.08);--border-focus:rgba(99, 102, 241, 0.4);--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#0f172a;--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.05);--shadow-md:0 8px 30px rgba(0, 0, 0, 0.1);--shadow-lg:0 20px 50px rgba(0, 0, 0, 0.15)}.a11y-cookie-svg-icon{display:inline-block;vertical-align:middle;fill:currentColor}.cookie-trigger-btn{position:fixed;bottom:24px;left:var(--reopen-left,24px);right:var(--reopen-right,auto);width:56px;height:56px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-inverse,white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(var(--primary-rgb,99,102,241),.4);z-index:99990;transition:all var(--transition-fast);transform:scale(0);opacity:0}.cookie-trigger-btn.visible{transform:scale(1);opacity:1}.cookie-trigger-btn:hover{transform:scale(1.1) rotate(15deg);box-shadow:0 6px 24px rgba(var(--primary-rgb,99,102,241),.6);background:var(--primary-hover)}.cookie-trigger-btn .a11y-cookie-svg-icon{width:24px;height:24px}.cookie-banner{position:fixed;bottom:24px;right:24px;width:calc(100% - 48px);max-width:480px;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:24px;z-index:99995;display:none;opacity:0;transition:opacity var(--transition-normal);pointer-events:none}@keyframes slideInUp{from{transform:translateY(40px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cookie-banner.visible{display:block!important;pointer-events:all;animation:slideInUp var(--transition-normal) forwards}.cookie-banner-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.cookie-icon-wrapper{background:rgb(99 102 241 / .15);color:var(--primary);width:48px;height:48px;min-width:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.cookie-icon-wrapper .a11y-cookie-svg-icon{width:24px;height:24px}.cookie-title{font-size:1.25rem;font-weight:600;color:var(--text-main);margin:0 0 4px 0}.cookie-banner-body p{font-size:.925rem;line-height:1.6;color:var(--text-muted);margin:0}.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-banner-actions .cookie-btn{flex:1 1 auto;min-width:120px}.cookie-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgb(5 7 12 / .65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.cookie-modal-overlay.visible{display:flex!important;opacity:1;pointer-events:all}.cookie-modal{width:calc(100% - 32px);max-width:640px;max-height:85vh;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:scale(.95) translateY(20px);transition:transform var(--transition-normal);overflow:hidden}.cookie-modal-overlay.visible .cookie-modal{transform:scale(1) translateY(0)}.cookie-modal-header{padding:24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.cookie-modal-title{font-size:1.35rem;font-weight:600;display:flex;align-items:center;gap:12px;color:var(--text-main);margin:0}.cookie-modal-title .a11y-cookie-svg-icon{color:var(--primary);width:24px;height:24px}.cookie-modal-close{background:#fff0;border:none;color:var(--text-muted);cursor:pointer;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);padding:0}.cookie-modal-close:hover{background:var(--bg-card-hover);color:var(--text-main)}.cookie-modal-body{padding:24px;overflow-y:auto;flex-grow:1}.cookie-intro-text{font-size:.925rem;line-height:1.6;color:var(--text-muted);margin:0 0 24px 0}.cookie-categories{display:flex;flex-direction:column;gap:16px}.cookie-category-item{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:rgb(255 255 255 / .01);transition:border-color var(--transition-fast)}.cookie-category-item:hover{border-color:rgb(99 102 241 / .3)}.cookie-category-header{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;user-select:none}.cookie-category-info{display:flex;align-items:center;gap:12px;flex-grow:1}.cookie-category-info .category-chevron{color:var(--text-muted);transition:transform var(--transition-normal);width:20px;height:20px}.cookie-category-item.expanded .cookie-category-info .category-chevron{transform:rotate(180deg)}.cookie-category-title{font-weight:600;font-size:.975rem;color:var(--text-main);display:flex;align-items:center;gap:8px}.cookie-badge{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full);font-weight:700;text-transform:uppercase}.cookie-badge-essential{background:rgb(16 185 129 / .15);color:#10b981}.cookie-toggle{position:relative;display:inline-block;width:48px;height:26px;min-width:48px}.cookie-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-input);border:1px solid var(--border);transition:var(--transition-normal);border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-normal);border-radius:50%;box-shadow:var(--shadow-sm)}.cookie-toggle input:checked+.toggle-slider{background-color:var(--toggle-active,var(--primary));border-color:var(--toggle-active,var(--primary))}.cookie-toggle input:focus+.toggle-slider{box-shadow:0 0 1px var(--toggle-active,var(--primary))}.cookie-toggle input:checked+.toggle-slider:before{transform:translateX(22px)}.cookie-toggle input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.cookie-category-content{max-height:0;overflow:hidden;transition:max-height var(--transition-normal) ease-out;background:rgb(0 0 0 / .05);border-top:0 solid var(--border)}.cookie-category-item.expanded .cookie-category-content{border-top:1px solid var(--border)}.cookie-category-content-inner{padding:16px}.cookie-category-desc{font-size:.875rem;line-height:1.5;color:var(--text-muted);margin:0}.cookie-modal-footer{padding:24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgb(0 0 0 / .02)}.cookie-modal-footer .cookie-btn{min-width:120px}.footer-actions-right{display:flex;gap:12px;width:100%;justify-content:flex-end}.cookie-btn{padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid #fff0;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.cookie-btn-primary{background:var(--primary);color:var(--text-inverse,white)}.cookie-btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.cookie-btn-secondary{background:#fff0;border-color:var(--border);color:var(--text-main)}.cookie-btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--primary)}@media (max-width:600px){.cookie-modal-footer{flex-direction:column;align-items:stretch}.footer-actions-right{flex-direction:column;width:100%}.cookie-modal-footer .cookie-btn{width:100%}}.cookie-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(150%);background:#10b981;color:#fff;padding:12px 24px;border-radius:var(--radius-full);box-shadow:var(--shadow-md);z-index:999999;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;pointer-events:none;opacity:0;transition:transform var(--transition-normal),opacity var(--transition-normal)}.cookie-toast.active{transform:translateX(-50%) translateY(0);opacity:1}.cookie-toast .a11y-cookie-svg-icon{width:20px;height:20px}.cookie-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:12px}.cookie-table{width:100%;border-collapse:collapse;font-size:.8rem;text-align:left}.cookie-table th,.cookie-table td{padding:8px 12px;border-bottom:1px solid var(--border)}.cookie-table th{background:var(--bg-input);color:var(--text-main);font-weight:600}.cookie-table td{color:var(--text-muted)}.cookie-table tr:last-child td{border-bottom:none}