.cake-tier{border-radius:50% 50% 8px 8px/6% 6% 3% 3%;box-shadow:0 3px 6px -2px #0000001f,inset 0 2px 6px -2px #00000026,inset 0 1px #ffffff2e;flex-shrink:0;overflow:hidden;position:relative}.cake-tier-sponge{background-image:repeating-radial-gradient(circle at 2px 2px,rgba(0,0,0,.05) 1px,transparent 2px);background-size:6px 6px;border-radius:inherit;inset:0;pointer-events:none;position:absolute}.cake-tier-edge{border-radius:0 0 8px 8px;bottom:0;height:3px;left:0;position:absolute;width:100%}.cake-tier-side-shade{background:linear-gradient(90deg,transparent,rgba(0,0,0,.08));border-radius:6px;position:absolute;right:0;top:3px;width:12px}.cake-tier-side-light{background:linear-gradient(90deg,hsla(0,0%,100%,.15),transparent);border-radius:5px;left:0;position:absolute;top:3px;width:10px}.cake-candles{inset:0;pointer-events:none;position:absolute}.cake-candle-wick{background:#5b4632;height:5px}.cake-candle-stripe,.cake-candle-wick{border-radius:.5px;position:absolute;width:1px}.cake-candle-stripe{height:22px;opacity:.3}.cake-candle-wax{border-radius:0 0 3px 3px;height:8px;opacity:.7;position:absolute;width:3px}.cake-sprinkles{inset:0;overflow:hidden;pointer-events:none;position:absolute}.cake-sprinkle{border-radius:2px;box-shadow:0 0 2px #ffffff4d;position:absolute;transform-origin:center}.cake-berries{inset:0;pointer-events:none;position:absolute}.cake-berry-stem{background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:50%;box-shadow:0 1px 2px #00000026;height:4px;position:absolute;transform:rotate(-25deg);width:8px}.cake-berry-highlight{background:#fff9;border-radius:50%;position:absolute}.cake-canvas-container{align-items:center;display:inline-flex;flex-direction:column;position:relative}.cake-canvas-backdrop{background:radial-gradient(ellipse at 50% 40%,var(--cake-canvas-backdrop,#fff8ee) 0,color-mix(in srgb,var(--cake-canvas-backdrop,#fff8ee) 85%,#000 15%) 55%,color-mix(in srgb,var(--cake-canvas-backdrop,#fff8ee) 75%,#000 25%) 100%);border-radius:50%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.cake-canvas-plate{background:radial-gradient(ellipse,var(--cake-canvas-plate-from,#f5f0e8) 0,var(--cake-canvas-plate-to,#e0d6c5) 100%);border-radius:50%;box-shadow:0 4px 15px var(--cake-canvas-shadow-color,rgba(58,42,24,.12)),inset 0 1px #fff6}.cake-canvas-plate,.cake-canvas-plate-rim{flex-shrink:0;transform:perspective(600px) rotateX(2deg);transform-origin:center bottom}.cake-canvas-plate-rim{background:radial-gradient(ellipse,var(--cake-canvas-rim-from,#d8ccb7) 0,var(--cake-canvas-rim-to,#c9baa0) 100%);border-radius:0 0 50% 50%/0 0 100% 100%;box-shadow:inset 0 -1px 2px #3a2a180f}.cake-canvas-shadow{background:radial-gradient(ellipse at 50% 50%,var(--cake-canvas-shadow-color,rgba(58,42,24,.18)) 0,color-mix(in srgb,var(--cake-canvas-shadow-color,rgba(58,42,24,.18)) 40%,transparent) 50%,transparent 100%);border-radius:50%;filter:blur(10px);position:absolute;transform:perspective(300px) rotateX(6deg)}.cake-canvas-tier-stack{align-items:center;display:flex;flex-direction:column}.cake-canvas-decor{position:relative}.cake-canvas-tier-row{align-items:center;display:flex;flex-direction:column}.cake-frosting{border-radius:8px 8px 4px 4px;flex-shrink:0;position:relative}.cake-frosting:after{background:linear-gradient(180deg,hsla(0,0%,100%,.35),hsla(0,0%,100%,.08) 35%,hsla(0,0%,100%,.02) 60%,transparent);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.cake-drip{border-radius:4px 4px 50% 50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.cake-drip,.cake-drip-highlight{position:absolute;top:100%;transform:translate(-50%)}.cake-drip-highlight{background:#ffffff1f;border-radius:50%}.cake-drip-svg{pointer-events:none}.cake-cream-cheese-band{background:linear-gradient(180deg,#fdf8f0,#f5e8d8 30%,#efe0cc 60%,#e8d4b8);border-radius:6px 6px 3px 3px;box-shadow:inset 0 1px #fff9,inset 0 -1px 2px #8b6d4c14,0 2px 4px #8b6d4c0f;flex-shrink:0;position:relative}.cake-cream-cheese-band:before{background-image:repeating-radial-gradient(circle at 1px 1px,rgba(139,109,76,.04) .5px,transparent 1px);background-size:4px 4px;border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.cake-frosting-cream-cheese{box-shadow:inset 0 1px #fff6}.cake-flame{background:radial-gradient(ellipse at 50% 100%,#fff8e1 0,#ffd54f 35%,#ff7043 65%,transparent 100%);border-radius:50%/60% 60% 40% 40%;filter:blur(.4px);transform-origin:center bottom}.cake-glow{background:radial-gradient(circle,#f2c14b 0,transparent 70%);border-radius:50%}@keyframes a{0%,to{opacity:.8;transform:scaleY(1) scaleX(1) translateY(0)}12%{opacity:1;transform:scaleY(1.25) scaleX(.9) translateY(-1.5px)}30%{opacity:.8;transform:scaleY(.92) scaleX(1.06) translateY(.5px)}48%{opacity:.7;transform:scaleY(.82) scaleX(1.1) translateY(.8px)}65%{opacity:.95;transform:scaleY(1.2) scaleX(.92) translateY(-1.2px)}82%{opacity:.88;transform:scaleY(1.05) scaleX(1.02) translateY(-.4px)}}.candle-flame{animation:a .8s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes b{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.4;transform:scale(1.15)}}.candle-glow{animation:b 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.candle-flame,.candle-glow{animation:none}}@media(max-width:640px){.cake-tier{border-radius:50% 50% 6px 6px/8% 8% 4% 4%}.cake-tier-edge{border-radius:0 0 6px 6px;height:2px}.cake-candle-wax{height:6px}.cake-canvas-plate{box-shadow:0 2px 10px var(--cake-canvas-shadow-color,rgba(58,42,24,.1)),inset 0 1px #fff6;transform:none}.cake-canvas-plate-rim{box-shadow:inset 0 -1px 2px #3a2a180a;transform:none}.cake-canvas-shadow{filter:blur(5px);transform:none}.cake-canvas-container{max-width:100%}.cake-canvas-decor,.cake-canvas-tier-stack,.cake-frosting{max-width:100%;overflow:visible}}@media(max-width:400px){.cake-canvas-container{transform:scale(.85);transform-origin:top center}}@media(max-width:360px){.cake-canvas-container{transform:scale(.7);transform-origin:top center}}@media(max-width:320px){.cake-canvas-container{max-width:100%;overflow:hidden;transform:scale(.6);transform-origin:top center}.cake-canvas-backdrop{display:none}}@media(min-width:1024px){.cake-tier{box-shadow:inset 0 2px 8px -2px #0000002e}.cake-canvas-plate{box-shadow:0 6px 20px var(--cake-canvas-shadow-color,rgba(58,42,24,.15)),inset 0 1px #fff6}}
