.topbar {
    width: 100%;
    height: var(--topbar-height);

    background-color: #ffffff;

    border-bottom: 1px solid #eeeeee;
}

.topbar__inner {
    width: 100%;
    height: 100%;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0 40px;
}

.topbar__brand {
    display: flex;
    align-items: center;
    gap: 10px;

    text-decoration: none;
}

.topbar__logo {
    width: 42px;
    height: 42px;

    object-fit: contain;
}

.topbar__title {
    font-size: 18px;
    font-weight: 1000;
    color: #333333;
}

/* ==========================
   비로그인
========================== */

.topbar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.topbar__auth-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 32px;
    padding: 0 8px;

    border-radius: 6px;

    font-size: 14px;
    font-weight: 600;
    color: #333333;

    text-decoration: none;

    transition:
            background-color 0.18s ease,
            color 0.18s ease;
}

.topbar__auth-link:hover {
    background-color: #f4f4f4;
    color: #111111;
}

.topbar__auth-divider {
    font-size: 13px;
    line-height: 1;

    color: #cccccc;

    user-select: none;
}

/* ==========================
   로그인 상태
========================== */

.topbar__user {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 마이페이지 */

.topbar__mypage-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    height: 34px;
    padding: 0 12px;

    border-radius: 8px;

    color: #333333;
    text-decoration: none;

    transition:
            background-color 0.18s ease,
            color 0.18s ease;
}

.topbar__mypage-link:hover {
    background-color: #f4f4f4;
}

.topbar__mypage-icon {
    width: 18px;
    height: 18px;

    color: #666666;

    flex-shrink: 0;
}

.topbar__mypage-name {
    font-size: 15px;
    font-weight: 700;

    text-decoration: underline;
    text-underline-offset: 3px;
}

.topbar__mypage-arrow {
    font-size: 18px;
    line-height: 1;

    color: #999999;

    transition:
            transform 0.18s ease,
            color 0.18s ease;
}

.topbar__mypage-link:hover .topbar__mypage-arrow {
    transform: translateX(2px);
    color: #555555;
}

/* 로그아웃 */

.topbar__logout-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 32px;
    padding: 0 8px;

    border-radius: 6px;

    font-size: 14px;
    font-weight: 600;
    color: #555555;

    text-decoration: none;

    transition:
            background-color 0.18s ease,
            color 0.18s ease;
}

.topbar__logout-link:hover {
    background-color: #f4f4f4;
    color: #222222;
}

.topbar__button--logout:hover {
    background-color: #f4f4f4;
    border-color: #cccccc;
    color: #222222;
}