.ce-engagement-entry{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0;position:relative;z-index:1}
@keyframes ceb-halo{0%{opacity:0;transform:scale(.5)}35%{opacity:1}100%{opacity:0;transform:scale(1.3)}}@keyframes ceb-sprout{0%{opacity:0;transform:translateY(24px) scale(.4) rotate(-12deg)}65%{opacity:1;transform:translateY(-5px) scale(1.06)}100%{transform:none}}@keyframes ceb-tilt{0%{transform:perspective(500px) rotateY(-75deg);opacity:.3}65%{transform:perspective(500px) rotateY(12deg)}100%{transform:none;opacity:1}}@keyframes ceb-shine{0%,100%{filter:brightness(1);transform:none}40%{filter:brightness(1.6) drop-shadow(0 0 12px #dac16a88);transform:rotate(-5deg) scale(1.05)}}@keyframes ceb-orbit{0%{transform:translateX(-14px) rotate(-10deg);opacity:.4}50%{transform:translateX(12px) rotate(8deg)}100%{transform:none;opacity:1}}@keyframes ceb-crown{0%{transform:translateY(-25px) scale(.8);opacity:0}60%{transform:translateY(5px) scale(1.05);opacity:1}100%{transform:none}}@keyframes ceb-steps{0%{transform:translateY(24px);opacity:.2}28%{transform:translateY(16px);opacity:.5}55%{transform:translateY(8px);opacity:.8}85%,100%{transform:none;opacity:1}}@keyframes ceb-flame{0%,100%{transform:scale(1);filter:brightness(1)}20%{transform:scale(1.04,.97);filter:brightness(1.25)}40%{transform:scale(.98,1.05)}65%{transform:scale(1.05,.98);filter:brightness(1.35)}}@keyframes ceb-fly{0%{opacity:0;transform:translateY(35px) scale(.65) rotate(-8deg)}55%{opacity:1;transform:translateY(-12px) scale(1.04) rotate(3deg)}100%{transform:none}}@keyframes ceb-pulse{0%,100%{transform:scale(1);filter:brightness(1)}30%,65%{transform:scale(1.1);filter:brightness(1.4)}45%,80%{transform:scale(.97)}}@keyframes ceb-flash{0%,100%{filter:brightness(1);transform:none}30%{filter:brightness(2.6);transform:scale(1.04)}40%{filter:brightness(.8)}55%{filter:brightness(1.6)}}@keyframes ceb-beats{0%,100%{transform:scale(1)}15%,40%,65%,90%{transform:scale(1.05);filter:brightness(1.25)}27%,52%,77%{transform:scale(.99);filter:brightness(1)}}@keyframes ceb-reveal{0%{opacity:0;transform:perspective(700px) rotateY(-100deg) scale(.6)}60%{opacity:1;transform:perspective(700px) rotateY(8deg) scale(1.08);filter:brightness(1.45)}100%{transform:none;filter:brightness(1)}}

.ce-badge-art.is-playing::after{animation:ceb-halo 1.2s ease-out}.ce-badge-art.is-playing img{animation-duration:1.4s;animation-fill-mode:both;animation-timing-function:ease-out}
.ce-badge-art.is-playing[data-badge="first-meal"] img{animation-name:ceb-sprout}
.ce-badge-art.is-playing[data-badge="meals-10"] img{animation-name:ceb-tilt}
.ce-badge-art.is-playing[data-badge="meals-50"] img{animation-name:ceb-shine}
.ce-badge-art.is-playing[data-badge="meals-100"] img{animation-name:ceb-orbit}
.ce-badge-art.is-playing[data-badge="meals-250"] img{animation-name:ceb-crown}
.ce-badge-art.is-playing[data-badge="days-3"] img{animation-name:ceb-steps}
.ce-badge-art.is-playing[data-badge="streak-7"] img{animation-name:ceb-flame}
.ce-badge-art.is-playing[data-badge="streak-30"] img{animation-name:ceb-fly}
.ce-badge-art.is-playing[data-badge="energy-5000"] img{animation-name:ceb-pulse}
.ce-badge-art.is-playing[data-badge="photos-5"] img{animation-name:ceb-flash}
.ce-badge-art.is-playing[data-badge="weeks-4"] img{animation-name:ceb-beats}
.ce-badge-art.is-playing[data-badge="elite"] img{animation-name:ceb-reveal}
.ce-badge-art.is-playing[data-badge="weekend-duo"] img{animation-name:ceb-eclipse}
.ce-badge-art.is-playing[data-badge="photo-days-7"] img{animation-name:ceb-shutter}
.ce-badge-art.is-playing[data-badge="comeback"] img{animation-name:ceb-return}
.ce-badge-art.is-playing[data-badge="meals-500"] img{animation-name:ceb-feast}
.ce-badge-art.is-playing[data-badge="days-100"] img{animation-name:ceb-story}
.ce-badge-art.is-playing[data-badge="streak-90"] img{animation-name:ceb-dragon}
.ce-badge-art.is-playing[data-badge="friends-1"] img{animation-name:ceb-together}
@keyframes ceb-eclipse{0%{opacity:0;transform:rotate(-35deg) scale(.6)}60%{opacity:1;transform:rotate(8deg) scale(1.06);filter:brightness(1.3)}100%{transform:none}}
@keyframes ceb-shutter{0%{opacity:.1;transform:scale(.85)}25%{opacity:1;filter:brightness(2)}40%{filter:brightness(.7)}65%{filter:brightness(1.6);transform:scale(1.04)}100%{transform:none;filter:brightness(1)}}
@keyframes ceb-return{0%{opacity:0;transform:rotate(-150deg) scale(.4)}70%{opacity:1;transform:rotate(12deg) scale(1.08)}100%{transform:none}}
@keyframes ceb-feast{0%{opacity:0;transform:translateY(-40px) scale(.6)}55%{opacity:1;transform:translateY(10px) scale(1.08)}78%{transform:translateY(-5px)}100%{transform:none}}
@keyframes ceb-story{0%{opacity:.2;transform:perspective(600px) rotateY(-85deg)}65%{opacity:1;transform:perspective(600px) rotateY(12deg);filter:brightness(1.25)}100%{transform:none}}
@keyframes ceb-dragon{0%{opacity:0;transform:translateY(45px) rotate(-15deg) scale(.4)}55%{opacity:1;transform:translateY(-12px) rotate(5deg) scale(1.08);filter:drop-shadow(0 0 20px #66a3df66)}100%{transform:none}}
@keyframes ceb-together{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.12,.96)}65%{transform:scale(.97,1.04);filter:brightness(1.4)}100%{transform:none}}
.ce-engagement-entry button{flex:1;min-width:120px;min-height:44px;padding:10px 14px;border:1px solid #37516b;border-radius:24px;background:#14191f;color:#c8d8e8;font:600 12px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;text-transform:none}
.ce-engagement-entry button:focus-visible{outline:2px solid #f68b45;outline-offset:3px}
.ce-engagement-entry .ce-engagement-entry-badges{border-color:#895b3e;background:#261d18;color:#ffbe91}
.ce-engagement-entry .ce-engagement-entry-yesterday{border-color:#385f8a;background:#142238;color:#a4d0ff}
#ce-engagement-dialog .ce-badge-level{background:linear-gradient(125deg,#152b46,#181e29 65%,#39251a);border-color:#446281}
#ce-engagement-dialog .ce-badge-level strong{color:#ffae76}
#ce-engagement-dialog .ce-badge-card.is-earned{border-color:#457eb3;background:#15263a}
#ce-engagement-dialog .ce-badge-card.is-elite{background:radial-gradient(ellipse at 50% 25%,#3d2a1b,#142136)}
#ce-engagement-dialog .is-earned .ce-badge-status{color:#94caff}
#ce-engagement-dialog .ce-badge-bonus{color:#9bc9ff}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-panel{background:radial-gradient(ellipse at 50% 38%,#254972 0,#17283f 35%,#0c121d 75%);border-color:#ab714b;box-shadow:0 0 90px #55a9ff20,0 0 50px #f68b4515}
#ce-engagement-dialog.is-badge-reveal .ce-badge-reveal-saved{color:#bddbff}
html.ce-engagement-modal-open,html.ce-engagement-modal-open body{overflow:hidden!important}
#ce-engagement-dialog{position:fixed;inset:0;z-index:2147483550;background:#030405d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;color:#eef2f5;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark;font-variant-numeric:tabular-nums;text-align:left}
#ce-engagement-dialog *, .ce-badge-toast *{box-sizing:border-box}
#ce-engagement-dialog [hidden]{display:none!important}
#ce-engagement-dialog button{font:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;min-height:44px;color:inherit;box-shadow:none}
#ce-engagement-dialog button:disabled{opacity:.5;cursor:default}
#ce-engagement-dialog button:focus-visible{outline:2px solid #f68b45;outline-offset:3px}
#ce-engagement-dialog .ce-engagement-panel{width:100%;max-width:820px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#0a0d10;border:1px solid #2d3746;border-radius:30px;padding:0 24px 28px;scrollbar-width:thin}
#ce-engagement-dialog .ce-engagement-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 14px;background:#0a0d10f5;backdrop-filter:blur(8px);border-bottom:1px solid #262f3c;margin-bottom:22px}
#ce-engagement-dialog h2,#ce-engagement-dialog h3{color:#eef2f5;font-family:inherit;font-weight:600;letter-spacing:-.04em;margin:0;line-height:1.15;text-align:left;text-transform:none}
#ce-engagement-dialog h2{font-size:20px}
#ce-engagement-dialog p{font:inherit;color:#abb8c4;margin:12px 0;line-height:1.5}
#ce-engagement-dialog .ce-engagement-close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#1f2630;font-size:25px}
#ce-engagement-dialog .ce-engagement-kicker{color:#f68b45;font-size:10px;font-weight:650;letter-spacing:.14em;margin:6px 0 12px}
#ce-engagement-dialog .ce-collection-title{font-size:clamp(27px,5vw,38px);margin-bottom:22px}
#ce-engagement-dialog .ce-badge-level{padding:18px;border:1px solid #314558;background:radial-gradient(ellipse at top right,#1d2e46,#12171d);border-radius:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
#ce-engagement-dialog .ce-badge-level strong{color:#bbcfe2;font-size:28px;font-weight:550;letter-spacing:-1px}
#ce-engagement-dialog .ce-badge-level span{font-size:12px;color:#aebcc9}
#ce-engagement-dialog progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#27313e}
#ce-engagement-dialog progress::-webkit-progress-bar{background:#27313e}#ce-engagement-dialog progress::-webkit-progress-value{background:#f68b45;border-radius:5px}
#ce-engagement-dialog .ce-engagement-hint{font-size:11px;color:#9aa9b8}
#ce-engagement-dialog .ce-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
#ce-engagement-dialog .ce-badge-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:14px;background:#13171d;border:1px solid #2a3441;border-radius:22px;text-align:left}
#ce-engagement-dialog .ce-badge-card.is-earned{border-color:#466d93;background:#121924}
#ce-engagement-dialog .ce-badge-card.is-elite{background:radial-gradient(ellipse at 50% 25%,#192c47,#10141a)}
#ce-engagement-dialog .ce-badge-card strong{font-size:14px;font-weight:650;line-height:1.3;margin:10px 0 6px;color:#eef2f5}
#ce-engagement-dialog .ce-badge-condition{color:#a3b1bf;font-size:11px;line-height:1.5;margin-bottom:12px}
#ce-engagement-dialog .ce-badge-status{margin-top:auto;font-size:11px;color:#9aa9b8}
#ce-engagement-dialog .is-earned .ce-badge-status{color:#f68b45}
#ce-engagement-dialog .ce-badge-bonus{font-size:9px;letter-spacing:.1em;color:#8ab2d9;margin-top:9px}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-panel{position:relative;max-width:440px;height:auto;text-align:center;background:radial-gradient(ellipse at 50% 38%,#223754 0,#111822 35%,#090c10 72%);border:1px solid #4d7cab;padding:0 26px 24px;border-radius:32px;box-shadow:0 0 100px #5397da20}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-header{background:transparent;border:0;margin:0;padding:14px 0 0}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-header h2{font-size:14px;color:#f68b45}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-kicker{margin:6px 0 0}
#ce-engagement-dialog.is-badge-reveal .ce-badge-art.is-large{width:280px;max-width:90%;margin:12px auto 20px}
#ce-engagement-dialog.is-badge-reveal .ce-badge-reveal-title{text-align:center;font-size:32px;text-wrap:balance}
#ce-engagement-dialog.is-badge-reveal .ce-badge-reveal-saved{font-size:12px;color:#c4d5e6}
#ce-engagement-dialog.is-badge-reveal .ce-engagement-back{display:block;margin:10px auto 0;font-size:12px}
@media(max-width:600px){#ce-engagement-dialog.is-badge-reveal{padding:14px}#ce-engagement-dialog.is-badge-reveal .ce-engagement-panel{max-height:calc(100dvh - 28px);padding-bottom:22px}#ce-engagement-dialog.is-badge-reveal .ce-badge-art.is-large{width:min(260px,55dvh)}}
.ce-badge-art{position:relative;aspect-ratio:1;display:grid;place-items:center;min-width:0;isolation:isolate}
.ce-badge-art img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.ce-badge-art::after{content:"";position:absolute;inset:8%;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,#f68b4544,transparent 70%);z-index:-1}
.ce-badge-card.is-locked img,.ce-badge-art.is-locked img{filter:grayscale(1);opacity:.33}
#ce-engagement-dialog .ce-badge-art.is-large{width:260px;max-width:80%;margin:24px auto}
#ce-engagement-dialog .ce-engagement-back{border:0;background:none;color:#f68b45;padding:8px 0}
#ce-engagement-dialog .ce-badge-detail-state{text-align:center;color:#f68b45;font-size:12px}
#ce-engagement-dialog .ce-badge-detail-condition{text-align:center;color:#eef2f5;font-size:16px}
#ce-engagement-dialog .ce-badge-detail-progress{display:block;text-align:center;color:#f68b45;font-size:24px}
#ce-engagement-dialog .ce-engagement-primary{width:100%;margin-top:20px;padding:13px 20px;border:0;border-radius:26px;background:#f68b45;color:#0a0f16;font-size:13px;font-weight:700}
#ce-engagement-dialog .ce-engagement-secondary{padding:9px 18px;border:1px solid #38526d;border-radius:22px;background:transparent;color:#f68b45;font-size:12px}
#ce-engagement-dialog .ce-engagement-message{padding:12px 0;font-size:12px;color:#a6b7c8}
#ce-engagement-dialog .ce-recap-date{font-size:30px;margin-bottom:18px}
#ce-engagement-dialog .ce-recap-source{display:inline-block;font-size:10px;color:#f68b45;border:1px solid #324b64;border-radius:20px;padding:5px 10px}
#ce-engagement-dialog .ce-recap-intro{font-size:20px;color:#eef2f5;letter-spacing:-.025em;margin:22px 0 16px}
#ce-engagement-dialog .ce-recap-observation{font-size:13px;color:#c0cad4}
#ce-engagement-dialog .ce-recap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 14px}
#ce-engagement-dialog .ce-recap-metric{min-width:0;background:#151b23;border:1px solid #2b3646;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:6px}
#ce-engagement-dialog .ce-recap-metric span{font-size:11px;color:#b8c4d1}
#ce-engagement-dialog .ce-recap-metric strong{font-size:26px;font-weight:550;letter-spacing:-1px;color:#eef2f5;overflow-wrap:anywhere}
#ce-engagement-dialog .ce-recap-metric small{font-size:10px;color:#a0afbd}
#ce-engagement-dialog .ce-recap-tip{background:#edf1f5;border-radius:22px;color:#10141a;padding:18px;margin-top:22px}
#ce-engagement-dialog .ce-recap-tip strong{font-size:11px;font-weight:700}
#ce-engagement-dialog .ce-recap-tip p{font-size:14px;color:#242e3d;margin:6px 0 0}
.ce-badge-toast{position:fixed;z-index:2147483540;bottom:calc(95px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(420px,calc(100% - 24px));display:flex;align-items:center;gap:10px;padding:10px 14px;background:#101722;border:1px solid #4d7cab;border-radius:24px;color:#eef2f5;font:13px/1.4 system-ui;box-shadow:0 12px 30px #0005}
.ce-badge-toast .ce-badge-art{width:60px;flex:none}.ce-badge-toast strong{font-size:12px}.ce-badge-toast button{border:0;border-radius:18px;min-height:44px;background:#f68b45;color:#0a0f16;padding:8px 12px;font:600 11px system-ui;margin-left:auto;cursor:pointer}
@media(max-width:600px){#ce-engagement-dialog{padding:0}#ce-engagement-dialog .ce-engagement-panel{max-height:100dvh;height:100dvh;max-width:none;border-radius:0;padding:0 16px calc(30px + env(safe-area-inset-bottom,0px));border:0}#ce-engagement-dialog .ce-engagement-header{padding-top:calc(12px + env(safe-area-inset-top,0px))}#ce-engagement-dialog .ce-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#ce-engagement-dialog .ce-badge-card{padding:12px;border-radius:20px}#ce-engagement-dialog .ce-badge-card strong{font-size:13px}#ce-engagement-dialog .ce-recap-metric strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ce-badge-art.is-playing img,.ce-badge-art.is-playing::after{animation:none!important}.ce-badge-art.is-playing{outline:1px solid #73a1cf;border-radius:20px}}
