/* 수정할 값: 버튼 위치·크기·색상 */
:root {
    --bpn-top-right: 24px;
    --bpn-top-bottom: 100px;
    --bpn-top-size: 48px;
    --bpn-top-color: #31583b;
    --bpn-top-motion: 220ms;
}
html.bpn-subpage-top-enabled .wrapper > .gotop { display: none !important; }
#bpn-subpage-gotop {
    position: fixed;
    right: var(--bpn-top-right);
    bottom: var(--bpn-top-bottom);
    width: var(--bpn-top-size);
    height: var(--bpn-top-size);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dce5dd;
    border-radius: 50%;
    background: #fff;
    color: var(--bpn-top-color);
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    cursor: pointer;
    line-height: 1;
    font-family: Arial, sans-serif;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity var(--bpn-top-motion) ease, transform var(--bpn-top-motion) ease, visibility 0s linear var(--bpn-top-motion);
} 
#bpn-subpage-gotop.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}
#bpn-subpage-gotop[hidden] { display: none !important; }
#bpn-subpage-gotop span { font-size: 23px; }
#bpn-subpage-gotop small { margin-top: 2px; font-size: 9px; font-weight: bold; }
#bpn-subpage-gotop:hover { background: #f1f6f1; }
#bpn-subpage-gotop:focus-visible { outline: 3px solid #80a88b; outline-offset: 3px; }
@media print { #bpn-subpage-gotop { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
    #bpn-subpage-gotop { transition: none; transform: none; }
}
