.to-top{position:fixed;z-index:4;right:16px;bottom:calc(var(--tabbar-h,0px) + var(--tabbar-bottom-gap,0px) + 14px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgb(250 249 239 / .86);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);color:#242723;box-shadow:0 4px 14px rgb(36 39 35 / .14),inset 0 0 0 .5px rgb(36 39 35 / .10);opacity:0;transform:translateY(12px) scale(.88);pointer-events:none;transition:opacity .28s ease,transform .42s cubic-bezier(.3,1.35,.5,1)}
.to-top::before{content:"";position:absolute;inset:-1px;border-radius:50%}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top[data-blocked],.to-top[data-blocked]~:is(.to-top-label,.to-top-fx),body.mobile-search-open :is(.to-top,.to-top-label,.to-top-fx),body:has(dialog[open]) :is(.to-top,.to-top-label,.to-top-fx){visibility:hidden}
.to-top .to-top-ring{position:absolute;inset:0;width:42px;height:42px;overflow:visible;pointer-events:none}
.to-top-track{fill:none;stroke:rgb(36 39 35 / .12);stroke-width:2}
.to-top-bar{fill:none;stroke:#ed5129;stroke-width:2;stroke-linecap:round;stroke-dasharray:122.5;stroke-dashoffset:122.5}
.to-top-dot{fill:#ed5129;stroke:#fff;stroke-width:1.5;opacity:0}
.to-top .to-top-arrow{width:18px;height:18px;position:relative;pointer-events:none}
.to-top:focus-visible{outline:2px solid #ed5129;outline-offset:2px}
.to-top-label{position:fixed;z-index:4;right:68px;bottom:calc(var(--tabbar-h,0px) + var(--tabbar-bottom-gap,0px) + 18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;height:34px;padding:0 12px;border-radius:17px;background:rgb(36 39 35 / .92);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(10px) scale(.92);transition:opacity .22s ease,transform .38s cubic-bezier(.3,1.35,.5,1)}
.to-top-label.is-on{opacity:1;transform:none}
.to-top-fx{position:fixed;z-index:4;right:16px;bottom:calc(var(--tabbar-h,0px) + var(--tabbar-bottom-gap,0px) + 14px + env(safe-area-inset-bottom,0px));width:42px;height:42px;overflow:visible;pointer-events:none}
.to-top-fx *{pointer-events:none}
/* The site tab bar ends at 760px; the supplied control changes size at 768px. */
@media(min-width:761px){.to-top,.to-top-fx{bottom:28px}.to-top-label{bottom:32px}}
@media(min-width:768px){
 .to-top{width:48px;height:48px;right:28px;bottom:28px;cursor:pointer;transition:opacity .28s ease,transform .42s cubic-bezier(.3,1.35,.5,1),box-shadow .2s ease,background .2s ease}
 .to-top::before{inset:0}
 .to-top .to-top-ring{width:48px;height:48px}
 .to-top .to-top-arrow{width:20px;height:20px}
 .to-top:hover{background:rgb(250 249 239 / .96);box-shadow:0 8px 22px rgb(36 39 35 / .18),inset 0 0 0 .5px rgb(36 39 35 / .12)}
 .to-top.is-on:hover{transform:translateY(-2px)}
 .to-top.is-on:active{transform:scale(.96)}
 .to-top-fx{width:48px;height:48px;right:28px;bottom:28px}
 .to-top-label{right:86px;bottom:35px}
 .to-top:is(:hover,:focus-visible)~.to-top-label{opacity:0}
 .to-top::after{content:"맨 위로";position:absolute;right:calc(100% + 10px);top:50%;transform:translate(6px,-50%);padding:6px 10px;border-radius:8px;background:rgb(36 39 35 / .9);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
 .to-top.is-on:hover::after,.to-top.is-on:focus-visible::after{opacity:1;transform:translate(0,-50%)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.to-top{background:rgb(250 249 239 / .96)}}
@media(prefers-reduced-transparency:reduce){.to-top{background:rgb(250 249 239 / .96);-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.to-top{transition:opacity .12s ease;transform:none}.to-top.is-on:hover,.to-top.is-on:active{transform:none}.to-top::after,.to-top-label{transition:none}.to-top-label{transform:none}}
/* Collections have no bottom navigation; keep the same viewport-edge control. */
.collections-v2 :is(.to-top,.to-top-label,.to-top-fx){z-index:25}
@media(max-width:767px){.collections-v2 :is(.to-top,.to-top-fx){bottom:calc(28px + env(safe-area-inset-bottom,0px))}.collections-v2 .to-top-label{bottom:calc(32px + env(safe-area-inset-bottom,0px))}}
