/* 正式全站補充：可及性與共通狀態。 */
[hidden] { display: none !important; }
[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.skip-link { position: fixed; top: 8px; left: 8px; padding: 8px 16px; transform: translateY(-160%); background: var(--surface); z-index: 300; }
.skip-link:focus { transform: translateY(0); }
.current-user { max-width: 180px; overflow-wrap: anywhere; font-size: .85rem; }
.admin-topbar .current-user { margin-right: auto; }
@media(max-width:600px) { .admin-topbar .current-user { display:none; } }

/* 原型回頂端圓鈕；隱藏時由hidden退出焦點順序。 */
.back-to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 25;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
    color: var(--brand-dark);
    cursor: pointer;
    box-shadow: var(--shadow);
    transition: transform 200ms ease, background 200ms ease;
}
.back-to-top:hover { background: var(--surface-soft); transform: translateY(-2px); }
.back-to-top .icon { width: 22px; height: 22px; }
body.nav-open .back-to-top, body.admin-nav-open .back-to-top { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .back-to-top { transition: none; } }
