/* ===========================================================================
 * 三分系统悬浮按钮 · score-fab.css
 * 用途：红分/工分/积分 系统全站悬浮入口
 * 依赖：token.css（z-index 令牌）
 * =========================================================================== */

.score-fab {
    position: fixed;
    bottom: calc(env(safe-area-inset-bottom, 0) + 5.25rem);
    right: 1rem;
    z-index: var(--z-fab, 560);
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
}

.score-fab-btn {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-hongfen, #F59E0B), var(--v85-primary, #0EA5E9));
    color: var(--bg-card, #fff);
    border: none;
    box-shadow: var(--shadow-lg, 0 4px 16px rgba(0,0,0,.18));
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
    transition: transform .18s, box-shadow .18s;
    min-width: 44px;
    min-height: 44px;
}

.score-fab-btn:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(245,158,11,.38); }
.score-fab-btn:active { transform: scale(.95); }

.score-fab-panel {
    position: absolute;
    bottom: 3.75rem;
    right: 0;
    width: 10rem;
    background: var(--bg-card, #fff);
    border-radius: var(--ui-radius-lg, 16px);
    box-shadow: 0 8px 32px var(--t-000000, rgba(0,0,0,.15));
    z-index: var(--z-overlay, 600);
    display: none;
    flex-direction: column;
    overflow: hidden;
    animation: scoreFabSlideIn .2s ease-out;
}

.score-fab-panel.show { display: flex; }

.score-fab-panel a {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: .75rem 1rem;
    color: var(--v85-text-primary, #111827);
    text-decoration: none;
    font-size: .875rem;
    font-weight: 500;
    border-bottom: 1px solid var(--border-line, #E5E7EB);
    transition: background .15s;
}

.score-fab-panel a:last-child { border-bottom: none; }
.score-fab-panel a:hover { background: var(--v85-primary-50, #F0F9FF); }
.score-fab-panel a i { font-size: 1.125rem; width: 1.25rem; text-align: center; }

.score-fab-panel a .ri-award-line   { color: var(--color-hongfen, #F59E0B); }
.score-fab-panel a .ri-coin-line    { color: var(--v85-primary, #0EA5E9); }
.score-fab-panel a .ri-gift-line    { color: var(--v85-success, #059669); }
.score-fab-panel a .ri-question-line { color: var(--v85-text-secondary, #64748B); }

@keyframes scoreFabSlideIn {
    from { opacity: 0; transform: translateY(.5rem) scale(.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 768px) {
    .score-fab { bottom: calc(env(safe-area-inset-bottom, 0) + 4.75rem); right: .75rem; }
    .score-fab-panel { width: 9rem; right: -.25rem; }
}