/* 右端耳たぶ — Googleマップ風の持ち手に格納 */

.bm-ear-rail-toggle {
    display: none;
}

@media (min-width: 769px) {
    .bm-ear-rail-toggle {
        display: flex;
        position: fixed;
        top: 180px;
        right: 0;
        z-index: 10041;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 56px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        color: #6b7280;
        transform: translateY(-50%);
        transition: right 0.2s ease, top 0.2s ease;
    }

    .bm-ear-rail-knob {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 48px;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        background: #fff;
        box-shadow: 0 1px 6px rgba(15, 23, 42, 0.14);
        font-size: 12px;
        pointer-events: none;
    }

    html.bm-ear-rail-collapsed .bm-ear-rail-toggle {
        right: 0;
    }

    html:not(.bm-ear-rail-collapsed) .bm-ear-rail-toggle {
        right: 36px;
    }

    html.bm-ear-rail-collapsed .bm-ear-rail-toggle .fa-chevron-right,
    html:not(.bm-ear-rail-collapsed) .bm-ear-rail-toggle .fa-chevron-left {
        display: none;
    }

    .bm-ear-rail-toggle:hover .bm-ear-rail-knob {
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
    }

    html.bm-ear-rail-collapsed .bm-ear-rail-toggle:hover {
        right: 2px;
    }

    .bm-ear-rail-toggle:focus {
        outline: none;
    }

    .bm-ear-rail-toggle:focus-visible .bm-ear-rail-knob {
        box-shadow: 0 1px 6px rgba(15, 23, 42, 0.14), 0 0 0 3px rgba(59, 130, 246, 0.28);
    }

    .bm-ear-rail-badge {
        position: absolute;
        top: -4px;
        left: -6px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        border-radius: 999px;
        background: #dc2626;
        color: #fff;
        font-size: 9px;
        font-weight: 700;
        line-height: 1;
        box-shadow: 0 0 0 2px #fff;
    }

    .bm-ear-rail-badge[hidden] {
        display: none !important;
    }

    html:not(.bm-ear-rail-collapsed) .bm-ear-rail-badge {
        display: none !important;
    }

    html.bm-ear-rail-collapsed .bm-psc-ear-tab,
    html.bm-ear-rail-collapsed .bm-pto-ear-tab,
    html.bm-ear-rail-collapsed .bm-pme-ear-tab,
    html.bm-ear-rail-collapsed .md-doc-todos-ear-tab {
        transform: translateX(120%) !important;
        pointer-events: none;
        box-shadow: none;
    }

    body.bm-psc-flow-open .bm-ear-rail-toggle,
    body.bm-pto-flow-open .bm-ear-rail-toggle,
    body.bm-pme-flow-open .bm-ear-rail-toggle,
    body.md-doc-todos-flow-open .bm-ear-rail-toggle {
        visibility: hidden;
        pointer-events: none;
    }

    html.bm-ear-rail-collapsed body:has(#bm-psc-ear-tab) main.unit_main,
    html.bm-ear-rail-collapsed body:has(#bm-pto-ear-tab) main.unit_main,
    html.bm-ear-rail-collapsed body:has(#bm-pme-ear-tab) main.unit_main {
        padding-right: 20px;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .bm-ear-rail-toggle {
        display: none !important;
    }
}
