@property --rx{syntax:"<angle>";inherits:false;initial-value:0deg}@property --ry{syntax:"<angle>";inherits:false;initial-value:0deg}.fx-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink-0)}.fx-hero-static{background:radial-gradient(ellipse 80% 50% at 35% -10%,var(--ember-glow),transparent 70%),radial-gradient(ellipse 60% 40% at 78% 6%,color-mix(in oklch,var(--gilt) 10%,transparent),transparent 65%),var(--ink-0);-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent)}.fx-hero-canvas,.fx-hero-static{position:absolute;inset:0;pointer-events:none}.fx-hero-canvas{opacity:0;transition:opacity .2s var(--ease-out-quart)}.fx-hero-canvas[data-ready]{opacity:1}.fx-hero-canvas canvas{display:block;width:100%;height:100%}.fx-hero-pause{position:absolute;right:12px;bottom:12px;z-index:20;display:grid;place-items:center;width:32px;height:32px;border-radius:9999px;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);transition:color .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart)}.fx-hero-pause:hover{color:var(--text-1);border-color:var(--border-default)}.fx-hero-pause:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ink-0),0 0 0 4px var(--ember)}@media (pointer:coarse){.fx-hero-pause{width:44px;height:44px}}.fx-tilt{transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .3s var(--ease-out-quart)}.fx-tilt[data-live=true]{transition-duration:0s;will-change:transform}.fx-tilt--off{transform:none;animation:none}@media (hover:none),(pointer:coarse){.fx-tilt:not(.fx-tilt--off){animation:fx-idle-drift 6s ease-in-out infinite alternate}}@keyframes fx-idle-drift{0%{transform:perspective(1200px) rotateX(1.2deg) rotateY(-1.6deg)}to{transform:perspective(1200px) rotateX(-1.2deg) rotateY(1.6deg)}}.fx-holo{position:relative}.fx-holo-layer{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:calc(var(--holo-strength, .6) * .85);background:linear-gradient(115deg,transparent 20%,color-mix(in oklch,var(--gilt) 55%,transparent) 36%,color-mix(in oklch,var(--ember) 40%,transparent) 44%,color-mix(in oklch,var(--gilt) 60%,transparent) 52%,transparent 70%);background-size:300% 300%;background-position:var(--px,50%) var(--py,50%);mix-blend-mode:color-dodge;filter:brightness(1.05) contrast(1.15)}.fx-medal-scene{perspective:1200px;display:inline-block}.fx-medal{position:relative;width:100%;height:100%;transform-style:preserve-3d}.fx-medal-face{position:absolute;inset:0;border-radius:9999px;display:grid;place-items:center;backface-visibility:hidden;background:var(--ink-2);border:1px solid var(--border-default);color:var(--text-2)}.fx-medal-front{transform:translateZ(3px)}.fx-medal-back{transform:rotateY(180deg) translateZ(3px)}.fx-medal-edge{position:absolute;inset:0;border-radius:9999px;transform:translateZ(-3px);background:var(--ink-1);box-shadow:inset 0 0 0 1px var(--border-subtle)}.fx-medal[data-rarity=common] .fx-medal-face{color:var(--neutral-delta)}.fx-medal[data-rarity=rare] .fx-medal-face{border-color:var(--rarity-rare)}.fx-medal[data-rarity=epic] .fx-medal-face{border-color:color-mix(in oklch,var(--rarity-epic) 60%,transparent);box-shadow:0 0 16px -4px color-mix(in oklch,var(--rarity-epic) 40%,transparent)}.fx-medal[data-rarity=legendary] .fx-medal-face{border-color:color-mix(in oklch,var(--gilt) 60%,transparent);box-shadow:0 0 20px -6px color-mix(in oklch,var(--gilt) 45%,transparent)}.fx-medal-scene[data-stamped=false] .fx-medal-face{background:var(--ink-0);border:1px dashed var(--border-default);box-shadow:inset 0 1px 2px rgba(0,0,0,.6);color:var(--text-3)}.fx-medal-scene[data-stamped=false] .fx-medal{animation:none!important}@media (hover:hover) and (pointer:fine){.fx-medal-scene[data-stamped=true]:hover .fx-medal{animation:fx-medal-spin 6s linear infinite}}@keyframes fx-medal-spin{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}.fx-depth{position:relative}.fx-depth .fx-depth-layer{transform:translate3d(calc(var(--fx-dx, 0) * var(--fx-d, 0) * 6px),calc(var(--fx-dy, 0) * var(--fx-d, 0) * 4px),0);transition:transform .2s var(--ease-out-quart)}.fx-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}