/* ===== 固定夜间外观 ===== */

    header h1,
    thead,
    th.sortable:hover,
    .tooltip,
    .module-page-heading h2,
    .more-detail-header h2 {
        color: var(--ivory-on-felt);
    }

    .rules-card h3,
    .rules-rate-grid strong,
    .login-header h1 {
        color: var(--gold-soft);
    }

    .admin-form input[type="text"],
    .admin-form input[type="number"],
    .admin-form input[type="date"],
    .inline-form input,
    .player-name-input,
    .player-create-form input,
    .player-status-toggle,
    .form-group select,
    .form-group input[type="number"],
    .input-group input,
    .date-selector select,
    .leaderboard-section .period-select {
        border-color: var(--card-edge);
        background-color: var(--control-bg);
        color: var(--ink);
        caret-color: var(--gold-soft);
    }

    .admin-form input::placeholder,
    .inline-form input::placeholder,
    .player-name-input::placeholder,
    .player-create-form input::placeholder,
    .input-group input::placeholder,
    .form-group input::placeholder {
        color: #77847D;
        opacity: 1;
    }

    .admin-form input:focus,
    .inline-form input:focus,
    .player-name-input:focus,
    .player-create-form input:focus,
    .form-group select:focus,
    .form-group input:focus,
    .input-group input:focus,
    .date-selector select:focus,
    .leaderboard-section .period-select:focus {
        background-color: var(--control-bg-focus);
    }

    .player-create-card,
    .player-card,
    .preview-session-facts span,
    .preview-totals span,
    .preview-note,
    .preview-entry-list,
    .session-entry-table .session-player-row,
    .session-manager-body tr {
        background: var(--card-2);
        color: var(--ink);
    }

    .player-filters {
        background: rgba(255, 255, 255, 0.07);
    }

    .player-filter.active {
        background: var(--card-2);
        color: var(--gold-soft);
        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.32);
    }

    .session-state.normal,
    .player-status-badge.active {
        background: var(--hl-win);
        color: var(--win);
    }

    .session-state.deleted,
    .admin-message.error,
    .preview-card.invalid,
    .field-error-message,
    .player-edit-name .field-error-message {
        background: var(--hl-loss);
        color: var(--loss);
    }

    .session-state.warning,
    .legacy-warning,
    .adjusted-tax-badge {
        background: rgba(221, 175, 67, 0.16);
        color: var(--gold-soft);
    }

    .player-status-badge.inactive {
        background: rgba(161, 171, 165, 0.14);
        color: var(--ink-soft);
    }

    .admin-message {
        background: rgba(90, 200, 250, 0.14);
        color: #BDE8FF;
    }

    .admin-message.success,
    .preview-card.valid {
        background: var(--hl-win);
        color: var(--ink);
    }

    .field-error-message,
    .player-row-error,
    .session-live-summary.error {
        color: var(--loss);
    }

    .tax-adjustment-state.adjusted,
    .session-live-summary.warning {
        color: var(--gold-soft);
    }

    .session-player-row.participating,
    .session-entry-table .session-player-row.participating,
    .preview-entry.changed,
    .preview-entry.added {
        background: rgba(221, 175, 67, 0.12);
    }

    .session-player-row.participating .participation-status {
        color: var(--gold-soft);
    }

    .preview-entry-list,
    .preview-entry {
        border-color: var(--card-edge);
    }

    .preview-entry.removed {
        background: rgba(255, 107, 116, 0.1);
    }

    .player-list-toolbar {
        background: rgba(26, 39, 33, 0.96);
    }

    tbody tr:nth-child(even) {
        background: rgba(255, 255, 255, 0.025);
    }

    tbody tr:hover {
        background: rgba(221, 175, 67, 0.1);
    }

    .leaderboard-section tr.rank-top,
    .leaderboard-section tr.rank-top:hover {
        background: var(--hl-win);
    }

    .leaderboard-section tr.water-row {
        background: linear-gradient(180deg, rgba(221, 175, 67, 0.18) 0%, rgba(221, 175, 67, 0.1) 100%);
    }

    .leaderboard-section tr.water-row:hover {
        background: rgba(221, 175, 67, 0.22);
    }

    .more-action-card:active,
    .rule-formula {
        background: var(--card-2);
    }

    .member-checkbox-item:hover {
        background: rgba(255, 255, 255, 0.06);
    }

    .member-checkbox-item input[type="checkbox"] {
        border-color: #718078;
    }

    .app-navigation,
    .view-toggle,
    .leaderboard-type-switcher,
    .trend-metric-switcher {
        background: rgba(3, 12, 8, 0.36);
    }

    .sticky-switcher-toolbar.is-stuck {
        background: rgba(3, 12, 8, 0.3);
    }

    .admin-toolbar {
        background: rgba(3, 12, 8, 0.94);
    }

@media (max-width: 768px) {
    .more-detail-active .more-detail-header.is-scrolled {
        background: rgba(3, 12, 8, 0.36);
    }

    /* 添加场次：紧凑录入区 + 结算结果条 */
    .session-editor-page .session-player-row {
        grid-template-columns: minmax(0, 1fr) minmax(136px, 0.88fr);
        gap: 12px 14px;
        overflow: hidden;
        padding: 14px 14px 0;
        border-color: var(--card-edge);
        border-radius: 14px;
        background: var(--card-2);
        box-shadow: 0 5px 16px rgba(0, 0, 0, 0.14);
    }

    .session-editor-page .session-player-row.participating {
        border-color: rgba(221, 175, 67, 0.42);
        background:
            linear-gradient(90deg, rgba(221, 175, 67, 0.09), transparent 46%),
            var(--card-2);
        box-shadow: inset 3px 0 0 var(--gold), 0 5px 16px rgba(0, 0, 0, 0.16);
    }

    .session-editor-page .player-name-cell {
        min-width: 0;
        align-self: center;
    }

    .session-editor-page .player-name-cell strong {
        overflow-wrap: anywhere;
        color: var(--ink);
        font-size: 1.05rem;
        line-height: 1.25;
    }

    .session-editor-page .participation-status {
        display: inline-flex;
        width: fit-content;
        margin-top: 6px;
        padding: 3px 8px;
        border: 1px solid rgba(161, 171, 165, 0.22);
        border-radius: 999px;
        background: rgba(161, 171, 165, 0.08);
        color: var(--ink-soft);
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .session-editor-page .session-player-row.participating .participation-status {
        border-color: rgba(221, 175, 67, 0.34);
        background: rgba(221, 175, 67, 0.14);
        color: var(--gold-soft);
    }

    .session-editor-page .pre-tax-cell {
        min-width: 0;
        align-self: center;
    }

    .session-editor-page .mobile-field-label {
        margin: 0 0 6px;
        color: var(--ink-soft);
        font-size: 0.72rem;
        letter-spacing: 0.02em;
        line-height: 1.2;
    }

    .session-editor-page .player-pre-tax {
        min-height: 48px;
        padding: 10px 12px;
        border-radius: 10px;
        font: 700 1rem var(--font-mono);
        text-align: right;
    }

    .session-editor-page .tax-override-cell {
        grid-column: 1 / -1;
        align-self: stretch;
        margin: 0 -14px;
    }

    .session-editor-page .tax-adjustment-summary {
        min-height: 48px;
        padding: 9px 14px;
        border-top: 1px solid rgba(161, 171, 165, 0.16);
        background: rgba(3, 12, 8, 0.22);
    }

    .session-editor-page .tax-inline-editor {
        grid-template-columns: minmax(0, 1fr) max-content;
        gap: 10px;
        padding: 10px 14px;
        border-top: 1px solid rgba(161, 171, 165, 0.16);
        background: rgba(3, 12, 8, 0.22);
    }

    .session-editor-page .tax-inline-field {
        width: 100%;
        gap: 6px;
        color: var(--ink-soft);
        font-size: 0.72rem;
        letter-spacing: 0.02em;
        line-height: 1.2;
    }

    .session-editor-page .tax-inline-editor .player-tax {
        min-height: 48px;
        padding: 10px 12px;
        border-radius: 10px;
        font: 700 1rem var(--font-mono);
        text-align: right;
    }

    .session-editor-page .tax-inline-done {
        min-width: 68px;
        min-height: 48px;
        border-radius: 10px;
        padding-inline: 12px;
    }

    .session-editor-page .tax-result {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        color: var(--ink-soft);
        font-size: 0.78rem;
    }

    .session-editor-page .tax-result span {
        display: flex;
        min-width: 0;
        align-items: baseline;
        gap: 8px;
        padding-right: 12px;
    }

    .session-editor-page .tax-result span + span {
        padding-right: 0;
        padding-left: 14px;
        border-left: 1px solid rgba(161, 171, 165, 0.16);
    }

    .session-editor-page .tax-result strong {
        min-width: 0;
        overflow: hidden;
        margin-left: auto;
        color: var(--ink);
        font-size: 0.94rem;
        text-overflow: ellipsis;
    }

    .session-editor-page .tax-calculation-failed .tax-result-tax {
        color: var(--loss);
    }
}
