.sticky-bottom {
  position:fixed;inset:auto 0 0;z-index:90;
  background:#f2490c;color:#f2f0f0;
  padding-bottom:env(safe-area-inset-bottom,0px);
  transform:translateY(calc(100% + 12px));visibility:hidden;pointer-events:none;
  transition:transform .55s cubic-bezier(.22,1,.36,1),visibility 0s .55s;
}
.sticky-bottom.is-visible {
  transform:translateY(0);visibility:visible;pointer-events:auto;
  transition:transform .55s cubic-bezier(.22,1,.36,1),visibility 0s;
}
.sticky-bottom-inner {
  width:calc(100% - 164px);max-width:1276px;
  margin-left:max(85px,calc((100% - 1270px)/2));
  min-height:64px;display:flex;align-items:center;gap:21px;
}
.sticky-bottom-badge {
  flex:0 0 96px;width:96px;height:22px;padding:0 6px;
  display:flex;align-items:center;gap:10px;border-radius:6px;
  background:#f2f0f0;color:#f2220f;
  font:500 16px/1 var(--display);font-variation-settings:'wdth' 200,'wght' 500;
  letter-spacing:1.6px;
}
.sticky-bottom-badge i {
  flex:0 0 14px;width:14px;height:14px;border:2px solid #f9bdb8;
  background:#f2220f;border-radius:50%;
}
.sticky-bottom .sticky-bottom-copy {
  margin:0;color:#f2f0f0;font:400 16px/22px var(--display);
  font-variation-settings:'wdth' 200,'wght' 400;
}
.sticky-bottom-action {
  position:relative;flex:0 0 216px;margin-left:auto;
  width:216px;height:41px;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:0 16px;background:#fff;color:#7f27ff;text-decoration:none;
  font:400 14px/1.2 var(--display);font-variation-settings:'wdth' 200,'wght' 400;
  letter-spacing:1.4px;white-space:nowrap;
  transition:background-color .2s,color .2s;
}
.sticky-bottom-action svg{flex:0 0 24px;width:24px;height:24px}
.footer .sticky-bottom .sticky-bottom-action:hover{background:#321066;color:#fff}
.sticky-bottom-action:focus-visible{outline:2px solid #321066;outline-offset:3px}
.has-sticky-bottom{padding-bottom:var(--sticky-bottom-height,64px)}
html:has(.has-sticky-bottom){scroll-padding-bottom:calc(var(--sticky-bottom-height,64px) + 16px)}
/* Keep the pinned ERP scene's progress and scroll hint above the fixed bar. */
.has-sticky-bottom .erp-original .animated .scene-bottom {
  bottom:calc(20px + var(--sticky-bottom-height,64px));
}
@media(min-width:900px) and (max-width:1100px){
  .sticky-bottom-inner{width:calc(100% - 96px);margin-inline:48px;gap:16px}
  .sticky-bottom .sticky-bottom-copy{font-size:14px;line-height:20px}
}
@media(max-width:899px){
  .sticky-bottom-inner {
    position:relative;width:calc(100% - 48px);max-width:none;margin-inline:24px;
    min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) 170px;
    align-items:start;gap:28px;padding-top:7px;padding-bottom:17px;
  }
  .sticky-bottom .sticky-bottom-copy{font-size:12px;line-height:16px}
  .sticky-bottom-action{width:170px;height:32.27px;margin:8px 0 0;gap:0}
  .sticky-bottom-action::before{content:'';position:absolute;inset:-6px 0}
  .sticky-bottom-action svg{display:none}
  .sticky-bottom-badge {
    position:absolute;right:0;top:-8px;width:66px;height:15px;
    padding:0 4px;gap:7px;font-size:11px;letter-spacing:1.1px;
  }
  .sticky-bottom-badge i{width:9.6px;height:9.6px;flex-basis:9.6px;border-width:1.4px}
}
@media(max-width:374px){
  .sticky-bottom-inner{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:12px}
  .sticky-bottom-action{width:100%;height:38px;margin:0;justify-content:center}
  .sticky-bottom .sticky-bottom-copy{max-width:100%;padding-right:0}
}
@media(prefers-reduced-motion:reduce){
  .sticky-bottom,.sticky-bottom.is-visible{transition:none}
}
