
/* ═══════════════════════ AIToolsay Cookie Consent (scoped .ezcc-*) ═══════════════════════ */
.ezcc-root{
    --ezcc-red:#3680ED; --ezcc-red-dark:#2060C0; --ezcc-red-soft:#60A4F5;
    --ezcc-red-tint:#EAF2FD; --ezcc-red-tint-2:#F4F8FE;
    --ezcc-ink:#111111; --ezcc-txt:#3B3F46; --ezcc-mut:#6B7280;
    --ezcc-line:#ECECEC; --ezcc-line-2:#DADADA;
    --ezcc-card:#FFFFFF; --ezcc-glass:rgba(255,255,255,.72);
    --ezcc-shadow:0 40px 100px -20px rgba(15,23,42,.28),0 12px 32px rgba(15,23,42,.12);
    position:fixed;inset:0;z-index:2147483000;
    /* Anchor to bottom-left: modal reads as a floating card rather than a
       full-screen takeover, so the reader can still see page content. */
    display:flex;align-items:flex-end;justify-content:flex-start;padding:24px;
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
    color:var(--ezcc-ink);
    animation:ezccFadeIn .28s ease both;
}
.ezcc-root[hidden]{display:none}
.ezcc-root *{box-sizing:border-box}
.ezcc-backdrop{
    position:absolute;inset:0;
    background:radial-gradient(1200px 800px at 50% 20%,rgba(54,128,237,.10),rgba(15,23,42,.55) 60%);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.ezcc-shell{
    position:relative;
    width:100%;max-width:460px;
    background:var(--ezcc-card);
    border-radius:22px;
    padding:32px 32px 26px;
    box-shadow:var(--ezcc-shadow);
    text-align:center;
    animation:ezccSlideUpLeft .38s cubic-bezier(.2,.9,.25,1.1) both;
    max-height:calc(100vh - 48px);
    overflow-y:auto;
}
.ezcc-close{
    position:absolute;top:18px;right:18px;
    width:38px;height:38px;
    display:inline-flex;align-items:center;justify-content:center;
    background:transparent;
    color:var(--ezcc-mut);
    border:1px solid var(--ezcc-line);
    border-radius:50%;
    cursor:pointer;
    transition:all .18s ease;
}
.ezcc-close:hover{color:var(--ezcc-red);border-color:var(--ezcc-red);background:var(--ezcc-red-tint)}
.ezcc-close svg{width:16px;height:16px}

/* ── Hero ─────────────────────────────────────────── */
.ezcc-hero{
    position:relative;
    width:92px;height:92px;
    margin:6px auto 2px;
    display:flex;align-items:center;justify-content:center;
}
.ezcc-hero-halo{
    position:absolute;inset:4px;
    border-radius:50%;
    background:radial-gradient(circle at 50% 50%,var(--ezcc-red-tint) 0%,var(--ezcc-red-tint-2) 55%,transparent 72%);
}
.ezcc-hero img{
    position:relative;
    width:72px;height:72px;
    filter:drop-shadow(0 10px 18px rgba(54,128,237,.22));
    animation:ezccWobble 3.6s ease-in-out infinite;
}
.ezcc-spark{
    position:absolute;color:var(--ezcc-red);opacity:.75;
    animation:ezccSparkle 2.6s ease-in-out infinite;
}
.ezcc-spark-1{top:6%;left:10%;width:12px;height:12px;animation-delay:.2s}
.ezcc-spark-2{top:10%;right:6%;width:11px;height:11px;animation-delay:.8s}
.ezcc-spark-3{bottom:14%;right:2%;width:10px;height:10px;animation-delay:1.4s}

/* ── Copy ─────────────────────────────────────────── */
.ezcc-title{
    margin:18px 0 10px;
    font-size:clamp(1.65rem,3vw,2.1rem);
    font-weight:800;
    letter-spacing:-.02em;
    line-height:1.15;
    color:var(--ezcc-ink);
}
.ezcc-accent{color:var(--ezcc-red)}
.ezcc-desc{
    margin:0 auto 26px;
    max-width:520px;
    font-size:15px;line-height:1.55;
    color:var(--ezcc-mut);
}

/* ── Pillars ──────────────────────────────────────── */
.ezcc-pillars{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:0;
    padding:20px 8px;
    background:linear-gradient(180deg,var(--ezcc-red-tint-2) 0%,#fff 120%);
    border-radius:18px;
    margin-bottom:22px;
}
.ezcc-pillar{
    display:flex;flex-direction:column;align-items:center;gap:8px;
    padding:6px 14px;
    position:relative;
    text-align:center;
}
.ezcc-pillar + .ezcc-pillar::before{
    content:"";position:absolute;left:0;top:22%;height:56%;width:1px;
    background:linear-gradient(180deg,transparent,rgba(54,128,237,.22),transparent);
}
.ezcc-pillar-ic{
    display:grid;place-items:center;
    width:44px;height:44px;
    border-radius:50%;
    background:var(--ezcc-red-tint);
    color:var(--ezcc-red);
    box-shadow:inset 0 0 0 1px rgba(54,128,237,.10);
}
.ezcc-pillar-ic svg{width:20px;height:20px}
.ezcc-pillar-t{
    font-size:14.5px;font-weight:700;color:var(--ezcc-ink);
    letter-spacing:-.01em;
}
.ezcc-pillar-s{
    font-size:12.5px;color:var(--ezcc-mut);line-height:1.35;
}

/* ── Actions ──────────────────────────────────────── */
.ezcc-actions{
    display:flex;flex-direction:column;gap:10px;
    margin-bottom:14px;
}
.ezcc-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:15px 22px;
    border-radius:14px;
    font-family:inherit;font-weight:700;font-size:15px;letter-spacing:-.005em;
    border:1px solid transparent;
    cursor:pointer;text-decoration:none;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;
    -webkit-appearance:none;appearance:none;white-space:nowrap;
}
.ezcc-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(54,128,237,.32)}
.ezcc-btn svg{width:18px;height:18px;flex-shrink:0}
.ezcc-btn-primary{
    background:var(--ezcc-red);color:#fff;
    box-shadow:0 12px 24px -6px rgba(54,128,237,.42),inset 0 1px 0 rgba(255,255,255,.15);
}
.ezcc-btn-primary:hover{background:var(--ezcc-red-dark);transform:translateY(-1px);box-shadow:0 16px 32px -6px rgba(54,128,237,.52)}
.ezcc-btn-primary:active{transform:translateY(0)}
.ezcc-btn-ghost{background:#fff;color:var(--ezcc-ink);border-color:var(--ezcc-line-2)}
.ezcc-btn-ghost:hover{border-color:var(--ezcc-red);color:var(--ezcc-red);background:var(--ezcc-red-tint-2)}
.ezcc-btn-soft{background:var(--ezcc-red-tint);color:var(--ezcc-red-dark)}
.ezcc-btn-soft:hover{background:var(--ezcc-red);color:#fff}

/* ── Learn more strip ─────────────────────────────── */
.ezcc-learn{
    margin:0;
    font-size:13px;color:var(--ezcc-mut);
}
.ezcc-learn a{color:var(--ezcc-red);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ezcc-learn a:hover{color:var(--ezcc-red-dark)}

/* ── Preferences panel ────────────────────────────── */
.ezcc-prefs{
    text-align:left;
    margin-top:22px;padding-top:22px;
    border-top:1px solid var(--ezcc-line);
    animation:ezccExpand .3s ease both;
}
.ezcc-prefs[hidden]{display:none}
.ezcc-prefs-t{
    margin:0 0 14px;
    font-size:15px;font-weight:700;color:var(--ezcc-ink);
    letter-spacing:-.01em;
}
.ezcc-row{
    display:flex;align-items:flex-start;gap:16px;
    padding:14px 16px;
    background:#FAFAFA;
    border:1px solid var(--ezcc-line);
    border-radius:12px;
    margin-bottom:10px;
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease;
}
.ezcc-row:hover{background:var(--ezcc-red-tint-2);border-color:rgba(54,128,237,.22)}
.ezcc-row[data-locked]{cursor:default;background:var(--ezcc-red-tint-2)}
.ezcc-row[data-locked]:hover{background:var(--ezcc-red-tint-2);border-color:var(--ezcc-line)}
.ezcc-row-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ezcc-row-t{
    font-size:14px;font-weight:600;color:var(--ezcc-ink);
    display:inline-flex;align-items:center;gap:8px;
}
.ezcc-row-tag{
    font-size:10.5px;font-weight:700;
    color:var(--ezcc-red);
    background:#fff;
    padding:2px 8px;border-radius:999px;
    letter-spacing:.04em;text-transform:uppercase;
    border:1px solid rgba(54,128,237,.20);
}
.ezcc-row-s{font-size:12.5px;color:var(--ezcc-mut);line-height:1.4}
.ezcc-toggle{
    flex-shrink:0;
    width:38px;height:22px;border-radius:999px;
    background:#D1D5DB;
    position:relative;
    transition:background .2s ease;
}
.ezcc-toggle > span{
    position:absolute;top:2px;left:2px;
    width:18px;height:18px;border-radius:50%;
    background:#fff;
    box-shadow:0 1px 2px rgba(15,23,42,.15);
    transition:transform .2s ease;
}
.ezcc-row.is-on .ezcc-toggle{background:var(--ezcc-red)}
.ezcc-row.is-on .ezcc-toggle > span{transform:translateX(16px)}
.ezcc-toggle.is-locked{background:var(--ezcc-red);opacity:.55}
.ezcc-toggle.is-locked > span{transform:translateX(16px)}
.ezcc-prefs-actions{
    display:flex;gap:10px;margin-top:16px;
}
.ezcc-prefs-actions .ezcc-btn{flex:1;padding:12px 16px;font-size:14px}

/* ── Animations ───────────────────────────────────── */
@keyframes ezccFadeIn { from{opacity:0} to{opacity:1} }
@keyframes ezccSlideUp {
    from{opacity:0;transform:translateY(24px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
}
/* Bottom-left anchor: card rises + drifts in from the left edge. */
@keyframes ezccSlideUpLeft {
    from{opacity:0;transform:translate(-18px,20px) scale(.97)}
    to{opacity:1;transform:translate(0,0) scale(1)}
}
@keyframes ezccExpand {
    from{opacity:0;transform:translateY(-6px)}
    to{opacity:1;transform:translateY(0)}
}
@keyframes ezccWobble {
    0%,100%{transform:rotate(-3deg) translateY(0)}
    50%{transform:rotate(3deg) translateY(-4px)}
}
@keyframes ezccSparkle {
    0%,100%{opacity:.35;transform:scale(.85)}
    50%{opacity:.95;transform:scale(1.15)}
}
@media (prefers-reduced-motion:reduce){
    .ezcc-root,.ezcc-shell,.ezcc-hero img,.ezcc-spark,.ezcc-prefs{animation:none!important}
}

/* ── Dark mode ────────────────────────────────────── */
body.theme-dark .ezcc-root{
    --ezcc-ink:#F5F5F6; --ezcc-txt:#C9C9CE; --ezcc-mut:#A0A0A6;
    --ezcc-line:rgba(255,255,255,.09); --ezcc-line-2:rgba(255,255,255,.14);
    --ezcc-card:#17171A;
    --ezcc-red:#3680ED; --ezcc-red-dark:#2060C0; --ezcc-red-soft:#60A4F5;
    --ezcc-red-tint:rgba(54,128,237,.16); --ezcc-red-tint-2:rgba(54,128,237,.10);
    --ezcc-shadow:0 40px 100px -20px rgba(0,0,0,.75),0 12px 32px rgba(0,0,0,.55);
}
body.theme-dark .ezcc-backdrop{
    background:radial-gradient(1200px 800px at 50% 20%,rgba(96,164,245,.10),rgba(0,0,0,.72) 60%);
}
body.theme-dark .ezcc-btn-primary{background:var(--ezcc-red);color:#fff;box-shadow:0 12px 24px -6px rgba(54,128,237,.42),inset 0 1px 0 rgba(255,255,255,.10)}
body.theme-dark .ezcc-btn-primary:hover{background:var(--ezcc-red-dark);box-shadow:0 16px 32px -6px rgba(54,128,237,.52)}
body.theme-dark .ezcc-btn-ghost{background:#1C1C1F;color:var(--ezcc-ink);border-color:var(--ezcc-line-2)}
body.theme-dark .ezcc-btn-ghost:hover{border-color:var(--ezcc-red-soft);color:var(--ezcc-red-soft);background:var(--ezcc-red-tint-2)}
body.theme-dark .ezcc-btn-soft{background:var(--ezcc-red-tint);color:var(--ezcc-red-soft)}
body.theme-dark .ezcc-btn-soft:hover{background:var(--ezcc-red);color:#fff}
body.theme-dark .ezcc-pillars{background:linear-gradient(180deg,rgba(54,128,237,.06) 0%,rgba(54,128,237,.02) 100%);border:1px solid var(--ezcc-line)}
body.theme-dark .ezcc-pillar + .ezcc-pillar::before{background:linear-gradient(180deg,transparent,rgba(96,164,245,.28),transparent)}
body.theme-dark .ezcc-pillar-ic{background:var(--ezcc-red-tint);color:var(--ezcc-red-soft);box-shadow:inset 0 0 0 1px rgba(96,164,245,.20)}
body.theme-dark .ezcc-row{background:#1C1C1F;border-color:var(--ezcc-line)}
body.theme-dark .ezcc-row:hover{background:var(--ezcc-red-tint-2);border-color:rgba(96,164,245,.28)}
body.theme-dark .ezcc-row[data-locked]{background:var(--ezcc-red-tint-2)}
body.theme-dark .ezcc-row[data-locked]:hover{background:var(--ezcc-red-tint-2);border-color:var(--ezcc-line)}
body.theme-dark .ezcc-row-tag{background:#0F0F11;border-color:rgba(96,164,245,.30);color:var(--ezcc-red-soft)}
body.theme-dark .ezcc-toggle{background:rgba(255,255,255,.14)}
body.theme-dark .ezcc-toggle > span{background:#F5F5F6;box-shadow:0 1px 2px rgba(0,0,0,.5)}
body.theme-dark .ezcc-close{border-color:var(--ezcc-line)}
body.theme-dark .ezcc-close:hover{color:var(--ezcc-red-soft);border-color:var(--ezcc-red-soft);background:var(--ezcc-red-tint-2)}
body.theme-dark .ezcc-hero-halo{background:radial-gradient(circle at 50% 50%,var(--ezcc-red-tint) 0%,var(--ezcc-red-tint-2) 55%,transparent 72%)}
body.theme-dark .ezcc-hero img{filter:drop-shadow(0 10px 18px rgba(54,128,237,.32))}
body.theme-dark .ezcc-btn:focus-visible{box-shadow:0 0 0 3px rgba(96,164,245,.28)}
body.theme-dark .ezcc-learn a{color:var(--ezcc-red-soft)}
body.theme-dark .ezcc-learn a:hover{color:var(--ezcc-red)}
body.theme-dark .ezcc-accent{color:var(--ezcc-red-soft)}

/* ── Responsive ───────────────────────────────────── */
@media (max-width:600px){
    .ezcc-root{padding:12px;align-items:flex-end}
    .ezcc-shell{padding:28px 20px 22px;border-radius:20px;max-height:calc(100vh - 24px)}
    .ezcc-hero{width:76px;height:76px}
    .ezcc-hero img{width:60px;height:60px}
    .ezcc-title{font-size:1.5rem;margin-top:12px}
    .ezcc-desc{font-size:14px;margin-bottom:20px}
    .ezcc-pillars{grid-template-columns:1fr;padding:10px 12px;gap:6px}
    .ezcc-pillar{flex-direction:row;text-align:left;gap:12px;padding:10px 6px}
    .ezcc-pillar-body{flex:1}
    .ezcc-pillar + .ezcc-pillar::before{
        left:12px;right:12px;top:0;height:1px;width:auto;
        background:linear-gradient(90deg,transparent,rgba(54,128,237,.22),transparent);
    }
    .ezcc-pillar-ic{width:38px;height:38px}
    .ezcc-pillar-ic svg{width:17px;height:17px}
    .ezcc-close{top:12px;right:12px;width:34px;height:34px}
    .ezcc-prefs-actions{flex-direction:column}
    .ezcc-btn{padding:13px 18px;font-size:14.5px}
}
