.candle{--candle-h:64px;--flicker-time:1.9s;--core-time:1.3s;--breathe-time:2.6s;--candle-flame:var(--flame-500);--candle-core:var(--flame-100);--candle-wick:var(--umber-700);--candle-wax:var(--cream-50);--candle-edge:#e3cf9f;--candle-wax-off:var(--color-bg-subtle);--candle-edge-off:var(--cream-600);--candle-wick-off:var(--color-text-faint);--candle-glow:rgba(255,214,120,0.8);position:relative;display:inline-flex;flex:none;justify-content:center;align-items:flex-end;height:var(--candle-h)}[data-theme=dark] .candle{--candle-wax:#efe4cc;--candle-edge:#c9b27e;--candle-wick:var(--umber-900);--candle-wax-off:transparent;--candle-edge-off:color-mix(in srgb,var(--color-gold) 45%,transparent);--candle-glow:rgba(255,196,90,0.5)}.candle-xs{--candle-h:32px}.candle-sm{--candle-h:44px}.candle-md{--candle-h:54px}.candle-svg{position:relative;display:block;width:calc(var(--candle-h) / 2);height:var(--candle-h);overflow:visible}.candle-flame-outer{fill:var(--candle-flame)}.candle-flame-core{fill:var(--candle-core)}.candle-wick{fill:var(--candle-wick)}.candle-body{fill:var(--candle-wax);stroke:var(--candle-edge)}.candle.is-unlit .candle-wick{fill:var(--candle-wick-off)}.candle.is-unlit .candle-body{fill:var(--candle-wax-off);stroke:var(--candle-edge-off);stroke-dasharray:3 3}.candle.is-unlit .candle-svg{translate:0 calc(var(--candle-h) * -10 / 64)}.candle-glow{--glow-size:calc(var(--candle-h) * 0.8);position:absolute;top:calc(var(--candle-h) * -.13);left:50%;width:var(--glow-size);height:var(--glow-size);margin-left:calc(var(--glow-size) / -2);border-radius:50%;background:radial-gradient(circle,var(--candle-glow),transparent 70%);opacity:.6;pointer-events:none}.candle.tier-2 .candle-glow{opacity:.85;transform:scale(1.1)}.candle.tier-3 .candle-glow{opacity:1;transform:scale(1.3)}.candle-flame{animation:candle-flicker var(--flicker-time) ease-in-out var(--flicker-delay,0s) infinite}.candle-flame,.candle-flame-core{transform-box:fill-box;transform-origin:50% 100%}.candle-flame-core{animation:candle-core var(--core-time) ease-in-out var(--flicker-delay,0s) infinite}.candle-glow{animation:candle-breathe var(--breathe-time) ease-in-out var(--flicker-delay,0s) infinite}.candle:nth-child(3n+2){--flicker-delay:-0.6s}.candle:nth-child(3n){--flicker-delay:-1.3s}@keyframes candle-flicker{0%,to{transform:scale(1) skewX(0deg)}20%{transform:scale(.95,1.09) skewX(-3.5deg)}40%{transform:scale(1.04,.93) skewX(2deg)}60%{transform:scale(.97,1.11) skewX(-1.5deg)}80%{transform:scale(1.02,.96) skewX(3deg)}}@keyframes candle-core{50%{opacity:.75;transform:scaleY(1.12)}}@keyframes candle-breathe{50%{scale:1.14}}.candle.is-igniting .candle-flame{animation:candle-ignite .7s var(--ease) both,candle-flicker var(--flicker-time) ease-in-out .7s infinite}.candle.is-igniting .candle-glow{animation:candle-flare 1.1s var(--ease) both,candle-breathe var(--breathe-time) ease-in-out 1.1s infinite}@keyframes candle-ignite{0%{opacity:0;transform:scale(.2,.1)}60%{opacity:1;transform:scale(1.12,1.18)}}@keyframes candle-flare{0%{opacity:0;scale:.4}45%{opacity:1;scale:1.45}}@media (prefers-reduced-motion:reduce){.candle-flame,.candle-flame-core,.candle-glow,.candle.is-igniting .candle-flame,.candle.is-igniting .candle-glow{animation:none}}.candle-btn{--cb-height:var(--control-md);--cb-medal:calc(var(--cb-height) - 8px);--cb-top:var(--amber-100);--cb-bottom:var(--amber-300);--cb-text:var(--gold-950);--cb-edge:color-mix(in srgb,var(--gold-600) 28%,transparent);--cb-shadow:0 6px 16px -10px rgba(120,88,20,0.6);--cb-shine:rgba(255,255,255,0.7);--cb-medal-bg:var(--cream-50);--cb-medal-ring:0 1px 3px rgba(120,88,20,0.3);--cb-flame:var(--gold-300);--cb-flame-line:var(--flame-700);position:relative;display:inline-flex;align-items:center;gap:var(--sp-10);min-height:var(--cb-height);padding:0 var(--sp-20) 0 var(--sp-4);border:none;border-radius:var(--radius-full);background:linear-gradient(180deg,var(--cb-top),var(--cb-bottom));color:var(--cb-text);box-shadow:inset 0 1px 0 var(--cb-shine),inset 0 0 0 1px var(--cb-edge),var(--cb-shadow);font:inherit;font-size:var(--fs-14);font-weight:600;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s var(--ease)}[data-theme=dark] .candle-btn{--cb-top:var(--umber-700);--cb-bottom:var(--umber-800);--cb-text:var(--gold-200);--cb-edge:color-mix(in srgb,var(--gold-200) 30%,transparent);--cb-shadow:0 6px 16px -10px rgba(0,0,0,0.8);--cb-shine:rgba(255,255,255,0.06);--cb-medal-bg:var(--umber-900);--cb-medal-ring:inset 0 0 0 1px color-mix(in srgb,var(--gold-200) 25%,transparent)}.candle-btn-icon{flex:none;box-sizing:initial;width:15px;height:15px;padding:calc((var(--cb-medal) - 15px) / 2);border-radius:50%;background:var(--cb-medal-bg);box-shadow:var(--cb-medal-ring);fill:var(--cb-flame);stroke:var(--cb-flame-line);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:box-shadow .25s var(--ease)}.candle-btn:hover:not(:disabled){transform:translateY(-1px);--cb-edge:color-mix(in srgb,var(--gold-600) 42%,transparent);--cb-shadow:0 10px 20px -10px rgba(120,88,20,0.65)}.candle-btn:hover:not(:disabled) .candle-btn-icon{box-shadow:var(--cb-medal-ring),0 0 12px 2px color-mix(in srgb,var(--flame-300) 80%,transparent)}.candle-btn.is-lit{--cb-top:var(--cream-50);--cb-bottom:var(--cream-200);--cb-text:var(--gold-800);--cb-edge:color-mix(in srgb,var(--gold-500) 25%,transparent);--cb-shadow:0 0 0 transparent;--cb-flame:var(--flame-500);cursor:default}[data-theme=dark] .candle-btn.is-lit{--cb-top:var(--umber-800);--cb-bottom:var(--umber-850);--cb-text:var(--gold-200)}.candle-btn.is-lit .candle-btn-icon{background:radial-gradient(circle at 50% 62%,var(--flame-100) 0,var(--flame-300) 45%,var(--flame-500) 100%);box-shadow:0 0 14px 3px color-mix(in srgb,var(--flame-300) 60%,transparent)}.candle-btn-icon,.candle-btn-label{position:relative}.candle-btn.is-bursting{animation:candle-btn-press .45s var(--ease)}.candle-btn.is-bursting .candle-btn-icon{animation:candle-btn-glow 1.2s var(--ease)}.candle-btn.is-bursting .candle-btn-icon path{transform-box:fill-box;transform-origin:50% 100%;animation:candle-btn-catch .7s var(--ease) .08s both}.candle-btn.is-bursting .candle-btn-label{animation:candle-btn-label-in .45s var(--ease) .15s both}.candle-btn.is-bursting:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at calc(var(--sp-4) + var(--cb-medal) / 2) 50%,color-mix(in srgb,var(--flame-300) 85%,transparent) 0,transparent 75%);opacity:0;animation:candle-btn-wash .9s ease-out .1s;pointer-events:none}.candle-btn.is-bursting:after{content:"";position:absolute;top:2px;left:calc(var(--sp-4) + var(--cb-medal) / 2 - 2px);width:4px;height:4px;border-radius:50%;background:var(--flame-500);box-shadow:-8px 6px 0 -.5px var(--flame-300),7px 3px 0 -.5px var(--flame-700);opacity:0;animation:candle-btn-sparks .9s ease-out .25s;pointer-events:none}@keyframes candle-btn-press{30%{transform:scale(.95)}65%{transform:scale(1.02)}}@keyframes candle-btn-catch{0%{opacity:0;transform:scale(.3,.2)}55%{opacity:1;transform:scale(1.1,1.22)}80%{transform:scale(.97,.95)}}@keyframes candle-btn-glow{35%{box-shadow:0 0 18px 6px color-mix(in srgb,var(--flame-300) 85%,transparent)}}@keyframes candle-btn-wash{30%{opacity:1}}@keyframes candle-btn-sparks{0%{opacity:0;transform:translateY(4px) scale(1)}25%{opacity:1}to{opacity:0;transform:translateY(-20px) scale(.5)}}@keyframes candle-btn-label-in{0%{opacity:0;transform:translateX(6px)}}@media (prefers-reduced-motion:reduce){.candle-btn,.candle-btn-icon{transition:none}.candle-btn.is-bursting,.candle-btn.is-bursting .candle-btn-icon,.candle-btn.is-bursting .candle-btn-icon path,.candle-btn.is-bursting .candle-btn-label{animation:none}.candle-btn.is-bursting:after,.candle-btn.is-bursting:before{display:none}}