.tp-ground{background:radial-gradient(ellipse 90% 60% at 50% 30%, color-mix(in srgb, var(--tpl-bg) 85%, white 6%), transparent 70%), radial-gradient(ellipse at 50% 110%, var(--tp-deep), transparent 65%), var(--tpl-bg)}.tp-hint{animation:2.4s ease-in-out infinite tp-blink}@keyframes tp-blink{0%,to{opacity:.75}50%{opacity:.3}}.tp-tray-wrap{width:17rem;height:9rem;position:relative}.tp-tray{background:radial-gradient(at 50% 42%,#0000 52%,#0000002e 53%,#0000 56%),radial-gradient(at 40% 30%,#fbe7b0,#c9953f 45%,#7d5420 80%);border-radius:50%;height:4.6rem;position:absolute;bottom:.4rem;left:0;right:0;box-shadow:0 6px #6a4518,0 22px 34px -14px #000000b3}.tp-bowl{background:linear-gradient(#e7c27a,#9b6a2b);border-radius:0 0 2.3rem 2.3rem/0 0 2rem 2rem;width:4.6rem;height:2.6rem;position:absolute;bottom:2.1rem;left:50%;transform:translate(-50%);box-shadow:inset 0 -6px 10px #0000004d}.tp-bowl:before{content:"";background:radial-gradient(at 45% 40%,#8c3a1e,#4a1408 70%);border:2px solid #f1d394;border-radius:50%;height:1rem;position:absolute;top:-.45rem;left:6%;right:6%}.tp-candle{background:linear-gradient(90deg,#f3e6d3,#fffaf0 45%,#dccab0);border-radius:.2rem .2rem .35rem .35rem;width:.9rem;height:2.6rem;position:absolute;transform:translate(-50%);box-shadow:0 2px #0003}.tp-candle-back{filter:brightness(.9);width:.8rem;height:2.2rem}.tp-candle:before{content:"";background:#3a2a1c;width:2px;height:.4rem;position:absolute;top:-.35rem;left:50%;transform:translate(-50%)}.tp-flame{transform-origin:50% 100%;filter:drop-shadow(0 0 6px #ffbe5ae6);background:radial-gradient(at 50% 75%,#fffbe6 0 22%,#ffd36b 45%,#ff8a1f 75%,#0000 78%);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:.7rem;height:1.15rem;position:absolute;bottom:calc(100% + .15rem);left:50%;transform:translate(-50%)scale(0)}.tp-glow{opacity:0;pointer-events:none;background:radial-gradient(at 50% 70%,#ffbe6473,#0000 65%);border-radius:50%;width:22rem;height:14rem;transition:opacity 1.2s .3s;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}[data-leaving=true] .tp-flame{animation:.45s cubic-bezier(.3,1.6,.5,1) both tp-ignite,1.4s ease-in-out infinite tp-flicker}[data-leaving=true] .tp-glow{opacity:1}@keyframes tp-ignite{0%{transform:translate(-50%)scale(0)}to{transform:translate(-50%)scale(1)}}@keyframes tp-flicker{0%,to{transform:translate(-50%)scale(1)rotate(0)}30%{transform:translate(-50%)scale(1.06,.94)rotate(-3deg)}60%{transform:translate(-50%)scale(.95,1.06)rotate(2deg)}}.tp-light{pointer-events:none;background:radial-gradient(70% 60% at 50% 0,#ffbe6e2e,#0000 70%);height:32rem;position:absolute;inset:0 0 auto}.tp-gold{background:linear-gradient(180deg, #fff0c9, var(--tpl-accent) 55%, #b07e33);color:#0000;-webkit-background-clip:text;background-clip:text}.tp-enter{animation:1.1s cubic-bezier(.2,.7,.2,1) both tp-rise}@keyframes tp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.tp-d1{animation-delay:.3s}.tp-d2{animation-delay:.65s}.tp-d3{animation-delay:1s}.tp-d4{animation-delay:1.35s}.tp-d5{animation-delay:1.7s}[data-gate=closed] .tp-enter{animation-play-state:paused}.tp-card{background:var(--tpl-surface);border:1px solid color-mix(in srgb, var(--tpl-accent) 45%, transparent);border-radius:1.5rem 1.5rem .4rem .4rem}.tp-count>div>span:first-child{color:var(--tpl-accent)}.tp-arch{border:2px solid var(--tpl-accent);border-radius:999px 999px .6rem .6rem;padding:.45rem;overflow:hidden}.tp-arch img{border-radius:999px 999px .3rem .3rem}.tp-button{border:1px solid var(--tpl-accent);color:var(--tpl-accent);font-family:var(--font-inscribe);letter-spacing:.26em;text-transform:uppercase;padding:.75rem 1.4rem;font-size:11px;transition:background-color .2s,color .2s;display:inline-block}.tp-button:hover{background:var(--tpl-accent);color:var(--tp-deep)}.tp-reveal{transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}.tp-reveal[data-reveal=out]{opacity:0;transform:translateY(24px)}@media (prefers-reduced-motion:reduce){.tp-enter,.tp-hint,[data-leaving=true] .tp-flame{animation:none}[data-leaving=true] .tp-flame{transform:translate(-50%)scale(1)}.tp-reveal[data-reveal=out]{opacity:1;transform:none}}
