/* 기본 스타일 초기화 및 body 설정 */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    color: var(--text-dark);
}

*, *:before, *:after {
    box-sizing: inherit;
}

/* 두 팀을 감싸는 메인 컨테이너 */
.squad-container {
    display: flex;
    width: 100%;
    flex: 1;
    overflow: hidden;
    height: calc(100dvh - 50px);
    padding-bottom: 60px;
    transition: padding-bottom 0.3s ease-in-out;
}

.squad-container.footer-collapsed {
    padding-bottom: 0;
}

.team-color-bar {
    width: 6px;
    height: 100%;
    background-color: var(--team-a-color);
}

#team-b-color-bar {
    background-color: var(--team-b-color);
}

.team-name {
    font-size: 1.2rem;
    color: black;
    padding: 0 10px;
    white-space: nowrap;
    cursor: pointer;
}

.team-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
}

/* 애니메이션 정의 */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideDown {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes zoomPop {
    0% { transform: scale(1); color: #444; }
    50% { transform: scale(1.15); color: var(--main-blue); }
    100% { transform: scale(1); color: #444; }
}
