/* Cookie consent banner + cookie settings dialog (static/js/consent.js). Obsidian & gold, self-contained; ck- classes.
   Above every page overlay (landing modals 80-90, Support Codex 80). No backdrop-filter (it sits over animated canvases). */
.ck-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 95; max-width: 980px; margin: 0 auto;
    display: flex; align-items: center; gap: 18px; padding: 16px 18px; border-radius: 16px; font: 13px/1.55 'Inter', system-ui, sans-serif;
    color: #e7e5e4; background: linear-gradient(180deg, #16171d, #0c0d11); border: 1px solid rgba(245, 196, 81, .35);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .65); animation: ckUp .3s ease-out; }
@keyframes ckUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.ck-banner .ck-text { flex: 1; min-width: 0; }
.ck-banner b { color: #fde68a; }
.ck-banner a, .ck-foot a { color: #fcd34d; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ck-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
/* Accept all and Necessary only share one style on purpose: refusing must be as easy and as visible as accepting. */
.ck-btn { height: 40px; padding: 0 16px; border-radius: 11px; font: 800 12px 'Inter', system-ui, sans-serif; letter-spacing: .04em;
    color: #f5f5f4; background: #1c1c24; border: 1px solid rgba(245, 196, 81, .45); cursor: pointer; white-space: nowrap;
    transition: background .15s, border-color .15s, color .15s; }
.ck-btn:hover { background: #26262f; border-color: #fcd34d; color: #fde68a; }
.ck-btn:focus-visible, .ck-switch:focus-visible { outline: 2px solid #fcd34d; outline-offset: 2px; }
.ck-btn.ck-gold { color: #140d02; border-color: #fcd34d; background: linear-gradient(180deg, #fde68a, #f0b93c 60%, #c98a1d); }
.ck-btn.ck-gold:hover { filter: brightness(1.08); color: #140d02; }
@media (max-width: 760px) {
    .ck-banner { flex-direction: column; align-items: stretch; bottom: 12px; left: 12px; right: 12px; gap: 12px; }
    .ck-banner .ck-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .ck-banner .ck-actions [data-ck="customize"] { grid-column: 1 / -1; grid-row: 2; }
}

.ck-overlay { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 16px;
    background: rgba(2, 3, 6, .8); }
.ck-overlay[hidden] { display: none; }
.ck-sheet { width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow-y: auto; padding: 22px; border-radius: 20px;
    font: 13px/1.6 'Inter', system-ui, sans-serif; color: #d6d3d1; background: linear-gradient(180deg, #16171d, #0c0d11);
    border: 1px solid rgba(245, 196, 81, .35); box-shadow: 0 40px 100px rgba(0, 0, 0, .8); animation: ckUp .22s ease-out; }
.ck-kicker { font: 700 10px 'Cinzel', serif; letter-spacing: .3em; text-transform: uppercase; color: rgba(245, 158, 11, .85); }
.ck-title { margin: 4px 0 8px; font: 700 22px/1.2 'Playfair Display', Georgia, serif; color: #fff4d6; }
.ck-ask { margin: 0 0 6px; color: #e7e5e4; }
.ck-ask b { color: #fde68a; }
.ck-cat { display: flex; gap: 16px; align-items: flex-start; padding: 14px 0; border-top: 1px solid #23232b; }
.ck-cat[hidden] { display: none; }
.ck-cat > div { flex: 1; }
.ck-cat p { margin: 4px 0 0; font-size: 12.5px; color: #a8a29e; }
.ck-cat-h { font-weight: 700; color: #f5f5f4; }
.ck-always { margin-left: 6px; font: 700 9.5px 'Inter', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #34d399; }
.ck-switch { flex: none; position: relative; width: 44px; height: 24px; margin-top: 2px; border-radius: 999px; cursor: pointer;
    background: #2a2a33; border: 1px solid #3f3f46; transition: background .15s; }
.ck-switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #a1a1aa;
    transition: transform .15s, background .15s; }
.ck-switch[aria-checked="true"] { background: linear-gradient(180deg, #f0b93c, #c98a1d); border-color: #fcd34d; }
.ck-switch[aria-checked="true"]::after { transform: translateX(20px); background: #fff7e0; }
.ck-switch:disabled { cursor: not-allowed; opacity: .7; }
.ck-foot { margin: 6px 0 16px; padding-top: 12px; border-top: 1px solid #23232b; font-size: 12px; color: #a1a1aa; }
.ck-sheet .ck-actions[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .ck-banner, .ck-sheet { animation: none; } }
