/**
 * O6 Toolkit - Back to Top Button
 */
.o6tk-btt {
    position: fixed;
    z-index: 9990;
    width: var(--o6tk-btt-size, 48px);
    height: var(--o6tk-btt-size, 48px);
    background: var(--o6tk-btt-bg, var(--o6tk-primary, #6366f1));
    color: var(--o6tk-btt-icon, #ffffff);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: background 0.3s ease;
}
.o6tk-btt[data-pos="right"] {
    right: var(--o6tk-btt-offset-x, 24px);
    bottom: var(--o6tk-btt-offset-y, 24px);
}
.o6tk-btt[data-pos="left"] {
    left: var(--o6tk-btt-offset-x, 24px);
    bottom: var(--o6tk-btt-offset-y, 24px);
}
.o6tk-btt--circle { border-radius: 50%; }
.o6tk-btt--rounded { border-radius: 12px; }
.o6tk-btt--square { border-radius: 4px; }
.o6tk-btt.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.o6tk-btt:hover {
    filter: brightness(1.15);
}
.o6tk-btt:focus-visible {
    outline: 2px solid var(--o6tk-btt-bg, var(--o6tk-primary, #6366f1));
    outline-offset: 3px;
}
.o6tk-btt__arrow {
    width: 20px;
    height: 20px;
    position: relative;
    z-index: 2;
}
.o6tk-btt__ring {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    transform: rotate(-90deg);
}
.o6tk-btt__ring-bg {
    stroke: rgba(255,255,255,0.15);
}
.o6tk-btt__ring-fill {
    stroke: var(--o6tk-btt-icon, #ffffff);
    transition: stroke-dashoffset 0.1s linear;
}

@media (prefers-reduced-motion: reduce) {
    .o6tk-btt { transition: none; }
}

@media print {
    .o6tk-btt { display: none !important; }
}
